vaggos500 Posted March 23, 2010 Posted March 23, 2010 Well i was working on item edits without changing the system folder well i found some stuff on my server files . in data/templates there are some .dtd files so i opened armours.dtd with the editor and here is what it says: <?xml version="1.0" encoding="UTF-8"?> <!-- L2J XML armors DTD This defines a simple and consistent way of creating a namespace of armors objects, managed by L2J Each "item" element in this document defines a armor item. XML documents that conform to this DTD should declare the following doctype: <!DOCTYPE list SYSTEM "armors.dtd"> --> <!-- The document root. A document can contain item definitions only. --> <!ELEMENT list (item)*> <!-- The document item. A item can contain "for, add, sub, div or mul" element. add, sub, div and mul can modify a stat --> <!ELEMENT item (for|add|sub|div|mul)*> <!-- The document for. A item can contain "add,mull,enchant,sub and div" element --> <!ELEMENT for (add|mul|enchant|sub|div)*> <!-- add, div, sub, mul could coutain condition "and" and "or" --> <!ELEMENT add (and|or)*> <!ELEMENT div (and|or)*> <!ELEMENT sub (and|or)*> <!ELEMENT mul (and|or)*> <!-- enchant are empty --> <!ELEMENT enchant EMPTY> <!-- and conditions could specified use of an item or his kind, the target or a not condition --> <!ELEMENT and (using|target|not)*> <!-- the "not" condition could specified the use of an item --> <!ELEMENT not (using)*> <!-- the "or" could specified several "and" condition --> <!ELEMENT or (and)*> <!-- target specified the type of the target (dagger ?) --> <!ELEMENT target EMPTY> <!-- using specified the item, the position on paperdoll and the level of enchant (should used three attributes instead of one...) --> <!ELEMENT using EMPTY> <!-- id and name are mandatory for an item --> <!ATTLIST item id CDATA #REQUIRED> <!ATTLIST item name CDATA #REQUIRED> <!-- all operations must specified val order and stat --> <!ATTLIST add val CDATA #REQUIRED> <!ATTLIST add order CDATA #REQUIRED> <!ATTLIST add stat CDATA #REQUIRED> <!ATTLIST div val CDATA #REQUIRED> <!ATTLIST div order CDATA #IMPLIED> <!ATTLIST div stat CDATA #REQUIRED> <!ATTLIST sub val CDATA #REQUIRED> <!ATTLIST sub order CDATA #IMPLIED> <!ATTLIST sub stat CDATA #REQUIRED> <!ATTLIST mul val CDATA #REQUIRED> <!ATTLIST mul order CDATA #IMPLIED> <!ATTLIST mul stat CDATA #REQUIRED> <!ATTLIST enchant val CDATA #REQUIRED> <!ATTLIST enchant order CDATA #IMPLIED> <!ATTLIST enchant stat CDATA #REQUIRED> <!-- the use of an item could be specified for a kind of item or a dependency with another item --> <!ATTLIST using slotitem CDATA #IMPLIED> <!ATTLIST using kind CDATA #IMPLIED> <!-- --> <!ATTLIST target using CDATA #IMPLIED> Now out of this file we can read alot of stuff that can help us make better/cooler items ^^ for a little more help we go to our data/stats/armour folder and take out any kind of armour i took out Divine Stockings <item id="473" name="Divine Stockings"> <for> <add val="46" order="0x10" stat="pDef"/> <add val="196" order="0x40" stat="maxMp"/> <enchant val="0" order="0x0C" stat="pDef"/> </for> </item> Ok Lets start In the fist Quote i wrote there is a line it says <!-- all operations must specified val order and stat --> <!ATTLIST add val CDATA #REQUIRED> <!ATTLIST add order CDATA #REQUIRED> <!ATTLIST add stat CDATA #REQUIRED> <!ATTLIST div val CDATA #REQUIRED> <!ATTLIST div order CDATA #IMPLIED> <!ATTLIST div stat CDATA #REQUIRED> <!ATTLIST sub val CDATA #REQUIRED> <!ATTLIST sub order CDATA #IMPLIED> <!ATTLIST sub stat CDATA #REQUIRED> <!ATTLIST mul val CDATA #REQUIRED> <!ATTLIST mul order CDATA #IMPLIED> <!ATTLIST mul stat CDATA #REQUIRED> <!ATTLIST enchant val CDATA #REQUIRED> <!ATTLIST enchant order CDATA #IMPLIED> <!ATTLIST enchant stat CDATA #REQUIRED> thats the part were looking at ok ill start with <!ATTLIST add val CDATA #REQUIRED> <!ATTLIST add order CDATA #REQUIRED> <!ATTLIST add stat CDATA #REQUIRED> just cut off the stuff that is written in big letters. so it will look like this add val add order add stat if you now look at the item then you might see something in common <add val="46" order="0x10" stat="pDef"/> this means it adds a number in this case its 46 to the stat pDef add = means to add stats to the existing ones like mdef pdef matk patk patkspd and alot more div = mean to divide stats Test you have an attack speed of 1000 and you want to divide it by 10% well you dont write 10 into the val cause then you would have an attackspeed of 100 you have to write it diffrently like this 100% means 1.00 110% means 1.10 120% means 1.20 and so on well if you want it to divide by 10% then you write it like this <div val="1.10" order="0x40" stat="pDef"/> sub = sub means to substract stats you use it just like to add stats mul = to multiply stats just like i showed you up there but insted of dividing you multipy WARNING! : by using mul do NOT go under 1.00 otherwise it will look like this exsample: attackspeed 1000 <mul val="0.99" order="0x40" stat="pDef"/> you will get then 1000*0.99 = 990 attackspeed ok thats done for the first part i made a list with all the stats you can use with add.sub.mul.div maxHP more HP regHp faster Hp regeneration maxMp more MP regMp faster Mp regeneration maxCp more CP regCp faster Mp regeneration pDef more pDef mDef more mDef pAtk more pAttack mAtk more mAttack pAtkSpd more p Attack Speed mAtkSpd more m Attack Speed STR more str = more dammge CON more con = more hp/regmore DEX more dex = faster attackspeed MEN more men = more mana/reg WIT more wit = more casting speed INT more int = more magic dammge runSpd more run speed maxLoad more load to carry more stuff Should be enoth to play around with :D great for beginners ^^ now to the weapons the stuff he learned in the first part also works for weapons! but there are special stuff for them too! here is a normal weapon with pvp <item id="8790" name="Sirra's Blade - Critical Poison"> <for> <set val="251" order="0x08" stat="pAtk"/> <set val="121" order="0x08" stat="mAtk"/> <set val="8" order="0x08" stat="rCrit"/> <add val="0" order="0x10" stat="accCombat"/> <set val="379" order="0x08" stat="pAtkSpd"/> <enchant val="0" order="0x0C" stat="pAtk"/> <enchant val="0" order="0x0C" stat="mAtk"/> <!-- Enhances damage to target during PvP --> <mul val="1.05" order="0x30" stat="pvpPhysDmg"/> <mul val="1.05" order="0x30" stat="pvpMagicalDmg"/> </for> </item> <item id="8790" name="Sirra's Blade - Critical Poison"> thats the item id and its name in the database <for> in this space all the attributs come in here add mul sub div </for> with "and" and "or" we can add special stuff to it example <val='500' add order='0x40' stat='pAtk'> <and> <player level='80'/> in this exsample we dont use add or sub or mul or div just plan "val" "val" means value in this case its 500 and to stats pattack this "and" makes it so it binds to it <player level='80'/> if the player is not lvl 80 then it dosent work if the player is over lvl 80 then it works you can change and try other stuff like <player hp='80'/> this is in % so you need 80% <player mp='80'/> <player behind='true'/> or false in your data/templats folder there is a conditions.dtd file open that with editor looks like this <?xml version="1.0" encoding="UTF-8"?> <!ENTITY % condition "and|or|not|player|target|using|game"> <!ENTITY % boolean "true|false|True|False"> <!-- Logic --> <!-- TODO: make sure <and> tags contains multiple elements <!ELEMENT and ((%condition;),(%condition;)+)> --> <!ELEMENT and (%condition;)+> <!ELEMENT or ((%condition;),(%condition;)+)> <!ELEMENT not (%condition;)> <!-- Conditions --> <!ATTLIST player skill (%boolean;) #IMPLIED> <!ATTLIST player race (Human|Elf|Darkelf|Orc|Dwarf|Kamael) #IMPLIED> <!ATTLIST player level CDATA #IMPLIED> <!ATTLIST player resting (%boolean;) #IMPLIED> <!ATTLIST player moving (%boolean;) #IMPLIED> <!ATTLIST player running (%boolean;) #IMPLIED> <!ATTLIST player walking (%boolean;) #IMPLIED> <!ATTLIST player behind (%boolean;) #IMPLIED> <!ATTLIST player front (%boolean;) #IMPLIED> <!ATTLIST player chaotic (%boolean;) #IMPLIED> <!ATTLIST player olympiad (%boolean;) #IMPLIED> <!ATTLIST player flying (%boolean;) #IMPLIED> <!ATTLIST player hp CDATA #IMPLIED> <!ATTLIST player mp CDATA #IMPLIED> <!ATTLIST player cp CDATA #IMPLIED> <!ATTLIST player attack_stance (%boolean;) #IMPLIED> <!ATTLIST player grade CDATA #IMPLIED> <!ATTLIST player SiegeZone CDATA #IMPLIED> <!ATTLIST player battle_force (2|3) #IMPLIED> <!ATTLIST player spell_force (2|3) #IMPLIED> <!ATTLIST player weight CDATA #IMPLIED> <!ATTLIST player invSize CDATA #IMPLIED> <!ATTLIST player pledgeClass CDATA #IMPLIED> <!ATTLIST player clanHall CDATA #IMPLIED> <!ATTLIST player fort CDATA #IMPLIED> <!ATTLIST player castle CDATA #IMPLIED> <!ATTLIST player sex CDATA #IMPLIED> <!ATTLIST player flyMounted (%boolean;) #IMPLIED> <!ATTLIST player landingZone (%boolean;) #IMPLIED> <!ATTLIST player active_skill_id CDATA #IMPLIED> <!ATTLIST player active_skill_id_lvl CDATA #IMPLIED> <!ATTLIST player agathionId CDATA #IMPLIED> <!ATTLIST player active_effect_id CDATA #IMPLIED> <!ATTLIST player class_id_restriction CDATA #IMPLIED> <!ATTLIST player isClanLeader (%boolean;) #IMPLIED> <!ATTLIST player subclass (%boolean;) #IMPLIED> <!ELEMENT player EMPTY> <!ATTLIST target aggro (%boolean;) #IMPLIED> <!ATTLIST target siegezone CDATA #IMPLIED> <!ATTLIST target level CDATA #IMPLIED> <!ATTLIST target class_id_restriction CDATA #IMPLIED> <!ATTLIST target active_effect_id CDATA #IMPLIED> <!ATTLIST target active_skill_id CDATA #IMPLIED> <!ATTLIST target mindistance CDATA #IMPLIED> <!ATTLIST target race_id CDATA #IMPLIED> <!ATTLIST target race CDATA #IMPLIED> <!ATTLIST target undead (%boolean;) #IMPLIED> <!ATTLIST target using CDATA #IMPLIED> <!ATTLIST target npcId CDATA #IMPLIED> <!ATTLIST target npcType CDATA #IMPLIED> <!ATTLIST target doorId CDATA #IMPLIED> <!ELEMENT target EMPTY> <!ATTLIST using kind CDATA #IMPLIED> <!ATTLIST using skill CDATA #IMPLIED> <!ATTLIST using slotitem CDATA #IMPLIED> <!ATTLIST using weaponChange (%boolean;) #IMPLIED> <!ELEMENT using EMPTY> <!ATTLIST game night (%boolean;) #IMPLIED> <!ATTLIST game chance CDATA #IMPLIED> <!ELEMENT game EMPTY> <!ENTITY % condition "and|or|not|player|target|using|game"> <!ENTITY % boolean "true|false|True|False"> that means if "condition" is in the file then you can add "and|or|not|player|target|using|game" to it if "boolean" is in it then you can add "true|false|True|False" exsample <!ATTLIST player resting (%boolean;) #IMPLIED> there is "boolean" inside so we know we can add "true" or "false" now our normal form <val='500' add order='0x40' stat='regHp'> faster hp regeneration + "and" so it binds to the next line <and> now from the list player resting (%boolean;) and for boolean we can add true or false <player resting ="true"> so now if the player is resting then it gets way faster hp regeneration :D <val='500' add order='0x40' stat='regHp'> <and> <player resting ="true"> so there you go try out more stuff ill be adding more and more lists and your stuff to btw any questions or false stuff then just write here :D "i hope there arent any mistakes" :D ps: i already found out the way of useing skills when crital and cast i will add that soon Quote
Kràtos Posted March 28, 2010 Posted March 28, 2010 No topic interest. Topic Locked Who said is not interest? Is very usefull ;] Keep it update. Quote
sTiNkFiZzLe Posted March 28, 2010 Posted March 28, 2010 Very nice post, this will help me make custom accessories that I need. Keep up the good work. Quote
+cs.tribal Posted March 28, 2010 Posted March 28, 2010 Man this is a really helpfull guide! And it's too big! I think you deserve karma! +1 Quote
CriticalError Posted March 28, 2010 Posted March 28, 2010 lol very nice vaggos really usefull topic thanks a lot mate keep it updated!! Quote
sTiNkFiZzLe Posted April 1, 2010 Posted April 1, 2010 I have one newb question. <set val="251" order="0x08" stat="pAtk"/> <set val="121" order="0x08" stat="mAtk"/> <set val="8" order="0x08" stat="rCrit"/> <add val="0" order="0x10" stat="accCombat"/> <set val="379" order="0x08" stat="pAtkSpd"/> <enchant val="0" order="0x0C" stat="pAtk"/> <enchant val="0" order="0x0C" stat="mAtk"/> What are the order values? What are they for. examples: order="0x08" , order="0x10", "0x0C" I want to add 10% pdef to an item...here is example: <item id='30000' name="Black Vesper Noble Heavy Breastplate"> <for> <add order="0x10" stat="pDef" val="249" /> <enchant order="0x0C" stat="pDef" val="0" /> How would I add <enchant val="110" order="???" stat="pDef"/> Thanks for any help. Quote
Hardstyle Posted October 10, 2010 Posted October 10, 2010 1 correction : STR more str = more dammge CON more con = more hp/regmore DEX more dex = faster attackspeed MEN more men = more mana/reg WIT more wit = more casting speed STR more str = more dammge + better land rate for psihical skills CON more con = more hp/regmore + more cp DEX more dex = faster attackspeed + resist psihical skills + runspeed MEN more men = more mana/reg + mdef WIT more wit = more casting speed + better land rate for magical skills :) but nice guild Quote
Hardstyle Posted October 10, 2010 Posted October 10, 2010 I have one newb question. <set val="251" order="0x08" stat="pAtk"/> <set val="121" order="0x08" stat="mAtk"/> <set val="8" order="0x08" stat="rCrit"/> <add val="0" order="0x10" stat="accCombat"/> <set val="379" order="0x08" stat="pAtkSpd"/> <enchant val="0" order="0x0C" stat="pAtk"/> <enchant val="0" order="0x0C" stat="mAtk"/> What are the order values? What are they for. examples: order="0x08" , order="0x10", "0x0C" I want to add 10% pdef to an item...here is example: <item id='30000' name="Black Vesper Noble Heavy Breastplate"> <for> <add order="0x10" stat="pDef" val="249" /> <enchant order="0x0C" stat="pDef" val="0" /> How would I add <enchant val="110" order="???" stat="pDef"/> Thanks for any help. do it like this <item id='30000' name="Black Vesper Noble Heavy Breastplate"> <for> <add order=" 0x10" stat="pDef" [color=yellow]val="259"[/color] /> <enchant order="0x0C" stat="pDef" val="0" /> <add order="0x10" stat="pDef" val="249" /> ignore the order... add = your curent status+ what u want to add.. so you want to add pdef....so you write stat="pDef" and you want to add 259 ..10 more then before.. ore if you don't want to modifie that you can just go and make a new line and write <add order="0x10" stat="pDef" val="10" /> Quote
dimas19 Posted November 28, 2010 Posted November 28, 2010 Very nice guide i wish i could give karma Quote
ImmortalKiller Posted November 28, 2010 Posted November 28, 2010 lol very nice vaggos really usefull topic thanks a lot mate keep it updated!! +1 //same Quote
ImmortalKiller Posted November 28, 2010 Posted November 28, 2010 correction : STR more str = more dammge + better land rate for psihical skills CON more con = more hp/regmore + more cp DEX more dex = faster attackspeed + resist psihical skills + runspeed MEN more men = more mana/reg + mdef WIT more wit = more casting speed + better land rate for magical skills :) but nice guild 2 corection..dex don't give resist pshihycal skill. STR Increases amount of physical damage. DEX Increases attack speed, physical skill speed, accuracy, evasion, critical hit probability, success rate of dagger skills (such as Deadly Blow), shield defense success rate, and movement speed. CON Increases maximum HP and CP, HP recovery speed, weight limit, underwater breath gauge, shock resistance, and bleeding resistance. INT Increases damage of magic attacks and success rate of curse spells. WIT Increases chance of magic critical hits, casting speed, resistance to Hold, resistance to curses (such as HP degeneration, decreased HP recovery rate, increased skill re-use time, and decreased effect of heals). MEN Increases magic defense, maximum MP, MP recovery speed, poison resistance, and curse resistance. Decreases probability of magic interruption. Quote
Sido Posted November 29, 2010 Posted November 29, 2010 2 corection..dex don't give resist pshihycal skill. STR Increases amount of physical damage. DEX Increases attack speed, physical skill speed, accuracy, evasion, critical hit probability, success rate of dagger skills (such as Deadly Blow), shield defense success rate, and movement speed. CON Increases maximum HP and CP, HP recovery speed, weight limit, underwater breath gauge, shock resistance, and bleeding resistance. INT Increases damage of magic attacks and success rate of curse spells. WIT Increases chance of magic critical hits, casting speed, resistance to Hold, resistance to curses (such as HP degeneration, decreased HP recovery rate, increased skill re-use time, and decreased effect of heals). MEN Increases magic defense, maximum MP, MP recovery speed, poison resistance, and curse resistance. Decreases probability of magic interruption. what i wanted to say anyway thanks for share No topic interest. Topic Locked this looks like a beg for karma ? or is just me :)) ? Quote
SoRa Posted November 29, 2010 Posted November 29, 2010 lol very nice vaggos really usefull topic thanks a lot mate keep it updated!! Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.