Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: ѕєуzιι¢н™.amx poslato Jun 03, 2012, 20:45:18 POSLE PODNE

Naslov: [POMOC] Komanda neradi
Poruka od: ѕєуzιι¢н™.amx poslato Jun 03, 2012, 20:45:18 POSLE PODNE
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):
Naslov: Odg: [POMOC] Komanda neradi
Poruka od: Joey_ poslato Jun 03, 2012, 23:52:06 POSLE PODNE
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.