Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 45

KOM EDIT TUTORIAL

Elsword Kom Editing Hacks for PH and other Server


THINGS YOU WILL NEED * Brain * Fiddler for .net2 framework or Fiddler for .net4 framework im using .net2 framework * Checksum Calc * Lua Editor * Kom packer/unpacker * NotePad++ im using this for better editing * and Brain again

ill create a guide for mob and item vac/ title hack/ boss rusher/ aura buff hack/ PVP iron body.. since i quit playing this game ill share you how to duplicate stamina potion only stamina potion i can dupe.

Guide:

* Create new 2 folders name it "ORIGINAL KOMS and EDITED KOMS". * Copy the kom you wish to edit from the elsword data folder ex. data035,data036,data037,etc and paste it inside ORIGINAL KOMS folder so we can back up if we need it again.

* And paste another copy to EDITED KOMS * Unpack or extract the kom you wish to edit ex. data036 using kom packer/unpacker

* You will now see a new folder appear Data036 folder, inside this folder contains Lua's which you can edit to do some tweaks and hacks. * After you edit the file repack the kom folder using the Kom Unpacker/Repacker.

* Paste the kom you edit to data folder of elsword.

How to Bypass?

* Open your fiddler be sure it's capturing the traffic session

* Open your Garena Messenger then start elsword * Run your Elsword for int'l server * wait until it loads the game. * Close Elsword. * Now go back to Fiddler and scroll for captured traffic, now look for checkkom.xml and patchinfo.xml

* Right+Click on the Checkkom.xml you drag to other window and click "Open Url"

* You'll be redirected to checkkom.xml address on browser

* Right+Click on body of xml then save as checkkom.xml on your desktop * Do this procedure same with Patchinfo.xml * Right+Click on the Patchinfo.xml you drag to other window and click "Open Url" * You'll be redirected to Patchinfo.xml address on browser * Right+Click on body of xml then save as Patchinfo.xml on your desktop * Now Open your Fiddler again and edit the autoresponse for the .xml

* Locate the file for checkkom.xml on your desktop then press save * and for patchinfo.xml locate the file on your desktop then save * it should be look like this:

* Open the checkkom.xml using notepad on your desktop * Find the data kom you edited ex. data036

* Open your Checksum Calculator browse for the kom file you edited

* Paste the checksum result in your checkkom.xml then save.

* Open your Patchinfo.xml on your desktop and delete all the datas inside the <Files></Files> then save.

* Restart your Garena/Elsword

How to Edit Title Hacks?

* Unpack Data036.kom using Kom Unpacker * Open the Lua Editor and locate the TitleTable.lua * Open a notepad or (notepad+ much better) * Copy all the contents then paste it on notepad * Choose what title you want to edit ex. Ann's Gift

Code:
TitleManager:AddTitleInfo_LUA({ m_iTitleID = 10, m_iSortNum = 11, m_eTitleType = TITLE_TYPE.TT_RUBEN, m_TitleName = "Ann's Gift", m_Description = [[ From Ann of Ruben Village, With Love????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????? ???????????????????????????]], m_ParticleName = "TITLE_10", m_eUnitType = UNIT_TYPE.UT_NONE, m_eUnitClass = UNIT_CLASS.UC_NONE, m_iOpenLevel = 1, m_bIsSecretTitle = False, m_bVisible = True, m_iAtkPhysic = 12, m_iAtkMagic = 12, SOCKET_OPTION = {40106, 40006} })

* Edit the "m_iAtkPhysic" and "m_iAtkMagic" to your desire * We can also add addtional socket option here Example: Code:
TitleManager:AddTitleInfo_LUA({ m_iTitleID = 10, m_iSortNum = 11, m_eTitleType = TITLE_TYPE.TT_RUBEN, m_TitleName = "Ann's Gift", m_Description = [[ From Ann of Ruben Village, With Love????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????? ???????????????????????????]], m_ParticleName = "TITLE_10", m_eUnitType = UNIT_TYPE.UT_NONE, m_eUnitClass = UNIT_CLASS.UC_NONE, m_iOpenLevel = 1, m_bIsSecretTitle = False, m_bVisible = True, m_iAtkPhysic = 12, m_iAtkMagic = 12, SOCKET_OPTION = { 40106, 40006, 40206, 40606, 3876, 20101, 1502, 1302, 1802, 1204, 30202, 30203, 1703, 1903, 1502, 20305, 20210, 120, 20, 2410, 1305, 1210, 1510, 13451 } })

* After you edit the file just copy all the content from notepad then paste it back to Lua Editor then press save and repack.

Here's Possible list of Socket Options you can use: Code:


20000 = Actives, Special Actives, Buffs Skill Level +1 1610 = Critical hit rate +10% 20210 = ED +10% 20305 = Exp +5% 120 = Magic attack +400 20 = Physical attack + 400 2410 = Awakening Charge Speed +10% 1305 = max hp +5% 1210 = Awakening Time +15% 1510 = Action speed +10% 4510 = Accuracy +20% 13451 = All elements attacks +2% 5620 = All Elements Resistance +50 1910 = Jump speed +10% 1710 = movement speed +10% 1810 = dodge +10% 40625 = reduced damage +12.5% 40208 = addtional damage 4% 2350 = HP 17.000 3111 = Diskon Biaya repair 10% 3493 = 7% burning 3595 = 7% poison 3820 = +100 resistance wind 5712 = 100% flame effect 5711 = 100% poison cloud 5713 = 100% cold shock 5542 = effect halloween 11281 = 1% effect piercing 13450 = 100% elemental effect 20 516 = 10% +5 MP 30071 = 2.5 increases damage enemies fall 30165 = 50% electric resist 31133 = 5% lightning 31642 = time in attacking, there is 15% chance to absorb HP from enemy 31644 = 2% firework when attacked 60419 = max MP 100 60128 = doble attack 100% 41179 = HP +37400 35005 = current strike / attack recovery of MP +30% 31455 = 100% resist blaze 31456 = 100% ice resist 31353 = 1% chance of a smash event 2 when attacked 31339 = curse resist 31115 = 50% resist press 31038 = 10% remove abnormal circumstances 35052 = 5% while in Ghost Attack 1438 < 3% chance to attack with a blast 40300 = addtional damage 50% 40700 = reduced damage 50%

2620 = 20% crittical 1350 = 50% HP

Note: You can also use socketoption from weapon and armors, which are effective in PVP Hacks.

