Criando Portao Automatico 0.3d -
Rodrigo_Avenged - 12.01.2012
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
pawn Код:
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 )
E
ste 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);
Agora na poblic OnGameModeInit
pawn Код:
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
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;
}
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
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;
}
Final do GM
pawn Код:
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 Код:
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;
}
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
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;
}
Re: Criando Portao Automatico 0.3d -
4LiSs0N - 12.01.2012
Bom trabalho gostei que abre com a tecla
Re: Criando Portao Automatico 0.3d -
BrunoBSF - 12.01.2012
Parabens pelo tuto gostei do seu trabalho
Re: Criando Portao Automatico 0.3d -
Rodrigo_Avenged - 12.01.2012
Valeu *-*
Re: Criando Portao Automatico 0.3d -
Bonomo_Returns - 12.01.2012
Seu noob, mano tira isso dae! EU que fiz isto e vem uma nooba e me copia? Quer Provas?? TOME:
Fiz bem rбpido, Dicas, Sugestхes e Erros, contactar-me !
No TOPO do GM
Quote:
new Portao;
forward ClosePortao(playerid);
|
Explicaзгo
Sгo Funзхes do PAWNO para Definir Coisas ( new para Definir Coias como Portхes, Gangs ETC. 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);
Agora no public OnGameModeInit
Quote:
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 Код:
Portao = CreateObject(970, 1, 2, 3, 0, 0, 0);
public OnPlayerCommandText
Quote:
if (strcmp([COLOR=Blue]portao[COLOR], 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
2 = Coordenada Y
3 = Coordenada Z
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 Код:
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
Quote:
public ClosePortao(playerid)
{
[COLOR=Blue]MoveObject[COLOR](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 Код:
public ClosePortao(playerid)
{
MoveObject(Portao, 1, 2, 3, 1.0, 0.0, 0.0, 0.0);
return 1;
}
No public OnPlayerKeyStateChange
Quote:
if ((newkeys==KEY_JUMP))
{
OnPlayerCommandText(playerid,portao);
}
return 1;
}
|
Explicaзгo
KEY_JUMP = Key que Irб executar o que Estiver Abaixo dele ( KEY_JUMP = FreioPulo ), lista de KEY's httpwiki.sa-mp.comwikiGetPlayerKeys
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;
}
Re: Criando Portao Automatico 0.3d -
Cristhian - 12.01.2012
pawn Код:
forward ClosePortao(playerid);
nгo entendi o por quк do parвmetro playerid...
Re: Criando Portao Automatico 0.3d -
Bonomo_Returns - 12.01.2012
Cara, o manow me copiou... Vou nem xingar ele porque nгo quero levar BAN de novo -qqq
Re: Criando Portao Automatico 0.3d -
CaioMors - 12.01.2012
Quote:
Originally Posted by Bonomo_Returns
Cara, o manow me copiou... Vou nem xingar ele porque nгo quero levar BAN de novo -qqq
|
Teem certeza ? '-'
Otimo Tutorial.
UP
Re: Criando Portao Automatico 0.3d -
Bonomo_Returns - 12.01.2012
Quote:
Originally Posted by CaioMors
Teem certeza ? '-'
Otimo Tutorial.
UP
|
Sim ssenhor novato, eu estou aqui no Forum faz uns 4 meses acompanhando e eu que fiz este tutorial acredito que o Los se lembre -qqq Entre outros, esse tutorial й meu, irei Reportar o vagabundo que nгo teve nem a cara de pau de colocar os Crйditos --'