Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

public (crashdetect)

Статус
В этой теме нельзя размещать новые ответы.

Ray_Grand

Умник
Перевел сервер на новую версию - 0.3.7 RC-1, после через пару минут он переставал работать, решил поставил crashdetect и посмотреть в чем проблема, вот что в логе появилось:

PHP:
[20:30:11] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
[20:30:11] [debug]  Stack pointer (STK) is 0x1F73B0, heap pointer (HEA) is 0x201858
[20:30:11] [debug] AMX backtrace:
OnGameModeInit:
PHP:
SetTimer("UpdateTimers", 350, 1);
UpdateTimers:
PHP:
forward UpdateTimers();
public UpdateTimers()
{
    for(new string[128], A, B = GetMaxPlayers(); A != B; A++)
    {
        if(PlayerLogged[A] != true) return 1;
        if(GetPVarInt(A, "KickEx") <= gettime() && GetPVarInt(A, "KickEx") != 0)
        {
            Kick(A);
            SetPVarInt(A, "KickEx", 0);
        }
        else if(GetPVarInt(A, "UpdateLocation") <= gettime() && GetPVarInt(A, "UpdateLocation") != 0)
        {
            new location[MAX_PLAYERS][MAX_ZONE_NAME], Float: PlayerPos[MAX_PLAYERS][3];
    		GetPlayerPos(A, PlayerPos[A][0], PlayerPos[A][1], PlayerPos[A][2]);
    		Get2DZone(location[A], MAX_ZONE_NAME, PlayerPos[A][0], PlayerPos[A][1], PlayerPos[A][2]);
			PlayerTextDrawSetString(A, Textdraw[0][A], location[A]);
			SetPVarInt(A, "UpdateLocation", gettime()+3);
        }
        else if(GetPVarInt(A, "UpdatePlayerGolod") <= gettime() && GetPVarInt(A, "UpdatePlayerGolod") != 0)
        {
            if(PlayerInfo[A][pGolod] <= 0) return 1;
            if(PlayerInfo[A][pGolod] > 100) PlayerInfo[A][pGolod] = 100;
			PlayerInfo[A][pGolod] -= 1;
			SetProgressBarValue(Bar[0], PlayerInfo[A][pGolod]); UpdateProgressBar(Bar[0], A);
        	format(string, sizeof(string), "UPDATE `"TABLE_PLAYERS"` SET `pGolod` = '%d' WHERE `pName` = '%s'", PlayerInfo[A][pGolod], PlayerInfo[A][pName]);
			mysql_function_query(dbHandle, string, false, "","");
			SetPVarInt(A, "UpdatePlayerGolod", gettime()+300);
        }
        else if(GetPVarInt(A, "UpdatePlayerVehicle") <= gettime() && GetPVarInt(A, "UpdatePlayerVehicle") != 0)
        {
            new Float:p[3], str[144], info[7][14];
			GetVehicleVelocity(GetPlayerVehicleID(A), p[0], p[1], p[2]);
            if(UpdateSpeed[A])
			{
				format(str,sizeof(str),"%.0f KM/H",150.0*(p[0]*p[0]+p[1]*p[1]));
				SetDynamicObjectMaterialText(SpeedometerObject[A][0],0,str,OBJECT_MATERIAL_SIZE_512x256,"Arial",25,true,0xFFFFFFFF,0,OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
				format(str,sizeof(str),"Бензин: %d л", CarInfo[GetPlayerVehicleID(A)][cFuel]);
				SetDynamicObjectMaterialText(SpeedometerObject[A][2],0,str,OBJECT_MATERIAL_SIZE_512x256,"Arial",18,true,0xFFFFFFFF,0,OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
				// 0 - двигатель; 1 - фары; 2 - сигнализация; 3 - двери; 4 - капот; 5 - багажник; 6 - цель.
				if(PlayerBelt[A] == false) format(info[0], 64, "{960018}Р"); else if(PlayerBelt[A] == true) format(info[0], 64, "{34c924}Р");
				if(CarInfo[GetPlayerVehicleID(A)][cStatus][0] == 0) format(info[1], 14, "{960018}E"); else if(CarInfo[GetPlayerVehicleID(A)][cStatus][0] != 0) format(info[1], 14, "{34c924}E");
				if(CarInfo[GetPlayerVehicleID(A)][cStatus][1] == 0) format(info[2], 14, "{960018}L"); else if(CarInfo[GetPlayerVehicleID(A)][cStatus][1] != 0) format(info[2], 14, "{34c924}L");
				if(CarInfo[GetPlayerVehicleID(A)][cStatus][2] == 0) format(info[3], 14, "{960018}A"); else if(CarInfo[GetPlayerVehicleID(A)][cStatus][2] != 0) format(info[3], 14, "{34c924}A");
				if(CarInfo[GetPlayerVehicleID(A)][cStatus][3] == 0) format(info[4], 14, "{34c924}D"); else if(CarInfo[GetPlayerVehicleID(A)][cStatus][3] != 0) format(info[4], 14, "{960018}D");
				if(CarInfo[GetPlayerVehicleID(A)][cStatus][4] == 0) format(info[5], 14, "{960018}B"); else if(CarInfo[GetPlayerVehicleID(A)][cStatus][4] != 0) format(info[5], 14, "{34c924}B");
				if(CarInfo[GetPlayerVehicleID(A)][cStatus][5] == 0) format(info[6], 14, "{960018}B"); else if(CarInfo[GetPlayerVehicleID(A)][cStatus][5] != 0) format(info[6], 14, "{34c924}B");
				format(str, sizeof(str), "%s %s %s %s %s %s %s", info[0], info[1], info[2], info[3], info[4], info[5], info[6]);
				SetDynamicObjectMaterialText(SpeedometerObject[A][3],0,str,OBJECT_MATERIAL_SIZE_512x256,"Arial",18,true,0xFFFFFFFF,0,OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
				format(str,sizeof(str),"Пробег: 500 км");
				SetDynamicObjectMaterialText(SpeedometerObject[A][4],0,str,OBJECT_MATERIAL_SIZE_512x256,"Arial",18,true,0xFFFFFFFF,0,OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
			}
        }
        else if(GetPVarInt(A, "HideHelpTextDraw") <= gettime() && GetPVarInt(A, "HideHelpTextDraw") != 0)
		{
		    PlayerTextDrawHide(A, Textdraw[2][A]);
		    SetPVarInt(A, "HideHelpTextDraw", 0);
		}
    }
	return 1;
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу