hamykeig
Умник
похожей темы не нашел , по этому пишу сюда , значится такая проблема в консоль выбивает ошибку при воде команды /call и номер
тут ошибка if(params[0] == PlayerInfo[pPhone][1] && PlayerInfo[params[0]][pPhone] != 0)
это я пробывал такой вариант не промогло //if(params[0] == PlayerInfo[pPhone][1] || PlayerInfo[params[0]][pPhone] != 0)
тут ошибка if(params[0] == PlayerInfo[pPhone][1] && PlayerInfo[params[0]][pPhone] != 0)
это я пробывал такой вариант не промогло //if(params[0] == PlayerInfo[pPhone][1] || PlayerInfo[params[0]][pPhone] != 0)
PHP:
CMD:call(playerid, params[])
{
if(PlayerLogged[playerid] == 0) return true;
if(PlayerInfo[playerid][pMuted] > 0) return SendClientMessage(playerid, COLOR_PURPLE, PlayerHaveMuteTime);
if(Phone[playerid] == false) return SendClientMessage(playerid, CGREY, "У вас выключен телефон!");
if(Mobile[playerid] != -1) return SendClientMessage(playerid, CGREY, "Вы уже разговариваете по телефону!");
if(PlayerInfo[playerid][pPhone][0] == 0) return SendClientMessage(playerid, CGREY, "Вы не владеете телефоном!");
if(sscanf(params, "i", params[0])) return ShowPlayerDialog(playerid, D_HEAL+3, 2, "Сервис", "- Вызвать механика\n- Вызвать такси\n- Вызвать мед. помошь\n- Вызвать полицию", "Принять", "Отмена");
if(params[0] < 0 || params[0] > 9999999) return SendClientMessage(playerid, CGREY, "Неверный номер телефона!");
if(params[0] == PlayerInfo[playerid][pPhone][1]) return SendClientMessage(playerid, CGREY, "Ты не можешь позвонить самому себе!");
if(PlayerInfo[playerid][pBank] < 1) return SendClientMessage(playerid, CGREY, YouDoNotHaveEnoughMoneyBank);
new string[128];
new full;
if(params[0] == TODAY_NUMBER)
{
if(Ether[playerid] == true) return SendClientMessage(playerid, CGREY, "Ошибка! Действие невозможно!");
if(PlayerInfo[playerid][pNews] != NEWS_UNITED) return SendMes(playerid, CGREY, "Вы должны слушать радио: %s", FracInfo[F_NEWS][fName]);
if(EtherCall[PlayerInfo[playerid][pNews]-1] == false) return SendClientMessage(playerid, CGREY, "Радио не принимает звонков!");
if(PlayerInfo[playerid][pPhoneBalance] < 150) return SendClientMessage(playerid, CGREY, "Пополните баланс мобильного телефона!");
SetPVarInt(playerid,"CallNews",1);
static const fmt_string[] = "[R] %s звонит в студию. Принять: /acall %i";
new str[sizeof(fmt_string)+MAX_PLAYER_NAME+4];
format(str, sizeof(str), fmt_string,PN(playerid),playerid);
SendFMes(F_NEWS,COLOR_LIGHTRED,str);
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
if(!IsPlayerInAnyVehicle(playerid)) SetPlayerSpecialAction(playerid, 11);
CellTime[playerid] = 0;
full++;
return true;
}
else
{
foreach(new i:Player)
{
if(!IsPlayerConnected(i) || PlayerLogged[i] == 0) continue;
if(params[0] == PlayerInfo[i][pPhone][1] && PlayerInfo[params[0]][pPhone] != 0)
//if(params[0] == PlayerInfo[i][pPhone][1] || PlayerInfo[params[0]][pPhone] != 0)
{
if(Phone[i] == false) return SendClientMessage(playerid, CGREY, "Игрок выключил телефон!");
if(Mobile[i] != -1) return SendClientMessage(playerid, CGREY, "Игрок уже разговаривает по телефону!");
if(Ether[i] == true) return SendClientMessage(playerid, CGREY, "Ошибка! Действие невозможно!");
Mobile[playerid] = i;
SendMes(i, COLOR_WHITE, "Ваc вызывает: %s. Чтобы ответить, введите: /P", PN(playerid));
format(string, 90, "У %s звонит мобильный телефон", PN(i));
ProxDetectorNew(i,30.0,COLOR_PURPLE,string);
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
SendClientMessage(playerid, COLOR_WHITE, "Чтобы повесить трубку, введите: /H");
if(!IsPlayerInAnyVehicle(playerid)) SetPlayerSpecialAction(playerid, 11);
CellTime[playerid] = 0;
full++;
break;
}
else SendClientMessage(playerid, COLOR_WHITE, "Ошибка!");
}
}
if(full == 0) return SendClientMessage(playerid, CGREY, "Игрок с данным номером не найден!");
return true;
}
PHP:
[debug] Run time error 4: "Array index out of bounds"
[debug] Accessing element at index 715957 past array upper bound 999
[debug] AMX backtrace:
[debug] #0 0032730c in public pc_cmd_call (playerid=0, params[]=@009d3bdc "") at C:\Users\Андрей\Desktop\WARkeigV6.0\gamemodes\WARkeig.pwn:21498
[Pawn.CMD] HandleCommand: Call: amx_Exec(struct tagAMX *:02B82F98, int *:0019F7C0, int:177): Array index out of bounds (4)
