Problem(error/warning): Imate slike
Deo skripte: [ pawn ]CMD:postaviadmina(playerid,params[])
{
if(IsPlayerAdmin(playerid))
{
new targetid,level;
if(sscanf(params,"ud",targetid,level)) return SCM(playerid,-1,"/postaviadmina [ID igraca/Deo imena] [Admin Level]");
if(!IsPlayerConnected(targetid)) return SCM(playerid,-1,"Igrac nije na serveru!");
if(level >5 || level <1) return SCM(playerid,-1,"Najveci admin level je 5, a najmanji 1!");
new str,str1;
format(str,sizeof(str),"Postavili ste admin level %s igracu %d!",level,GetName(targetid));
format(str1,sizeof(str1),"Admin %s te je promovisao na admin level %d!"),GetName(targetid),level;
SCM(playerid,-1,str);
SCM(targetid,-1,str1);
PlayerInfo = level;
}
else
{
SCM(playerid,-1,"Niste ovlasceni da koristite ovu komandu!");
}
return 1;
}[ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): Jednostavno mi ne pise ko je dao Admina i koji level
Slika/video ingame problema(obavezno ako je ingame problem): https://imgur.com/3CtxJNp
Za /setadmin
666
pregleda
6
postova
11. Jul 2019.
CMD:postaviadmina(playerid,params[]) {
if(IsPlayerAdmin(playerid))
{
new targetid,level;
if(sscanf(params,"ud",targetid,level)) return SCM(playerid,-1,"/postaviadmina [ID igraca/Deo imena] [Admin Level]");
if(!IsPlayerConnected(targetid)) return SCM(playerid,-1,"Igrac nije na serveru!");
if(level >5 || level <1) return SCM(playerid,-1,"Najveci admin level je 5, a najmanji 1!");
new str,str1;
format(str,sizeof(str),"Postavili ste admin level %d igracu %s!",level,GetName(playerid));
format(str1,sizeof(str1),"Admin %s te je promovisao na admin level %d!",GetName(playerid),level);
SCM(playerid,-1,str);
SCM(targetid,-1,str1);
PlayerInfo = level;
}
else
{
SCM(playerid,-1,"Niste ovlasceni da koristite ovu komandu!");
}
return 1;
}11. Jul 2019.
anderson87 wrote on July 11, 2019, 6:21 pm:
CMD:postaviadmina(playerid,params[]) {
if(IsPlayerAdmin(playerid))
{
new targetid,level;
if(sscanf(params,"ud",targetid,level)) return SCM(playerid,-1,"/postaviadmina [ID igraca/Deo imena] [Admin Level]");
if(!IsPlayerConnected(targetid)) return SCM(playerid,-1,"Igrac nije na serveru!");
if(level >5 || level <1) return SCM(playerid,-1,"Najveci admin level je 5, a najmanji 1!");
new str,str1;
format(str,sizeof(str),"Postavili ste admin level %d igracu %s!",level,GetName(playerid));
format(str1,sizeof(str1),"Admin %s te je promovisao na admin level %d!",GetName(playerid),level);
SCM(playerid,-1,str);
SCM(targetid,-1,str1);
PlayerInfo = level;
}
else
{
SCM(playerid,-1,"Niste ovlasceni da koristite ovu komandu!");
}
return 1;
}https://imgur.com/uDH8SxC
Opet mi ne pise koji je admin dao i kom igracu
11. Jul 2019.
CMD:postaviadmina(playerid,params[])
{
if(IsPlayerAdmin(playerid))
{
new targetid,level;
if(sscanf(params,"ud",targetid,level)) return SCM(playerid,-1,"/postaviadmina [ID igraca/Deo imena] [Admin Level]");
if(!IsPlayerConnected(targetid)) return SCM(playerid,-1,"Igrac nije na serveru!");
if(level >5 || level <1) return SCM(playerid,-1,"Najveci admin level je 5, a najmanji 1!");
new str;
format(str,sizeof(str), "Postavili ste admin level %d igracu %s!", level, GetName(targetid));
SCM(playerid,-1,str);
format(str,sizeof(str),"Admin %s te je promovisao na admin level %d!", GetName(playerid), level);
SCM(targetid,-1,str);
PlayerInfo = level;
}
else
{
SCM(playerid,-1,"Niste ovlasceni da koristite ovu komandu!");
}
return 1;
}I zamijeni svoju GetName funkciju sa ovom
stock GetName(id)
{
new name;
GetPlayerName(id, name, sizeof(name));
return name;
}
11. Jul 2019.
Ovako brate, u skriptanju postoje formati, svaki format ima svoje znacenje.
A tvoja greska je u ovoj liniji:
Sad ce ti verovatno jasnije biti sta si pogresio ako si procitao tabelu iznad. %d koristis za brojeve a %s za stringove. Znaci, pravilno bi trebalo biti ovako:
Cak imas gresku i ovoj liniji:
Koristis 'targetid' u GetName za admina. Znaci igracu ce izaci poruka da je Admin zapravo on. Nisi ni dovrsio liniju kako treba. Pravilno bi trebalo ovako biti:
I nemas potrebe definisati dva stringa, jer gubis memoriju dzaba. To mozes u jednom stringu raditi.
%i Integer (whole number)
%d Integer (whole number).
%s String
%f Floating-point number (Float: tag)
%c ASCII character
%x Hexadecimal number
%b Binary number
%% Literal '%'
%q Escape a text for SQLite. (Added in 0.3.7 R2)A tvoja greska je u ovoj liniji:
format(str,sizeof(str), "Postavili ste admin level %d igracu %s!", level, GetName(targetid));Sad ce ti verovatno jasnije biti sta si pogresio ako si procitao tabelu iznad. %d koristis za brojeve a %s za stringove. Znaci, pravilno bi trebalo biti ovako:
format(str,sizeof(str), "Postavili ste admin level %s igracu %d!", level, GetName(targetid));Cak imas gresku i ovoj liniji:
format(str1,sizeof(str1),"Admin %s te je promovisao na admin level %d!"),GetName(targetid),level;Koristis 'targetid' u GetName za admina. Znaci igracu ce izaci poruka da je Admin zapravo on. Nisi ni dovrsio liniju kako treba. Pravilno bi trebalo ovako biti:
format(str1,sizeof(str1),"Admin %s te je promovisao na admin level %d!",GetName(playerid),level);I nemas potrebe definisati dva stringa, jer gubis memoriju dzaba. To mozes u jednom stringu raditi.
Former SA:MP server developer
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava

