PDA

View Full Version : Cameras de inicio


JustinSton
01/01/2010, 03:46 AM
Como posso colocar para que as cameras de inicio do GF fique mudando, colocando os principais pontos de LS?

obrigado!

Suporte_bnv
01/01/2010, 04:19 AM
Como posso colocar para que as cameras de inicio do GF fique mudando, colocando os principais pontos de LS?

obrigado!

Ok mais cara tipo oque custa tu ir olhando no forum vale a pena procurar tai .... http://forum.sa-mp.com/index.php?topic=115765.0

JustinSton
01/01/2010, 04:22 PM
Não era isso.
Eu queria que a camera ficasse mudando de local não rodando..

JustinSton
01/01/2010, 05:37 PM
up

[O_o]Davidovich
01/01/2010, 07:34 PM
pode usar as funções tradicionais das câmeras com timers para mudar..

as funções seriam:

SetPlayerCameraPos(playerid,camX,camY,camZ);
SetPlayerCameraLookAt(playerid,lookatX,lookatY,loo katZ);


com um timerzinho básico você faz isso ai..

trindade02
01/01/2010, 08:10 PM
xyz /save.

JustinSton
01/01/2010, 08:15 PM
Eu não to conseguindo fazer um settimer.... :mrgreen:

trindade02
01/01/2010, 08:25 PM
1° COMANDO


public OnPlayerRequestClass(playerid, classid)
{
SetPlayerInterior(playerid,14);
SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
SetPlayerFacingAngle(playerid, 90.0);
SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234);
SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
}
return 1;
}


2° SetPlayerInterior(playerid,14);

Interior aonde o player ira aparecer, no nosso caso como o player
ia aparecer dentro de um guarda roupa eu coloquei o interior 14
se você quizer que o player apareça na cidade e não dentro de uma
residencia basta mudar o interior para 0



3°SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);

O SetPlayerPos é a posição aonde o player ira aparecer, no caso
eu peguei uma posição dentro do guarda-rouba/armário, se você
quizer mudar o local para o player aparecer basta você
mudar esta posição e não esqueça de mudar o interior tambem!



4° SetPlayerFacingAngle(playerid, 90.0);

Este é o Angulo que o player estará, ou seja o angulo
de onde você possa viusualiza-lo isso vamos ver um pouco
mais a frente!



5° SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234);

SetPLayerCameraPos é a posição da camera ou seja, o local de onde
você verá ele no caso para pegar essa posição basta você ir um pouco
mais para frente de onde você pegou a coordenada.



6° SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);

Este é muito simples, basta você copiar a posição que você havia
pego no SetPlayerPos e colar ali na frente.

EDIT/\ agora acho que tu aprende.

[O_o]Davidovich
01/01/2010, 08:36 PM
]
SetPlayerCameraPos

Define a câmera para uma posição específica para um jogador.

Parâmetros:
(playerid,Float:x,Float:y,Float:z)

exemplo

SetPlayerCameraPos(playerid, 652.23, 457.21, 10.84);

igual o amigo david falo ali em cima...

para pegar as coordenadas use
/save
e abra um arquivo chamado savedpositions.txt
que está dentro da pasta do seu server, lembrando que é xyz.

Mas é aconselhável usar tb o
SetPlayerCameraLookAt(playerid,X,Y,Z);
isso faz a câmera apontar pro lugar certo ;P

trindade02
01/01/2010, 08:39 PM
Editei, agora acho que ele aprende ^^

JustinSton
01/01/2010, 08:56 PM
Poxa vida, vocês não entenderam

Eu quero que a camera fique mudando de local para local..
EX:

Banco.. depois ela vai para DP.. e assim sucessivamente..
/\ não da com esses comandos, eu sou noob mais nem tanto ._.

trindade02
01/01/2010, 09:01 PM
nossa, mais é facil tu pega como base esse sistema ali....
agora procura mano, tem muitos tutorias sobre isso, só procurar.

gangster_PT
01/01/2010, 09:36 PM
tu queres tipo um tutorial? se fore tenta fazer assim

//no topo
new tutorial;
new tutorial2;
//--------
new fazertutorial[MAX_PLAYERS];
//-------
forward parte1(playerid);
forward parte2(playerid);

//agora no cmd /regnick ou /registrar

tutorial = SetTimerEx("parte1",10,0, "i", playerid);
SetPlayerInterior(playerid,0);
fazertutorial[playerid] = 1;
parte1(playerid);
SetPlayerPos(playerid,Float:x,Float:y,Float:z);
SetPlayerFacingAngle(playerid, 90.0);
SetPlayerCameraPos(playerid,Float:x,Float:y,Float: z);
SetPlayerCameraLookAt(playerid,Float:x,Float:y,Flo at:z);

//no fim do gm

