Script:
function get_module_name()
return "on_player_dead"
end
function on_player_dead( name, lost_exp, drop_item_name )
local level
level = get_value( "level" )
-- 5·¹º§ ÀÌ»óÀÌ¸é °æÇèÄ¡ Ç϶ô ó¸®
if level > 5 then
--##½ÃÀÛ
message(sconv("@90019004", "#@lost_exp@#",tostring(lost_exp)))
--##³¡ ÀüÅõºÒ´ÉÀ¸·Î ÀÎÇØ #@lost_exp@# EXP¸¦ ÀÒ¾ú½À´Ï´Ù.
else
--##½ÃÀÛ
message("@90019005")
end
save()
end
-- revive_type °ª¿¡ µû¸¥ ºÎÈ° À¯Çü
-- 0: ±×³É Çʵ忡¼* Á×¾î¼* ÀÏ¹İ ºÎÈ°
-- 1: ´ë·Ã Àå¿¡¼* ´ë·Ã Áß »ç¸Á¿¡ ´ëÇÑ ºÎÈ°(±âÁ¸ ´ë·Ã ½Ã½ºÅÛ)
-- 2: 1:1 PVP °ü·Ã ½Å±Ô ´ë·Ã ½Ã½ºÅÛ¿¡ ÀÇÇÑ ´ë·Ã Áß »ç¸Á¿¡ ºÎÈ°
-- 3: ´øÀü ½ÃÁî Áß »ç¸Á¿¡ ´ëÇÑ ºÎÈ°
function revive_in_town( revive_type )
-- ¼ö·ÃÀÚ ¼¶¿¡ ÀÖ´Â ¿ÀÅäµéÀº º»Åä·Î ³¯·Á ¹ö¸®ÀÚ
local current_x = gv("x")
local current_y = gv("y")
local is_training_camp = false
local race = get_value( "race" )
if current_x >= 161280 and current_x <= 177408 then
if current_y >= 48384 and current_y <= 64512 then
is_training_camp = true
end -- if current_y >= 48384 and current_y <= 64512 then
end -- if current_x >= 161280 and current_x <= 177408 then
if is_training_camp then
local is_auto, quest_count
quest_count, is_auto = anti_auto_quest_check()
if is_auto then
if race == 4 then
RunTeleport_Auto_TO_City( 6625 , 6980 )
elseif race == 5 then
RunTeleport_Auto_TO_City( 116799 , 58205 )
else
RunTeleport_Auto_TO_City( 153506 , 77175 )
end
else
warp_to_revive_position()
end -- if is_auto then
else
-- ¼ö·ÃÀÚÀÇ ¼¶ÀÌ ¾Æ´Ï¶ó¸é ¼³Á¤µÈ Áö¿ªÀ¸·Î ³¯·ÁÁÜ.
warp_to_revive_position()
end
-- ¿ÀÅä·Î ¼¼ÆÃµÈ Ä³¸¯ÅͶó¸é Àú ¸Ö¸® ³¯·Á ¹ö¸®ÀÚ~
kick_auto_to_another_world()
-- ºÎÈ° ÇÒ ¶§ÀÇ È¸º¹ HP¸¦ Á¤ÇÏ´Â Á¶°Ç ¹® °ª¿¡ ´ëÇÑ °ÍÀº »ó´Ü¿¡ ÁÖ¼®À¸·Î ³ª¿Í ÀÖ´Ù.
if revive_type == 0 then
set_value( "hp" , get_value( "max_hp" ) )
add_state(164407,500,8640000) -- Halisha +1000
add_state(1013,83,8640000) -- Mov Spd +250%
add_state(1012,150,8640000) -- Cast Spd +150%
add_state(1011,150,8640000) -- Atk Spd +150%
add_state(1018,100,8640000) -- Crit Ratio 100%
add_state(1007,150,8640000) -- PAtk +450%
add_state(1008,150,8640000) -- MAtk +450%
add_state(4065,23,8640000) -- HP Regen 10,000/5sec
add_state(4016,34,8640000) -- MP Regen 1000/5sec
else
if gv("permission") == 1 then
add_state(164407,125,8640000) -- Halisha +250
add_state(1013,50,8640000) -- Mov Spd +150%
add_state(1018,70,8640000) -- Crit Ratio +70%
add_state(4065,11,8640000) -- HP Regen 5000/5sec
add_state(4016,34,8640000) -- MP Regen 1000/5sec
elseif gv("permission") == 0 then
if gv("lv") < 20 then
add_state(1001,15,8640000) -- Max HP +50%
add_state(1002,15,8640000) -- Max MP +50%
add_state(1007,10,8640000) -- PAtk +30%
add_state(1008,10,8640000) -- MAtk +30%
add_state(1009,10,8640000) -- PDef +30%
add_state(1013,33,8640000) -- Mov Spd +99%
elseif gv("lv") > 19 and gv("lv") < 50 then
add_state(164407,10,8640000) -- Halisha + 20
add_state(1018,15,8640000) -- Crit Ratio +15%
add_state(1013,5,8640000) -- Mov Spd +15%
elseif gv("lv") > 49 and gv("lv") < 80 then
add_state(164407,15,8640000) -- Halisha + 30
add_state(1018,20,8640000) -- Crit Ratio +20%
add_state(1013,5,8640000) -- Mov Spd +15%
elseif gv("lv") > 79 and gv("lv") < 100 then
add_state(164407,20,8640000) -- Halisha + 40
add_state(1018,25,8640000) -- Crit Ratio +25%
add_state(1013,6,8640000) -- Mov Spd +18%
elseif gv("lv") > 99 and gv("lv") < 120 then
add_state(164407,25,8640000) -- Halisha + 50
add_state(1018,30,8640000) -- Crit Ratio +30%
add_state(1013,7,8640000) -- Mov Spd +21%
elseif gv("lv") > 119 and gv("lv") < 155 then
add_state(164407,30,8640000) -- Halisha + 60
add_state(1018,35,8640000) -- Crit Ratio +35%
add_state(1013,8,8640000) -- Mov Spd +24%
elseif gv("lv") > 154 and gv("lv") < 170 then
add_state(164407,35,8640000) -- Halisha + 70
add_state(1018,40,8640000) -- Crit Ratio +40%
add_state(1013,9,8640000) -- Mov Spd +27%
elseif gv("lv") > 170 then
add_state(164407,50,8640000) -- Halisha + 100
add_state(1018,50,8640000) -- Crit Ratio +50%
add_state(1013,10,8640000) -- Mov Spd +30%
end
end
end
-- ÀÏ¹İ Çʵ忡¼* ¸ó½ºÅÍ¿¡°Ô Á×¾î¼* ¸¶À»·Î º¹±ÍÇؼ* ºÎÈ° 100%ȸº¹
elseif revive_type == 1 then
set_value( "hp" , get_value( "max_hp" ) * 0.1 ) -- ´ë·ÃÀå¿¡¼* ´ë·Ã ÈÄ Á¦ÀÚ¸® ºÎÈ° ¼±Åà ½Ã HP 10% ¸¸ ȸº¹.
elseif revive_type == 2 then
set_value( "hp" , get_value( "max_hp" ) * 0.1 ) -- 1:1 PVP ´ë·Ã ÈÄ Á¦ÀÚ¸® ºÎÈ° ¼±Åà ½Ã HP 10% ¸¸ ȸº¹.
elseif revive_type == 3 then
set_value( "hp" , get_value( "max_hp" ) * 0.1 ) -- ´øÀü ½ÃÁî Áß »ç¸Á ÈÄ ºÎÈ° ½Ã °¡Àå °¡±î¿î ¼ÒÀ¯ÀÇ Àü·« °ÅÁ¡¿¡¼* HP 10%¸¸ ȸº¹Çؼ* ºÎÈ°ÇÑ´Ù.
else
set_value( "hp" , get_value( "max_hp" ) ) -- ÀÏ¹İ »ç¸Á ÈÄ ºÎÈ° ¼±Åà ½Ã HP MAX ·Î ȸº¹.
end
return
end
return "on_player_dead"
end
function on_player_dead( name, lost_exp, drop_item_name )
local level
level = get_value( "level" )
-- 5·¹º§ ÀÌ»óÀÌ¸é °æÇèÄ¡ Ç϶ô ó¸®
if level > 5 then
--##½ÃÀÛ
message(sconv("@90019004", "#@lost_exp@#",tostring(lost_exp)))
--##³¡ ÀüÅõºÒ´ÉÀ¸·Î ÀÎÇØ #@lost_exp@# EXP¸¦ ÀÒ¾ú½À´Ï´Ù.
else
--##½ÃÀÛ
message("@90019005")
end
save()
end
-- revive_type °ª¿¡ µû¸¥ ºÎÈ° À¯Çü
-- 0: ±×³É Çʵ忡¼* Á×¾î¼* ÀÏ¹İ ºÎÈ°
-- 1: ´ë·Ã Àå¿¡¼* ´ë·Ã Áß »ç¸Á¿¡ ´ëÇÑ ºÎÈ°(±âÁ¸ ´ë·Ã ½Ã½ºÅÛ)
-- 2: 1:1 PVP °ü·Ã ½Å±Ô ´ë·Ã ½Ã½ºÅÛ¿¡ ÀÇÇÑ ´ë·Ã Áß »ç¸Á¿¡ ºÎÈ°
-- 3: ´øÀü ½ÃÁî Áß »ç¸Á¿¡ ´ëÇÑ ºÎÈ°
function revive_in_town( revive_type )
-- ¼ö·ÃÀÚ ¼¶¿¡ ÀÖ´Â ¿ÀÅäµéÀº º»Åä·Î ³¯·Á ¹ö¸®ÀÚ
local current_x = gv("x")
local current_y = gv("y")
local is_training_camp = false
local race = get_value( "race" )
if current_x >= 161280 and current_x <= 177408 then
if current_y >= 48384 and current_y <= 64512 then
is_training_camp = true
end -- if current_y >= 48384 and current_y <= 64512 then
end -- if current_x >= 161280 and current_x <= 177408 then
if is_training_camp then
local is_auto, quest_count
quest_count, is_auto = anti_auto_quest_check()
if is_auto then
if race == 4 then
RunTeleport_Auto_TO_City( 6625 , 6980 )
elseif race == 5 then
RunTeleport_Auto_TO_City( 116799 , 58205 )
else
RunTeleport_Auto_TO_City( 153506 , 77175 )
end
else
warp_to_revive_position()
end -- if is_auto then
else
-- ¼ö·ÃÀÚÀÇ ¼¶ÀÌ ¾Æ´Ï¶ó¸é ¼³Á¤µÈ Áö¿ªÀ¸·Î ³¯·ÁÁÜ.
warp_to_revive_position()
end
-- ¿ÀÅä·Î ¼¼ÆÃµÈ Ä³¸¯ÅͶó¸é Àú ¸Ö¸® ³¯·Á ¹ö¸®ÀÚ~
kick_auto_to_another_world()
-- ºÎÈ° ÇÒ ¶§ÀÇ È¸º¹ HP¸¦ Á¤ÇÏ´Â Á¶°Ç ¹® °ª¿¡ ´ëÇÑ °ÍÀº »ó´Ü¿¡ ÁÖ¼®À¸·Î ³ª¿Í ÀÖ´Ù.
if revive_type == 0 then
set_value( "hp" , get_value( "max_hp" ) )
add_state(164407,500,8640000) -- Halisha +1000
add_state(1013,83,8640000) -- Mov Spd +250%
add_state(1012,150,8640000) -- Cast Spd +150%
add_state(1011,150,8640000) -- Atk Spd +150%
add_state(1018,100,8640000) -- Crit Ratio 100%
add_state(1007,150,8640000) -- PAtk +450%
add_state(1008,150,8640000) -- MAtk +450%
add_state(4065,23,8640000) -- HP Regen 10,000/5sec
add_state(4016,34,8640000) -- MP Regen 1000/5sec
else
if gv("permission") == 1 then
add_state(164407,125,8640000) -- Halisha +250
add_state(1013,50,8640000) -- Mov Spd +150%
add_state(1018,70,8640000) -- Crit Ratio +70%
add_state(4065,11,8640000) -- HP Regen 5000/5sec
add_state(4016,34,8640000) -- MP Regen 1000/5sec
elseif gv("permission") == 0 then
if gv("lv") < 20 then
add_state(1001,15,8640000) -- Max HP +50%
add_state(1002,15,8640000) -- Max MP +50%
add_state(1007,10,8640000) -- PAtk +30%
add_state(1008,10,8640000) -- MAtk +30%
add_state(1009,10,8640000) -- PDef +30%
add_state(1013,33,8640000) -- Mov Spd +99%
elseif gv("lv") > 19 and gv("lv") < 50 then
add_state(164407,10,8640000) -- Halisha + 20
add_state(1018,15,8640000) -- Crit Ratio +15%
add_state(1013,5,8640000) -- Mov Spd +15%
elseif gv("lv") > 49 and gv("lv") < 80 then
add_state(164407,15,8640000) -- Halisha + 30
add_state(1018,20,8640000) -- Crit Ratio +20%
add_state(1013,5,8640000) -- Mov Spd +15%
elseif gv("lv") > 79 and gv("lv") < 100 then
add_state(164407,20,8640000) -- Halisha + 40
add_state(1018,25,8640000) -- Crit Ratio +25%
add_state(1013,6,8640000) -- Mov Spd +18%
elseif gv("lv") > 99 and gv("lv") < 120 then
add_state(164407,25,8640000) -- Halisha + 50
add_state(1018,30,8640000) -- Crit Ratio +30%
add_state(1013,7,8640000) -- Mov Spd +21%
elseif gv("lv") > 119 and gv("lv") < 155 then
add_state(164407,30,8640000) -- Halisha + 60
add_state(1018,35,8640000) -- Crit Ratio +35%
add_state(1013,8,8640000) -- Mov Spd +24%
elseif gv("lv") > 154 and gv("lv") < 170 then
add_state(164407,35,8640000) -- Halisha + 70
add_state(1018,40,8640000) -- Crit Ratio +40%
add_state(1013,9,8640000) -- Mov Spd +27%
elseif gv("lv") > 170 then
add_state(164407,50,8640000) -- Halisha + 100
add_state(1018,50,8640000) -- Crit Ratio +50%
add_state(1013,10,8640000) -- Mov Spd +30%
end
end
end
-- ÀÏ¹İ Çʵ忡¼* ¸ó½ºÅÍ¿¡°Ô Á×¾î¼* ¸¶À»·Î º¹±ÍÇؼ* ºÎÈ° 100%ȸº¹
elseif revive_type == 1 then
set_value( "hp" , get_value( "max_hp" ) * 0.1 ) -- ´ë·ÃÀå¿¡¼* ´ë·Ã ÈÄ Á¦ÀÚ¸® ºÎÈ° ¼±Åà ½Ã HP 10% ¸¸ ȸº¹.
elseif revive_type == 2 then
set_value( "hp" , get_value( "max_hp" ) * 0.1 ) -- 1:1 PVP ´ë·Ã ÈÄ Á¦ÀÚ¸® ºÎÈ° ¼±Åà ½Ã HP 10% ¸¸ ȸº¹.
elseif revive_type == 3 then
set_value( "hp" , get_value( "max_hp" ) * 0.1 ) -- ´øÀü ½ÃÁî Áß »ç¸Á ÈÄ ºÎÈ° ½Ã °¡Àå °¡±î¿î ¼ÒÀ¯ÀÇ Àü·« °ÅÁ¡¿¡¼* HP 10%¸¸ ȸº¹Çؼ* ºÎÈ°ÇÑ´Ù.
else
set_value( "hp" , get_value( "max_hp" ) ) -- ÀÏ¹İ »ç¸Á ÈÄ ºÎÈ° ¼±Åà ½Ã HP MAX ·Î ȸº¹.
end
return
end