NightWay
Умник
Итак, у меня такая проблема, что я слежу за игроком, выхожу из слежки командой /spoff и меня ТПшает на спавн. Хотя в моде прописано возвращение на координаты, которые сохраняются при вводе /sp [id игрока].
Команды /sp, /spoff
Сток SpectOff
Команды /sp, /spoff
PHP:
CMD:sp(playerid, params[])
{
if(PlayerInfo[playerid][pLogged] == true)
{
if(PlayerInfo[playerid][pAdmin] < 1) return 1;
if(sscanf(params, "u", params[0])) return SendClientMessage(playerid, COLOR_GREY, "Используйте: /sp [id игрока]");
if(params[0] == playerid) return SendClientMessage(playerid, COLOR_GREY, "Нельзя наблюдать за собой!");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, COLOR_GREY, "Такого игрока нет");
if(PlayerInfo[params[0]][pLogged] == false) return SendClientMessage(playerid, COLOR_GREY, "Игрок не залогинен");
GetPlayerPos(playerid, SpectPosFloat[playerid][0], SpectPosFloat[playerid][1], SpectPosFloat[playerid][2]);
GetPlayerFacingAngle(playerid, SpectPosFloat[playerid][3]);
SpectPos[playerid][0] = GetPlayerInterior(playerid);
SpectPos[playerid][1] = GetPlayerVirtualWorld(playerid);
Spectate[playerid] = params[0];
TogglePlayerSpectating(playerid, 1);
if(IsPlayerInAnyVehicle(Spectate[playerid]))
{
SetPlayerInterior(playerid,GetPlayerInterior(Spectate[playerid]));
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(Spectate[playerid]));
PlayerSpectateVehicle(playerid, GetPlayerVehicleID(Spectate[playerid]), 1);
}
else
{
SetPlayerInterior(playerid,GetPlayerInterior(Spectate[playerid]));
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(Spectate[playerid]));
PlayerSpectatePlayer(playerid, Spectate[playerid], 1);
}
StartRecon(playerid, params[0]);
}
return 1;
}
CMD:spoff(playerid, params[])
{
if(PlayerInfo[playerid][pLogged] == true)
{
if(PlayerInfo[playerid][pAdmin] < 1) return 1;
TogglePlayerSpectating(playerid, 0);
SetCameraBehindPlayer(playerid);
PlayerSpec[PlayerSpectateID[playerid]] = INVALID_PLAYER_ID;
PlayerSpectateID[playerid] = INVALID_PLAYER_ID;
SpectOff(playerid);
}
return 1;
}
PHP:
SpectOff(playerid)
{
SetPlayerPos(playerid,SpectPosFloat[playerid][0],SpectPosFloat[playerid][1],SpectPosFloat[playerid][2]);
SetPlayerFacingAngle(playerid, SpectPosFloat[playerid][3]);
SetPlayerInterior(playerid,SpectPos[playerid][0]);
SetPlayerVirtualWorld(playerid,SpectPos[playerid][1]);
return 1;
}
