Tutorial #5: Importing Items (such as clothing, hair) from Live version to this server and Setting up new hairs on the character creation.
Code:
NOTE : This Tutorial is not for the in-experinced. Many Item Transfering May or may not work. If something does not work it most likely will not work. I will not provide any help or support for this tutorial.
This tutorial has not been tested.
This tutorial will not include pictures.
The Live version of Mabinogi (as of 1/8/2017) is v243. So we'll just download and open up 243_full.pack with the Mabi Unpacker Kohu provided
Unpack 243_full.pack, and head foward to:
Code:
C:\243Unpack\data\db\itemdb.xml
In there, we will copy 3 items. Those are
Code:
* Kirito Hair (#4172)
* Traveller's Robe (#19133)
* Rainbow Beam Sword (#40709)
So if we look into the 3 ID codes, this is our results in the itemdb
Code:
<Mabi_Item ID="4172" DB_StoreType="2" feature="gfSAOCollaboration" Text_Name1="_LT[xml.itemdb.46294]" Bundle_Type="0" Bundle_Max="0" Price_Buy="0" Attr_ActionFlag="0" Attr_Type="100" Attr_Grade="0" File_MaleMesh="male_c4_hair12_t12" Inv_XSize="1" Inv_YSize="1" App_WeaponActionType="0" App_WearType="ss" App_UseC4Layer="false" App_Color1="0" App_Color2="0" App_Color3="0" App_ColorOrder="0" App_SittingType="0" Taste_Beauty="0" Taste_Indivisuality="0" Taste_Luxury="0" Taste_Toughness="0" Taste_Utility="0" Taste_Rarity="0" Taste_Meaning="0" Taste_Adult="0" Taste_Maniac="0" Taste_Anime="0" Taste_Sexy="0" />
<Mabi_Item ID="19133" DB_StoreType="1" Category="/equip/robe/" Text_Name0="Traveller Robe" Text_Name1="_LT[xml.itemdb.39722]" Text_Desc1="_LT[xml.itemdb.40086]" Bundle_Type="0" Bundle_Max="0" Price_Buy="23000" Attr_ActionFlag="0" Attr_Type="12" Attr_Grade="0" File_MaleMesh="male_c4_contest2010_robe_europe" File_FemaleMesh="female_c4_contest2010_robe_europe" File_GiantMesh="giant_male_c4_contest2010_robe_europe" File_FemaleGiantMesh="giant_female_c4_contest2010_robe_europe" File_FieldMesh="male_c4_contest2010_robe_Europe_im" File_InvImage="UU_wear_2010europe_robe" Inv_XSize="2" Inv_YSize="4" App_WeaponActionType="0" App_WearType="ss" App_UseC4Layer="true" App_Color1="1" App_Color2="1" App_Color3="1" App_ColorOrder="0" App_SittingType="2" Taste_Beauty="0" Taste_Indivisuality="0" Taste_Luxury="0" Taste_Toughness="0" Taste_Utility="0" Taste_Rarity="0" Taste_Meaning="0" Taste_Adult="0" Taste_Maniac="0" Taste_Anime="0" Taste_Sexy="0" Par_BlockUseFlag="true" Par_UpgradeMax="0" Par_DurabilityMax="10000" Par_Defense="0" Par_ProtectRate="0" Par_AttackMin="0" Par_AttackMax="0" Par_WAttackMin="0" Par_WAttackMax="0" Par_CriticalRate="0" Par_AttackBalance="0" Par_EffectiveRange="0" Par_AttackSpeed="0" Par_DownHitCount="0" SmartSearchFlag="korea;" />
<Mabi_Item ID="40709" DB_StoreType="1" Category="/equip/righthand/weapon/edged/steel/blade/smith_repairable/twin_sword/no_scale/not_enchantable/not_dyeable/weapontype_combat/" XML="<xml hitsound="beam_sword" splash_radius = "150" splash_angle = "30" splash_damage = "0.5" stamina_usage = "0.5"/>" Text_Name0="Rainbow Beam Sword" Locale="korea" Text_Name1="_LT[xml.itemdb.36593]" Text_Desc1="_LT[xml.itemdb.38861]" Bundle_Type="0" Bundle_Max="0" Price_Buy="100000" Attr_ActionFlag="0" Attr_Type="7" Attr_Grade="0" File_MaleMesh="weapon_beamsword_05" File_FemaleMesh="weapon_beamsword_05" File_GiantMesh="giant_weapon_beamsword_05" File_FemaleGiantMesh="giant_weapon_beamsword_05" File_FieldMesh="weapon_beamsword_01_i" File_InvImage="UU_weapon_spacesuit_rainbow" Inv_XSize="1" Inv_YSize="4" App_WeaponActionType="2" App_WearType="ss" App_UseC4Layer="false" App_Color1="12" App_Color2="12" App_Color3="0" App_ColorOrder="0" App_AnimationType="tool_a05(1800)" App_SittingType="0" Taste_Beauty="0" Taste_Indivisuality="0" Taste_Luxury="0" Taste_Toughness="0" Taste_Utility="0" Taste_Rarity="0" Taste_Meaning="0" Taste_Adult="0" Taste_Maniac="0" Taste_Anime="0" Taste_Sexy="0" Metalware_UItooltip="true" Par_BlockUseFlag="true" Par_UpgradeMax="0" Par_GemUpgradeMax="0" Par_DurabilityMax="15000" Par_Defense="0" Par_ProtectRate="0" Par_AttackMin="47" Par_AttackMax="115" Par_WAttackMin="0" Par_WAttackMax="0" Par_CriticalRate="28" Par_AttackBalance="0" Par_EffectiveRange="0" Par_AttackSpeed="1" Par_DownHitCount="2" SmartSearchFlag="korea;" />
Let's analyze the lines one by one very carefully now. Starting with Kirito Hair.
We can see that feature="gfSAOCollaboration" Does not exist in our server. Therefore we should remove this part of code.
We also see that File_MaleMesh="male_c4_hair12_t12" is our mesh file. So we're going to have to copy that as well.
I highly recommend you use some kind of File Searcher program to find any mesh around the unpacked data folder. But for now we will go to
Code:
C:\243Unpack\data\gfx\char\chapter4\human\male\hair
Copy male_c4_hair12_t12.pmg to
Code:
C:\Patch1\data\gfx\char\chapter4\human\male\hair
So, once we're done with that. The line itself on the itemdb seems to be safe for now on Kirito Hair.
Copy the edited line, and head foward to
Code:
C:\RCCWork\__UnpackedGameServerNPCFiles\data\db\itemdb.xml
You can place the edited line anywhere. I would recomend putting the line close to where the 4000ish IDs are.
So once you placed the edited line. Save the edited itemdb.xml to
Let's contiune, moving on to the 2nd line. Analyize it.
This item is a Robe.
Here are a list of File Meshes we need to copy
Code:
File_MaleMesh="male_c4_contest2010_robe_europe"
File_FemaleMesh="female_c4_contest2010_robe_europe"
File_GiantMesh="giant_male_c4_contest2010_robe_europe"
File_FemaleGiantMesh="giant_female_c4_contest2010_robe_europe"
File_FieldMesh="male_c4_contest2010_robe_Europe_im"
File_InvImage="UU_wear_2010europe_robe"
So head to
Code:
C:\243Unpack\data\gfx\char\chapter4\human\male\mantle
C:\243Unpack\data\gfx\char\chapter4\human\female\mantle
C:\243Unpack\data\gfx\char\chapter4\giant\male\mentle
C:\243Unpack\data\gfx\char\chapter4\giant\female\mentle
C:\243Unpack\data\gfx\char\chapter4\item\mesh
C:\243Unpack\data\gfx\image2\inven\wear
and copy the meshes for the robe, import them to
[code]
C:\Patch1\data\gfx\char\chapter4\human\male\mantle
C:\Patch1\data\gfx\char\chapter4\human\female\mantle
C:\Patch1\data\gfx\char\chapter4\giant\male\mentle
C:\Patch1\data\gfx\char\chapter4\giant\female\mentle
C:\Patch1\data\gfx\char\chapter4\item\mesh
C:\Patch1\data\gfx\image\
[code]
back to itemdb now
Also, the string SmartSearchFlag="korea;" doesn't seem to exist for our db, so it'll be smart to delete that off too.
Copy the edited line in the edited db. Save it to Patch1. Next item.
We should probably remove Locale="korea" first.
The meshes seems to be weapon_beamsword_05 and giant_weapon_beamsword_05 as well as UU_weapon_spacesuit_rainbow. So let's find those two. We can see them at
Code:
C:\243Unpack\data\gfx\char\chapter4\giant\tool
C:\243Unpack\data\gfx\char\chapter4\human\tool
C:\243Unpack\data\data\gfx\image
Notice how there are xml files in relationship to the pmg files as well, those are required.
Let's open up the xml file, because we're most likely going to need the effect as well.
We can see that it requires C5_beamsword_Rainbow_R
and it appears that's findable in
Code:
C:\243Unpack\data\gfx\fx\effect
and it looks like c5_effect_etc.xml has the file we want
So, Now you're going to move all the files to
Code:
C:\Patch1\data\gfx\char\chapter4\giant\tool
C:\Patch1\data\gfx\char\chapter4\human\tool
C:\Patch1\data\gfx\fx\effect
back to itemdb now
You might want to delete Metalware_UItooltip="true" since we don't have metalwares.
SmartSearchFlag="korea;" should probably be deleted as well
Save the xml on patch1.
So now that we have imported 3 items. It's time to make one of the items to appear on the character selection screen.
Transfer
Code:
C:\RCCWork\__UnpackedGameServerNPCFiles\data\db\characterstyle.xml
C:\RCCWork\__UnpackedGameServerNPCFiles\data\db\characterstyleallow.xml
to
Open characterstyle.xml
For every new hair you added on itemdb, it has to be added in characterstyle.xml, like so in MaleHairStyle
Code:
<CharacterStyle ID="4172" Name="Kirito Hair" Icon="" HotIcon="" />
Save. Next file.
Code:
<StyleAllow ID="4172" ServerAllow="1" CardAllow="1" Generation="0" Season="0" Subseason="0" RaceFilter="/human/|/elf/" />
Save.
Here comes the fun part now.
Go to
Copy the entire data folder that has all of our import and edits. And paste them to
Code:
C:\Client\
C:\RCCWork\GameServer_Ch1\
C:\RCCWork\LoginServer2\
C:\RCCWork\NPCClient_CH1\
Reboot the server, and hope that it works for the server and client.
Also, I got a small surprise for you translators tomorrow, most of it was already discussed at our discord dev chat.