Ошибка с SetPlayerExtra (Система оповещения)
Вот допустим у меня диалог с которым я работаю
PHP код:
case 667:
{
if(response)
{
if(!IsACop(playerid))
{
WantedPoints[playerid]+=2;
PlayerInfo[playerid][pWanted]+=2;
SetPlayerExtra(playerid,255, "Проникновение в хранилище банка");
SetPPos(playerid,2147.862,1601.332,1006.168);
SetPlayerInterior(playerid,1);
PlayerInfo[playerid][pInt] = 1;
SetPlayerVirtualWorld(playerid,3);
SetPlayerFacingAngle(playerid, 180.0);
}
}
}
Если убрать строчку
PHP код:
SetPlayerExtra(playerid,255, "Проникновение в хранилище банка");
То всё кашерно проходит, а с этим стоком(SetPlayerExtra) в логах ошибка высвечивается:
PHP код:
[02:33:26] [debug] Run time error 4: "Array index out of bounds"
[02:33:26] [debug] Accessing element at index 255 past array upper bound 49
[02:33:26] [debug] AMX backtrace:
[02:33:26] [debug] #0 000db2e4 in ?? (0, 255, 5422964) from beta39.amx
[02:33:26] [debug] #1 0006b834 in public OnDialogResponse (0, 667, 1, -1, 6420012) from beta39.amx
Вот сам stock SetPlayerExtra
Открыть/закрыть
PHP код:
stock SetPlayerExtra(playerid,declare,reason[])
{
if(IsPlayerConnected(playerid))
{
new turner[64];
strmid(PlayerCrime[playerid][pAccusedof], reason, 0, strlen(reason), 255);
if (declare == INVALID_PLAYER_ID)
{
format(turner, sizeof(turner), "Неизвестный");
strmid(PlayerCrime[playerid][pVictim], PlayerInfo[playerid][pNames], 0, strlen(turner), 255);
}
else
{
if(IsPlayerConnected(declare))
{
strmid(PlayerCrime[playerid][pVictim], PlayerInfo[playerid][pNames], 0, strlen(PlayerInfo[playerid][pNames]), 255);
strmid(PlayerCrime[declare][pBplayer], PlayerInfo[declare][pNames], 0, strlen(PlayerInfo[declare][pNames]), 255);
strmid(PlayerCrime[declare][pAccusing], reason, 0, strlen(reason), 255);
}
}
SendMes(playerid,COLOR_LIGHTRED,"Вы совершили преступление: [%s]. Сообщил: %s.",reason,PlayerInfo[declare][pNames]);
if(PlayerInfo[playerid][pWanted] > 0)
{
new yesno;
if(PlayerInfo[playerid][pWanted] != 0) { if(gTeam[playerid] == 3) gTeam[playerid] = 4; yesno = 1; }
if(yesno)
{
SendMes(playerid,COLOR_YELLOW,"Текущий уровень розыска: %d", PlayerInfo[playerid][pWanted]);
SetPlayerWantedLevel(playerid, PlayerInfo[playerid][pWanted]);
foreach(Player,i)
{
if(IsPlayerConnected(i)) { if(IsACop(i) || IsACru(i)) SendMes(i,0xFEBC41AA,"[Рация] Подозреваемый: {E23F3F}%s{FEBC41}. Преступление: %s. Сообщает: %s.",PlayerInfo[playerid][pNames],reason,PlayerInfo[declare][pNames]); }
}
}
}
}//not connected
}
Кто подскажет в чём тут трабла?:dntknw: