22.09.2012, 14:26
Try this:
pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
new Float:x, Float:y, Float:z;
GetPlayerCameraPos(playerid, x, y, z);
new Float:X, Float:Y, Float:Z;
GetPlayerCameraFrontVector(playerid, X, Y, Z);
TogglePlayerSpectating(playerid, 1);
switch(classid)
{
case 0:
{
gTeam[playerid] = TEAM_1;
InterpolateCameraPos(playerid, x, y, z, 35.9920,1884.5764,42.3456, 5000, CAMERA_MOVE);
InterpolateCameraLookAt(playerid, X, Y, Z, 35.9920,1884.5764,42.3456, 5000, CAMERA_MOVE);
}
case 1:
{
gTeam[playerid] = TEAM_2;
InterpolateCameraPos(playerid, x, y, z, 439.6949,2440.1316,52.3627, 5000, CAMERA_MOVE);
InterpolateCameraLookAt(playerid, X, Y, Z, 344.9974,2529.0916, 24.7922, 5000, CAMERA_MOVE);
}
case 2:
{
gTeam[playerid] = TEAM_3;
InterpolateCameraPos(playerid, x, y, z, -516.0133,2197.3232,107.2081, 5000, CAMERA_MOVE);
InterpolateCameraLookAt(playerid, X, Y, Z, -386.4378,2223.5171,69.1000, 5000, CAMERA_MOVE);
}
case 3:
{
gTeam[playerid] = TEAM_4;
InterpolateCameraPos(playerid, x, y, z, -1506.0865,2402.5066,96.2128, 5000, CAMERA_MOVE);
InterpolateCameraLookAt(playerid, X, Y, Z, -1505.4207,2576.4299,77.2175, 5000, CAMERA_MOVE);
}
case 4:
{
gTeam[playerid] = TEAM_5;
InterpolateCameraPos(playerid, x, y, z, -889.5547,1669.2301,46.0407, 5000, CAMERA_MOVE);
InterpolateCameraLookAt(playerid, X, Y, Z, -815.8898,1628.3547,39.4258, 5000, CAMERA_MOVE);
}
}
return 1;
}
public OnPlayerSpawn(playerid)
{
TogglePlayerSpectating(playerid, 0);
SetCameraBehindPlayer(playerid);
return 1;
}

