How to add new items.

Results 1 to 19 of 19
  1. #1
    Banana Adler is offline
    MemberRank
    Feb 2009 Join Date
    1,119Posts

    How to add new items.

    Note: I made this when I was tired, I'll fix typos or mistakes tomorrow.

    Haven't seen any of these around/been active, so I figured I'd make this for people. This is a highly detailed guide on how to add items, it's not easy to do and isn't 100% user friendly (Even though I tried lol) so make sure you read carefully.

    In order to get started and assuming you have a working server, here is what you need:

    • data.res
    • dataSub2.res
    • SQL Database
    • Microsoft Visual C++
    • Notepad/ConTEXT/Word/etc.
    • Flyff Resource Manager


    It doesn't matter what emulator your running (I think) it all works the same way or in a similar way.

    ADDING BRAND NEW ITEMS

    Note: This part of the tutorial is based on adding a Job 1(mercenary/blade) sword.

    Imagine you just made a weapon, or found a neat weapon mod online and want to add it into your own server as it's own identical self. This is how you can.

    First, open FRM and extract defineItem.h, mdlDyna.inc from data.res, and propItem.txt, and propItem.txt.txt from dataSub2.res. Place them somewhere you wont lose them.

    Here is a short explanation of what you must do.

    defineItem.h
    Open this with any text editor.

    mdlDyna.inc
    Open this with Visual C++.

    propItem.txt
    Open this with any text editor.

    propItem.txt.txt
    Open this with Visual C++.

    Create a small Icon for your weapon as a .dds extension. Make sure it's transparent and 32x32 dimensions. Assuming your o3d has it's .dds texture already, keep all three of those files in a folder for now. If you're somewhat of a beginner, let's name it Item_WeaSwoAddon.o3d and the two .dds files Item_WeaSwoAddon.o3d. Remember the name you choose, or if you're following along, just remember that name.

    In order to have an item ingame, the emulator reads those four files I told you to extract, as well as the databases item table. Not sure what order it does this, but it scans mdlDyna.inc to read the o3d file, defineItem.h defines the item name, propItem.txt is pretty much a literal copy of the database item table, and propItem.txt.txt I'm unsure of right now. (tired) But you pretty much add the name/ID you put into defineItem.h.

    Go to defineItem.h and anywhere in the middle type this:
    #define II_WEA_SWO_ADDON 50000
    So the area around it should appear like this:
    #define II_WEA_SWO_SHADEVING 71
    #define II_WEA_SWO_HOTTER 73
    #define II_WEA_SWO_POLICE_CLUB 76

    #define II_WEA_SWO_ADDON 50000

    #define II_WEA_AXE_RODNEY 81
    #define II_WEA_AXE_MORROW 83
    #define II_WEA_AXE_CURNING 85
    #define II_WEA_AXE_SHYADIN 87
    #define II_WEA_AXE_BRONZE 89
    #define II_WEA_AXE_GRANG 91
    #define II_WEA_AXE_DRONE 93
    #define II_WEA_AXE_PROEM 95
    #define II_WEA_AXE_CORIN 97
    #define II_WEA_AXE_CROW 99
    Remember 50000, that's the ID number you will use to spawn it ingame.

    Open mdlDyna.inc in Visual C++. Anywhere near weapons, type this:
    "WeaSwoAddon" II_WEA_SWO_ADDON MODELTYPE_MESH "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
    Open propItem.txt. This step requires patience.

    First off, you need to take a look at your item table. To save a lot of time, copy the record of a sword if you're making a sword and use it as a base. So copy the Bloody Sword record. This is where it gets hard. You need to learn what every column means:
    flyff_version
    id
    name
    number
    packMax
    type1
    type2
    type3
    job
    permanence
    useable
    gender
    price
    endurance
    abrasion
    maxRepair
    handed
    flag
    parts
    partsub
    partfile
    exclusive
    basePartsIgnore
    itemLVL
    itemRare
    shopAble
    log
    charged
    linkKindBullet
    linkKind
    abilityMin
    abilityMax
    itemType
    itemEAtk
    parry
    blockRating
    addSkillMin
    addSkillMax
    atkStyle
    weaponType
    itemAtkOrder1
    itemAtkOrder2
    itemAtkOrder3
    itemAtkOrder4
    continuousPain
    shellQuantity
    recoil
    loadingTime
    AdjHitRate
    atkSpeed
    dmgShift
    atkRange
    probability
    destParam1
    destParam2
    destParam3
    adjParamValue1
    adjParamValue2
    adjParamValue3
    chgParamValue1
    chgParamValue2
    chgParamValue3
    destData1
    destData2
    destData3
    activeSkill
    activeSkillLvl
    activeSkillPer
    reqMP
    reqFP
    reqDisLVL
    reSkill1
    reSkillLVL1
    reSkill2
    reSkillLVL2
    skillReadyType
    skillReady
    skillRange
    sfxElemental
    sfxObj
    sfxObj2
    sfxObj3
    sfxObj4
    sfxObj5
    useMotion
    circleTime
    skillTime
    exeTarget
    useChance
    spellRegion
    spellType
    referStat1
    referStat2
    referTarget1
    referTarget2
    referValue1
    referValue2
    skillType
    resist_electricity
    resist_fire
    resist_wind
    resist_water
    resist_earth
    evilDoing
    expertLVL
    expertMax
    subDefine
    exp
    comboStyle
    flightSpeed
    flightLRAngle
    flightTBAngle
    flightLimit
    fFuelReMax
    aFuelReMax
    fuelRe
    limitLevel1
    reflect
    sndAttack1
    sndAttack2
    iconPath
    questID
    textFile
    comment
    I'll just say, add IDS_PROPITEM_TXT_090000 as the 3rd column in propItem.txt.

    Please do this instead of googling or getting lazy, it's very useful to learn and expands your abilities beyond your dreams. Once you learn what the columns mean, you need to literally copy what you wrote in SQL, into propItem.txt. Except the layout is different, instead of (Null) or -1, it shows a =. If you have Additional Damage of Critical Hits, it will say DST_CRITICAL_BONUS. Here are the stats you will need if you want to add bonuses to adjParamValue1-3, which I'm sure a lot of people know or have seen before:
    1 STR
    2 DEX
    3 INT
    4 STA
    5 YoYo DMG
    6 Bow DMG
    7 Chr Range
    8 Block Range
    9 Chr Chancecritical
    10 Chr Bleeding
    11 Speed
    12 Ability min
    13 Ability Max
    14 Block Meele
    15 Master Earth
    16 Stop Movement
    17 Mastery Fire
    18 Mastery Warter
    19 Mastery Electricity
    20 Mastery Wind
    21 Knuckle DMG
    22 PVP DMG Rate
    24 Attackspeed
    25 Sword DMG
    26 Adjdef
    27 Resist Magic
    28 Resist Electriicity
    29 Reflect Damage
    30 Resist Fire
    31 Resist Wind
    33 Resist Earth
    34 Axe DMG
    35 HP Max
    36 MP Max
    37 FP Max
    38 HP
    39 MP
    40 FP
    41 HP Recovery
    42 MP Recovery
    43 FP Recovery
    44 Kill HP
    45 Kill MP
    46 Kill FP
    47 Adj Hitrate
    49 Clearbuff
    50 Chr StealHP Immunity
    51 Attackspeed Rate
    52 HP Max Rate
    53 MP Max Rate
    54 FP Max Rate
    55 Chr Weaeatkchange
    56 Chr StealHP
    57 Chr Chancestun
    58 AutoHP
    59 Chr ChanceDark
    60 CHR ChancePosion
    61 Immunity
    62 Addmagic
    63 Chr DMG
    64 Chr State
    65 Parry
    66 Atkpower Rate
    67 Experience
    68 Jumping
    69 Chr ChancestealHP
    70 Chr Chancebleeding
    71 Recovery Exp
    72 Adjdef Rate
    73 MP Dec Rate
    74 FP Dec Rate
    75 Spell Rate
    76 Cast Critical Rate
    77 Critical Bonus
    78 Skill Level
    79 Monster DMG
    80 PVP DMG
    81 Melee StealHP
    82 Heal
    83 AtkPower
    85 OneHandMastery DMG
    86 TwoHandMastery DMG
    87 YoYoMastery DMG
    88 BowMastery DMG
    89 KnuckleMaster DMG
    90 HawkeyeRate
    91 Resist Magic Rate
    92 Giftbox
    Once you figure that out, move onto propItem.txt.txt, and add:

    IDS_PROPITEM_TXT_090000 Addon Weapon
    IDS_PROPITEM_TXT_090001 Weapon that was added for testing.
    Make sure your table is finished as well as all four of these files, then recompile them, add the data.res, datasub2.res, o3d into the model folder, textures into the Texture, TetureMid & TextureLow folder, and the icon into the Item folder, and you should be able to log in and spawn them without problems, just realize this isn't an easy process, but it isn't impossible.

    ADDING ITEMS FROM OTHER VERSIONS

    This is a lot easier to do than the first step, basically you open all the four files I listed from FRM. Get the data.res and dataSub2.res from the client you want to transfer items from. Extract the same four files.

    If you want to add a bloody sword to a v6 server, you will have to copy the following parts from each file:

    defineItem.h
    #define II_WEA_SWO_BLOODY 22354
    mdlDyna.inc
    "WeaSwoBloody" II_WEA_SWO_BLOODY MODELTYPE_MESH "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
    propItem.txt
    7 II_WEA_SWO_BLOODY IDS_PROPITEM_TXT_007515 1 1 IK1_WEAPON IK2_WEAPON_DIRECT IK3_SWD JOB_MERCENARY TRUE = = 500000 7200000 100 180 HD_ONE = PARTS_RWEAPON = 0 = = 110 200 = 1 = = = 338 340 _NONE 0 0 0 0 0 = WT_MELEE_SWD AS_HORIZONTAL AS_DIAGONAL AS_VERTICAL AS_THRUST = = = = = 0.085 = AR_SHORT = DST_CRITICAL_BONUS DST_CHR_CHANCECRITICAL DST_ATTACKSPEED 40 20 300 = = = = = = = = = = = = = = = = = = = = = = XI_HIT_SWORD01 = = = = = = = = = WEAPON_UNIQUE = II_WEA_SWO_BLOODYUM = 10000 = = 0 0 0 0 0 0 = = = = = = = = = = = = 120 = SND_PC_DMGSWDM SND_PC_DMGSWDC """Itm_WeaSwoBloody.dds""" 0 """""" IDS_PROPITEM_TXT_007516
    propItem.txt.txt
    IDS_PROPITEM_TXT_007515 Bloody Sword
    IDS_PROPITEM_TXT_007516
    Copy those lines from the newer data.res and dataSub2.res files to the new ones, then recompile them. And again, you will have to convert the information from propItem.txt into the database, which will take about 10 minutes if you just go along the line carefully and understand how both integrate with one another. Do the same last steps with the first tutorial, and you should be able to have a bloody sword in a v6 server. Same rule applies for v14 weapons in a v6-v13 server.

    Good luck with adding items, and even monsters, cloaks, etc. If I missed a step please politely point it out and I'll fix it, if you have any questions PM me or leave me a visitor message, and have fun!
    Last edited by Adler; 23-05-10 at 01:16 AM. Reason: Fixed typo.


  2. #2
    Enthusiast ShishaJoe is offline
    MemberRank
    Jan 2009 Join Date
    31Posts

    Re: How to add new items.

    nice one, thank you =)
    it will bring me far in creating an automaticly item creator..

  3. #3
    Member Dumle is offline
    MemberRank
    Nov 2008 Join Date
    SwedenLocation
    82Posts

    Re: How to add new items.

    Great guide, thanks! I've been looking for this. :)

  4. #4
    Enthusiast Jmvip is offline
    MemberRank
    Aug 2009 Join Date
    44Posts

    Re: How to add new items.

    Thanks, you should add a part for the db but its OK.

  5. #5
    Valued Member CinuSeK is offline
    MemberRank
    Feb 2009 Join Date
    122Posts

    Re: How to add new items.

    Hello, i have a problem. I have added new cloak to all files. Theres are lines of code:

    propItem.txt
    11 II_ARM_S_CLO_CLO_COOKI IDS_PROPITEM_TXT_090000 1 1 IK1_ARMOR IK2_CLOTH IK3_CLOAK = TRUE = = 2000 50000 = = = = PARTS_CLOAK = 1 = = 1 1 = 1 = = = 1 1 _NONE 0 0 0 = = = = = = = = = = = = = = = = = DST_MELEE_STEALHP DST_STR = 5 2 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 0 0 0 0 0 0 = = = = = = = = = = = = = = = = """itm_CloakFameGeneric.dds""" 0 """""" IDS_PROPITEM_TXT_090001

    propItem.txt.txt
    IDS_PROPITEM_TXT_090000 Cookie Cloak
    IDS_PROPITEM_TXT_090001 Cookie Staff Cloak

    mdlDyna.inc
    "GenMatSuitbox" II_ARM_S_CLO_CLO_COOKI MODELTYPE_MESH "malecloakcooki/femalecloakcooki" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1

    defineItem.h
    #define II_ARM_S_CLO_CLO_COOKI 90000 //Cookie Cloak

    Item spawn works good. I can wear it but... Theres a problem. Cloak doesn't appear. When I have added Evisu cloak it works fine.. part_maleCloakCookiClo.dds, part_femaleCloakCookiClo.dds are in tTexture( /Low/Mid) folder, part_malecloakcooki.o3d, part_femalecloakcooki.o3d are in Model folder. Why male/femaleCloakCookiClo? But in o3d is coded the name of .dds file. Texture for cloak works fine but i have tested it on Evisu cloak. Now the error.txt log from Client folder:

    2009/11/29 20:12:46 Ŕ߸řµČ ĆÄŔĎ : part_malecloakcooki.o3d, part_malecloakcooki.o3d, part_malecloakcooki

    2009/11/29 20:12:46 CModelObject::LoadElementżˇĽ­ ƨ±č : ŔĐŔş ĆÄŔϸí Model\part_malecloakcooki.o3d

    It seems client can't found o3d file, but when i deleted one i have got the same error. Can someone help me?

    EDIT: male and femalecloakcooki.o3d are copied from evisu o3d files.

    EDIT2: Theres are screens with both of cloaks.
    http://img138.imageshack.us/img138/1326/flyff00006.jpg - Cookie
    http://img502.imageshack.us/img502/7287/flyff00007m.jpg - Evisu

    Yes, Cookie and Evisu cloak have same effect.
    Last edited by CinuSeK; 29-11-09 at 09:54 PM.

  6. #6
    Valued Member CinuSeK is offline
    MemberRank
    Feb 2009 Join Date
    122Posts

    Re: How to add new items.

    Can someone help me?

  7. #7
    Mr.Luxury :D, DeadlyD Wuz Here. Luxury is offline
    MemberRank
    Jan 2009 Join Date
    LuxuryFlyffLocation
    355Posts

    Re: How to add new items.

    I got the same problem like CinuSek

  8. #8
    Banana Adler is offline
    MemberRank
    Feb 2009 Join Date
    1,119Posts

    Re: How to add new items.

    Make sure the cloak texture is applied to the o3d using a 3D editing program or the o3d will look for the previous name of the .dds it used to use.

  9. #9
    Templar FlyFF <3 Thrinaria is offline
    MemberRank
    Sep 2008 Join Date
    AmsterdamLocation
    502Posts

    Re: How to add new items.

    Cinusek, it's about ur O3d. I got them working now.

    Thanks for your cloak problem, that actually helped me out doing my cloaks ;)

    thanks daz, and bumping this for epicness

  10. #10
    Apprentice Deathcow10 is offline
    MemberRank
    Jun 2008 Join Date
    8Posts

    Re: How to add new items.

    awesome guide :D i made a balloon sword that fired asal :DD

  11. #11
    Banned DevGage is offline
    BannedRank
    Jan 2010 Join Date
    143Posts

    Re: How to add new items.

    Lol can you help me out with my errors. I'm messing around with it atm, but Whenever I fix one error another pops up lol

  12. #12
    Valued Member CinuSeK is offline
    MemberRank
    Feb 2009 Join Date
    122Posts

    Re: How to add new items.

    Thrinaria, i too get it working. But theres another problem. When i have wear a new item what i have added before, and someone log in, that person can't see the cloak im wearing. I must wear another one to another person can see it.

    Sorry for my english.

  13. #13
    Novice karen23 is offline
    MemberRank
    Jan 2010 Join Date
    2Posts

    Re: How to add new items.

    i want to buy some cheapest golds, anyone knows where to buy?

  14. #14
    Novice Grace87 is offline
    MemberRank
    Jan 2010 Join Date
    1Posts

    Re: How to add new items.


  15. #15
    Banned DevGage is offline
    BannedRank
    Jan 2010 Join Date
    143Posts

    Re: How to add new items.

    Lol wtf is this shit? And Btw Cin its prolly bcus its not in their client. Iuno just taking a random guess.

  16. #16
    Apprentice poppop is offline
    MemberRank
    Aug 2008 Join Date
    19Posts

    Re: How to add new items.

    Let me have a look.

  17. #17
    Apprentice SlowMurderer is offline
    MemberRank
    Sep 2010 Join Date
    7Posts

    Re: How to add new items.

    Where Can I Get Microsoft Visual C++?
    I Have Searched Google But Still Didn't Helped Me Because Microsoft's Site Is Down.

  18. #18
    i sell platypus Improved is offline
    MemberRank
    Jun 2009 Join Date
    DenmarkLocation
    2,819Posts

    Re: How to add new items.

    Check the date.

  19. #19
    Apprentice SlowMurderer is offline
    MemberRank
    Sep 2010 Join Date
    7Posts

    Re: How to add new items.

    Hmmm And What Do You Mean, Open The File With Visual C++...
    Sorry For Me Being Noob I Just Want To Put Skel Weps On My V15 Server, And I Never Used That So Called Application Visual C++...
    Can't I Just Open It With A Notepad Or Wordpad Or Using Microsoft SQL Server Management Studio Express??
    Last edited by SlowMurderer; 19-11-10 at 04:38 PM.



Advertisement