* Brain
* or im using .net2 framework
*
*
*
* 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} })
* 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
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 = {96, 38}, SUB_STAGE1 = {137, 38}, SUB_STAGE2 = {178, 38}, SUB_STAGE3 = {219, 38} }, STAGE1 = { SUB_STAGE0 = {281, 38} }, STAGE2 = { SUB_STAGE0 = {281, 96}, SUB_STAGE1 = {240, 96}, SUB_STAGE2 = {199, 96}, SUB_STAGE3 = {158, 96} }, STAGE3 = { SUB_STAGE0 = {96, 96} }, STAGE4 = { SUB_STAGE0 = {96, 154}, SUB_STAGE1 = {137, 154}, SUB_STAGE2 = {178, 154}, SUB_STAGE3 = {219, 154}, SUB_STAGE4 = {260, 154} }, STAGE5 = { SUB_STAGE0 = {260, 212} }, STAGE6 = { SUB_STAGE0 = { 219, 212, TRUE } } },
* now edit the STAGE0 that will port us to boss stageQuote:
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
}
},
* You'll be now teleport to STAGE6 the boss level.Quote:
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
}
},
* 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
* For EvasionQuote:
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 DefenceQuote:
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 DamageQuote:
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 DamageQuote:
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
* Just Change The Values of the Red onesQuote:
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
NOTE: Dont Exaggerate the values like 9999
Here's the Values i used
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.Quote:
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
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
* After you finish editing the NewSkillTemplet.lua copy all the content from notepad back to your Lua Editor then saveQuote:
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
}
})
* 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)
* We found the BUFF_FACTOR_ID.BFI_SI_A_ERS_SWORD_ENCHANT_5_1Quote:
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)
}
}
}
})
* 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
Quote:
BUFF_BELSSING_OF_SERAPHIM
*
* After Editing Copy all the content back to Lua Editor and save.Quote:
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)
}
},
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
Note: use "Find All in Current Document" buttonQuote:
TECH_POINT
* 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:
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
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!~