[Ajuda] Como posso fazer rodar os movimentos da camera seguidos?
#1

Boas pessoal!

Como eu posso fazer a camera mover estes movimentos seguidos?

PHP код:
public Tut1(playerid)
{
    
PlayAudioStreamForPlayer(playerid"http://188.93.237.138:8040");
    
ClearScreen(playerid);
    
SetPlayerInterior(playerid0);
    
TogglePlayerControllable(playerid0);
    
SetPlayerInterior(playerid0);
    
SetPlayerVirtualWorld(playerid0);
    
InterpolateCameraPos(playerid, -421.2060851326.03356935.807792, -342.7842711200.61022934.8956183000);
    
InterpolateCameraLookAt(playerid, -417.9388421322.46716337.075065, -338.1195371199.39465333.5679853000);
    
InterpolateCameraPos(playerid, -310.6090391204.57482926.923862, -345.7031251091.12231438.3769955000);
    
InterpolateCameraLookAt(playerid, -305.7308341203.64196726.347024, -340.9546501091.03002936.8138085000);
    
InterpolateCameraPos(playerid, -334.7938531098.07031236.396060, -190.549774968.46582034.1735115000);
    
InterpolateCameraLookAt(playerid, -329.9665221097.03723135.602554, -187.396697972.34582534.1149171000);
    
InterpolateCameraPos(playerid, -191.114456967.90570034.16852550.830837851.65014654.1401365000);
    
InterpolateCameraLookAt(playerid, -186.835922970.49291934.19196346.958801854.56805452.9182621000);
       
GameTextForPlayer(playerid,"~w~ Introducao e informacoes iniciais sobre o servidor" ,10000,5);
    
SendClientMessage(playeridCOLOR_ORANGE"__________________________________[1/9][Introduзгo e informaзхes iniciais sobre o servidor]__________________________________");
    
SendClientMessage(playeridCOLOR_WHITE"Estбs a jogar pela 1ЄVez no servidor da {05A7B9} Ethnic Gaming!");
    
SendClientMessage(playeridCOLOR_WHITE"Irбs passar por um tutorial que te explica como aqui jogar, presta atenзгo pois no fim terбs um questionбrio");
    
SendClientMessage(playeridCOLOR_WHITE"e se falhares terбs que ver isto novamente, e repetir o questionбrio, atй conseguires passar.");
    
SendClientMessage(playeridCOLOR_WHITE"Este й um servidor de RolePlay(RP), ou seja, imitamos ao mбximo a vida real,");
    
SendClientMessage(playeridCOLOR_WHITE"como se fosse uma 2Єvida, e fazer algo que na vida real nгo faзas, й proibido.");
    
SendClientMessage(playeridCOLOR_WHITE"Para correctamente fazeres RP, tens que ter em atenзгo ao realismo e ao detalhe das tuas acзхes.");
    
SendClientMessage(playeridCOLOR_WHITE"Vamos agora falar dos tipos de chats que existem no nosso servidor de RolePlay(RP).");
    
SendClientMessage(playeridCOLOR_ORANGE"___________________________________________________________________________________________________________________________");
    
Tut[playerid] = SetTimerEx("Tut2"25000false"i"playerid);
    return 
1;

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); 
Ele apenas estб a movimentar o ultimo movimento que й este:

PHP код:
InterpolateCameraPos(playerid, -191.114456967.90570034.16852550.830837851.65014654.1401365000);
    
InterpolateCameraLookAt(playerid, -186.835922970.49291934.19196346.958801854.56805452.9182621000); 
Reply
#2

Vocк leu a wiki ? https://sampwiki.blast.hk/wiki/InterpolateCameraPos
https://sampwiki.blast.hk/wiki/InterpolateCameraLookAt

Vocк pode colocar um atraso(delay), fazendo com que funcione perfeitamente todos os locais.

Ou entгo criar uma funзгo que chama a funзгo InterpolateCamera* com um SetTimer, passando como referкncia os valores das coordenadas e tambйm a manipulaзгo das cвmeras.

Nгo use uma abaixo da outra InterpolateCamera*, isso nгo funciona.
Reply
#3

E como eu faзo isso
Reply
#4

SetTimer continuo, ou seja comeзa um quando o outro acaba.. simples
Reply
#5

Exemplo

Cria um new tipo

new TempoCamera[MAX_PLAYERS];
new KillCamera[MAX_PLAYERS];

Cria uma callback:

forward MovimentoCamera(playerid);
public Contramovimento(playerid) {

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);

KillTimer(KillCamera[playerid]);
return 1;
}

Agora o timer onde vocк quer que inicie para mudar a camera:

KillCamera[playerid] = SetTimerEx("MovimentoCamera", 5000, 0, "i", playerid);

Bom eu acho que assim vai funcionar eu nгo manjo muito bem.
to aprendendo agora tambem
Reply
#6

http://forum.sa-mp.com/showpost.php?...69&postcount=5
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)