Criador de portão InGame



Pra fazer um novo portão basta usar o comando /criarportao
irá aparecer um dialog com 8 tipo de portões (foi oq eu achei no MTA)
após escolher o portão basta move-lo pra onde você quizer usando as teclas:


Teclas direcionais (cima, baixo, direita e esquerda) 
Move o portão

Numero 6 e Numero 4 
Edita a rotação do portão

Letra Y 
Sobe o portão

Letra N 
Desce o portão

OBS: Para poder mover o portão é preciso apertar a letra C ela aplicará um anim que deixará o jogador parado  mais podendo mover a camera. para sair do anim e checar a posição do portão basta apertar C novamente.

Comandos

/criarportao = "Cria um portão" 
/sairportao = "Cancela a edição do portão" 
/tipo = "Escolhe um novo modelo para o portão" 
/testar = "Testa o portão" 
/comandos = "Ver os comandos e ajuda" 
/salvarportao = "abre o dialog de salvamento do portão"  


ao usar o comando /salvarportao, abrirá um dialog para você digitar o nome que dará ao portão apos escolher o nome, abrirá outro dialog para voce digitar o nome do comando que abrirá o portão após isso você escolhe se o portão irá abrir para cima ou para baixo, e por ultimo você escolhe o tipo de comando que você usa (zcmd ou strcmp) ao salvar o portão, será criado um arquivo na pasta scriptfiles.
Exemplo: NomePortao.pwn, nele terá um code igual a este:

//no Topo do GM 
new NomePortao; 


//OnGameModeInit 
NomePortao = CreateObject(980, 1249.2891,-1709.9647,13.3828,0.0000,0.0000,0.0000); 


//comando 
if(strcmp(#/NomeComando, cmdtext, true) == 0) 
    MoveObject(NomePortao, 1249.2891,-1709.9647,3.3828,3,0.0000,0.0000,0.0000); 
    SetTimer(#MoveNomePortao, 5000, 0); 
    SendClientMessage(playerid, 0x2641FEFF, #Portao aberto); 
    return true; 

//No fim do GM 
forward MoveNomePortao(); 
public MoveNomePortao() 
    MoveObject(NomePortao,1249.2891, -1709.9647, 13.3828,3,0.0000, 0.0000, 0.0000); 
    return true; 
}  

você pode notar que nessas linhas:

SendClientMessage(playerid, 0x2641FEFF, #Portao aberto); 
if(strcmp(#/NomeComando, cmdtext, true) == 0) 
SetTimer(#MoveNomePortao, 5000, 0);  

não está sendo usado( " " ) pois ( # ) substitui elas
irá compilar normalmente e não dará nenhum erro!!
(aprendi com Garfield *-*)



0 comentários:

Postar um comentário