• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

[FIX] Need Help with sprites

llamavani

Trinitium Rubidia Style!
Joined
Sep 17, 2009
Messages
173
Reaction score
3
Location
Guadalajara, Mexico
:blink:

Friends, i need some help with add new effects, ready i follow all the steps to add new effects but you can help me? check my compile
My SERVER: TFS 0.3.4pl

In Items EDITOR:
items editor.jpg

My SOurces In COnst.h
Code:
#ifndef __OTSERV_CONST_H__
#define __OTSERV_CONST_H__

#include "definitions.h"

#define NETWORKMESSAGE_MAXSIZE 15360

enum MagicEffectClasses
{
	NM_ME_DRAW_BLOOD	= 0x00,
	NM_ME_LOSE_ENERGY	= 0x01,
	NM_ME_POFF		= 0x02,
	NM_ME_BLOCKHIT		= 0x03,
	NM_ME_EXPLOSION_AREA	= 0x04,
	NM_ME_EXPLOSION_DAMAGE	= 0x05,
	NM_ME_FIRE_AREA		= 0x06,
	NM_ME_YELLOW_RINGS	= 0x07,
	NM_ME_POISON_RINGS	= 0x08,
	NM_ME_HIT_AREA		= 0x09,
	NM_ME_TELEPORT		= 0x0A, //10
	NM_ME_ENERGY_DAMAGE	= 0x0B, //11
	NM_ME_MAGIC_ENERGY	= 0x0C, //12
	NM_ME_MAGIC_BLOOD	= 0x0D, //13
	NM_ME_MAGIC_POISON	= 0x0E, //14
	NM_ME_HITBY_FIRE	= 0x0F, //15
	NM_ME_POISON		= 0x10, //16
	NM_ME_MORT_AREA		= 0x11, //17
	NM_ME_SOUND_GREEN	= 0x12, //18
	NM_ME_SOUND_RED		= 0x13, //19
	NM_ME_POISON_AREA	= 0x14, //20
	NM_ME_SOUND_YELLOW	= 0x15, //21
	NM_ME_SOUND_PURPLE	= 0x16, //22
	NM_ME_SOUND_BLUE	= 0x17, //23
	NM_ME_SOUND_WHITE	= 0x18, //24
	NM_ME_BUBBLES		= 0x19, //25
	NM_ME_CRAPS		= 0x1A, //26
	NM_ME_GIFT_WRAPS	= 0x1B, //27
	NM_ME_FIREWORK_YELLOW	= 0x1C, //28
	NM_ME_FIREWORK_RED	= 0x1D, //29
	NM_ME_FIREWORK_BLUE	= 0x1E, //30
	NM_ME_STUN		= 0x1F, //31
	NM_ME_SLEEP		= 0x20, //32
	NM_ME_WATERCREATURE	= 0x21, //33
	NM_ME_GROUNDSHAKER	= 0x22, //34
	NM_ME_HEARTS		= 0x23, //35
	NM_ME_FIREATTACK	= 0x24, //36
	NM_ME_ENERGY_AREA	= 0x25, //37
	NM_ME_SMALLCLOUDS	= 0x26, //38
	NM_ME_HOLYDAMAGE	= 0x27, //39
	NM_ME_BIGCLOUDS		= 0x28, //40
	NM_ME_ICEAREA		= 0x29, //41
	NM_ME_ICETORNADO	= 0x2A, //42
	NM_ME_ICEATTACK		= 0x2B, //43
	NM_ME_STONES		= 0x2C, //44
	NM_ME_SMALLPLANTS	= 0x2D, //45
	NM_ME_CARNIPHILA	= 0x2E, //46
	NM_ME_PURPLEENERGY	= 0x2F, //47
	NM_ME_YELLOWENERGY	= 0x30, //48
	NM_ME_HOLYAREA		= 0x31, //49
	NM_ME_BIGPLANTS		= 0x32, //50
	NM_ME_CAKE		= 0x33, //51
	NM_ME_GIANTICE		= 0x34, //52
	NM_ME_WATERSPLASH	= 0x35, //53
	NM_ME_PLANTATTACK	= 0x36, //54
	NM_ME_TUTORIALARROW	= 0x37, //55
	NM_ME_TUTORIALSQUARE	= 0x38, //56
	NM_ME_MIRRORHORIZONTAL	= 0x39, //57
	NM_ME_MIRRORVERTICAL	= 0x3A, //58
	NM_ME_SKULLHORIZONTAL	= 0x3B, //59
	NM_ME_SKULLVERTICAL	= 0x3C, //60
	NM_ME_ASSASSIN		= 0x3D, //61
	NM_ME_STEPSHORIZONTAL	= 0x3E, //62
	NM_ME_BLOODYSTEPS	= 0x3F, //63
	NM_ME_STEPSVERTICAL	= 0x40, //64
	NM_ME_YALAHARIGHOST	= 0x41, //65
	NM_ME_BATS		= 0x42, //66
	NM_ME_CURACION		= 0x43, //67
	NM_ME_LAST = NM_ME_CURACION,

	//for internal use, dont send to client
	NM_ME_NONE             = 0xFF,
	NM_ME_UNK              = 0xFFFF
};

AND Constant.lua
Code:
CONST_ME_DRAWBLOOD = 0
CONST_ME_LOSEENERGY = 1
CONST_ME_POFF = 2
CONST_ME_BLOCKHIT = 3
CONST_ME_EXPLOSIONAREA = 4
CONST_ME_EXPLOSIONHIT = 5
CONST_ME_FIREAREA = 6
CONST_ME_YELLOW_RINGS = 7
CONST_ME_GREEN_RINGS = 8
CONST_ME_HITAREA = 9
CONST_ME_TELEPORT = 10
CONST_ME_ENERGYHIT = 11
CONST_ME_MAGIC_BLUE = 12
CONST_ME_MAGIC_RED = 13
CONST_ME_MAGIC_GREEN = 14
CONST_ME_HITBYFIRE = 15
CONST_ME_HITBYPOISON = 16
CONST_ME_MORTAREA = 17
CONST_ME_SOUND_GREEN = 18
CONST_ME_SOUND_RED = 19
CONST_ME_POISONAREA = 20
CONST_ME_SOUND_YELLOW = 21
CONST_ME_SOUND_PURPLE = 22
CONST_ME_SOUND_BLUE = 23
CONST_ME_SOUND_WHITE = 24
CONST_ME_BUBBLES = 25
CONST_ME_CRAPS = 26
CONST_ME_GIFT_WRAPS = 27
CONST_ME_FIREWORK_YELLOW = 28
CONST_ME_FIREWORK_RED = 29
CONST_ME_FIREWORK_BLUE = 30
CONST_ME_STUN = 31
CONST_ME_SLEEP = 32
CONST_ME_WATERCREATURE = 33
CONST_ME_GROUNDSHAKER = 34
CONST_ME_HEARTS = 35
CONST_ME_FIREATTACK = 36
CONST_ME_ENERGYAREA = 37
CONST_ME_SMALLCLOUDS = 38
CONST_ME_HOLYDAMAGE = 39
CONST_ME_BIGCLOUDS = 40
CONST_ME_ICEAREA = 41
CONST_ME_ICETORNADO = 42
CONST_ME_ICEATTACK = 43
CONST_ME_STONES = 44
CONST_ME_SMALLPLANTS = 45
CONST_ME_CARNIPHILA = 46
CONST_ME_PURPLEENERGY = 47
CONST_ME_YELLOWENERGY = 48
CONST_ME_HOLYAREA = 49
CONST_ME_BIGPLANTS = 50
CONST_ME_CAKE = 51
CONST_ME_GIANTICE = 52
CONST_ME_WATERSPLASH = 53
CONST_ME_PLANTATTACK = 54
CONST_ME_TUTORIALARROW = 55
CONST_ME_TUTORIALSQUARE = 56
CONST_ME_MIRRORHORIZONTAL = 57
CONST_ME_MIRRORVERTICAL = 58
CONST_ME_SKULLHORIZONTAL = 59
CONST_ME_SKULLVERTICAL = 60
CONST_ME_ASSASSIN = 61
CONST_ME_STEPSHORIZONTAL = 62
CONST_ME_BLOODYSTEPS = 63
CONST_ME_STEPSVERTICAL = 64
CONST_ME_YALAHARIGHOST = 65
CONST_ME_BATS = 66
CONST_ME_CURACION = 67
CONST_ME_NONE = 255
CONST_ME_LAST = CONST_ME_CURACION

Please Could you help me? Could i forgot to add something?

Sorrry my bad English
 
Search (const.h):
MAGIC_EFFECT_INSECTS = 0x44, //68

Add under (const.h):
PHP:
	MAGIC_EFFECT_NEW        = 0xFE, //149
	MAGIC_EFFECT_LAST       = MAGIC_EFFECT_NEW, //254

That increase your max view effect (magic effects). You can add up to 255 effects.
 
I cant fount the lines
PHP:
    MAGIC_EFFECT_NEW        = 0xFE, //149
    MAGIC_EFFECT_LAST       = MAGIC_EFFECT_NEW, //254


This is all my const.h
PHP:
//////////////////////////////////////////////////////////////////////
// OpenTibia - an opensource roleplaying game
//////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software Foundation,
// Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
//////////////////////////////////////////////////////////////////////

#ifndef __OTSERV_CONST_H__
#define __OTSERV_CONST_H__

#include "definitions.h"

#define NETWORKMESSAGE_MAXSIZE 15360

enum MagicEffectClasses
{
	NM_ME_DRAW_BLOOD	= 0x00,
	NM_ME_LOSE_ENERGY	= 0x01,
	NM_ME_POFF		= 0x02,
	NM_ME_BLOCKHIT		= 0x03,
	NM_ME_EXPLOSION_AREA	= 0x04,
	NM_ME_EXPLOSION_DAMAGE	= 0x05,
	NM_ME_FIRE_AREA		= 0x06,
	NM_ME_YELLOW_RINGS	= 0x07,
	NM_ME_POISON_RINGS	= 0x08,
	NM_ME_HIT_AREA		= 0x09,
	NM_ME_TELEPORT		= 0x0A, //10
	NM_ME_ENERGY_DAMAGE	= 0x0B, //11
	NM_ME_MAGIC_ENERGY	= 0x0C, //12
	NM_ME_MAGIC_BLOOD	= 0x0D, //13
	NM_ME_MAGIC_POISON	= 0x0E, //14
	NM_ME_HITBY_FIRE	= 0x0F, //15
	NM_ME_POISON		= 0x10, //16
	NM_ME_MORT_AREA		= 0x11, //17
	NM_ME_SOUND_GREEN	= 0x12, //18
	NM_ME_SOUND_RED		= 0x13, //19
	NM_ME_POISON_AREA	= 0x14, //20
	NM_ME_SOUND_YELLOW	= 0x15, //21
	NM_ME_SOUND_PURPLE	= 0x16, //22
	NM_ME_SOUND_BLUE	= 0x17, //23
	NM_ME_SOUND_WHITE	= 0x18, //24
	NM_ME_BUBBLES		= 0x19, //25
	NM_ME_CRAPS		= 0x1A, //26
	NM_ME_GIFT_WRAPS	= 0x1B, //27
	NM_ME_FIREWORK_YELLOW	= 0x1C, //28
	NM_ME_FIREWORK_RED	= 0x1D, //29
	NM_ME_FIREWORK_BLUE	= 0x1E, //30
	NM_ME_STUN		= 0x1F, //31
	NM_ME_SLEEP		= 0x20, //32
	NM_ME_WATERCREATURE	= 0x21, //33
	NM_ME_GROUNDSHAKER	= 0x22, //34
	NM_ME_HEARTS		= 0x23, //35
	NM_ME_FIREATTACK	= 0x24, //36
	NM_ME_ENERGY_AREA	= 0x25, //37
	NM_ME_SMALLCLOUDS	= 0x26, //38
	NM_ME_HOLYDAMAGE	= 0x27, //39
	NM_ME_BIGCLOUDS		= 0x28, //40
	NM_ME_ICEAREA		= 0x29, //41
	NM_ME_ICETORNADO	= 0x2A, //42
	NM_ME_ICEATTACK		= 0x2B, //43
	NM_ME_STONES		= 0x2C, //44
	NM_ME_SMALLPLANTS	= 0x2D, //45
	NM_ME_CARNIPHILA	= 0x2E, //46
	NM_ME_PURPLEENERGY	= 0x2F, //47
	NM_ME_YELLOWENERGY	= 0x30, //48
	NM_ME_HOLYAREA		= 0x31, //49
	NM_ME_BIGPLANTS		= 0x32, //50
	NM_ME_CAKE		= 0x33, //51
	NM_ME_GIANTICE		= 0x34, //52
	NM_ME_WATERSPLASH	= 0x35, //53
	NM_ME_PLANTATTACK	= 0x36, //54
	NM_ME_TUTORIALARROW	= 0x37, //55
	NM_ME_TUTORIALSQUARE	= 0x38, //56
	NM_ME_MIRRORHORIZONTAL	= 0x39, //57
	NM_ME_MIRRORVERTICAL	= 0x3A, //58
	NM_ME_SKULLHORIZONTAL	= 0x3B, //59
	NM_ME_SKULLVERTICAL	= 0x3C, //60
	NM_ME_ASSASSIN		= 0x3D, //61
	NM_ME_STEPSHORIZONTAL	= 0x3E, //62
	NM_ME_BLOODYSTEPS	= 0x3F, //63
	NM_ME_STEPSVERTICAL	= 0x40, //64
	NM_ME_YALAHARIGHOST	= 0x41, //65
	NM_ME_BATS		= 0x42, //66
	NM_ME_CURACION		= 0x43, //67
	NM_ME_LAST = NM_ME_CURACION,

	//for internal use, dont send to client
	NM_ME_NONE             = 0xFF,
	NM_ME_UNK              = 0xFFFF
};

enum ShootType_t
{
	NM_SHOOT_SPEAR		= 0x00,
	NM_SHOOT_BOLT		= 0x01,
	NM_SHOOT_ARROW		= 0x02,
	NM_SHOOT_FIRE		= 0x03,
	NM_SHOOT_ENERGY		= 0x04,
	NM_SHOOT_POISONARROW	= 0x05,
	NM_SHOOT_BURSTARROW	= 0x06,
	NM_SHOOT_THROWINGSTAR	= 0x07,
	NM_SHOOT_THROWINGKNIFE	= 0x08,
	NM_SHOOT_SMALLSTONE	= 0x09,
	NM_SHOOT_DEATH		= 0x0A, //10
	NM_SHOOT_LARGEROCK	= 0x0B, //11
	NM_SHOOT_SNOWBALL	= 0x0C, //12
	NM_SHOOT_POWERBOLT	= 0x0D, //13
	NM_SHOOT_POISONFIELD	= 0x0E, //14
	NM_SHOOT_INFERNALBOLT	= 0x0F, //15
	NM_SHOOT_HUNTINGSPEAR	= 0x10, //16
	NM_SHOOT_ENCHANTEDSPEAR	= 0x11, //17
	NM_SHOOT_REDSTAR	= 0x12, //18
	NM_SHOOT_GREENSTAR	= 0x13, //19
	NM_SHOOT_ROYALSPEAR	= 0x14, //20
	NM_SHOOT_SNIPERARROW	= 0x15, //21
	NM_SHOOT_ONYXARROW	= 0x16, //22
	NM_SHOOT_PIERCINGBOLT	= 0x17, //23
	NM_SHOOT_WHIRLWINDSWORD	= 0x18, //24
	NM_SHOOT_WHIRLWINDAXE	= 0x19, //25
	NM_SHOOT_WHIRLWINDCLUB	= 0x1A, //26
	NM_SHOOT_ETHEREALSPEAR	= 0x1B, //27
	NM_SHOOT_ICE		= 0x1C, //28
	NM_SHOOT_EARTH		= 0x1D, //29
	NM_SHOOT_HOLY		= 0x1E, //30
	NM_SHOOT_SUDDENDEATH	= 0x1F, //31
	NM_SHOOT_FLASHARROW	= 0x20, //32
	NM_SHOOT_FLAMMINGARROW	= 0x21, //33
	NM_SHOOT_SHIVERARROW	= 0x22, //34
	NM_SHOOT_ENERGYBALL	= 0x23, //35
	NM_SHOOT_SMALLICE	= 0x24, //36
	NM_SHOOT_SMALLHOLY	= 0x25, //37
	NM_SHOOT_SMALLEARTH	= 0x26, //38
	NM_SHOOT_EARTHARROW	= 0x27, //39
	NM_SHOOT_EXPLOSION	= 0x28, //40
	NM_SHOOT_CAKE		= 0x29, //41
	NM_SHOOT_LAST = NM_SHOOT_CAKE,

