SSGamers - 10 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

3 participantes

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

Weslley_Script
Weslley_Script
SS - Fundador
SS - Fundador


Steam Steam : WeslleySSGames
Zello : WeslleySSGames
Mensagens : 9464
Moedas : 1025828
Data de inscrição : 06/10/2011
Idade : 26
Localização : Brasil

[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/.

[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



[Tutorial] »   Programação modular simples (sem y_hooks) D07Xwqb
[Tutorial] »   Programação modular simples (sem y_hooks) Yjab9HN
HuemersonFMG
HuemersonFMG
SS - Colaborador
SS - Colaborador


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

[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.

leonsx
leonsx
--> Postador Médio
--> Postador Médio


Mensagens : 54
Moedas : 497
Data de inscrição : 12/11/2020
Idade : 20

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

Mensagem por leonsx 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


[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: Sab 27 Nov 2021 - 5:06