SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 21/01/2020, 03:00 AM   #1
Nyft
Big Clucker
 
Nyft's Avatar
 
Join Date: Dec 2019
Location: Patrocínio MG
Posts: 73
Reputation: 6
Default Interpolate no Player

Como eu posso fazer um Interpolate Câmera rodar o jogador em 360° e também a câmera um pouco mais alto mirando para o jogador?

PHP Code:
new Float:Pos[3];
GetPlayerPos(playeridPos[0], Pos[1], Pos[2]);

/* 

Usar esse Pos[] para rodar no player, porém no interpolate eu não sei colocar para rodar...

*/

InterpolateCameraPos(playerid0.00.00.00.00.00.010000CAMERA_MOVE);
InterpolateCameraLookAt(playerid0.00.00.00.00.00.010000CAMERA_MOVE); 
Não sei mexer em câmera interpolate, ainda mais fazer isso :/
__________________
Nyft#4330
Nyft is offline   Reply With Quote
Old 21/01/2020, 04:13 AM   #2
wearLy
Big Clucker
 
wearLy's Avatar
 
Join Date: Jun 2018
Location: SA-MP
Posts: 146
Reputation: 31
Default Re: Interpolate no Player

Você pode usar esse FilterScript para criar:

https://forum.sa-mp.com/showthread.php?t=330879
__________________
_______


» [FilterScript] Sistema Anti-AFK


» Brasil Play Start - Fórum
» IP: 198.50.206.176:7777



"In the community since 2010"
wearLy is offline   Reply With Quote
Old 21/01/2020, 05:23 PM   #3
Nyft
Big Clucker
 
Nyft's Avatar
 
Join Date: Dec 2019
Location: Patrocínio MG
Posts: 73
Reputation: 6
Default Re: Interpolate no Player

Fiquei tentando, mas não serve para meu sistema.
Tem que ser a câmera fixada no player pra dar :/
__________________
Nyft#4330
Nyft is offline   Reply With Quote
Old 22/01/2020, 02:59 AM   #4
DarkBr
Huge Clucker
 
Join Date: Feb 2017
Location: ∫ f(x) dx
Posts: 365
Reputation: 12
Default Re: Interpolate no Player

Você precisa, primeiro, entender como funciona.
InterpolateCameraPos: Vai do Ponto A pro ponto B (CAMERA_MOVE)
InterpolateCameraLookAt: Olha pro ponto A e termina olhando no ponto B (CAMERA_MOVE)

Então, não é possível utilizar apenas o Interpolate para fazer o efeito de 360 graus, visto que se você adicionar as mesmas posições no efeito ele não irá "girar" e, consequentemente, ficará parado.

A única coisa que da pra fazer para a camera se mover em volta do jogador é um "90" graus que, forçará os eixos X e Y fazendo, assim, um quarto do efeito. Isso parece lógico? Se não, tente um 180° graus diretamente e não funcionará como desejado, pois apenas o eixo Y é chamado e X permanece igual, ou seja, você fará a camera se mover em linha reta. Então, o que fazer? O único jeito que me parece funcionar é juntar as quatro partes do efeito de 90 graus e assim completar a volta completa. Eu fiz isso para você(ficou essa uma verdadeira cambiarra).
Tente adaptar e se possível melhorar .

PHP Code:
#define DISTANCIA_RAIO_JOGADOR 10.0
#define ALTURA_CAMERA_JOGADOR 7.0
#define TEMPO_TOTAL_360_GRAUS 1000
#define SEGUNDOS_CADA_ETAPA TEMPO_TOTAL_360_GRAUS / 4 

new Float:Pos[4], Float:PositionsX[4], Float:PositionsY[4], Float:Angleetapas;