	//for internal use, dont send to client
	NM_SHOOT_WEAPONTYPE	= 0xFE, //254
	NM_SHOOT_NONE		= 0xFF,
	NM_SHOOT_UNK		= 0xFFFF
};

enum SpeakClasses
{
	SPEAK_CLASS_FIRST 	= 0x01,
	SPEAK_SAY		= SPEAK_CLASS_FIRST,
	SPEAK_WHISPER		= 0x02,
	SPEAK_YELL		= 0x03,
	SPEAK_PRIVATE_PN	= 0x04,
	SPEAK_PRIVATE_NP	= 0x05,
	SPEAK_PRIVATE		= 0x06,
	SPEAK_CHANNEL_Y		= 0x07,
	SPEAK_CHANNEL_W		= 0x08,
	SPEAK_RVR_CHANNEL	= 0x09,
	SPEAK_RVR_ANSWER	= 0x0A,
	SPEAK_RVR_CONTINUE	= 0x0B,
	SPEAK_BROADCAST		= 0x0C,
	SPEAK_CHANNEL_R1	= 0x0D, //red - #c text
	SPEAK_PRIVATE_RED	= 0x0E,	//@name@text
	SPEAK_CHANNEL_O		= 0x0F,
	//SPEAK_UNKNOWN_1		= 0x10,
	SPEAK_CHANNEL_R2	= 0x11,	//red anonymous - #d text
	//SPEAK_UNKNOWN_2		= 0x12,
	SPEAK_MONSTER_SAY	= 0x13,
	SPEAK_MONSTER_YELL	= 0x14,
	SPEAK_CLASS_LAST 	= SPEAK_MONSTER_YELL
};

enum MessageClasses
{
	MSG_CLASS_FIRST			= 0x12,
	MSG_STATUS_CONSOLE_RED		= MSG_CLASS_FIRST, /*Red message in the console*/
	MSG_EVENT_ORANGE		= 0x13, /*Orange message in the console*/
	MSG_STATUS_CONSOLE_ORANGE	= 0x14, /*Orange message in the console*/
	MSG_STATUS_WARNING		= 0x15, /*Red message in game window and in the console*/
	MSG_EVENT_ADVANCE		= 0x16, /*White message in game window and in the console*/
	MSG_EVENT_DEFAULT		= 0x17, /*White message at the bottom of the game window and in the console*/
	MSG_STATUS_DEFAULT		= 0x18, /*White message at the bottom of the game window and in the console*/
	MSG_INFO_DESCR			= 0x19, /*Green message in game window and in the console*/
	MSG_STATUS_SMALL		= 0x1A, /*White message at the bottom of the game window"*/
	MSG_STATUS_CONSOLE_BLUE		= 0x1B, /*Blue message in the console*/
	MSG_CLASS_LAST			= MSG_STATUS_CONSOLE_BLUE
};

enum MapMarks_t
{
	MAPMARK_TICK		= 0x00,
	MAPMARK_QUESTION	= 0x01,
	MAPMARK_EXCLAMATION	= 0x02,
	MAPMARK_STAR		= 0x03,
	MAPMARK_CROSS		= 0x04,
	MAPMARK_TEMPLE		= 0x05,
	MAPMARK_KISS		= 0x06,
	MAPMARK_SHOVEL		= 0x07,
	MAPMARK_SWORD		= 0x08,
	MAPMARK_FLAG		= 0x09,
	MAPMARK_LOCK		= 0x0A,
	MAPMARK_BAG		= 0x0B,
	MAPMARK_SKULL		= 0x0C,
	MAPMARK_DOLLAR		= 0x0D,
	MAPMARK_REDNORTH	= 0x0E,
	MAPMARK_REDSOUTH	= 0x0F,
	MAPMARK_REDEAST		= 0x10,
	MAPMARK_REDWEST		= 0x11,
	MAPMARK_GREENNORTH	= 0x12,
	MAPMARK_GREENSOUTH	= 0x13
};

enum FluidColors_t
{
	FLUID_EMPTY	= 0x00,
	FLUID_BLUE	= 0x01,
	FLUID_RED	= 0x02,
	FLUID_BROWN	= 0x03,
	FLUID_GREEN	= 0x04,
	FLUID_YELLOW	= 0x05,
	FLUID_WHITE	= 0x06,
	FLUID_PURPLE	= 0x07
};

enum FluidTypes_t
{
	FLUID_NONE		= FLUID_EMPTY,
	FLUID_WATER		= FLUID_BLUE,
	FLUID_BLOOD		= FLUID_RED,
	FLUID_BEER		= FLUID_BROWN,
	FLUID_SLIME		= FLUID_GREEN,
	FLUID_LEMONADE		= FLUID_YELLOW,
	FLUID_MILK		= FLUID_WHITE,
	FLUID_MANA		= FLUID_PURPLE,

	FLUID_LIFE		= FLUID_RED + 8,
	FLUID_OIL		= FLUID_BROWN + 8,
	FLUID_URINE		= FLUID_YELLOW + 8,
	FLUID_COCONUTMILK	= FLUID_WHITE + 8,
	FLUID_WINE		= FLUID_PURPLE + 8,

	FLUID_MUD		= FLUID_BROWN + 16,
	FLUID_FRUITJUICE	= FLUID_YELLOW + 16,

	FLUID_LAVA		= FLUID_RED + 24,
	FLUID_RUM		= FLUID_BROWN + 24,
	FLUID_SWAMP		= FLUID_GREEN + 24,
};

const uint8_t reverseFluidMap[] =
{
	FLUID_EMPTY,
	FLUID_WATER,
	FLUID_MANA,
	FLUID_BEER,
	FLUID_EMPTY,
	FLUID_BLOOD,
	FLUID_SLIME,
	FLUID_EMPTY,
	FLUID_LEMONADE,
	FLUID_MILK
};

enum ClientFluidTypes_t
{
	CLIENTFLUID_EMPTY	= 0x00,
	CLIENTFLUID_BLUE	= 0x01,
	CLIENTFLUID_PURPLE	= 0x02,
	CLIENTFLUID_BROWN_1	= 0x03,
	CLIENTFLUID_BROWN_2	= 0x04,
	CLIENTFLUID_RED		= 0x05,
	CLIENTFLUID_GREEN	= 0x06,
	CLIENTFLUID_BROWN	= 0x07,
	CLIENTFLUID_YELLOW	= 0x08,
	CLIENTFLUID_WHITE	= 0x09
};

const uint8_t fluidMap[] =
{
	CLIENTFLUID_EMPTY,
	CLIENTFLUID_BLUE,
	CLIENTFLUID_RED,
	CLIENTFLUID_BROWN_1,
	CLIENTFLUID_GREEN,
	CLIENTFLUID_YELLOW,
	CLIENTFLUID_WHITE,
	CLIENTFLUID_PURPLE
};

enum SquareColor_t
{
	SQ_COLOR_NONE = 256,
	SQ_COLOR_BLACK = 0,
};

enum TextColor_t
{
	TEXTCOLOR_BLUE		= 5,
	TEXTCOLOR_GREEN		= 18,
	TEXTCOLOR_TEAL		= 35,
	TEXTCOLOR_LIGHTGREEN	= 66,
	TEXTCOLOR_DARKBROWN	= 78,
	TEXTCOLOR_LIGHTBLUE	= 89,
	TEXTCOLOR_DARKPURPLE	= 112,
	TEXTCOLOR_BROWN		= 120,
	TEXTCOLOR_GREY		= 129,
	TEXTCOLOR_DARKRED	= 144,
	TEXTCOLOR_DARKPINK	= 152,
	TEXTCOLOR_PURPLE	= 154,
	TEXTCOLOR_DARKORANGE	= 156,
	TEXTCOLOR_RED		= 180,
	TEXTCOLOR_PINK		= 190,
	TEXTCOLOR_ORANGE	= 192,
	TEXTCOLOR_DARKYELLOW	= 205,
	TEXTCOLOR_YELLOW	= 210,
	TEXTCOLOR_WHITE		= 215,

	TEXTCOLOR_NONE		= 255
};

enum Icons_t
{
	ICON_NONE = 0,
	ICON_POISON = 1 << 0,
	ICON_BURN = 1 << 1,
	ICON_ENERGY =  1 << 2,
	ICON_DRUNK = 1 << 3,
	ICON_MANASHIELD = 1 << 4,
	ICON_PARALYZE = 1 << 5,
	ICON_HASTE = 1 << 6,
	ICON_SWORDS = 1 << 7,
	ICON_DROWNING = 1 << 8,
	ICON_FREEZING = 1 << 9,
	ICON_DAZZLED = 1 << 10,
	ICON_CURSED = 1 << 11,
	ICON_BUFF = 1 << 12
};

enum WeaponType_t
{
	WEAPON_NONE = 0,
	WEAPON_SWORD = 1,
	WEAPON_CLUB = 2,
	WEAPON_AXE = 3,
	WEAPON_SHIELD = 4,
	WEAPON_DIST = 5,
	WEAPON_WAND = 6,
	WEAPON_AMMO = 7,
	WEAPON_FIST = 8
};

enum Ammo_t
{
	AMMO_NONE = 0,
	AMMO_BOLT = 1,
	AMMO_ARROW = 2,
	AMMO_SPEAR = 3,
	AMMO_THROWINGSTAR = 4,
	AMMO_THROWINGKNIFE = 5,
	AMMO_STONE = 6,
	AMMO_SNOWBALL = 7
};

enum AmmoAction_t
{
	AMMOACTION_NONE,
	AMMOACTION_REMOVECOUNT,
	AMMOACTION_REMOVECHARGE,
	AMMOACTION_MOVE,
	AMMOACTION_MOVEBACK
};

enum WieldInfo_t
{
	WIELDINFO_LEVEL = 1,
	WIELDINFO_MAGLV = 2,
	WIELDINFO_VOCREQ = 4,
	WIELDINFO_PREMIUM = 8
};

enum Skulls_t
{
	SKULL_NONE = 0,
	SKULL_YELLOW = 1,
	SKULL_GREEN = 2,
	SKULL_WHITE = 3,
	SKULL_RED = 4
};

enum PartyShields_t
{
	SHIELD_NONE = 0,
	SHIELD_WHITEYELLOW = 1,
	SHIELD_WHITEBLUE = 2,
	SHIELD_BLUE = 3,
	SHIELD_YELLOW = 4,
	SHIELD_BLUE_SHAREDEXP = 5,
	SHIELD_YELLOW_SHAREDEXP = 6,
	SHIELD_BLUE_NOSHAREDEXP_BLINK = 7,
	SHIELD_YELLOW_NOSHAREDEXP_BLINK = 8,
	SHIELD_BLUE_NOSHAREDEXP = 9,
	SHIELD_YELLOW_NOSHAREDEXP = 10
};

enum item_t
{
	ITEM_FIREFIELD_PVP	= 1492,
	ITEM_FIREFIELD_NOPVP	= 1500,

	ITEM_POISONFIELD_PVP	= 1496,
	ITEM_POISONFIELD_NOPVP	= 1503,

	ITEM_ENERGYFIELD_PVP	= 1495,
	ITEM_ENERGYFIELD_NOPVP	= 1504,

	ITEM_DEPOT		= 2594,
	ITEM_LOCKER1		= 2589,

	ITEM_MALE_CORPSE	= 6080,
	ITEM_FEMALE_CORPSE	= 6081,

	ITEM_MEAT		= 2666,
	ITEM_HAM		= 2671,
	ITEM_GRAPE		= 2681,
	ITEM_APPLE		= 2674,
	ITEM_BREAD		= 2689,
	ITEM_ROLL		= 2690,
	ITEM_CHEESE		= 2696,

	ITEM_FULLSPLASH		= 2016,
	ITEM_SMALLSPLASH	= 2019,

	ITEM_PARCEL		= 2595,
	ITEM_PARCEL_STAMPED	= 2596,
	ITEM_LETTER		= 2597,
	ITEM_LETTER_STAMPED	= 2598,
	ITEM_LABEL		= 2599,

	ITEM_WATERBALL		= 7711,
	ITEM_HOUSE_TRANSFER	= 1968 //read-only
};

enum PlayerFlags
{
	PlayerFlag_CannotUseCombat = 0,			//2^0 = 1
	PlayerFlag_CannotAttackPlayer,			//2^1 = 2
	PlayerFlag_CannotAttackMonster,			//2^2 = 4
	PlayerFlag_CannotBeAttacked,			//2^3 = 8
	PlayerFlag_CanConvinceAll,			//2^4 = 16
	PlayerFlag_CanSummonAll,			//2^5 = 32
	PlayerFlag_CanIllusionAll,			//2^6 = 64
	PlayerFlag_CanSenseInvisibility,		//2^7 = 128
	PlayerFlag_IgnoredByMonsters,			//2^8 = 256
	PlayerFlag_NotGainInFight,			//2^9 = 512
	PlayerFlag_HasInfiniteMana,			//2^10 = 1024
	PlayerFlag_HasInfiniteSoul,			//2^11 = 2048
	PlayerFlag_HasNoExhaustion,			//2^12 = 4096
	PlayerFlag_CannotUseSpells,			//2^13 = 8192
	PlayerFlag_CannotPickupItem,			//2^14 = 16384
	PlayerFlag_CanAlwaysLogin,			//2^15 = 32768
	PlayerFlag_CanBroadcast,			//2^16 = 65536
	PlayerFlag_CanEditHouses,			//2^17 = 131072
	PlayerFlag_CannotBeBanned,			//2^18 = 262144
	PlayerFlag_CannotBePushed,			//2^19 = 524288
	PlayerFlag_HasInfiniteCapacity,			//2^20 = 1048576
	PlayerFlag_CanPushAllCreatures,			//2^21 = 2097152
	PlayerFlag_CanTalkRedPrivate,			//2^22 = 4194304
	PlayerFlag_CanTalkRedChannel,			//2^23 = 8388608
	PlayerFlag_TalkOrangeHelpChannel,		//2^24 = 16777216
	PlayerFlag_NotGainExperience,			//2^25 = 33554432
	PlayerFlag_NotGainMana,				//2^26 = 67108864
	PlayerFlag_NotGainHealth,			//2^27 = 134217728
	PlayerFlag_NotGainSkill,			//2^28 = 268435456
	PlayerFlag_SetMaxSpeed,				//2^29 = 536870912
	PlayerFlag_SpecialVIP,				//2^30 = 1073741824
	PlayerFlag_NotGenerateLoot,			//2^31 = 2147483648
	PlayerFlag_CanTalkRedChannelAnonymous,		//2^32 = 4294967296
	PlayerFlag_IgnoreProtectionZone,		//2^33 = 8589934592
	PlayerFlag_IgnoreSpellCheck,			//2^34 = 17179869184
	PlayerFlag_IgnoreEquipCheck,			//2^35 = 34359738368
	PlayerFlag_CannotBeMuted,			//2^36 = 68719476736
	PlayerFlag_IsAlwaysPremium,			//2^37 = 137438953472
	PlayerFlag_CanAnswerRuleViolations,		//2^38 = 274877906944
	PlayerFlag_39,	//ignore			//2^39 = 549755813888	//not used by us
	PlayerFlag_ShowGroupNameInsteadOfVocation,	//2^40 = 1099511627776
	PlayerFlag_HasInfiniteStamina,			//2^41 = 2199023255552
	PlayerFlag_CannotMoveItems,			//2^42 = 4398046511104
	PlayerFlag_CannotMoveCreatures,			//2^43 = 8796093020000
	PlayerFlag_CanReportBugs,			//2^44 = 17592186040000
	PlayerFlag_45,	//ignore			//2^45 = 35184272080000	//not used by us

