3 mesaje
  • Mesaje: 1
  • Reacții: 0
  • Mesaje utile: 0
  • Medalii

    *Problemă/Întrebare:
    Am o problema la compilarea dupa ce am adaugat Extinde Inventar

    Folosesc martysama clean 5.8 de pe aceasta comunitat!

    Binary este 100% functional partea de Python la fel DB nu este cazul Table este deja editat cu coloana respectiva iar codul l-am verificat de mai multe ori si nu imi dau seama unde este problema.
    Cred ca problem este intre linia 24 si 172.


    *Resursă folosită (sistem/funcție/modificare):Extinde Inventar

    *Syserr:
    Code:
    compiling OXEvent.cpp
    compiling ani.cpp
    compiling arena.cpp
    compiling banword.cpp
    In file included from In file included from arena.cppOXEvent.cpp::2In file included from 2:
    banword.cpp:
    In file included from :In file included from ./constants.h2./constants.h::
    :4In file included from 4:
    ./constants.h:
    In file included from :In file included from ./../../common/tables.h4./../../common/tables.h::
    :4In file included from 4:
    ./../../common/tables.h:
    :./../../common/length.h4./../../common/length.h::
    :171171:./../../common/length.h:2:2:171: : 2:error:  error: redefinition of enumerator 'INVENTORY_PAGE_SIZE'error: redefinition of enumerator 'INVENTORY_PAGE_SIZE'
    
      redefinition of enumerator 'INVENTORY_PAGE_SIZE'  171171 |
     |                   I171IN | NV        VEIENNNTVTOEORNRYTYIn file included from _O_ani.cppPRPAYAG_GEPE:_A_SGSIEIZ_Z4ESE I =Z= E :
    I IN=NV VEIEIn file included from NNNTVTOEOR./char.hNRYTY_O_WRWI:YID_DTWTHI8H*D*ITINHNV*:
    VEIENNNTVTIn file included from OEORNRYTY_O_H./horse_rider.hRHEYEI_IGHGHE:HTIT,G,H
    T
          4,      | |
            ^      :
            ^
    |
            ^./../../common/length.h
    ./../../common/length.h:In file included from :2323:./../../common/length.h:2:2:./constants.h23: : 2:note:  :note: previous definition is hereprevious definition is herenote: 4
    
       previous definition is here   2323 |
     | :
                       I23IN | NV        VEIEIn file included from NNNTVTOEORN./../../common/tables.hRYTY_O_PRPA:YAG_GEPE_A_SG4SIEIZ_ZESE     I     :
            Z        =E=       I        IN=NV VEIENN./../../common/length.hNTVTOEORNRYTY:_O_PRPAYAG_GEP171E_A_CGCOEOL:_LUCUMOMNLN2*U*IMINNNV*VEI:ENNNTVTOEORNR YTY_O_PRPAYAG_GEPE_A_RGROEOW_W,R,O
    error: W
          ,      | |
            ^              ^
    |
            ^./../../common/length.h
    ./../../common/length.h::172172:./../../common/length.h:2redefinition of enumerator 'INVENTORY_PAGE_SIZE':2:172: : 2:error:  error: redefinition of enumerator 'INVENTORY_PAGE_COUNT'error: redefinition of enumerator 'INVENTORY_PAGE_COUNT'
    
    
        redefinition of enumerator 'INVENTORY_PAGE_COUNT'  172172 |
    171 |                   I172IN |  | NV        VEIENN        NTVTOEOIRNRYTYN_O_PRPAYAVG_GEPE_A_ECGCOEOUN_UNCNTTOT U =N= OT I IN=NVR VEIENNNYTVTOEOR_NRYTY_O_MPRMAYAX_X_AM_NANUXUGM_M N /UE/ M I I_N/NV VEIESNNNTVTOIEORNRYTYZ_O_PRPAYAEG_GEPE_A_ SGSIEIZ=_ZESE,I, Z
    E
          ,      I| |
            ^      N        ^
    |
    V        ^./../../common/length.h
    ./../../common/length.hE::2525:./../../common/length.h:N2:2:25: : T2:Onote:  note: previous definition is hereRprevious definition is herenote:
    
       Yprevious definition is here   2525 |
     |         _           I25IN | NWV        VEIENINNTVTOEODRNRYTY_O_TPRPAYAGH_GEPE_A_C*GCOEOU_UINCNTOT    U    =NN= T V    4=4 ,E, 4 N/,// /  T2/2 / (O (d2de efR(fadaueuYlfltat)u)_l
    t
    H      )      | |
    E        ^              ^
    |
    I        ^G
    HT,
          |         ^
    ./../../common/length.h:223 error:s2 generated:.
     gmake[1]: *** [Makefile:184: .obj/banword.o] Error 1
    gmake[1]: *** Waiting for unfinished jobs....
    note: previous definition is here
       23 |         IN2V2E errorNTORY_PA errorsGE_SIZE      generated        = INVENs.
    TORYgmake[1]: *** [Makefile:184: .obj/arena.o] Error 1
    _PA generatedGE_COLUMN*INVENTOR.
    Y_PAGE_ROW,
          | gmake[1]: *** [Makefile:184: .obj/OXEvent.o] Error 1
            ^
    ./../../common/length.h:172:2: error: redefinition of enumerator 'INVENTORY_PAGE_COUNT'
      172 |         INVENTORY_PAGE_COUNT = INVENTORY_MAX_NUM / INVENTORY_PAGE_SIZE,
          |         ^
    ./../../common/length.h:25:2: note: previous definition is here
       25 |         INVENTORY_PAGE_COUNT    = 4, // 2 (default)
          |         ^
    2 errors generated.
    gmake[1]: *** [Makefile:184: .obj/ani.o] Error 1
    gmake[1]: Leaving directory '/home/s3ll_server/Srcs/Server/game/src'
    gmake: *** [Makefile:22: quick] Error 2
    
    *Fișier(e) cu problema (link pastebin / code):
    Code:
    #ifndef __INC_METIN_II_LENGTH_H__
    #define __INC_METIN_II_LENGTH_H__
    
    #include "CommonDefines.h"
    
    #define WORD_MAX 0xffff
    enum EMisc
    {
    	MAX_HOST_LENGTH			= 15,
    	IP_ADDRESS_LENGTH		= 15,
    	LOGIN_MAX_LEN			= 30,
    	PASSWD_MAX_LEN			= 16,
    #ifdef ENABLE_PLAYER_PER_ACCOUNT5
    	PLAYER_PER_ACCOUNT		= 5,
    #else
    	PLAYER_PER_ACCOUNT		= 4,
    #endif
    	ACCOUNT_STATUS_MAX_LEN	= 8,
    	CHARACTER_NAME_MAX_LEN	= 24,
    	SHOP_SIGN_MAX_LEN		= 32,
    	INVENTORY_PAGE_COLUMN	= 5, // 5 (default)
    	INVENTORY_PAGE_ROW		= 9, // 9 (default)
    	INVENTORY_PAGE_SIZE		= INVENTORY_PAGE_COLUMN*INVENTORY_PAGE_ROW,
    #ifdef ENABLE_EXTEND_INVEN_SYSTEM
    	INVENTORY_PAGE_COUNT	= 4, // 2 (default)
    #else
    	INVENTORY_PAGE_COUNT	= 2, // 2 (default)
    #endif
    	INVENTORY_MAX_NUM		= INVENTORY_PAGE_SIZE*INVENTORY_PAGE_COUNT, // 90 (default)
    	ABILITY_MAX_NUM			= 50,
    	EMPIRE_MAX_NUM			= 4,
    	BANWORD_MAX_LEN			= 24,
    	SOCIAL_ID_MAX_LEN		= 18,
    
    	GUILD_NAME_MAX_LEN		= 12,
    
    	SHOP_HOST_ITEM_MAX_NUM	= 40,
    	SHOP_GUEST_ITEM_MAX_NUM = 18,
    
    	SHOP_PRICELIST_MAX_NUM	= 40,
    
    	CHAT_MAX_LEN			= 512,
    
    	QUICKSLOT_MAX_NUM		= 36,
    
    	JOURNAL_MAX_NUM			= 2,
    
    	QUERY_MAX_LEN			= 8192,
    
    	FILE_MAX_LEN			= 128,
    
    	PLAYER_EXP_TABLE_MAX	= 120,
    	PLAYER_MAX_LEVEL_CONST	= 250,
    
    	GUILD_MAX_LEVEL			= 20,
    	MOB_MAX_LEVEL			= 100,
    
    	ATTRIBUTE_MAX_VALUE		= 20,
    	CHARACTER_PATH_MAX_NUM	= 64,
    	SKILL_MAX_NUM			= 255,
    	SKILLBOOK_DELAY_MIN		= 64800,
    	SKILLBOOK_DELAY_MAX		= 108000,
    	SKILL_MAX_LEVEL			= 40,
    
    	APPLY_NAME_MAX_LEN		= 32,
    	EVENT_FLAG_NAME_MAX_LEN = 32,
    
    	MOB_SKILL_MAX_NUM		= 5,
    
        POINT_MAX_NUM = 255,
    	DRAGON_SOUL_BOX_SIZE = 32,
    	DRAGON_SOUL_BOX_COLUMN_NUM = 8,
    	DRAGON_SOUL_BOX_ROW_NUM = DRAGON_SOUL_BOX_SIZE / DRAGON_SOUL_BOX_COLUMN_NUM,
    	DRAGON_SOUL_REFINE_GRID_SIZE = 15,
    	MAX_AMOUNT_OF_MALL_BONUS	= 20,
    
    	WEAR_MAX_NUM				= 32,
    
    	//LIMIT_GOLD
    	GOLD_MAX = 2000000000,
    #ifdef ENABLE_CHEQUE_SYSTEM
    	CHEQUE_MAX = 1000,
    	CHEQUE_VNUM = 2,
    	#ifndef ENABLE_IKASHOP_RENEWAL
    	YANG_PER_CHEQUE = 100000000,
    	#endif
    #endif
    	//END_LIMIT_GOLD
    
    	SHOP_TAB_NAME_MAX = 32,
    	SHOP_TAB_COUNT_MAX = 3,
    
    	BELT_INVENTORY_SLOT_WIDTH = 4,
    	BELT_INVENTORY_SLOT_HEIGHT= 4,
    
    	BELT_INVENTORY_SLOT_COUNT = BELT_INVENTORY_SLOT_WIDTH * BELT_INVENTORY_SLOT_HEIGHT,
    };
    
    enum EWearPositions
    {
    	WEAR_BODY,		// 0
    	WEAR_HEAD,		// 1
    	WEAR_FOOTS,		// 2
    	WEAR_WRIST,		// 3
    	WEAR_WEAPON,	// 4
    	WEAR_NECK,		// 5
    	WEAR_EAR,		// 6
    	WEAR_UNIQUE1,	// 7
    	WEAR_UNIQUE2,	// 8
    	WEAR_ARROW,		// 9
    	WEAR_SHIELD,	// 10
        WEAR_ABILITY1,  // 11
        WEAR_ABILITY2,  // 12
        WEAR_ABILITY3,  // 13
        WEAR_ABILITY4,  // 14
        WEAR_ABILITY5,  // 15
        WEAR_ABILITY6,  // 16
        WEAR_ABILITY7,  // 17
        WEAR_ABILITY8,  // 18
    	WEAR_COSTUME_BODY,	// 19
    	WEAR_COSTUME_HAIR,	// 20
    
    #ifdef ENABLE_MOUNT_COSTUME_SYSTEM
    	WEAR_COSTUME_MOUNT,	// 21
    #endif
    
    #ifdef ENABLE_ACCE_COSTUME_SYSTEM
    	WEAR_COSTUME_ACCE,	// 22
    #endif
    
    	WEAR_BELT,			// 23
    
    #ifdef ENABLE_WEAPON_COSTUME_SYSTEM
    	WEAR_COSTUME_WEAPON,// 24
    #endif
    
    	WEAR_PENDANT,		// 25
    	WEAR_GLOVE,			// 26
    
    	WEAR_MAX = 32
    };
    
    enum EDragonSoulDeckType
    {
    	DRAGON_SOUL_DECK_0,
    	DRAGON_SOUL_DECK_1,
    	DRAGON_SOUL_DECK_MAX_NUM = 2,
    
    	DRAGON_SOUL_DECK_RESERVED_MAX_NUM = 3,
    };
    
    enum ESex
    {
    	SEX_MALE,
    	SEX_FEMALE
    };
    
    #ifdef ENABLE_EXTEND_INVEN_SYSTEM
    enum EInventory
    {
    	/* you can change */
    	INVENTORY_OPEN_PAGE_COUNT = 2,
    	INVENTORY_OPEN_KEY_VNUM = 72319,
    	INVENTORY_OPEN_KEY_VNUM2 = 72320,
    	INVENTORY_START_DELETE_VNUM = INVENTORY_OPEN_KEY_VNUM, // start deleting from a tradeable item
    	INVENTORY_NEED_KEY_START = 2,
    	INVENTORY_NEED_KEY_INCREASE = 3, // Increase the number of keys in each 3 stages. you can change
    	/* end */
    	INVENTORY_WIDTH = 5,
    	INVENTORY_HEIGHT = 9,
    	INVENTORY_PAGE_SIZE = INVENTORY_WIDTH*INVENTORY_HEIGHT,
    	INVENTORY_PAGE_COUNT = INVENTORY_MAX_NUM / INVENTORY_PAGE_SIZE,
    	INVENTORY_OPEN_PAGE_SIZE = INVENTORY_OPEN_PAGE_COUNT*INVENTORY_PAGE_SIZE,
    	INVENTORY_LOCKED_PAGE_COUNT = INVENTORY_PAGE_COUNT-INVENTORY_OPEN_PAGE_COUNT,
    	INVENTORY_LOCK_COVER_COUNT = INVENTORY_LOCKED_PAGE_COUNT*INVENTORY_HEIGHT
    };
    #endif
    
    enum EDirection
    {
    	DIR_NORTH,
    	DIR_NORTHEAST,
    	DIR_EAST,
    	DIR_SOUTHEAST,
    	DIR_SOUTH,
    	DIR_SOUTHWEST,
    	DIR_WEST,
    	DIR_NORTHWEST,
    	DIR_MAX_NUM
    };
    
    #define ABILITY_MAX_LEVEL	10
    
    enum EAbilityDifficulty
    {
    	DIFFICULTY_EASY,
    	DIFFICULTY_NORMAL,
    	DIFFICULTY_HARD,
    	DIFFICULTY_VERY_HARD,
    	DIFFICULTY_NUM_TYPES
    };
    
    enum EAbilityCategory
    {
    	CATEGORY_PHYSICAL,
    	CATEGORY_MENTAL,
    	CATEGORY_ATTRIBUTE,
    	CATEGORY_NUM_TYPES
    };
    
    enum EJobs
    {
    	JOB_WARRIOR,
    	JOB_ASSASSIN,
    	JOB_SURA,
    	JOB_SHAMAN,
    #ifdef ENABLE_WOLFMAN_CHARACTER
    	JOB_WOLFMAN,
    #endif
    	JOB_MAX_NUM
    };
    
    enum ESkillGroups
    {
    	SKILL_GROUP_MAX_NUM = 2,
    };
    
    enum ERaceFlags
    {
    	RACE_FLAG_ANIMAL	= (1 << 0),
    	RACE_FLAG_UNDEAD	= (1 << 1),
    	RACE_FLAG_DEVIL		= (1 << 2),
    	RACE_FLAG_HUMAN		= (1 << 3),
    	RACE_FLAG_ORC		= (1 << 4),
    	RACE_FLAG_MILGYO	= (1 << 5),
    	RACE_FLAG_INSECT	= (1 << 6),
    	RACE_FLAG_FIRE		= (1 << 7),
    	RACE_FLAG_ICE		= (1 << 8),
    	RACE_FLAG_DESERT	= (1 << 9),
    	RACE_FLAG_TREE		= (1 << 10),
    	RACE_FLAG_ATT_ELEC	= (1 << 11),
    	RACE_FLAG_ATT_FIRE	= (1 << 12),
    	RACE_FLAG_ATT_ICE	= (1 << 13),
    	RACE_FLAG_ATT_WIND	= (1 << 14),
    	RACE_FLAG_ATT_EARTH	= (1 << 15),
    	RACE_FLAG_ATT_DARK	= (1 << 16),
    	RACE_FLAG_CZ		= (1 << 17), // 1<<11 official
    };
    
    enum ELoads
    {
    	LOAD_NONE,
    	LOAD_LIGHT,
    	LOAD_NORMAL,
    	LOAD_HEAVY,
    	LOAD_MASSIVE
    };
    
    enum
    {
    	QUICKSLOT_TYPE_NONE,
    	QUICKSLOT_TYPE_ITEM,
    	QUICKSLOT_TYPE_SKILL,
    	QUICKSLOT_TYPE_COMMAND,
    	QUICKSLOT_TYPE_MAX_NUM,
    };
    
    enum EParts
    {
    	PART_MAIN,
    	PART_WEAPON,
    	PART_HEAD,
    	PART_HAIR,
    #ifdef ENABLE_ACCE_COSTUME_SYSTEM
    	PART_ACCE,
    #endif
    	PART_MAX_NUM,
    	PART_WEAPON_SUB,
    };
    
    enum EChatType
    {
    	CHAT_TYPE_TALKING,
    	CHAT_TYPE_INFO,
    	CHAT_TYPE_NOTICE,
    	CHAT_TYPE_PARTY,
    	CHAT_TYPE_GUILD,
    	CHAT_TYPE_COMMAND,
    	CHAT_TYPE_SHOUT,
    	CHAT_TYPE_WHISPER,
    	CHAT_TYPE_BIG_NOTICE,
    	CHAT_TYPE_MONARCH_NOTICE,
    #ifdef ENABLE_DICE_SYSTEM
    	CHAT_TYPE_DICE_INFO, //11
    #endif
    	CHAT_TYPE_MAX_NUM
    };
    
    enum EWhisperType
    {
    	WHISPER_TYPE_NORMAL		= 0,
    	WHISPER_TYPE_NOT_EXIST		= 1,
    	WHISPER_TYPE_TARGET_BLOCKED	= 2,
    	WHISPER_TYPE_SENDER_BLOCKED	= 3,
    	WHISPER_TYPE_ERROR		= 4,
    	WHISPER_TYPE_GM			= 5,
    	WHISPER_TYPE_SYSTEM		= 0xFF
    };
    
    enum ECharacterPosition
    {
    	POSITION_GENERAL,
    	POSITION_BATTLE,
    	POSITION_DYING,
    	POSITION_SITTING_CHAIR,
    	POSITION_SITTING_GROUND,
    	POSITION_INTRO,
    	POSITION_MAX_NUM
    };
    
    enum EGMLevels
    {
    	GM_PLAYER,
    	GM_LOW_WIZARD,
    	GM_WIZARD,
    	GM_HIGH_WIZARD,
    	GM_GOD,
    	GM_IMPLEMENTOR,
    	GM_DISABLE,
    };
    
    enum EMobRank
    {
    	MOB_RANK_PAWN,
    	MOB_RANK_S_PAWN,
    	MOB_RANK_KNIGHT,
    	MOB_RANK_S_KNIGHT,
    	MOB_RANK_BOSS,
    	MOB_RANK_KING,
    	MOB_RANK_MAX_NUM
    };
    
    enum ECharType
    {
    	CHAR_TYPE_MONSTER,
    	CHAR_TYPE_NPC,
    	CHAR_TYPE_STONE,
    	CHAR_TYPE_WARP,
    	CHAR_TYPE_DOOR,
    	CHAR_TYPE_BUILDING,
    	CHAR_TYPE_PC,
    	CHAR_TYPE_POLYMORPH_PC,
    	CHAR_TYPE_HORSE,
    	CHAR_TYPE_GOTO
    };
    
    enum EBattleType
    {
    	BATTLE_TYPE_MELEE,
    	BATTLE_TYPE_RANGE,
    	BATTLE_TYPE_MAGIC,
    	BATTLE_TYPE_SPECIAL,
    	BATTLE_TYPE_POWER,
    	BATTLE_TYPE_TANKER,
    	BATTLE_TYPE_SUPER_POWER,
    	BATTLE_TYPE_SUPER_TANKER,
    	BATTLE_TYPE_MAX_NUM
    };
    
    enum EApplyTypes
    {
    	APPLY_NONE,			// 0
    	APPLY_MAX_HP,		// 1
    	APPLY_MAX_SP,		// 2
    	APPLY_CON,			// 3
    	APPLY_INT,			// 4
    	APPLY_STR,			// 5
    	APPLY_DEX,			// 6
    	APPLY_ATT_SPEED,	// 7
    	APPLY_MOV_SPEED,	// 8
    	APPLY_CAST_SPEED,	// 9
    	APPLY_HP_REGEN,		// 10
    	APPLY_SP_REGEN,		// 11
    	APPLY_POISON_PCT,	// 12
    	APPLY_STUN_PCT,		// 13
    	APPLY_SLOW_PCT,		// 14
    	APPLY_CRITICAL_PCT,		// 15
    	APPLY_PENETRATE_PCT,	// 16
    	APPLY_ATTBONUS_HUMAN,	// 17
    	APPLY_ATTBONUS_ANIMAL,	// 18
    	APPLY_ATTBONUS_ORC,		// 19
    	APPLY_ATTBONUS_MILGYO,	// 20
    	APPLY_ATTBONUS_UNDEAD,	// 21
    	APPLY_ATTBONUS_DEVIL,	// 22
    	APPLY_STEAL_HP,			// 23
    	APPLY_STEAL_SP,			// 24
    	APPLY_MANA_BURN_PCT,	// 25
    	APPLY_DAMAGE_SP_RECOVER,	// 26
    	APPLY_BLOCK,			// 27
    	APPLY_DODGE,			// 28
    	APPLY_RESIST_SWORD,		// 29
    	APPLY_RESIST_TWOHAND,	// 30
    	APPLY_RESIST_DAGGER,	// 31
    	APPLY_RESIST_BELL,		// 32
    	APPLY_RESIST_FAN,		// 33
    	APPLY_RESIST_BOW,		// 34
    	APPLY_RESIST_FIRE,		// 35
    	APPLY_RESIST_ELEC,		// 36
    	APPLY_RESIST_MAGIC,		// 37
    	APPLY_RESIST_WIND,		// 38
    	APPLY_REFLECT_MELEE,	// 39
    	APPLY_REFLECT_CURSE,	// 40
    	APPLY_POISON_REDUCE,	// 41
    	APPLY_KILL_SP_RECOVER,	// 42
    	APPLY_EXP_DOUBLE_BONUS,	// 43
    	APPLY_GOLD_DOUBLE_BONUS,	// 44
    	APPLY_ITEM_DROP_BONUS,	// 45
    	APPLY_POTION_BONUS,		// 46
    	APPLY_KILL_HP_RECOVER,	// 47
    	APPLY_IMMUNE_STUN,		// 48
    	APPLY_IMMUNE_SLOW,		// 49
    	APPLY_IMMUNE_FALL,		// 50
    	APPLY_SKILL,			// 51
    	APPLY_BOW_DISTANCE,		// 52
    	APPLY_ATT_GRADE_BONUS,	// 53
    	APPLY_DEF_GRADE_BONUS,	// 54
    	APPLY_MAGIC_ATT_GRADE,	// 55
    	APPLY_MAGIC_DEF_GRADE,	// 56
    	APPLY_CURSE_PCT,		// 57
    	APPLY_MAX_STAMINA,		// 58
    	APPLY_ATTBONUS_WARRIOR,	// 59
    	APPLY_ATTBONUS_ASSASSIN,	// 60
    	APPLY_ATTBONUS_SURA,	// 61
    	APPLY_ATTBONUS_SHAMAN,	// 62
    	APPLY_ATTBONUS_MONSTER,	// 63
    	APPLY_MALL_ATTBONUS,
    	APPLY_MALL_DEFBONUS,
    	APPLY_MALL_EXPBONUS,
    	APPLY_MALL_ITEMBONUS,
    	APPLY_MALL_GOLDBONUS,
    	APPLY_MAX_HP_PCT,
    	APPLY_MAX_SP_PCT,
    	APPLY_SKILL_DAMAGE_BONUS,
    	APPLY_NORMAL_HIT_DAMAGE_BONUS,
    	APPLY_SKILL_DEFEND_BONUS,
    	APPLY_NORMAL_HIT_DEFEND_BONUS,
    	APPLY_PC_BANG_EXP_BONUS, //reserved for backwards compatibility
    	APPLY_PC_BANG_DROP_BONUS, //reserved for backwards compatibility
    
    	APPLY_EXTRACT_HP_PCT,
    
    	APPLY_RESIST_WARRIOR,
    	APPLY_RESIST_ASSASSIN,
    	APPLY_RESIST_SURA,
    	APPLY_RESIST_SHAMAN,
    	APPLY_ENERGY,
    	APPLY_DEF_GRADE,
    	APPLY_COSTUME_ATTR_BONUS,
    	APPLY_MAGIC_ATTBONUS_PER,
    	APPLY_MELEE_MAGIC_ATTBONUS_PER,
    
    	APPLY_RESIST_ICE,
    	APPLY_RESIST_EARTH,
    	APPLY_RESIST_DARK,
    
    	APPLY_ANTI_CRITICAL_PCT,
    	APPLY_ANTI_PENETRATE_PCT,
    
    #ifdef ENABLE_WOLFMAN_CHARACTER
    	APPLY_BLEEDING_REDUCE			= 92,		//92
    	APPLY_BLEEDING_PCT				= 93,		//93
    	APPLY_ATTBONUS_WOLFMAN			= 94,
    	APPLY_RESIST_WOLFMAN			= 95,
    	APPLY_RESIST_CLAW				= 96,
    #endif
    
    #ifdef ENABLE_ACCE_COSTUME_SYSTEM
    	APPLY_ACCEDRAIN_RATE			= 97,			//97
    #endif
    
    #ifdef ENABLE_MAGIC_REDUCTION_SYSTEM
    	APPLY_RESIST_MAGIC_REDUCTION	= 98,	//98
    #endif
    
    	APPLY_ENCHANT_ELECT				= 99,
    	APPLY_ENCHANT_FIRE				= 100,
    	APPLY_ENCHANT_ICE				= 101,
    	APPLY_ENCHANT_WIND				= 102,
    	APPLY_ENCHANT_EARTH				= 103,
    	APPLY_ENCHANT_DARK				= 104,
    
    	APPLY_ATTBONUS_CZ				= 105,
    	APPLY_ATTBONUS_INSECT			= 106,
    	APPLY_ATTBONUS_DESERT			= 107,
    	APPLY_ATTBONUS_SWORD			= 108,
    	APPLY_ATTBONUS_TWOHAND			= 109,
    	APPLY_ATTBONUS_DAGGER			= 110,
    	APPLY_ATTBONUS_BELL				= 111,
    	APPLY_ATTBONUS_FAN				= 112,
    	APPLY_ATTBONUS_BOW				= 113,
    #ifdef ENABLE_WOLFMAN_CHARACTER
    	APPLY_ATTBONUS_CLAW				= 114,
    #endif
    
    	APPLY_RESIST_HUMAN				= 115,
    	APPLY_RESIST_MOUNT_FALL			= 116,
    	APPLY_MOUNT						= 118,
    
    	MAX_APPLY_NUM					= 127,
    };
    
    enum EOnClickEvents
    {
    	ON_CLICK_NONE,
    	ON_CLICK_SHOP,
    	ON_CLICK_TALK,
    	ON_CLICK_MAX_NUM
    };
    
    enum EOnIdleEvents
    {
    	ON_IDLE_NONE,
    	ON_IDLE_GENERAL,
    	ON_IDLE_MAX_NUM
    };
    
    enum EWindows
    {
    	RESERVED_WINDOW,
    	INVENTORY,
    	EQUIPMENT,
    	SAFEBOX,
    	MALL,
    	DRAGON_SOUL_INVENTORY,
    	BELT_INVENTORY,
    	GROUND,
    	WINDOW_TYPE_MAX,
    };
    
    enum EMobSizes
    {
    	MOBSIZE_RESERVED,
    	MOBSIZE_SMALL,
    	MOBSIZE_MEDIUM,
    	MOBSIZE_BIG
    };
    
    enum EAIFlags
    {
    	AIFLAG_AGGRESSIVE		= (1 << 0),
    	AIFLAG_NOMOVE			= (1 << 1),
    	AIFLAG_COWARD			= (1 << 2),
    	AIFLAG_NOATTACKSHINSU	= (1 << 3),
    	AIFLAG_NOATTACKJINNO	= (1 << 4),
    	AIFLAG_NOATTACKCHUNJO	= (1 << 5),
    	AIFLAG_ATTACKMOB		= (1 << 6),
    	AIFLAG_BERSERK			= (1 << 7),
    	AIFLAG_STONESKIN		= (1 << 8),
    	AIFLAG_GODSPEED			= (1 << 9),
    	AIFLAG_DEATHBLOW		= (1 << 10),
    	AIFLAG_REVIVE			= (1 << 11),
    	AIFLAG_HEALER			= (1 << 12),
    	AIFLAG_COUNT			= (1 << 13),
    	AIFLAG_NORECOVERY		= (1 << 14),
    	AIFLAG_REFLECT			= (1 << 15),
    	AIFLAG_FALL				= (1 << 16),
    	AIFLAG_VIT				= (1 << 17),
    	AIFLAG_RATTSPEED		= (1 << 18),
    	AIFLAG_RCASTSPEED		= (1 << 19),
    	AIFLAG_RHP_REGEN		= (1 << 20),
    	AIFLAG_TIMEVIT			= (1 << 21),
    };
    
    enum EMobStatType
    {
    	MOB_STATTYPE_POWER,
    	MOB_STATTYPE_TANKER,
    	MOB_STATTYPE_SUPER_POWER,
    	MOB_STATTYPE_SUPER_TANKER,
    	MOB_STATTYPE_RANGE,
    	MOB_STATTYPE_MAGIC,
    	MOB_STATTYPE_MAX_NUM
    };
    
    enum EImmuneFlags
    {
    	IMMUNE_STUN		= (1 << 0),
    	IMMUNE_SLOW		= (1 << 1),
    	IMMUNE_FALL		= (1 << 2),
    	IMMUNE_CURSE	= (1 << 3),
    	IMMUNE_POISON	= (1 << 4),
    	IMMUNE_TERROR	= (1 << 5),
    	IMMUNE_REFLECT	= (1 << 6),
    };
    
    enum EMobEnchants
    {
    	MOB_ENCHANT_CURSE,
    	MOB_ENCHANT_SLOW,
    	MOB_ENCHANT_POISON,
    	MOB_ENCHANT_STUN,
    	MOB_ENCHANT_CRITICAL,
    	MOB_ENCHANT_PENETRATE,
    #if defined(ENABLE_WOLFMAN_CHARACTER) && !defined(USE_MOB_BLEEDING_AS_POISON)
    	MOB_ENCHANT_BLEEDING,
    #endif
    	MOB_ENCHANTS_MAX_NUM
    };
    
    enum EMobResists
    {
    	MOB_RESIST_SWORD,
    	MOB_RESIST_TWOHAND,
    	MOB_RESIST_DAGGER,
    	MOB_RESIST_BELL,
    	MOB_RESIST_FAN,
    	MOB_RESIST_BOW,
    	MOB_RESIST_FIRE,
    	MOB_RESIST_ELECT,
    	MOB_RESIST_MAGIC,
    	MOB_RESIST_WIND,
    	MOB_RESIST_POISON,
    #if defined(ENABLE_WOLFMAN_CHARACTER) && !defined(USE_MOB_CLAW_AS_DAGGER)
    	MOB_RESIST_CLAW,
    #endif
    #if defined(ENABLE_WOLFMAN_CHARACTER) && !defined(USE_MOB_BLEEDING_AS_POISON)
    	MOB_RESIST_BLEEDING,
    #endif
    	MOB_RESISTS_MAX_NUM
    };
    
    enum
    {
    	SKILL_ATTR_TYPE_NORMAL = 1,
    	SKILL_ATTR_TYPE_MELEE,
    	SKILL_ATTR_TYPE_RANGE,
    	SKILL_ATTR_TYPE_MAGIC
    		/*
    		   SKILL_ATTR_TYPE_FIRE,
    		   SKILL_ATTR_TYPE_ICE,
    		   SKILL_ATTR_TYPE_ELEC,
    		   SKILL_ATTR_TYPE_DARK,
    		   */
    };
    
    enum
    {
    	SKILL_NORMAL,
    	SKILL_MASTER,
    	SKILL_GRAND_MASTER,
    	SKILL_PERFECT_MASTER,
    };
    
    enum EGuildWarType
    {
    	GUILD_WAR_TYPE_FIELD,
    	GUILD_WAR_TYPE_BATTLE,
    	GUILD_WAR_TYPE_FLAG,
    	GUILD_WAR_TYPE_MAX_NUM
    };
    
    enum EGuildWarState
    {
    	GUILD_WAR_NONE,
    	GUILD_WAR_SEND_DECLARE,
    	GUILD_WAR_REFUSE,
    	GUILD_WAR_RECV_DECLARE,
    	GUILD_WAR_WAIT_START,
    	GUILD_WAR_CANCEL,
    	GUILD_WAR_ON_WAR,
    	GUILD_WAR_END,
    	GUILD_WAR_OVER,
    	GUILD_WAR_RESERVE,
    
    	GUILD_WAR_DURATION = 30*60,
    	GUILD_WAR_WIN_POINT = 1000,
    	GUILD_WAR_LADDER_HALF_PENALTY_TIME = 12*60*60,
    };
    
    enum EAttributeSet
    {
    	ATTRIBUTE_SET_WEAPON,
    	ATTRIBUTE_SET_BODY,
    	ATTRIBUTE_SET_WRIST,
    	ATTRIBUTE_SET_FOOTS,
    	ATTRIBUTE_SET_NECK,
    	ATTRIBUTE_SET_HEAD,
    	ATTRIBUTE_SET_SHIELD,
    	ATTRIBUTE_SET_EAR,
    #ifdef ENABLE_ITEM_ATTR_COSTUME
    	ATTRIBUTE_SET_COSTUME_BODY,
    	ATTRIBUTE_SET_COSTUME_HAIR,
    #if defined(ENABLE_ITEM_ATTR_COSTUME) && defined(ENABLE_WEAPON_COSTUME_SYSTEM)
    	ATTRIBUTE_SET_COSTUME_WEAPON,
    #endif
    #endif
    #ifdef ENABLE_PENDANT_SYSTEM
    	ATTRIBUTE_SET_PENDANT,
    #endif
    #ifdef ENABLE_GLOVE_SYSTEM
    	ATTRIBUTE_SET_GLOVE,
    #endif
    	ATTRIBUTE_SET_MAX_NUM
    };
    
    enum EPrivType
    {
    	PRIV_NONE,
    	PRIV_ITEM_DROP,
    	PRIV_GOLD_DROP,
    	PRIV_GOLD10_DROP,
    	PRIV_EXP_PCT,
    	MAX_PRIV_NUM,
    };
    
    enum EMoneyLogType
    {
    	MONEY_LOG_RESERVED,
    	MONEY_LOG_MONSTER,
    	MONEY_LOG_SHOP,
    	MONEY_LOG_REFINE,
    	MONEY_LOG_QUEST,
    	MONEY_LOG_GUILD,
    	MONEY_LOG_MISC,
    	MONEY_LOG_MONSTER_KILL,
    	MONEY_LOG_DROP,
    	MONEY_LOG_TYPE_MAX_NUM,
    };
    
    enum EPremiumTypes
    {
    	PREMIUM_EXP,
    	PREMIUM_ITEM,
    	PREMIUM_SAFEBOX,
    	PREMIUM_AUTOLOOT,
    	PREMIUM_FISH_MIND,
    	PREMIUM_MARRIAGE_FAST,
    	PREMIUM_GOLD,
    	PREMIUM_MAX_NUM = 9
    };
    
    enum SPECIAL_EFFECT
    {
    	SE_NONE,
    
    	SE_HPUP_RED,
    	SE_SPUP_BLUE,
    	SE_SPEEDUP_GREEN,
    	SE_DXUP_PURPLE,
    	SE_CRITICAL,
    	SE_PENETRATE,
    	SE_BLOCK,
    	SE_DODGE,
    	SE_CHINA_FIREWORK,
    	SE_SPIN_TOP,
    	SE_SUCCESS,
    	SE_FAIL,
    	SE_FR_SUCCESS,
    	SE_LEVELUP_ON_14_FOR_GERMANY,
    	SE_LEVELUP_UNDER_15_FOR_GERMANY,
    	SE_PERCENT_DAMAGE1,
    	SE_PERCENT_DAMAGE2,
    	SE_PERCENT_DAMAGE3,
    
    	SE_AUTO_HPUP,
    	SE_AUTO_SPUP,
    
    	SE_EQUIP_RAMADAN_RING,
    	SE_EQUIP_HALLOWEEN_CANDY,
    	SE_EQUIP_HAPPINESS_RING,
    	SE_EQUIP_LOVE_PENDANT,
    
    #ifdef ENABLE_ACCE_COSTUME_SYSTEM
    	SE_EFFECT_ACCE_SUCESS_ABSORB,
    	SE_EFFECT_ACCE_EQUIP,
    #endif
    };
    
    #include "item_length.h"
    
    enum EDragonSoulRefineWindowSize
    {
    	DRAGON_SOUL_REFINE_GRID_MAX = 15,
    };
    
    enum EMisc2
    {
    	DRAGON_SOUL_EQUIP_SLOT_START = INVENTORY_MAX_NUM + WEAR_MAX_NUM,
    	DRAGON_SOUL_EQUIP_SLOT_END = DRAGON_SOUL_EQUIP_SLOT_START + (DS_SLOT_MAX * DRAGON_SOUL_DECK_MAX_NUM),
    	DRAGON_SOUL_EQUIP_RESERVED_SLOT_END = DRAGON_SOUL_EQUIP_SLOT_END + (DS_SLOT_MAX * DRAGON_SOUL_DECK_RESERVED_MAX_NUM),
    
    	BELT_INVENTORY_SLOT_START = DRAGON_SOUL_EQUIP_RESERVED_SLOT_END,
    	BELT_INVENTORY_SLOT_END = BELT_INVENTORY_SLOT_START + BELT_INVENTORY_SLOT_COUNT,
    
    	INVENTORY_AND_EQUIP_SLOT_MAX = BELT_INVENTORY_SLOT_END,
    };
    
    #pragma pack(push, 1)
    
    typedef struct SItemPos
    {
    	BYTE window_type;
    	WORD cell;
        SItemPos ()
        {
            window_type = INVENTORY;
    		cell = WORD_MAX;
        }
    
    	SItemPos (BYTE _window_type, WORD _cell)
        {
            window_type = _window_type;
            cell = _cell;
        }
    
    	bool IsValidItemPosition() const
    	{
    		switch (window_type)
    		{
    		case RESERVED_WINDOW:
    			return false;
    		case INVENTORY:
    		case EQUIPMENT:
    		case BELT_INVENTORY:
    			return cell < INVENTORY_AND_EQUIP_SLOT_MAX;
    		case DRAGON_SOUL_INVENTORY:
    			return cell < (DRAGON_SOUL_INVENTORY_MAX_NUM);
    
    		case SAFEBOX:
    		case MALL:
    			return false;
    		default:
    			return false;
    		}
    		return false;
    	}
    
    	bool IsSamePosition(const SItemPos & other) const
    	{
    		return *this==other
    			|| ((INVENTORY == window_type || EQUIPMENT == window_type)
    				&& (INVENTORY == other.window_type || EQUIPMENT == other.window_type)
    				&& cell == other.cell);
    	}
    
    	bool IsEquipPosition() const
    	{
    		return ((INVENTORY == window_type || EQUIPMENT == window_type) && cell >= INVENTORY_MAX_NUM && cell < INVENTORY_MAX_NUM + WEAR_MAX_NUM)
    			|| IsDragonSoulEquipPosition();
    	}
    
    	bool IsDragonSoulEquipPosition() const
    	{
    		return (window_type == INVENTORY) && (DRAGON_SOUL_EQUIP_SLOT_START <= cell) && (DRAGON_SOUL_EQUIP_SLOT_END > cell); // @fixme184
    	}
    
    	bool IsBeltInventoryPosition() const // @fixme324 (INVENTORY n EQUIPMENT)
    	{
    		return (window_type == INVENTORY || window_type == EQUIPMENT) && (BELT_INVENTORY_SLOT_START <= cell) && (BELT_INVENTORY_SLOT_END > cell);
    	}
    
    	bool IsDefaultInventoryPosition() const
    	{
    		return INVENTORY == window_type && cell < INVENTORY_MAX_NUM;
    	}
    
    	bool operator==(const struct SItemPos& rhs) const
    	{
    		return (window_type == rhs.window_type) && (cell == rhs.cell);
    	}
    	bool operator<(const struct SItemPos& rhs) const
    	{
    		return (window_type < rhs.window_type) || ((window_type == rhs.window_type) && (cell < rhs.cell));
    	}
    } TItemPos;
    
    const TItemPos NPOS (RESERVED_WINDOW, WORD_MAX);
    
    typedef struct SItemPosEx
    {
    	TItemPos pos;
    	int id{ 0 };
    } TItemPosEx;
    
    typedef enum
    {
    	SHOP_COIN_TYPE_GOLD, // DEFAULT VALUE
    	SHOP_COIN_TYPE_SECONDARY_COIN,
    } EShopCoinType;
    
    #pragma pack(pop)
    
    #endif
    //martysama0134's dcf42890919f0da1c0e6dbb7f15bc7ec   // Este svr Martysama 5.8 clean
    
    *Poze / Video:[Problemă] [C++]Extinde Inventar - Mesaj 1 - Imagine 1

    📢 Resurse Metin2 Premium!

    Zeci de resurse Metin2 Premium - exclusive și 100% funcționale începând cu 15.99€!.

    Vezi resursele Cumpără premium
    Premium
    Premium
    Anunț
    Robot Robot
  • Mesaje: 170
  • Reacții: 0
  • Mesaje utile: 0
  • Status: Sunt doar un Bot :)
  • Regat: Shinsoo
  • Contact:

    Medalii

    Avatar utilizator
    Robot
    Robot

    Mesaj de Uriel »

    Salut, Mokanu KennT!

    Îți recomand câteva link-uri utile care te pot ajuta să rezolvi problema mai rapid:

    - Alte probleme rezolvate
    - Fixuri Metin2
    - Tutoriale
    - Cum resetez parola MySQL
    - Compilare sursă Metin2
    - Lista FreeBSD pentru compilare


    Și dacă vrei ajutor direct, te așteptăm pe serverul nostru de Discord — chat activ, suport live și o comunitate faină gata să te ajute! Pentru a intra pe serverul de Discord: Click aici
  • Mesaje: 3
  • Reacții: 2
  • Mesaje utile: 0
  • Status: Vai de mine
  • Regat: Chunjo
  • [ID Discord]
  • Contact:

    Medalii

    Mesaj de Titan »

    Fişiere ataşate:
    [img]./download/file.php?mode=view&amp;id=6113[/img]
    [img]./download/file.php?mode=view&id=6113[/img]

    📢 Resurse Metin2 Premium!

    Zeci de resurse Metin2 Premium - exclusive și 100% funcționale începând cu 15.99€!.

    Vezi resursele Cumpără premium
    Premium
    Premium
    Anunț
    Scrie răspuns

    Creează-ți un cont sau autentifică-te pentru a participa la discuție

    Trebuie să fii membru pentru a răspunde

    Creează-ți un cont

    Membrii pot crea subiecte noi și pot descărca resurse Metin2 Gratuit!


    Te poți înregistra sau conecta rapid utilizând contul tău de Discord, Github sau Google.

    Înregistrare

    Autentifică-te

    Înapoi la “Support”

    Informații

    Utilizatori ce navighează pe acest forum: Angelic, nicucocis, salexandru9982 și 3 vizitatori

    Discord ID copiat: