215 lines
5.5 KiB
Plaintext
215 lines
5.5 KiB
Plaintext
quest collect_quest_reset begin
|
|
state start begin
|
|
when login with pc.level >= 92 begin
|
|
if tostring(get_quest_state("collect_quest_lv92")) == "557528158" or
|
|
tostring(get_quest_state("collect_quest_lv94")) == "557528158" or
|
|
tostring(get_quest_state("collect_quest_lv96")) == "557528158" then
|
|
set_state( check_reset_able )
|
|
end
|
|
end
|
|
end
|
|
|
|
state check_reset_able begin
|
|
when 20091.chat."보상을 다시 받고 싶다고?!" begin
|
|
--- l
|
|
say("백선아평")
|
|
say("지난번에 받았던 보상을 다른 것으로 바꾸고 싶다고?")
|
|
say("흠....")
|
|
say("")
|
|
|
|
wait()
|
|
|
|
if get_time() < pc.getqf("duration") then
|
|
say("백선아평")
|
|
say("벌써 오다니..")
|
|
say("성격 참 급하군..")
|
|
say("아직 시간이안되었어!")
|
|
return
|
|
end
|
|
say("백선아평")
|
|
say("사실 안그래도 천옥이 필요해서")
|
|
say("자넬 다시 찾으려고 하고 있었네")
|
|
say("지난번에 구해왔던 보석 말고도")
|
|
say("천의 동굴에 가면 천옥을 구할수 있다고 하네")
|
|
say("그것을 5개만 구해다 주게나")
|
|
say("")
|
|
|
|
wait()
|
|
|
|
say("백선아평")
|
|
say("천옥을 5개 구해오면")
|
|
say("지난번에 받았던 보상중 한가지를")
|
|
say("다른 것으로 바꿔주도록 하겠네")
|
|
say("어떤가?")
|
|
say("")
|
|
|
|
local s = select("얼른 구해다 드릴께요", "생각 좀 해보구요")
|
|
|
|
if s == 1 then
|
|
say("백선아평")
|
|
say("어서 다녀오게나 기다리고 있겠네~")
|
|
say("")
|
|
|
|
set_state( find_jewel )
|
|
else
|
|
say("백선아평")
|
|
say("그러게나. 심사숙고해야 할것이야")
|
|
say("")
|
|
end
|
|
end
|
|
end
|
|
|
|
state find_jewel begin
|
|
when letter begin
|
|
send_letter("백선의 제안")
|
|
end
|
|
|
|
when button or info begin
|
|
say("")
|
|
say("승룡곡에 있는 백선아평에게")
|
|
say("천옥을 가져다 주고 보상을 바꾸자")
|
|
say("")
|
|
|
|
say_item_vnum( 30254 )
|
|
|
|
say_reward(" 현재 "..pc.getqf("collect_count").." 개를 백선에게 주었습니다")
|
|
say("")
|
|
end
|
|
|
|
when 2401.kill or 2402.kill or 2403.kill or 2404.kill begin
|
|
if number(1, 500) <= 3 then
|
|
pc.give_item2(30254, 1)
|
|
send_letter("천옥을 획득하였습니다")
|
|
end
|
|
end
|
|
|
|
when 2411.kill or 2412.kill or 2413.kill or 2414.kill begin
|
|
if number(1, 500) <= 5 then
|
|
pc.give_item2(30254, 1)
|
|
send_letter("천옥을 획득하였습니다")
|
|
end
|
|
end
|
|
|
|
when 20091.chat."천옥을 가져온겐가?" with pc.count_item(30254) > 0 begin
|
|
pc.remove_item( 30254 , 1 )
|
|
|
|
say("백선아평")
|
|
say("어디보세...")
|
|
|
|
setdelay(150)
|
|
say("..........")
|
|
resetdelay()
|
|
|
|
if number(1, 100) <= 20 then
|
|
say("이건 가짜야...")
|
|
say("다시 찾아보게나")
|
|
say("")
|
|
return
|
|
end
|
|
|
|
say("흠... 그래 이건 분명 천옥이야")
|
|
say("")
|
|
|
|
wait()
|
|
|
|
local count = pc.getqf( "collect_count" ) + 1
|
|
|
|
if count < 5 then
|
|
pc.setqf( "collect_count", count )
|
|
|
|
say("백선아평")
|
|
say("이제 " .. 5-count .. " 개만 더 구해다 주면 되네")
|
|
say("수고해주게나")
|
|
say("")
|
|
return
|
|
end
|
|
|
|
say("백선아평")
|
|
say("약속대로 자네에게 줬던 보상을 다른 것으로 바꿔 주겠네")
|
|
say("")
|
|
|
|
local selTab = {}
|
|
local pos = 1
|
|
|
|
if tostring(get_quest_state("collect_quest_lv92")) == "557528158" then
|
|
table.insert(selTab, pos, "홍천의보석 보상")
|
|
pos = pos + 1
|
|
end
|
|
|
|
if tostring(get_quest_state("collect_quest_lv94")) == "557528158" then
|
|
table.insert(selTab, pos, "백천의보석 보상")
|
|
pos = pos + 1
|
|
end
|
|
|
|
if tostring(get_quest_state("collect_quest_lv96")) == "557528158" then
|
|
table.insert(selTab, pos, "청천의보석 보상")
|
|
pos = pos + 1
|
|
end
|
|
|
|
local s = select_table( selTab )
|
|
|
|
if selTab[s] == "lv92 홍천의보석 보상" then
|
|
affect.remove_collect(1, 1000)
|
|
affect.remove_collect(apply.DEF_GRADE_BONUS, 120)
|
|
affect.remove_collect(apply.ATT_GRADE_BONUS, 51)
|
|
|
|
s = select("체력 +1000", "방어력 +120", "공격력 +51")
|
|
|
|
if s == 1 then
|
|
affect.add_collect(1, 1000, 60*60*24*365*60)
|
|
pc.setf("collect_quest_lv92","reward","1")
|
|
elseif s == 2 then
|
|
affect.add_collect(apply.DEF_GRADE_BONUS, 120, 60*60*24*365*60)
|
|
pc.setf("collect_quest_lv92","reward","2")
|
|
elseif s == 3 then
|
|
affect.add_collect(apply.ATT_GRADE_BONUS, 51, 60*60*24*365*60)
|
|
pc.setf("collect_quest_lv92","reward","3")
|
|
end
|
|
elseif selTab[s] == "lv94 백천의보석 보상" then
|
|
affect.remove_collect(1, 1100)
|
|
affect.remove_collect(apply.DEF_GRADE_BONUS, 140)
|
|
affect.remove_collect(apply.ATT_GRADE_BONUS, 60)
|
|
|
|
s = select("체력 +1100", "방어력 +140", "공격력 +60")
|
|
|
|
if s == 1 then
|
|
affect.add_collect(1, 1100, 60*60*24*365*60)
|
|
pc.setf("collect_quest_lv94","reward","1")
|
|
elseif s == 2 then
|
|
affect.add_collect(apply.DEF_GRADE_BONUS, 140, 60*60*24*365*60)
|
|
pc.setf("collect_quest_lv94","reward","2")
|
|
elseif s == 3 then
|
|
affect.add_collect(apply.ATT_GRADE_BONUS, 60, 60*60*24*365*60)
|
|
pc.setf("collect_quest_lv94","reward","3")
|
|
end
|
|
elseif selTab[s] == "lv96 청천의보석 보상" then
|
|
affect.remove_collect(1, 2000)
|
|
affect.remove_collect(apply.DEF_GRADE_BONUS, 700)
|
|
affect.remove_collect(apply.ATT_GRADE_BONUS, 300)
|
|
|
|
s = select("체력 +2000", "방어력 +700", "공격력 +300")
|
|
|
|
if s == 1 then
|
|
affect.add_collect(1, 2000, 60*60*24*365*60)
|
|
pc.setf("collect_quest_lv96","reward","1")
|
|
elseif s == 2 then
|
|
affect.add_collect(apply.DEF_GRADE_BONUS, 700, 60*60*24*365*60)
|
|
pc.setf("collect_quest_lv96","reward","2")
|
|
elseif s == 3 then
|
|
affect.add_collect(apply.ATT_GRADE_BONUS, 300, 60*60*24*365*60)
|
|
pc.setf("collect_quest_lv96","reward","3")
|
|
end
|
|
end
|
|
pc.setqf( "collect_count", 0 )
|
|
set_state( check_reset_able )
|
|
|
|
say("백선아평")
|
|
say("새로 고른 보상으로 바꿔 놓았네")
|
|
say("또 바꾸고 싶으면 일주일 후에 찾아오게나")
|
|
say("")
|
|
pc.setqf("duration", get_time()+60*60*24*7)
|
|
end
|
|
end
|
|
end
|
|
|