SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

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

SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 12 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.

    [Tutorial] Programaзгo modular simples (s/ y_hooks)

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


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

    include - [Tutorial] Programaзгo modular simples (s/ y_hooks) Empty [Tutorial] Programaзгo modular simples (s/ y_hooks)

    Mensagem por Weslley_Script Qua 22 Mar 2023 - 11:13

    Programaзгo modular simples (sem y_hooks)
    Й 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 (s/ 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:
    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:
    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:
    #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.


    Se tiver dъvidas, pergunte no tуpico. Se achar algum erro, envie via MP.


    Creditos:willttoonn



    include - [Tutorial] Programaзгo modular simples (s/ y_hooks) D07Xwqb
    include - [Tutorial] Programaзгo modular simples (s/ y_hooks) Yjab9HN

      Data/hora atual: Qui 2 maio 2024 - 6:58