Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Max_Armadilo poslato Januar 22, 2015, 11:19:37 PRE PODNE

Naslov: [POMOC] Komanda
Poruka od: Max_Armadilo poslato Januar 22, 2015, 11:19:37 PRE PODNE
Skripta koju koristim: Svoje nesto
Detaljan opis problema: Nece da zaledi igrace,samo im ispise poruku
Dio skripte:
if(strcmp(cmd, "/tflp", true) == 0)
{
    if(IgracLogovan[playerid] == 1)
    {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "{ffffff}EL Pomoc| {00C0FF}/tflp [vrijeme]");
return 1;
}
new playa;
new time,Float:Pos[3];
time = strval(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pGameXpert] >= 4)
{
imeigraca(playerid, sendername);
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
if(time > 5000)
{
SCM(playerid,SIVA,"{F3FF02}[EL] Adm | {1fb5f0}Ne manje od 1 minute i vise od 5000 minuta!");
return 1;
}
GetPlayerPos(playerid,Pos[0],Pos[1], Pos[2]);
                        for(new idigraca; idigraca < MAX_PLAYERS; idigraca++)
                            {
                            if(IsPlayerConnected(idigraca) && idigraca != playerid)
                               {
                                 if(IsPlayerInRangeOfPoint(idigraca,30, Pos[0],Pos[1], Pos[2]) && IsPlayerConnected(idigraca))
                                {
                                       new string1[256];
           format(string1, sizeof(string1), "{ffffff}[EL]: {00C0FF}Admin/GX %s vas je zaledio na %d minuta.",sendername,time);
           SCM(idigraca,SIVA,string1);
   TogglePlayerControllable(playa, 0);
                   PlayerFreezed[playa] = 1;

                                    }
   }
}
                       format(string, sizeof(string), "{F3FF02}[EL] Adm | {1fb5f0}Zaledili ste igraca u vasoj okolini na %d minuta.",time);
                       SendClientMessage(playerid, SIVA, string);
}
else
{
SCM(playerid,COLOR_NICERED,"{ffffff}[EL]: {f3ff02}Nemate ovlastenje za upotrebu ove komande!");
}
}
return 1;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno): Ako bude bilo potrebe
Naslov: Odg: [POMOC] Komanda
Poruka od: ZC_Bob poslato Januar 22, 2015, 11:32:42 PRE PODNE
Ova komanda radi samo kad si blizu igraca koliko vidim, jesi bio blizu igraca kada si probao da ga freeze?
Naslov: Odg: [POMOC] Komanda
Poruka od: Max_Armadilo poslato Januar 22, 2015, 11:36:19 PRE PODNE
Ma jesam ali opet nista
Naslov: Odg: [POMOC] Komanda
Poruka od: arnel avdic poslato Januar 22, 2015, 12:09:00 POSLE PODNE
new Frozen[MAX_PLAYERS];
CMD:freeze(playerid, params[])
{
        new id;
        if(isnull(params)) return SendClientMessage(playerid, -1, "Koristi: /freeze <Player ID>");
        sscanf(params, "uis[50]", id);
        if(IsPlayerConnected(id))
        {
            if(pInfo[id][Frozen] == 1) return SendClientMessage(playerid,-1,"Igrac je vec zamrznut !");
    format(Jstring,sizeof(Jstring),"Administrator %s has frozen player '%s' | Reason: %s",GetName(playerid),GetName(id));
    else format(Jstring,sizeof(Jstring),"Administrator %s has frozen '%s'",GetName(playerid),GetName(id));
    SendClientMessageToAll(red,Jstring);
    Frozen[id] = 1;
    TogglePlayerControllable(id, false);
}
return 1;
}
Naslov: Odg: [POMOC] Komanda
Poruka od: TiXoR_ poslato Januar 22, 2015, 12:16:19 POSLE PODNE
Citat: arnel avdic poslato Januar 22, 2015, 12:09:00 POSLE PODNE
new Frozen[MAX_PLAYERS];
CMD:freeze(playerid, params[])
{
        new id;
        if(isnull(params)) return SendClientMessage(playerid, -1, "Koristi: /freeze <Player ID>");
        sscanf(params, "uis[50]", id);
        if(IsPlayerConnected(id))
        {
            if(pInfo[id][Frozen] == 1) return SendClientMessage(playerid,-1,"Igrac je vec zamrznut !");
    format(Jstring,sizeof(Jstring),"Administrator %s has frozen player '%s' | Reason: %s",GetName(playerid),GetName(id));
    else format(Jstring,sizeof(Jstring),"Administrator %s has frozen '%s'",GetName(playerid),GetName(id));
    SendClientMessageToAll(red,Jstring);
    Frozen[id] = 1;
    TogglePlayerControllable(id, false);
}
return 1;
}


