06.09.2015, 02:57
(
Последний раз редактировалось zPain; 06.09.2015 в 17:14.
)
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.
- 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.
Код:
build\pawncc main.pwn -(+ -;+ move main.amx ..\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.
Crйditos a RebeloX pelo Dynamic Roleplay e a steki, pelo RioRPG.