[Tool/Web/Other] Estrutura em mуdulos para gamemodes de grande porte
#1

Introduзгo
Desde que RebeloX ofereceu а board 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:
  • 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.
- compiler.bat

Код:
build\pawncc main.pwn -(+ -;+
move main.amx ..\server\gamemodes
Para entender mais sobre os argumentos: https://sampforum.blast.hk/showthread.php?tid=569228

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.


Crйditos a RebeloX pelo Dynamic Roleplay e a steki, pelo RioRPG.
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)