public parte1(playerid)
{
KillTimer(tutorial1);
SetPlayerPos(playerid, Float:x,Float:y,Float:z);
SetPlayerFacingAngle(playerid, 90.0);
SetPlayerCameraPos(playerid, Float:x,Float:y,Float:z);
SetPlayerCameraLookAt(playerid, Float:x,Float:y,Float:z);
fazertutorial[playerid] = 1;
tutorial2 = SetTimerEx("parte2",10000,0, "i", playerid);
return 1;
}
public parte2(playerid)
{
//aqui fazes o mesmo mas com as coordenadas de outra cidade ou lugar


deve ser isto que queres... isto é so um exemplo

[O_o]Davidovich
01/01/2010, 09:40 PM
então.. os comandos são aqueles ali, mas você vai usar um timer ou sei lá o que pra mudar de tempo em tempo... rs

Algo tipo.. (vou fazer aqui rápido)

new Float:CameraPOS[3][3] = {
{x,y,z},
{x2,y2,z2},
{x3,y3,z3}
};

new Float:CameraLOOKAT[3][3] = {
{x,y,z},
{x2,y2,z2},
{x3,y3,z3}
};

//POSIÇÕES DA CÂMERA E PRA ONDE ELA IRÁ OLHAR (faça respectivamente, tipo, se você pos a delegacia de LS pra ser a POS 1, você tb põe a look at da delegacia como LOOKAT 1...)

new contador = 0;
new IsPlayerOnSelectScreen[MAX_PLAYERS];
forward ChangeCameraPos();

public OnGameModeInit()
{
SetTimer("ChangeCameraPos",15000,1);
return 1;
}

public OnPlayerRequestClass(playerid)
{
//AQUI VOCÊ PÕE TAMBÉM A TELA ORIGINAL, PRIMEIRA TELA DE SELEÇÃO (comandos SETPLAYERPOS, SETPLAYERCAMERALOOKAT, SETPLAYERCAMERAPOS, SETPLAYERFACINGANGLE)
IsPlayerOnSelectScreen[playerid] = 1;
return 1;
}

public OnPlayerSpawn(playerid)
{
IsPlayerOnSelectScreen[playerid] = 0;
return 1;
}

public ChangeCameraPos()
{
contador ++;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerOnSelectScreen[i])
{
switch(contador)
{
case 0:
{
SetPlayerCameraPos(i,CameraPOS[1][1],CameraPOS[1][2],CameraPOS[1][3]);
SetPlayerCameraLookAt(i,CameraLOOKAT[1][1],CameraLOOKAT[1][2],CameraLOOKAT[1][3]);
}
case 1:
{
SetPlayerCameraPos(i,CameraPOS[2][1],CameraPOS[2][2],CameraPOS[2][3]);
SetPlayerCameraLookAt(i,CameraLOOKAT[2][1],CameraLOOKAT[2][2],CameraLOOKAT[2][3]);
}
case 2:
{
SetPlayerCameraPos(i,CameraPOS[3][1],CameraPOS[3][2],CameraPOS[3][3]);
SetPlayerCameraLookAt(i,CameraLOOKAT[3][1],CameraLOOKAT[3][2],CameraLOOKAT[3][3]);
contador = 0;
}
}
}
}
}

Suporte_bnv
01/01/2010, 10:04 PM
Nossa os cara ja passo o codigo e ele ta morgando eu sei o tipo que ele quer = do bpf ex: a camera vai pra dp de ls depois pro aero de sf intao man é isso que faz tu que nao ta entendendo

[O_o]Davidovich
01/01/2010, 10:12 PM
Nossa os cara ja passo o codigo e ele ta morgando eu sei o tipo que ele quer = do bpf ex: a camera vai pra dp de ls depois pro aero de sf intao man é isso que faz tu que nao ta entendendo

Do jeito que eu fiz é assim mesmo, ele só vai precisar botar as posições dentro das variaveis e aumentar ou diminuir o número de cases de acordo com a necessidade dele (isso se meu código não tiver bugs).

Suporte_bnv
02/01/2010, 01:00 AM
Davidovich ]

Nossa os cara ja passo o codigo e ele ta morgando eu sei o tipo que ele quer = do bpf ex: a camera vai pra dp de ls depois pro aero de sf intao man é isso que faz tu que nao ta entendendo

Do jeito que eu fiz é assim mesmo, ele só vai precisar botar as posições dentro das variaveis e aumentar ou diminuir o número de cases de acordo com a necessidade dele (isso se meu código não tiver bugs).

Sim ele so presisaria pegar as cordenadas de cada local que a camera vai se posicionar mais pelo geito ele ñ entendeu.

gangster_PT
02/01/2010, 01:53 AM
como eu fiz tbm deve dar para o que ele quer :s

JustinSton
02/01/2010, 03:09 PM
Nossa os cara ja passo o codigo e ele ta morgando eu sei o tipo que ele quer = do bpf ex: a camera vai pra dp de ls depois pro aero de sf intao man é isso que faz tu que nao ta entendendo




ISSO!!!!!!!!!!!

Isso que eu gostaria!

trindade02
02/01/2010, 04:22 PM
servidor de rpg tem isso, quase todos que tem na net tem isso....
tu pode estudar o cdg.

JhonatanxP
19/03/2013, 02:05 PM
agora ele aprende kkk

JhonatanxP
19/03/2013, 02:09 PM
AGORA EELE APRENDE KKK

steki.
19/03/2013, 02:09 PM
Engraçadão você.