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 --'