[Ajuda] Como saber a o angulo da camera
#1

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....
Reply
#2

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 ^^
Reply
#3

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(playeridxyz); // Posiзгo que a cвmera ficarб
SetPlayerCameraLookAt(playeridx,z); // Local que a cвmera irб pegar 
SetPlayerCameraPos
SetPlayerCameraLookAt

Tenha uma boa noite.
Reply
#4

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.2060851326.03356935.807792, -342.7842711200.61022934.8956183000); 
    
InterpolateCameraLookAt(playerid, -417.9388421322.46716337.075065, -338.1195371199.39465333.5679853000); 
//SEGUNDO MOVIMENTO 
    
InterpolateCameraPos(playerid, -310.6090391204.57482926.923862, -345.7031251091.12231438.3769955000); 
    
InterpolateCameraLookAt(playerid, -305.7308341203.64196726.347024, -340.9546501091.03002936.8138085000); 
//TERCEIRO MOVIMENTO 
    
InterpolateCameraPos(playerid, -334.7938531098.07031236.396060, -190.549774968.46582034.1735115000); 
    
InterpolateCameraLookAt(playerid, -329.9665221097.03723135.602554, -187.396697972.34582534.1149171000); 
//QUARTO MOVIMENTO 
    
InterpolateCameraPos(playerid, -191.114456967.90570034.16852550.830837851.65014654.1401365000); 
    
InterpolateCameraLookAt(playerid, -186.835922970.49291934.19196346.958801854.56805452.9182621000); 

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.
Reply
#5

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к.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)