	PlayerFlag_LastFlag
};

enum PlayerCustomFlags
{
	PlayerCustomFlag_UnusedAndToReplace = 0,		//2^0 = 1
	PlayerCustomFlag_CanSeePosition,			//2^1 = 2
	PlayerCustomFlag_CanSeeItemDetails,			//2^2 = 4
	PlayerCustomFlag_CanSeeCreatureDetails,			//2^3 = 8
	PlayerCustomFlag_NotSearchable,				//2^4 = 16
	PlayerCustomFlag_GamemasterPrivileges,			//2^5 = 32
	PlayerCustomFlag_CanThrowAnywhere,			//2^6 = 64
	PlayerCustomFlag_CanPushAllItems,			//2^7 = 128
	PlayerCustomFlag_CanMoveAnywhere,			//2^8 = 256
	PlayerCustomFlag_CanMoveFromFar,			//2^9 = 512
	PlayerCustomFlag_CanLoginMultipleCharacters,		//2^10 = 1024 (account flag)
	PlayerCustomFlag_HasFullLight,				//2^11 = 2048
	PlayerCustomFlag_CanLogoutAnytime,			//2^12 = 4096 (account flag)
	PlayerCustomFlag_HideLevel,				//2^13 = 8192
	PlayerCustomFlag_IsProtected,				//2^14 = 16384
	PlayerCustomFlag_IsImmune,				//2^15 = 32768
	PlayerCustomFlag_NotGainSkull,				//2^16 = 65536
	PlayerCustomFlag_NotGainUnjustified,			//2^17 = 131072
	PlayerCustomFlag_IgnorePacification,			//2^18 = 262144
	PlayerCustomFlag_IgnoreLoginDelay,			//2^19 = 524288
	PlayerCustomFlag_CanStairhop,				//2^20 = 1048576
	PlayerCustomFlag_CanTurnhop,				//2^21 = 2097152

	PlayerCustomFlag_LastFlag
};

enum ViolationActions_t
{
	Action_None			= 0,
	Action_Notation			= 1 << 0,
	Action_Namelock			= 1 << 1,
	Action_Banishment		= 1 << 2,
	Action_NamelockBan		= 1 << 3,
	Action_BanFinalWarning		= 1 << 4,
	Action_NamelockBanFinalWarning	= 1 << 5,
	Action_StatementReport		= 1 << 6,
	Action_IpBan			= 1 << 7
};

const int32_t violationReasons[5] =
{
	0,	//ignore this
	3,	//all name reasons
	9,	//all name & statement reasons
	18,	//all name, statement & cheating reasons
	22	//all reasons
};

const int32_t violationNames[5] =
{
	Action_None,
	Action_Namelock,
	Action_Namelock,
	Action_Namelock | Action_NamelockBan,
	Action_Namelock | Action_NamelockBan | Action_NamelockBanFinalWarning | Action_IpBan
};

const int32_t violationStatements[5] =
{
	Action_None,
	Action_None,
	Action_StatementReport,
	Action_StatementReport | Action_Notation | Action_Banishment,
	Action_StatementReport | Action_Notation | Action_Banishment | Action_BanFinalWarning | Action_IpBan
};

//Reserved player storage key ranges
//[10000000 - 20000000]
#define PSTRG_RESERVED_RANGE_START	10000000
#define PSTRG_RESERVED_RANGE_SIZE	10000000
//[1000 - 1500]
#define PSTRG_OUTFITS_RANGE_START	(PSTRG_RESERVED_RANGE_START + 1000)
#define PSTRG_OUTFITS_RANGE_SIZE	500

#define IS_IN_KEYRANGE(key, range) (key >= PSTRG_##range##_START && ((key - PSTRG_##range##_START) < PSTRG_##range##_SIZE))

#endif

Could you fix it please?
 
PHP:
//////////////////////////////////////////////////////////////////////
// OpenTibia - an opensource roleplaying game
//////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software Foundation,
// Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
//////////////////////////////////////////////////////////////////////

#ifndef __OTSERV_CONST_H__
#define __OTSERV_CONST_H__

#include "definitions.h"

#define NETWORKMESSAGE_MAXSIZE 15360

enum MagicEffectClasses
{
    NM_ME_DRAW_BLOOD    = 0x00,
    NM_ME_LOSE_ENERGY    = 0x01,
    NM_ME_POFF        = 0x02,
    NM_ME_BLOCKHIT        = 0x03,
    NM_ME_EXPLOSION_AREA    = 0x04,
    NM_ME_EXPLOSION_DAMAGE    = 0x05,
    NM_ME_FIRE_AREA        = 0x06,
    NM_ME_YELLOW_RINGS    = 0x07,
    NM_ME_POISON_RINGS    = 0x08,
    NM_ME_HIT_AREA        = 0x09,
    NM_ME_TELEPORT        = 0x0A, //10
    NM_ME_ENERGY_DAMAGE    = 0x0B, //11
    NM_ME_MAGIC_ENERGY    = 0x0C, //12
    NM_ME_MAGIC_BLOOD    = 0x0D, //13
    NM_ME_MAGIC_POISON    = 0x0E, //14
    NM_ME_HITBY_FIRE    = 0x0F, //15
    NM_ME_POISON        = 0x10, //16
    NM_ME_MORT_AREA        = 0x11, //17
    NM_ME_SOUND_GREEN    = 0x12, //18
    NM_ME_SOUND_RED        = 0x13, //19
    NM_ME_POISON_AREA    = 0x14, //20
    NM_ME_SOUND_YELLOW    = 0x15, //21
    NM_ME_SOUND_PURPLE    = 0x16, //22
    NM_ME_SOUND_BLUE    = 0x17, //23
    NM_ME_SOUND_WHITE    = 0x18, //24
    NM_ME_BUBBLES        = 0x19, //25
    NM_ME_CRAPS        = 0x1A, //26
    NM_ME_GIFT_WRAPS    = 0x1B, //27
    NM_ME_FIREWORK_YELLOW    = 0x1C, //28
    NM_ME_FIREWORK_RED    = 0x1D, //29
    NM_ME_FIREWORK_BLUE    = 0x1E, //30
    NM_ME_STUN        = 0x1F, //31
    NM_ME_SLEEP        = 0x20, //32
    NM_ME_WATERCREATURE    = 0x21, //33
    NM_ME_GROUNDSHAKER    = 0x22, //34
    NM_ME_HEARTS        = 0x23, //35
    NM_ME_FIREATTACK    = 0x24, //36
    NM_ME_ENERGY_AREA    = 0x25, //37
    NM_ME_SMALLCLOUDS    = 0x26, //38
    NM_ME_HOLYDAMAGE    = 0x27, //39
    NM_ME_BIGCLOUDS        = 0x28, //40
    NM_ME_ICEAREA        = 0x29, //41
    NM_ME_ICETORNADO    = 0x2A, //42
    NM_ME_ICEATTACK        = 0x2B, //43
    NM_ME_STONES        = 0x2C, //44
    NM_ME_SMALLPLANTS    = 0x2D, //45
    NM_ME_CARNIPHILA    = 0x2E, //46
    NM_ME_PURPLEENERGY    = 0x2F, //47
    NM_ME_YELLOWENERGY    = 0x30, //48
    NM_ME_HOLYAREA        = 0x31, //49
    NM_ME_BIGPLANTS        = 0x32, //50
    NM_ME_CAKE        = 0x33, //51
    NM_ME_GIANTICE        = 0x34, //52
    NM_ME_WATERSPLASH    = 0x35, //53
    NM_ME_PLANTATTACK    = 0x36, //54
    NM_ME_TUTORIALARROW    = 0x37, //55
    NM_ME_TUTORIALSQUARE    = 0x38, //56
    NM_ME_MIRRORHORIZONTAL    = 0x39, //57
    NM_ME_MIRRORVERTICAL    = 0x3A, //58
    NM_ME_SKULLHORIZONTAL    = 0x3B, //59
    NM_ME_SKULLVERTICAL    = 0x3C, //60
    NM_ME_ASSASSIN        = 0x3D, //61
    NM_ME_STEPSHORIZONTAL    = 0x3E, //62
    NM_ME_BLOODYSTEPS    = 0x3F, //63
    NM_ME_STEPSVERTICAL    = 0x40, //64
    NM_ME_YALAHARIGHOST    = 0x41, //65
    NM_ME_BATS        = 0x42, //66
    NM_ME_CURACION        = 0x43, //67
	NM_ME_NEW        = 0xFE, //149
    NM_ME_LAST = NM_ME_NEW,

    //for internal use, dont send to client
    NM_ME_NONE             = 0xFF,
    NM_ME_UNK              = 0xFFFF
};

enum ShootType_t
{
    NM_SHOOT_SPEAR        = 0x00,
    NM_SHOOT_BOLT        = 0x01,
    NM_SHOOT_ARROW        = 0x02,
    NM_SHOOT_FIRE        = 0x03,
    NM_SHOOT_ENERGY        = 0x04,
    NM_SHOOT_POISONARROW    = 0x05,
    NM_SHOOT_BURSTARROW    = 0x06,
    NM_SHOOT_THROWINGSTAR    = 0x07,
    NM_SHOOT_THROWINGKNIFE    = 0x08,
    NM_SHOOT_SMALLSTONE    = 0x09,
    NM_SHOOT_DEATH        = 0x0A, //10
    NM_SHOOT_LARGEROCK    = 0x0B, //11
    NM_SHOOT_SNOWBALL    = 0x0C, //12
    NM_SHOOT_POWERBOLT    = 0x0D, //13
    NM_SHOOT_POISONFIELD    = 0x0E, //14
    NM_SHOOT_INFERNALBOLT    = 0x0F, //15
    NM_SHOOT_HUNTINGSPEAR    = 0x10, //16
    NM_SHOOT_ENCHANTEDSPEAR    = 0x11, //17
    NM_SHOOT_REDSTAR    = 0x12, //18
    NM_SHOOT_GREENSTAR    = 0x13, //19
    NM_SHOOT_ROYALSPEAR    = 0x14, //20
    NM_SHOOT_SNIPERARROW    = 0x15, //21
    NM_SHOOT_ONYXARROW    = 0x16, //22
    NM_SHOOT_PIERCINGBOLT    = 0x17, //23
    NM_SHOOT_WHIRLWINDSWORD    = 0x18, //24
    NM_SHOOT_WHIRLWINDAXE    = 0x19, //25
    NM_SHOOT_WHIRLWINDCLUB    = 0x1A, //26
    NM_SHOOT_ETHEREALSPEAR    = 0x1B, //27
    NM_SHOOT_ICE        = 0x1C, //28
    NM_SHOOT_EARTH        = 0x1D, //29
    NM_SHOOT_HOLY        = 0x1E, //30
    NM_SHOOT_SUDDENDEATH    = 0x1F, //31
    NM_SHOOT_FLASHARROW    = 0x20, //32
    NM_SHOOT_FLAMMINGARROW    = 0x21, //33
    NM_SHOOT_SHIVERARROW    = 0x22, //34
    NM_SHOOT_ENERGYBALL    = 0x23, //35
    NM_SHOOT_SMALLICE    = 0x24, //36
    NM_SHOOT_SMALLHOLY    = 0x25, //37
    NM_SHOOT_SMALLEARTH    = 0x26, //38
    NM_SHOOT_EARTHARROW    = 0x27, //39
    NM_SHOOT_EXPLOSION    = 0x28, //40
    NM_SHOOT_CAKE        = 0x29, //41
    NM_SHOOT_LAST = NM_SHOOT_CAKE,

    //for internal use, dont send to client
    NM_SHOOT_WEAPONTYPE    = 0xFE, //254
    NM_SHOOT_NONE        = 0xFF,
    NM_SHOOT_UNK        = 0xFFFF
};

enum SpeakClasses
{
    SPEAK_CLASS_FIRST     = 0x01,
    SPEAK_SAY        = SPEAK_CLASS_FIRST,
    SPEAK_WHISPER        = 0x02,
    SPEAK_YELL        = 0x03,
    SPEAK_PRIVATE_PN    = 0x04,
    SPEAK_PRIVATE_NP    = 0x05,
    SPEAK_PRIVATE        = 0x06,
    SPEAK_CHANNEL_Y        = 0x07,
    SPEAK_CHANNEL_W        = 0x08,
    SPEAK_RVR_CHANNEL    = 0x09,
    SPEAK_RVR_ANSWER    = 0x0A,
    SPEAK_RVR_CONTINUE    = 0x0B,
    SPEAK_BROADCAST        = 0x0C,
    SPEAK_CHANNEL_R1    = 0x0D, //red - #c text
    SPEAK_PRIVATE_RED    = 0x0E,    //@name@text
    SPEAK_CHANNEL_O        = 0x0F,
    //SPEAK_UNKNOWN_1        = 0x10,
    SPEAK_CHANNEL_R2    = 0x11,    //red anonymous - #d text
    //SPEAK_UNKNOWN_2        = 0x12,
    SPEAK_MONSTER_SAY    = 0x13,
    SPEAK_MONSTER_YELL    = 0x14,
    SPEAK_CLASS_LAST     = SPEAK_MONSTER_YELL
};

enum MessageClasses
{
    MSG_CLASS_FIRST            = 0x12,
    MSG_STATUS_CONSOLE_RED        = MSG_CLASS_FIRST, /*Red message in the console*/
    MSG_EVENT_ORANGE        = 0x13, /*Orange message in the console*/
    MSG_STATUS_CONSOLE_ORANGE    = 0x14, /*Orange message in the console*/
    MSG_STATUS_WARNING        = 0x15, /*Red message in game window and in the console*/
    MSG_EVENT_ADVANCE        = 0x16, /*White message in game window and in the console*/
    MSG_EVENT_DEFAULT        = 0x17, /*White message at the bottom of the game window and in the console*/
    MSG_STATUS_DEFAULT        = 0x18, /*White message at the bottom of the game window and in the console*/
    MSG_INFO_DESCR            = 0x19, /*Green message in game window and in the console*/
    MSG_STATUS_SMALL        = 0x1A, /*White message at the bottom of the game window"*/
    MSG_STATUS_CONSOLE_BLUE        = 0x1B, /*Blue message in the console*/
    MSG_CLASS_LAST            = MSG_STATUS_CONSOLE_BLUE
};

enum MapMarks_t
{
    MAPMARK_TICK        = 0x00,
    MAPMARK_QUESTION    = 0x01,
    MAPMARK_EXCLAMATION    = 0x02,
    MAPMARK_STAR        = 0x03,
    MAPMARK_CROSS        = 0x04,
    MAPMARK_TEMPLE        = 0x05,
    MAPMARK_KISS        = 0x06,
    MAPMARK_SHOVEL        = 0x07,
    MAPMARK_SWORD        = 0x08,
    MAPMARK_FLAG        = 0x09,
    MAPMARK_LOCK        = 0x0A,
    MAPMARK_BAG        = 0x0B,
    MAPMARK_SKULL        = 0x0C,
    MAPMARK_DOLLAR        = 0x0D,
    MAPMARK_REDNORTH    = 0x0E,
    MAPMARK_REDSOUTH    = 0x0F,
    MAPMARK_REDEAST        = 0x10,
    MAPMARK_REDWEST        = 0x11,
    MAPMARK_GREENNORTH    = 0x12,
    MAPMARK_GREENSOUTH    = 0x13
};

enum FluidColors_t
{
    FLUID_EMPTY    = 0x00,
    FLUID_BLUE    = 0x01,
    FLUID_RED    = 0x02,
    FLUID_BROWN    = 0x03,
    FLUID_GREEN    = 0x04,
    FLUID_YELLOW    = 0x05,
    FLUID_WHITE    = 0x06,
    FLUID_PURPLE    = 0x07
};

enum FluidTypes_t
{
    FLUID_NONE        = FLUID_EMPTY,
    FLUID_WATER        = FLUID_BLUE,
    FLUID_BLOOD        = FLUID_RED,
    FLUID_BEER        = FLUID_BROWN,
    FLUID_SLIME        = FLUID_GREEN,
    FLUID_LEMONADE        = FLUID_YELLOW,
    FLUID_MILK        = FLUID_WHITE,
    FLUID_MANA        = FLUID_PURPLE,

    FLUID_LIFE        = FLUID_RED + 8,
    FLUID_OIL        = FLUID_BROWN + 8,
    FLUID_URINE        = FLUID_YELLOW + 8,
    FLUID_COCONUTMILK    = FLUID_WHITE + 8,
    FLUID_WINE        = FLUID_PURPLE + 8,

    FLUID_MUD        = FLUID_BROWN + 16,
    FLUID_FRUITJUICE    = FLUID_YELLOW + 16,

    FLUID_LAVA        = FLUID_RED + 24,
    FLUID_RUM        = FLUID_BROWN + 24,
    FLUID_SWAMP        = FLUID_GREEN + 24,
};

const uint8_t reverseFluidMap[] =
{
    FLUID_EMPTY,
    FLUID_WATER,
    FLUID_MANA,
    FLUID_BEER,
    FLUID_EMPTY,
    FLUID_BLOOD,
    FLUID_SLIME,
    FLUID_EMPTY,
    FLUID_LEMONADE,
    FLUID_MILK
};

enum ClientFluidTypes_t
{
    CLIENTFLUID_EMPTY    = 0x00,
    CLIENTFLUID_BLUE    = 0x01,
    CLIENTFLUID_PURPLE    = 0x02,
    CLIENTFLUID_BROWN_1    = 0x03,
    CLIENTFLUID_BROWN_2    = 0x04,
    CLIENTFLUID_RED        = 0x05,
    CLIENTFLUID_GREEN    = 0x06,
    CLIENTFLUID_BROWN    = 0x07,
    CLIENTFLUID_YELLOW    = 0x08,
    CLIENTFLUID_WHITE    = 0x09
};

const uint8_t fluidMap[] =
{
    CLIENTFLUID_EMPTY,
    CLIENTFLUID_BLUE,
    CLIENTFLUID_RED,
    CLIENTFLUID_BROWN_1,
    CLIENTFLUID_GREEN,
    CLIENTFLUID_YELLOW,
    CLIENTFLUID_WHITE,
    CLIENTFLUID_PURPLE
};

enum SquareColor_t
{
    SQ_COLOR_NONE = 256,
    SQ_COLOR_BLACK = 0,
};

enum TextColor_t
{
    TEXTCOLOR_BLUE        = 5,
    TEXTCOLOR_GREEN        = 18,
    TEXTCOLOR_TEAL        = 35,
    TEXTCOLOR_LIGHTGREEN    = 66,
    TEXTCOLOR_DARKBROWN    = 78,
    TEXTCOLOR_LIGHTBLUE    = 89,
    TEXTCOLOR_DARKPURPLE    = 112,
    TEXTCOLOR_BROWN        = 120,
    TEXTCOLOR_GREY        = 129,
    TEXTCOLOR_DARKRED    = 144,
    TEXTCOLOR_DARKPINK    = 152,
    TEXTCOLOR_PURPLE    = 154,
    TEXTCOLOR_DARKORANGE    = 156,
    TEXTCOLOR_RED        = 180,
    TEXTCOLOR_PINK        = 190,
    TEXTCOLOR_ORANGE    = 192,
    TEXTCOLOR_DARKYELLOW    = 205,
    TEXTCOLOR_YELLOW    = 210,
    TEXTCOLOR_WHITE        = 215,

    TEXTCOLOR_NONE        = 255
};

enum Icons_t
{
    ICON_NONE = 0,
    ICON_POISON = 1 << 0,
    ICON_BURN = 1 << 1,
    ICON_ENERGY =  1 << 2,
    ICON_DRUNK = 1 << 3,
    ICON_MANASHIELD = 1 << 4,
    ICON_PARALYZE = 1 << 5,
    ICON_HASTE = 1 << 6,
    ICON_SWORDS = 1 << 7,
    ICON_DROWNING = 1 << 8,
    ICON_FREEZING = 1 << 9,
    ICON_DAZZLED = 1 << 10,
    ICON_CURSED = 1 << 11,
    ICON_BUFF = 1 << 12
};

enum WeaponType_t
{
    WEAPON_NONE = 0,
    WEAPON_SWORD = 1,
    WEAPON_CLUB = 2,
    WEAPON_AXE = 3,
    WEAPON_SHIELD = 4,
    WEAPON_DIST = 5,
    WEAPON_WAND = 6,
    WEAPON_AMMO = 7,
    WEAPON_FIST = 8
};

enum Ammo_t
{
    AMMO_NONE = 0,
    AMMO_BOLT = 1,
    AMMO_ARROW = 2,
    AMMO_SPEAR = 3,
    AMMO_THROWINGSTAR = 4,
    AMMO_THROWINGKNIFE = 5,
    AMMO_STONE = 6,
    AMMO_SNOWBALL = 7
};

enum AmmoAction_t
{
    AMMOACTION_NONE,
    AMMOACTION_REMOVECOUNT,
    AMMOACTION_REMOVECHARGE,
    AMMOACTION_MOVE,
    AMMOACTION_MOVEBACK
};

enum WieldInfo_t
{
    WIELDINFO_LEVEL = 1,
    WIELDINFO_MAGLV = 2,
    WIELDINFO_VOCREQ = 4,
    WIELDINFO_PREMIUM = 8
};

enum Skulls_t
{
    SKULL_NONE = 0,
    SKULL_YELLOW = 1,
    SKULL_GREEN = 2,
    SKULL_WHITE = 3,
    SKULL_RED = 4
};

enum PartyShields_t
{
    SHIELD_NONE = 0,
    SHIELD_WHITEYELLOW = 1,
    SHIELD_WHITEBLUE = 2,
    SHIELD_BLUE = 3,
    SHIELD_YELLOW = 4,
    SHIELD_BLUE_SHAREDEXP = 5,
    SHIELD_YELLOW_SHAREDEXP = 6,
    SHIELD_BLUE_NOSHAREDEXP_BLINK = 7,
    SHIELD_YELLOW_NOSHAREDEXP_BLINK = 8,
    SHIELD_BLUE_NOSHAREDEXP = 9,
    SHIELD_YELLOW_NOSHAREDEXP = 10
};

enum item_t
{
    ITEM_FIREFIELD_PVP    = 1492,
    ITEM_FIREFIELD_NOPVP    = 1500,

    ITEM_POISONFIELD_PVP    = 1496,
    ITEM_POISONFIELD_NOPVP    = 1503,

    ITEM_ENERGYFIELD_PVP    = 1495,
    ITEM_ENERGYFIELD_NOPVP    = 1504,

    ITEM_DEPOT        = 2594,
    ITEM_LOCKER1        = 2589,

    ITEM_MALE_CORPSE    = 6080,
    ITEM_FEMALE_CORPSE    = 6081,

    ITEM_MEAT        = 2666,
    ITEM_HAM        = 2671,
    ITEM_GRAPE        = 2681,
    ITEM_APPLE        = 2674,
    ITEM_BREAD        = 2689,
    ITEM_ROLL        = 2690,
    ITEM_CHEESE        = 2696,

    ITEM_FULLSPLASH        = 2016,
    ITEM_SMALLSPLASH    = 2019,

    ITEM_PARCEL        = 2595,
    ITEM_PARCEL_STAMPED    = 2596,
    ITEM_LETTER        = 2597,
    ITEM_LETTER_STAMPED    = 2598,
    ITEM_LABEL        = 2599,

    ITEM_WATERBALL        = 7711,
    ITEM_HOUSE_TRANSFER    = 1968 //read-only
};

enum PlayerFlags
{
    PlayerFlag_CannotUseCombat = 0,            //2^0 = 1
    PlayerFlag_CannotAttackPlayer,            //2^1 = 2
    PlayerFlag_CannotAttackMonster,            //2^2 = 4
    PlayerFlag_CannotBeAttacked,            //2^3 = 8
    PlayerFlag_CanConvinceAll,            //2^4 = 16
    PlayerFlag_CanSummonAll,            //2^5 = 32
    PlayerFlag_CanIllusionAll,            //2^6 = 64
    PlayerFlag_CanSenseInvisibility,        //2^7 = 128
    PlayerFlag_IgnoredByMonsters,            //2^8 = 256
    PlayerFlag_NotGainInFight,            //2^9 = 512
    PlayerFlag_HasInfiniteMana,            //2^10 = 1024
    PlayerFlag_HasInfiniteSoul,            //2^11 = 2048
    PlayerFlag_HasNoExhaustion,            //2^12 = 4096
    PlayerFlag_CannotUseSpells,            //2^13 = 8192
    PlayerFlag_CannotPickupItem,            //2^14 = 16384
    PlayerFlag_CanAlwaysLogin,            //2^15 = 32768
    PlayerFlag_CanBroadcast,            //2^16 = 65536
    PlayerFlag_CanEditHouses,            //2^17 = 131072
    PlayerFlag_CannotBeBanned,            //2^18 = 262144
    PlayerFlag_CannotBePushed,            //2^19 = 524288
    PlayerFlag_HasInfiniteCapacity,            //2^20 = 1048576
    PlayerFlag_CanPushAllCreatures,            //2^21 = 2097152
    PlayerFlag_CanTalkRedPrivate,            //2^22 = 4194304
    PlayerFlag_CanTalkRedChannel,            //2^23 = 8388608
    PlayerFlag_TalkOrangeHelpChannel,        //2^24 = 16777216
    PlayerFlag_NotGainExperience,            //2^25 = 33554432
    PlayerFlag_NotGainMana,                //2^26 = 67108864
    PlayerFlag_NotGainHealth,            //2^27 = 134217728
    PlayerFlag_NotGainSkill,            //2^28 = 268435456
    PlayerFlag_SetMaxSpeed,                //2^29 = 536870912
    PlayerFlag_SpecialVIP,                //2^30 = 1073741824
    PlayerFlag_NotGenerateLoot,            //2^31 = 2147483648
    PlayerFlag_CanTalkRedChannelAnonymous,        //2^32 = 4294967296
    PlayerFlag_IgnoreProtectionZone,        //2^33 = 8589934592
    PlayerFlag_IgnoreSpellCheck,            //2^34 = 17179869184
    PlayerFlag_IgnoreEquipCheck,            //2^35 = 34359738368
    PlayerFlag_CannotBeMuted,            //2^36 = 68719476736
    PlayerFlag_IsAlwaysPremium,            //2^37 = 137438953472
    PlayerFlag_CanAnswerRuleViolations,        //2^38 = 274877906944
    PlayerFlag_39,    //ignore            //2^39 = 549755813888    //not used by us
    PlayerFlag_ShowGroupNameInsteadOfVocation,    //2^40 = 1099511627776
    PlayerFlag_HasInfiniteStamina,            //2^41 = 2199023255552
    PlayerFlag_CannotMoveItems,            //2^42 = 4398046511104
    PlayerFlag_CannotMoveCreatures,            //2^43 = 8796093020000
    PlayerFlag_CanReportBugs,            //2^44 = 17592186040000
    PlayerFlag_45,    //ignore            //2^45 = 35184272080000    //not used by us

    PlayerFlag_LastFlag
};

enum PlayerCustomFlags
{
    PlayerCustomFlag_UnusedAndToReplace = 0,        //2^0 = 1
    PlayerCustomFlag_CanSeePosition,            //2^1 = 2
    PlayerCustomFlag_CanSeeItemDetails,            //2^2 = 4
    PlayerCustomFlag_CanSeeCreatureDetails,            //2^3 = 8
    PlayerCustomFlag_NotSearchable,                //2^4 = 16
    PlayerCustomFlag_GamemasterPrivileges,            //2^5 = 32
    PlayerCustomFlag_CanThrowAnywhere,            //2^6 = 64
    PlayerCustomFlag_CanPushAllItems,            //2^7 = 128
    PlayerCustomFlag_CanMoveAnywhere,            //2^8 = 256
    PlayerCustomFlag_CanMoveFromFar,            //2^9 = 512
    PlayerCustomFlag_CanLoginMultipleCharacters,        //2^10 = 1024 (account flag)
    PlayerCustomFlag_HasFullLight,                //2^11 = 2048
    PlayerCustomFlag_CanLogoutAnytime,            //2^12 = 4096 (account flag)
    PlayerCustomFlag_HideLevel,                //2^13 = 8192
    PlayerCustomFlag_IsProtected,                //2^14 = 16384
    PlayerCustomFlag_IsImmune,                //2^15 = 32768
    PlayerCustomFlag_NotGainSkull,                //2^16 = 65536
    PlayerCustomFlag_NotGainUnjustified,            //2^17 = 131072
    PlayerCustomFlag_IgnorePacification,            //2^18 = 262144
    PlayerCustomFlag_IgnoreLoginDelay,            //2^19 = 524288
    PlayerCustomFlag_CanStairhop,                //2^20 = 1048576
    PlayerCustomFlag_CanTurnhop,                //2^21 = 2097152

    PlayerCustomFlag_LastFlag
};

enum ViolationActions_t
{
    Action_None            = 0,
    Action_Notation            = 1 << 0,
    Action_Namelock            = 1 << 1,
    Action_Banishment        = 1 << 2,
    Action_NamelockBan        = 1 << 3,
    Action_BanFinalWarning        = 1 << 4,
    Action_NamelockBanFinalWarning    = 1 << 5,
    Action_StatementReport        = 1 << 6,
    Action_IpBan            = 1 << 7
};

const int32_t violationReasons[5] =
{
    0,    //ignore this
    3,    //all name reasons
    9,    //all name & statement reasons
    18,    //all name, statement & cheating reasons
    22    //all reasons
};

const int32_t violationNames[5] =
{
    Action_None,
    Action_Namelock,
    Action_Namelock,
    Action_Namelock | Action_NamelockBan,
    Action_Namelock | Action_NamelockBan | Action_NamelockBanFinalWarning | Action_IpBan
};

const int32_t violationStatements[5] =
{
    Action_None,
    Action_None,
    Action_StatementReport,
    Action_StatementReport | Action_Notation | Action_Banishment,
    Action_StatementReport | Action_Notation | Action_Banishment | Action_BanFinalWarning | Action_IpBan
};

//Reserved player storage key ranges
//[10000000 - 20000000]
#define PSTRG_RESERVED_RANGE_START    10000000
#define PSTRG_RESERVED_RANGE_SIZE    10000000
//[1000 - 1500]
#define PSTRG_OUTFITS_RANGE_START    (PSTRG_RESERVED_RANGE_START + 1000)
#define PSTRG_OUTFITS_RANGE_SIZE    500

#define IS_IN_KEYRANGE(key, range) (key >= PSTRG_##range##_START && ((key - PSTRG_##range##_START) < PSTRG_##range##_SIZE))

#endif

NM_ME_NEW = 0xFE, //149
NM_ME_LAST = NM_ME_NEW,
 
