struct Date
{
short year;
short month;
short dayOfWeek;
short day;
short hour;
short minute;
short second;
short ms;
};
struct TrapData
{
char unknown[17]; //to find out
};
struct Effect
{
short id;
short prob;
short value;
};
struct AddEffect
{
short id;
short prob;
short value;
short count;
};
struct XString
{
unsigned char length;
char name[length] <optimize=false>;
};
struct SkillDetail
{
short minAttackDamage;
short maxAttackDamage;
short attackRating;
short avoidRating;
short costForce; //VE?
short costHeart; //HP?
short requiredItemCategory;
short costMind; //?
float finishSpeed;
TrapData trapAttributes;
int skillExp;
int casting;
int delay;
int cooldown;
char requiredMission;
short objectID;
short addBonus;
short number;
short requiredItemID;
short itemConsumed;
short effectCount;
if (effectCount > 0)
{
unsigned short effectTime;
Effect effects[effectCount]<optimize=false>;
}
short addCount;
if (addCount > 0)
{
AddEffect additiveEffects[addCount]<optimize=false>;
}
};
struct Skill
{
short id;
if (id == -1) break;
XString name;
char grade;
char skillCType;
char skillSType;
char actionType;
char usefulType;
char targetType;
char clanType;
char weaponCType;
char weaponSType;
char classGrade; //0, 1st or 2nd role
short requiredSkill1;
short requiredSkill2; //skill IDs
short requiredCondition;
short insideType;
short level;
int contribution; //also - gold for vagabonds
short effectApplyType;
short angle;
char requiredExcer; //?
char martialNumber;
char attackPointFor1;
char attackPointFor2;
char attackPointFor3;
int speed;
char combination;
float distance;
float radius;
float finishAttackRange;
float finishAttackSpeed;
char FERA;
char FERP;
char specialType;
short visualEffect;
short visualEffect2;
short stanceMale;
short stanceFemale;
short motionMale;
short intermotionMale1;
short intermotionMale2;
short motionFemale;
short intermotionFemale1;
short intermotionFemale2;
XString concept;
SkillDetail details[12] <optimize=false>; //info for each cheng
};
char toolname[48];
short ver1;
short ver2;
Date date;
char userName[16];
char companyName[20];
do
{
Skill skill;
}while(skill.id != -1);
010 template also in attachment. The structure is missing trap attributes - I didn't care much about those, but you can easily find them out. They probably will be few floats - like trap range and distance, probably duration as well.
If someone is really bored, then he can make enums (i.e. C/S types and clans) so I'll add 'em into this code as well.
Can you share map tool ? I very very need that tool ?
I don't have "map tool". Map tool is quite the big term - it may be XZI management, mob spawns, or models. I hav eneither of them, unfortunately, but some of the structures were posted by Plastic as well. Just check his releases.
If we ever get model editor, you will be able to do almost anything related to graphics, since effects' structures also are public (thanks again, @, for your hard work).
I don't have "map tool". Map tool is quite the big term - it may be XZI management, mob spawns, or models. I hav eneither of them, unfortunately, but some of the structures were posted by Plastic as well. Just check his releases.
If we ever get model editor, you will be able to do almost anything related to graphics, since effects' structures also are public (thanks again, @, for your hard work).
I won't let Plastic gain all the glory here
010 template also in attachment. The structure is missing trap attributes - I didn't care much about those, but you can easily find them out. They probably will be few floats - like trap range and distance, probably duration as well.
If someone is really bored, then he can make enums (i.e. C/S types and clans) so I'll add 'em into this code as well.
Wow thanks adek.
I was testing the template with 010 editor and sometimes gives lots of warnings and errors, i was wondering if that template works on any version of item table or have to be a special item table.
Can you share the item table you is using in case is needed ?
Wow thanks adek.
I was testing the template with 010 editor and sometimes gives lots of warnings and errors, i was wondering if that template works on any version of item table or have to be a special item table.
Can you share the item table you is using in case is needed ?
Regards.
Any table since traps update (EU 2012) will work. Warnings are for its (I mean, 010 editor) optimization and 0 size arrays. It's just about adding additional if clauses. It doesn't break the structure itself, though.
thanks bro, i have used it to edit my skill_table.bsk (increase damage or change casting tim) then i hit mobs 0 damage. Can u help me? Sorry for my bad english.
[Release] Reading map_XXXX.xns 10/07/2017 - 9Dragons - 2 Replies This is the file structure for the .xns map files. With this information you should be able to change which NPC is spawned at which location. I haven't tested it, but I'm sure someone will be able to find a use for this. Please feel free to let anyone know what you've successfully changed with this information.
typedef struct
{
int objectIndex;
struct
{
float m; // float m
} D3DMATRIX; // no multidimensional array support in 010 editor :(
[Release] Reading .xes files 02/07/2017 - 9Dragons - 1 Replies This is the file structure for reading the .xes files. The ENVEFFECT.XES file refers to world particles/textures, while the VISUALEFFECT.XES refers to character based particles/textures. Creating this and making sure it worked took a fair bit of time. Hopefully someone will actually create something they release publicly for the community with this.
typedef struct
{
float x,y,z;
} D3DVECTOR3;
typedef struct
{
[Release] Reading monster_ref.bmo 02/03/2017 - 9Dragons - 1 Replies This is the structure for the monster_ref.bmo file. Everything marked with the comment "// not a monster attribute" means that it is ignored on the client. I believe it's only used on the server. You cannot change the text of "toolName" on the server monster_ref.bmo unless you modify the server executable, since it looks for "EOD Monster Ref" or it fails to load.
typedef struct
{
char toolName;
short version1;
short version2;
SYSTEMTIME systemTime; // SYSTEMTIME is...
[Release] Reading default.xip 01/31/2017 - 9Dragons - 0 Replies This is the structure for the default.xip file. With this you should be able edit the items NPCs are selling.
typedef struct
{
int category; // item type
int uniqueID;
} XIP_ITEMINFO;
typedef struct
[Release] Reading map_XXXX.xzi 01/26/2017 - 9Dragons - 0 Replies This is the file structure for reading the map .xzi files. With this information you should be able to change what areas gates will lead to for each map.
typedef struct
{
float x;
float z;
} XAREA_POINTSTRUCT;
typedef struct
{