[Tutorial] Criando Portao Automatico 0.3d
#1

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 )

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 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;
    }
Reply
#2

Bom trabalho gostei que abre com a tecla
Reply
#3

Parabens pelo tuto gostei do seu trabalho
Reply
#4

Valeu *-*
Reply
#5

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;
}
Reply
#6

pawn Код:
forward ClosePortao(playerid);
nгo entendi o por quк do parвmetro playerid...
Reply
#7

Cara, o manow me copiou... Vou nem xingar ele porque nгo quero levar BAN de novo -qqq
Reply
#8

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
Reply
#9

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


Forum Jump:


Users browsing this thread: 1 Guest(s)