PDA

Просмотр полной версии : [Вопрос] Баг с OnPlayerEditObject/OnPlayerEditDynamicObject



execution
17.03.2020, 13:44
Не могу понять, что не так. Суть в том, что через раз пропадает меню передвижения объекта (будь то статический или же динамический) - именно при онлайне. Когда пробую на пустом сервере - всё отлично. С чем это может быть связано?

Например, передвижение статического объекта:


public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
{
if (pRadarTempObject[playerid] != INVALID_OBJECT_ID
&& pRadarTempObject[playerid] == objectid)
{
if (response == EDIT_RESPONSE_FINAL)
{
SetCameraBehindPlayer(playerid);
TogglePlayerControllable(playerid, 1);
DestroyObject(objectid);
pRadarTempObject[playerid] = INVALID_OBJECT_ID;

new
radarid = Iter_Free(iRadar);
if (radarid == -1)
{
return SendClientMessage(playerid, -1, "Лимит");
}

RadarInfo[radarid][r_radius] = float(pRadarTempRadius[playerid]);
RadarInfo[radarid][r_speed] = pRadarTempSpeed[playerid];

RadarInfo[radarid][r_positionX] = fX;
RadarInfo[radarid][r_positionY] = fY;
RadarInfo[radarid][r_positionZ] = fZ;

RadarInfo[radarid][r_rotationX] = fRotX;
RadarInfo[radarid][r_rotationY] = fRotY;
RadarInfo[radarid][r_rotationZ] = fRotZ;

Radar_Create(radarid, playerid);

}
else if (response == EDIT_RESPONSE_CANCEL)
{
SetCameraBehindPlayer(playerid);
TogglePlayerControllable(playerid, 1);
DestroyObject(objectid);
pRadarTempObject[playerid] = INVALID_OBJECT_ID;

Radar_ShowMenu(playerid);
}
}

return true;
}

Pa4enka
17.03.2020, 15:26
Может стандартных объектов создано столько, что новый объект выходит за лимиты? По крайней мере, этим можно объяснить тот факт, что на пустом сервере все работает, а с игроками - беда. Да, ты говоришь, что и на динамики тоже самое. Но возможно в тот момент в зоне стрима много объектов, а новый не помещается из-за все тех же статических.