I have been trying your way but new magic effects dont display in my server :(


MY CONSTANT NOW:
PHP:
TRUE = true
FALSE = false

LUA_ERROR = false
LUA_NO_ERROR = true

NORTH = 0
EAST = 1
SOUTH = 2
WEST = 3
SOUTHWEST = 4
SOUTHEAST = 5
NORTHWEST = 6
NORTHEAST = 7

COMBAT_FORMULA_UNDEFINED = 0
COMBAT_FORMULA_LEVELMAGIC = 1
COMBAT_FORMULA_SKILL = 2
COMBAT_FORMULA_DAMAGE = 3

CONDITION_PARAM_OWNER = 1
CONDITION_PARAM_TICKS = 2
CONDITION_PARAM_OUTFIT = 3
CONDITION_PARAM_HEALTHGAIN = 4
CONDITION_PARAM_HEALTHTICKS = 5
CONDITION_PARAM_MANAGAIN = 6
CONDITION_PARAM_MANATICKS = 7
CONDITION_PARAM_DELAYED = 8
CONDITION_PARAM_SPEED = 9
CONDITION_PARAM_LIGHT_LEVEL = 10
CONDITION_PARAM_LIGHT_COLOR = 11
CONDITION_PARAM_SOULGAIN = 12
CONDITION_PARAM_SOULTICKS = 13
CONDITION_PARAM_MINVALUE = 14
CONDITION_PARAM_MAXVALUE = 15
CONDITION_PARAM_STARTVALUE = 16
CONDITION_PARAM_TICKINTERVAL = 17
CONDITION_PARAM_FORCEUPDATE = 18
CONDITION_PARAM_SKILL_MELEE = 19
CONDITION_PARAM_SKILL_FIST = 20
CONDITION_PARAM_SKILL_CLUB = 21
CONDITION_PARAM_SKILL_SWORD = 22
CONDITION_PARAM_SKILL_AXE = 23
CONDITION_PARAM_SKILL_DISTANCE = 24
CONDITION_PARAM_SKILL_SHIELD = 25
CONDITION_PARAM_SKILL_FISHING = 26
CONDITION_PARAM_STAT_MAXHEALTH = 27
CONDITION_PARAM_STAT_MAXMANA = 28
CONDITION_PARAM_STAT_SOUL = 29
CONDITION_PARAM_STAT_MAGICLEVEL = 30
CONDITION_PARAM_STAT_MAXHEALTHPERCENT = 31
CONDITION_PARAM_STAT_MAXMANAPERCENT = 32
CONDITION_PARAM_STAT_SOULPERCENT = 33
CONDITION_PARAM_STAT_MAGICLEVELPERCENT = 34
CONDITION_PARAM_SKILL_MELEEPERCENT = 35
CONDITION_PARAM_SKILL_FISTPERCENT = 36
CONDITION_PARAM_SKILL_CLUBPERCENT = 37
CONDITION_PARAM_SKILL_SWORDPERCENT = 38
CONDITION_PARAM_SKILL_AXEPERCENT = 39
CONDITION_PARAM_SKILL_DISTANCEPERCENT = 40
CONDITION_PARAM_SKILL_SHIELDPERCENT = 41
CONDITION_PARAM_SKILL_FISHINGPERCENT = 42
CONDITION_PARAM_PERIODICDAMAGE = 43
CONDITION_PARAM_BUFF = 44
CONDITION_PARAM_SUBID = 45

COMBAT_PARAM_TYPE = 1
COMBAT_PARAM_EFFECT = 2
COMBAT_PARAM_DISTANCEEFFECT = 3
COMBAT_PARAM_BLOCKSHIELD = 4
COMBAT_PARAM_BLOCKARMOR = 5
COMBAT_PARAM_TARGETCASTERORTOPMOST = 6
COMBAT_PARAM_CREATEITEM = 7
COMBAT_PARAM_AGGRESSIVE = 8
COMBAT_PARAM_DISPEL = 9
COMBAT_PARAM_USECHARGES = 10
COMBAT_PARAM_TARGETPLAYERSORSUMMONS = 11

CALLBACK_PARAM_LEVELMAGICVALUE = 1
CALLBACK_PARAM_SKILLVALUE = 2
CALLBACK_PARAM_TARGETTILE = 3
CALLBACK_PARAM_TARGETCREATURE = 4

COMBAT_NONE = 0
COMBAT_PHYSICALDAMAGE = 1
COMBAT_ENERGYDAMAGE = 2
COMBAT_EARTHDAMAGE = 4
COMBAT_POISONDAMAGE = 4
COMBAT_FIREDAMAGE = 8
COMBAT_UNDEFINEDDAMAGE = 16
COMBAT_LIFEDRAIN = 32
COMBAT_MANADRAIN = 64
COMBAT_HEALING = 128
COMBAT_DROWNDAMAGE = 256
COMBAT_ICEDAMAGE = 512
COMBAT_HOLYDAMAGE = 1024
COMBAT_DEATHDAMAGE = 2048

CONDITION_NONE = 0
CONDITION_POISON = 1
CONDITION_FIRE = 2
CONDITION_ENERGY = 4
CONDITION_PHYSICAL = 8
CONDITION_HASTE = 16
CONDITION_PARALYZE = 32
CONDITION_OUTFIT = 64
CONDITION_INVISIBLE = 128
CONDITION_LIGHT = 256
CONDITION_MANASHIELD = 512
CONDITION_INFIGHT = 1024
CONDITION_DRUNK = 2048
CONDITION_EXHAUST = 4096
CONDITION_FOOD = 8192
CONDITION_REGENERATION = 8192
CONDITION_SOUL = 16384
CONDITION_DROWN = 32768
CONDITION_MUTED = 65536
CONDITION_ATTRIBUTES = 131072
CONDITION_FREEZING = 262144
CONDITION_DAZZLED = 524288
CONDITION_CURSED = 1048576
CONDITION_PACIFIED = 2097152
CONDITION_GAMEMASTER = 4194304

EXHAUST_OTHER = 0
EXHAUST_COMBAT = 1
EXHAUST_HEALING = 2
EXHAUST_WEAPON = 3

MUTED_BUFFER = 0
MUTED_YELL = 1
MUTED_TRADE = 2
MUTED_TRADE_ROOK = 3

GAMEMASTER_INVISIBLE = 0
GAMEMASTER_IGNORE = 1
GAMEMASTER_TELEPORT = 2

CONST_SLOT_HEAD = 1
CONST_SLOT_NECKLACE = 2
CONST_SLOT_BACKPACK = 3
CONST_SLOT_ARMOR = 4
CONST_SLOT_RIGHT = 5
CONST_SLOT_LEFT = 6
CONST_SLOT_LEGS = 7
CONST_SLOT_FEET = 8
CONST_SLOT_RING = 9
CONST_SLOT_AMMO = 10

CONST_ME_DRAWBLOOD = 0
CONST_ME_LOSEENERGY = 1
CONST_ME_POFF = 2
CONST_ME_BLOCKHIT = 3
CONST_ME_EXPLOSIONAREA = 4
CONST_ME_EXPLOSIONHIT = 5
CONST_ME_FIREAREA = 6
CONST_ME_YELLOW_RINGS = 7
CONST_ME_GREEN_RINGS = 8
CONST_ME_HITAREA = 9
CONST_ME_TELEPORT = 10
CONST_ME_ENERGYHIT = 11
CONST_ME_MAGIC_BLUE = 12
CONST_ME_MAGIC_RED = 13
CONST_ME_MAGIC_GREEN = 14
CONST_ME_HITBYFIRE = 15
CONST_ME_HITBYPOISON = 16
CONST_ME_MORTAREA = 17
CONST_ME_SOUND_GREEN = 18
CONST_ME_SOUND_RED = 19
CONST_ME_POISONAREA = 20
CONST_ME_SOUND_YELLOW = 21
CONST_ME_SOUND_PURPLE = 22
CONST_ME_SOUND_BLUE = 23
CONST_ME_SOUND_WHITE = 24
CONST_ME_BUBBLES = 25
CONST_ME_CRAPS = 26
CONST_ME_GIFT_WRAPS = 27
CONST_ME_FIREWORK_YELLOW = 28
CONST_ME_FIREWORK_RED = 29
CONST_ME_FIREWORK_BLUE = 30
CONST_ME_STUN = 31
CONST_ME_SLEEP = 32
CONST_ME_WATERCREATURE = 33
CONST_ME_GROUNDSHAKER = 34
CONST_ME_HEARTS = 35
CONST_ME_FIREATTACK = 36
CONST_ME_ENERGYAREA = 37
CONST_ME_SMALLCLOUDS = 38
CONST_ME_HOLYDAMAGE = 39
CONST_ME_BIGCLOUDS = 40
CONST_ME_ICEAREA = 41
CONST_ME_ICETORNADO = 42
CONST_ME_ICEATTACK = 43
CONST_ME_STONES = 44
CONST_ME_SMALLPLANTS = 45
CONST_ME_CARNIPHILA = 46
CONST_ME_PURPLEENERGY = 47
CONST_ME_YELLOWENERGY = 48
CONST_ME_HOLYAREA = 49
CONST_ME_BIGPLANTS = 50
CONST_ME_CAKE = 51
CONST_ME_GIANTICE = 52
CONST_ME_WATERSPLASH = 53
CONST_ME_PLANTATTACK = 54
CONST_ME_TUTORIALARROW = 55
CONST_ME_TUTORIALSQUARE = 56
CONST_ME_MIRRORHORIZONTAL = 57
CONST_ME_MIRRORVERTICAL = 58
CONST_ME_SKULLHORIZONTAL = 59
CONST_ME_SKULLVERTICAL = 60
CONST_ME_ASSASSIN = 61
CONST_ME_STEPSHORIZONTAL = 62
CONST_ME_BLOODYSTEPS = 63
CONST_ME_STEPSVERTICAL = 64
CONST_ME_YALAHARIGHOST = 65
CONST_ME_BATS = 66
CONST_ME_CURACION = 67
CONST_ME_NEW = 80
CONST_ME_NONE = 255
CONST_ME_LAST = CONST_ME_NEW

CONST_ANI_SPEAR = 0
CONST_ANI_BOLT = 1
CONST_ANI_ARROW = 2
CONST_ANI_FIRE = 3
CONST_ANI_ENERGY = 4
CONST_ANI_POISONARROW = 5
CONST_ANI_BURSTARROW = 6
CONST_ANI_THROWINGSTAR = 7
CONST_ANI_THROWINGKNIFE = 8
CONST_ANI_SMALLSTONE = 9
CONST_ANI_DEATH = 10
CONST_ANI_LARGEROCK = 11
CONST_ANI_SNOWBALL = 12
CONST_ANI_POWERBOLT = 13
CONST_ANI_POISON = 14
CONST_ANI_INFERNALBOLT = 15
CONST_ANI_HUNTINGSPEAR = 16
CONST_ANI_ENCHANTEDSPEAR = 17
CONST_ANI_REDSTAR = 18
CONST_ANI_GREENSTAR = 19
CONST_ANI_ROYALSPEAR = 20
CONST_ANI_SNIPERARROW = 21
CONST_ANI_ONYXARROW = 22
CONST_ANI_PIERCINGBOLT = 23
CONST_ANI_WHIRLWINDSWORD = 24
CONST_ANI_WHIRLWINDAXE = 25
CONST_ANI_WHIRLWINDCLUB = 26
CONST_ANI_ETHEREALSPEAR = 27
CONST_ANI_ICE = 28
CONST_ANI_EARTH = 29
CONST_ANI_HOLY = 30
CONST_ANI_SUDDENDEATH = 31
CONST_ANI_FLASHARROW = 32
CONST_ANI_FLAMMINGARROW = 33
CONST_ANI_SHIVERARROW = 34
CONST_ANI_ENERGYBALL = 35
CONST_ANI_SMALLICE = 36
CONST_ANI_SMALLHOLY = 37
CONST_ANI_SMALLEARTH = 38
CONST_ANI_EARTHARROW = 39
CONST_ANI_EXPLOSION = 40
CONST_ANI_CAKE = 41
CONST_ANI_WEAPONTYPE = 254
CONST_ANI_NONE = 255
CONST_ANI_LAST = CONST_ANI_CAKE

TALKTYPE_SAY = 1
TALKTYPE_WHISPER = 2
TALKTYPE_YELL = 3
TALKTYPE_PRIVATE_PN = 4
TALKTYPE_PRIVATE_NP = 5
TALKTYPE_PRIVATE = 6
TALKTYPE_CHANNEL_Y = 7
TALKTYPE_CHANNEL_W = 8
TALKTYPE_RVR_CHANNEL = 9
TALKTYPE_RVR_ANSWER = 10
TALKTYPE_RVR_CONTINUE = 11
TALKTYPE_BROADCAST = 12
TALKTYPE_CHANNEL_R1 = 13
TALKTYPE_PRIVATE_RED = 14
TALKTYPE_CHANNEL_O = 15
TALKTYPE_CHANNEL_R2 = 17
TALKTYPE_ORANGE_1 = 19
TALKTYPE_ORANGE_2 = 20

MESSAGE_STATUS_CONSOLE_RED = 18
MESSAGE_EVENT_ORANGE = 19
MESSAGE_STATUS_CONSOLE_ORANGE = 20
MESSAGE_STATUS_WARNING = 21
MESSAGE_EVENT_ADVANCE = 22
MESSAGE_EVENT_DEFAULT = 23
MESSAGE_STATUS_DEFAULT = 24
MESSAGE_INFO_DESCR = 25
MESSAGE_STATUS_SMALL = 26
MESSAGE_STATUS_CONSOLE_BLUE = 27

MESSAGE_TYPES = {
    ["advance"] = MESSAGE_EVENT_ADVANCE,
    ["event"] = MESSAGE_EVENT_DEFAULT,
    ["white"] = MESSAGE_EVENT_DEFAULT,
    ["orange"] = MESSAGE_STATUS_CONSOLE_ORANGE,
    ["info"] = MESSAGE_INFO_DESCR,
    ["green"] = MESSAGE_INFO_DESCR,
    ["small"] = MESSAGE_STATUS_SMALL,
    ["blue"] = MESSAGE_STATUS_CONSOLE_BLUE,
    ["red"] = MESSAGE_STATUS_CONSOLE_RED,
    ["warning"] = MESSAGE_STATUS_WARNING,
    ["status"] = MESSAGE_STATUS_DEFAULT
}

TEXTCOLOR_BLUE = 5
TEXTCOLOR_GREEN = 18
TEXTCOLOR_TEAL = 35
TEXTCOLOR_LIGHTGREEN = 66
TEXTCOLOR_DARKBROWN = 78
TEXTCOLOR_LIGHTBLUE = 89
TEXTCOLOR_DARKPURPLE = 112
TEXTCOLOR_BROWN = 120
TEXTCOLOR_GREY = 129
TEXTCOLOR_DARKRED = 144
TEXTCOLOR_DARKPINK = 152
TEXTCOLOR_PURPLE = 154
TEXTCOLOR_DARKORANGE = 156
TEXTCOLOR_RED = 180
TEXTCOLOR_PINK = 190
TEXTCOLOR_ORANGE = 192
TEXTCOLOR_DARKYELLOW = 205
TEXTCOLOR_YELLOW = 210
TEXTCOLOR_WHITE = 215
TEXTCOLOR_NONE = 255

MAPMARK_TICK = 0
MAPMARK_QUESTION = 1
MAPMARK_EXCLAMATION = 2
MAPMARK_STAR = 3
MAPMARK_CROSS = 4
MAPMARK_TEMPLE = 5
MAPMARK_KISS = 6
MAPMARK_SHOVEL = 7
MAPMARK_SWORD = 8
MAPMARK_FLAG = 9
MAPMARK_LOCK = 10
MAPMARK_BAG = 11
MAPMARK_SKULL = 12
MAPMARK_DOLLAR = 13
MAPMARK_REDNORTH = 14
MAPMARK_REDSOUTH = 15
MAPMARK_REDEAST = 16
MAPMARK_REDWEST = 17
MAPMARK_GREENNORTH = 18
MAPMARK_GREENSOUTH = 19

ITEM_TYPE_DEPOT = 1
ITEM_TYPE_MAILBOX = 2
ITEM_TYPE_TRASHHOLDER = 3
ITEM_TYPE_CONTAINER = 4
ITEM_TYPE_DOOR = 5
ITEM_TYPE_MAGICFIELD = 6
ITEM_TYPE_TELEPORT = 7
ITEM_TYPE_BED = 8
ITEM_TYPE_LEVELDOOR = 9

CONST_PROP_BLOCKSOLID = 0
CONST_PROP_HASHEIGHT = 1
CONST_PROP_BLOCKPROJECTILE = 2
CONST_PROP_BLOCKPATHFIND = 3
CONST_PROP_ISVERTICAL = 4
CONST_PROP_ISHORIZONTAL = 5
CONST_PROP_MOVEABLE = 6
CONST_PROP_BLOCKINGANDNOTMOVEABLE = 7
CONST_PROP_SUPPORTHANGABLE = 8

PLAYERSEX_FEMALE = 0
PLAYERSEX_MALE = 1
PLAYERSEX_GAMEMASTER = 2

PLAYERLOSS_EXPERIENCE = 0
PLAYERLOSS_MANA = 1
PLAYERLOSS_SKILLS = 2
PLAYERLOSS_CONTAINERS = 3
PLAYERLOSS_ITEMS = 4

STATSCHANGE_HEALTHGAIN = 1
STATSCHANGE_HEALTHLOSS = 2
STATSCHANGE_MANAGAIN = 3
STATSCHANGE_MANALOSS = 4

SKILL_FIST = 0
SKILL_CLUB = 1
SKILL_SWORD = 2
SKILL_AXE = 3
SKILL_DISTANCE = 4
SKILL_SHIELD = 5
SKILL_FISHING = 6
SKILL__MAGLEVEL = 7
SKILL__LEVEL = 8

GUILDLEVEL_MEMBER = 1
GUILDLEVEL_VICE = 2
GUILDLEVEL_LEADER = 3

SKULL_NONE = 0
SKULL_YELLOW = 1
SKULL_GREEN = 2
SKULL_WHITE = 3
SKULL_RED = 4

SHIELD_NONE = 0
SHIELD_WHITEYELLOW = 1
SHIELD_WHITEBLUE = 2
SHIELD_BLUE = 3
SHIELD_YELLOW = 4
SHIELD_BLUE_SHAREDEXP = 5
SHIELD_YELLOW_SHAREDEXP = 6
SHIELD_BLUE_NOSHAREDEXP_BLINK = 7
SHIELD_YELLOW_NOSHAREDEXP_BLINK = 8
SHIELD_BLUE_NOSHAREDEXP = 9
SHIELD_YELLOW_NOSHAREDEXP = 10

WORLD_TYPE_NO_PVP = 1
WORLD_TYPE_PVP = 2
WORLD_TYPE_PVP_ENFORCED = 3

DATABASE_ENGINE_NONE = 0
DATABASE_ENGINE_MYSQL = 1
DATABASE_ENGINE_SQLITE = 2
DATABASE_ENGINE_POSTGRESQL = 3
DATABASE_ENGINE_ODBC = 4

GAMESTATE_STARTUP = 1
GAMESTATE_INIT = 2
GAMESTATE_NORMAL = 3
GAMESTATE_MAINTAIN = 4
GAMESTATE_CLOSED = 5
GAMESTATE_SHUTDOWN = 6
GAMESTATE_CLOSING = 7

RELOAD_ACTIONS = 1
RELOAD_CHAT = 2
RELOAD_CONFIG = 3
RELOAD_CREATUREEVENTS = 4
RELOAD_GAMESERVERS = 5
RELOAD_GLOBALEVENTS = 6
RELOAD_GROUPS = 7
RELOAD_HIGHSCORES = 8
RELOAD_HOUSEPRICES = 9
RELOAD_ITEMS = 10
RELOAD_MONSTERS = 11
RELOAD_MOVEEVENTS = 12
RELOAD_NPCS = 13
RELOAD_OUTFITS = 14
RELOAD_QUESTS = 15
RELOAD_RAIDS = 16
RELOAD_SPELLS = 17
RELOAD_STAGES = 18
RELOAD_TALKACTIONS = 19
RELOAD_VOCATIONS = 20
RELOAD_WEAPONS = 21
RELOAD_ALL = 22

BANTYPE_IP_BANISHMENT = 1
BANTYPE_NAMELOCK = 2
BANTYPE_BANISHMENT = 3
BANTYPE_NOTATION = 4
BANTYPE_DELETION = 5

CHANNEL_GUILD = 0
CHANNEL_STAFF = 1
CHANNEL_COUNSELOR = 2
CHANNEL_RVR = 3
CHANNEL_GAMECHAT = 4
CHANNEL_TRADE = 5
CHANNEL_RLCHAT = 6
CHANNEL_TRADEROOK = 7
CHANNEL_PARTY = 8
CHANNEL_HELP = 9

STACKPOS_GROUND = 0
STACKPOS_FIRST_ITEM_ABOVE_GROUNDTILE = 1
STACKPOS_SECOND_ITEM_ABOVE_GROUNDTILE = 2
STACKPOS_THIRD_ITEM_ABOVE_GROUNDTILE = 3
STACKPOS_FOURTH_ITEM_ABOVE_GROUNDTILE = 4
STACKPOS_FIFTH_ITEM_ABOVE_GROUNDTILE = 5
STACKPOS_TOP_CREATURE = 253
STACKPOS_TOP_FIELD = 254
STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE = 255

WEAPON_NONE = 0
WEAPON_SWORD = 1
WEAPON_CLUB = 2
WEAPON_AXE = 3
WEAPON_SHIELD = 4
WEAPON_DIST = 5
WEAPON_WAND = 6
WEAPON_AMMO = 7
WEAPON_FIST = 8

ACTION_NOTATION = 0
ACTION_NAMEREPORT = 1
ACTION_BANISHMENT = 2
ACTION_BANREPORT = 3
ACTION_BANFINAL = 4
ACTION_BANREPORTFINAL = 5
ACTION_STATEMENT = 6
ACTION_DELETION = 7

ITEM_GOLD_COIN = 2148
ITEM_PLATINUM_COIN = 2152
ITEM_CRYSTAL_COIN = 2160
ITEM_FISH = 2667
ITEM_WORM = 3976
ITEM_BLUEBERRY = 2677
ITEM_BLUEBERRYBUSH = 2785
ITEM_BUSH = 2786
ITEM_PARCEL = 2595
ITEM_LABEL = 2599

RETURNVALUE_NOERROR = 1
RETURNVALUE_NOTPOSSIBLE = 2
RETURNVALUE_NOTENOUGHROOM = 3
RETURNVALUE_PLAYERISPZLOCKED = 4
RETURNVALUE_PLAYERISNOTINVITED = 5
RETURNVALUE_CANNOTTHROW = 6
RETURNVALUE_THEREISNOWAY = 7
RETURNVALUE_DESTINATIONOUTOFREACH = 8
RETURNVALUE_CREATUREBLOCK = 9
RETURNVALUE_NOTMOVEABLE = 10
RETURNVALUE_DROPTWOHANDEDITEM = 11
RETURNVALUE_BOTHHANDSNEEDTOBEFREE = 12
RETURNVALUE_CANONLYUSEONEWEAPON = 13
RETURNVALUE_NEEDEXCHANGE = 14
RETURNVALUE_CANNOTBEDRESSED = 15
RETURNVALUE_PUTTHISOBJECTINYOURHAND = 16
RETURNVALUE_PUTTHISOBJECTINBOTHHANDS = 17
RETURNVALUE_TOOFARAWAY = 18
RETURNVALUE_FIRSTGODOWNSTAIRS = 19
RETURNVALUE_FIRSTGOUPSTAIRS = 20
RETURNVALUE_CONTAINERNOTENOUGHROOM = 21
RETURNVALUE_NOTENOUGHCAPACITY = 22
RETURNVALUE_CANNOTPICKUP = 23
RETURNVALUE_THISISIMPOSSIBLE = 24
RETURNVALUE_DEPOTISFULL = 25
RETURNVALUE_CREATUREDOESNOTEXIST = 26
RETURNVALUE_CANNOTUSETHISOBJECT = 27
RETURNVALUE_PLAYERWITHTHISNAMEISNOTONLINE = 28
RETURNVALUE_NOTREQUIREDLEVELTOUSERUNE = 29
RETURNVALUE_YOUAREALREADYTRADING = 30
RETURNVALUE_THISPLAYERISALREADYTRADING = 31
RETURNVALUE_YOUMAYNOTLOGOUTDURINGAFIGHT = 32
RETURNVALUE_DIRECTPLAYERSHOOT = 33
RETURNVALUE_NOTENOUGHLEVEL = 34
RETURNVALUE_NOTENOUGHMAGICLEVEL = 35
RETURNVALUE_NOTENOUGHMANA = 36
RETURNVALUE_NOTENOUGHSOUL = 37
RETURNVALUE_YOUAREEXHAUSTED = 38
RETURNVALUE_PLAYERISNOTREACHABLE = 39
RETURNVALUE_CANONLYUSETHISRUNEONCREATURES = 40
RETURNVALUE_ACTIONNOTPERMITTEDINPROTECTIONZONE = 41
RETURNVALUE_YOUMAYNOTATTACKTHISPLAYER = 42
RETURNVALUE_YOUMAYNOTATTACKAPERSONINPROTECTIONZONE = 43
RETURNVALUE_YOUMAYNOTATTACKAPERSONWHILEINPROTECTIONZONE = 44
RETURNVALUE_YOUMAYNOTATTACKTHISCREATURE = 45
RETURNVALUE_YOUCANONLYUSEITONCREATURES = 46
RETURNVALUE_CREATUREISNOTREACHABLE = 47
RETURNVALUE_TURNSECUREMODETOATTACKUNMARKEDPLAYERS = 48
RETURNVALUE_YOUNEEDPREMIUMACCOUNT = 49
RETURNVALUE_YOUNEEDTOLEARNTHISSPELL = 50
RETURNVALUE_YOURVOCATIONCANNOTUSETHISSPELL = 51
RETURNVALUE_YOUNEEDAWEAPONTOUSETHISSPELL = 52
RETURNVALUE_PLAYERISPZLOCKEDLEAVEPVPZONE = 53
RETURNVALUE_PLAYERISPZLOCKEDENTERPVPZONE = 54
RETURNVALUE_ACTIONNOTPERMITTEDINANOPVPZONE = 55
RETURNVALUE_YOUCANNOTLOGOUTHERE = 56
RETURNVALUE_YOUNEEDAMAGICITEMTOCASTSPELL = 57
RETURNVALUE_CANNOTCONJUREITEMHERE = 58
RETURNVALUE_YOUNEEDTOSPLITYOURSPEARS = 59
RETURNVALUE_NAMEISTOOAMBIGUOUS = 60
RETURNVALUE_CANONLYUSEONESHIELD = 61
RETURNVALUE_YOUARENOTTHEOWNER = 62
RETURNVALUE_NOPARTYMEMBERSINRANGE = 63

BLUEBERRYBUSH_DECAY_INTERVAL = 300000
CONTAINER_POSITION = 65535
ITEMCOUNT_MAX = 100

PlayerFlag_CannotUseCombat = 0
PlayerFlag_CannotAttackPlayer = 1
PlayerFlag_CannotAttackMonster = 2
PlayerFlag_CannotBeAttacked = 3
PlayerFlag_CanConvinceAll = 4
PlayerFlag_CanSummonAll = 5
PlayerFlag_CanIllusionAll = 6
PlayerFlag_CanSenseInvisibility = 7
PlayerFlag_IgnoredByMonsters = 8
PlayerFlag_NotGainInFight = 9
PlayerFlag_HasInfiniteMana = 10
PlayerFlag_HasInfiniteSoul = 11
PlayerFlag_HasNoExhaustion = 12
PlayerFlag_CannotUseSpells = 13
PlayerFlag_CannotPickupItem = 14
PlayerFlag_CanAlwaysLogin = 15
PlayerFlag_CanBroadcast = 16
PlayerFlag_CanEditHouses = 17
PlayerFlag_CannotBeBanned = 18
PlayerFlag_CannotBePushed = 19
PlayerFlag_HasInfiniteCapacity = 20
PlayerFlag_CanPushAllCreatures = 21
PlayerFlag_CanTalkRedPrivate = 22
PlayerFlag_CanTalkRedChannel = 23
PlayerFlag_TalkOrangeHelpChannel = 24
PlayerFlag_NotGainExperience = 25
PlayerFlag_NotGainMana = 26
PlayerFlag_NotGainHealth = 27
PlayerFlag_NotGainSkill = 28
PlayerFlag_SetMaxSpeed = 29
PlayerFlag_SpecialVIP = 30
PlayerFlag_NotGenerateLoot = 31
PlayerFlag_CanTalkRedChannelAnonymous = 32
PlayerFlag_IgnoreProtectionZone = 33
PlayerFlag_IgnoreSpellCheck = 34
PlayerFlag_IgnoreWeaponCheck = 35
PlayerFlag_CannotBeMuted = 36
PlayerFlag_IsAlwaysPremium = 37
PlayerFlag_CanAnswerRuleViolations = 38
PlayerFlag_39 = 39 -- ignore
PlayerFlag_ShowGroupNameInsteadOfVocation = 40
PlayerFlag_HasInfiniteStamina = 41
PlayerFlag_CannotMoveItems = 42
PlayerFlag_CannotMoveCreatures = 43
PlayerFlag_CanReportBugs = 44
PlayerFlag_45 = 45 -- ignore

PlayerCustomFlag_UnusedAndToReplace = 0
PlayerCustomFlag_CanSeePosition    = 1
PlayerCustomFlag_CanSeeItemDetails = 2
PlayerCustomFlag_CanSeeCreatureDetails = 3
PlayerCustomFlag_NotSearchable = 4
PlayerCustomFlag_GamemasterPrivileges = 5
PlayerCustomFlag_CanThrowAnywhere = 6
PlayerCustomFlag_CanPushAllItems = 7
PlayerCustomFlag_CanMoveAnywhere = 8
PlayerCustomFlag_CanMoveFromFar = 9
PlayerCustomFlag_CanLoginMultipleCharacters = 10
PlayerCustomFlag_HasFullLight = 11
PlayerCustomFlag_CanLogoutAnytime = 12
PlayerCustomFlag_HideLevel = 13
PlayerCustomFlag_IsProtected = 14
PlayerCustomFlag_IsImmune = 15
PlayerCustomFlag_NotGainSkull = 16
PlayerCustomFlag_NotGainUnjustified = 17
PlayerCustomFlag_HideLevel = 18
PlayerCustomFlag_IgnorePacification = 19
PlayerCustomFlag_CanStairhop = 20
PlayerCustomFlag_CanTurnhop = 21

doors = {[1209] = 1211, [1210] = 1211, [1212] = 1214, [1213] = 1214, [1219] = 1220, [1221] = 1222, [1231] = 1233, [1232] = 1233, [1234] = 1236, [1235] = 1236, [1237] = 1238, [1239] = 1240, [1249] = 1251, [1250] = 1251, [1252] = 1254, [1253] = 1254, [1541] = 1542, [3535] = 3537, [3536] = 3537, [3538] = 3539, [3544] = 3546, [3545] = 3546, [3547] = 3548, [4913] = 4915, [4914] = 4915, [4916] = 4918, [4917] = 4918, [5082] = 5083, [5084] = 5085, [5098] = 5100, [5099] = 5100, [5101] = 5102, [5107] = 5109, [5108] = 5109, [5110] = 5111, [5116] = 5118, [5117] = 5118, [5119] = 5120, [5125] = 5127, [5126] = 5127, [5128] = 5129, [5134] = 5136, [5135] = 5136, [5137] = 5139, [5138] = 5139, [5140] = 5142, [5141] = 5142, [5143] = 5145, [5144] = 5145, [5278] = 5280, [5279] = 5280, [5281] = 5283, [5282] = 5283, [5284] = 5285, [5286] = 5287, [5515] = 5516, [5517] = 5518, [5732] = 5734, [5733] = 5734, [5735] = 5737, [5736] = 5737, [6192] = 6194, [6193] = 6194, [6195] = 6197, [6196] = 6197, [6198] = 6199, [6200] = 6201, [6249] = 6251, [6250] = 6251, [6252] = 6254, [6253] = 6254, [6255] = 6256, [6257] = 6258, [6795] = 6796, [6797] = 6798, [6799] = 6800, [6801] = 6802, [6891] = 6893, [6892] = 6893, [6894] = 6895, [6900] = 6902, [6901] = 6902, [6903] = 6904, [7033] = 7035, [7034] = 7035, [7036] = 7037, [7042] = 7044, [7043] = 7044, [7045] = 7046, [7054] = 7055, [7056] = 7057, [8541] = 8543, [8542] = 8543, [8544] = 8546, [8545] = 8546, [8547] = 8548, [8549] = 8550, [9165] = 9167, [9166] = 9167, [9168] = 9170, [9169] = 6170, [9171] = 9172, [9173] = 9174, [9267] = 9269, [9268] = 9269, [9270] = 9272, [9271] = 9272, [9273] = 9274, [9275] = 9276}
closingDoors = {1224, 1226, 1228, 1230, 1242, 1244, 1246, 1248, 1256, 1258, 1260, 1262, 3541, 3543, 3550, 3552, 5104, 5106, 5113, 5115, 5122, 5124, 5131, 5133, 5289, 5291, 5293, 5295, 6203, 6205, 6207, 6209, 6260, 6262, 6264, 6266, 6897, 6899, 6906, 6908, 7039, 7041, 7048, 7050, 8552, 8554, 8556, 8558, 9176, 9178, 9180, 9182, 9278, 9280, 9282, 9284}
verticalOpenDoors = {1211, 1220, 1224, 1228, 1233, 1238, 1242, 1246, 1251, 1256, 1260, 1540, 3546, 3548, 3550, 3552, 4915, 5083, 5109, 5111, 5113, 5115, 5127, 5129, 5131, 5133, 5142, 5145, 5283, 5285, 5289, 5293, 5516, 5737, 5749, 6194, 6199, 6203, 6207, 6251, 6256, 6260, 6264, 6798, 6802, 6902, 6904, 6906, 6908, 7044, 7046, 7048, 7050, 7055, 8543, 8548, 8552, 8556, 9167, 9172, 9269, 9274}
horizontalOpenDoors = {1214, 1222, 1226, 1230, 1236, 1240, 1244, 1248, 1254, 1258, 1262, 1542, 3537, 3539, 3541, 3543, 4918, 5085, 5100, 5102, 5104, 5106, 5118, 5120, 5122, 5124, 5136, 5139, 5280, 5287, 5291, 5295, 5518, 5734, 5746, 6197, 6201, 6205, 6209, 6254, 6258, 6262, 6266, 6796, 6800, 6893, 6895, 6897, 6899, 7035, 7037, 7039, 7041, 7057, 8546, 8550, 8554, 8558, 9170, 9174, 9272, 9276}
specialDoors = {1223, 1225, 1241, 1243, 1255, 1257, 3542, 3551, 5105, 5114, 5123, 5132, 5288, 5290, 5745, 5748, 6202, 6204, 6259, 6261, 6898, 6907, 7040, 7049, 8551, 8553, 9175, 9177, 9277, 9279}
keys = {2086, 2087, 2088, 2089, 2090, 2091, 2092, 4108, 10032, 10091}

enchantableGems = {2147, 2146, 2149, 2150}
enchantableItems = {2383, 7383, 7384, 7406, 7402, 2429, 2430, 7389, 7380, 2454, 2423, 2445, 7415, 7392, 2391, 2544, 8905}
enchantingAltars = {
    {7504, 7505, 7506, 7507},
    {7508, 7509, 7510, 7511},
    {7516, 7517, 7518, 7519},
    {7512, 7513, 7514, 7515}
}
enchantedGems = {7760, 7759, 7761, 7762}
enchantedItems = {
    [2383] = {7744, 7763, 7854, 7869},
    [7383] = {7745, 7764, 7855, 7870},
    [7384] = {7746, 7765, 7856, 7871},
    [7406] = {7747, 7766, 7857, 7872},
    [7402] = {7748, 7767, 7858, 7873},
    [2429] = {7749, 7768, 7859, 7874},
    [2430] = {7750, 7769, 7860, 7875},
    [7389] = {7751, 7770, 7861, 7876},
    [7380] = {7752, 7771, 7862, 7877},
    [2454] = {7753, 7772, 7863, 7878},
    [2423] = {7754, 7773, 7864, 7879},
    [2445] = {7755, 7774, 7865, 7880},
    [7415] = {7756, 7775, 7866, 7881},
    [7392] = {7757, 7776, 7867, 7882},
    [2391] = {7758, 7777, 7868, 7883},
    [2544] = {7840, 7839, 7850, 7838},
    [8905] = {8906, 8907, 8909, 8908}
}

config = {
        tool = 2422,
        maxSkill = 210,
        actionId = 4500,}

MY CONST.H NOW:
PHP:
#ifndef __OTSERV_CONST_H__
#define __OTSERV_CONST_H__

#include "definitions.h"

#define NETWORKMESSAGE_MAXSIZE 15360

enum MagicEffectClasses
{
	NM_ME_DRAW_BLOOD	= 0x00,
	NM_ME_LOSE_ENERGY	= 0x01,
	NM_ME_POFF		= 0x02,
	NM_ME_BLOCKHIT		= 0x03,
	NM_ME_EXPLOSION_AREA	= 0x04,
	NM_ME_EXPLOSION_DAMAGE	= 0x05,
	NM_ME_FIRE_AREA		= 0x06,
	NM_ME_YELLOW_RINGS	= 0x07,
	NM_ME_POISON_RINGS	= 0x08,
	NM_ME_HIT_AREA		= 0x09,
	NM_ME_TELEPORT		= 0x0A, //10
	NM_ME_ENERGY_DAMAGE	= 0x0B, //11
	NM_ME_MAGIC_ENERGY	= 0x0C, //12
	NM_ME_MAGIC_BLOOD	= 0x0D, //13
	NM_ME_MAGIC_POISON	= 0x0E, //14
	NM_ME_HITBY_FIRE	= 0x0F, //15
	NM_ME_POISON		= 0x10, //16
	NM_ME_MORT_AREA		= 0x11, //17
	NM_ME_SOUND_GREEN	= 0x12, //18
	NM_ME_SOUND_RED		= 0x13, //19
	NM_ME_POISON_AREA	= 0x14, //20
	NM_ME_SOUND_YELLOW	= 0x15, //21
	NM_ME_SOUND_PURPLE	= 0x16, //22
	NM_ME_SOUND_BLUE	= 0x17, //23
	NM_ME_SOUND_WHITE	= 0x18, //24
	NM_ME_BUBBLES		= 0x19, //25
	NM_ME_CRAPS		= 0x1A, //26
	NM_ME_GIFT_WRAPS	= 0x1B, //27
	NM_ME_FIREWORK_YELLOW	= 0x1C, //28
	NM_ME_FIREWORK_RED	= 0x1D, //29
	NM_ME_FIREWORK_BLUE	= 0x1E, //30
	NM_ME_STUN		= 0x1F, //31
	NM_ME_SLEEP		= 0x20, //32
	NM_ME_WATERCREATURE	= 0x21, //33
	NM_ME_GROUNDSHAKER	= 0x22, //34
	NM_ME_HEARTS		= 0x23, //35
	NM_ME_FIREATTACK	= 0x24, //36
	NM_ME_ENERGY_AREA	= 0x25, //37
	NM_ME_SMALLCLOUDS	= 0x26, //38
	NM_ME_HOLYDAMAGE	= 0x27, //39
	NM_ME_BIGCLOUDS		= 0x28, //40
	NM_ME_ICEAREA		= 0x29, //41
	NM_ME_ICETORNADO	= 0x2A, //42
	NM_ME_ICEATTACK		= 0x2B, //43
	NM_ME_STONES		= 0x2C, //44
	NM_ME_SMALLPLANTS	= 0x2D, //45
	NM_ME_CARNIPHILA	= 0x2E, //46
	NM_ME_PURPLEENERGY	= 0x2F, //47
	NM_ME_YELLOWENERGY	= 0x30, //48
	NM_ME_HOLYAREA		= 0x31, //49
	NM_ME_BIGPLANTS		= 0x32, //50
	NM_ME_CAKE		= 0x33, //51
	NM_ME_GIANTICE		= 0x34, //52
	NM_ME_WATERSPLASH	= 0x35, //53
	NM_ME_PLANTATTACK	= 0x36, //54
	NM_ME_TUTORIALARROW	= 0x37, //55
	NM_ME_TUTORIALSQUARE	= 0x38, //56
	NM_ME_MIRRORHORIZONTAL	= 0x39, //57
	NM_ME_MIRRORVERTICAL	= 0x3A, //58
	NM_ME_SKULLHORIZONTAL	= 0x3B, //59
	NM_ME_SKULLVERTICAL	= 0x3C, //60
	NM_ME_ASSASSIN		= 0x3D, //61
	NM_ME_STEPSHORIZONTAL	= 0x3E, //62
	NM_ME_BLOODYSTEPS	= 0x3F, //63
	NM_ME_STEPSVERTICAL	= 0x40, //64
	NM_ME_YALAHARIGHOST	= 0x41, //65
	NM_ME_BATS		= 0x42, //66
	NM_ME_CURACION		= 0x43, //67
    NM_ME_CURACION        = 0x43, //67
    NM_ME_NEW        = 0xFE, //149
    NM_ME_LAST = NM_ME_NEW,

	//for internal use, dont send to client
	NM_ME_NONE             = 0xFF,
	NM_ME_UNK              = 0xFFFF
};

enum ShootType_t
{
	NM_SHOOT_SPEAR		= 0x00,
	NM_SHOOT_BOLT		= 0x01,
	NM_SHOOT_ARROW		= 0x02,
	NM_SHOOT_FIRE		= 0x03,
	NM_SHOOT_ENERGY		= 0x04,
	NM_SHOOT_POISONARROW	= 0x05,
	NM_SHOOT_BURSTARROW	= 0x06,
	NM_SHOOT_THROWINGSTAR	= 0x07,
	NM_SHOOT_THROWINGKNIFE	= 0x08,
	NM_SHOOT_SMALLSTONE	= 0x09,
	NM_SHOOT_DEATH		= 0x0A, //10
	NM_SHOOT_LARGEROCK	= 0x0B, //11
	NM_SHOOT_SNOWBALL	= 0x0C, //12
	NM_SHOOT_POWERBOLT	= 0x0D, //13
	NM_SHOOT_POISONFIELD	= 0x0E, //14
	NM_SHOOT_INFERNALBOLT	= 0x0F, //15
	NM_SHOOT_HUNTINGSPEAR	= 0x10, //16
	NM_SHOOT_ENCHANTEDSPEAR	= 0x11, //17
	NM_SHOOT_REDSTAR	= 0x12, //18
	NM_SHOOT_GREENSTAR	= 0x13, //19
	NM_SHOOT_ROYALSPEAR	= 0x14, //20
	NM_SHOOT_SNIPERARROW	= 0x15, //21
	NM_SHOOT_ONYXARROW	= 0x16, //22
	NM_SHOOT_PIERCINGBOLT	= 0x17, //23
	NM_SHOOT_WHIRLWINDSWORD	= 0x18, //24
	NM_SHOOT_WHIRLWINDAXE	= 0x19, //25
	NM_SHOOT_WHIRLWINDCLUB	= 0x1A, //26
	NM_SHOOT_ETHEREALSPEAR	= 0x1B, //27
	NM_SHOOT_ICE		= 0x1C, //28
	NM_SHOOT_EARTH		= 0x1D, //29
	NM_SHOOT_HOLY		= 0x1E, //30
	NM_SHOOT_SUDDENDEATH	= 0x1F, //31
	NM_SHOOT_FLASHARROW	= 0x20, //32
	NM_SHOOT_FLAMMINGARROW	= 0x21, //33
	NM_SHOOT_SHIVERARROW	= 0x22, //34
	NM_SHOOT_ENERGYBALL	= 0x23, //35
	NM_SHOOT_SMALLICE	= 0x24, //36
	NM_SHOOT_SMALLHOLY	= 0x25, //37
	NM_SHOOT_SMALLEARTH	= 0x26, //38
	NM_SHOOT_EARTHARROW	= 0x27, //39
	NM_SHOOT_EXPLOSION	= 0x28, //40
	NM_SHOOT_CAKE		= 0x29, //41
	NM_SHOOT_LAST = NM_SHOOT_CAKE,

	//for internal use, dont send to client
	NM_SHOOT_WEAPONTYPE	= 0xFE, //254
	NM_SHOOT_NONE		= 0xFF,
	NM_SHOOT_UNK		= 0xFFFF
};

enum SpeakClasses
{
	SPEAK_CLASS_FIRST 	= 0x01,
	SPEAK_SAY		= SPEAK_CLASS_FIRST,
	SPEAK_WHISPER		= 0x02,
	SPEAK_YELL		= 0x03,
	SPEAK_PRIVATE_PN	= 0x04,
	SPEAK_PRIVATE_NP	= 0x05,
	SPEAK_PRIVATE		= 0x06,
	SPEAK_CHANNEL_Y		= 0x07,
	SPEAK_CHANNEL_W		= 0x08,
	SPEAK_RVR_CHANNEL	= 0x09,
	SPEAK_RVR_ANSWER	= 0x0A,
	SPEAK_RVR_CONTINUE	= 0x0B,
	SPEAK_BROADCAST		= 0x0C,
	SPEAK_CHANNEL_R1	= 0x0D, //red - #c text
	SPEAK_PRIVATE_RED	= 0x0E,	//@name@text
	SPEAK_CHANNEL_O		= 0x0F,
	//SPEAK_UNKNOWN_1		= 0x10,
	SPEAK_CHANNEL_R2	= 0x11,	//red anonymous - #d text
	//SPEAK_UNKNOWN_2		= 0x12,
	SPEAK_MONSTER_SAY	= 0x13,
	SPEAK_MONSTER_YELL	= 0x14,
	SPEAK_CLASS_LAST 	= SPEAK_MONSTER_YELL
};

enum MessageClasses
{
	MSG_CLASS_FIRST			= 0x12,
	MSG_STATUS_CONSOLE_RED		= MSG_CLASS_FIRST, /*Red message in the console*/
	MSG_EVENT_ORANGE		= 0x13, /*Orange message in the console*/
	MSG_STATUS_CONSOLE_ORANGE	= 0x14, /*Orange message in the console*/
	MSG_STATUS_WARNING		= 0x15, /*Red message in game window and in the console*/
	MSG_EVENT_ADVANCE		= 0x16, /*White message in game window and in the console*/
	MSG_EVENT_DEFAULT		= 0x17, /*White message at the bottom of the game window and in the console*/
	MSG_STATUS_DEFAULT		= 0x18, /*White message at the bottom of the game window and in the console*/
	MSG_INFO_DESCR			= 0x19, /*Green message in game window and in the console*/
	MSG_STATUS_SMALL		= 0x1A, /*White message at the bottom of the game window"*/
	MSG_STATUS_CONSOLE_BLUE		= 0x1B, /*Blue message in the console*/
	MSG_CLASS_LAST			= MSG_STATUS_CONSOLE_BLUE
};

enum MapMarks_t
{
	MAPMARK_TICK		= 0x00,
	MAPMARK_QUESTION	= 0x01,
	MAPMARK_EXCLAMATION	= 0x02,
	MAPMARK_STAR		= 0x03,
	MAPMARK_CROSS		= 0x04,
	MAPMARK_TEMPLE		= 0x05,
	MAPMARK_KISS		= 0x06,
	MAPMARK_SHOVEL		= 0x07,
	MAPMARK_SWORD		= 0x08,
	MAPMARK_FLAG		= 0x09,
	MAPMARK_LOCK		= 0x0A,
	MAPMARK_BAG		= 0x0B,
	MAPMARK_SKULL		= 0x0C,
	MAPMARK_DOLLAR		= 0x0D,
	MAPMARK_REDNORTH	= 0x0E,
	MAPMARK_REDSOUTH	= 0x0F,
	MAPMARK_REDEAST		= 0x10,
	MAPMARK_REDWEST		= 0x11,
	MAPMARK_GREENNORTH	= 0x12,
	MAPMARK_GREENSOUTH	= 0x13
};

enum FluidColors_t
{
	FLUID_EMPTY	= 0x00,
	FLUID_BLUE	= 0x01,
	FLUID_RED	= 0x02,
	FLUID_BROWN	= 0x03,
	FLUID_GREEN	= 0x04,
	FLUID_YELLOW	= 0x05,
	FLUID_WHITE	= 0x06,
	FLUID_PURPLE	= 0x07
};

enum FluidTypes_t
{
	FLUID_NONE		= FLUID_EMPTY,
	FLUID_WATER		= FLUID_BLUE,
	FLUID_BLOOD		= FLUID_RED,
	FLUID_BEER		= FLUID_BROWN,
	FLUID_SLIME		= FLUID_GREEN,
	FLUID_LEMONADE		= FLUID_YELLOW,
	FLUID_MILK		= FLUID_WHITE,
	FLUID_MANA		= FLUID_PURPLE,

	FLUID_LIFE		= FLUID_RED + 8,
	FLUID_OIL		= FLUID_BROWN + 8,
	FLUID_URINE		= FLUID_YELLOW + 8,
	FLUID_COCONUTMILK	= FLUID_WHITE + 8,
	FLUID_WINE		= FLUID_PURPLE + 8,

	FLUID_MUD		= FLUID_BROWN + 16,
	FLUID_FRUITJUICE	= FLUID_YELLOW + 16,

	FLUID_LAVA		= FLUID_RED + 24,
	FLUID_RUM		= FLUID_BROWN + 24,
	FLUID_SWAMP		= FLUID_GREEN + 24,
};

const uint8_t reverseFluidMap[] =
{
	FLUID_EMPTY,
	FLUID_WATER,
	FLUID_MANA,
	FLUID_BEER,
	FLUID_EMPTY,
	FLUID_BLOOD,
	FLUID_SLIME,
	FLUID_EMPTY,
	FLUID_LEMONADE,
	FLUID_MILK
};

enum ClientFluidTypes_t
{
	CLIENTFLUID_EMPTY	= 0x00,
	CLIENTFLUID_BLUE	= 0x01,
	CLIENTFLUID_PURPLE	= 0x02,
	CLIENTFLUID_BROWN_1	= 0x03,
	CLIENTFLUID_BROWN_2	= 0x04,
	CLIENTFLUID_RED		= 0x05,
	CLIENTFLUID_GREEN	= 0x06,
	CLIENTFLUID_BROWN	= 0x07,
	CLIENTFLUID_YELLOW	= 0x08,
	CLIENTFLUID_WHITE	= 0x09
};

const uint8_t fluidMap[] =
{
	CLIENTFLUID_EMPTY,
	CLIENTFLUID_BLUE,
	CLIENTFLUID_RED,
	CLIENTFLUID_BROWN_1,
	CLIENTFLUID_GREEN,
	CLIENTFLUID_YELLOW,
	CLIENTFLUID_WHITE,
	CLIENTFLUID_PURPLE
};

enum SquareColor_t
{
	SQ_COLOR_NONE = 256,
	SQ_COLOR_BLACK = 0,
};

enum TextColor_t
{
	TEXTCOLOR_BLUE		= 5,
	TEXTCOLOR_GREEN		= 18,
	TEXTCOLOR_TEAL		= 35,
	TEXTCOLOR_LIGHTGREEN	= 66,
	TEXTCOLOR_DARKBROWN	= 78,
	TEXTCOLOR_LIGHTBLUE	= 89,
	TEXTCOLOR_DARKPURPLE	= 112,
	TEXTCOLOR_BROWN		= 120,
	TEXTCOLOR_GREY		= 129,
	TEXTCOLOR_DARKRED	= 144,
	TEXTCOLOR_DARKPINK	= 152,
	TEXTCOLOR_PURPLE	= 154,
	TEXTCOLOR_DARKORANGE	= 156,
	TEXTCOLOR_RED		= 180,
	TEXTCOLOR_PINK		= 190,
	TEXTCOLOR_ORANGE	= 192,
	TEXTCOLOR_DARKYELLOW	= 205,
	TEXTCOLOR_YELLOW	= 210,
	TEXTCOLOR_WHITE		= 215,

	TEXTCOLOR_NONE		= 255
};

enum Icons_t
{
	ICON_NONE = 0,
	ICON_POISON = 1 << 0,
	ICON_BURN = 1 << 1,
	ICON_ENERGY =  1 << 2,
	ICON_DRUNK = 1 << 3,
	ICON_MANASHIELD = 1 << 4,
	ICON_PARALYZE = 1 << 5,
	ICON_HASTE = 1 << 6,
	ICON_SWORDS = 1 << 7,
	ICON_DROWNING = 1 << 8,
	ICON_FREEZING = 1 << 9,
	ICON_DAZZLED = 1 << 10,
	ICON_CURSED = 1 << 11,
	ICON_BUFF = 1 << 12
};

enum WeaponType_t
{
	WEAPON_NONE = 0,
	WEAPON_SWORD = 1,
	WEAPON_CLUB = 2,
	WEAPON_AXE = 3,
	WEAPON_SHIELD = 4,
	WEAPON_DIST = 5,
	WEAPON_WAND = 6,
	WEAPON_AMMO = 7,
	WEAPON_FIST = 8
};

enum Ammo_t
{
	AMMO_NONE = 0,
	AMMO_BOLT = 1,
	AMMO_ARROW = 2,
	AMMO_SPEAR = 3,
	AMMO_THROWINGSTAR = 4,
	AMMO_THROWINGKNIFE = 5,
	AMMO_STONE = 6,
	AMMO_SNOWBALL = 7
};

enum AmmoAction_t
{
	AMMOACTION_NONE,
	AMMOACTION_REMOVECOUNT,
	AMMOACTION_REMOVECHARGE,
	AMMOACTION_MOVE,
	AMMOACTION_MOVEBACK
};

enum WieldInfo_t
{
	WIELDINFO_LEVEL = 1,
	WIELDINFO_MAGLV = 2,
	WIELDINFO_VOCREQ = 4,
	WIELDINFO_PREMIUM = 8
};

enum Skulls_t
{
	SKULL_NONE = 0,
	SKULL_YELLOW = 1,
	SKULL_GREEN = 2,
	SKULL_WHITE = 3,
	SKULL_RED = 4
};

enum PartyShields_t
{
	SHIELD_NONE = 0,
	SHIELD_WHITEYELLOW = 1,
	SHIELD_WHITEBLUE = 2,
	SHIELD_BLUE = 3,
	SHIELD_YELLOW = 4,
	SHIELD_BLUE_SHAREDEXP = 5,
	SHIELD_YELLOW_SHAREDEXP = 6,
	SHIELD_BLUE_NOSHAREDEXP_BLINK = 7,
	SHIELD_YELLOW_NOSHAREDEXP_BLINK = 8,
	SHIELD_BLUE_NOSHAREDEXP = 9,
	SHIELD_YELLOW_NOSHAREDEXP = 10
};

enum item_t
{
	ITEM_FIREFIELD_PVP	= 1492,
	ITEM_FIREFIELD_NOPVP	= 1500,

	ITEM_POISONFIELD_PVP	= 1496,
	ITEM_POISONFIELD_NOPVP	= 1503,

	ITEM_ENERGYFIELD_PVP	= 1495,
	ITEM_ENERGYFIELD_NOPVP	= 1504,

	ITEM_DEPOT		= 2594,
	ITEM_LOCKER1		= 2589,

	ITEM_MALE_CORPSE	= 6080,
	ITEM_FEMALE_CORPSE	= 6081,

	ITEM_MEAT		= 2666,
	ITEM_HAM		= 2671,
	ITEM_GRAPE		= 2681,
	ITEM_APPLE		= 2674,
	ITEM_BREAD		= 2689,
	ITEM_ROLL		= 2690,
	ITEM_CHEESE		= 2696,

	ITEM_FULLSPLASH		= 2016,
	ITEM_SMALLSPLASH	= 2019,

	ITEM_PARCEL		= 2595,
	ITEM_PARCEL_STAMPED	= 2596,
	ITEM_LETTER		= 2597,
	ITEM_LETTER_STAMPED	= 2598,
	ITEM_LABEL		= 2599,

	ITEM_WATERBALL		= 7711,
	ITEM_HOUSE_TRANSFER	= 1968 //read-only
};

enum PlayerFlags
{
	PlayerFlag_CannotUseCombat = 0,			//2^0 = 1
	PlayerFlag_CannotAttackPlayer,			//2^1 = 2
	PlayerFlag_CannotAttackMonster,			//2^2 = 4
	PlayerFlag_CannotBeAttacked,			//2^3 = 8
	PlayerFlag_CanConvinceAll,			//2^4 = 16
	PlayerFlag_CanSummonAll,			//2^5 = 32
	PlayerFlag_CanIllusionAll,			//2^6 = 64
	PlayerFlag_CanSenseInvisibility,		//2^7 = 128
	PlayerFlag_IgnoredByMonsters,			//2^8 = 256
	PlayerFlag_NotGainInFight,			//2^9 = 512
	PlayerFlag_HasInfiniteMana,			//2^10 = 1024
	PlayerFlag_HasInfiniteSoul,			//2^11 = 2048
	PlayerFlag_HasNoExhaustion,			//2^12 = 4096
	PlayerFlag_CannotUseSpells,			//2^13 = 8192
	PlayerFlag_CannotPickupItem,			//2^14 = 16384
	PlayerFlag_CanAlwaysLogin,			//2^15 = 32768
	PlayerFlag_CanBroadcast,			//2^16 = 65536
	PlayerFlag_CanEditHouses,			//2^17 = 131072
	PlayerFlag_CannotBeBanned,			//2^18 = 262144
	PlayerFlag_CannotBePushed,			//2^19 = 524288
	PlayerFlag_HasInfiniteCapacity,			//2^20 = 1048576
	PlayerFlag_CanPushAllCreatures,			//2^21 = 2097152
	PlayerFlag_CanTalkRedPrivate,			//2^22 = 4194304
	PlayerFlag_CanTalkRedChannel,			//2^23 = 8388608
	PlayerFlag_TalkOrangeHelpChannel,		//2^24 = 16777216
	PlayerFlag_NotGainExperience,			//2^25 = 33554432
	PlayerFlag_NotGainMana,				//2^26 = 67108864
	PlayerFlag_NotGainHealth,			//2^27 = 134217728
	PlayerFlag_NotGainSkill,			//2^28 = 268435456
	PlayerFlag_SetMaxSpeed,				//2^29 = 536870912
	PlayerFlag_SpecialVIP,				//2^30 = 1073741824
	PlayerFlag_NotGenerateLoot,			//2^31 = 2147483648
	PlayerFlag_CanTalkRedChannelAnonymous,		//2^32 = 4294967296
	PlayerFlag_IgnoreProtectionZone,		//2^33 = 8589934592
	PlayerFlag_IgnoreSpellCheck,			//2^34 = 17179869184
	PlayerFlag_IgnoreEquipCheck,			//2^35 = 34359738368
	PlayerFlag_CannotBeMuted,			//2^36 = 68719476736
	PlayerFlag_IsAlwaysPremium,			//2^37 = 137438953472
	PlayerFlag_CanAnswerRuleViolations,		//2^38 = 274877906944
	PlayerFlag_39,	//ignore			//2^39 = 549755813888	//not used by us
	PlayerFlag_ShowGroupNameInsteadOfVocation,	//2^40 = 1099511627776
	PlayerFlag_HasInfiniteStamina,			//2^41 = 2199023255552
	PlayerFlag_CannotMoveItems,			//2^42 = 4398046511104
	PlayerFlag_CannotMoveCreatures,			//2^43 = 8796093020000
	PlayerFlag_CanReportBugs,			//2^44 = 17592186040000
	PlayerFlag_45,	//ignore			//2^45 = 35184272080000	//not used by us

	PlayerFlag_LastFlag
};

enum PlayerCustomFlags
{
	PlayerCustomFlag_UnusedAndToReplace = 0,		//2^0 = 1
	PlayerCustomFlag_CanSeePosition,			//2^1 = 2
	PlayerCustomFlag_CanSeeItemDetails,			//2^2 = 4
	PlayerCustomFlag_CanSeeCreatureDetails,			//2^3 = 8
	PlayerCustomFlag_NotSearchable,				//2^4 = 16
	PlayerCustomFlag_GamemasterPrivileges,			//2^5 = 32
	PlayerCustomFlag_CanThrowAnywhere,			//2^6 = 64
	PlayerCustomFlag_CanPushAllItems,			//2^7 = 128
	PlayerCustomFlag_CanMoveAnywhere,			//2^8 = 256
	PlayerCustomFlag_CanMoveFromFar,			//2^9 = 512
	PlayerCustomFlag_CanLoginMultipleCharacters,		//2^10 = 1024 (account flag)
	PlayerCustomFlag_HasFullLight,				//2^11 = 2048
	PlayerCustomFlag_CanLogoutAnytime,			//2^12 = 4096 (account flag)
	PlayerCustomFlag_HideLevel,				//2^13 = 8192
	PlayerCustomFlag_IsProtected,				//2^14 = 16384
	PlayerCustomFlag_IsImmune,				//2^15 = 32768
	PlayerCustomFlag_NotGainSkull,				//2^16 = 65536
	PlayerCustomFlag_NotGainUnjustified,			//2^17 = 131072
	PlayerCustomFlag_IgnorePacification,			//2^18 = 262144
	PlayerCustomFlag_IgnoreLoginDelay,			//2^19 = 524288
	PlayerCustomFlag_CanStairhop,				//2^20 = 1048576
	PlayerCustomFlag_CanTurnhop,				//2^21 = 2097152

	PlayerCustomFlag_LastFlag
};

enum ViolationActions_t
{
	Action_None			= 0,
	Action_Notation			= 1 << 0,
	Action_Namelock			= 1 << 1,
	Action_Banishment		= 1 << 2,
	Action_NamelockBan		= 1 << 3,
	Action_BanFinalWarning		= 1 << 4,
	Action_NamelockBanFinalWarning	= 1 << 5,
	Action_StatementReport		= 1 << 6,
	Action_IpBan			= 1 << 7
};

const int32_t violationReasons[5] =
{
	0,	//ignore this
	3,	//all name reasons
	9,	//all name & statement reasons
	18,	//all name, statement & cheating reasons
	22	//all reasons
};

const int32_t violationNames[5] =
{
	Action_None,
	Action_Namelock,
	Action_Namelock,
	Action_Namelock | Action_NamelockBan,
	Action_Namelock | Action_NamelockBan | Action_NamelockBanFinalWarning | Action_IpBan
};

const int32_t violationStatements[5] =
{
	Action_None,
	Action_None,
	Action_StatementReport,
	Action_StatementReport | Action_Notation | Action_Banishment,
	Action_StatementReport | Action_Notation | Action_Banishment | Action_BanFinalWarning | Action_IpBan
};

//Reserved player storage key ranges
//[10000000 - 20000000]
#define PSTRG_RESERVED_RANGE_START	10000000
#define PSTRG_RESERVED_RANGE_SIZE	10000000
//[1000 - 1500]
#define PSTRG_OUTFITS_RANGE_START	(PSTRG_RESERVED_RANGE_START + 1000)
#define PSTRG_OUTFITS_RANGE_SIZE	500

#define IS_IN_KEYRANGE(key, range) (key >= PSTRG_##range##_START && ((key - PSTRG_##range##_START) < PSTRG_##range##_SIZE))

#endif

Please help my i´ll REp YOU

:(
 

Similar threads

Back
Top