No TOPO do GM:
Explicação:
São Funções do PAWNO para Definir Coisas ( new é uma array que irá criar algo novo, como Floats, strings, numeros, ETC (Dica do BlueX)... forward para Definir novas Publics )
Este será o Nome do seu Portão, lembre-se que ele será usado no Futuro
Está é a public que Irá ser Fechar seu Portão, coloque com o Nome que mais lhe Agradá...
CODE:
Agora no public OnGameModeInit:
Explicação:
Deve ser usado o mesmo Nome que foi definido no "new" do Topo do GM
Essa Função fará com que Crie o Portão
MODELID, X, Y, Z, ROTX, ROTZ, ROTY do seu Portão Fechado
CODE:
public OnPlayerCommandText:
Explicação:
O Comando que fará o Portão Abrir
7.0 = Ratio de Alcance do Comando
1 = Coordenada X do Portão Fechado
2 = Coordenada Y do Portão Fechado
3 = Coordenada Z do Portão Fechado
SendClientMessage = Comando que Manda Mensagem para um Player especifico
playerid = Player que irá Receber a Mensagem, no caso que Executou o Comando
-1 = Cor da Mensagem
"Portão Aberto, irá Fechar em 5 Segundos" = Adivinha?
MoveObject = Comando que fará o Portão se Mover, neste caso, Abrir
Portao, 1, 2, 2, 1.0, 0.0, 0.0, 0.0 = Nome do Portão Definido, X, Y, Z, VELOCIDADE, ROTX, ROTZ, ROTY
ClosePortao = Public que irá ser Executada, no caso, a que irá Fechar o Portão
5000 = Tempo para a Public ser executada, nesse caso, 5000 = 5 Segundos
false = Não Mude =)
return 1; = Retornando a 1
return 0; = Retornando a 0
CODE:
Final do GM:
Explicação:
Coloque a Public Definida no Começo do GM, que nesse caso foi "ClosePortao"
Comando que irá fazer o Portão se Mover, neste caso, Fechando o Portão...
Portao, 1, 2, 3, 1.0, 0.0, 0.0, 0.0 = Nome do Portão Definido, X, Y, Z, VELOCIDADE, ROTX, ROTZ, ROTY
Retornando a 1
CODE:
No public OnPlayerKeyStateChange:
Explicação:
KEY_JUMP = Key que Irá executar o que Estiver Abaixo dele ( KEY_JUMP = Freio/Pulo ), lista de KEY's: http://wiki.sa-mp.com/wiki/GetPlayerKeys
/portao = Comando que será Executado ao Apertar a KEY que foi Selecionada
Retornado a 1
CODE:
CODE Final:
By:Gustavo
Cita:
new Portao; forward ClosePortao(playerid); |
Explicação:
São Funções do PAWNO para Definir Coisas ( new é uma array que irá criar algo novo, como Floats, strings, numeros, ETC (Dica do BlueX)... forward para Definir novas Publics )
Este será o Nome do seu Portão, lembre-se que ele será usado no Futuro
Está é a public que Irá ser Fechar seu Portão, coloque com o Nome que mais lhe Agradá...
CODE:
pawn Código:
new Portao; forward ClosePortao(playerid);
Agora no public OnGameModeInit:
Cita:
Portao = CreateObject(970, 1, 2, 3, 0, 0, 0); |
Explicação:
Deve ser usado o mesmo Nome que foi definido no "new" do Topo do GM
Essa Função fará com que Crie o Portão
MODELID, X, Y, Z, ROTX, ROTZ, ROTY do seu Portão Fechado
CODE:
pawn Código:
Portao = CreateObject(970, 1, 2, 3, 0, 0, 0);
public OnPlayerCommandText:
Cita:
if (strcmp("/portao", cmdtext, true, 10) == 0) { if(IsPlayerInRangeOfPoint(playerid,7.0, 1, 2, 3)) { SendClientMessage(playerid, -1, "Portão Aberto, irá Fechar em 5 Segundos"); MoveObject(Portao, 1, 2, 2, 1.0, 0.0, 0.0, 0.0); SetTimer("ClosePortao", 5000, false); } return 1; } return 0; } |
Explicação:
O Comando que fará o Portão Abrir
7.0 = Ratio de Alcance do Comando
1 = Coordenada X do Portão Fechado
2 = Coordenada Y do Portão Fechado
3 = Coordenada Z do Portão Fechado
SendClientMessage = Comando que Manda Mensagem para um Player especifico
playerid = Player que irá Receber a Mensagem, no caso que Executou o Comando
-1 = Cor da Mensagem
"Portão Aberto, irá Fechar em 5 Segundos" = Adivinha?
MoveObject = Comando que fará o Portão se Mover, neste caso, Abrir
Portao, 1, 2, 2, 1.0, 0.0, 0.0, 0.0 = Nome do Portão Definido, X, Y, Z, VELOCIDADE, ROTX, ROTZ, ROTY
ClosePortao = Public que irá ser Executada, no caso, a que irá Fechar o Portão
5000 = Tempo para a Public ser executada, nesse caso, 5000 = 5 Segundos
false = Não Mude =)
return 1; = Retornando a 1
return 0; = Retornando a 0
CODE:
pawn Código:
if (strcmp("/portao", cmdtext, true, 10) == 0) { if(IsPlayerInRangeOfPoint(playerid,7.0, 1, 2, 3)) { SendClientMessage(playerid, -1, "Portão Aberto, irá Fechar em 5 Segundos"); MoveObject(Portao, 1, 2, 2, 1.0, 0.0, 0.0, 0.0); SetTimer("ClosePortao", 5000, false); } return 1; } return 0; }
Final do GM:
Cita:
public ClosePortao(playerid) { MoveObject(Portao, 1, 2, 3, 1.0, 0.0, 0.0, 0.0); return 1; } |
Explicação:
Coloque a Public Definida no Começo do GM, que nesse caso foi "ClosePortao"
Comando que irá fazer o Portão se Mover, neste caso, Fechando o Portão...
Portao, 1, 2, 3, 1.0, 0.0, 0.0, 0.0 = Nome do Portão Definido, X, Y, Z, VELOCIDADE, ROTX, ROTZ, ROTY
Retornando a 1
CODE:
pawn Código:
public ClosePortao(playerid) { MoveObject(Portao, 1, 2, 3, 1.0, 0.0, 0.0, 0.0); return 1; }
No public OnPlayerKeyStateChange:
Cita:
if ((newkeys==KEY_JUMP)) { OnPlayerCommandText(playerid,"/portao"); } return 1; } |
Explicação:
KEY_JUMP = Key que Irá executar o que Estiver Abaixo dele ( KEY_JUMP = Freio/Pulo ), lista de KEY's: http://wiki.sa-mp.com/wiki/GetPlayerKeys
/portao = Comando que será Executado ao Apertar a KEY que foi Selecionada
Retornado a 1
CODE:
pawn Código:
if ((newkeys==KEY_JUMP)) { OnPlayerCommandText(playerid,"/portao"); } return 1; }
CODE Final:
pawn Código:
#include <a_samp> new Portao; forward ClosePortao(playerid); public OnGameModeInit() { Portao = CreateObject(970, 1, 2, 3, 0, 0, 0); return 1; } public OnPlayerCommandText(playerid, cmdtext[]) {if (strcmp("/portao", cmdtext, true, 10) == 0) { if(IsPlayerInRangeOfPoint(playerid,7.0, 1, 2, 3)) { SendClientMessage(playerid, -1, "Portão Aberto, irá Fechar em 5 Segundos"); MoveObject(Portao, 1, 2, 2, 1.0, 0.0, 0.0, 0.0); SetTimer("ClosePortao", 5000, false); } return 1; } return 0; } public ClosePortao(playerid) { MoveObject(Portao, 1, 2, 3, 1.0, 0.0, 0.0, 0.0); return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if ((newkeys==KEY_JUMP)) { OnPlayerCommandText(playerid,"/portao"); } return 1; }
0 comentários:
Postar um comentário