[Pomoc] Ispravnost komande

Započeo CADILAB
19. Jan. 2014. Zaključano
389
pregleda
8
postova
cadilab
10
Administrator
🔥67
19. Jan. 2014.
Skripta koju koristim: Bezveze nesto od 0
Detaljan opis problema: Zanima me da li je ova komanda ispravna. Komanda u bazi namjesti admin level na koji ja hocu, ali u igri ne reaguje.
CMD:postaviadmina(playerid, params[])
{
if(PlayerInfo > HEAD || !IsPlayerAdmin(playerid)) return NoPremission(playerid);
{
new id, kol;
if(sscanf(params, "ui", id, kol)) return SCM(playerid, GRAD3, "Koristite: /postaviadmina [Igracev ID] [Level 1-6)");
if(!IsPlayerConnected(id)) return SCM(playerid, CRVENA, "Taj igrac nije u igri");
new var;
format(var, sizeof(var), "Postavili ste %s za administratora level %d", id, kol);
SCM(playerid, ZELENA, var);
format(var, sizeof(var), "Postavljeni ste za administratora nivo %d, Admin: %s", kol, playerid);
SCM(id, SVETLOPLAVA, var);
PlayerInfo = kol;
new Query;
format(Query, sizeof(Query), "UPDATE `korisnici` SET `Admin` = '%d' WHERE `Ime` = '%s' LIMIT 1", kol, ImeIgraca(id));
mysql_query(Query);
}
return 1;
}


kada ga iskucam u ovoj komandi, nece da izbaci
CMD:admini(playerid, params[])
{
new ime;
SCM(playerid, CRVENA, "________________ Administratori ________________");
foreach(Player, i)
{
    if(PlayerInfo > 0 && PlayerInfo < HEAD && IsPlayerConnected(i))
    {
        GetPlayerName(i,ime,MAX_PLAYER_NAME);
        format(CmdString, 128, "Admin: {FFFFFF}%s | {33CCFF}Nivo: {FFFFFF}%d", ime, PlayerInfo);
        SCM(playerid, CRVENA, CmdString);
}
}
return 1;
}


Dio skripte:
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Vegas.
3
Hustler
19. Jan. 2014.
http://balkan-samp.com/forum/index.php?topic=15196.msg109693#msg109693 Prouči ovo.

Dakle vidi, ti si stavio ovu provjeru na komandu /admini
if(PlayerInfo > 0 && PlayerInfo < HEAD && IsPlayerConnected(i))
To znači ako je igračeva var veća od admina manja od head admina i još ako je konektovan. Nema logike.

Ovo ti je ispravno.
CMD:admini(playerid, params[])
{
new ime;
SCM(playerid, CRVENA, "________________ Administratori ________________");
foreach(Player, i)
{
    if(PlayerInfo > 0 || PlayerInfo < HEAD && IsPlayerConnected(i))
    {
        GetPlayerName(i,ime,MAX_PLAYER_NAME);
        format(CmdString, 128, "Admin: {FFFFFF}%s | {33CCFF}Nivo: {FFFFFF}%d", ime, PlayerInfo);
        SCM(playerid, CRVENA, CmdString);
}
}
return 1;
}
Komanda /postaviadmina ti djeluje sasvim uredu.
CH | FuDo
4
Shot Caller
19. Jan. 2014.
 if(PlayerInfo > 0 || PlayerInfo < HEAD && IsPlayerConnected(i))


fali ti nula poslije prve provjere, prije ILI. Ako si ubacio for petlju koja vrti od 0 do MAX_PLAYERS, šta će ti onda provjera da li je igrač konektovan?
Vegas.
3
Hustler
19. Jan. 2014.
Nije bilo potrebe da komentarišeš, to što on pravi duple provjere neke to je krajnje njegova stvar, ja sam samo editovo kod kako bi radio.
CH | FuDo
4
Shot Caller
19. Jan. 2014.
Da nije bilo potrebe za mojim komentarom, ne bi znao za 0 sigurno. Vidim kako si editovao, nimalo ne čitaš kod, ofrljoke si kopirao samo, falio ti najbitniji dio. Samo ne znam koja svrha te provjere, kad provjera igrača od ID 0 do maksimalnog broja IDova, mislim stvarno, kranje ne potrebno.
Vegas.
3
Hustler
19. Jan. 2014.
Pa šta desilo se i šta, slučajno kako sam briso a nisam ni gledo. Pa provjera nema svrhe al' ako on tako radi nek radi šta mu mi možemo tu, nemoj dalje komentarisat bespotrebno je i spam.
cadilab
10
Administrator
🔥67
19. Jan. 2014.
Hvala radi, al sad mi je problem sto komande za admine ne rade, pise Nemate ovlastenje
CMD:postaviadmina(playerid, params[])
{
if(PlayerInfo > HEAD || !IsPlayerAdmin(playerid)) return NoPremission(playerid);
{
new id, kol;
if(sscanf(params, "ui", id, kol)) return SCM(playerid, GRAD3, "Koristite: /postaviadmina [Igracev ID] [Level 1-6)");
if(!IsPlayerConnected(id)) return SCM(playerid, CRVENA, "Taj igrac nije u igri");
new var;
format(var, sizeof(var), "Postavili ste %s za administratora level %d", id, kol);
SCM(playerid, ZELENA, var);
format(var, sizeof(var), "Postavljeni ste za administratora nivo %d, Admin: %s", kol, playerid);
SCM(id, SVETLOPLAVA, var);
PlayerInfo = kol;
new Query;
format(Query, sizeof(Query), "UPDATE `korisnici` SET `Admin` = '%d' WHERE `Ime` = '%s' LIMIT 1", kol, ImeIgraca(id));
mysql_query(Query);
}
return 1;
}