How to edit data035 for Boss Rusher? Note: Boss Rusher will take less stamina when doin dungeon run., better when hunting boss drops item. * Unpack your Data035.kom using Kom Unpacker * Open your Lua Editor * locate the file you wish to edit in data035 folder ex. Dungeon_Altera_Core_Expert.lua * Open a notepad or (notepad+ much better) * Copy all the contents then paste it on notepad * inside the lua you'll see the stage list there are 7 stages for this dungeon the last stage or STAGE6 will be the boss stage Code:
STAGE_LIST = { DUNGEON_MAP = { STAGE0 = { SUB_STAGE0 = SUB_STAGE1 = SUB_STAGE2 = SUB_STAGE3 = }, STAGE1 = { SUB_STAGE0 = }, STAGE2 = { SUB_STAGE0 = SUB_STAGE1 = SUB_STAGE2 = SUB_STAGE3 = }, STAGE3 = { SUB_STAGE0 = }, STAGE4 = { SUB_STAGE0 = SUB_STAGE1 = SUB_STAGE2 = SUB_STAGE3 = SUB_STAGE4 = }, STAGE5 = { SUB_STAGE0 = }, STAGE6 = { SUB_STAGE0 = 219, 212, TRUE } } },

{96, 38}, {137, 38}, {178, 38}, {219, 38} {281, 38} {281, {240, {199, {158, 96}, 96}, 96}, 96}

