Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Max_Armadilo poslato Decembar 24, 2014, 20:49:05 POSLE PODNE

Naslov: [Pomoc] Oko komande
Poruka od: Max_Armadilo poslato Decembar 24, 2014, 20:49:05 POSLE PODNE
Skripta koju koristim: Radim svoju neku
Detaljan opis problema: Oko jedne komande
Dio skripte:

CMD:tmlp(playerid, params[])
{
if(IsPlayerConnected(playerid))
{
        if (PlayerInfo[playerid][pAdmin] >= 1337)
        {
foreach (Player, i)
{
if(PlayerInfo[i][pMuted] == 0)
{
PlayerInfo[i][pMuted] = 1;
}
}
GetPlayerName(playerid, sendername, sizeof(sendername));
printf("[Admin]: %s je oduzeo mogucnost govora svim igracima",sendername);
else
  {
SendClientMessage(playerid, COLOR_WHITE, "   Niste ovlasceni da koristite ovu komandu !");
}
}
}
return 1;
}


Dakle uzeo sam ovu CMD iz jednog moda i malo je editovo,ali sad zelim da napravim da samo igrace u blizini sebe mutiram na neko odreÄ'eno vrijeme..



Neke slike/video za lakse dobivanje pomoci(neobavezno):
Naslov: Odg: [Pomoc] Oko komande
Poruka od: [UG]Cile poslato Decembar 24, 2014, 20:57:21 POSLE PODNE
u buduce koristi ovo da napravis
http://wiki.sa-mp.com/wiki/IsPlayerInRangeOfPoint

new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);

if(IsPlayerInRangeOfPoint(playerid, 30.0, x, y, z))


ubaci u komandu
Naslov: Odg: [Pomoc] Oko komande
Poruka od: Max_Armadilo poslato Decembar 24, 2014, 22:07:52 POSLE PODNE
Htjeo sam da bude da kada kucam /tmlp 20 da mutira sve igrace o blizini mene na 20minuta,a isto tako kada kucam /tmlp 0 da ih unmutura..
Naslov: Odg: [Pomoc] Oko komande
Poruka od: ▂ ▃ ▅ Rudimental ▅ ▃ ▂ poslato Decembar 24, 2014, 22:16:00 POSLE PODNE
Probaj ovako

CMD:tmlp(playerid, params[])
{
new idx, radius;
if(IsPlayerConnected(playerid))
{
    if (sscanf(params, "dd", idx, radius)) return SCM (playerid, -1, "Koriscenje: /tmlp");
if (PlayerInfo[playerid][pAdmin] >= 1337)
{
    new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
foreach (new i : Player)
{
    if(IsPlayerInRangeOfPoint(i, radius, x, y, z))
    {
        if (idx == 0)
        {
            if(PlayerInfo[i][pMuted] == 1)
{
PlayerInfo[i][pMuted] = 0;
}
        }
        else
        {
if(PlayerInfo[i][pMuted] == 0)
{
PlayerInfo[i][pMuted] = 1;
}
}
}
}
GetPlayerName(playerid, sendername, sizeof(sendername));
printf("[Admin]: %s je oduzeo mogucnost govora svim igracima",sendername);
else
{
SendClientMessage(playerid, COLOR_WHITE, "Niste ovlasceni da koristite ovu komandu !");
}
}
}
return 1;
}
Naslov: Odg: [Pomoc] Oko komande
Poruka od: [UG]Cile poslato Decembar 24, 2014, 22:22:05 POSLE PODNE
Citat: Max_Armadilo poslato Decembar 24, 2014, 22:07:52 POSLE PODNE
Htjeo sam da bude da kada kucam /tmlp 20 da mutira sve igrace o blizini mene na 20minuta,a isto tako kada kucam /tmlp 0 da ih unmutura..

eh druze treba ti jos jedna varijabla
pMutedtime

ovo ti je primjer

i onda stavis
new vrijeme;
if (sscanf(params, "d", vrijeme)) return SCM (playerid, -1, "Koriscenje: /tmlp [vrijeme]");


i onda dodas jos

if(PlayerInfo[i][pMutedtime] == 0)
{
PlayerInfo[i][pMutedtime] = vrijeme;
}


neda mi se sklapat cjelu komandu, ovaj rudimental je mod nek sklopi :D