forked from metin2/server
228 lines
6.2 KiB
Plaintext
228 lines
6.2 KiB
Plaintext
quest collect_quest_lv50 begin
|
|
state start begin
|
|
end
|
|
state run begin
|
|
when login or levelup with pc.level >= 50 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_lv50._10_sendLetter)
|
|
end
|
|
|
|
when button or info begin
|
|
say_title(gameforge.collect_quest_lv50._20_sayTitle)
|
|
say(gameforge.collect_quest_lv50._30_say)
|
|
end
|
|
|
|
when __TARGET__.target.click or
|
|
20084.chat.gameforge.collect_quest_lv50._40_npcChat begin
|
|
target.delete("__TARGET__")
|
|
say_title(gameforge.collect_herb_lv10._50_sayTitle)
|
|
say(gameforge.collect_quest_lv50._50_say)
|
|
wait()
|
|
say_title(gameforge.collect_herb_lv10._50_sayTitle)
|
|
say(gameforge.collect_quest_lv50._60_say)
|
|
wait()
|
|
say_title(gameforge.collect_herb_lv10._50_sayTitle)
|
|
say(gameforge.collect_quest_lv50._70_say)
|
|
set_state(go_to_disciple)
|
|
pc.setqf("duration",0) -- Versuchszeit
|
|
pc.setqf("collect_count",0)--die zahl der gesammelten artikel
|
|
pc.setqf("drink_drug",0) --Wenn man Das Verwirrungswasser trinkt 1
|
|
end
|
|
end
|
|
|
|
state go_to_disciple begin
|
|
when letter begin
|
|
send_letter(gameforge.collect_quest_lv50._80_sendLetter)
|
|
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.collect_quest_lv50._90_sayTitle)
|
|
say(gameforge.collect_quest_lv50._100_say)
|
|
say_item_vnum(30015)
|
|
say_reward(string.format(gameforge.collect_quest_lv50._110_sayReward, pc.getqf("collect_count")))
|
|
end
|
|
|
|
when 71035.use begin --Das Verwirrungswasser
|
|
if get_time() < pc.getqf("duration") then
|
|
say(gameforge.collect_quest_lv50._120_say)
|
|
return
|
|
end
|
|
if pc.getqf("drink_drug")==1 then
|
|
say(gameforge.collect_quest_lv50._130_say)
|
|
return
|
|
end
|
|
if pc.count_item(30015)==0 then
|
|
say_title(gameforge.collect_herb_lv10._50_sayTitle)
|
|
say(gameforge.collect_quest_lv50._140_say)
|
|
return
|
|
end
|
|
|
|
pc.remove_item(71035, 1)
|
|
pc.setqf("drink_drug",1)
|
|
end
|
|
|
|
|
|
|
|
when 20084.chat.gameforge.collect_quest_lv50._150_npcChat with pc.count_item(30015) >0 begin
|
|
if get_time() > pc.getqf("duration") then
|
|
if pc.count_item(30015) >0 then
|
|
say_title(gameforge.collect_herb_lv10._50_sayTitle)
|
|
say(gameforge.collect_quest_lv50._160_say)
|
|
pc.remove_item(30015, 1)
|
|
pc.setqf("duration",get_time()+60*60*22) ----------------22Stunden
|
|
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 besorgst hast, mache ich +1
|
|
say_title(gameforge.collect_herb_lv10._50_sayTitle)
|
|
say(string.format(gameforge.collect_quest_lv50._170_say, 15-pc.getqf("collect_count")))
|
|
pc.setqf("drink_drug",0) --Anfang mit dem Verwirrungswasser
|
|
return
|
|
end
|
|
say_title(gameforge.collect_herb_lv10._50_sayTitle)
|
|
say(gameforge.collect_quest_lv50._180_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_lv50._190_say)
|
|
pc.setqf("drink_drug",0) --Anfang mit dem Verwirrungswasser
|
|
return
|
|
end
|
|
|
|
else
|
|
say_title(gameforge.collect_herb_lv10._50_sayTitle)
|
|
--say(string.format(gameforge.collect_quest_lv30._190_say, item_name(30015)))
|
|
say(gameforge.collect_quest_lv50._195_say)
|
|
return
|
|
end
|
|
else
|
|
say_title(gameforge.collect_herb_lv10._50_sayTitle)
|
|
say(gameforge.collect_quest_lv50._200_say)
|
|
return
|
|
end
|
|
|
|
end
|
|
end
|
|
|
|
|
|
state key_item begin
|
|
when letter begin
|
|
send_letter(gameforge.collect_quest_lv50._210_sendLetter)
|
|
|
|
if pc.count_item(30222)>0 then
|
|
local v = find_npc_by_vnum(20084)
|
|
if v != 0 then
|
|
target.vid("__TARGET__", v, gameforge.collect_herb_lv10._150_sayTitle)
|
|
end
|
|
end
|
|
|
|
end
|
|
when button or info begin
|
|
if pc.count_item(30222) >0 then
|
|
say_title(gameforge.collect_quest_lv50._220_sayTitle)
|
|
say(gameforge.collect_quest_lv50._230_say)
|
|
return
|
|
end
|
|
|
|
say_title(gameforge.collect_herb_lv10._50_sayTitle)
|
|
say(gameforge.collect_quest_lv50._240_say)
|
|
say_item_vnum(30222)----------Das Geisstein der Schlangegeist
|
|
say(gameforge.collect_quest_lv50._250_say)
|
|
end
|
|
|
|
|
|
when 1001.kill or
|
|
1002.kill or
|
|
1003.kill or
|
|
1004.kill begin
|
|
local s = number(1, 500)
|
|
if s == 1 and pc.count_item(30222)==0 then
|
|
pc.give_item2(30222, 1)
|
|
send_letter(gameforge.collect_quest_lv50._260_sendLetter)
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
when __TARGET__.target.click or
|
|
20084.chat.gameforge.collect_quest_lv50._270_npcChat with pc.count_item(30222) > 0 begin
|
|
target.delete("__TARGET__")
|
|
say_title(gameforge.collect_herb_lv10._50_sayTitle)
|
|
if pc.count_item(30222) > 0 then
|
|
say(gameforge.collect_quest_lv50._280_say)
|
|
pc.remove_item(30222,1)
|
|
set_state(__reward)
|
|
|
|
else
|
|
say_title(gameforge.collect_herb_lv10._50_sayTitle)
|
|
--say(string.format(gameforge.collect_quest_lv30._290_say, item_name(30222)))
|
|
say(gameforge.collect_quest_lv50._295_say)
|
|
return
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
state __reward begin
|
|
when letter begin
|
|
send_letter(gameforge.collect_quest_lv50._290_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_lv50._300_sayTitle)
|
|
say(gameforge.collect_quest_lv50._310_say)
|
|
end
|
|
|
|
when __TARGET__.target.click or
|
|
20018.chat.gameforge.collect_quest_lv30._330_npcChat begin
|
|
target.delete("__TARGET__")
|
|
say_title(gameforge.collect_quest_lv30._340_sayTitle)
|
|
say(gameforge.collect_quest_lv50._320_say)
|
|
say_reward(gameforge.collect_quest_lv50._330_sayReward)
|
|
affect.add_collect(apply.DEF_GRADE_BONUS,60,60*60*24*365*60) --60Jahre
|
|
|
|
pc.give_item2(50111)
|
|
clear_letter()
|
|
set_quest_state("collect_quest_lv60", "run")
|
|
set_state(__complete)
|
|
end
|
|
|
|
end
|
|
|
|
|
|
state __complete begin
|
|
end
|
|
end
|
|
|
|
|
|
|