{96, 96} {96, 154}, {137, 154}, {178, 154}, {219, 154}, {260, 154} {260, 212} {

* in first stage or STAGE0

SUB_STAGE0 = { START_LINE_SET = -1, MAIN_LINE_SET = 0, END_LINE_SET = 1, GO_TYPE = GO_TYPE.GT_RIGHT, CLEAR_COND0 = { CLEAR_CONDITION.CC_KILL_ALL_ACTIVE_NPC, <--- clear condition type NEXT_STAGE0 = { CLEAR_TYPE.CT_SUB_STAGE, <--- cleartype either SubStage/Stage or Game 0, <--- Stage Number 1, <--- Sub-Stage Number 100 <--- Apperance Rate } }, * now edit the STAGE0 that will port us to boss stage SUB_STAGE0 = { START_LINE_SET = -1, MAIN_LINE_SET = 0, END_LINE_SET = 1, GO_TYPE = GO_TYPE.GT_RIGHT, CLEAR_COND0 = { CLEAR_CONDITION.CC_KILL_NPC_TYPE, <--- Change to NPC type NPC_ID = {}, <--- NPC ID NONE stage will be cleared no NPC NEXT_STAGE0 = { CLEAR_TYPE.CT_STAGE, <--- this will read Stage Cleared 6, <---Boss Stage Level 0, 100 } }, * You'll be now teleport to STAGE6 the boss level. * Copy all the content from the notepad and paste it back to Lua Editor. * Repack the Kom Folder.

How to Edit Damage/Def./Attackspeed/Evasion?

NOTE: Damage can be use only for dungeons, not working on PVP if use like 9999 in pvp it will rebound and you will be killed 1 hit.[/B] NOTE: Def/Attackspeed/Evasion works in PVP

* Unpack your data036.kom * Open your Lua Editor * Locate the SocketOptionForm.lua

* Open a notepad or (notepad+ much better) * Copy all the contents then paste it on notepad * You can see this:

* For Evasion function CalculateFinalAnitEvadePercent(fSumValue, iUserLevel) local result = CalculateIntermediateAntiEvadeValue(fSumValue, iUserLevel) local addValue = 0 if result > 20 then if result <= 25 then result = result * 0.3 addValue = 0.14 elseif result <= 30 then result = result * 0.2 addValue = 0.165 else result = result * 0.05 addValue = 0.21 end end result = result * 0.01 + addValue return math.min(result, 0.3) end * For Evasion function CalculateFinalEvadePercent(fSumValue, iUserLevel) local result = CalculateIntermediateEvadeValue(fSumValue, iUserLevel) local addValue = 0 if result > 20 then if result <= 25 then result = result * 0.3 addValue = 0.14 elseif result <= 30 then result = result * 0.2 addValue = 0.165 else result = result * 0.05 addValue = 0.21 end end result = result * 0.01 + addValue return math.min(result, 0.3) end * For Defence function CalculateFinalAdditionalDefencePercent(fSumValue, iUserLevel) local result = CalculateIntermediateAdditionalDefenceValue(fSumVa lue, iUserLevel)

result = result * 0.01 if result >= 0.2 then if result <= 0.69 then result = (-0.85 * result + 1.18) * result else result = (result - 0.69) * 0.02 + 0.4095 end end return result end * For Damage function CalculateFinalAdditionalAttackValueInDamageFreeGam e(fSumValue, iUserLevel) local intermediateValue = CalculateIntermediateAdditionalAttackValue(fSumVal ue, iUserLevel) intermediateValue = intermediateValue * 0.01 if intermediateValue > 0.4 then intermediateValue = (-0.4 * intermediateValue + 1.32) * intermediateValue - 0.064 * For Damage function CalculateFinalAdditionalAttackValue(fSumValue, iUserLevel) local intermediateValue = CalculateIntermediateAdditionalAttackValue(fSumVal ue, iUserLevel) intermediateValue = intermediateValue * 0.01 if intermediateValue > 0.4 then intermediateValue = (-0.4 * intermediateValue + 1.32) * intermediateValue - 0.064 end * Just Change The Values of the Red ones NOTE: Dont Exaggerate the values like 9999

Here's the Values i used function CalculateLinearCriticalValue(iSocketLevel) return 1.5 * (iSocketLevel - 1) + 9.5 end function CalculateLinearMoveSpeedValue(iSocketLevel) return 1.5 * (iSocketLevel - 1) + 9.5 end function CalculateLinearJumpSpeedValue(iSocketLevel) return 1.5 * (iSocketLevel - 1) + 9.5 end function CalculateLinearAnimationSpeedValue(iSocketLevel) return 1.5 * (iSocketLevel - 1) + 9.5 end function CalculateLinearAntiEvadeValue(iSocketLevel) return 1.5 * (iSocketLevel - 1) + 9.5 end function CalculateLinearEvadeValue(iSocketLevel)

return 1.5 * (iSocketLevel - 1) + 9.5 end function CalculateLinearHyperGageChargeSpeedValue(iSocketLe vel) return 1.5 * (iSocketLevel - 1) + 9.5 end function CalculateLinearAdditionalDefenceValue(iSocketLevel ) return 1.5 * (iSocketLevel - 1) + 9.5 end function CalculateLinearAdditionalAttackValue(iSocketLevel) return 1.5 * (iSocketLevel - 1) + 9.5 end function CalculateHpIncrementValue(iSocketLevel) return 15 * iSocketLevel + 85 end function CalculateIntermediateCriticalValue(fSumValue, iUserLevel) local fOnePercentValueByLevel = CalculateLinearCriticalValue(iUserLevel) return fSumValue / fOnePercentValueByLevel end function CalculateIntermediateMoveSpeedValue(fSumValue, iUserLevel) local fOnePercentValueByLevel = CalculateLinearMoveSpeedValue(iUserLevel) return fSumValue / fOnePercentValueByLevel end function CalculateIntermediateJumpSpeedValue(fSumValue, iUserLevel) local fOnePercentValueByLevel = CalculateLinearJumpSpeedValue(iUserLevel) return fSumValue / fOnePercentValueByLevel end function CalculateIntermediateAnimationSpeedValue(fSumValue , iUserLevel) local fOnePercentValueByLevel = CalculateLinearAnimationSpeedValue(iUserLevel) return fSumValue / fOnePercentValueByLevel end function CalculateIntermediateAntiEvadeValue(fSumValue, iUserLevel) local fOnePercentValueByLevel = CalculateLinearAntiEvadeValue(iUserLevel) return fSumValue / fOnePercentValueByLevel end function CalculateIntermediateEvadeValue(fSumValue, iUserLevel) local fOnePercentValueByLevel = CalculateLinearEvadeValue(iUserLevel) return fSumValue / fOnePercentValueByLevel end function CalculateIntermediateHyperGageChargeSpeedValue(fSu mValue, iUserLevel) local fOnePercentValueByLevel = CalculateLinearHyperGageChargeSpeedValue(iUserLeve l) return fSumValue / fOnePercentValueByLevel end function CalculateIntermediateAdditionalDefenceValue(fSumVa lue, iUserLevel) local fOnePercentValueByLevel = CalculateLinearAdditionalDefenceValue(iUserLevel) return fSumValue / fOnePercentValueByLevel end

function CalculateIntermediateAdditionalAttackValue(fSumVal ue, iUserLevel) local fOnePercentValueByLevel = CalculateLinearAdditionalAttackValue(iUserLevel) return fSumValue / fOnePercentValueByLevel end function CalculateFinalCriticalPercent(fSumValue, iUserLevel) local result = CalculateIntermediateCriticalValue(fSumValue, iUserLevel) result = result * 0.01 if result > 0.4 then result = result * (1.4 * result + 11.32) - 0.064 end return math.min(result, 1) end function CalculateFinalMoveSpeedPercent(fSumValue, iUserLevel) local result = CalculateIntermediateMoveSpeedValue(fSumValue, iUserLevel) local addValue = 0 if result > 20 then if result <= 25 then result = result * 0.3 addValue = 0.14 elseif result <= 30 then result = result * 0.2 addValue = 0.165 else result = result * 0.05 addValue = 0.21 end end result = result * 0.01 + addValue return math.min(result, 0.3) end function CalculateFinalJumpSpeedPercent(fSumValue, iUserLevel) local result = CalculateIntermediateJumpSpeedValue(fSumValue, iUserLevel) local addValue = 0 if result > 20 then if result <= 25 then result = result * 0.3 addValue = 0.14 elseif result <= 30 then result = result * 0.2 addValue = 0.165 else result = result * 0.05 addValue = 0.21 end end result = result * 0.01 + addValue

return math.min(result, 0.3) end function CalculateFinalAnimationSpeedPercent(fSumValue, iUserLevel) local result = CalculateIntermediateAnimationSpeedValue(fSumValue , iUserLevel) local addValue = 0 if result > 20 then if result <= 25 then result = result * 0.3 addValue = 14 elseif result <= 30 then result = result * 0.2 addValue = 16.5 else result = result * 0.05 addValue = 21 end end result = result + addValue return math.min(result, 30) * 0.01 end function CalculateFinalAnitEvadePercent(fSumValue, iUserLevel) local result = CalculateIntermediateAntiEvadeValue(fSumValue, iUserLevel) local addValue = 0 if result > 20 then if result <= 25 then result = result * 0.3 addValue = 0.14 elseif result <= 30 then result = result * 0.2 addValue = 0.165 else result = result * 0.05 addValue = 0.21 end end result = result * 99.01 + addValue return math.min(result, 0.3) end function CalculateFinalEvadePercent(fSumValue, iUserLevel) local result = CalculateIntermediateEvadeValue(fSumValue, iUserLevel) local addValue = 0 if result > 20 then if result <= 25 then result = result * 0.3 addValue = 0.14 elseif result <= 30 then

result = result * 0.2 addValue = 0.165 else result = result * 0.05 addValue = 0.21 end end result = result * 99.01 + addValue return math.min(result, 0.3) end function CalculateFinalHyperGageChargeSpeedPercent(fSumValu e, iUserLevel) local result = CalculateIntermediateHyperGageChargeSpeedValue(fSu mValue, iUserLevel) result = result * 0.01 if result > 0.2 then if result <= 1.05 then result = math.min((-0.6 * result + 1.27) * result - 0.03, 0.5) else result = 0.5 end end return result end function CalculateFinalAdditionalDefencePercent(fSumValue, iUserLevel) local result = CalculateIntermediateAdditionalDefenceValue(fSumVa lue, iUserLevel) result = result * 0.01 if result >= 0.2 then if result <= 0.69 then result = (-0.85 * result + 1.18) * result else result = (result - 0.69) * 0.22 + 0.4095 end end return result end function CalculateFinalAdditionalAttackValue(fSumValue, iUserLevel) local intermediateValue = CalculateIntermediateAdditionalAttackValue(fSumVal ue, iUserLevel) intermediateValue = intermediateValue * 0.01 if intermediateValue > 0.4 then intermediateValue = (1.4 * intermediateValue + 5.32) * intermediateValue - 0.064 end if intermediateValue < 0 then intermediateValue = 1 else intermediateValue = math.min(intermediateValue, 1) end

local AdditionalDamagePerLevel = 30 * iUserLevel + 175 AdditionalDamagePerLevel = AdditionalDamagePerLevel * intermediateValue return AdditionalDamagePerLevel end function CalculateFinalAdditionalAttackValueInDamageFreeGam e(fSumValue, iUserLevel) local intermediateValue = CalculateIntermediateAdditionalAttackValue(fSumVal ue, iUserLevel) intermediateValue = intermediateValue * 0.01 if intermediateValue > 0.4 then intermediateValue = (1.4 * intermediateValue + 5.32) * intermediateValue - 0.064 end if intermediateValue < 0 then intermediateValue = 1 else intermediateValue = math.min(intermediateValue, 1) end local AdditionalDamagePerLevel = 300 AdditionalDamagePerLevel = AdditionalDamagePerLevel * intermediateValue return AdditionalDamagePerLevel end For Defence you can add little more, change the value from 0.02 to 0.9 and you'll receive 100-200 damage in PVP LOL! that's exaggerated thats why mine is 0.22 only, but its up to you, try to experiment the values. NOTE: You can also edit the Attackspeed, Movementspeed, Jumpspeed using this lua * Copy all the content back to Lua Editor and Save.

How to make your aura last 60 secs or Unli? or make an unstoppable RuneSlayer?

* Unpack your Data036.kom * Open your Lua Editor * Locate the BattleFieldBuffFactor.lua * Open a notepad or (notepad+ much better) * Copy all the contents then paste it on notepad * Open another Lua Editor or just close the open one and Locate the NewSkillTemplet.lua * Open another notepad * Copy all the contents then paste it on notepad

ok let's see what you wish to edit Ex. RuneSlayer on your open notepad *NewSkillTemplet find the aurabuff of RuneSlayer just use CTRL+F Ex. we want to edit sword enchant make a devastating damage + unli buff

Sword (Magical): 300% <-- increase the Sword Damage Editing this does nothing Critical Rate Increase: 25% <-- increase critical rate Editing this does nothing Critical Damage Increase: 46% <-- increase critical damage Editing this does nothing Chance of enchant effect activating when attacking: 8% <--- Chance of activation Duration: 10 sec.]], <--- Editing this does nothing m_iSkillLevel = 5, m_fSkillCoolTime = 6, <--- CoolDown of the skill m_fMPConsumption = 25, <--- you can edit if you want to reduce mp usage m_bBornSealed = False, m_bShowSkillLevel = True, m_wstrTextureName = "DLG_SKILL_ElswordActive_02.tga", m_wstrTexturePieceName = "SI_A_ERS_SWORD_ENCHANT", m_fPowerRate = 3, <--- the Power rate of skill (This Give the true damage) m_eActiveSkillUseCondtion = 1, m_Stat = { m_fBaseHP = 0, m_fAtkPhysic = 0, m_fAtkMagic = 0, m_fDefPhysic = 0, m_fDefMagic = 0 }, SA_WAY_OF_SWORD_TYPE = 1, BUFF_FACTOR = { BUFF_FACTOR_ID.BFI_SI_A_ERS_SWORD_ENCHANT_5_1, <--- for buff edit BUFF_FACTOR_ID.BFI_BUFF_SWORD_ENCHANT_ICE_5_1, <--- for buff edit BUFF_FACTOR_ID.BFI_BUFF_SWORD_ENCHANT_FIRE_5_1, <--- for buff edit BUFF_FACTOR_ID.BFI_BUFF_SWORD_ENCHANT_POISON_5_1 <--- for buff edit } }) * After you finish editing the NewSkillTemplet.lua copy all the content from notepad back to your Lua Editor then save * now open your notepad with BattlefieldBuffFactor find the "BUFF_FACTOR_ID.BFI_SI_A_ERS_SWORD_ENCHANT_5_1 " 5_1 <-- Correspond from skill level so becareful with this (just use CTRL+F) g_pBuffTempletManager:AddBuffFactor_LUA({ BUFF_FACTOR_ID = BUFF_FACTOR_ID.BFI_SI_A_ERS_SWORD_ENCHANT_5_1, BUFF_FACTOR = { BUFF_TEMPLET_ID = BUFF_TEMPLET_ID.BTI_SI_A_ERS_SWORD_ENCHANT, RATE = 1, IGNORE_REGIST_FOR_RATE = TRUE, BEHAVIOR = { COMBINATION = { BUFF_BEHAVIOR_TYPE.BBT_CHANGE_CRITICAL_RATE, BUFF_BEHAVIOR_TYPE.BBT_CHANGE_CRITICAL_ATTACK },

BBT_CHANGE_CRITICAL_RATE = { BUFF_CHANGE_TYPE = BUFF_CHANGE_TYPE.BCT_PERCENT, BUFF_RELATION_TYPE = BUFF_RELATION_TYPE.BRT_END, PERCENT = 1.25 <---Critical Rate means 25% Change the value in your desire }, BBT_CHANGE_CRITICAL_ATTACK = { BUFF_CHANGE_TYPE = BUFF_CHANGE_TYPE.BCT_PERCENT, BUFF_RELATION_TYPE = BUFF_RELATION_TYPE.BRT_END, PERCENT = 1.46 <---Critical Damage means 46% Change the value in your desire } }, FINALIZER = { COMBINATION = { BUFF_FINALIZER_TYPE.BFT_TIME }, BFT_TIME = { BUFF_DURATION_TIME_TYPE = BUFF_DURATION_TIME_TYPE.BDTT_NORMAL_TIME, NORMAL_TIME = 10 <--- Change the value what you desire (Duration of Buff) } } } }) * We found the BUFF_FACTOR_ID.BFI_SI_A_ERS_SWORD_ENCHANT_5_1 * Find the remaining Buff factors BUFF_FACTOR_ID.BFI_SI_A_ERS_SWORD_ENCHANT_5_1, <-- DONE BUFF_FACTOR_ID.BFI_BUFF_SWORD_ENCHANT_ICE_5_1, BUFF_FACTOR_ID.BFI_BUFF_SWORD_ENCHANT_FIRE_5_1, BUFF_FACTOR_ID.BFI_BUFF_SWORD_ENCHANT_POISON_5_1 * After Editing Copy all the content back to Lua Editor and save.

