Pitanje za komande
CMD:kick(playerid, params[])
{
new id, string[256], razlog [64], pName[MAX_PLAYER_NAME], pKickName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1) return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is", id, razlog)) return SCM(playerid, -1, "Komanda: /kick [id] [razlog]");
if(!IsPlayerConnected(id)) return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin]) return SCM(playerid, -1, "Ne mozete ADMINA veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pKickName, sizeof(pKickName));
format(string, sizeof(string), "Igrac %s je kickovan od strane admina razlog: %s", pName, pKickName, razlog);
SCMTA(-1, string);
Kick(id);
return 1;
}
CMD:ban(playerid,params[])
{
new id, string[256], razlog [64], pName[MAX_PLAYER_NAME], pBanName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1) return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is", id, razlog)) return SCM(playerid, -1, "Komanda: /ban [id] [razlog]");
if(!IsPlayerConnected(id)) return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin]) return SCM(playerid, -1, "Ne mozete ADMINA veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pBanName, sizeof(pBanName));
format(string, sizeof(string), "Igrac %s je banovan od strane admina razlog: %s", pName, pBanName, razlog);
SCMTA(-1, string);
Ban(id);
return 1;
}
da li su ove dve komande dobro napisane i jel ce raditi ako ima nekih gresaka da ste primetili vi recite
Balkan SA:MP
SA-MP Doprinos308 / 500 XP
Imaš jednu veliku grešku u format linijama — stavio si pogrešan broj %s parametara i zamijenio si imena igrača.
Trenutno imaš ovo:
format(string, sizeof(string), "Igrac %s je kickovan od strane admina razlog: %s", pName, pKickName, razlog);A string sadrži samo 2 %s, a ti šalješ 3 argumenta.
Također, nedostaje ime kickanog/bannog igrača u tekstu.
Treba biti ovako:
Kick
CMD:kick(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pKickName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /kick [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete kickati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pKickName, sizeof(pKickName));
format(string, sizeof(string),
"Igrac %s je kickovan od strane admina %s. Razlog: %s",
pKickName, pName, razlog);
SCMTA(-1, string);
Kick(id);
return 1;
}
Ban
CMD:ban(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pBanName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /ban [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete banovati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pBanName, sizeof(pBanName));
format(string, sizeof(string),
"Igrac %s je banovan od strane admina %s. Razlog: %s",
pBanName, pName, razlog);
SCMTA(-1, string);
Ban(id);
return 1;
}
Još jedna bitna stvar, "is" u sscanf je bolje napisati kao "is[64]" da ograničiš dužinu razloga i izbjegneš buffer overflow.
Ja sam Ivo Dev, bager koji razgrće sve oko skripti – poznat i kao Zbager
Kriso37 wrote:
Omasio si sajt, chatgpt.com kucaj na internetu
sto bi tu chatgpt tek nema blage veze ovde bar postoje neki skripteri ivo i sparoww za njih znam i jos neki lik zab sam mu ime
iv0dev wrote:
Imaš jednu veliku grešku u format linijama — stavio si pogrešan broj %s parametara i zamijenio si imena igrača.
Trenutno imaš ovo:
format(string, sizeof(string), "Igrac %s je kickovan od strane admina razlog: %s", pName, pKickName, razlog);Copy
A string sadrži samo 2 %s, a ti šalješ 3 argumenta.
Također, nedostaje ime kickanog/bannog igrača u tekstu.
Treba biti ovako:
Kick
CMD:kick(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pKickName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /kick [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete kickati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pKickName, sizeof(pKickName));
format(string, sizeof(string),
"Igrac %s je kickovan od strane admina %s. Razlog: %s",
pKickName, pName, razlog);
SCMTA(-1, string);
Kick(id);
return 1;
}
Ban
CMD:ban(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pBanName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /ban [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete banovati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pBanName, sizeof(pBanName));
format(string, sizeof(string),
"Igrac %s je banovan od strane admina %s. Razlog: %s",
pBanName, pName, razlog);
SCMTA(-1, string);
Ban(id);
return 1;
}
Još jedna bitna stvar, "is" u sscanf je bolje napisati kao "is[64]" da ograničiš dužinu razloga i izbjegneš buffer overflow.
hvala
iv0dev wrote:
Imaš jednu veliku grešku u format linijama — stavio si pogrešan broj %s parametara i zamijenio si imena igrača.
Trenutno imaš ovo:
format(string, sizeof(string), "Igrac %s je kickovan od strane admina razlog: %s", pName, pKickName, razlog);Copy
A string sadrži samo 2 %s, a ti šalješ 3 argumenta.
Također, nedostaje ime kickanog/bannog igrača u tekstu.
Treba biti ovako:
Kick
CMD:kick(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pKickName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /kick [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete kickati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pKickName, sizeof(pKickName));
format(string, sizeof(string),
"Igrac %s je kickovan od strane admina %s. Razlog: %s",
pKickName, pName, razlog);
SCMTA(-1, string);
Kick(id);
return 1;
}
Ban
CMD:ban(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pBanName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /ban [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete banovati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pBanName, sizeof(pBanName));
format(string, sizeof(string),
"Igrac %s je banovan od strane admina %s. Razlog: %s",
pBanName, pName, razlog);
SCMTA(-1, string);
Ban(id);
return 1;
}
Još jedna bitna stvar, "is" u sscanf je bolje napisati kao "is[64]" da ograničiš dužinu razloga i izbjegneš buffer overflow.
jel znas mozda neki mod da se naucim na njemu jos malo kao posto ne da mi se da radim od 0 a vec sam skonto neke stvari iznam dosta tog
Balkan SA:MP
SA-MP Doprinos308 / 500 XP
Glozx wrote:
iv0dev wrote:
Imaš jednu veliku grešku u format linijama — stavio si pogrešan broj %s parametara i zamijenio si imena igrača.
Trenutno imaš ovo:
format(string, sizeof(string), "Igrac %s je kickovan od strane admina razlog: %s", pName, pKickName, razlog);Copy
Copy
A string sadrži samo 2 %s, a ti šalješ 3 argumenta.
Također, nedostaje ime kickanog/bannog igrača u tekstu.
Treba biti ovako:
Kick
CMD:kick(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pKickName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /kick [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete kickati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pKickName, sizeof(pKickName));
format(string, sizeof(string),
"Igrac %s je kickovan od strane admina %s. Razlog: %s",
pKickName, pName, razlog);
SCMTA(-1, string);
Kick(id);
return 1;
}
Ban
CMD:ban(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pBanName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /ban [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete banovati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pBanName, sizeof(pBanName));
format(string, sizeof(string),
"Igrac %s je banovan od strane admina %s. Razlog: %s",
pBanName, pName, razlog);
SCMTA(-1, string);
Ban(id);
return 1;
}
Još jedna bitna stvar, "is" u sscanf je bolje napisati kao "is[64]" da ograničiš dužinu razloga i izbjegneš buffer overflow.
jel znas mozda neki mod da se naucim na njemu jos malo kao posto ne da mi se da radim od 0 a vec sam skonto neke stvari iznam dosta tog
Uzmi neki mysql mod poput Meanwhile, možeš i Vibe Gaming slobodno
Ja sam Ivo Dev, bager koji razgrće sve oko skripti – poznat i kao Zbager
iv0dev wrote:
Glozx wrote:
iv0dev wrote:
Imaš jednu veliku grešku u format linijama — stavio si pogrešan broj %s parametara i zamijenio si imena igrača.
Trenutno imaš ovo:
format(string, sizeof(string), "Igrac %s je kickovan od strane admina razlog: %s", pName, pKickName, razlog);Copy
Copy
Copy
A string sadrži samo 2 %s, a ti šalješ 3 argumenta.
Također, nedostaje ime kickanog/bannog igrača u tekstu.
Treba biti ovako:
Kick
CMD:kick(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pKickName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /kick [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete kickati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pKickName, sizeof(pKickName));
format(string, sizeof(string),
"Igrac %s je kickovan od strane admina %s. Razlog: %s",
pKickName, pName, razlog);
SCMTA(-1, string);
Kick(id);
return 1;
}
Ban
CMD:ban(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pBanName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /ban [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete banovati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pBanName, sizeof(pBanName));
format(string, sizeof(string),
"Igrac %s je banovan od strane admina %s. Razlog: %s",
pBanName, pName, razlog);
SCMTA(-1, string);
Ban(id);
return 1;
}
Još jedna bitna stvar, "is" u sscanf je bolje napisati kao "is[64]" da ograničiš dužinu razloga i izbjegneš buffer overflow.
jel znas mozda neki mod da se naucim na njemu jos malo kao posto ne da mi se da radim od 0 a vec sam skonto neke stvari iznam dosta tog
Uzmi neki mysql mod poput Meanwhile, možeš i Vibe Gaming slobodno
jel imas neki manje ubagovan meanwhile mod ili vibe gaming ili nes radnjesno na yini ne znam ja mysql
Balkan SA:MP
SA-MP Doprinos308 / 500 XP
Glozx wrote:
iv0dev wrote:
Glozx wrote:
iv0dev wrote:
Imaš jednu veliku grešku u format linijama — stavio si pogrešan broj %s parametara i zamijenio si imena igrača.
Trenutno imaš ovo:
format(string, sizeof(string), "Igrac %s je kickovan od strane admina razlog: %s", pName, pKickName, razlog);Copy
Copy
Copy
Copy
A string sadrži samo 2 %s, a ti šalješ 3 argumenta.
Također, nedostaje ime kickanog/bannog igrača u tekstu.
Treba biti ovako:
Kick
CMD:kick(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pKickName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /kick [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete kickati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pKickName, sizeof(pKickName));
format(string, sizeof(string),
"Igrac %s je kickovan od strane admina %s. Razlog: %s",
pKickName, pName, razlog);
SCMTA(-1, string);
Kick(id);
return 1;
}
Ban
CMD:ban(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pBanName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /ban [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete banovati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pBanName, sizeof(pBanName));
format(string, sizeof(string),
"Igrac %s je banovan od strane admina %s. Razlog: %s",
pBanName, pName, razlog);
SCMTA(-1, string);
Ban(id);
return 1;
}
Još jedna bitna stvar, "is" u sscanf je bolje napisati kao "is[64]" da ograničiš dužinu razloga i izbjegneš buffer overflow.
jel znas mozda neki mod da se naucim na njemu jos malo kao posto ne da mi se da radim od 0 a vec sam skonto neke stvari iznam dosta tog
Uzmi neki mysql mod poput Meanwhile, možeš i Vibe Gaming slobodno
jel imas neki manje ubagovan meanwhile mod ili vibe gaming ili nes radnjesno na yini ne znam ja mysql
A onda vidi uzmi San Marino/Athlone
Ja sam Ivo Dev, bager koji razgrće sve oko skripti – poznat i kao Zbager
iv0dev wrote:
Glozx wrote:
iv0dev wrote:
Glozx wrote:
iv0dev wrote:
Imaš jednu veliku grešku u format linijama — stavio si pogrešan broj %s parametara i zamijenio si imena igrača.
Trenutno imaš ovo:
format(string, sizeof(string), "Igrac %s je kickovan od strane admina razlog: %s", pName, pKickName, razlog);Copy
Copy
Copy
Copy
Copy
A string sadrži samo 2 %s, a ti šalješ 3 argumenta.
Također, nedostaje ime kickanog/bannog igrača u tekstu.
Treba biti ovako:
Kick
CMD:kick(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pKickName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /kick [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete kickati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pKickName, sizeof(pKickName));
format(string, sizeof(string),
"Igrac %s je kickovan od strane admina %s. Razlog: %s",
pKickName, pName, razlog);
SCMTA(-1, string);
Kick(id);
return 1;
}
Ban
CMD:ban(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pBanName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /ban [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete banovati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pBanName, sizeof(pBanName));
format(string, sizeof(string),
"Igrac %s je banovan od strane admina %s. Razlog: %s",
pBanName, pName, razlog);
SCMTA(-1, string);
Ban(id);
return 1;
}
Još jedna bitna stvar, "is" u sscanf je bolje napisati kao "is[64]" da ograničiš dužinu razloga i izbjegneš buffer overflow.
jel znas mozda neki mod da se naucim na njemu jos malo kao posto ne da mi se da radim od 0 a vec sam skonto neke stvari iznam dosta tog
Uzmi neki mysql mod poput Meanwhile, možeš i Vibe Gaming slobodno
jel imas neki manje ubagovan meanwhile mod ili vibe gaming ili nes radnjesno na yini ne znam ja mysql
A onda vidi uzmi San Marino/Athlone
hvala
Balkan SA:MP
SA-MP Doprinos69 / 500 XP
iv0dev wrote on 27. maj. 2026 22:35:
Imaš jednu veliku grešku u format linijama — stavio si pogrešan broj %s parametara i zamijenio si imena igrača.
Trenutno imaš ovo:
format(string, sizeof(string), "Igrac %s je kickovan od strane admina razlog: %s", pName, pKickName, razlog);A string sadrži samo 2 %s, a ti šalješ 3 argumenta.
Također, nedostaje ime kickanog/bannog igrača u tekstu.
Treba biti ovako:
Kick
CMD:kick(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pKickName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /kick [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete kickati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pKickName, sizeof(pKickName));
format(string, sizeof(string),
"Igrac %s je kickovan od strane admina %s. Razlog: %s",
pKickName, pName, razlog);
SCMTA(-1, string);
Kick(id);
return 1;
}
Ban
CMD:ban(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pBanName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /ban [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete banovati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pBanName, sizeof(pBanName));
format(string, sizeof(string),
"Igrac %s je banovan od strane admina %s. Razlog: %s",
pBanName, pName, razlog);
SCMTA(-1, string);
Ban(id);
return 1;
}
Još jedna bitna stvar, "is" u sscanf je bolje napisati kao "is[64]" da ograničiš dužinu razloga i izbjegneš buffer overflow.
može se desit da igrač bude kickan prije nego što se ban upiše u samp.ban fino bi bilo dodati tajmer
sparoWWW wrote:
iv0dev wrote on 27. maj. 2026 22:35:
Imaš jednu veliku grešku u format linijama — stavio si pogrešan broj %s parametara i zamijenio si imena igrača.
Trenutno imaš ovo:
format(string, sizeof(string), "Igrac %s je kickovan od strane admina razlog: %s", pName, pKickName, razlog);Copy
A string sadrži samo 2 %s, a ti šalješ 3 argumenta.
Također, nedostaje ime kickanog/bannog igrača u tekstu.
Treba biti ovako:
Kick
CMD:kick(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pKickName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /kick [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete kickati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pKickName, sizeof(pKickName));
format(string, sizeof(string),
"Igrac %s je kickovan od strane admina %s. Razlog: %s",
pKickName, pName, razlog);
SCMTA(-1, string);
Kick(id);
return 1;
}
Ban
CMD:ban(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pBanName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /ban [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete banovati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pBanName, sizeof(pBanName));
format(string, sizeof(string),
"Igrac %s je banovan od strane admina %s. Razlog: %s",
pBanName, pName, razlog);
SCMTA(-1, string);
Ban(id);
return 1;
}
Još jedna bitna stvar, "is" u sscanf je bolje napisati kao "is[64]" da ograničiš dužinu razloga i izbjegneš buffer overflow.
može se desit da igrač bude kickan prije nego što se ban upiše u samp.ban fino bi bilo dodati tajmer
tajmer za sta
Balkan SA:MP
SA-MP Doprinos69 / 500 XP
Glozx wrote on 30. maj. 2026 9:39:
sparoWWW wrote:
iv0dev wrote on 27. maj. 2026 22:35:
Imaš jednu veliku grešku u format linijama — stavio si pogrešan broj %s parametara i zamijenio si imena igrača.
Trenutno imaš ovo:
format(string, sizeof(string), "Igrac %s je kickovan od strane admina razlog: %s", pName, pKickName, razlog);Copy
A string sadrži samo 2 %s, a ti šalješ 3 argumenta.
Također, nedostaje ime kickanog/bannog igrača u tekstu.
Treba biti ovako:
Kick
CMD:kick(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pKickName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /kick [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete kickati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pKickName, sizeof(pKickName));
format(string, sizeof(string),
"Igrac %s je kickovan od strane admina %s. Razlog: %s",
pKickName, pName, razlog);
SCMTA(-1, string);
Kick(id);
return 1;
}
Ban
CMD:ban(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pBanName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /ban [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete banovati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pBanName, sizeof(pBanName));
format(string, sizeof(string),
"Igrac %s je banovan od strane admina %s. Razlog: %s",
pBanName, pName, razlog);
SCMTA(-1, string);
Ban(id);
return 1;
}
Još jedna bitna stvar, "is" u sscanf je bolje napisati kao "is[64]" da ograničiš dužinu razloga i izbjegneš buffer overflow.
može se desit da igrač bude kickan prije nego što se ban upiše u samp.ban fino bi bilo dodati tajmer
tajmer za sta
Kad pozoves komandu ban, vidis da ti odma izvrsava ban(id) i skripta ti istovremeno kikuje igraca i upisuje ga u samp.ban fajl, samo dodati delay da ga ne kicka momentalno
SetTimerEx("BanIgraca", 500, false, "i", id);
forward BanIgraca(id);
public BanIgraca(id)
{
Ban(id);
return 1;
}
Balkan SA:MP
SA-MP Doprinos308 / 500 XP
sparoWWW wrote on 31. svi. 2026 4:19:
Glozx wrote on 30. maj. 2026 9:39:
sparoWWW wrote:
iv0dev wrote on 27. maj. 2026 22:35:
Imaš jednu veliku grešku u format linijama — stavio si pogrešan broj %s parametara i zamijenio si imena igrača.
Trenutno imaš ovo:
format(string, sizeof(string), "Igrac %s je kickovan od strane admina razlog: %s", pName, pKickName, razlog);Copy
A string sadrži samo 2 %s, a ti šalješ 3 argumenta.
Također, nedostaje ime kickanog/bannog igrača u tekstu.
Treba biti ovako:
Kick
CMD:kick(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pKickName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /kick [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete kickati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pKickName, sizeof(pKickName));
format(string, sizeof(string),
"Igrac %s je kickovan od strane admina %s. Razlog: %s",
pKickName, pName, razlog);
SCMTA(-1, string);
Kick(id);
return 1;
}
Ban
CMD:ban(playerid, params[])
{
new id, string[256], razlog[64], pName[MAX_PLAYER_NAME], pBanName[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 1)
return SCM(playerid, -1, "Niste admin");
if(sscanf(params, "is[64]", id, razlog))
return SCM(playerid, -1, "Komanda: /ban [id] [razlog]");
if(!IsPlayerConnected(id))
return SCM(playerid, -1, "Igrac nije na serveru!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin])
return SCM(playerid, -1, "Ne mozete banovati admina veceg od sebe");
GPN(playerid, pName, sizeof(pName));
GPN(id, pBanName, sizeof(pBanName));
format(string, sizeof(string),
"Igrac %s je banovan od strane admina %s. Razlog: %s",
pBanName, pName, razlog);
SCMTA(-1, string);
Ban(id);
return 1;
}
Još jedna bitna stvar, "is" u sscanf je bolje napisati kao "is[64]" da ograničiš dužinu razloga i izbjegneš buffer overflow.
može se desit da igrač bude kickan prije nego što se ban upiše u samp.ban fino bi bilo dodati tajmer
tajmer za sta
Kad pozoves komandu ban, vidis da ti odma izvrsava ban(id) i skripta ti istovremeno kikuje igraca i upisuje ga u samp.ban fajl, samo dodati delay da ga ne kicka momentalno
SetTimerEx("BanIgraca", 500, false, "i", id);
forward BanIgraca(id);
public BanIgraca(id)
{
Ban(id);
return 1;
}
timer BanIgraca[500](id)
{
Ban(id);
return 1;
}I onda samo pozove defer BanIgraca(id);
Ja sam Ivo Dev, bager koji razgrće sve oko skripti – poznat i kao Zbager
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava

