Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Items on TW version

Newbie Spellweaver
Joined
Mar 27, 2014
Messages
33
Reaction score
6
I'm trying to send items in tw version, but if I send more than 32 items the game does not open (black screen).
Anyone know why?
Sorry for my English

with 32 items or less it works ok
 

Attachments

You must be registered for see attachments list
Newbie Spellweaver
Joined
Jan 15, 2014
Messages
28
Reaction score
1
that version is akcore or snaity version?or Dev yourself?
Can you tell me how to fix for load the item from db?i can not load TT
 
Experienced Elementalist
Joined
Apr 17, 2006
Messages
220
Reaction score
47
Well lets see....you know your max inventory space is 32 right?(based on your 2 x 16 capsule inventory)
 
Newbie Spellweaver
Joined
Mar 27, 2014
Messages
33
Reaction score
6
Well lets see....you know your max inventory space is 32 right?(based on your 2 x 16 capsule inventory)
that is not the problem, if I put more capsules is the same. In addition to adding the 17 items of equipment.
 
Newbie Spellweaver
Joined
Jun 16, 2014
Messages
94
Reaction score
2
@Xanu can you answer me for one question?
for the struct sItem_profile(TW) is the same data for kr or need to add some data
?
Thank you :/
 
Newbie Spellweaver
Joined
Jun 16, 2014
Messages
94
Reaction score
2
2016-07-08-19-12-28 - Items on TW version - RaGEZONE Forums Xanu
if i do that<//SendCharItemInfo> ,then can not load the bag,and load the iteminfo incorrect,what i need to change in the source?Can you help?

 

Attachments

You must be registered for see attachments list
Newbie Spellweaver
Joined
Mar 27, 2014
Messages
33
Reaction score
6
I think I already have the structure of item_profile

Code:
typedef struct{


    uint16_t type;
    uint32_t value;


} dbo_item_effect;


typedef struct{


    uint16_t type;
    uint32_t value;


} dbo_item_extra_effect;


typedef struct
{
    HANDLEID handle;
    DBOID id;


    uint8_t place;
    uint8_t pos;
    uint8_t stack_count;
    uint8_t rank;
    uint8_t durability;
    bool need_identify;
    uint8_t grade;
    uint8_t battle_attribute;
    uint8_t restrict_type;
    WCHAR creator[DBO_CHAR_NAME_LEN + 1]; //DBO_CHAR_NAME_LEN = 16
    DBOID options[DBO_ITEM_OPTION_MAX]; //DBO_ITEM_OPTION_MAX = 2
    dbo_item_effect effect[DBO_ITEM_EFFECT_MAX]; //DBO_ITEM_EFFECT_MAX = 6
    dbo_item_extra_effect extra_effect[DBO_ITEM_EXTRA_EFFECT_MAX]; //DBO_ITEM_EXTRA_EFFECT_MAX = 2 (Green effects)
    uint8_t duration_type;
    time_t start_time;
    time_t end_time;




} dbo_item_profile;
itemscom - Items on TW version - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Newbie Spellweaver
Joined
Jun 16, 2014
Messages
94
Reaction score
2
can you tell me how to use that file?...i dont know how to use it,then make item working



How to replace NtlItem.h?:love:
 
Newbie Spellweaver
Joined
May 30, 2014
Messages
54
Reaction score
2
that is dbo_common_item.h:glare:?
What is dbo_common_item.h? In sources on Snaity is NtlItem.h where sITEM_PROFILE looks like that:

Code:
    HOBJECT            handle;            // 아이템 handle
    TBLIDX            tblidx;            // item table index
    BYTE            byPlace;        // eCONTAINER_TYPE
    BYTE            byPos;
    BYTE            byStackcount;
    BYTE            byRank;
    BYTE            byCurDur;        // 내구도
    bool            bNeedToIdentify;
    BYTE            byGrade;        // 아이템 업그레이드 등급
    BYTE            byBattleAttribute;        // 진기맹여락 cf) NtlBattle.h eBATTLE_ATTRIBUTE


    BYTE            byRestrictType;            // 귀속상태 eITEM_RESTRICT_TYPE
    WCHAR            awchMaker[NTL_MAX_SIZE_CHAR_NAME_UNICODE + 1]; // 제작자


    TBLIDX            aOptionTblidx[NTL_MAX_OPTION_IN_ITEM];


    BYTE            byDurationType; //eDURATIONTYPE
    DBOTIME            nUseStartTime;// 인벤토리에 들어온 날짜
    DBOTIME            nUseEndTime;// 사용만료 기간
    BYTE            unknown1[48];
where unknown1[48]; is new structure for TW
 
Newbie Spellweaver
Joined
Mar 27, 2014
Messages
33
Reaction score
6
unknown1[48] is item effects
6 effects * 6bytes(2type 4id) = 36
+
2 extra_effects * 6bytes = 12

They go after aOptionTblidx
 
Newbie Spellweaver
Joined
Jun 16, 2014
Messages
94
Reaction score
2
What is dbo_common_item.h? In sources on Snaity is NtlItem.h where sITEM_PROFILE looks like that:

Code:
    HOBJECT            handle;            // 아이템 handle
    TBLIDX            tblidx;            // item table index
    BYTE            byPlace;        // eCONTAINER_TYPE
    BYTE            byPos;
    BYTE            byStackcount;
    BYTE            byRank;
    BYTE            byCurDur;        // 내구도
    bool            bNeedToIdentify;
    BYTE            byGrade;        // 아이템 업그레이드 등급
    BYTE            byBattleAttribute;        // 진기맹여락 cf) NtlBattle.h eBATTLE_ATTRIBUTE


    BYTE            byRestrictType;            // 귀속상태 eITEM_RESTRICT_TYPE
    WCHAR            awchMaker[NTL_MAX_SIZE_CHAR_NAME_UNICODE + 1]; // 제작자


    TBLIDX            aOptionTblidx[NTL_MAX_OPTION_IN_ITEM];


    BYTE            byDurationType; //eDURATIONTYPE
    DBOTIME            nUseStartTime;// 인벤토리에 들어온 날짜
    DBOTIME            nUseEndTime;// 사용만료 기간
    BYTE            unknown1[48];
where unknown1[48]; is new structure for TW

dbo_common_item.h is the file for dbor(maybe)



unknown1[48] is item effects
6 effects * 6bytes(2type 4id) = 36
+
2 extra_effects * 6bytes = 12

They go after aOptionTblidx

[ HOBJECT handle; // 아이템 handle
TBLIDX tblidx; // item table index
BYTE byPlace; // eCONTAINER_TYPE
BYTE byPos;
BYTE byStackcount;
BYTE byRank;
BYTE byCurDur; // 내구도
bool bNeedToIdentify;
BYTE byGrade; // 아이템 업그레이드 등급
BYTE byBattleAttribute; // 진기맹여락 cf) NtlBattle.h eBATTLE_ATTRIBUTE


BYTE byRestrictType; // 귀속상태 eITEM_RESTRICT_TYPE
WCHAR awchMaker[NTL_MAX_SIZE_CHAR_NAME_UNICODE + 1]; // 제작자


TBLIDX aOptionTblidx[NTL_MAX_OPTION_IN_ITEM];
BYTE unknown1[48];
BYTE byDurationType; //eDURATIONTYPE
DBOTIME nUseStartTime;// 인벤토리에 들어온 날짜
DBOTIME nUseEndTime;// 사용만료 기간

like this?
 
Newbie Spellweaver
Joined
Mar 27, 2014
Messages
33
Reaction score
6
yes, but now change unknown[48] for itemsEffects struct
 
Newbie Spellweaver
Joined
Jun 16, 2014
Messages
94
Reaction score
2
yes, but now change unknown[48] for itemsEffects struc

-----------------------------------------------------------------------------------------------------------------------------------
HOBJECT handle; // 아이템 handle
TBLIDX tblidx; // item table index
BYTE byPlace; // eCONTAINER_TYPE
BYTE byPos;
BYTE byStackcount;
BYTE byRank;
BYTE byCurDur; // 내구도
bool bNeedToIdentify;
BYTE byGrade; // 아이템 업그레이드 등급
BYTE byBattleAttribute; // 진기맹여락 cf) NtlBattle.h eBATTLE_ATTRIBUTE
BYTE byRestrictType; // 귀속상태 eITEM_RESTRICT_TYPE
WCHAR awchMaker[NTL_MAX_SIZE_CHAR_NAME_UNICODE + 1]; // 제작자
TBLIDX aOptionTblidx[NTL_MAX_OPTION_IN_ITEM];

dbo_item_effect effect[NTL_MAX_EFFECT_IN_ITEM];
dbo_item_extra_effect extra_effect[NTL_MAX_EXTRA_EFFECT_IN_ITEM];

BYTE byDurationType; //eDURATIONTYPE
DBOTIME nUseStartTime;// 인벤토리에 들어온 날짜
DBOTIME nUseEndTime;// 사용만료 기간
------------------------------------------------------------------------------------------------------------

is that right?
 
Newbie Spellweaver
Joined
May 30, 2014
Messages
54
Reaction score
2
(...)
dbo_item_effect effect[NTL_MAX_EFFECT_IN_ITEM];
dbo_item_extra_effect extra_effect[NTL_MAX_EXTRA_EFFECT_IN_ITEM];
(...)
is that right?
U need to use type of that structure. It shoud looks like this:

Code:
// by Szczeepan
struct sITEM_EFFECT
{
    WORD            wType;
    DWORD            dwValue;
};


// by Szczeepan
struct sITEM_EXTRA_EFFECT
{
    WORD            wType;
    DWORD            dwValue;
};


// 아이템 전체 정보
struct sITEM_PROFILE
{
    HOBJECT            handle;            // 아이템 handle
    TBLIDX            tblidx;            // item table index
    BYTE            byPlace;        // eCONTAINER_TYPE
    BYTE            byPos;
    BYTE            byStackcount;
    BYTE            byRank;
    BYTE            byCurDur;        // 내구도
    bool            bNeedToIdentify;
    BYTE            byGrade;        // 아이템 업그레이드 등급
    BYTE            byBattleAttribute;        // 진기맹여락 cf) NtlBattle.h eBATTLE_ATTRIBUTE


    BYTE            byRestrictType;            // 귀속상태 eITEM_RESTRICT_TYPE
    WCHAR            awchMaker[NTL_MAX_SIZE_CHAR_NAME_UNICODE + 1]; // 제작자


    TBLIDX            aOptionTblidx[NTL_MAX_OPTION_IN_ITEM];


    sITEM_EFFECT    aitemEffect[6]; // by Szczeepan
    sITEM_EXTRA_EFFECT aitemExtraEffect[2];// by Szczeepan
    BYTE            byDurationType; //eDURATIONTYPE
    DBOTIME            nUseStartTime;// 인벤토리에 들어온 날짜
    DBOTIME            nUseEndTime;// 사용만료 기간
    //BYTE            unknown1[48];
};
and then when u load items in GU_AVATAR_ITEM_INFO packet u need to add some logic to fill that bonus for example
Code:
sITEM_PROFILE asItemProfile[NTL_MAX_COUNT_USER_HAVE_INVEN_ITEM];
        // works for first item in packet
        for (int i = 0; i < 6; i++){
            asItemProfile[0].aitemEffect[i].wType = i+1;
            asItemProfile[0].aitemEffect[i].dwValue = 8;
        }
        // works for first item in packet
        for (int i = 0; i < 2; i++){
            asItemProfile[0].aitemExtraEffect[i].wType = i + 1;
            asItemProfile[0].aitemExtraEffect[i].dwValue = 8;
        }
type 1-6 is a base atributes (STR,DEX,CON, ENG, SOL, FOC).
 
Last edited:
Back
Top