twitter Facebook Google Pluss Youtube Google Pluss
216.144.250.60:7787

    SISTEMA DE PORTAO COM COMANDO PARA ABRIR

Bom vou ensinar pra vcs como criar um sistema de portao automatico...é o mais simples que existe mas ja vai ajudar muito quem precisa. tem alguns tipos para criar, mas vou ensinar do jeito maiss faciil.

Vamos lá...

Crie o Objeto pelo seu editor MTA...Coloque o portao na posiçao fechado. De 2 cliques em cima do portao para pegar as coordenadas (tem variar maneiras)

Voce precisa do Streamer, Se nao tiver tire todos os "Dynamics" do texto.

No Topo

______________________________________________

   #include <streamer>
______________________________________________


No todo do teu GM crie um array
____________________________________________________
     
      new Portao;   //Portao é o nome que eu escolhi, vcs podem trocar. 

OBS. Se voce Iniciou o nome Portao com letra Maiúscula "P" vc sempre devera usar a letra maiúscula .
____________________________________________________

    Se voce quiserem adicionar um Texto3D perto do portao é so ver sobre textos 3D em nossos turotiais.

Procure por

_________________________________
     public OnGameModeInit()
_________________________________

e Crie seu objeto
_______________________

Portao = CreateDynamicObject(ID,POS X,POS Y,POS Z,0,0,ANGLE Z);

_______________________

Explicando

ID: é o ID do objeto
POS X,Y,Z: Coordenadas do seu portao "FEXADO"
0: esses angulos geralmente nao se usa
ANGLE Z: é o angulo mais usado, é o angulo que gira o teu portao (bolinha do mouse)

Vai ficar mais ou menos assim

_________________________

Portao = CreateDynamicObject(980,997.40002441406,2133.1999511719,12.60000038147,
0.0000000,0.0000000,270);
_________________________

OBS. Se vc criou o portao aqui vc exclui ele do MTA para quando for converter nao converter ele junto.
OBS2. Isso é para Por no GameMode, se fosse no FilterScript ao inves de OnGameModeInit ( ) seria OnFilterScriptInit ( )

Proximo passo, Criando o Comando para Abrir.

Procure por:

________________________________

         public OnPlayerCommandText(playerid,cmdtext[])
________________________________


E insira este codigo
_____________________________________________________________
{
 if(strcmp(cmdtext, "/ABRIR", true) == 0) {
MoveDynamicObject(Portao,997.40002441406,2133.1999511719,20.299999237061,4);
SendClientMessage(playerid,0x09D19BFF,"Portao aberto!");
return 1;}

if(strcmp(cmdtext, "/FECHAR", true) == 0) {
MoveDynamicObject(Portao,997.40002441406,2133.1999511719,12.60000038147,4);
SendClientMessage(playerid,0x09D19BFF,"Portao fexado!");
return 1;
}
_____________________________________________________________
Explicando:

_____________________________

if(strcmp(cmdtext, "/ABRIR", true) == 0) { //Comando Para abrir

MoveDynamicObject(NOME DO PORTAO,X,Y,Z,Velocidade); //As coordenadas do Portao que vc vai criar aberto... aki é onde vai fazer ele mover, E onde ta escrito "NOME DO PORTAO" é akele que vc coloco no inicio "new Portao;" Apenas o Portao

_____________________________

Vai ficar assim

_________________________________

MoveDynamicObject(Portao,997.40002441406, 2133.1999511719,20.299999237061,4);

_________________________________

O numero 4 no final, é a velocidade que ele vai mover Max=5.
Nao esqueçam o "Portao"

Vc criou ele fechado e pegou as coordenadas, agora vc move pra onde quiser e veja qual das posiçoes X,Y,Z nao esta igual quando estava fechado. A que vc perceber que mudou. Se for a X, vc vai trocar so a
X ... Ex: X=1, Y=2, Z=3  suponha que essa a coordenada dele fexado, ai eu movi o objeto e a X nao esta mais com a posiçao 1, mas quando vc abriu o portao ela mudou para 5... suponha que estaria assim agora X=5,Y=2,Z=3 entao vc vai pegar so a posiçao X e substituir pela posiçao X do fexado

Mais um exemplo se nao entender.

Esse é o comando dele fechado!

_________________________________________

MoveDynamicObject(Portao,X=1, Y=2,Z=3,4); //esqueçam o 4 marcado e o Portao

_________________________________________

Agora voce moveu o Objeto e percebe que a posiçao X nao esta mais com o numero 1, suponha que mudou para 5, entao vc vai por assim

________________________________________

MoveDynamicObject(Portao,X=5, Y=2,Z=3,4);//So mexam no X pk foi ele q mudou

SendClientMessage(playerid,0x09D19BFF,"Portao fexado!"); // Mensagem que ira mandar para o Player

  0x09D19BFF Seria a cor do texto.

_______________________________________

if(strcmp(cmdtext, "/FECHAR", true) == 0) {
MoveDynamicObject(Portao,997.40002441406,2133.1999511719,12.60000038147,4);
SendClientMessage(playerid,0x09D19BFF,"Portao fexado!");
return 1;
}

______________________________________

Aqui no fexar seria a mesma coisa, so que ao inves de trocar a posiçao, voce vai deixar a mesma posiçao de quando voce criou o objeto lembra? essa ai..

______________________________________

"CreateDynamicObject(980,997.40002441406,2133.1999511719,12.60000038147,
0.0000000,0.0000000,270);"

_____________________________________

mas lembre- se para mover o objeto vc nao vai pegar o ID do portao.

Galera qualqer coisa comentem, deixe suas duvidas e quem ja sabe nao critique no chat, venha falar em PM comigo, isso aki é um tuto para quem nao sabe, entao se tuh sabe fique queto!
Qualqer duvida, venham falar comigo...eu atendo todo mundo

Creditos ShittDow



2 comentários:

Unknown disse...

Parabens pela explicaçao etc obg

Unknown disse...

Parabens pela explicaçao etc obg

Postar um comentário

DESCRIÇÃO-AQUI.