SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese > Lançamentos/Releases

Reply
 
Thread Tools Display Modes
Old 16/05/2020, 07:10 PM   #1
PaulinSAMP
Big Clucker
 
PaulinSAMP's Avatar
 
Join Date: Apr 2020
Location: San Andreas
Posts: 85
Reputation: 3
Post Mini-Tuto Como colocar ângulo no SetPlayerCamera e SetPlayerCameraLookAt

Bom pessoal, resolvi fazer isso pois procurei muito sobre esse assunto no forum e não conseguir, decidir então usar um pouco mais da minha mente e então conseguir pensar em uma forma de colocar o angulo correto no SetPlayerCamera e SetPlayerCameraLookAt pois sei que mtts pessoas tem dificuldades. bom vamos pro mini tuto.

Baixe o FS do Drebin: https://forum.sa-mp.com/showthread.php?t=330879

Após isso ative no server.cfg do seu servidor
Code:
filterscripts cameditor
Após ativar, entre em seu servidor, dê /cameditor e vá para o local que deseja iniciar o SetPlayerCamera e SetPlayerCameraLookAt, clique com o botão esquerdo do seu mouse para marcar o local do player, após isso aparecerá uma segunda caixinha, ai será o local que a camera irá olhar, dê outro clique para salvar o local, após clicar defina o tempo (que no caso não vamos usar no SetPlayerCamera/SetPlayerCameraLookAt), o tempo é em milisegundos.
pawn Code:
1000 milisegundos = 1 segundo
60000 = 60 segundos(1 minuto)
Já que não vamos usar o tempo, coloque em 1000 milisegundos mesmo.

Após colocar, irá aparecer a dialog do cameditor, clique em 'Save' e defina o nome.

Agora vá nos arquivos do seu servidor e clique em 'scriptfiles' e procure o arquivo do nome que você definiu, abra o arquivo e deixe aberto, agora abra sua gamemode vá no local que deseja colocar as funções.

Ao chegar defina um Timer no local que deseja fazer as funções:
pawn Code:
SetTimerEx("PointCameraToLocal", 600, false, "i", playerid);
Code:
SetTimerEx --> Define um timer para a função.
"PointCameraToLocal" --> Define a public que ela executará no timer.
600 --> O tempo em milisegundos (Você pode colocar a quantidade que deseja).
'false' --> não irá se repetir (Caso coloque 'true' irá se repetir a cada 600 milisegundos)
"i", playerid --> Define que o timer será para o player que executou a função
Após fazer o timer funcionar, vamos fazer a public que o timer executará

pawn Code:
forward PointCameraToLocal(playerid);
public PointCameraToLocal(playerid)
{
    SetPlayerCameraPos(playerid, x,y,z);
    SetPlayerCameraLookAt(playerid, x,y,z);
    return 1;
}

após definir a public, agore você pega a coordenada x,y,z do arquivo que você salvou no cameditor, no meu caso está assim:
pawn Code:
|----------savelocal----------|
InterpolateCameraPos(playerid, -9.888143, 145.360977, 1000.729248, -9.888143, 145.360977, 1000.729248, 1000);
InterpolateCameraLookAt(playerid, -13.217743, 148.864151, 999.448059, -13.217743, 148.864151, 999.448059, 1000);

você irá pegar as 3 primeira coordenadas do InterpolateCameraPos do arquivo:
pawn Code:
-9.888143, 145.360977, 1000.729248 //x,y,z

após copiar essas coordenadas você vai na sua gamemode e irá trocar a coordenada x,y,z da SetPlayerCamerPos:
pawn Code:
//ficará assim:
forward PointCameraToLocal(playerid);
public PointCameraToLocal(playerid)
{
    SetPlayerCameraPos(playerid, -9.888143, 145.360977, 1000.729248);
    SetPlayerCameraLookAt(playerid, x,y,z);
    return 1;
}

Após fazer isso entre no arquivo novamente e copie a coordenada x,y,z do InterpolateCameraLookAt que no meu caso é:
pawn Code:
-13.217743, 148.864151, 999.448059 //x,y,z
após copiar essas coordenadas você vai na sua gamemode e irá trocar a coordenada x,y,z da SetPlayerCamerPosLookAt:
pawn Code:
//ficará assim:
forward PointCameraToLocal(playerid);
public PointCameraToLocal(playerid)
{
    SetPlayerCameraPos(playerid, -9.888143, 145.360977, 1000.729248);
    SetPlayerCameraLookAt(playerid, -13.217743, 148.864151, 999.448059);
    return 1;
}

Após isso é só compilar e testar, esse foi o mini tuto, espero que ajude muita gente, assim como eu não achei quando precisei, muita gente não consegue achar, aceito criticas, foi meu primeiro tutorial, caso tenha algo errado com esse post, me avise!
PaulinSAMP is offline   Reply With Quote
Old 16/05/2020, 08:12 PM   #2
Hatiro
Huge Clucker
 
Hatiro's Avatar
 
Join Date: Mar 2019
Posts: 383
Reputation: 10
Default Re: Mini-Tuto Como colocar ângulo no SetPlayerCamera e SetPlayerCameraLookAt

