Без таймера спавнит игрока на обычный спавн
new Float:x, Float:y, Float:z, Float:a; GetPlayerPos(playerid, x, y, z); GetPlayerFacingAngle(playerid, a); SetPVarFloat(playerid, "savedX", x); SetPVarFloat(playerid, "savedY", y); SetPVarFloat(playerid, "savedZ", z); SetPVarFloat(playerid, "savedA", a); SetPVarInt(playerid, "savedInterior", GetPlayerInterior(playerid)); SetPVarInt(playerid, "savedVW", GetPlayerVirtualWorld(playerid)); switch(listitem) { case 0: { TogglePlayerSpectating(playerid, 1); InterpolateCameraPos(playerid, 1785.1234, -48.9043, 1005.0756, 1785.1234, -48.9043, 1005.0756, 1000); InterpolateCameraLookAt(playerid, 1785.3756, -51.2443, 1005.2756, 1785.37456, -51.2443, 1005.2756, 1000); SetPlayerInterior(playerid, 14); SetPlayerVirtualWorld(playerid, 0); }

TogglePlayerSpectating(playerid, 0); SetTimerEx("ReturnPosition", 200, false, "d", playerid); return true;

Возвращение
forward ReturnPosition(playerid); public ReturnPosition(playerid) { new Float:x = GetPVarFloat(playerid, "savedX"); new Float:y = GetPVarFloat(playerid, "savedY"); new Float:z = GetPVarFloat(playerid, "savedZ"); new Float:a = GetPVarFloat(playerid, "savedA"); new interior = GetPVarInt(playerid, "savedInterior"); new vw = GetPVarInt(playerid, "savedVW"); SetPlayerInterior(playerid, interior); SetPlayerVirtualWorld(playerid, vw); SetPlayerPos(playerid, x, y, z); SetPlayerFacingAngle(playerid, a); DeletePVar(playerid, "savedX"); DeletePVar(playerid, "savedY"); DeletePVar(playerid, "savedZ"); DeletePVar(playerid, "savedA"); DeletePVar(playerid, "savedInterior"); DeletePVar(playerid, "savedVW"); }

Сообщение отредактировал elishanky: 15 апреля 2025 - 19:26