SSGamers - 13 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 13 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 13 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

3 participantes

    [Tutorial] »  Programação modular simples (sem y_hooks)

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11625
    Moedas : 1032880
    Data de inscrição : 06/10/2011
    Idade : 28
    Localização : Brasil

    include - [Tutorial] »   Programação modular simples (sem y_hooks) Empty [Tutorial] »  Programação modular simples (sem y_hooks)

    Mensagem por Weslley_Script Qui 26 Ago 2021 - 16:05

    [size=32]Programação modular simples (sem y_hooks)[/size]

    É fundamental que você saiba organizar seu ambiente de trabalho, o seu código não será diferente disto, para organizar algo grande, nada melhor do que dividi-lo em módulos específicos de cada categoria do que você fez, não?

    Neste tutorial, irei ensinar um método simples, sem plugins e sem includes adicionais do fórum, para você criar módulos e facilmente gerencia-los.

    - O primeiro de tudo é criar uma pasta para tais módulos, pode ser a sua escolha. Eu por exemplo separei sistemas específicos no código que eu trabalho em uma pasta chamada sys/.

    include - [Tutorial] »   Programação modular simples (sem y_hooks) Q2kg54r

    - Crie o arquivo .pwn ou em alguma extensão que não impeça a leitura dele. Particularmente eu utilizo a extensão .sys para essa pasta especifica que eu criei com meus sistemas.

    - Abra o arquivo e comece a escrever os códigos, crie as funções que necessitar para o seu sistema.

    - Se caso você precise que essa função esteja em uma public do sa-mp e essa public está declarada no main-code (arquivo principal do GM) você pode criar uma stock ou uma public dentro do modulo e chama-lo na public desejada.

    Por exemplo, necessito que uma informação seja realizada quando o jogador entrar, a public que é chamada quando esse evento acontece é o OnPlayerConnect, ela já está declarada nativamente no meu main-code por que existe outros códigos dentro dela, eu irei criar uma stock com as funções que eu desejo nessa public. Irei declarar uma variável como negativa para esse evento como exemplo.
    Código:
    Código:
    stock DrinkBuy_OnPlayerConnect(playerid)
    {
        AlgumaVariavel[playerid] = false;
        return 1;
    }

    * Lembre-se que o tamanho do nome/titulo de qualquer stock, function, public ou variável não pode passar dos 32 caracteres.
    * Para fins de organização, sempre tento criar a função com parte do mesmo nome da nativa, diferenciando apenas o nome/abreviação do nome do modulo que estou trabalhando.

    Criei a stock no arquivo do modulo, agora irei até o main-code e irei chama-la na public nativa, que é o OnPlayerConnect(playerid) e coloca-lo na posição que eu julgar necessária e relevante.

    Código:
    Código:
    public OnPlayerConnect(playerid)
    {
        /*Suas funções e necessidades no OnPlayerConnect nativo do main-code*/
        DrinkBuy_OnPlayerConnect(playerid);
        return 1;
    }

    Posicionei a minha stock no final da public, ou seja, ela só será executada quando tudo antes dela for executado.

    - Em casos de comandos, você pode fazer o mesmo com o OnPlayerText, se for ZCMD ou qualquer outro processador de comandos, você pode cria-lo normalmente no modulo que ele funcionará normalmente.

    - Em casos de variáveis que tenham a criação no main-code e você precise de novas no modulo, crie elas diretamente no main-code para chama-las no modulo.

    - Para chamar o seu arquivo ao main-code você deve declarar fora de qualquer função uma #include, por exemplo:
    Código:
    Código:
    #include "diretórios/drinkbuy.sys"

    • O que estiver dentro do " " deverá ser o caminho a partir do main-code até o arquivo do modulo, no meu caso o meu modulo está localizado numa pasta chamada sys/ e o nome do arquivo é drinkbuy.sys, logo ficando sys/drinkbuy.sys o caminho até o arquivo.

    Creditos: willttoonn



    include - [Tutorial] »   Programação modular simples (sem y_hooks) D07Xwqb
    include - [Tutorial] »   Programação modular simples (sem y_hooks) Yjab9HN
    HuemersonFMG
    HuemersonFMG
    --> Postador Iniciante
    --> Postador Iniciante


    Steam Steam : http://familiagarcia-samp.forumeiros.com/
    Celular : 31998251196
    Mensagens : 120
    Moedas : 2686
    Data de inscrição : 14/03/2018
    Idade : 52
    Localização : Brasil - Minas Gerais

    include - [Tutorial] »   Programação modular simples (sem y_hooks) Empty Re: [Tutorial] »  Programação modular simples (sem y_hooks)

    Mensagem por HuemersonFMG Sex 27 Ago 2021 - 7:19

    Muito bom o tutorial, o planejamento e organização antes de iniciar os projetos é muito importante para se obter um resultado agradável.

    iShifT
    iShifT
    --> Postador Iniciante
    --> Postador Iniciante


    Celular : +55 85 9196-5465
    Mensagens : 60
    Moedas : 1586
    Data de inscrição : 12/11/2020
    Idade : 23

    include - [Tutorial] »   Programação modular simples (sem y_hooks) Empty Re: [Tutorial] »  Programação modular simples (sem y_hooks)

    Mensagem por iShifT Dom 29 Ago 2021 - 10:10

    HuemersonFMG escreveu:Muito bom o tutorial, o planejamento e organização antes de iniciar os projetos é muito importante para se obter um resultado agradável.
    Eu ainda prefiro usar a biblioteca YSI  bounce

    Conteúdo patrocinado


    include - [Tutorial] »   Programação modular simples (sem y_hooks) Empty Re: [Tutorial] »  Programação modular simples (sem y_hooks)

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Qui 7 Nov 2024 - 19:00