---------------------------------------------------- --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,gameforge.collect_quest_lv90._010_target) end send_letter(gameforge.collect_quest_lv90._020_send_letter) end when button or info begin say_title(gameforge.collect_quest_lv90._030_say_title) say(gameforge.collect_quest_lv90._040_say) say("") end when __TARGET__.target.click or 20084.chat.gameforge.collect_quest_lv90._050_npcChat begin target.delete("__TARGET__") say_title(gameforge.collect_quest_lv90._055_say_title) say(gameforge.collect_quest_lv90._060_say) wait() say_title(gameforge.collect_quest_lv90._055_say_title) say(gameforge.collect_quest_lv90._064_say) say(gameforge.collect_quest_lv90._065_say) set_state(go_to_disciple) pc.setqf("duration",0) pc.setqf("collect_count",0) pc.setqf("drink_drug",0) end end state go_to_disciple begin when letter begin send_letter(gameforge.collect_quest_lv90._080_send_letter) end when button or info begin say_title (gameforge.collect_quest_lv90._090_say_title) say(gameforge.collect_quest_lv90._100_say) say("") say_item_vnum(30168) say_reward(string.format(gameforge.collect_quest_lv90._105_say_reward, pc.getqf("collect_count"))) end when 71035.use begin if get_time() < pc.getqf("duration") then say (gameforge.collect_quest_lv90._110_say) return end if pc.getqf("drink_drug")==1 then say(gameforge.collect_quest_lv90._115_say) return end if pc.count_item(30168)==0 then say_title(gameforge.collect_quest_lv90._055_say_title) say(gameforge.collect_quest_lv90._120_say) say("") return end pc.remove_item(71035, 1) 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 or 3090.kill or 3290.kill or 3590.kill begin local s = number(1, 100) if s <= 30 and pc.count_item(30168)==0 then pc.give_item2(30168, 1) send_letter(gameforge.collect_quest_lv90._130_send_letter) end end when 20084.chat.gameforge.collect_quest_lv90._140_npcChat with pc.count_item(30168) >0 begin if get_time() > pc.getqf("duration") then if pc.count_item(30168) >0 then say(mob_name(20084)) say(gameforge.collect_quest_lv90._150_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) 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 local index =pc.getqf("collect_count")+1 pc.setqf("collect_count",index) say(mob_name(20084)) say(gameforge.collect_quest_lv90._160_say) say(string.format(gameforge.collect_quest_lv90._165_say, 50-pc.getqf("collect_count"))) say(gameforge.collect_quest_lv90._170_say) say("") pc.setqf("drink_drug",0) return end say(mob_name(20084)) say(gameforge.collect_quest_lv90._175_say) say("") pc.setqf("collect_count",0) pc.setqf("drink_drug",0) pc.setqf("duration",0) set_state(key_item) return else say(mob_name(20084)) say(gameforge.collect_quest_lv90._180_say) say("") pc.setqf("drink_drug",0) return end else say(mob_name(20084)) say(item_name(30168)..gameforge.collect_quest_lv90._185_say) return end else say(mob_name(20084) ) say(gameforge.collect_quest_lv90._190_say) say("") return end end end state key_item begin when letter begin send_letter(gameforge.collect_quest_lv90._195_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(gameforge.collect_quest_lv90._200_say_title) say(gameforge.collect_quest_lv90._210_say) say("") return end say_title(gameforge.collect_quest_lv90._220_say_title) say(gameforge.collect_quest_lv90._230_say) say_item_vnum(30227) say(gameforge.collect_quest_lv90._240_say) say(mob_name(1304)..", "..mob_name(1093)..",") say(mob_name(1901)..".") say(""..mob_name(3090)..","..mob_name(3290)..","..mob_name(3590)..",") end when 1093.kill or 1304.kill or 1901.kill or 3090.kill or 3290.kill or 3590.kill begin local s = number(1, 100) if s <= 30 and pc.count_item(30227)==0 then pc.give_item2(30227, 1) send_letter(gameforge.collect_quest_lv90._250_send_letter) end end when __TARGET__.target.click or 20084.chat.gameforge.collect_quest_lv90._260_npcChat with pc.count_item(30227) > 0 begin target.delete("__TARGET__") if pc.count_item(30227) > 0 then say(mob_name(20084)) say(gameforge.collect_quest_lv90._265_say) pc.remove_item(30227,1) set_state(__reward) else say(mob_name(20084)) say(""..item_name(30227)..gameforge.collect_quest_lv90._266_say) say("") return end end end state __reward begin when letter begin send_letter(gameforge.collect_quest_lv90._270_send_letter) local v = find_npc_by_vnum(20018) if v != 0 then target.vid("__TARGET__",v,gameforge.collect_quest_lv90._280_target) end end when button or info begin say_title(gameforge.collect_quest_lv90._290_say_title) say(gameforge.collect_quest_lv90._300_say) say("") end when __TARGET__.target.click or 20018.chat. gameforge.collect_quest_lv90._310_npcChat begin target.delete("__TARGET__") say(mob_name(20018)) say(gameforge.collect_quest_lv90._315_say) say("") wait() say(mob_name(20018)) say(gameforge.collect_quest_lv90._316_say) say("") say_reward(gameforge.collect_quest_lv90._317_say_reward) say_reward(gameforge.collect_quest_lv90._318_say_reward) say_reward(gameforge.collect_quest_lv90._319_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