does your mode use strtok? ignore i guess not from what you said b4 ill give it a crack hold on
top of script
pawn Код:
#define SETADMINLEVEL 4 // min level to set admin
command
pawn Код:
new tmp, giveplayerid,level;
new giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME];
if(strcmp(cmd, "/setadmin", true) == 0) {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOUR_WHITE, "USAGE: /setadmin [playerid] [level]");
return 1;
}
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOUR_WHITE, "USAGE: /setadmin [playerid] [level]");
return 1;
}
level = strval(tmp);
if(adminlevel[playerid] < SETADMINLEVEL) {
SendClientMessage(playerid, COLOUR_BAD, "you are not allowed to do this");
return 1;
}
if(!IsPlayerConnected(giveplayerid)) {
SendClientMessage(playerid, COLOUR_BAD, "No such player exists.");
return 1;
}
new gcstr[64];
adminlevel[giveplayerid] = level;
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(gcstr, sizeof(gcstr), "you have set %s's admin level to %d", giveplayer, adminlevel[giveplayerid]);
SendClientMessage(playerid,COLOUR_YELLOW, gcstr);
format(gcstr, sizeof(gcstr), "%s has set your admin level to %d", sendername,adminlevel[giveplayerid]);
SendClientMessage(giveplayerid, COLOUR_YELLOW, gcstr);
return 1;
}
and you will need at the bottom of the script
pawn Код:
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
hope that helps