eu avisei para colocar o angulo tem que usar
Code:
SetPlayerFacingAngle(playerid,angulo_desejado);
no SetPlayerCameraPos você só passa coodernada x,y,z não passa a coodernada a que seria a do angulo ae tem que usar SetPlayerFacingAngle mas se me permite
Code:
public OnPlayerDeath(playerid, killerid, reason)
{
	SpectarJogadorCamera(playerid,-9.888143, 145.360977, 1000.729248, -13.217743, 148.864151, 999.448059, angulo_que_você_quer);
	//ou Morto(playerid);
}
Morto(playerid)
{
	SpectarJogadorCamera(playerid,-9.888143, 145.360977, 1000.729248, 
		-13.217743, 148.864151, 999.448059, angulo_que_você_quer);
}
stock SpectarJogadorCamera(playerid, Float:px,Float:py,Float:pz, Float:cx,float:cy,float:cz,Float:Angulo)
{
    SetPlayerCameraPos(playerid, px, py, pz);
    SetPlayerCameraLookAt(playerid, cx, cy, cz);
    SetPlayerFacingAngle(playerid,Angulo);
    return 1;
}
mude angulo_que_você_quer para o melhor angulo com
Code:
GetPlayerFacingAngle(playerid, aPos);
você consegue pegar o angulo tópico que estou falando https://forum.sa-mp.com/showthread.php?t=675565
__________________
https://pastebin.com/raw/KpFdDhaa]Projects
se eu lhe ajudei clique numa imagem assim perto da minha postagem para adicionar reputação,Scripts https://pastebin.com/u/Hatiro
Hatiro is offline   Reply With Quote
Old 16/05/2020, 08:42 PM   #3
PaulinSAMP
Big Clucker
 
PaulinSAMP's Avatar
 
Join Date: Apr 2020
Location: San Andreas
Posts: 85
Reputation: 3
Default Re: Mini-Tuto Como colocar ângulo no SetPlayerCamera e SetPlayerCameraLookAt

Quote:
Originally Posted by Hatiro View Post
eu avisei para colocar o angulo tem que usar
Code:
SetPlayerFacingAngle(playerid,angulo_desejado);
no SetPlayerCameraPos você só passa coodernada x,y,z não passa a coodernada a que seria a do angulo ae tem que usar SetPlayerFacingAngle mas se me permite
Code:
public OnPlayerDeath(playerid, killerid, reason)
{
	SpectarJogadorCamera(playerid,-9.888143, 145.360977, 1000.729248, -13.217743, 148.864151, 999.448059, angulo_que_você_quer);
	//ou Morto(playerid);
}
Morto(playerid)
{
	SpectarJogadorCamera(playerid,-9.888143, 145.360977, 1000.729248, 
		-13.217743, 148.864151, 999.448059, angulo_que_você_quer);
}
stock SpectarJogadorCamera(playerid, Float:px,Float:py,Float:pz, Float:cx,float:cy,float:cz,Float:Angulo)
{
    SetPlayerCameraPos(playerid, px, py, pz);
    SetPlayerCameraLookAt(playerid, cx, cy, cz);
    SetPlayerFacingAngle(playerid,Angulo);
    return 1;
}
mude angulo_que_você_quer para o melhor angulo com
Code:
GetPlayerFacingAngle(playerid, aPos);
você consegue pegar o angulo tópico que estou falando https://forum.sa-mp.com/showthread.php?t=675565
não coloquei para ele pegar o angulo do jogador pq n precisa, com o cameditor ele salva assim mesmo.
@edit: coloquei o facing angle e não tinha funcionado, oq funcionou foi o cameditor
PaulinSAMP is offline   Reply With Quote
Old 16/05/2020, 08:45 PM   #4
Hatiro
Huge Clucker
 
Hatiro's Avatar
 
Join Date: Mar 2019
Posts: 383
Reputation: 10
Default Re: Mini-Tuto Como colocar ângulo no SetPlayerCamera e SetPlayerCameraLookAt

Quote:
Originally Posted by PaulinSAMP View Post
não coloquei para ele pegar o angulo do jogador pq n precisa, com o cameditor ele salva assim mesmo.
@edit: coloquei o facing angle e não tinha funcionado, oq funcionou foi o cameditor
as 4 coordenada x,y,z,a
__________________
https://pastebin.com/raw/KpFdDhaa]Projects
se eu lhe ajudei clique numa imagem assim perto da minha postagem para adicionar reputação,Scripts https://pastebin.com/u/Hatiro
Hatiro is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[AJUDA] Fazer mini-tuto Kratos_xD Português/Portuguese 4 24/05/2012 07:08 PM
[Tutorial] Mini Tuto Sobre SetPlayerCheckpoint [Ips]Guh Lançamentos/Releases 14 18/03/2012 09:36 PM
[Ajuda] Quem tem algum TUTO de colocar casa a venda wallacematheus Português/Portuguese 4 26/09/2010 01:14 PM


All times are GMT. The time now is 11:21 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.