Skripta koju koristim: Radim mod od 0
Detaljan opis problema: Komanda /makeadmin neradi nepokazuje parametre niti ih zahtjeva :S
Dio skripte: if(strcmp(cmdtext, "/makeadmin", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_DGOLD,"KORISTENJE: /makeadmin [ID/DioImena] [1-1338]");
return 1;
}
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strval(tmp);
if ((IsPlayerAdmin(playerid)) || PlayerInfo[playerid][pAdmin] >= 1338)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pAdmin] = level;
format(string, sizeof(string), " INFO: Nagradili ste %s za Level %d Administratora.", giveplayer,level);
SendClientMessage(playerid, COLOR_GOLD, string);
new string1[256];
format(string1, sizeof(string1), "BU ADMIN TEAM: Dobili ste admin level %i, od strane administratora %s", level, sendername);
SendClientMessage(para1, COLOR_GOLD, string1);
printf("AdmWarn: Administrator %s je postavio igraca %s za administrator level %d.",sendername, giveplayer, level);
}
}
}
else
{
SendClientMessage(playerid, COLOR_LIGHTRED, "ERROR: Niste autorizirani za ovu komandu - nemate administrator level.");
}
}
return 1;
}
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Ovo bi trebalo raditi:
if(strcmp(cmd, "/makeadmin", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_DGOLD,"KORISTENJE: /makeadmin [ID/DioImena] [1-1338]");
return 1;
}
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strval(tmp);
if ((IsPlayerAdmin(playerid)) || PlayerInfo[playerid][pAdmin] >= 1338)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pAdmin] = level;
format(string, sizeof(string), " INFO: Nagradili ste %s za Level %d Administratora.", giveplayer,level);
SendClientMessage(playerid, COLOR_GOLD, string);
new string1[256];
format(string1, sizeof(string1), "BU ADMIN TEAM: Dobili ste admin level %i, od strane administratora %s", level, sendername);
SendClientMessage(para1, COLOR_GOLD, string1);
printf("AdmWarn: Administrator %s je postavio igraca %s za administrator level %d.",sendername, giveplayer, level);
}
}
}
else
{
SendClientMessage(playerid, COLOR_LIGHTRED, "ERROR: Niste autorizirani za ovu komandu - nemate administrator level.");
}
}
return 1;
}
I preporuÄam ti da se prebaciÅ¡ na neke suvremenije procesore komandi (rCMD, YCMD, ZCMD) i na sscanf umjesto strtoka.