/* ================= Defines ================= */ forward LG_Property_Loop(); // Code #define LG_INIT_CODE new LGArrS = sizeof (gLGPoints); if (LGArrS < 256) { SetTimer("LG_Property_Loop", 500, 1); } else { printf("LG Warning: properties array too big"); printf("Max size: 255. Current size: %d", sizeof (gLGPoints)); } #define LG_CONNECT_CODE LGConnect(playerid); #define LG_ENTER_CP_CODE if (LGCPCheck(playerid)) { return 1; } else #define LG_SPAWN_CODE LGSpawn(playerid); #define LG_DISCONNECT_CODE LGDisconnect(playerid); #define LG_COMMAND_CODE if (LGParseCmd(playerid, cmdtext)) return 1; #define dcmd2(%1,%2) if ((strcmp(cmdtext, "/%1", true, %2 + 1) == 0) && (((cmdtext[%2 + 1] == 0) && (dcmd_%1(playerid, ""))) || ((cmdtext[%2 + 1] == 32) && (dcmd_%1(playerid, cmdtext[%2 + 2]))))) return 1 // Constants // Parameters - uses upper 3 bytes (24 parameters) #define LG_NO_CHECKPOINT 0x80000000 #define LG_NAME 0x40000000 #define LG_INTERIOR 0x20000000 #define LG_CP_STAY 0x10000000 #define LG_DEFAULT 0x08000000 #define LG_SELL 0x04000000 // Mutually Exclusive - uses lower byte (256 types) // Areas 0-127 #define LG_NOT_SPECIAL 0 // Can't see why you'd need it except for entries #define LG_MONEY_AREA 1 #define LG_FORBIDDEN 2 #define LG_SPECIAL_AREA 3 #define LG_NAMED_AREA 4 // Auto no checkpoint // Points 128 - 255 #define LG_MONEY_POINT 128 #define LG_AMMU 129 #define LG_BANK 130 #define LG_PROPERTY 131 #define LG_SPECIAL_POINT 132 #define LG_TELEPORT 133 #define LG_TARGET 134 // Colors #define LG_MSG_COLOR 0x00FFFFAA #define LG_WRN_COLOR 0xFF0000AA // Misc - predefined #define LG_ALL_TEAMS 0x7FFFFFFF #define LG_NO_LAST 0xFFFFFFFF #define LG_INVALID_LAST 0x7FFFFFFF #define LG_NO_LINK {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1} #define LG_LINK_COUNT 16 #define LG_NOT_TEAMS 0x80000000 // Misc - userdefined #define LG_PAY_LOOPS 60 #define LG_CP_RADIUS 20.0 // Not used /* =============== Enums =============== */ enum LG_MAIN { MNAME[32], Float:MAREA_MIN_X, Float:MAREA_MAX_X, Float:MAREA_MIN_Y, Float:MAREA_MAX_Y, Float:MCP_X, Float:MCP_Y, Float:MCP_Z, Float:MCP_S, MOPTION_1, // Price or loops per trigger MOPTION_2, // Money reward MSPECIAL, MTEAMS, MOWNER, // 4 bytes, 4 owners MLINKS[16] // 16 connected areas } // Links: // For properties they define the entry point (for buying) // For land areas they define linked areas (for messages) enum LG_LAST { LTYPE, Float:LLAST_X, Float:LLAST_Y, Float:LLAST_Z, Float:LLAST_S } enum LG_WEAPONS { WNAME[32], WWEAPON, WAMMO, WPRICE }