quest collect_quest_lv80 begin state start begin end state run begin when login or levelup with pc.level >= 80 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_quest_lv80._10_targetVid) end send_letter(gameforge.collect_quest_lv80._20_sendLetter) end when button or info begin say_title(gameforge.collect_quest_lv80._30_sayTitle) say(gameforge.collect_quest_lv80._40_say) end when __TARGET__.target.click or 20084.chat.gameforge.collect_quest_lv60._40_npcChat begin target.delete("__TARGET__") say_title(gameforge.collect_quest_lv60._50_sayTitle) say(gameforge.collect_quest_lv80._50_say) wait() say_title(gameforge.collect_quest_lv60._50_sayTitle) say(gameforge.collect_quest_lv80._60_say) wait() say_title(gameforge.collect_quest_lv60._50_sayTitle) say(gameforge.collect_quest_lv80._70_say) set_state(go_to_disciple) pc.setqf("duration",0) -- Die Versuchszeit pc.setqf("collect_count",0)--die gesammelte Artikrl pc.setqf("drink_drug",0) --Wenn man das Verwirrungswasse trinkt 1 end end state go_to_disciple begin when letter begin send_letter(gameforge.collect_quest_lv60._220_sendLetter) end when button or info begin say_title(gameforge.collect_quest_lv80._80_sayTitle) say(gameforge.collect_quest_lv80._90_say) say_item_vnum(30166) say_reward(string.format(gameforge.collect_quest_lv80._100_sayReward, pc.getqf("collect_count"))) end when 71035.use begin --Das Wunderwasser der Verwirrung if get_time() < pc.getqf("duration") then say(gameforge.collect_quest_lv80._110_say) return end if pc.getqf("drink_drug")==1 then say(gameforge.collect_quest_lv80._120_say) return end if pc.count_item(30166)==0 then say_title(gameforge.collect_quest_lv60._50_sayTitle) say(gameforge.collect_quest_lv80._130_say) return end pc.remove_item(71035, 1) pc.setqf("drink_drug",1) end when 1401.kill or 1402.kill or 1403.kill or 1601.kill or 1602.kill or 1603.kill begin local s = number(1, 100) if s <= 5 and pc.count_item(30166)==0 then pc.give_item2(30166, 1) --send_letter(string.format(gameforge.collect_quest_lv80._310_sendLetter, item_name(30166))) send_letter(gameforge.collect_quest_lv80._310_sendLetter) end end when 20084.chat.gameforge.collect_quest_lv80._140_npcChat with pc.count_item(30166) >0 begin if get_time() > pc.getqf("duration") then if pc.count_item(30166) >0 then say_title(gameforge.collect_quest_lv60._50_sayTitle) say(gameforge.collect_quest_lv80._150_say) pc.remove_item(30166, 1) pc.setqf("duration",get_time()+60*60*22)--------------22 Stunden 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")< 29 then local index =pc.getqf("collect_count")+1 pc.setqf("collect_count",index) say_title(gameforge.collect_quest_lv60._50_sayTitle) say(string.format(gameforge.collect_quest_lv80._160_say, 30-pc.getqf("collect_count"))) pc.setqf("drink_drug",0) return end say_title(gameforge.collect_quest_lv60._50_sayTitle) say(gameforge.collect_quest_lv80._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_quest_lv60._50_sayTitle) say(gameforge.collect_quest_lv80._180_say) pc.setqf("drink_drug",0) return end else say_title(gameforge.collect_quest_lv60._50_sayTitle) --say(string.format(gameforge.collect_quest_lv30._190_say, item_name(30116))) say(gameforge.collect_quest_lv80._185_say, item_name(30116)) return end else say_title(gameforge.collect_quest_lv60._50_sayTitle) say(gameforge.collect_quest_lv70._170_say) return end end end state key_item begin when letter begin send_letter(gameforge.collect_quest_lv60._220_sendLetter) if pc.count_item(30225)>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(30225) >0 then say_title(gameforge.collect_quest_lv80._190_sayTitle) say(gameforge.collect_quest_lv80._200_say) return end say_title(gameforge.collect_quest_lv80._210_sayTitle) say(gameforge.collect_quest_lv80._220_say) say_item_vnum(30225) say(gameforge.collect_quest_lv80._230_say) end when 1401.kill or 1402.kill or 1403.kill or 1601.kill or 1602.kill or 1603.kill begin local s = number(1, 200) if s == 1 and pc.count_item(30225)==0 then pc.give_item2(30225, 1) send_letter(gameforge.collect_quest_lv80._240_sendLetter) end end when __TARGET__.target.click or 20084.chat.gameforge.collect_quest_lv80._250_npcChat with pc.count_item(30225) > 0 begin target.delete("__TARGET__") if pc.count_item(30225) > 0 then say_title(gameforge.collect_quest_lv60._50_sayTitle) say(gameforge.collect_quest_lv80._260_say) pc.remove_item(30225,1) set_state(__reward) else say_title(gameforge.collect_quest_lv60._50_sayTitle) --say(string.format(gameforge.collect_quest_lv30._290_say, item_name(30225))) say(gameforge.collect_quest_lv80._265_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._300_sendLetter) say(gameforge.collect_quest_lv80._270_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_lv80._280_say) wait() say_title(gameforge.collect_quest_lv30._340_sayTitle) say(gameforge.collect_quest_lv80._290_say) say_reward(gameforge.collect_quest_lv80._300_sayReward) affect.add_collect(apply.ATT_SPEED,6,60*60*24*365*60) affect.add_collect_point(POINT_ATT_BONUS,10,60*60*24*365*60) pc.give_item2(50114) clear_letter() set_quest_state("collect_quest_lv85", "run") set_state(__complete) end end state __complete begin end end