forked from metin2/server
1
0
Fork 0
server/gamefiles/locale/english/quest/xxx_collect_quest_lv90.quest

300 lines
8.1 KiB
Plaintext

----------------------------------------------------
--COLLECT QUEST_lv90
--METIN2 수집 퀘스트
----------------------------------------------------
quest collect_quest_lv90 begin
state start begin
end
state run begin
when login or levelup with pc.level >= 90 begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then
target.vid("__TARGET__", v, "채기랍")
end
send_letter("채기랍의 부탁")
end
when button or info begin
say("")
say("을두지의 제자 채기랍이")
say("당신을 또 애타게 찾고있습니다")
say("가서 무슨 일인지 알아보고 도와주시길 바랍니다.")
say("")
end
when __TARGET__.target.click or 20084.chat."내 말좀 들어주오" begin
target.delete("__TARGET__")
--- l
say("채기랍:")
say("이제까지 내 부탁을 들어주기위해")
say("험한 역경을 이겨내고 죽을고비를 넘기면서")
say("여기까지 와준 당신에게 정말로 감사하오")
say("당신같은 용사들이 있기때문에")
say("나의 연구도 거의 고지에 이른듯 하오")
say("이번 부탁은 나의 연구의 마지막이라고")
say("보면 되오")
wait()
say("채기랍")
say("이제 내가 필요한것은 영웅의 표식!")
say("내 연구의 유종의 미를 ")
say("꼭 당신이 장식해줬음 하오")
say("가짜는 받을수 없으니 이해해주길 바라오..")
say("연구에 필요한 수는 50개라오...")
say("마지막연구인 만큼 보상은 후하게 드리겠소")
say("부탁하겠소~!")
say("")
set_state(go_to_disciple)
pc.setqf("duration",0) -- 시도 할수 있는 시간
pc.setqf("collect_count",0)--이제껏 모은 아이템 수
pc.setqf("drink_drug",0) --현혹의 물약을 먹으면 1
end
end
state go_to_disciple begin
when letter begin
send_letter("채기랍의 연구")
end
when button or info begin
say_title("보스몬스터에 대해 알고싶다")
--- l
say("")
say("을두지의 제자인 채기랍은")
say("보스몬스터에 대해 조사중이다")
say("보스몬스터에게서 얻을수있는 패왕의표식을")
say("50개 구해 채기랍에게 가져다 주자")
say("")
say_item_vnum(30168)
say_reward(" 현재".." "..pc.getqf("collect_count").."개를 모았습니다")
say("")
end
when 71035.use begin --현혹의 물약
if get_time() < pc.getqf("duration") then
say("아직 물약을 쓸수 없습니다")
return
end
if pc.getqf("drink_drug")==1 then
say("이미 한번 드셨습니다")
return
end
if pc.count_item(30168)==0 then
say("채기랍:")
say("패왕의표식 부터 구한다음에 ")
say("물약을 사용해도 늦지 않네")
say("")
return
end
item.remove()
pc.setqf("drink_drug",1)
end
when 691.kill or 792.kill or 791.kill or 1093.kill or 1304.kill or 2091.kill or 2191.kill or 2206.kill or 1901.kill begin
local s = number(1, 100)
if s <= 30 and pc.count_item(30168)==0 then
pc.give_item2(30168, 1)
send_letter("패왕의표식을 획득하셨습니다")
end
end
when 20084.chat."패왕의표식을 가져온건가? " with pc.count_item(30168) >0 begin
if get_time() > pc.getqf("duration") then
say("채기랍")
--- l
say("오!! 가져왔군...")
say("내가 한번 이것을 검토 해봐야겠군...")
say("잠시만 기다리게...")
say("")
pc.remove_item(30168, 1)
if is_test_server() then
pc.setqf("duration",get_time()+2)
else
pc.setqf("duration",get_time()+60*60*22) -----------------------------------22시간
end
wait()
local pass_percent
if pc.getqf("drink_drug")==0 then
pass_percent=60
else
pass_percent=90
end
local s= number(1,100)
if s<= pass_percent then
if pc.getqf("collect_count")< 49 then --50개미만
local index =pc.getqf("collect_count")+1
pc.setqf("collect_count",index) --하나 구했으니 +1 해준다
say("채기랍:")
say("오오~!! 훌륭하구먼! 수고했네...")
say("앞으로".." "..50-pc.getqf("collect_count").. " 개만 더 가져오면 되겠구먼~!!")
say("수고해주게~!")
say("")
pc.setqf("drink_drug",0) --물약 초기화
return
end
say("채기랍:")
say("50개를 다모았구만!!")
say("이젠 이 연구의 key item인")
say("패왕영혼석 1개만 있으면 되겠어")
say("패왕영혼석을 구해오시오~")
say("패왕영혼석을~~")
say("")
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
pc.setqf("duration",0)
set_state(key_item)
return
else
say("채기랍:")
say("미안하지만 이것은 가짜네 ..")
say("다시하나 구해오게")
say("")
pc.setqf("drink_drug",0) --물약 초기화
return
end
else
say("채기랍:")
say("이런 이런 미안하네....")
say("저번에 준 패왕의표식도 아직 분석하지")
say("못했다네.....")
say("흠 미안하네....나중에 가져다 주지 않겠나?")
say("")
return
end
end
end
state key_item begin
when letter begin
send_letter("채기랍의 연구")
if pc.count_item(30227)>0 then
local v = find_npc_by_vnum(20084)
if v != 0 then
target.vid("__TARGET__", v, "채기랍")
end
end
end
when button or info begin
if pc.count_item(30227) >0 then
say_title("패왕영혼석 획득")
say("")
--- l
say("드디어 패왕영혼석을 획득하였다")
say("이를 채기랍에게 가져다주자")
say("")
return
end
say_title("패왕영혼석이 필요해")
say("")
--- l
say("을두지의 제자인 채기랍의 연구를 위해")
say("패왕의표식 50개를 가져다 주었다")
say("마지막으로 필요한것은 패왕영혼석!")
say_item_vnum(30227)----------패왕영혼석
say("이것은"..mob_name(1092)..","..mob_name(1093)..",")
say(""..mob_name(1304)..","..mob_name(1901).."에게서 구할수있다")
say("")
end
when 1093.kill or 1304.kill or 1901.kill begin
local s = number(1, 100)
if s <= 30 and pc.count_item(30227)==0 then
pc.give_item2(30227, 1)
send_letter("패왕영혼석을 획득하셨습니다")
end
end
when __TARGET__.target.click or 20084.chat."패왕영혼석을 가져왔습니다" with pc.count_item(30227) > 0 begin
target.delete("__TARGET__")
say("채기랍")
say("오오오~!!! 수고 했네..")
say("보상으로 자네의 내공을 높여 주도록 하지..")
say("여기 내공을 높이는 약들에 대한 정보가 적힌")
say("약방문이네...")
say("백고에게 가면 만들어 줄것일세..")
say("그럼 즐거운 하루되게나~!")
say("자네 덕분에 나의연구가 잘 마무리될듯하네")
say("고맙네")
say("")
pc.remove_item(30227,1)
set_state(__reward)
end
end
state __reward begin
when letter begin
send_letter("채기랍의 보상")
local v = find_npc_by_vnum(20018)
if v != 0 then
target.vid("__TARGET__", v, "백고")
end
end
when button or info begin
say_title("채기랍의 보상을 받자")
--- l
say("채기랍의 보스몬스터 연구를 위해 패왕의표식50개와")
say("패왕영혼석까지 구해다준 보상으로 ")
say("채기랍은 내공을 높이는 약들에 대한 정보가 적힌")
say("약방문을 주었다")
say("약물을 받기위해 백고에게 가보자")
say("")
end
when __TARGET__.target.click or 20018.chat."이 약방문을 보세요" begin
target.delete("__TARGET__")
say("백고:")
say("어디보자..")
say("채기랍이 보낸 약방문이라고?")
say("음...무사에게 강함 10%")
say("자객에게 강함 10%")
say("수라에게 강함 10%")
say("무당에게 강함 10%")
say("추가로구만")
say("여기있네~")
say("")
wait()
say("백고:")
say("그리고 이번엔 파란색 흑단상자구먼")
say("궁금하지?얼른 열어보게")
say("")
say_reward("채기랍의 부탁을 들어준 보상으로")
say_reward("모든캐릭터에 추가공격+10%를 받았습니다")
say_reward("이 효과는 일시적이 아니라 영구적으로 적용됩니다")
affect.add_collect_point(POINT_ATTBONUS_WARRIOR,8,60*60*24*365*60)
affect.add_collect_point(POINT_ATTBONUS_ASSASSIN,8,60*60*24*365*60)
affect.add_collect_point(POINT_ATTBONUS_SURA,8,60*60*24*365*60)
affect.add_collect_point(POINT_ATTBONUS_SHAMAN,8,60*60*24*365*60)
pc.give_item2(50114)
clear_letter()
set_quest_state("collect_quest_lv92", "run")
set_state(__complete)
end
end
state __complete begin
end
end