
Metin2 ramazan event questi
İçindekiler
state start begin
function is_running()
return (game.get_event_flag("event_ramazan") > 0) --npc spawn
end
function reward_period()
return (game.get_event_flag("ramadan_reward") > 0) --reward menu appear
end
function setting()
return {
["bread"] = 30315,
["candy"] = 50183,
["plate"] = 30316,
["iftar"] = 30317,
["fruit"] = 30318,
["box"] = 50182,
["horse1"] = 71131,
["horse2"] = 71132,
["horse3"] = 71133,
["horse4"] = 71134
}
end
when 33002.chat.gameforge.event_ramadan._010_npcChat with pc.getf("event_ramazan", "first_notice")==0 begin
local setting = event_ramadan.setting()
say_title(gameforge.event_ramadan._020_sayTitle)
say("")
say(gameforge.event_ramadan._030_say)
wait()
say_pc_name()
say(gameforge.event_ramadan._040_say)
wait()
say_title(gameforge.event_ramadan._020_sayTitle)
say(gameforge.event_ramadan._050_say)
wait()
say_pc_name()
say(gameforge.event_ramadan._060_say)
pc.setqf("first_notice", 1)
end
when 33002.chat.gameforge.event_ramadan._070_npcChat with pc.getf("event_ramadan", "first_notice")==1 begin
local setting = event_ramadan.setting()
if pc.count_item(setting.bread) == 0 then
say_title(gameforge.event_ramadan._020_sayTitle)
say(gameforge.event_ramadan._80_say)
local s=select(gameforge.event_ramadan._90_select_1 ,gameforge.event_ramadan._90_select_2)
if 2==s then
say_title(gameforge.event_ramadan._020_sayTitle)
say(gameforge.event_ramadan._100_say)
return
end
say_title(gameforge.event_ramadan._020_sayTitle)
say(gameforge.event_ramadan._110_say)
wait()
say_title(gameforge.event_ramadan._020_sayTitle)
say(gameforge.event_ramadan._120_say)
local s=select(gameforge.event_ramadan._130_select_1,gameforge.event_ramadan._130_select_2)
if 2==s then
say_title(gameforge.event_ramadan._020_sayTitle)
say(gameforge.event_ramadan._100_say)
return
end
say_title(gameforge.event_ramadan._020_sayTitle)
say(gameforge.event_ramadan._140_say)
elseif pc.count_item(setting.bread) > 0 and pc.count_item(setting.bread) < 10 then
say_title(gameforge.event_ramadan._020_sayTitle)
say(gameforge.event_ramadan._150_say)
elseif pc.count_item(setting.bread) >= 10 then
say_title(gameforge.event_ramadan._020_sayTitle)
say(gameforge.event_ramadan._160_say)
wait()
say_title(gameforge.event_ramadan._020_sayTitle)
say(gameforge.event_ramadan._170_say)
pc.give_item2(setting.candy,1)
pc.remove_item(setting.bread,10)
end
if not event_ramadan.is_running() then
npc.purge()
end
end --when
when 33002.chat.gameforge.event_ramadan._180_npcChat with pc.getqf("first_notice")== 1 begin
local setting = event_ramadan.setting()
say_title(gameforge.event_ramadan._020_sayTitle)
say(gameforge.event_ramadan._180_say)
say(gameforge.event_ramadan._190_say)
say(gameforge.event_ramadan._200_say)
say_item_vnum(setting.plate)
wait()
say_title(gameforge.event_ramadan._020_sayTitle)
say(gameforge.event_ramadan._210_say)
end
when 33003.chat.gameforge.event_ramadan._220_npcChat or 33004.chat.gameforge.event_ramadan._220_npcChat or 33005.chat.gameforge.event_ramadan._220_npcChat or 33006.chat.gameforge.event_ramadan._220_npcChat or 33007.chat.gameforge.event_ramadan._220_npcChat begin
local setting = event_ramadan.setting()
if pc.count_item(setting.iftar) == 0 then
say_title(gameforge.event_ramadan._230_sayTitle)
say("")
say(gameforge.event_ramadan._240_say)
elseif pc.count_item(setting.iftar) > 0 then
say_title(gameforge.event_ramadan._230_sayTitle)
say("")
say(gameforge.event_ramadan._250_say)
local s = select(gameforge.event_ramadan._260_select_1,gameforge.event_ramadan._260_select_2)
if 2==s then
say_title(gameforge.event_ramadan._230_sayTitle)
say("")
say(gameforge.event_ramadan._270_say)
return
end
say_title(gameforge.event_ramadan._230_sayTitle)
say("")
say(gameforge.event_ramadan._280_say)
pc.give_item2(setting.box,1)
pc.remove_item(setting.iftar,1)
end
if not event_ramadan.is_running() then
npc.purge()
end
end
when 33002.chat.gameforge.event_ramadan._290_npcChat with pc.getf("event_ramadan","fig_exchange")==0 begin
local setting = event_ramadan.setting()
if get_time() > pc.getqf("duration") then
say_title(gameforge.event_ramadan._020_sayTitle)
say("")
say(gameforge.event_ramadan._300_say)
pc.give_item2(setting.fruit)
pc.setqf("duration",get_time()+60*60*24) --24h
else
say_title(gameforge.event_ramadan._020_sayTitle)
say(gameforge.event_ramadan._310_say)
end
end
when 33002.chat.gameforge.event_ramadan._320_npcChat with event_ramadan.reward_period() and pc.getf("event_ramadan","fig_exchange")==0 begin
local setting = event_ramadan.setting()
say_title(gameforge.event_ramadan._020_sayTitle)
say("")
say(gameforge.event_ramadan._330_say)
wait()
if pc.count_item(setting.fruit)>= 5 then --more than 5
say_title(gameforge.event_ramadan._020_sayTitle)
say("")
say(string.format(gameforge.event_ramadan._340_say, pc.count_item(setting.fruit)))
say(gameforge.event_ramadan._350_say)
local s=select(gameforge.event_ramadan._360_select_1, gameforge.event_ramadan._360_select_2)
if 2==s then
say_title(gameforge.event_ramadan._020_sayTitle)
say("")
say(gameforge.event_ramadan._370_say)
return
end
say_title(gameforge.event_ramadan._020_sayTitle)
say("")
say(gameforge.event_ramadan._380_say)
say_reward(gameforge.event_ramadan._390_sayReward)
say("")
if pc.count_item(setting.fruit)>= 5 and pc.count_item(setting.fruit)<= 10 then
pc.give_item2(setting.horse1,1)
elseif pc.count_item(setting.fruit)>= 11 and pc.count_item(setting.fruit)<= 19 then
pc.give_item2(setting.horse2,1)
elseif pc.count_item(setting.fruit)>= 20 and pc.count_item(setting.fruit)<= 27 then
pc.give_item2(setting.horse3,1)
elseif pc.count_item(setting.fruit)>= 28 then
pc.give_item2(setting.horse4,1)
end
pc.remove_item(setting.fruit,pc.count_item(setting.fruit))
pc.setqf("fig_exchange",1)
else --less than 5
say_title(gameforge.event_ramadan._020_sayTitle)
say("")
say(gameforge.event_ramadan._400_say)
end
end
when 30316.use begin
local setting = event_ramadan.setting()
if pc.count_item(setting.bread) >= 10 then
pc.remove_item(setting.bread, 10)
pc.remove_item(setting.plate, 1)
pc.give_item2(setting.iftar, 1)
end
end
end --state