24.11.2013, 19:09
I would like to do some "clever" but pretty easy macros, to initiate variables from all includes, and then after all variables are collected, define functions.
for example:
Player.pwn:
Jobs.pwn:
Includes.pwn:
Main.h:
Main.pwn:
for example:
Player.pwn:
pawn Код:
#if defined INIT_VARIABLES
enum ePlayer{ pa, pb, pc };
new player[MAX_PLAYERS][ePlayer];
#else
stock LoadPlayer(playerid) { return 1; }
stock PlayerHaveJob(playerid) { return player[playerid][pa]; }
#endif
pawn Код:
#if defined INIT_VARIABLES
enum eJobsList { ja, jb, jc };
new jobs[eJobsList];
#else
stock HirePlayer(playerid, jobid)
{
if(!PlayerHaveJob(playerid) && player[playerid][pb])
player[playerid][pa] = jobid;
}
#endif
pawn Код:
#include "Player.pwn"
#include "Jobs.pwn"
pawn Код:
#include <a_samp>
#define INIT_VARIABLES
#include "Includes.pwn"
pawn Код:
#include "Main.h"
#undef INIT_VARIABLES
#include "Includes.pwn" // this is not called
main(){}