[Ajuda] Como fazer 'movable objects'? -
PeterCastro - 08.05.2011
Eu comecei a (tentar) aprender pawn hб cerca de 3 semanas atrбs e agora eu queria saber como й que posso fazer com que um objecto esteja constantemente, tipo de 2 em 2 segundos, a subir e descer por exemplo.
Os tutoriais que eu vi, tкm todos um comando, ou sу quando o player se aproxima desse objecto (como й o caso das portas) й que o objecto se move. No meu caso, como jб disse, queria que ele estivesse em constante movimento.
Eu acho que sei que preciso do utilizar a funзгo 'MovePlayerObject' e obviamente preciso das coordenadas do objecto na posiзгo inicial e na posiзгo final. (Eu tenho alguma experiкncia com o MTA, e jб fiz mapas para o SA:MP portanto a parte de converter e isso aparentemente nгo tenho problemas.) Acho que vou precisar tambйm de um 'timer' para saber quando й que o objecto vai e vem...mas ainda estou um pouco perdido e nгo sei exactamente como fazer tudo isso.
Se alguйm podesse fazer um exemplo para eu perceber seria muito bom, obrigado desde jб.
Re: [Ajuda] Como fazer 'movable objects'? -
Shadoww5 - 08.05.2011
pawn Код:
forward AbrirPortao();
forward FecharPortao();
new portao;
public OnGameModeInit()
{
portao = CreateObject(2587, XXX1, YYY1, ZZZ1, RXXX, RYYY, RZZZ);
SetTimer("AbrirPortao",2000,false);
return 1;
}
public AbrirPortao()
{
MoveObject(portao, XXX2, YYY2, ZZZ2, VELOCIDADE);
SetTimer("FecharPortao",2000,false);
return 1;
}
public FecharPortao()
{
MoveObject(portao, XXX3, YYY2, ZZZ2, VELOCIDADE);
SetTimer("AbrirPortao",2000,false);
return 1;
}
/*
Troque XXX1, YYY1, ZZZ1 e RXXX, RYYY, RZZZ (alguns de rotaocao) pelas coordenadas que o portao deverб ser criado.
Troque XXX2, YYY2 e ZZZ2 pelas coordenadas que o portao deverб ser aberto.
Troque XXX3, YYY3 e ZZZ3 pelas coordenadas que o portao deverб ser fechado.
E, por fim, troque VELOCIDADE pela velocidade que o portao deverб ser aberto e fechado (As velocidades de abertura e fechamento podem ser diferentes). */
Desta forma um portao serб criado e a cada 2 segundos ele irб abrir e fechar.
Re: [Ajuda] Como fazer 'movable objects'? -
Carl_Thuse - 08.05.2011
Nada de MovePlayerObject.
Faзa um settimer no OnGameModeInit
e uma variavel
Exempplo:
pawn Код:
new Variavel;
public OnGameModeInit()
{
SetTimer("AbrirFecharPorta",2000,true); // abrir e fechar porta repetindo de 2 em 2 segundos
...
}
forward AbrirFecharPorta();
public AbrirFecharPorta()
{
if(Variavel == 0)
{
MoveObject(meuobjeto,/* aberto*/)
Variavel = 1;
}
if(Variavel == 1)
{
MoveObject(meuobjeto,/*fechado*/)
Variavel = 0;
}// Shadow creio que este й mais simples...
Agora vira um siclo vicioso abrindo e fechando...
Re: [Ajuda] Como fazer 'movable objects'? -
PeterCastro - 08.05.2011
Muito obrigado pela rбpida resposta, vou testar assim que puder, depois digo alguma coisa.