Tien j'ai codé un petit FS qui doit normalement le faire ( enfin je crois j'ai pas testé )
#include <a_samp>
new IsFreezed[MAX_PLAYERS];
new Float:FreezedAt[MAX_PLAYERS][4];
public OnPlayerConnect(playerid)
{
IsFreezed[playerid] = 0;
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
IsFreezed[playerid] = 0;
return 1;
}
public OnPlayerUpdate(playerid)
{
if(IsFreezed[playerid] == 1)
{
SetPlayerPos(playerid,FreezedAt[playerid][0],FreezedAt[playerid][1],FreezedAt[playerid][2]);
SetPlayerFacingAngle(playerid,FreezedAt[playerid][3]);
SetPlayerVelocity(playerid,0,0,0.02);
}
}
forward FreezePlayerAt(playerid,Float:x,Float:y,Float:z,Float:angle);
public FreezePlayerAt(playerid,Float:x,Float:y,Float:z,Float:angle)
{
FreezedAt[playerid][0] = x,FreezedAt[playerid][1] = y,FreezedAt[playerid][2] = z,FreezedAt[playerid][3] = angle;
IsFreezed[playerid] = 1;
}
forward Unfreeze(playerid);
public Unfreeze(playerid)
{
IsFreezed[playerid] = 0;
}
Tu a juste a faire
FreezePlayerAt(playerid,avec ici les coordones x,y,z et l'angle);
et pour defreeze le joueur tu fait
Unfreeze(playerid);
l'avantage ici est que le joueur peut bougé sa caméra =)