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

221 lines
6.3 KiB
Plaintext

quest collect_quest_lv40 begin
state start begin
end
state run begin
when login or levelup with pc.level >= 40 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, gameforge.collect_herb_lv10._150_sayTitle)
end
send_letter(gameforge.collect_quest_lv40._10_sendLetter)
end
when button or info begin
say_title(gameforge.collect_quest_lv40._20_sayTitle)
say(gameforge.collect_quest_lv40._30_say)
end
when __TARGET__.target.click or 20084.chat.gameforge.collect_quest_lv40._40_npcChat begin
target.delete("__TARGET__")
say_title(gameforge.collect_herb_lv10._50_sayTitle)
say(gameforge.collect_quest_lv40._50_say)
wait()
say_title(gameforge.collect_herb_lv10._50_sayTitle)
say(gameforge.collect_quest_lv40._60_say)
wait()
say_title(gameforge.collect_herb_lv10._50_sayTitle)
say(gameforge.collect_quest_lv40._70_say)
set_state(go_to_disciple)
pc.setqf("duration",0) -- Die Versuchszeit
pc.setqf("collect_count",0)--Die Zahl der gesammelten Artikel
pc.setqf("drink_drug",0) --Wenn man das Verwirrungsswasser trinkt, 1
end
end
state go_to_disciple begin
when letter begin
send_letter(gameforge.collect_quest_lv30._70_sendLetter)
end
when button or info begin
say_title(gameforge.collect_quest_lv40._80_sayTitle)
say(gameforge.collect_quest_lv40._90_say)
say_item_vnum(30047)
say_reward(string.format(gameforge.collect_quest_lv40._100_sayReward, pc.getqf("collect_count")))
end
when 71035.use begin --Das Verwirrungswasser
if get_time() < pc.getqf("duration") then
say(gameforge.collect_quest_lv40._110_say)
return
end
if pc.getqf("drink_drug")==1 then
say(gameforge.collect_quest_lv40._120_say)
return
end
if pc.count_item(30047)==0 then
say_title(gameforge.collect_herb_lv10._50_sayTitle)
say(gameforge.collect_quest_lv40._130_say)
return
end
pc.remove_item(71035, 1)
pc.setqf("drink_drug",1)
end
when 20084.chat.gameforge.collect_quest_lv40._140_npcChat with pc.count_item(30047) >0 begin
if get_time() > pc.getqf("duration") then
if pc.count_item(30047) >0 then
say_title(gameforge.collect_herb_lv10._50_sayTitle)
say(gameforge.collect_quest_lv40._150_say)
pc.remove_item(30047, 1)
pc.setqf("duration",get_time()+60*60*22)--------------22Stunde
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")< 14 then --nicht mehr als 15
local index =pc.getqf("collect_count")+1
pc.setqf("collect_count",index) --Da du eins besorgt hast, mache ich +1
say_title(gameforge.collect_herb_lv10._50_sayTitle)
say(string.format(gameforge.collect_quest_lv40._160_say, 15-pc.getqf("collect_count")))
pc.setqf("drink_drug",0) --Anfang mit dem Wunderwasser
return
end
say_title(gameforge.collect_herb_lv10._50_sayTitle)
say(gameforge.collect_quest_lv40._170_say)
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
pc.setqf("duration",0)
set_state(key_item)
return
else
say_title(gameforge.collect_herb_lv10._50_sayTitle)
say(gameforge.collect_quest_lv40._180_say)
pc.setqf("drink_drug",0) --Anfang mit dem Geheimwasser
return
end
else
say_title(gameforge.collect_herb_lv10._50_sayTitle)
--say(string.format(gameforge.collect_quest_lv40._190_say, item_name(30080)))
say(gameforge.collect_quest_lv40._190_say)
return
end
else
say_title(gameforge.collect_herb_lv10._50_sayTitle)
say(gameforge.collect_quest_lv40._200_say)
return
end
end
end
state key_item begin
when letter begin
send_letter(gameforge.collect_quest_lv30._210_sendLetter)
if pc.count_item(30221)>0 then
local v = find_npc_by_vnum(20084)
if v != 0 then
target.vid("__TARGET__", v, gameforge.collect_quest_lv40._210_targetVid)
end
end
end
when button or info begin
if pc.count_item(30221) >0 then
say_title(gameforge.collect_quest_lv40._220_sayTitle)
say(gameforge.collect_quest_lv40._230_say)
return
end
say_title(gameforge.collect_quest_lv40._240_sayTitle)
say(gameforge.collect_quest_lv40._250_say)
say_item_vnum(30221)----------Der Seelenstein der geheimen Sekte
say(gameforge.collect_quest_lv40._260_say)
end
when 731.kill or 732.kill or 733.kill or 734.kill or 735.kill or 736.kill or 737.kill or 701.kill or 702.kill or 703.kill or 704.kill or 705.kill or 706.kill or 707.kill begin
local s = number(1, 500)
if s == 1 and pc.count_item(30221)==0 then
pc.give_item2(30221, 1)
send_letter(gameforge.collect_quest_lv40._270_sendLetter)
end
end
when __TARGET__.target.click or 20084.chat.gameforge.collect_quest_lv40._280_npcChat with pc.count_item(30221) > 0 begin
target.delete("__TARGET__")
if pc.count_item(30221) > 0 then
say_title(gameforge.collect_herb_lv10._50_sayTitle)
say(gameforge.collect_quest_lv40._290_say)
pc.remove_item(30221,1)
set_state(__reward)
else
say_title(gameforge.collect_herb_lv10._50_sayTitle)
--say(string.format(gameforge.collect_quest_lv30._290_say, item_name(30221)))
say(gameforge.collect_quest_lv40._295_say)
return
end
end
end
state __reward begin
when letter begin
send_letter(gameforge.collect_quest_lv40._300_sendLetter)
local v = find_npc_by_vnum(20018)
if v != 0 then
target.vid("__TARGET__", v, gameforge.collect_quest_lv30._310_targetVid)
end
end
when button or info begin
say_title(gameforge.collect_quest_lv40._310_sayTitle)
say(gameforge.collect_quest_lv40._320_say)
end
when __TARGET__.target.click or 20018.chat.gameforge.collect_quest_lv40._330_npcChat begin
target.delete("__TARGET__")
say_title(gameforge.collect_quest_lv30._340_sayTitle)
say(gameforge.collect_quest_lv40._340_say)
say_reward(gameforge.collect_quest_lv40._350_sayReward)
affect.add_collect(apply.ATT_SPEED,5,60*60*24*365*60) --60Jahre
pc.give_item2(50110)
clear_letter()
set_quest_state("collect_quest_lv50", "run")
set_state(__complete)
end
end
state __complete begin
end
end