rendered paste bodynew bool:CamMode[MAX_PLAYERS],
Float:modz[MAX_PLAYERS],
Float:modx[MAX_PLAYERS],
Float:mody[MAX_PLAYERS];
COMMAND:
dcmd_fp(playerid, params[])
{
#pragma unused params
if (!CamMode[playerid])
{
CamMode[playerid] = true;
}
else
{
CamMode[playerid] = false;
new Float:x,
Float:y,
Float:z,
Float:angle;
GetPlayerFacingAngle(playerid, angle);
GetPlayerPos(playerid, x, y, z);
SetSpawnInfo(playerid, 0, 0, x, y, z, angle, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
}
return 1;
}
FUNCTION:
public CamMod()
{
for (new i; i < MAX_PLAYERS; i ++)
{
if ((IsPlayerConnected(i)) && (CamMode[i]))
{
new Float:x,
Float:xx,
Float:y,
Float:yy,
Float:z,
Float:angle,
hyp = 9, /* (15)distance from cam pos to cam look at pos */
dis = 5; /* (7)distance from player to cam pos */
/*
if (IsPlayerInAnyVehicle(i))
{
GetVehiclePos(GetPlayerVehicleID(i), x, y, z);
angle = GetVehicleZAngle(GetPlayerVehicleID(i));
}
else
{
}
*/
GetPlayerPos(i, x, y, z);
GetPlayerFacingAngle(i, angle);
xx = x + hyp * floatsin(360 - angle, anglemode:degrees);
yy = y + hyp * floatcos(360 - angle, anglemode:degrees);
x = x + dis * floatsin(360 - angle, anglemode:degrees);
y = y + dis * floatcos(360 - angle, anglemode:degrees);
SetPlayerCameraPos(i, x + modx[i], y + mody[i], z + modz[i]);
SetPlayerCameraLookAt(i, xx, yy, z + modz[i]);
}
}
}