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;
}
Например, передвижение статического объекта:
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;
}