stepmex, Незаводись=)
Classic, Лови : by stepmex
[pwn]//в начало
new Camera[MAX_PLAYERS] = -1;
forward SetPlayerCameraRotate(playerid,Float:x,Float:y,Float:z,Float:angle,Float:a);
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid,x,y,z);
SetPlayerFacingAngle(playerid,0.0);// или любой необходимый угол
if(Camera[playerid] == -1)
{
SetPlayerCameraRotate(playerid,x,y,z,0.0,4.0); // два последних параметра: начальный угол камеры (не существенно), расстояние от камеры до игрока.
SetPlayerCameraLookAt(playerid,x,y,z);
}
}
public OnPlayerConnect(playerid)
{
Camera[playerid] = -1;
...ваш код...
}
public OnPlayerSpawn(playerid)
{
if(Camera[playerid] != -1)KillTimer(Camera[playerid]);
Camera[playerid] = -1;
SetCameraBehindPlayer(playerid);
...ваш код...
}
public OnPlayerDisconnect(playerid, reason)
{
if(Camera[playerid] != -1)KillTimer(Camera[playerid]);
...ваш код...
}
//куда угодно
public SetPlayerCameraRotate(playerid,Float:x,Float:y,Float:z,Float:angle,Float:a)
{
if(Camera[playerid] != -1)KillTimer(Camera[playerid]);
Camera[playerid] = -1;
SetPlayerCameraPos(playerid, x+a*floatcos(angle, degrees), y+a*floatsin(angle, degrees), z+0.2);
SetPlayerCameraLookAt(playerid,x,y,z);
Camera[playerid] = SetTimerEx("SetPlayerCameraRotate", 100, false, "d,f,f,f,f,f", playerid, x, y, z, angle+0.5,a);
}[/pwn]