How to make Unli MP or Fast MP charging?

* Unpack your Data036.kom * Open your Lua Editor * Locate the BattleFieldBuffFactor.lua * Open a notepad or (notepad+ much better) * Copy all the contents then paste it on notepad * CTRL+F and look for BUFF_BELSSING_OF_SERAPHIM * g_pBuffTempletManager:AddBuffFactor_LUA({ BUFF_FACTOR_ID = BUFF_FACTOR_ID.BFI_BUFF_BELSSING_OF_SERAPHIM,

BUFF_FACTOR = { BUFF_TEMPLET_ID = BUFF_TEMPLET_ID.BTI_BUFF_BELSSING_OF_SERAPHIM, RATE = 1, IGNORE_REGIST_FOR_RATE = TRUE, BEHAVIOR = { COMBINATION = { BUFF_BEHAVIOR_TYPE.BBT_CHANGE_MAX_MP, BUFF_BEHAVIOR_TYPE.BBT_CHANGE_NOW_MP_PER_SECOND }, BBT_CHANGE_MAX_MP = { BUFF_CHANGE_TYPE = BUFF_CHANGE_TYPE.BCT_FIX_VALUE, FIX_VALUE = 100 <-- Max MP (change the value in your desire) }, BBT_CHANGE_NOW_MP_PER_SECOND = { BUFF_CHANGE_TYPE = BUFF_CHANGE_TYPE.BCT_FIX_VALUE, FIX_VALUE = 2 <-- MP charge per sec (change the value in your desire) } }, * After Editing Copy all the content back to Lua Editor and save.

How to get Rank A/S/SS in solo Run w/Boss rusher for increase drops?

Note: in solo run w/boss rusher we already get SS in TIME and SS in Damage Received, but F in Combo and F in TechnicalScore. ill show you how to get SS in TechnicalScore. Rank in Combo may vary just use Skill with lots of hits like (PlasmaCutter,StormBlade,Etc.)

* Unpack your Data036.kom * Open your Lua Editor * Locate the DamageEffect.lua * Use notepad++ for easy editing * Copy all the contents then paste it on notepad * CTRL+F and look for TECH_POINT Note: use "Find All in Current Document" button * You'll see 1000+ TECH_POINT in the current lua * Change all the values to 5000 or 9999 <-- This is for Technical Score to get RANK SS * After Editing Copy all the content back to Lua Editor and save.

If your lazy to edit this Lua, you can use mine Here: DamageEffect.lua

GameGuard Error? DC? Here's my Solution

*After you edit your KOM's, change the checksum of xml. always REFRESH the FOLDER OR THE LOCATION of the XML file where you put it.

Example: my CheckKom.xml and Patchinfo.xml are located on my desktop. i always edit my data036 and data035 when doin dungeon run and PVP. so i always change the checksum of my checkkom.xml. my fiddler2 is always running no need to restart the app. i always encounter GG error and DC for 1-2 times when running the game. What i do is REFRESH the Desktop or PRESS F5 before to start Elsword., then observe the game. VIOLA no more DC/GG error.

Try to observe the game for 1-3 minutes before goin for dungeon run or PVP to avoid stamina loss or Rank Points loss. if you get GG Error/DC just REFRESH THE LOCATION OF YOUR XML

this method work 100% for me..

How to make an Auto Kill for dungeon run?

[B]* Unpack your Data037.kom * Open your Lua Editor * You will edit all Luas inside the kom folder * Use this code and replace all luas inside the folder Code:
INIT_SYSTEM = { UNIT_WIDTH = 50, UNIT_LAYER = X2_LAYER.XL_UNIT_0, UNIT_SCALE = 1.3 } INIT_DEVICE = { READY_TEXTURE = {}, READY_SOUND = {} } INIT_MOTION = { MOTION_FILE_NAME = "Motion_Mushroom.x", MOTION_ANI_TEX_XET = "Motion_Mushroom_Wooden.xet", MOTION_CHANGE_TEX_XET = "Motion_Mushroom_Wooden.xet" } INIT_PHYSIC = { RELOAD_ACCEL = 2000, G_ACCEL = 4000, MAX_G_SPEED = -2000, WALK_SPEED = 700,

RUN_SPEED = 700, JUMP_SPEED = 1500, DASH_JUMP_SPEED = 2300 } INIT_COMPONENT = { MAX_HP = 10000, MP_CHANGE_RATE = 1, MP_CHARGE_RATE = 130, USE_SLASH_TRACE = FALSE, SHADOW_SIZE = 200, SHADOW_FILE_NAME = "shadow.dds", SMALL_HP_BAR_BLUE = "Small_HP_bar_Blue.TGA", SMALL_HP_BAR_RED = "Small_HP_bar_Red.TGA", SMALL_HP_BAR_YELLOW = "Small_HP_bar_Yellow.TGA", QUESTION_MARK_SEQ = "QuestionMarkNPC", EXCLAMATION_MARK_SEQ = "ExclamationMarkNPC", HYPER_MODE_COUNT = 0, MAX_HYPER_MODE_TIME = 30, HITTED_TYPE = HITTED_TYPE.HTD_MEAT, FALL_DOWN = TRUE } INIT_STATE = { { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_WAIT" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_WALK", LUA_FRAME_MOVE_FUNC = "MUSHROOM_WOODEN_NO_ATTACK_WALK_FRAME_MOVE", LUA_STATE_END_FUNC = "MUSHROOM_WOODEN_NO_ATTACK_WALK_STATE_END" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_JUMP_UP" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN", LUA_STATE_END_FUNC = "MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN_STATE_END" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_JUMP_UP_DIR" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN_DIR", LUA_STATE_END_FUNC = "MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN_DIR_STATE_END" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_JUMP_LANDING" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_ATTACK" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE", LUA_FRAME_MOVE_FUNC = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_FRAME_MOVE" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_DOWN_FRONT",

LUA_FRAME_MOVE_FUNC = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_DOWN_FRONT_FRAME_MOVE" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_DOWN_BACK", LUA_FRAME_MOVE_FUNC = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_DOWN_BACK_FRAME_MOVE" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_FLY_FRONT" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_FLY_BACK" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_DOWN" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_UP" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_FALL" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_DOWN_LANDING", LUA_FRAME_MOVE_FUNC = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_DOWN_LANDING_FRAME_MOVE" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_STAND_UP_FRONT" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_STAND_UP_BACK" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_DYING_LAND_FRONT", LUA_STATE_START_FUNC = "MUSHROOM_WOODEN_NO_ATTACK_DYING_LAND_STATE_START" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_DYING_LAND_BACK", LUA_STATE_START_FUNC = "MUSHROOM_WOODEN_NO_ATTACK_DYING_LAND_STATE_START" }, { STATE_NAME = "MUSHROOM_WOODEN_NO_ATTACK_DYING_SKY", LUA_STATE_START_FUNC = "MUSHROOM_WOODEN_NO_ATTACK_DYING_LAND_STATE_START" }, START_STATE = "MUSHROOM_WOODEN_NO_ATTACK_WAIT", WAIT_STATE = "MUSHROOM_WOODEN_NO_ATTACK_WAIT", SMALL_DAMAGE_LAND_FRONT = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE", SMALL_DAMAGE_LAND_BACK = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE", BIG_DAMAGE_LAND_FRONT = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE", BIG_DAMAGE_LAND_BACK = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE", DOWN_DAMAGE_LAND_FRONT = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_DOWN_FRONT", DOWN_DAMAGE_LAND_BACK = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_DOWN_BACK",

FLY_DAMAGE_FRONT = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_FLY_FRONT", FLY_DAMAGE_BACK = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_FLY_BACK", SMALL_DAMAGE_AIR = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR", BIG_DAMAGE_AIR = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR", DOWN_DAMAGE_AIR = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_DOWN", DOWN_DAMAGE_AIR_LANDING = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_DOWN_LANDING", UP_DAMAGE = "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_UP", DYING_LAND_FRONT = "MUSHROOM_WOODEN_NO_ATTACK_DYING_LAND_FRONT", DYING_LAND_BACK = "MUSHROOM_WOODEN_NO_ATTACK_DYING_LAND_BACK", DYING_SKY = "MUSHROOM_WOODEN_NO_ATTACK_DYING_SKY", REVENGE_ATTACK = "" } INIT_AI = { TARGET = { TARGET_PRIORITY = TARGET_PRIORITY.TP_LOW_HP_FIRST, TARGET_INTERVAL = 3, TARGET_NEAR_RANGE = 150, TARGET_RANGE = 500, TARGET_LOST_RANGE = 800, TARGET_SUCCESS_RATE = 100, ATTACK_TARGET_RATE = 100, PRESERVE_LAST_TARGET_RATE = 100 }, CHASE_MOVE = { MOVE_SPLIT_RANGE = 600, DEST_GAP = 150, MOVE_GAP = 160, DIR_CHANGE_INTERVAL = 0.7, WALK_INTERVAL = 3, NEAR_WALK_RATE = 100, FAR_WALK_RATE = 100, JUMP_INTERVAL = 5, UP_JUMP_RATE = 100, UP_DOWN_RATE = 20, DOWN_JUMP_RATE = 100, DOWN_DOWN_RATE = 40 }, PATROL_MOVE = { PATROL_BEGIN_RATE = 100, PATROL_RANGE = 200, PATROL_COOL_TIME = 2, ONLY_THIS_LINE_GROUP = TRUE }, ESCAPE_MOVE = { MOVE_SPLIT_RANGE = 500, ESCAPE_GAP = 600, WALK_INTERVAL = 1.5, NEAR_WALK_RATE = 100, FAR_WALK_RATE = 100, JUMP_INTERVAL = 10, UP_JUMP_RATE = 100, UP_DOWN_RATE = 30, DOWN_JUMP_RATE = 100, DOWN_DOWN_RATE = 30 } }

MUSHROOM_WOODEN_NO_ATTACK_WAIT = { ANIM_NAME = "Wait", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_LOOP, TRANSITION = TRUE, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, SPEED_X = 0, SPEED_Y = 0, IMMADIATE_PACKET_SEND = TRUE, EVENT_INTERVAL_TIME0 = 2, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_FOOT_ON_LINE_FALSE_DOWN, "MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN" }, { STATE_CHANGE_TYPE.SCT_AI_WALK, "MUSHROOM_WOODEN_NO_ATTACK_WALK" }, { STATE_CHANGE_TYPE.SCT_AI_DASH, "MUSHROOM_WOODEN_NO_ATTACK_WALK" }, { STATE_CHANGE_TYPE.SCT_AI_JUMP, "MUSHROOM_WOODEN_NO_ATTACK_JUMP_UP" }, { STATE_CHANGE_TYPE.SCT_AI_JUMP_DIR, "MUSHROOM_WOODEN_NO_ATTACK_JUMP_UP_DIR" }, { STATE_CHANGE_TYPE.SCT_AI_DOWN, "MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN" }, { STATE_CHANGE_TYPE.SCT_AI_DOWN_DIR, "MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN_DIR" } }, CT_MUSHROOM_WOODEN_NO_ATTACK_ATTACK = { EVENT_INTERVAL_ID = 0, DISTANCE_TO_TARGET_NEAR = 150, RATE = 50 }, TALK_BOX = { EVENT_INTERVAL_ID = 0, {RATE = 7, MESSAGE = STR_ID_2570} } } MUSHROOM_WOODEN_NO_ATTACK_WALK = { ANIM_NAME = "Walk", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_LOOP, TRANSITION = TRUE, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, ALLOW_DIR_CHANGE = TRUE,

IMMADIATE_PACKET_SEND = TRUE, EVENT_INTERVAL_TIME0 = 2, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_FOOT_ON_LINE_FALSE_DOWN, "MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN_DIR" }, { STATE_CHANGE_TYPE.SCT_AI_WAIT, "MUSHROOM_WOODEN_NO_ATTACK_WAIT" }, { STATE_CHANGE_TYPE.SCT_AI_JUMP, "MUSHROOM_WOODEN_NO_ATTACK_JUMP_UP" }, { STATE_CHANGE_TYPE.SCT_AI_JUMP_DIR, "MUSHROOM_WOODEN_NO_ATTACK_JUMP_UP_DIR" }, { STATE_CHANGE_TYPE.SCT_AI_DOWN, "MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN" }, { STATE_CHANGE_TYPE.SCT_AI_DOWN_DIR, "MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN_DIR" } }, CT_MUSHROOM_WOODEN_NO_ATTACK_ATTACK = { EVENT_INTERVAL_ID = 0, DISTANCE_TO_TARGET_NEAR = 150, RATE = 60 }, TALK_BOX = { EVENT_INTERVAL_ID = 0, {RATE = 7, MESSAGE = STR_ID_2579} } } MUSHROOM_WOODEN_NO_ATTACK_JUMP_UP = { ANIM_NAME = "JumpUp", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_LOOP, TRANSITION = TRUE, LAND_CONNECT = FALSE, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, SPEED_X = 0, SPEED_Y = INIT_PHYSIC.JUMP_SPEED, ADD_POS_Y = 45, IMMADIATE_PACKET_SEND = TRUE, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_NEGATIVE_Y_SPEED, "MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN" } } } MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN = {

ANIM_NAME = "JumpDown", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_LOOP, TRANSITION = TRUE, LAND_CONNECT = FALSE, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, IMMADIATE_PACKET_SEND = TRUE, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_FOOT_ON_LINE_TRUE, "MUSHROOM_WOODEN_NO_ATTACK_JUMP_LANDING" } } } MUSHROOM_WOODEN_NO_ATTACK_JUMP_UP_DIR = { ANIM_NAME = "JumpUp", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_LOOP, TRANSITION = TRUE, LAND_CONNECT = FALSE, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, PASSIVE_SPEED_X = INIT_PHYSIC.WALK_SPEED, SPEED_Y = INIT_PHYSIC.JUMP_SPEED, ADD_POS_Y = 45, IMMADIATE_PACKET_SEND = TRUE, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_NEGATIVE_Y_SPEED, "MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN_DIR" } } } MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN_DIR = { ANIM_NAME = "JumpDown", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_LOOP, TRANSITION = TRUE, LAND_CONNECT = FALSE, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, PASSIVE_SPEED_X = INIT_PHYSIC.WALK_SPEED, IMMADIATE_PACKET_SEND = TRUE, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_FOOT_ON_LINE_TRUE, "MUSHROOM_WOODEN_NO_ATTACK_JUMP_LANDING" } } } MUSHROOM_WOODEN_NO_ATTACK_JUMP_LANDING = { ANIM_NAME = "Wait", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_ONE_WAIT, TRANSITION = TRUE, LAND_CONNECT = FALSE, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, SPEED_X = 0, SPEED_Y = 0,

IMMADIATE_PACKET_SEND = TRUE, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_FOOT_ON_LINE_FALSE_DOWN, "MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN" }, { STATE_CHANGE_TYPE.SCT_MOTION_END, "MUSHROOM_WOODEN_NO_ATTACK_WAIT" } } } MUSHROOM_WOODEN_NO_ATTACK_ATTACK = { ANIM_NAME = "Attack", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_ONE_WAIT, TRANSITION = FALSE, LAND_CONNECT = FALSE, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, SPEED_X = 0, SPEED_Y = 0, VIEW_TARGET = TRUE, IMMADIATE_PACKET_SEND = TRUE, TALK_BOX = { {RATE = 10, MESSAGE = STR_ID_1514} }, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_FOOT_ON_LINE_FALSE_DOWN, "MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN" }, { STATE_CHANGE_TYPE.SCT_MOTION_END, "MUSHROOM_WOODEN_NO_ATTACK_WAIT" } }, ATTACK_TIME0 = {0.36, 0.78}, DAMAGE_DATA = { DAMAGE_TYPE = DAMAGE_TYPE.DT_PHYSIC, HIT_TYPE = HIT_TYPE.HT_PUNCH_HIT, REACT_TYPE = REACT_TYPE.RT_BIG_DAMAGE, DAMAGE = {PHYSIC = 1}, BACK_SPEED_X = 1000, BACK_SPEED_Y = 0, CAMERA_CRASH_GAP = 5, CAMERA_CRASH_TIME = 0.2 } } MUSHROOM_WOODEN_NO_ATTACK_DAMAGE = { ANIM_NAME = "Damage", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_ONE_WAIT, TRANSITION = FALSE, LAND_CONNECT = FALSE, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, TALK_BOX = { {RATE = 8, MESSAGE = STR_ID_2568},

{RATE = 8, MESSAGE = STR_ID_1715} }, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_MOTION_END, "MUSHROOM_WOODEN_NO_ATTACK_WAIT" } } } MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_DOWN_FRONT = { ANIM_NAME = "DamageDownFront", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_ONE_WAIT, TRANSITION = FALSE, LAND_CONNECT = FALSE, SUPER_ARMOR = TRUE, DEFENCE = { 0, 100, 70 }, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, TALK_BOX = { {RATE = 8, MESSAGE = STR_ID_1756} }, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_FOOT_ON_LINE_FALSE_DOWN, "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_FALL" }, { STATE_CHANGE_TYPE.SCT_MOTION_END, "MUSHROOM_WOODEN_NO_ATTACK_STAND_UP_FRONT" } } } MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_DOWN_BACK = { ANIM_NAME = "DamageDownBack", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_ONE_WAIT, TRANSITION = FALSE, LAND_CONNECT = FALSE, SUPER_ARMOR = TRUE, DEFENCE = { 0, 100, 70 }, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, TALK_BOX = { {RATE = 8, MESSAGE = STR_ID_1756} }, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_FOOT_ON_LINE_FALSE_DOWN, "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_FALL" },

