12.01.2012, 05:00
A Novas Versгo Samp Tб Ocorrendo Um Bug De Quando Abrir Um Portгo Abre Pelo Lado Errado.. Entгo Venho Lhe Encinar Como Criar Um Portгo Altomatico...
e Percebi que estao fazendo Muitos Topicos pedindo ajuda , nesse caso estar ae um уtimo Tutorial!
OBS : Nao sei se ja tem algum tutorial desse aqui , se ja tiver Algum Moderador pode apagar se for o caso.
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 na poblic 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
Na 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
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
Tempo para a Public ser executada, nesse caso, 5000 = 5 Segundos
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 PnPlayerKeyStateChange
Explicaзгo:
KEY_JUMP = Key que Irб executar o que Estiver Abaixo dele ( KEY_JUMP = Freio/Pulo ), lista de KEY's: WikiSamp
/portao = Comando que serб Executado ao Apertar a KEY que foi Selecionada
Retornado a 1
CODE
CODE FINAL
e Percebi que estao fazendo Muitos Topicos pedindo ajuda , nesse caso estar ae um уtimo Tutorial!
OBS : Nao sei se ja tem algum tutorial desse aqui , se ja tiver Algum Moderador pode apagar se for o caso.
No Topo do GM
pawn Код:
new Portao;
forward ClosePortao(playerid);
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 Код:
new Portao;
forward ClosePortao(playerid);
pawn Код:
Portao = CreateObject(970, 1, 2, 3, 0, 0, 0);
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
Na Public OnPlayerCommandText
pawn Код:
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;
}
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
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
Tempo para a Public ser executada, nesse caso, 5000 = 5 Segundos
Nгo Mude =)
return 1; = Retornando a 1
return 0; = Retornando a 0
CODE
pawn Код:
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;
}
pawn Код:
public ClosePortao(playerid)
{
MoveObject(Portao, 1, 2, 3, 1.0, 0.0, 0.0, 0.0);
return 1;
}
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 Код:
public ClosePortao(playerid)
{
MoveObject(Portao, 1, 2, 3, 1.0, 0.0, 0.0, 0.0);
return 1;
}
No Public PnPlayerKeyStateChange
pawn Код:
if ((newkeys==KEY_JUMP))
{
OnPlayerCommandText(playerid,"/portao");
}
return 1;
}
KEY_JUMP = Key que Irб executar o que Estiver Abaixo dele ( KEY_JUMP = Freio/Pulo ), lista de KEY's: WikiSamp
/portao = Comando que serб Executado ao Apertar a KEY que foi Selecionada
Retornado a 1
CODE
pawn Код:
if ((newkeys==KEY_JUMP))
{
OnPlayerCommandText(playerid,"/portao");
}
return 1;
}
CODE FINAL
pawn Код:
#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;
}