• Vicio em Samp • Novos Posts todos os dias, vire seguidor, curta a pagina no Facebook. Sucesso garantido no seu Servidor!

    Divulgue Seu Server Aqui

    Fale com Sr_Trojan

    Anuncie Seu Servidor Aqui Anuncie Seu Servidor Aqui

    Divulgue Seu Server Aqui

    Fale com Ades

    Anuncie Seu Servidor Aqui Anuncie Seu Servidor Aqui

    Criando Portão - 0.3d Samp

    sábado, 12 de maio de 2012
    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

    Postar um comentário