quest collect_quest_lv60 begin state start begin end state run begin when login or levelup with pc.level >= 60 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_lv40._210_targetVid) end send_letter(gameforge.collect_quest_lv60._10_sendLetter) end when button or info begin say_title(gameforge.collect_quest_lv60._20_sayTitle) say(gameforge.collect_quest_lv60._30_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_lv60._60_say) wait() say_title(gameforge.collect_quest_lv60._50_sayTitle) say(gameforge.collect_quest_lv60._70_say) wait() say_title(gameforge.collect_quest_lv60._50_sayTitle) say(gameforge.collect_quest_lv60._80_say) set_state(go_to_disciple) pc.setqf("duration",0) -- Versuchszeit pc.setqf("collect_count",0)--gesammte Zahl der Artikel pc.setqf("drink_drug",0) --Wenn das Verwirrungswasser trinkt, plus 1 end end state go_to_disciple begin when letter begin send_letter(gameforge.collect_quest_lv60._90_sendLetter) end when button or info begin say_title(gameforge.collect_quest_lv60._100_sayTitle) say(gameforge.collect_quest_lv60._110_say) say_item_vnum(30050) say_reward(string.format(gameforge.collect_quest_lv60._110_sayReward, pc.getqf("collect_count"))) end when 71035.use begin --DasVerwirrungswasser if get_time() < pc.getqf("duration") then say(gameforge.collect_quest_lv60._120_say) return end if pc.getqf("drink_drug")==1 then say(gameforge.collect_quest_lv60._130_say) return end if pc.count_item(30050)==0 then say_title(gameforge.collect_quest_lv60._140_sayTitle) say(gameforge.collect_quest_lv60._150_say) return end pc.remove_item(71035, 1) pc.setqf("drink_drug",1) end when 20084.chat.gameforge.collect_quest_lv60._160_npcChat with pc.count_item(30050) >0 begin if get_time() > pc.getqf("duration") then if pc.count_item(30050) >0 then say_title(gameforge.collect_quest_lv60._50_sayTitle) say(gameforge.collect_quest_lv60._170_say) pc.remove_item(30050, 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")< 19 then --nicht mehr als 20 local index =pc.getqf("collect_count")+1 pc.setqf("collect_count",index) --Da du noch einen besorgst, macht man plus eins say_title(gameforge.collect_quest_lv60._140_sayTitle) say(string.format(gameforge.collect_quest_lv60._180_say, 20-pc.getqf("collect_count"))) pc.setqf("drink_drug",0) --Anfang mit dem Verwirrungswasser return end say_title(gameforge.collect_quest_lv60._50_sayTitle) say(gameforge.collect_quest_lv60._190_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_lv60._200_say) pc.setqf("drink_drug",0) --Anfang mit dem Verwirrungswasser return end else say_title(gameforge.collect_quest_lv60._50_sayTitle) --say(string.format(gameforge.collect_quest_lv40._190_say, item_name(30050))) say(gameforge.collect_quest_lv60._205_say) return end else say_title(gameforge.collect_quest_lv60._50_sayTitle) say(gameforge.collect_quest_lv60._210_say) return end end end state key_item begin when letter begin send_letter(gameforge.collect_quest_lv60._220_sendLetter) if pc.count_item(30223)>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(30223) >0 then say_title(gameforge.collect_quest_lv60._230_sayTitle) say(gameforge.collect_quest_lv60._240_say) return end say_title(gameforge.collect_quest_lv60._250_sayTitle) say(gameforge.collect_quest_lv60._260_say) say_item_vnum(30223) say(gameforge.collect_quest_lv60._270_say) end when 1101.kill or 1102.kill or 1103.kill or 1104.kill or 1105.kill or 1106.kill or 1107.kill begin local s = number(1, 500) if s == 1 and pc.count_item(30223)==0 then pc.give_item2(30223, 1) send_letter(gameforge.collect_quest_lv60._280_sendLetter) end end when __TARGET__.target.click or 20084.chat.gameforge.collect_quest_lv60._290_npcChat with pc.count_item(30223) > 0 begin target.delete("__TARGET__") if pc.count_item(30223) > 0 then say_title(gameforge.collect_quest_lv60._50_sayTitle) say(gameforge.collect_quest_lv60._300_say) pc.remove_item(30223,1) set_state(__reward) else say_title(gameforge.collect_herb_lv10._50_sayTitle) --say(string.format(gameforge.collect_quest_lv30._290_say, item_name(30223))) say(gameforge.collect_quest_lv60._305_say) return end end end state __reward begin when letter begin send_letter(gameforge.collect_quest_lv60._310_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_lv60._320_say) end when __TARGET__.target.click or 20018.chat.gameforge.collect_quest_lv60._330_npcChat begin target.delete("__TARGET__") say_title(gameforge.collect_quest_lv30._340_sayTitle) say(gameforge.collect_quest_lv60._340_say) wait() say_pc_name() say(gameforge.collect_quest_lv60._350_say) wait() say_title(gameforge.collect_quest_lv30._340_sayTitle) say(gameforge.collect_quest_lv60._360_say) say_reward(gameforge.collect_quest_lv60._370_sayReward) affect.add_collect(apply.ATT_GRADE_BONUS,50,60*60*24*365*60)--60Jahre pc.give_item2(50112) clear_letter() set_quest_state("collect_quest_lv70", "run") set_state(__complete) end end state __giveup__ begin end state __complete begin end end