Como saber a o angulo da camera -
DaYviSoN - 22.07.2014
Ola eu estou a criar um tutorial e eu queria editar a camera no tutorial tem algum filterscript que me grave a posiзao da camera e o angulo da camera pois eu tentei so com as cordenadas mas a camera fica olhar para outro lado e nao sei como virar a camera....
Re: Como saber a o angulo da camera -
darkxdll - 22.07.2014
Faz um comando que pegue as informaзoes da camera e salve em um arquivo txt .
PHP код:
CMD:camera(playerid)
{
new Float:Pos[3];
GetPlayerCameraPos(playerid,Pos[0],Pos[1],Pos[2]);
if(!DOF2_FileExists("camerapos.txt")) {
DOF2_CreateFile("camerapos.txt");
}else{
format(str,sizeof(str),"Posiзoes : X:%f Y:%f Z:%f",Pos[0],Pos[1],Pos[2]);
DOF2_SetString("camerapos.txt","posiзao",str);
DOF2_SaveFile();
}
return 1;
}
Exemplo basico , nao sei se vai dar certo , precisa ter uma noзao basica de DOF2 .
https://sampwiki.blast.hk/wiki/GetPlayerCameraPos
https://sampwiki.blast.hk/wiki/GetPlayerCameraZoom
https://sampwiki.blast.hk/wiki/GetPlayerCameraAspectRatio
https://sampwiki.blast.hk/wiki/GetPlayerCameraMode
https://sampwiki.blast.hk/wiki/GetPlayerCameraFrontVector
https://sampwiki.blast.hk/wiki/SetPlayerCameraPos
https://sampwiki.blast.hk/wiki/SetPlayerCameraLookAt
Estude as funзoes de camera tambem ^^
Re: Como saber a o angulo da camera -
Ley - 22.07.2014
Olб DaYviSoN, eu faзo meus vнdeos de SA:MP utilizando cвmeras posicionadas de uma maneira super simples e eficiente. Utilizando somente /save e pondo as coordenadas nas determinadas funзхes.
Por exemplo:
PHP код:
SetPlayerCameraPos(playerid, x, y, z); // Posiзгo que a cвmera ficarб
SetPlayerCameraLookAt(playerid, x, y ,z); // Local que a cвmera irб pegar
SetPlayerCameraPos
SetPlayerCameraLookAt
Tenha uma boa noite.
Re: Como saber a o angulo da camera -
DaYviSoN - 23.07.2014
Ley desde jб obrigado por tentar ajudar.
Atй ai eu entendi mas eu queria criar varios movimentos por exemplo criava:
PHP код:
//PRIMEIRO MOVIMENTO
InterpolateCameraPos(playerid, -421.206085, 1326.033569, 35.807792, -342.784271, 1200.610229, 34.895618, 3000);
InterpolateCameraLookAt(playerid, -417.938842, 1322.467163, 37.075065, -338.119537, 1199.394653, 33.567985, 3000);
//SEGUNDO MOVIMENTO
InterpolateCameraPos(playerid, -310.609039, 1204.574829, 26.923862, -345.703125, 1091.122314, 38.376995, 5000);
InterpolateCameraLookAt(playerid, -305.730834, 1203.641967, 26.347024, -340.954650, 1091.030029, 36.813808, 5000);
//TERCEIRO MOVIMENTO
InterpolateCameraPos(playerid, -334.793853, 1098.070312, 36.396060, -190.549774, 968.465820, 34.173511, 5000);
InterpolateCameraLookAt(playerid, -329.966522, 1097.037231, 35.602554, -187.396697, 972.345825, 34.114917, 1000);
//QUARTO MOVIMENTO
InterpolateCameraPos(playerid, -191.114456, 967.905700, 34.168525, 50.830837, 851.650146, 54.140136, 5000);
InterpolateCameraLookAt(playerid, -186.835922, 970.492919, 34.191963, 46.958801, 854.568054, 52.918262, 1000);
Assemelhar varios movimentos por ai adiante.. era exactamente isso que eu queria fazer porque um movimento so eu ja sei fazer testei e ela movia mas queria adicionar varios movimentos seguindos assim que acabar o movimento 1 comeзava logo o 2 e depois o 3 etc tipo um video.
Re: Como saber a o angulo da camera -
ViniBorn - 23.07.2014
pawn Код:
new Float:CameraMove[11][6] = {
// Camera PH
{1506.160034, -1628.318725, 39.840385, 1509.744506, -1627.368530, 38.340702},
{1488.403442, -1672.783935, 61.146617, 1492.046997, -1673.097412, 59.526088},
{1493.639770, -1741.486938, 31.594024, 1496.458129, -1744.097412, 30.479595},
{1493.639770, -1741.486938, 31.594024, 1492.158691, -1745.085937, 30.669948},
{1445.927490, -1764.869140, 14.574090, 1441.975585, -1764.497314, 14.080353},
{1390.880126, -1701.972778, 74.765525, 1393.198486, -1704.833496, 73.202987},
{1598.190795, -1741.359008, 59.402359, 1600.536132, -1738.202392, 58.670871},
{1679.965332, -1706.161010, 39.595474, 1682.712646, -1708.969116, 38.842494},
{1869.019165, -1490.238891, 62.145729, 1870.714477, -1487.155517, 60.243400},
{1696.037597, -1550.454101, 245.771972, 1694.024658, -1547.028808, 245.307647},
{1506.160034, -1628.318725, 39.840385, 1509.744506, -1627.368530, 38.340702}// Sempre tem que ser igual o primeiro
};
forward MoveLogin(playerid, Index);
public MoveLogin(playerid, Index) // By: ViniBorn
{
if(Player[playerid][FirstSpawn])
{
TogglePlayerSpectating(playerid, 1);
InterpolateCameraPos(playerid, CameraMove[Index][0], CameraMove[Index][1], CameraMove[Index][2],
CameraMove[Index+1][0], CameraMove[Index+1][1], CameraMove[Index+1][2], 6000, CAMERA_MOVE);
InterpolateCameraLookAt(playerid, CameraMove[Index][3], CameraMove[Index][4], CameraMove[Index][5],
CameraMove[Index+1][3], CameraMove[Index+1][4], CameraMove[Index+1][5], 6000, CAMERA_MOVE);
if(Index < 6)
SetTimerEx("MoveLogin",5500,false,"ii",playerid,Index+1);
}
else TogglePlayerSpectating(playerid, 0);
}
MoveLogin(playerid, 0);//Para iniciar o movimento das cвmeras
Usava esse cуdigo no meu antigo servidor, adapte para vocк.