Помогите устранить проблему Crashdetect - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (
https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Помогите устранить проблему Crashdetect (
/showthread.php?tid=530416)
Помогите устранить проблему Crashdetect -
MontanoProject - 07.08.2014
Здравствуйте уважаемые пользователи SA-MP.COM
Код где ошибка:
PHP код:
if (newkeys == 1024)
{
new h = GetPlayerVirtualWorld(playerid)-100;
if (!IsPlayerInRangeOfPoint(playerid, 7.0, HouseInfo[h][hExitX], HouseInfo[h][hExitY], HouseInfo[h][hExitZ])) return 1;
if (GetPlayerInterior(playerid) == 0) return 1;
if (GetPlayerVirtualWorld(playerid)-100 < 1) return 1;
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid,0);
SetPlayerPos(playerid,HouseInfo[h][hEnterX],HouseInfo[h][hEnterY],HouseInfo[h][hEnterZ]);
}
Строки:
PHP код:
new h = GetPlayerVirtualWorld(playerid)-100;
и
PHP код:
if (GetPlayerVirtualWorld(playerid)-100 < 1) return 1;
Crashdetect:
PHP код:
[06:35:26] [debug] AMX backtrace:
[06:35:26] [debug] #0 000cd458 in public OnPlayerKeyStateChange (0x00000001, 0x00000400, 0x00000404) from new.amx
[06:35:26] [debug] Run time error 4: "Array index out of bounds"
[06:35:26] [debug] Accessing element at negative index -100
Re: Помогите устранить проблему Crashdetect -
xJester - 07.08.2014
if (GetPlayerVirtualWorld(playerid)-100 < 1) return 1;
нужно поставить перед:
if (!IsPlayerInRangeOfPoint(playerid, 7.0, HouseInfo[h][hExitX], HouseInfo[h][hExitY], HouseInfo[h][hExitZ])) return 1;
по всем законам логики
Re: Помогите устранить проблему Crashdetect -
MontanoProject - 07.08.2014
Quote:
Originally Posted by xJester
if (GetPlayerVirtualWorld(playerid)-100 < 1) return 1;
нужно поставить перед:
if (!IsPlayerInRangeOfPoint(playerid, 7.0, HouseInfo[h][hExitX], HouseInfo[h][hExitY], HouseInfo[h][hExitZ])) return 1;
по всем законам логики
|
Благодарю. Тему можно удалить.
Re: Помогите устранить проблему Crashdetect -
OKStyle - 07.08.2014
new h = GetPlayerVirtualWorld(playerid)-100;
отрицательный индекс может получится ведь... А его потом подставляете:
SetPlayerPos(playerid,HouseInfo[h][hEnterX],HouseInfo[h][hEnterY],HouseInfo[h][hEnterZ]);