Крашит сервер из-за новой версии Streamer
Поставил версию v2.9 Streamer для своего скрипта FEZ и стало крашить сервер при создании камеры (код ниже). Крашдетект вообще никак не реагирует. При этом если версию Streamer откатить на одну назад - все нормально, но хочу юзать эту именно из-за актеров. Баг походу именно в плагине...
В OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
PHP код:
SetDynamicObjectPos(objectid, x, y, z);
SetDynamicObjectRot(objectid, rx, ry, rz);
if(response == EDIT_RESPONSE_FINAL)
{
if(objectid == ObjectAddCamers[playerid])
{
DestroyDynamicObject(objectid);
if(TypeAddCamers{playerid} == 1)
{
switch(ActAddCamers{playerid})
{
case 0:
{
PosAddCamers[0][ArryIDAddCamers{playerid}][playerid] = x;
PosAddCamers[1][ArryIDAddCamers{playerid}][playerid] = y;
PosAddCamers[2][ArryIDAddCamers{playerid}][playerid] = z;
ObjectAddCamers[playerid] = CreateDynamicObject(19483, x, y + 1.0, z, 0.0, 0.0, 0.0, -1, -1, playerid);
SetDynamicObjectMaterialText(ObjectAddCamers[playerid], 0, "№", 140, "webdings", 150, 0, -1, 0, 1);
EditDynamicObject(playerid, ObjectAddCamers[playerid]);
SPN(playerid, "Выберите куда будет смотреть камера.");
}
case 1:
{
PosAddCamers[3][ArryIDAddCamers{playerid}][playerid] = x;
PosAddCamers[4][ArryIDAddCamers{playerid}][playerid] = y;
PosAddCamers[5][ArryIDAddCamers{playerid}][playerid] = z;
format(gstring, sizeof(gstring), "Камера создана. ID %d.", ArryIDAddCamers{playerid});
SPN(playerid, gstring);
ObjectAddCamers[playerid] = 0;
AllCamersForPlayer{playerid}++;
ArryIDAddCamers{playerid} = 0;
TypeAddCamers{playerid} = 0;
return 1;
}
}
ActAddCamers{playerid}++;
}
else if(TypeAddCamers{playerid} == 2)
{
switch(ActAddCamers{playerid})
{
case 0:
{
PosAddCamers[0][ArryIDAddCamers{playerid}][playerid] = x;
PosAddCamers[1][ArryIDAddCamers{playerid}][playerid] = y;
PosAddCamers[2][ArryIDAddCamers{playerid}][playerid] = z;
ObjectAddCamers[playerid] = CreateDynamicObject(19483, x, y + 1.0, z, 0.0, 0.0, 0.0, -1, -1, playerid);
SetDynamicObjectMaterialText(ObjectAddCamers[playerid], 0, "№", 140, "webdings", 150, 0, -1, 0, 1);
EditDynamicObject(playerid, ObjectAddCamers[playerid]);
SPN(playerid, "Выберите куда будет смотреть камера (отсюда начнется двигаться камера).");
}
case 1:
{
PosAddCamers[3][ArryIDAddCamers{playerid}][playerid] = x;
PosAddCamers[4][ArryIDAddCamers{playerid}][playerid] = y;
PosAddCamers[5][ArryIDAddCamers{playerid}][playerid] = z;
ObjectAddCamers[playerid] = CreateDynamicObject(19483, x, y + 1.0, z, 0.0, 0.0, 0.0, -1, -1, playerid);
SetDynamicObjectMaterialText(ObjectAddCamers[playerid], 0, "№", 140, "webdings", 150, 0, -1, 0, 1);
EditDynamicObject(playerid, ObjectAddCamers[playerid]);
SPN(playerid, "Выберите откуда будет смотреть камера (сюда начнется двигаться камера).");
}
case 2:
{
PosAddCamers[6][ArryIDAddCamers{playerid}][playerid] = x;
PosAddCamers[7][ArryIDAddCamers{playerid}][playerid] = y;
PosAddCamers[8][ArryIDAddCamers{playerid}][playerid] = z;
ObjectAddCamers[playerid] = CreateDynamicObject(19483, x, y + 1.0, z, 0.0, 0.0, 0.0, -1, -1, playerid);
SetDynamicObjectMaterialText(ObjectAddCamers[playerid], 0, "№", 140, "webdings", 150, 0, -1, 0, 1);
EditDynamicObject(playerid, ObjectAddCamers[playerid]);
// ВРОДЕ БЫ КАК КРАШИТ ИМЕННО НА ЭТОТ МОМЕНТЕ
SPN(playerid, "Выберите куда будет смотреть камера (сюда начнется двигаться камера).");
}
case 3:
{
PosAddCamers[9][ArryIDAddCamers{playerid}][playerid] = x;
PosAddCamers[10][ArryIDAddCamers{playerid}][playerid] = y;
PosAddCamers[11][ArryIDAddCamers{playerid}][playerid] = z;
format(gstring, sizeof(gstring), "Камера создана. ID %d.", ArryIDAddCamers{playerid});
SPN(playerid, gstring);
ObjectAddCamers[playerid] = 0;
AllCamersForPlayer{playerid}++;
ArryIDAddCamers{playerid} = 0;
TypeAddCamers{playerid} = 0;
return 1;
}
}
ActAddCamers{playerid}++;
}
}
Комментарием пометил примерно где крашит, точно узнать не удалось. Сообщить именно автору плагина влом))0 Регаться там надо.... Может кто сообщит?
ps ДА да да да да да быдлокод комраш гадасть мои глазаааа
- - - Добавлено - - -
Эмммм, что-то вообще странно как-то... При краше сервера еще создается файл FCNPC:
PHP код:
=========================== FCNPC Exception Handler ============================
Address: 0x609f42c6
Registers:
EAX: 0x6aa150 - EBX: 0x680d60 - ECX: 0x0 - EDX: 0x0
ESI: 0x680990 - EDI: 0x0 - EBP: 0x19fcc4 - ESP: 0x19fca0
Stack:
0x0: 0x19fdd0 - 0x4: 0x695420 - 0x8: 0x48 - 0xC: 0x680e30 - 0x10: 0x0 - 0x14: 0x19fdd0
0x18: 0x19fd24 - 0x1C: 0x60a23f32 - 0x20: 0x1
Information:
System: Windows
SA-MP: 0.3.7 R2-1
FCNPC: 1.7.0
Functions:
FUNC_CPlayerPool__DeletePlayer: 0x466570
FUNC_CPlayer__Kill: 0x484620
FUNC_CPlayer__EnterVehicle: 0x484c70
FUNC_CPlayer__ExitVehicle: 0x484f50
FUNC_CPlayer__SpawnForWorld: 0x486d30
FUNC_GetVehicleModelInfo: 0x488240
FUNC_CConsole__GetIntVariable: 0x48b5b0
FUNC_ClientJoin_RPC: 0x4918f0
Pointers:
VAR_ServerAuthentication: 0x4f5fe8
VAR_NetVersion: 0xfd9
Offsets:
OFFSET_RemoteSystemManager: 0x33c
OFFSET_RemoteSystemSize: 0xcb8
OFFSET_RemoteSystem__ConnectMode: 0xcb0
OFFSET_RemoteSystem__Unknown: 0xcb5
=========================== FCNPC Exception Handler ============================
- - - Добавлено - - -
Эмммммммммммммммммммммммммммммммммммммм..... Вообще как-то странно, выяснилось что крашит именно в радиусе 10 - 15 этих координат:
PHP код:
-1895.6558,965.8510,35.0222
Что это за бермудский треугольник?
- - - Добавлено - - -
Если что, примерно на этих координатах я начинал запись NPC бота, и потом его проигрывал... Конечно это может быть совпадением, но все же...
- - - Добавлено - - -
Интересно узнать, каким образом FCNPC и создание динамического объекта связаны?