//[360°]
{
    
GetPlayerPos(playeridPos[0], Pos[1], Pos[2]);
    
GetPlayerFacingAngle(playeridPos[3]);
    
Angle 360 Pos[3];
    
etapas 0;
    
Pos[2] = Pos[2] + ALTURA_CAMERA_JOGADOR;
    
//POS PARA FRENTRE
    
PositionsX[0] = floatsin(Angledegrees) * DISTANCIA_RAIO_JOGADOR floatcos(Angledegrees) * 0.0 Pos[0];
    
PositionsY[0] = floatcos(Angledegrees) * DISTANCIA_RAIO_JOGADOR floatsin(Angledegrees) * 0.0 Pos[1];
    
//POS AO LADO DIREITO
    
PositionsX[1] = floatsin(Angledegrees) * 0.0 floatcos(Angledegrees) * DISTANCIA_RAIO_JOGADOR Pos[0];
    
PositionsY[1] = floatcos(Angledegrees) * 0.0 floatsin(Angledegrees) * DISTANCIA_RAIO_JOGADOR Pos[1];
    
//POS PARA TRÁS
    
PositionsX[2] = floatsin(Angledegrees) * (-1*DISTANCIA_RAIO_JOGADOR) + floatcos(Angledegrees) * 0.0 Pos[0];
    
PositionsY[2] = floatcos(Angledegrees) * (-1*DISTANCIA_RAIO_JOGADOR) - floatsin(Angledegrees) * 0.0 Pos[1];
    
//POS AO LADO ESQUERDO
    
PositionsX[3] = floatsin(Angledegrees) * 0.0 floatcos(Angledegrees) * (-1*DISTANCIA_RAIO_JOGADOR) + Pos[0];
    
PositionsY[3] = floatcos(Angledegrees) * 0.0 floatsin(Angledegrees) * (-1*DISTANCIA_RAIO_JOGADOR) + Pos[1];

    
MoverNoventaGraus(playerid);
}

forward MoverNoventaGraus(playerid);
public 
MoverNoventaGraus(playerid)
{
    if(
etapas == 3)
    {
        
InterpolateCameraPos(playeridPositionsX[3], PositionsY[3], Pos[2], PositionsX[0], PositionsY[0], Pos[2], SEGUNDOS_CADA_ETAPACAMERA_MOVE);
        
InterpolateCameraLookAt(playeridPos[0], Pos[1], Pos[2]-ALTURA_CAMERA_JOGADORPos[0], Pos[1], Pos[2]-ALTURA_CAMERA_JOGADORSEGUNDOS_CADA_ETAPACAMERA_MOVE);
        
    }
    else 
    {
        
InterpolateCameraPos(playeridPositionsX[etapas], PositionsY[etapas], Pos[2], PositionsX[etapas+1], PositionsY[etapas+1], Pos[2], SEGUNDOS_CADA_ETAPACAMERA_MOVE);
        
InterpolateCameraLookAt(playeridPos[0], Pos[1], Pos[2]-ALTURA_CAMERA_JOGADORPos[0], Pos[1], Pos[2]-ALTURA_CAMERA_JOGADORSEGUNDOS_CADA_ETAPACAMERA_MOVE);
        
        
SetTimerEx("MoverNoventaGraus"SEGUNDOS_CADA_ETAPAfalse"i"playerid);
        
etapas ++;
    }
    return 
1;

Tente adaptar ele, mude algumas coisas como o sentido(horário) para anti-horário e vice-versa.

Last edited by DarkBr; 22/01/2020 at 11:05 PM.
DarkBr is online now   Reply With Quote
Old 22/01/2020, 04:01 AM   #5
Nyft
Big Clucker
 
Nyft's Avatar
 
Join Date: Dec 2019
Location: Patrocínio MG
Posts: 73
Reputation: 6
Default Re: Interpolate no Player

Ta mt bom só que eu queria mais distante do jogador a camera mais alta, onde posso mexer para alterar isso?
__________________
Nyft#4330
Nyft 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
Interpolate Ilaibens Scripting Help 6 05/08/2017 07:53 AM
Interpolate Camera teamz Scripting Help 2 22/11/2016 08:47 AM
[Pedido] Interpolate _Play_ Português/Portuguese 1 16/07/2014 04:28 AM
Interpolate Wizz123 Scripting Help 4 07/02/2014 03:45 PM
Interpolate Camera help ProjectGANTON Scripting Help 3 01/04/2013 09:10 PM


All times are GMT. The time now is 10:13 PM.


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