It's easy:
1є. Save Player's position.
2є. Use
TogglePlayerSpectating and set player camera positions where you want.
3є. Turn spectating mode off, it'll call OnPlayerSpawn, but set player position where he was when he used the command or what you did.
Example:
pawn Код:
new Float:PosX[MAX_PLAYERS], Float:PosY[MAX_PLAYERS], Float:PosZ[MAX_PLAYERS], Spectating[MAX_PLAYERS];
//---Your command/script.
GetPlayerPos(playerid, PosX[playerid], PosY[playerid], PosZ[playerid]);
TogglePlayerSpectating(playerid, 1);
Spectating[playerid] = 1;
//SetPlayerCameraPos
//SetPlayerCameraLookAt
//etc., etc.
//---Your command to stop spectating.
TogglePlayerSpectating(playerid, 0);
//---OnPlayerSpawn
if(Spectating[playerid] >= 1)
{
Spectating[playerid] = 0;
SetPlayerPos(playerid,PosX[playerid],PosY[playerid],PosZ[playerid]);
}
I hope you understand...
Best regards!
