Дратути, сегодня с утра заметил что не робит команда. Сразу вырубил сервер пошёл искать ошибку, но её не нашёл, потом запустил ещё раз сервер, выполнил команду, она опять не заработала, и когда сворачивал игру заметил консоль...
PHP код:
[07:09:04] [debug] Run time error 4: "Array index out of bounds"
[07:09:04] [debug] Accessing element at index 232 past array upper bound 46
[07:09:04] [debug] AMX backtrace:
[07:09:04] [debug] #0 00037f98 in public cmd_dropgun (playerid=0, ... <1 argument>) at C:\Users\has\Desktop\Сервер\gamemodes\fas.pwn:3239
[07:09:04] [debug] #1 native DC_CMD () from dc_cmd.DLL
[07:09:04] [debug] #2 0000137c in public OnPlayerCommandText (playerid=0, cmdtext[]=@00071abc "/dropgun") at C:\Users\has\Desktop\Сервер\pawno\include\dc_cmd.inc:62
Вот это команда
3239 строка -
PHP код:
new f = MAX_DROP_GUN+1;
PHP код:
CMD:dropgun(playerid)
{
SetPVarInt(playerid,"Floodgun",GetTickCount());new str23[30];
if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return 1;
new GunID = GetPlayerWeapon(playerid);
new GunSlot = convert_slot(GunID);
new GunAmmo = GetPlayerAmmo(playerid);
if(GunID > 0 && GunAmmo != 0)
{
new f = MAX_DROP_GUN+1;
for(new a = 0; a < MAX_DROP_GUN; a++)
{
if(gi[a][ObjPos][0] == 0.0)
{
f = a;
break;
}
}
ResetPlayerWeaponSlot(playerid, GunSlot);
gi[f][ObjData][0] = GunID;
gi[f][ObjData][1] = GunAmmo;
GetPlayerPos(playerid, gi[f][ObjPos][0], gi[f][ObjPos][1], gi[f][ObjPos][2]);
gi[f][ObjID] = CreateDynamicObject(gun_info[GunID][0], gi[f][ObjPos][0], gi[f][ObjPos][1], gi[f][ObjPos][2]-1, 93.7, 120.0, 120.0);
format(str23, 60, "Вы выкинули | {FFFFFF}%s", gun_info[gi[f][ObjData][1]]);
SendClientMessage(playerid, -1, str23);
return true;
}
return true;
}
В моём старом моде это команда отлично работала.