ti s tom komandom mu nisi ništa pomoga
OT: ostavi se stcmp uvati se zcmd i sscanfa
Naslov: Odg: [POMOC] Komanda
Poruka od: Max_Armadilo poslato Januar 22, 2015, 16:03:53 POSLE PODNE
Ama ja imam cmd da zaledim igraca vec ocu kad ukucam /tflp neko vrijeme da zaledi sve igrace u mojoj blizini
Naslov: Odg: [POMOC] Komanda
Poruka od: ▂ ▃ ▅ Rudimental ▅ ▃ ▂ poslato Januar 22, 2015, 18:04:52 POSLE PODNE
Pa preko IsPlayerInRangeOfPoint sredis to ako vec hoces da ih mutiras samo u tvojoj blizini...
Naslov: Odg: [POMOC] Komanda
Poruka od: arnel avdic poslato Januar 22, 2015, 19:01:41 POSLE PODNE
CMD:tflp(playerid,params[])
{
if(IgracLogovan[playerid] < 1) return SCM(playerid,-1,"Morate se logovati!");
new vrijeme;
if(sscanf(params, "dddfff", vrijeme )) return SendClientMessage(playerid, -1, "/tflp [vrijeme]");
    if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pGameXpert] >= 4) return SCM(playerid,-1,"Niste ovlasteni za ovu komandu!");
    if(vrijeme > 5000) return SCM(playerid,SIVA,"{F3FF02}[EL] Adm | {1fb5f0}Ne manje od 1 minute i vise od 5000 minuta!");
    new Pos[3];
    GetPlayerPos(playerid,Pos[0],Pos[1], Pos[2]);
    for(new idigraca; idigraca < MAX_PLAYERS; idigraca++)
    {
    if(IsPlayerConnected(idigraca) && idigraca != playerid)
    {
    if(IsPlayerInRangeOfPoint(idigraca,30, Pos[0],Pos[1], Pos[2]) && IsPlayerConnected(idigraca))
    {
    new string1[256];
    format(string1, sizeof(string1), "{ffffff}[EL]: {00C0FF}Admin/GX %s vas je zaledio na %d minuta.",GetName(playerid),vrijeme);
SCM(idigraca,SIVA,string1);
TogglePlayerControllable(playa, 0);
    PlayerFreezed[playa] = 1;
    format(string, sizeof(string), "{F3FF02}[EL] Adm | {1fb5f0}Zaledili ste igrace u vasoj okolini na %d minuta.",vrijeme);
        SendClientMessage(playerid, SIVA, string);
}
}
}
return 1;
}


pokusaj
Naslov: Odg: [POMOC] Komanda
Poruka od: X_G1 poslato Januar 22, 2015, 19:07:06 POSLE PODNE

if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pGameXpert] >= 4) return SCM(playerid,-1,"Niste ovlasteni za ovu komandu!");

Meni se cini da ce ovo moc koristiti igraci jer si stavio ako je admin lvl veci od 1 da mu vrati niste ovlasteni .
Naslov: Odg: [POMOC] Komanda
Poruka od: arnel avdic poslato Januar 22, 2015, 19:09:38 POSLE PODNE
Citat: X_G1 poslato Januar 22, 2015, 19:07:06 POSLE PODNE

if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pGameXpert] >= 4) return SCM(playerid,-1,"Niste ovlasteni za ovu komandu!");

Meni se cini da ce ovo moc koristiti igraci jer si stavio ako je admin lvl veci od 1 da mu vrati niste ovlasteni .

Tacno nisam gledao pošto sam od njega kopirao ovako treba
if (PlayerInfo[playerid][pAdmin] < 1|| PlayerInfo[playerid][pGameXpert] < 4) return SCM(playerid,-1,"Niste ovlasteni za ovu komandu!");
Naslov: Odg: [POMOC] Komanda
Poruka od: Max_Armadilo poslato Januar 23, 2015, 00:45:23 PRE PODNE
Ne ne radi komanda kako si je ti tako napravio
Naslov: Odg: [POMOC] Komanda
Poruka od: elemental. poslato Januar 23, 2015, 01:43:02 PRE PODNE
Nigdje ne koristiš tajmer da bi odledio igrača, ja mislim da bi ti ovako trebalo biti.
for(new i=0; i<MAX_PLAYERS; i++)
{
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
if(IsPlayerInRangeOfPoint(i, 50.0, Pos[0], Pos[1], Pos[2]);
TogglePlayerControllable(i, 0);
SetTimer("Unfreeze", vrijeme*1000*60, false);
}

forward Unfreeze()
public Unfreeze()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IgracZaledjen[i])
{
TogglePlayerControllable(i, 1);
}
}
}


EDIT: evo ti čitava komanda

CMD:freezeinradius(playerid, help[])
{
new vrijeme;
new str[128];
new Float:Pos[3];
if(sscanf(params, "i", vrijeme)) return SendClientMessage(playerid, -1, "KORISTENJE: /freezeinradius [Vrijeme]");
if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pGameXpert]) return SendClientMessage(playerid, -1, "Niste ovlasteni za koristenje ove komande");
for(new i=0; i<MAX_PLAYERS; i++)
{
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
if(IsPlayerInRangeOfPoint(i, 50.0, Pos[0], Pos[1], Pos[2]);
TogglePlayerControllable(i, 0);
SetTimer("Unfreeze", vrijeme*1000*60, false);
format(str, sizeof(str), "GameAdmin %s je zaledio sve igrace u radiusu od 50 metara.", GetName(playerid));
SendClientMessageToAll(-1, str);
}
return 1;
}