{ STATE_CHANGE_TYPE.SCT_MOTION_END, "MUSHROOM_WOODEN_NO_ATTACK_STAND_UP_BACK" } } } MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR = { ANIM_NAME = "DamageAirSmall", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_ONE_WAIT, TRANSITION = FALSE, LAND_CONNECT = FALSE, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_FOOT_ON_LINE_TRUE, "MUSHROOM_WOODEN_NO_ATTACK_WAIT" } } } MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_DOWN = { ANIM_NAME = "DamageAirUp", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_ONE_WAIT, TRANSITION = FALSE, LAND_CONNECT = FALSE, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_FOOT_ON_LINE_TRUE, "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_DOWN_LANDING" } } } MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_UP = { ANIM_NAME = "DamageAirUp", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_ONE_WAIT, TRANSITION = FALSE, LAND_CONNECT = FALSE, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_NEGATIVE_Y_SPEED, "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_FALL" }, { STATE_CHANGE_TYPE.SCT_FOOT_ON_LINE_TRUE, "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_DOWN_LANDING" } }, TALK_BOX = { {RATE = 10, MESSAGE = STR_ID_2568} } } MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_FALL = { ANIM_NAME = "DamageAirFall",

PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_ONE_WAIT, TRANSITION = FALSE, LAND_CONNECT = FALSE, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_POSITIVE_Y_SPEED, "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_UP" }, { STATE_CHANGE_TYPE.SCT_FOOT_ON_LINE_TRUE, "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_DOWN_LANDING" } } } MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_DOWN_LANDING = { ANIM_NAME = "DamageAirDownLanding", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_ONE_WAIT, TRANSITION = FALSE, LAND_CONNECT = FALSE, SUPER_ARMOR = TRUE, DEFENCE = { 0, 100, 70 }, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_FOOT_ON_LINE_FALSE_DOWN, "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_FALL" }, { STATE_CHANGE_TYPE.SCT_MOTION_END, "MUSHROOM_WOODEN_NO_ATTACK_STAND_UP_FRONT" } } } MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_FLY_FRONT = { ANIM_NAME = "DamageAirFall", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_ONE_WAIT, TRANSITION = FALSE, LAND_CONNECT = FALSE, ADD_ROTATE_Z = -45, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_FOOT_ON_LINE_TRUE, "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_DOWN_LANDING" } } } MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_FLY_BACK = { ANIM_NAME = "DamageAirBack",

PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_ONE_WAIT, TRANSITION = FALSE, LAND_CONNECT = FALSE, ADD_ROTATE_Z = -90, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_FOOT_ON_LINE_TRUE, "MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_DOWN_BACK" } } } MUSHROOM_WOODEN_NO_ATTACK_STAND_UP_FRONT = { ANIM_NAME = "DamageStandupFront", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_ONE_WAIT, TRANSITION = FALSE, LAND_CONNECT = FALSE, SUPER_ARMOR = TRUE, DEFENCE = { 0, 100, 70 }, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_FOOT_ON_LINE_FALSE_DOWN, "MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN" }, { STATE_CHANGE_TYPE.SCT_MOTION_END, "MUSHROOM_WOODEN_NO_ATTACK_WAIT" } } } MUSHROOM_WOODEN_NO_ATTACK_STAND_UP_BACK = { ANIM_NAME = "DamageStandupBack", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_ONE_WAIT, TRANSITION = FALSE, LAND_CONNECT = FALSE, SUPER_ARMOR = TRUE, DEFENCE = { 0, 100, 70 }, CAN_PUSH_UNIT = TRUE, CAN_PASS_UNIT = FALSE, EVENT_PROCESS = { { STATE_CHANGE_TYPE.SCT_FOOT_ON_LINE_FALSE_DOWN, "MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN" }, { STATE_CHANGE_TYPE.SCT_MOTION_END,

"MUSHROOM_WOODEN_NO_ATTACK_WAIT" } } } MUSHROOM_WOODEN_NO_ATTACK_DYING_LAND_FRONT = { ANIM_NAME = "DamageDownFront", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_ONE_WAIT, TRANSITION = FALSE, LAND_CONNECT = FALSE, INVINCIBLE = {0, 100}, CAN_PUSH_UNIT = FALSE, CAN_PASS_UNIT = TRUE, DYING_END = TRUE, IMMADIATE_PACKET_SEND = TRUE } MUSHROOM_WOODEN_NO_ATTACK_DYING_LAND_BACK = { ANIM_NAME = "DamageDownBack", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_ONE_WAIT, TRANSITION = FALSE, LAND_CONNECT = FALSE, INVINCIBLE = {0, 100}, CAN_PUSH_UNIT = FALSE, CAN_PASS_UNIT = TRUE, DYING_END = TRUE, IMMADIATE_PACKET_SEND = TRUE } MUSHROOM_WOODEN_NO_ATTACK_DYING_SKY = { ANIM_NAME = "DamageAirDownLanding", PLAY_TYPE = XSKIN_ANIM_PLAYTYPE.XAP_ONE_WAIT, TRANSITION = FALSE, LAND_CONNECT = FALSE, INVINCIBLE = {0, 100}, CAN_PUSH_UNIT = FALSE, CAN_PASS_UNIT = TRUE, DYING_END = TRUE, IMMADIATE_PACKET_SEND = TRUE } function MUSHROOM_WOODEN_NO_ATTACK_WALK_STATE_END(pKTDXApp, pX2Game, pNPCUnit) pMinorParticle = pX2Game:GetMinorParticle() pNPCUnit:SetNowHP_LUA(0) pMinorParticle:CreateSequence_LUA("StepSmoke", pNPCUnit:GetLandPosition_LUA(), D3DXVECTOR2(100, 100), D3DXVECTOR2(5, -1)) end function MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN_STATE_END(pKTDXApp, pX2Game, pNPCUnit) pMinorParticle = pX2Game:GetMinorParticle() pMinorParticle:CreateSequence_LUA("StepSmoke", pNPCUnit:GetLandPosition_LUA(), D3DXVECTOR2(100, 100), D3DXVECTOR2(5, -1)) end function MUSHROOM_WOODEN_NO_ATTACK_JUMP_DOWN_DIR_STATE_END(pKTDXApp, pX2Game, pNPCUnit) pMinorParticle = pX2Game:GetMinorParticle() pMinorParticle:CreateSequence_LUA("StepSmoke", pNPCUnit:GetLandPosition_LUA(), D3DXVECTOR2(100, 100), D3DXVECTOR2(5, -1)) end

