SA-MP Forums Archive
Помогите устранить проблему 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 
GetPlayerVirtualWorld(playerid)-100;
        if (!
IsPlayerInRangeOfPoint(playerid7.0HouseInfo[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 GetPlayerVirtualWorld(playerid)-100
и
PHP код:
if (GetPlayerVirtualWorld(playerid)-100 1) return 1
Crashdetect:
PHP код:
[06:35:26] [debugAMX backtrace:
[
06:35:26] [debug#0 000cd458 in public OnPlayerKeyStateChange (0x00000001, 0x00000400, 0x00000404) from new.amx
[06:35:26] [debugRun 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]);