forked from metin2/server
180 lines
6.0 KiB
Plaintext
180 lines
6.0 KiB
Plaintext
quest manwoo begin
|
|
state start begin
|
|
when 9009.chat."GM: Start Fishing Event" with pc.get_gm_level() == 5 and game.get_event_flag("manwoo_start") == 0 begin
|
|
say_title("Manwoo Event")
|
|
say("Which fish should be accepted?") -- Setting which kind of fishes should the fisher man accept in the event
|
|
say("Between 27802 and 27818") -- We have fishes till 27823 but they aren't activated
|
|
|
|
local fish = input()
|
|
if fish != "" then
|
|
fish = tonumber(fish)
|
|
end
|
|
if fish >= 27802 and fish <= 27818 then -- Check if the input is a number and if it is fishable.
|
|
game.set_event_flag("manwoo_fish", fish) -- To check the fish as an eventflag
|
|
else
|
|
say("That number isn't accepted")
|
|
return
|
|
end
|
|
say_title("Manwoo Event") -- Setting the amount of fishes that would be accepted
|
|
say("How many fishes should we accept?")
|
|
local amount = input()
|
|
if amount != "" then
|
|
amount = tonumber(amount)
|
|
end
|
|
if amount > 0 then
|
|
game.set_event_flag("manwoo", amount)
|
|
else
|
|
say("That isn't a valid number")
|
|
end
|
|
|
|
say_title("Manwoo Event") -- Setting the reward for the event
|
|
say("How many different items should")
|
|
say("the player receive as a reward? Max = 4")
|
|
--
|
|
local reward_amount = select("1", "2", "3", "4", "cancel") -- how many different items a player can get, max = 4.
|
|
if s == 5 then
|
|
return
|
|
else
|
|
local i = 0
|
|
repeat
|
|
i = i + 1
|
|
game.set_event_flag("manwoo_reward_"..i, 0)
|
|
until i == 4
|
|
|
|
local current_amount = 0
|
|
local again = 1
|
|
repeat -- repeat so that the array will be filled in
|
|
say_title("Manwoo Event")
|
|
say("Please input the item vnum that will be given (Reward "..current_amount..").")
|
|
local reward_vnum = input()
|
|
say_title("Manwoo Event")
|
|
if reward_vnum == "" or reward_vnum == 0 then
|
|
say("You did not put a vnum in there")
|
|
again = select("Again", "no more items", "cancel")
|
|
if again == 2 then
|
|
current_amount = reward_amount
|
|
elseif again == 3 then
|
|
return
|
|
end
|
|
else
|
|
if item_name(reward_vnum) == nil then
|
|
say("That vnum does not exist")
|
|
wait()
|
|
else
|
|
say_item_vnum(reward_vnum)
|
|
say("")
|
|
local vnum_ok = select("ok", "type again", "cancel")
|
|
if vnum_ok == 1 then
|
|
current_amount = current_amount + 1
|
|
game.set_event_flag("manwoo_reward_"..current_amount, reward_vnum)
|
|
elseif vnum_ok == 3 then
|
|
return
|
|
end
|
|
end
|
|
end
|
|
until current_amount == reward_amount
|
|
|
|
end
|
|
|
|
|
|
say_title("Manwoo Event")
|
|
say("For how many hours should the event be on?")
|
|
local s = select("8 hours", "16 hours", "24 hours", "unlimited", "input", "cancel")
|
|
local hours = 1 -- default value
|
|
if s == 1 then
|
|
hours = 8
|
|
elseif s == 2 then
|
|
hours = 16
|
|
elseif s == 3 then
|
|
hours = 24
|
|
elseif s == 4 then
|
|
hours = 0
|
|
elseif s == 5 then
|
|
hours = tonumber(input())
|
|
if hours < 1 then
|
|
return
|
|
end
|
|
else
|
|
return
|
|
end
|
|
game.set_event_flag("manwoo_time", get_global_time()+hours*60)
|
|
game.set_event_flag("manwoo_start", 1)
|
|
return
|
|
end
|
|
when 9009.chat."GM: Stop Fish event" with pc.get_gm_level() == 5 and game.get_event_flag("manwoo_start") > 0 begin
|
|
say_title("Manwoo Event")
|
|
local s=select("stop the event", "cancel")
|
|
if s == 1 then
|
|
game.set_event_flag("manwoo_start", 0)
|
|
else
|
|
return
|
|
end
|
|
end
|
|
|
|
when 9009.chat."Psst, want to help me out?" with game.get_event_flag("manwoo_start") > 0 and game.get_event_flag("manwoo_time") >= get_global_time() begin
|
|
pc.setqf("reward", 1)
|
|
pc.setqf("time", game.get_event_flag("manwoo_time"))
|
|
say_title("Fisherman's Event")
|
|
say("Hi, do you know Octavio in the village over there?")
|
|
say("He came to me one day with a very attractive business deal.")
|
|
say("As you know, he is one of the most famous cooks in these regions,")
|
|
say("and he strives to be the best there is in every cooking mastery.")
|
|
say("He has put his attention to sushi,")
|
|
say("and he claims he needs live fish to make the tastiest sushi.")
|
|
wait()
|
|
say_title("Fisherman's Event")
|
|
say("Of course he doesn't have any time to catch them himself,")
|
|
say("so he asked me to do it for him, for some items he gets from his customers.")
|
|
say("But I'm a bit stretched at the moment with the amount he needs from me,")
|
|
say("I cannot possibly do it alone.")
|
|
say("If you help me with Octavio's order,")
|
|
say("I will give you a nice reward!")
|
|
say("Give me this fish: ")
|
|
say(game.get_event_flag("manwoo").."x: ")
|
|
say_item_vnum(game.get_event_flag("manwoo_fish"))
|
|
wait()
|
|
|
|
set_state(give_fish)
|
|
end
|
|
end
|
|
|
|
state give_fish begin
|
|
when login or enter with game.get_event_flag("manwoo_start") == 0 or pc.getqf("time") < get_global_time() begin
|
|
set_state(start)
|
|
end
|
|
|
|
when login or enter begin
|
|
say("bla")
|
|
end
|
|
|
|
when 9009.chat."About the fish..." with game.get_event_flag("manwoo_start") > 0 and game.get_event_flag("manwoo_start") > 0 and game.get_event_flag("manwoo_time") >= get_global_time() begin
|
|
say_title("Fisherman's Event")
|
|
if pc.count_item(game.get_event_flag("manwoo_fish")) < game.get_event_flag("manwoo") then
|
|
say("You don't have enough fish!")
|
|
else
|
|
say("Hey! You actually managed to do it!")
|
|
say("Thank you!")
|
|
say("And now... for the reward")
|
|
wait()
|
|
say_title("Fisherman's Event")
|
|
local current_amount = pc.getqf("reward")
|
|
local reward_vnum = game.get_event_flag("manwoo_reward_"..current_amount)
|
|
if reward_vnum == 0 or reward_vnum == "" then
|
|
local last_item_vnum = 150
|
|
say_item_vnum(last_item_vnum)
|
|
pc.give_item2(last_item_vnum)
|
|
else
|
|
if pc.enough_inventory(reward_vnum) == true then
|
|
say_item_vnum(reward_vnum)
|
|
pc.remove_item(game.get_event_flag("manwoo_fish"), game.get_event_flag("manwoo"))
|
|
pc.give_item2(reward_vnum)
|
|
pc.setqf("reward", current_amount +1)
|
|
else
|
|
say("You don't have enough space!")
|
|
say("Please, return when you have enough space!")
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end |