function MUSHROOM_WOODEN_NO_ATTACK_WALK_FRAME_MOVE(pKTDXApp, pX2Game, pNPCUnit) nowAnimTime = pNPCUnit:GetNowAnimationTime() pNPCUnit:SetNowHP_LUA(0) if nowAnimTime < 0.13 then pNPCUnit:SetSpeedX(0) elseif nowAnimTime > 0.45 then pNPCUnit:SetSpeedX(0) end if nowAnimTime > 0.13 and nowAnimTime < 0.14 then pNPCUnit:SetSpeedX(pNPCUnit:GetWalkSpeed()) end end function MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_FRAME_MOVE(pKTDXApp, pX2Game, pNPCUnit) if pNPCUnit:AnimEventTimer_LUA(0.047) then pMinorParticle = pX2Game:GetMinorParticle() pMinorParticle:CreateSequence_LUA("StepSmoke", pNPCUnit:GetLandPosition_LUA(), D3DXVECTOR2(100, 100), D3DXVECTOR2(5, -1)) end end function MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_DOWN_FRONT_FRAME_MOVE(pKTDXApp, pX2Game, pNPCUnit) if pNPCUnit:AnimEventTimer_LUA(0.3) then pNPCUnit:PlaySound_LUA("Down.wav") pMinorParticle = pX2Game:GetMinorParticle() pMinorParticle:CreateSequence_LUA("DownSmoke", pNPCUnit:GetLandPosition_LUA(), D3DXVECTOR2(100, 100), D3DXVECTOR2(7, -1)) end end function MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_DOWN_BACK_FRAME_MOVE(pKTDXApp, pX2Game, pNPCUnit) if pNPCUnit:AnimEventTimer_LUA(0.2) then pNPCUnit:PlaySound_LUA("Down.wav") pMinorParticle = pX2Game:GetMinorParticle() pMinorParticle:CreateSequence_LUA("DownSmoke", pNPCUnit:GetLandPosition_LUA(), D3DXVECTOR2(100, 100), D3DXVECTOR2(7, -1)) end end function MUSHROOM_WOODEN_NO_ATTACK_DAMAGE_AIR_DOWN_LANDING_FRAME_MOVE(pKTDXApp, pX2Game, pNPCUnit) if pNPCUnit:AnimEventTimer_LUA(0.01) then pNPCUnit:PlaySound_LUA("Down.wav") pMinorParticle = pX2Game:GetMinorParticle() pos = pNPCUnit:GetLandPosition_LUA() pMinorParticle:CreateSequence_LUA("DownSmoke", pos, D3DXVECTOR2(100, 100), D3DXVECTOR2(7, -1)) pos.y = pos.y + 5 pMinorParticle:CreateSequence_LUA("GroundShockWave", pos, D3DXVECTOR2(100, 100), D3DXVECTOR2(1, -1)) pParticle = pMinorParticle:CreateSequence_LUA("AirDownTick", pNPCUnit:GetPos(), D3DXVECTOR2(200, 200), D3DXVECTOR2(10, -1)) if pParticle ~= nil then pParticle:SetLandPosition(pos.y - 5) end

if GetDistance_LUA(pNPCUnit:GetPos(), pX2Game:GetFocusUnitPos_LUA()) < 500 then pX2Game:GetX2Camera():GetCamera():UpDownCrashCameraNoReset(10, 0.1) end elseif pNPCUnit:AnimEventTimer_LUA(0.44) then pNPCUnit:PlaySound_LUA("Down.wav") pMinorParticle = pX2Game:GetMinorParticle() pMinorParticle:CreateSequence_LUA("DownSmoke", pNPCUnit:GetLandPosition_LUA(), D3DXVECTOR2(100, 100), D3DXVECTOR2(7, -1)) end end function MUSHROOM_WOODEN_NO_ATTACK_DYING_LAND_STATE_START(pKTDXApp, pX2Game, pNPCUnit) pos = pNPCUnit:GetPos() pos.y = pos.y + 100 GetMinorParticle = pX2Game:GetMinorParticle() pSeq = GetMinorParticle:CreateSequence_LUA("DieLight", pos, D3DXVECTOR2(-1, -1), D3DXVECTOR2(3, -1)) if pSeq ~= nil then pSeq:SetLandPosition(pNPCUnit:GetLandPosition_LUA().y) pNPCUnit:SetDieSeq(pSeq:GetHandle()) end pNPCUnit:PlaySound_LUA("DieLight.wav") end

~paste this codes inside your Data037 Lua's content This codes is mushroom monster with self-dying copied from monster with self-dying.

Sample Monster of self-killing:

Trap_Column.lua - It's a column from Feita, it crashes into pieces when you are near it. Ice_Rock.lua - It is a rock from Hamel. It will fall down and destroy itself if you are near it. Altera_Mine.lua - A mine that explodes after you step on it.

* you can create your own monster just replace them in what you want NOTE: Monster replacement doesnt change the HP and Drops - only the appearance / model and the actions. * Pack the data037 and you're done.

RESERVED!~

You might also like