-- ******************************************************************************************* -- ****** ¶Ù´Â ¹ß¼Ò¸® & ¸ÕÁö ó¸® ************************************************************ -- ******************************************************************************************* function call_fx_ch_run_step( handle ) -- ¶Û¶§ "Ź" or "Äô" ÇÏ´Â ¹ß¼Ò¸®. ¹ü¿ë ¹ß¼Ò¸®ÀÇ °æ¿ì¿¡¸¸ µ¿ÀÛÇÔ. local FX_ID, Monster_Size FX_ID = 15004 Monster_Size = 1 local Self_Ground_Material_Type = getGroundMaterial( handle ) -- Áö¸éÀÇ ÀçÁúÀ» Àоî¿È -- 1:ÃÊ¿ø, 2:Èë, 3:ÁøÈë, 4:¸ð·¡, 5:µ¹, 6:öÆÇ, 7:¸ñÀç, 8:ÀÚ°¥, 9:ÃÊ¿ø+Èë, 10:ÃÊ¿ø+ÁøÈë, 11:Èë+ÀÚ°¥ -- ¾Æ¹ÙŸÀϰæ¿ì º¸ÇàŸÀÔÀ» 1=ÁßÇü&2Á·...À¸·Î ¼³Á¤ -- (¸ó½ºÅÍÀϰæ¿ì) º¸ÇàŸÀÔÀ» Àоî¿È -- 0:2Á·¼ÒÇü, 1:2Á·ÁßÇü, 2:2Á·´ëÇü, 3:2Á·ÃÊ´ëÇü, 4:4Á·¼ÒÇü, 5:4Á·ÁßÇü, 6:4Á·´ëÇü, 7:4Á·ÃÊ´ëÇü, 30ÀÌÈÄ ±âŸ Moving_Type = getMovingType( handle ) -- CB3¿¡¼± ¼ÒÇü »ç¿îµåµµ ¾øÀ½. ÀÏ´Ü Ãâ·Â ¾ÈÇÔ. (Â÷ÈÄ Àü¿ëÀ¸·Î ó¸®Çϰųª, ¼ÒÇü »ç¿îµå¸¦ µû·Î ¸¸µé°Å³ª...) if Moving_Type == 1 or Moving_Type == 5 then -- Ç¥ÁØ »çÀÌÁîÀÎ °æ¿ìÀÇ Ã³¸® if Self_Ground_Material_Type == 1 then -- 1:ÃÊ¿ø FX_ID = 15004 -- run_middle_grass1.wav,run_middle_grass2.wav,run_middle_grass3.wav elseif Self_Ground_Material_Type == 2 then -- 2:Èë FX_ID = 15001 -- run_middle_hard1.wav,run_middle_hard2.wav,run_middle_hard3.wav elseif Self_Ground_Material_Type == 3 then -- 3:ÁøÈë FX_ID = 15001 -- run_middle_hard1.wav,run_middle_hard2.wav,run_middle_hard3.wav elseif Self_Ground_Material_Type == 4 then -- 4:¸ð·¡ FX_ID = 15007 -- run_middle_sand1.wav,run_middle_sand2.wav,run_middle_sand3.wav elseif Self_Ground_Material_Type == 5 then -- 5:µ¹ FX_ID = 15010 -- run_middle_rock1.wav,run_middle_rock2.wav,run_middle_rock3.wav elseif Self_Ground_Material_Type == 6 then -- 6:öÆÇ FX_ID = 15013 -- run_middle_plate1.wav,run_middle_plate2.wav,run_middle_plate3.wav elseif Self_Ground_Material_Type == 7 then -- 7:¸ñÀç FX_ID = 15001 -- run_middle_hard1.wav,run_middle_hard2.wav,run_middle_hard3.wav elseif Self_Ground_Material_Type == 8 then -- 8:ÀÚ°¥ FX_ID = 15016 -- run_middle_gravel1.wav,run_middle_gravel2.wav,run_middle_gravel3.wav elseif Self_Ground_Material_Type == 9 then -- 9:ÃÊ¿ø+Èë if math.random(0,1) == 0 then -- È¥ÇÕÁö¸éÀÇ ·£´ýó¸® FX_ID = 15004 -- run_middle_grass1.wav,run_middle_grass2.wav,run_middle_grass3.wav else FX_ID = 15001 -- run_middle_hard1.wav,run_middle_hard2.wav,run_middle_hard3.wav end elseif Self_Ground_Material_Type == 10 then -- 10:ÃÊ¿ø+ÁøÈë if math.random(0,1) == 0 then -- È¥ÇÕÁö¸éÀÇ ·£´ýó¸® FX_ID = 15004 -- run_middle_grass1.wav,run_middle_grass2.wav,run_middle_grass3.wav else FX_ID = 15001 -- run_middle_hard1.wav,run_middle_hard2.wav,run_middle_hard3.wav end elseif Self_Ground_Material_Type == 11 then -- 11:Èë+ÀÚ°¥ if math.random(0,1) == 0 then -- È¥ÇÕÁö¸éÀÇ ·£´ýó¸® FX_ID = 15001 -- run_middle_hard1.wav,run_middle_hard2.wav,run_middle_hard3.wav else FX_ID = 15016 -- run_middle_gravel1.wav,run_middle_gravel2.wav,run_middle_gravel3.wav end end end if Moving_Type == 2 or Moving_Type == 6 then -- Á» ¹«°Å¿î »çÀÌÁîÀÎ °æ¿ìÀÇ Ã³¸® if Self_Ground_Material_Type == 1 then -- 1:ÃÊ¿ø FX_ID = 15004 -- run_middle_grass1.wav,run_middle_grass2.wav,run_middle_grass3.wav elseif Self_Ground_Material_Type == 2 then -- 2:Èë FX_ID = 15019 -- run_heavy_hard1.wav,run_heavy_hard2.wav,run_heavy_hard3.wav elseif Self_Ground_Material_Type == 3 then -- 3:ÁøÈë FX_ID = 15019 -- run_heavy_hard1.wav,run_heavy_hard2.wav,run_heavy_hard3.wav elseif Self_Ground_Material_Type == 4 then -- 4:¸ð·¡ FX_ID = 15002 -- run_heavy_sand1.wav,run_heavy_sand2.wav,run_heavy_sand3.wav elseif Self_Ground_Material_Type == 5 then -- 5:µ¹ FX_ID = 15019 -- run_heavy_hard1.wav,run_heavy_hard2.wav,run_heavy_hard3.wav elseif Self_Ground_Material_Type == 6 then -- 6:öÆÇ FX_ID = 15025 -- run_heavy_plate1.wav,run_heavy_plate2.wav,run_heavy_plate3.wav elseif Self_Ground_Material_Type == 7 then -- 7:¸ñÀç FX_ID = 15025 -- run_heavy_plate1.wav,run_heavy_plate2.wav,run_heavy_plate3.wav elseif Self_Ground_Material_Type == 8 then -- 8:ÀÚ°¥ FX_ID = 15019 -- run_heavy_hard1.wav,run_heavy_hard2.wav,run_heavy_hard3.wav elseif Self_Ground_Material_Type == 9 then -- 9:ÃÊ¿ø+Èë if math.random(0,1) == 0 then -- È¥ÇÕÁö¸éÀÇ ·£´ýó¸® FX_ID = 15004 -- run_middle_grass1.wav,run_middle_grass2.wav,run_middle_grass3.wav else FX_ID = 15019 -- run_heavy_hard1.wav,run_heavy_hard2.wav,run_heavy_hard3.wav end elseif Self_Ground_Material_Type == 10 then -- 10:ÃÊ¿ø+ÁøÈë if math.random(0,1) == 0 then -- È¥ÇÕÁö¸éÀÇ ·£´ýó¸® FX_ID = 15004 -- run_middle_grass1.wav,run_middle_grass2.wav,run_middle_grass3.wav else FX_ID = 15019 -- run_heavy_hard1.wav,run_heavy_hard2.wav,run_heavy_hard3.wav end elseif Self_Ground_Material_Type == 11 then -- 11:Èë+ÀÚ°¥ if math.random(0,1) == 0 then -- È¥ÇÕÁö¸éÀÇ ·£´ýó¸® FX_ID = 15019 -- run_heavy_hard1.wav,run_heavy_hard2.wav,run_heavy_hard3.wav else FX_ID = 15019 -- run_heavy_hard1.wav,run_heavy_hard2.wav,run_heavy_hard3.wav end end end if Moving_Type == 3 or Moving_Type == 7 then -- ¸Å¿ì ¹«°Å¿î ÃÊ´ëÇü »çÀÌÁîÀÎ °æ¿ìÀÇ Ã³¸® (1Á¾·ùÀÇ »ç¿îµå¸¸ Á¸ÀçÇÔ) FX_ID = 15028 -- run_ultra_heavy1.wav,run_ultra_heavy2.wav,run_ultra_heavy3.wav end FX_ID = FX_ID + math.random(0,2) -- ÆÐÅÏ ´Ù¾çÈ­¸¦ À§ÇÑ ·£´ýó¸® playFX( handle, handle, handle, FX_ID, 3, 0 ) -- PlayFX(FX_ID, Àç»ý´ë»ó, Àç»ýÀ§Ä¡, Àç»ý½Ã°£) -- ¢º Àç»ý´ë»óÀÇ Á¾·ù -> 0:self, 1:target -- ¢º Àç»ýÀ§Ä¡ÀÇ Á¾·ù -> 0:¸Ó¸® 1:Áß¾Ó 2:µ¥¹ÌÁö 3:¹Ù´Ú 5:¿Þ¼Õ 6:¿À¸¥¼Õ 7:¾ç¼Õ -- ¢º Àç»ý½Ã°£ -> 0:¼ø°£, -1:¹«ÇÑ, 0Ãʰú:ÁöÁ¤½Ã°£(ÃÊ) end -- ******************************************************************************************* -- ****** °È´Â ¹ß¼Ò¸® & ¸ÕÁö ó¸® ************************************************************ -- ******************************************************************************************* function call_fx_ch_walking_step( handle ) -- °ÉÀ»¶§ "Å͹÷" ÇÏ´Â ¹ß¼Ò¸® -- 3Â÷CB¿¡¼­´Â ¶Ù´Â ¹ß¼Ò¸®¿Í ¶È°°ÀÌ Ã³¸®ÇÑ´Ù. call_fx_ch_run_step( handle ) end -- ******************************************************************************************* -- ****** ij¸¯ÅÍ »ç¸Á½Ã ¶¥¿¡ ºÎµúÄ¡´Â ¿¬Ãâ *************************************************** -- ******************************************************************************************* function call_fx_ch_death( handle ) -- ij¸¯ÅÍ »ç¸Á ¾Ö´Ï¸ÞÀ̼ǿ¡ ¶¥¹Ù´Ú¿¡ ºÎµúÄ¡´Â 󸮰¡ Á¸ÀçÇÒ¶§¸¸ Ãâ·Â -- 3Â÷CB¿¡¼­´Â »ç¿îµå ÀÇ·Ú°¡ ¾ÈµÇ¾îÀÖÀ¸¹Ç·Î... °Á ¶Ù´Â ¹ß¼Ò¸®°¡ ³ª¿À°Ô ÇÑ´Ù ( -_-) call_fx_ch_run_step( handle ) end -- ******************************************************************************************* -- ****** ¹«±â Èֵθ£´Â ¼Ò¸® ***************************************************************** -- ******************************************************************************************* function call_fx_ch_weapone_attack( attack_handle, target_handle ) -- ¹«±â¸¦ Èֵ覶§ È× ¼Ò¸®°¡ ³ª°ÔÇϴ ó¸® local FX_ID local Self_Weapone_Type = getItemClass( attack_handle ) -- Self_Weapone_Type : °ø°ÝÀÚÀÇ ¹«±â Á¾·ù ±×·ìID -- 100:±âŸ¹«±â, 101:ÇѼհË, 102:¾ç¼Õ°Ë, 103:´Ü°Ë, 104:¾ç¼Õâ, 105:¾ç¼Õµµ³¢, 106:ÇѼոÞÀ̽º, 107:¾ç¼Õ¸ÞÀ̽º -- 108:¶óÀÌÆ®º¸¿ì, 109:Çìºñº¸¿ì, 110:¼®±Ã, 111:ÇѼÕÁöÆÎÀÌ, 112:¾ç¼ÕÁöÆÎÀÌ if Self_Weapone_Type == 101 then -- ÇÑ¼Õ°Ë FX_ID = 16001 -- attack_sword_swing1.wav,attack_sword_swing2.wav elseif Self_Weapone_Type == 102 then -- ¾ç¼Õ°Ë FX_ID = 16003 -- attack_twohandsword_swing1.wav,attack_twohandsword_swing2.wav elseif Self_Weapone_Type == 103 then -- ´Ü°Ë FX_ID = 16005 -- attack_dagger_swing1.wav,attack_dagger_swing2.wav elseif Self_Weapone_Type == 104 then -- ¾ç¼Õâ FX_ID = 16007 -- attack_twohandspear_swing1.wav,attack_twohandspear_swing2.wav elseif Self_Weapone_Type == 105 then -- ¾ç¼Õµµ³¢ FX_ID = 16009 -- attack_twohandaxe_swing1.wav,attack_twohandaxe_swing2.wav elseif Self_Weapone_Type == 106 then -- ÇѼոÞÀ̽º FX_ID = 16011 -- attack_mace_swing1.wav,attack_mace_swing2.wav elseif Self_Weapone_Type == 107 then -- ¾ç¼Õ¸ÞÀ̽º FX_ID = 16013 -- attack_twohandmace_swing1.wav,attack_twohandmace_swing2.wav elseif Self_Weapone_Type >= 111 then -- ÇѼÕ, ¾ç¼ÕÁöÆÎÀÌ FX_ID = 16015 -- attack_staff_swing1.wav,attack_staff_swing2.wav end FX_ID = FX_ID + math.random(0,1) -- ÆÐÅÏ ´Ù¾çÈ­¸¦ À§ÇÑ ·£´ýó¸® playFX( attack_handle, attack_handle, target_handle, FX_ID, 1, 0 ) -- PlayFX(FX_ID, Àç»ý´ë»ó, Àç»ýÀ§Ä¡, Àç»ý½Ã°£) -- ¢º Àç»ý´ë»óÀÇ Á¾·ù -> 0:self, 1:target -- ¢º Àç»ýÀ§Ä¡ÀÇ Á¾·ù -> 0:¸Ó¸® 1:Áß¾Ó 2:µ¥¹ÌÁö 3:¹Ù´Ú 5:¿Þ¼Õ 6:¿À¸¥¼Õ 7:¾ç¼Õ -- ¢º Àç»ý½Ã°£ -> 0:¼ø°£, -1:¹«ÇÑ, 0Ãʰú:ÁöÁ¤½Ã°£(ÃÊ) end -- ******************************************************************************************* -- ****** µ¥¹ÌÁö È÷Æ® ¿¬Ãâ ******************************************************************* -- ******************************************************************************************* function avatar_basic_hit( attack_handle, target_handle, critical, block ) -- Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÒ¶§, Å©¸®Æ¼Äà ¿©ºÎ¿Í ºí·¯Å· ¿©ºÎ¸¦ ¾Ë·ÁÁà¾ßÇÑ´Ù. -- critical : Å©¸®Æ¼Äà ¹ß»ý ¿©ºÎ. (0:Å©¸®¾Æ´Ô, 1:Å©¸®) -- block : ºí·¯Å· ¹ß»ý ¿©ºÎ. (0:ºí·°¾Æ´Ô, 1:ºí·°, 2:ÆÛÆåÆ®ºí·°) local FX_ID = 0; local Self_Weapone_Type = getItemClass( attack_handle ) -- °ø°ÝÀÚÀÇ ¹«±â Á¾·ù ±×·ìID¸¦ ºÒ·¯¿È -- 100:±âŸ¹«±â, 101:ÇѼհË, 102:¾ç¼Õ°Ë, 103:´Ü°Ë, 104:¾ç¼Õâ, 105:¾ç¼Õµµ³¢, 106:ÇѼոÞÀ̽º, 107:¾ç¼Õ¸ÞÀ̽º -- 108:¶óÀÌÆ®º¸¿ì, 109:Çìºñº¸¿ì, 110:¼®±Ã, 111:ÇѼÕÁöÆÎÀÌ, 112:¾ç¼ÕÁöÆÎÀÌ local Target_Body_Material_Type = getMaterial( target_handle ) -- ÇǰÝÀÚ ¸öüÀÇ ÀçÁúÀ» ºÒ·¯¿È -> 0:ÇǺÎ, 1:°¡Á×, 2:³ª¹«, 3:±Ý¼Ó, 4:±êÅÐ, 5:µ¹, 6:»À, 99:±âŸ if Self_Weapone_Type >= 101 and Self_Weapone_Type <= 103 then -- ÇѼհË, ¾ç¼Õ°Ë, ´Ü°Ë if Target_Body_Material_Type == 0 then -- ÇǺÎÀçÁú FX_ID = 17013 -- beattack_sword_to_softskin1.wav,beattack_sword_to_softskin2.wav,beattack_sword_to_softskin3.wav,beattack_sword_to_softskin_critical.wav elseif Target_Body_Material_Type == 1 or Target_Body_Material_Type > 6 then -- °¡Á×ÀçÁú & ±âŸÀçÁú FX_ID = 17013 -- beattack_sword_to_softskin1.wav,beattack_sword_to_softskin2.wav,beattack_sword_to_softskin3.wav,beattack_sword_to_softskin_critical.wav elseif Target_Body_Material_Type == 2 then -- ³ª¹«ÀçÁú FX_ID = 17005 -- beattack_sword_to_hardskin1.wav,beattack_sword_to_hardskin2.wav,beattack_sword_to_hardskin3.wav,beattack_sword_to_hardskin_critical.wav elseif Target_Body_Material_Type == 3 then -- ±Ý¼ÓÀçÁú FX_ID = 17001 -- beattack_sword_to_steelskin1.wav,beattack_sword_to_steelskin2.wav,beattack_sword_to_steelskin3.wav,beattack_sword_to_steelskin_critical.wav elseif Target_Body_Material_Type == 4 then -- ±êÅÐÀçÁú FX_ID = 17017 -- beattack_sword_to_featherskin1.wav,beattack_sword_to_featherskin2.wav,beattack_sword_to_featherskin3.wav,beattack_sword_to_featherskin_critical.wav elseif Target_Body_Material_Type == 5 then -- µ¹ÀçÁú FX_ID = 17009 -- beattack_sword_to_stoneskin1.wav,beattack_sword_to_stoneskin2.wav,beattack_sword_to_stoneskin3.wav,beattack_sword_to_stoneskin_critical.wav elseif Target_Body_Material_Type == 6 then -- »ÀÀçÁú FX_ID = 17021 -- beattack_sword_to_bone1.wav,beattack_sword_to_bone2.wav,beattack_sword_to_bone3.wav,beattack_sword_to_bone_critical.wav end elseif Self_Weapone_Type >= 111 then -- ÇѼÕ, ¾ç¼ÕÁöÆÎÀÌ FX_ID = 000 -- ÁöÆÎÀ¸·Î ¶Ñµî±â´Â ¼Ò¸®´Â ÇѰ¡Áö»Ó. else -- ³ª¸ÓÁö´Â µÐ±â°è¿­ & È­»ì°è¿­·Î °£ÁÖÇÔ if Target_Body_Material_Type == 0 then -- ÇǺÎÀçÁú FX_ID = 17037 -- beattack_blunt_to_softskin1.wav,beattack_blunt_to_softskin2.wav,beattack_blunt_to_softskin3.wav,beattack_blunt_to_softskin_critical.wav elseif Target_Body_Material_Type == 1 or Target_Body_Material_Type > 6 then -- °¡Á×ÀçÁú & ±âŸÀçÁú FX_ID = 17037 -- beattack_blunt_to_softskin1.wav,beattack_blunt_to_softskin2.wav,beattack_blunt_to_softskin3.wav,beattack_blunt_to_softskin_critical.wav elseif Target_Body_Material_Type == 2 then -- ³ª¹«ÀçÁú FX_ID = 17029 -- beattack_blunt_to_hardskin1.wav,beattack_blunt_to_hardskin2.wav,beattack_blunt_to_hardskin3.wav,beattack_blunt_to_hardskin_critical.wav elseif Target_Body_Material_Type == 3 then -- ±Ý¼ÓÀçÁú FX_ID = 17025 -- beattack_blunt_to_steelskin1.wav,beattack_blunt_to_steelskin2.wav,beattack_blunt_to_steelskin3.wav,beattack_blunt_to_steelskin_critical.wav elseif Target_Body_Material_Type == 4 then -- ±êÅÐÀçÁú FX_ID = 17041 -- beattack_blunt_to_featherskin1.wav,beattack_blunt_to_featherskin2.wav,beattack_blunt_to_featherskin3.wav,beattack_blunt_to_featherskin_critical.wav elseif Target_Body_Material_Type == 5 then -- µ¹ÀçÁú FX_ID = 17033 -- beattack_blunt_to_stoneskin1.wav,beattack_blunt_to_stoneskin2.wav,beattack_blunt_to_stoneskin3.wav,beattack_blunt_to_stoneskin_critical.wav elseif Target_Body_Material_Type == 6 then -- »ÀÀçÁú FX_ID = 17045 -- beattack_blunt_to_bone1.wav,beattack_blunt_to_bone2.wav,beattack_blunt_to_bone3.wav,beattack_blunt_to_bone_critical.wav end end if critical == 1 then FX_ID = FX_ID + 3 -- Å©¸®Æ¼Äà ó¸® elseif block >= 1 then FX_ID = FX_ID + math.random(0,2) -- ºí·°Ã³¸®... 3Â÷CB¿¡´Â »ç¿îµå°¡ ¾øÀ¸¹Ç·Î ±×³É ÀϹÝÈ÷Æ®¿Í µ¿ÀÏÇÏ°Ô Ã³¸®ÇÔ else FX_ID = FX_ID + math.random(0,2) -- ÆÐÅÏ ´Ù¾çÈ­¸¦ À§ÇÑ ·£´ýó¸® end --_ALERT( FX_ID ) playFX( target_handle, attack_handle, target_handle, FX_ID, 2, 0 ) -- PlayFX(FX_ID, Àç»ý´ë»ó, Àç»ýÀ§Ä¡, Àç»ý½Ã°£) -- ¢º Àç»ý´ë»óÀÇ Á¾·ù -> 0:self, 1:target -- ¢º Àç»ýÀ§Ä¡ÀÇ Á¾·ù -> 0:¸Ó¸® 1:Áß¾Ó 2:µ¥¹ÌÁö 3:¹Ù´Ú 5:¿Þ¼Õ 6:¿À¸¥¼Õ 7:¾ç¼Õ -- ¢º Àç»ý½Ã°£ -> 0:¼ø°£, -1:¹«ÇÑ, 0Ãʰú:ÁöÁ¤½Ã°£(ÃÊ) end