Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- ###########################
- # Author: VegaS #
- # Date: 2017.04.28 #
- # Quest: Mission kill #
- ###########################
- ]]
- quest Quest begin
- state start begin
- function GetCounter()
- return pc.getqf("state")
- end
- function SetCounter(c)
- pc.setqf("state", c)
- q.set_counter("QuestName", c)
- end
- function Get(key)
- local dict = {
- ["needLevel"] = 35,
- ["needKill"] = 30,
- ["mobVnum"] = 101,
- ["timer"] = 10*60
- }
- return dict[key]
- end
- function Reward()
- affect.add_collect_point(POINT_ATTBONUS_MONSTER, 10, 60*60*24*365*60)
- end
- when login or levelup with pc.get_level() == Quest.Get("needLevel") begin
- set_state(informations)
- end
- end
- state informations begin
- when letter begin
- send_letter(string.format("Mission Level %d", pc.get_level()))
- end
- when button or info begin
- say("You want to accept the mission?")
- local s = select("Accept", "Maybe later...")
- if (s == 1) then
- Quest.SetCounter(Quest.Get("needKill"))
- timer("clock", Quest.Get("timer"))
- set_state(kill)
- else return end
- end
- end
- state kill begin
- when clock.timer begin
- say("Time expired, have a nice day.")
- clear_letter()
- set_state(__COMPLETE__)
- end
- when letter begin
- send_letter("Mobs killed")
- end
- when button or info begin
- say_reward(string.format("Remaining to kill: %s (%d)", mob_name(Quest.Get("mobVnum")), Quest.GetCounter()))
- end
- when kill with npc.get_race() == Quest.Get("mobVnum") begin
- local
- COUNTER_VALUE = Quest.GetCounter() - 1
- NEED_TO_KILL = Quest.Get("needKill")
- if COUNTER_VALUE <= NEED_TO_KILL then
- Quest.SetCounter(COUNTER_VALUE) end
- if COUNTER_VALUE == 0 then
- say("Finished!")
- Quest.Reward()
- clear_letter()
- set_state(__COMPLETE__)
- end
- end
- end
- state __COMPLETE__ begin
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment