I name Alex
Умник
Помогите пожалуйста, друг вводит команду /sellmyfuelst чтобы продать мне заправку, ему выдаёт SERVER: ункновн команд. Инддекс массива вне границ.
PHP:
if(strcmp(cmd, "/sellmyfuelst", true) == 0)
{
if(PlayerInfo[playerid][pFuel] == 999) return SendClientMessage(playerid, COLOR_GRAD1, "У Вас нет АЗС.");
tmp = strtok(cmdtext, idx);
new price;
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /sellmyfuelst [id игрока] [цена]");
giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
price = strval(tmp);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /sellmyfuelst [id игрока] [цена]");
if (PlayerInfo[playerid][pFuel] < 999)
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(GetPVarInt(playerid,"yes") == 1) return SendClientMessage(playerid,COLOR_GRAD2, "Вы не можете использовать это в данный момент, отзовите своё предыдущее предложение {0099FF}/cancel");
if(playerid == giveplayerid) return SendClientMessage(playerid, COLOR_GRAD1, "Игрока с таким id нет");
if(GetDistanceBetweenPlayers(playerid, giveplayerid) > 5 || GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(giveplayerid)) return SendClientMessage(playerid, COLOR_GRAD1, "Игрок слишком далеко от Вас.");
if(price < BizInfo[PlayerInfo[playerid][pFuel]][bPrice]) { SendClientMessage(playerid, COLOR_GRAD1, "Цена не может быть меньше государственной!"); return true; }
if(PlayerInfo[giveplayerid][pMoney] < price) return SendClientMessage(playerid, COLOR_GRAD1, "У игрока нет такой суммы денег!");
if(PlayerInfo[giveplayerid][pFuel] < 999) return SendClientMessage(playerid, COLOR_GRAD1, "У этого игрока уже есть АЗС!");
if(!IsPlayerInRangeOfPoint(playerid,20.0,BizInfo[PlayerInfo[playerid][pBusiness]][ExitX],BizInfo[PlayerInfo[playerid][pBusiness]][ExitY],BizInfo[PlayerInfo[playerid][pBusiness]][ExitZ])) return SendClientMessage(playerid, COLOR_GRAD1, "Вы должны находиться у АЗС!");
SetPVarInt(giveplayerid,"sellmyfuel",1);
SetPVarInt(playerid,"yes",1);
yesid[playerid] = giveplayerid;
GetPlayerTransfer1[giveplayerid] = playerid;
GetPlayerOption1[giveplayerid] = price;
format(query,sizeof(query), "Вы предложили игроку {9DDAF2}%s{1e90ff} купить АЗС №%d за {00CC00}%d$", PlayerInfo[giveplayerid][pName],PlayerInfo[playerid][pFuel], price);
SendClientMessage(playerid, 0x1e90ffAA, query);
format(query,sizeof(query), "{1e90ff}%s {1e90ff}предлагает Вам купить АЗС №%d за {34c924}%d$", PlayerInfo[playerid][pName],PlayerInfo[playerid][pFuel], price);
SendClientMessage(giveplayerid, COLOR_WHITE, query);
SendClientMessage(giveplayerid, CWHITE, "Нажмите {03c03c}Y {FFFFFF}чтобы согласиться или {ff7518}N {FFFFFF}для отказа.");
return true;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Игрока с таким id нет");
}
}
return true;
}
PHP:
[21:36:29] [debug] Run time error 4: "Array index out of bounds"
[21:36:29] [debug] Accessing element at index 999 past array upper bound 200
[21:36:29] [debug] AMX backtrace:
[21:36:29] [debug] #0 00432b68 in public OnPlayerCommandText (playerid=0, cmdtext[]=@004bd860 "/sellmyfuelst 1 2000000") at путь\server RP\gamemodes\server.pwn:32817
[21:36:44] [debug] Run time error 4: "Array index out of bounds"
[21:36:44] [debug] Accessing element at index 999 past array upper bound 200
[21:36:44] [debug] AMX backtrace:
[21:36:44] [debug] #0 00432b68 in public OnPlayerCommandText (playerid=0, cmdtext[]=@004bd860 "/sellmyfuelst 1 2000000") at путь\server RP\gamemodes\server.pwn:32817
PHP:
32817:if(!IsPlayerInRangeOfPoint(playerid,20.0,BizInfo[PlayerInfo[playerid][pBusiness]][ExitX],BizInfo[PlayerInfo[playerid][pBusiness]][ExitY],BizInfo[PlayerInfo[playerid][pBusiness]][ExitZ])) return SendClientMessage(playerid, COLOR_GRAD1, "Вы должны находиться у АЗС!");
