08.12.2016, 18:28
Код:
[19:31:53] [debug] Run time error 4: "Array index out of bounds" [19:31:53] [debug] Accessing element at index 65535 past array upper bound 999 [19:31:53] [debug] AMX backtrace: [19:31:53] [debug] #0 001be24c in public cmd_makeadmin (playerid=1, params[]=@0192d8ec "") at gm.pwn:27658 [19:31:53] [debug] #1 native CallLocalFunction () from samp03svr [19:31:53] [debug] #2 00009adc in public OnPlayerCommandText (playerid=1, cmdtext[]=@0192d898 "/makeadmin ") at D:\SAMP stuff\RPG \pawno\include\zcmd.inc:108 [19:31:58]
PHP код:
CMD:makeadmin(playerid, params[])
{
if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to login first.");
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] >= 6 || EstiFondator(playerid))
{
new id,adminlevel,sendername[30],giveplayer[30],string[200],escape[200];
if(sscanf(params, "ui",id,adminlevel)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FF9900}Scrie: {33CCFF}/makeadmin` <Name/Playerid> <Admin Level>");
if(PlayerInfo[id][pAdmin] >= 6 && !EstiFondator(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "Nu poti modifica admin level-ul unui admin 6+!.");
if(adminlevel > 4 && !EstiFondator(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "Only founders can make admin higher than 4.");
if(IsPlayerConnected(id))
{
if(id != INVALID_PLAYER_ID)
{
GetPlayerName(id, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
printf("AdmCmd: %s has promoted %s to a level %d admin.", sendername, giveplayer, adminlevel);
format(string, sizeof(string), "You've been promoted to level %d admin, by %s.", adminlevel, sendername);
SendClientMessage(id, COLOR_YELLOW, string);
format(string, sizeof(string), "You have promoted %s to a level %d admin.", giveplayer,adminlevel);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "* Admin %s set %s's admin level to %d.", sendername,giveplayer,adminlevel);
ABroadCast(COLOR_ADMIN,string,1);
HLChat(COLOR_ADMCHAT,string);
mysql_real_escape_string(string, escape);
PlayerInfo[id][pAdmin] = adminlevel;
if(adminlevel == 0)
{
AdminDuty[id] = 0;
}
new str[256];
mysql_format(SQL,str,sizeof(str),"UPDATE users SET `Admin`='%d' WHERE `name`='%s'",PlayerInfo[id][pAdmin],PlayerInfo[id][pNormalName]);
mysql_tquery(SQL,str,"","");
mysql_format(SQL,str, sizeof(str), "INSERT INTO staff_logs (`text`) VALUES ('%s')", escape);
mysql_tquery(SQL,str,"","");
}
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "{FFFFCC}Error: Player not connected.");
}
}
else
{
SendClientMessage(playerid, COLOR_ERROR, AdminOnly);
}
}
return 1;
}