CMD:kick(playerid, params[])
{
if(PlayerInfo > 1 && !IsPlayerAdmin(playerid)) return NoPremission(playerid);
{
new id, razlog;
if(sscanf(params, "us", id, razlog)) return SCM(playerid, GRAD2, "Koristite: /kick [Igracev ID] ");
if(!IsPlayerConnected(id)) return SCM(playerid, CRVENA, "Taj igrac nije u igri");
new kickstr;
format(kickstr, sizeof(kickstr), "Igrac %s je uspesko kikovan, Razlog: %s", ImeIgraca(id), razlog);
SCM(playerid, SVETLOCRVENA, kickstr);
format(kickstr, sizeof(kickstr), "Admin %s vas je kikovao sa servera. Razlog: %s", ImeIgraca(playerid), razlog);
SCM(playerid, SVETLOPLAVA, kickstr);
SetTimerEx("KickTimer", 1000, false, "i", id);
}
return 1;
}
arambasa
5
Underboss
19. Jan. 2014.
Gresis provere da li je admin
Ti si uradio ovako
if(PlayerInfo > 1 && !IsPlayerAdmin(playerid)) return NoPremission(playerid); // sto znaci da ako je Admin level 1 ili vise znaci da nema permisiju


A ovako treba :
if(PlayerInfo < 1 && !IsPlayerAdmin(playerid)) return NoPremission(playerid);  // ako je manji admin od 1 znaci da moze.  Presudan ti je znak ">, < , ="

CMD:postaviadmina(playerid, params[])
{
if(PlayerInfo < HEAD || !IsPlayerAdmin(playerid)) return NoPremission(playerid);
{
new id, kol;
if(sscanf(params, "ui", id, kol)) return SCM(playerid, GRAD3, "Koristite: /postaviadmina [Igracev ID] [Level 1-6)");
if(!IsPlayerConnected(id)) return SCM(playerid, CRVENA, "Taj igrac nije u igri");
new var;
format(var, sizeof(var), "Postavili ste %s za administratora level %d", id, kol);
SCM(playerid, ZELENA, var);
format(var, sizeof(var), "Postavljeni ste za administratora nivo %d, Admin: %s", kol, playerid);
SCM(id, SVETLOPLAVA, var);
PlayerInfo = kol;
new Query;
format(Query, sizeof(Query), "UPDATE `korisnici` SET `Admin` = '%d' WHERE `Ime` = '%s' LIMIT 1", kol, ImeIgraca(id));
mysql_query(Query);
}
return 1;
}

CMD:kick(playerid, params[])
{
if(PlayerInfo < 1 && !IsPlayerAdmin(playerid)) return NoPremission(playerid);
{
new id, razlog;
if(sscanf(params, "us", id, razlog)) return SCM(playerid, GRAD2, "Koristite: /kick [Igracev ID] ");
if(!IsPlayerConnected(id)) return SCM(playerid, CRVENA, "Taj igrac nije u igri");
new kickstr;
format(kickstr, sizeof(kickstr), "Igrac %s je uspesko kikovan, Razlog: %s", ImeIgraca(id), razlog);
SCM(playerid, SVETLOCRVENA, kickstr);
format(kickstr, sizeof(kickstr), "Admin %s vas je kikovao sa servera. Razlog: %s", ImeIgraca(playerid), razlog);
SCM(playerid, SVETLOPLAVA, kickstr);
SetTimerEx("KickTimer", 1000, false, "i", id);
}
return 1;
}

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha