if(strcmp("/makeadmin", cmdtext, true) == 0) { new string[128]; new tmp[256]; new player[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME]; new giveplayerid; if (IsPlayerAdmin(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /makeadmin [playerid] [level]"); SendClientMessage(playerid, COLOR_ORANGE, "FUNCTION: Player will be an admin."); return 1; } giveplayerid = ReturnUser(tmp); tmp = strtok(cmdtext, idx); new level = strval(tmp); if(giveplayerid != INVALID_PLAYER_ID) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, player, sizeof(player)); PlayerInfo[giveplayerid][AdminLevel] = level; printf("Admin %s made %s a level %d admin.", player, giveplayer, level); format(string, sizeof(string), "You are now an administrator level %d thanks to %s.", level, player); SendClientMessage(giveplayerid, COLOR_WHITE, string); format(string, sizeof(string), "You have given %s level %d admin.", giveplayer,PlayerInfo[giveplayerid][AdminLevel]); SendClientMessage(playerid, COLOR_WHITE, string); } else if(giveplayerid == INVALID_PLAYER_ID) { format(string, sizeof(string), "%i is not an active player.", giveplayerid); SendClientMessage(playerid, COLOR_RED, string); } } else { SendClientMessage(playerid, COLOR_RED, "You are not a lead admin!"); } return 1; }
F:\Servers\SAMP\gamemodes\Esco.pwn(393) : warning 217: loose indentation F:\Servers\SAMP\gamemodes\Esco.pwn(394) : error 017: undefined symbol "strtok" F:\Servers\SAMP\gamemodes\Esco.pwn(394) : error 033: array must be indexed (variable "cmd") F:\Servers\SAMP\gamemodes\Esco.pwn(403) : error 017: undefined symbol "strtok" F:\Servers\SAMP\gamemodes\Esco.pwn(403) : error 033: array must be indexed (variable "tmp") F:\Servers\SAMP\gamemodes\Esco.pwn(410) : error 017: undefined symbol "ReturnUser" F:\Servers\SAMP\gamemodes\Esco.pwn(411) : error 017: undefined symbol "strtok" F:\Servers\SAMP\gamemodes\Esco.pwn(411) : error 033: array must be indexed (variable "tmp") F:\Servers\SAMP\gamemodes\Esco.pwn(422) : warning 217: loose indentation F:\Servers\SAMP\gamemodes\Esco.pwn(437) : warning 217: loose indentation F:\Servers\SAMP\gamemodes\Esco.pwn(393) : warning 203: symbol is never used: "idx" Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 7 Errors.
F:\Servers\SAMP\gamemodes\Esco.pwn(393) : warning 217: loose indentation
F:\Servers\SAMP\gamemodes\Esco.pwn(394) : error 017: undefined symbol "strtok"
stock 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;
}
F:\Servers\SAMP\gamemodes\Esco.pwn(394) : error 033: array must be indexed (variable "cmd")
public OnPlayerCommandText(playerid, cmdtext[])
new cmd[128];// You can use 256 but highly not
recommended.
F:\Servers\SAMP\gamemodes\Esco.pwn(403) : error 033: array must be indexed (variable "tmp")
F:\Servers\SAMP\gamemodes\Esco.pwn(410) : error 017: undefined symbol "ReturnUser"
ReturnUser(text[]) {
new
strPos,
returnID = 0,
bool: isnum = true;
while(text[strPos]) {
if(isnum) {
if ('0' <= text[strPos] <= '9') returnID = (returnID * 10) + (text[strPos] - '0');
else isnum = false;
}
strPos++;
}
if (isnum) {
if(IsPlayerConnected(returnID)) return returnID;
}
else {
new
sz_playerName[MAX_PLAYER_NAME];
foreach(Player, i) {
GetPlayerName(i, sz_playerName, MAX_PLAYER_NAME);
if(!strcmp(sz_playerName, text, true, strPos)) return i;
}
}
return INVALID_PLAYER_ID;
}
F:\Servers\SAMP\gamemodes\Esco.pwn(393) : warning 203: symbol is never used: "idx"
new idx;
F:\Servers\SAMP\gamemodes\Esco.pwn(696) : error 021: symbol already defined: "cmd" F:\Servers\SAMP\gamemodes\Esco.pwn(713) : error 017: undefined symbol "ReturnUser" Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 2 Errors.
delete that new cmd[128]; somewhere then copy the code that Lynn gave (the ReturnUser)
EDIT: Copy the code that Lynn gives that ReturnUser. then remove that new cmd somewhere |
ReturnUser(text[]) { new strPos, returnID = 0, bool: isnum = true; while(text[strPos]) { if(isnum) { if ('0' <= text[strPos] <= '9') returnID = (returnID * 10) + (text[strPos] - '0'); else isnum = false; } strPos++; } if (isnum) { if(IsPlayerConnected(returnID)) return returnID; } else { new sz_playerName[MAX_PLAYER_NAME]; foreach(Player, i) { GetPlayerName(i, sz_playerName, MAX_PLAYER_NAME); if(!strcmp(sz_playerName, text, true, strPos)) return i; } } return INVALID_PLAYER_ID; }
F:\Servers\SAMP\gamemodes\Esco.pwn(696) : error 021: symbol already defined: "cmd"
new cmd[128/256];
public OnPlayerCommandText(playerid, cmdtext[])
F:\Servers\SAMP\gamemodes\Esco.pwn(713) : error 017: undefined symbol "ReturnUser"
F:\Servers\SAMP\gamemodes\Esco.pwn(720) : error 017: undefined symbol "AdminLevel"
PlayerInfo[giveplayerid][AdminLevel]
enum pInfo
{
//Information here
};
new PlayerInfo[MAX_PLAYERS][pInfo];
// Under enum pInfo { place AdminLevel,
//So it'd look for instance
enum pInfo
{
AdminLevel,
pJob, // Don't add this, just part of the example
pCash, // Don't add this, just part of the example
};
new PlayerInfo[MAX_PLAYERS][pInfo];
F:\Servers\SAMP\gamemodes\Esco.pwn(713) : error 017: undefined symbol "ReturnUser" Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 1 Errors.
F:\Servers\SAMP\gamemodes\Esco.pwn(868) : error 017: undefined symbol "foreach" F:\Servers\SAMP\gamemodes\Esco.pwn(869) : error 017: undefined symbol "i" F:\Servers\SAMP\gamemodes\Esco.pwn(870) : error 017: undefined symbol "i" Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 3 Errors.