forked from metin2/server
1
0
Fork 0
server/gamefiles/locale/english/quest/ingame_message.quest

113 lines
4.0 KiB
Plaintext

--[[
This quest send the player a letter with Information about new Stuff
At the Moment we have 3 possible options:
1. Happy Hour in the shop
2. New stuff in the shop
3. security announce
Concept side: https://wiki.gameforge.de/bin/view/MMO/Metin2/ConceptIngameAnnounce
Workflow ticket: https://mantis-i.gameforge.de/view.php?id=76862
]]
quest ingame_message begin
state start begin
-- return the unique message id for campaign
function get_message_id()
return (game.get_event_flag("message_id"))
end --end function get_message_id
-- return which kind of message appear
function get_message_type()
return (game.get_event_flag("message_type"))
end --end function get_message_type
-- return the displayed item vnum
function get_announce_vnum()
return (game.get_event_flag("message_item_vnum"))
end --end function get_announce_vnum
-- return the vnum that can is the gift
function get_gift_vnum()
return (game.get_event_flag("message_gift_vnum"))
end --end function get_gift_vnum
--[[
Provide a duration time to have a option to show options often
Value should be hours ;)
]]
function get_message_duration()
local duration = game.get_event_flag("message_duration")
-- if not duration is set, we will implement the standard 24h duration
if duration == 0 then
duration = 24
end
return duration
end --end function get_message_id
when info or button begin
local message_type = ingame_message.get_message_type()
if message_type == 1 then
--local happyhour_start = game.get_event_flag("message_happyhour_start")
--local happyhour_end = game.get_event_flag("message_happyhour_end")
--say_size(250, 250)
-- say_show_item(70029)
-- Eine günstige Gelegenheit
say_important_title(gameforge.ingame_message._010_sayTitle)
--say_important(string.format("Heute von %s bis %s Happy Hour!", happyhour_start, happyhour_end))
say("")
-- Eine neue Aktion ist im Item-Shop gestartet! Verpasse nicht diese günstige Gelegenheit und besuche direkt den Item-Shop.
say_important(gameforge.ingame_message._020_say)
local c = select(gameforge.locale.guild.yes, gameforge.locale.guild.no)
if 2 == c then
return
else
game.open_web_mall()
end
elseif message_type == 2 then
local new_item_vnum = ingame_message.get_announce_vnum()
say_important_title(gameforge.ingame_message._030_sayTitle)
say_item_vnum(new_item_vnum) -- icon of item
say_important(gameforge.ingame_message._040_say)
-- We will provide the user the option to select the gift
local gift_vnum = ingame_message.get_gift_vnum()
local message_id = ingame_message.get_message_id()
local gift_check = pc.getqf("gift_" .. message_id .. "_" ..gift_vnum)
if gift_check < 1 and gift_vnum != 0 then
wait()
-- Ein Geschenk der Götter
say_title(gameforge.important_message._050_sayTitle)
say(gameforge.ingame_message._060_say)
local gift = select(gameforge.ingame_message._070_select, gameforge.ingame_message._080_select)
if gift == 1 then
pc.give_item2(gift_vnum, 1)
pc.setqf("gift_"..message_id.."_"..gift_vnum, 1)
end -- gift vergeben
end -- gift check
else
say_important_title("GM News")
say_important("Du wirst nie nach Login gefragt")
end
end --endbegin letter
when login with ingame_message.get_message_type() > 0 begin
local message_type = ingame_message.get_message_type()
local duration_time = ingame_message.get_message_duration()
if get_time() > pc.getqf("duration") then
pc.setqf("duration",get_time()+60*60*duration_time)--------------24 Stunden
if message_type == 1 then
send_letter(gameforge.ingame_message._010_sayTitle)
elseif message_type == 2 then
send_letter(gameforge.ingame_message._030_sayTitle)
else
send_letter("GM News")
end -- endif
end -- endif duration
end -- endif
end -- endbegin state start
end -- endbegin quest