Esse e Um tutorial de programação modular, notei que alguns membros têm tido dúvidas sobre como organizar seu gamemode dessa forma. Portanto, vou disponibilizar uma estrutura que organizei após misturar minhas ideias com as contidas em alguns gamemodes que usam desse método de organização.
Organização das pastas
Pasta server:
Na pasta server ficam os arquivos e pastas que vêm quando é baixado o samp-server para Windows. A única modificação feita será a retirada da pasta pawno, que terá seus arquivos movidos.
Sendo assim, a pasta server terá a seguinte organização:
Pasta source:
Nesta pasta serão criadas as seguintes pastas:
Além das pastas mencionadas, criaremos mais 3 arquivos:
Portanto, a pasta source ficará da seguinte maneira:
Finalizando
Como dito no título, esta estrutura foi pensada para gamemodes de grande porte, como RPG e Roleplay. Se você possui um pequeno servidor apenas para se juntar com alguns amigos para que fiquem se matando, não há nenhum sentido em se organizar de tal forma.
Acredito que apenas com conteúdo escrito, alguns não conseguirão compreender o tópico. Portanto, segue o link para download da pasta já estruturada, com uma include e um plugin baixados para melhor entendimento, além de um módulo criado.
http://www.mediafire.com/download/as...e/gamemode.rar
Tópicos com grandes explicações estão longe de ser meu forte. Sendo assim, peço que caso alguém ache que algo não ficou claro, comente abaixo para que eu possa esclarecer.
Organização das pastas
Pasta server:
Na pasta server ficam os arquivos e pastas que vêm quando é baixado o samp-server para Windows. A única modificação feita será a retirada da pasta pawno, que terá seus arquivos movidos.
Sendo assim, a pasta server terá a seguinte organização:
Pasta source:
Nesta pasta serão criadas as seguintes pastas:
- build: Os arquivos da pasta pawno, incluindo a pasta include, devem ser movidos para esta pasta.
- lib: Aqui são colocadas as includes baixadas pelo desenvolvedor. Ex: zcmd
- lib\plugins: Aqui são colocadas as includes que vêm junto com os plugins. Ex: sscanf2
- mod: Esta é a principal pasta. É onde todos os sistemas serão desenvolvidos. Para diferenciar o tipo de arquivo que estamos tratando, optei por dar aos módulos a extensão .p, o que descobri ser possível ao ver o gamemode dynamic roleplay, de RebeloX. Portanto, se você desenvolveu o sistema de jogadores, salvará como player.p.
Além das pastas mencionadas, criaremos mais 3 arquivos:
- main.h: Esta ideia foi tirada do gamemode RioRPG. Neste arquivo, manteremos as definições (cores, dialogs), variáveis, arrays, estruturas de dados e afins. O conteúdo do famoso "topo do gamemode".
- main.pwn: Este é o arquivo que será compilado. Nele você deve incluir as bibliotecas e módulos, além de chamar as funções dos módulos (ver arquivo main.h - hooking).
- compiler.bat: Criaremos este arquivo para, além de compilar o main.pwn, mover o arquivo main.amx, que será gerado na pasta source, para a pasta server/gamemodes.
Portanto, a pasta source ficará da seguinte maneira:
Finalizando
Como dito no título, esta estrutura foi pensada para gamemodes de grande porte, como RPG e Roleplay. Se você possui um pequeno servidor apenas para se juntar com alguns amigos para que fiquem se matando, não há nenhum sentido em se organizar de tal forma.
Acredito que apenas com conteúdo escrito, alguns não conseguirão compreender o tópico. Portanto, segue o link para download da pasta já estruturada, com uma include e um plugin baixados para melhor entendimento, além de um módulo criado.
http://www.mediafire.com/download/as...e/gamemode.rar
Tópicos com grandes explicações estão longe de ser meu forte. Sendo assim, peço que caso alguém ache que algo não ficou claro, comente abaixo para que eu possa esclarecer.