M-am chinuit ceva vreme cu un quest care dropa toate tipurile de oua dar intr-un final am constatat ca nu merge asa ca am editat questul pentru cufere clar de luna si am setat sa dropeze oua mai exact oul 50161. Tot eventul se administreaza de la iepuras acolo fiind implementat panoul.
Quest - drop:
Cod: Selectaţi tot
quest oua_truhen begin
state start begin
when login begin
if game.get_event_flag("oua_event") == 1 then
notice("Evenimentul : Ouã de Paste ~ Activ !")
end
end
when kill begin
local m_ind = pc.get_map_index()
if npc.is_pc() then
else
if m_ind == 1 or m_ind == 3 or m_ind == 21 or m_ind == 23 or m_ind == 41 or m_ind == 43 and pc.get_level() <= 20 then
if game.get_event_flag("oua_event") == 1 then
local chance = number(1, 100)
local chance_max = game.get_event_flag("oua_drop_chance")
if chance <= chance_max then
pc.give_item2(50160)
--game.drop_item(50160)
else
end
else
end
elseif m_ind == 63 or m_ind == 64 and pc.get_level() <= 40 then
if game.get_event_flag("oua_event") == 1 then
local chance = number(1, 100)
local chance_max = game.get_event_flag("oua_drop_chance")
if chance <= chance_max then
pc.give_item2(50160)
--game.drop_item(50160)
else
end
else
end
elseif m_ind == 65 or m_ind == 61 or m_ind == 104 and pc.get_level() <= 60 then
if game.get_event_flag("oua_event") == 1 then
local chance = number(1, 100)
local chance_max = game.get_event_flag("oua_drop_chance")
if chance <= chance_max then
pc.give_item2(50160)
--game.drop_item(50160)
else
end
else
end
elseif m_ind == 62 or m_ind == 71 or m_ind == 67 and pc.get_level() <= 70 then
if game.get_event_flag("oua_event") == 1 then
local chance = number(1, 100)
local chance_max = game.get_event_flag("oua_drop_chance")
if chance <= chance_max then
pc.give_item2(50160)
--game.drop_item(50160)
else
end
else
end
elseif m_ind == 68 or m_ind == 72 or m_ind == 73 or m_ind == 66 and pc.get_level() <= 90 then
if game.get_event_flag("oua_event") == 1 then
local chance = number(1, 100)
local chance_max = game.get_event_flag("oua_drop_chance")
if chance <= chance_max then
pc.give_item2(50160)
--game.drop_item(50160)
else
end
else
end
elseif m_ind == 103 or m_ind == 70 or m_imd == 69 and pc.get_level() <= 250 then
if game.get_event_flag("oua_event") == 1 then
local chance = number(1, 100)
local chance_max = game.get_event_flag("oua_drop_chance")
if chance <= chance_max then
pc.give_item2(50160)
--game.drop_item(50160)
else
end
else
end
end
end
end
when 30129.chat."<GM> Eveniment Ouã de Paste" with pc.is_gm() begin
if game.get_event_flag("oua_event") == 1 then
say_title("Administrare Eveniment:")
say("")
say("Ouã de Paste : ~ Activ ")
say("")
say_reward("Inchieire event ??")
local s=select("Da", "Nu")
if s==1 then
say_title("Administrare Eveniment:")
say("")
say("Evenimentul a luat sfârsit .")
say("~ Pe data viitoare !")
game.set_event_flag("oua_event", 0)
char_log(0, "oua_event_end from" ..pc.get_name())
notice_all("Evenimentul : Ouã de Paste ~ Terminat.")
elseif s==2 then
say_title("Administrare Eveniment:")
say("")
say("~ Pe curând !")
end
else
say_title("Administrare Eveniment:")
say("")
say("Ouã de Paste : ~ Închis ")
say("")
say_reward("Start Eveniment?")
local s=select("Da", "Nu")
if s==1 then
say_title("Administrare Eveniment:")
say("")
say("Evenimentul ~ A Început ! .")
say("~ Succes la strans mai multe Ouã de Paste !")
game.set_event_flag("oua_event", 1)
char_log(0, "oua_event_start from" ..pc.get_name())
notice_all("Evenimentul : Ouã de Paste ~ A Început !")
elseif s==2 then
say_title("Administrare Eveniment:")
say("")
say("~ Pe curând !")
end
end
end
when 30129.chat."<GM> Drop Ouã de Paste" with pc.is_gm() begin
if pc.get_name() == "[OwN]d3nTz1k" then
say_title("Administrare Eveniment:")
say("")
say("Cat de mult sã fie dropul acestora ?")
say("")
say_reward("Între 1-100")
say("")
local new_chance = tonumber(input())
if new_chance < 0 or new_chance > 100 then
say_title("Administrare Eveniment:")
say("")
say("Introducere incorectã ~")
else
char_log(0, "oua_event_chance from" ..pc.get_name().. " to " ..new_chance.. "%")
game.set_event_flag("oua_drop_chance", new_chance)
say_title("Administrare Eveniment:")
say("")
say("Dropul actual " ..new_chance.. " setat.")
say("~ Pe curând !")
end
else
say_title("Administrare Eveniment:")
say("")
say("Nu ai dreptul pentru a executa evenimentul .")
end
end
end
end Cod: Selectaţi tot
quest easter_event begin
state start begin
when 30129.chat."GM: Deschide event-ul de Paste" with pc.is_gm() and game.get_event_flag("easter_start") == 0 begin
say_title(""..mob_name(30129).."")
say_reward("Vrei sa deschizi event-ul de Paste?")
start_event = select("Da", "Nu")
if start_event == 2 then
return;
end
game.set_event_flag("easter_start", 1)
game.set_event_flag("easter_eggs_count", 0)
game.set_event_flag("easter_empty_baskets_count", 0)
game.set_event_flag("easter_egg_baskets_count", 0)
notice("Evenimentul de Paste s-a deschis! Vorbeste cu Iepurasul de Paste!")
end
when 30129.chat."Ouale de Paste" with game.get_event_flag("easter_start") == 1 begin
say_title(""..mob_name(30129).."")
say("Salut!")
say("Se stie in randul nostru ca Iepurasii de Paste")
say("sunt din ce in ce mai putin crezuti de catre")
say("copiii din cele trei regate. De aceea, eu am")
say("fost trimit pentru a va dovedi ca Iepurasii")
say("de Paste exista!")
say_reward("Drept consecinta, am venit cu o armata de pietre")
say_reward("Metin, ca sa ma razbun pe necredinta oamenilor!")
wait()
say_pc_name()
say("")
say("Ma gandesc ca poate Iepurasul s-ar mai linisti")
say("daca oamenii de pretutindeni i-ar aduce oua,")
say("luand exemplu de la el, care in fiecare an")
say("munceste pe rupte ca sa vopseasca ouale")
say("si sa le dea copiiilor...")
wait()
set_state(give_eggs)
end
end
state give_eggs begin
when 30129.chat."Am adus oua de Paste" with game.get_event_flag("easter_start") == 1 begin
say_title(""..mob_name(30129).."")
say("Ai adus oua de Paste? Vai... ce frumos! Si eu")
say("care credeam ca trebuie sa recurg la forta")
say("pentru a convinge oamenii ca exist si eu pe")
say("lume...")
if pc.count_item(50160) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50160)
elseif pc.count_item(50161) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50161)
elseif pc.count_item(50162) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50162)
elseif pc.count_item(50163) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50163)
elseif pc.count_item(50164) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50164)
elseif pc.count_item(50165) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50165)
elseif pc.count_item(50166) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50166)
elseif pc.count_item(50167) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50167)
elseif pc.count_item(50168) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50168)
elseif pc.count_item(50169) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50169)
elseif pc.count_item(50170) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50170)
elseif pc.count_item(50171) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50171)
elseif pc.count_item(50172) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50172)
elseif pc.count_item(50173) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50173)
elseif pc.count_item(50174) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50174)
elseif pc.count_item(50175) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50175)
elseif pc.count_item(50176) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50176)
elseif pc.count_item(50177) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50177)
elseif pc.count_item(50178) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50178)
elseif pc.count_item(50179) != 0 then
say_reward("Multumesc, iti voi da un cadou pentru")
say_reward("acest fapt!")
pc.setqf("easter_egg_vnum", 50179)
else
say_reward("Of... Nu ai oua??? Eram sigur ca")
say_reward("e prea frumos ca sa fie adevarat...")
return;
end
wait()
say_title(""..mob_name(30129).."")
say("Vrei sa imi dai acest ou in schimbul unui")
say("cadou?")
say_item("Ou de Paste", pc.getqf("easter_egg_vnum"), "")
select_egg = select("Da", "Nu")
if select_egg == 2 then
say_title(""..mob_name(30129).."")
say("Asta e... In viata nu faci doar lucruri care")
say("iti plac...")
return;
else
pc.remove_item(pc.getqf("easter_egg_vnum"), 1)
pc.setqf("easter_egg_vnum", 0)
game.set_event_flag("easter_eggs_count", game.get_event_flag("easter_eggs_count")+1)
say_title(""..mob_name(30129).."")
say("Uite cadoul tau...")
local s = number(1, 43)
if 1 <= s and 5 >= s then
say_item("Elixirul Cercetatorului - 1 buc.", 71035, "")
pc.give_item2(71035,1)
elseif 5 >= s and 10 <= s then
say_item("Medalia Dragonului - 5 buc.", 71004, "")
pc.give_item2(71004,5)
elseif 10 >= s and 5 <= s then
say_item("Coada Scorpion + - 1 buc.", 30081, "")
pc.give_item2(30081,1)
elseif 20 >= s and 10 <= s then
say_item("Busola Pietrelor Metin - 1 buc.", 27989, "")
pc.give_item2(27989,1)
elseif 21 == s then
say_item("Metal Magic - 1 buc.", 25041, "")
pc.give_item2(25041,1)
elseif 22 == s then
say_item("Colier de Lacrima Cer+0 - 1 buc.", 16200, "")
pc.give_item2(16200,1)
elseif 23 == s then
say_item("Cercei de Lacrima Cer+0 - 1 buc.", 17200, "")
pc.give_item2(17200,1)
elseif 24 == s then
say_item("Bratara Lacrima Cer+0 - 1 buc.", 14200, "")
pc.give_item2(14200,1)
elseif 25 == s then
say_item("Papuci de Phoenix+0 - 1 buc.", 15200, "")
pc.give_item2(15200,1)
elseif 26 == s then
say_item("Scut Vultur+0 - 1 buc.", 13060, "")
pc.give_item2(13060,1)
elseif 27 == s then
say_item("Scut Tigru+0 - 1 buc.", 13080, "")
pc.give_item2(13080,1)
elseif 28 == s then
say_item("Scut Leu+0 - 1 buc.", 13100, "")
pc.give_item2(13100,1)
elseif 29 == s then
say_item("Scut Solzi de Dragon+0 - 1 buc.", 13120, "")
pc.give_item2(13120,1)
elseif 30 == s then
say_item("Cartea Comandantului - 1 buc.", 70003, "")
pc.give_item2(70003,1)
elseif 31 == s then
say_item("Lingou 97kk - 1 buc.", 30600, "")
pc.give_item2(30600,1)
elseif 32 == s then
say_item("Perla alba - 1 buc.", 27992, "")
pc.give_item2(27992,1)
elseif 33 == s then
say_item("Perla Albastra - 1 buc.", 27993, "")
pc.give_item2(27993,1)
elseif 34 == s then
say_item("Perla Visinie - 1 buc.", 27994, "")
pc.give_item2(27994,1)
elseif 35 == s then
say_item("Binecuvantarea Vietii - 10 buc.", 71018, "")
pc.give_item2(71018,10)
elseif 36 == s then
say_item("Binecuvantarea Magiei - 15 buc.", 71019, "")
pc.give_item2(71019,15)
elseif 37 == s then
say_item("Binecuvantarea Dragon - 10 buc.", 71020, "")
pc.give_item2(71020,10)
elseif 38 == s then
say_item("Lingou 243kk - 1 buc.", 30601, "")
pc.give_item2(30601,1)
elseif 39 == s then
say_item("Pho-Hwan De Atac Negru - 1 buc.", 436, "")
pc.give_item2(436,1)
elseif 40 == s then
say_item("Otel de war - 1 buc.", 11290, "")
pc.give_item2(11290,1)
elseif 41 == s then
say_item("Otel de ninja - 1 buc.", 11290, "")
pc.give_item2(11490,1)
elseif 42 == s then
say_item("Otel de Sura - 1 buc.", 11690, "")
pc.give_item2(11690,1)
elseif 43 == s then
say_item("Otel de Shaman - 1 buc.", 11890, "")
pc.give_item2(11890,1)
end
end
end
when 30129.chat."Am un cos gol" with pc.count_item(50180) >= 1 and game.get_event_flag("easter_start") == 1 begin
say_title(""..mob_name(30129).."")
say("Ai un cos gol? Daca vrei sa pui oua in el,")
say("da-mi cosul, iar apoi da-mi ouale, le voi")
say("pune eu in cos.")
give_basket = select("Da cosul", "Nu da cosul")
if give_basket == 2 then
return;
else
pc.remove_item(50180, 1)
game.set_event_flag("easter_empty_baskets_count", game.get_event_flag("easter_empty_baskets_count")+1)
say_title("Informatii:")
say("Pentru a-i da ouale Iepurasului de Paste, trage")
say("ouale pe el.")
pc.setqf("easter_make_basket_active", 1)
pc.setqf("easter_make_basket_needed_eggs", 3)
end
end
when 30129.take with pc.getqf("easter_make_basket_active") == 1 and game.get_event_flag("easter_start") == 1 begin
if item.vnum >= 50160 and item.vnum <= 50179 then
if pc.getqf("easter_make_basket_needed_eggs") >= 1 then
pc.setqf("easter_make_basket_needed_eggs", pc.getqf("easter_make_basket_needed_eggs")-1)
pc.remove_item(item.vnum, 1)
game.set_event_flag("easter_eggs_count", game.get_event_flag("easter_eggs_count")+1)
say_title(""..mob_name(30129).."")
if pc.getqf("easter_make_basket_needed_eggs") == 0 then
say("Multumesc! Se pare ca am terminat cosul.")
say("Poftim!")
pc.setqf("easter_make_basket_active", 0)
pc.give_item2(50181,1)
return;
end
say("Multumesc! Mai am nevoie de "..pc.getqf("easter_make_basket_needed_eggs").." oua pentru")
say("a realiza cosul.")
else
say_title(""..mob_name(30129).."")
say("Multumesc! Se pare ca am terminat cosul.")
say("Poftim!")
pc.setqf("easter_make_basket_active", 0)
pc.give_item2(50181,1)
end
else
say_title(""..mob_name(30129).."")
say("Acest obiect nu este un ou. Nu il pot pune in cos.")
end
end
when 30129.chat."Am un cos cu Oua de Paste" with pc.count_item(50181) >= 1 and game.get_event_flag("easter_start") == 1 begin
say_title(""..mob_name(30129).."")
say("Ai un cos cu oua? Ce frumos ar fi")
say("daca mi-ai da acest cos! Iti voi da o recompensa")
say("frumoasa in schimbul lui!")
give_basket = select("Da cosul", "Nu da cosul")
if give_basket == 2 then
return;
else
pc.remove_item(50181, 1)
game.set_event_flag("easter_egg_baskets_count", game.get_event_flag("easter_egg_baskets_count")+1)
say_title(""..mob_name(30129).."")
say("Uite cadoul tau...")
local s = number(1, 43)
if 1 <= s and 5 >= s then
say_item("Elixirul Cercetatorului - 1 buc.", 71035, "")
pc.give_item2(71035,1)
elseif 5 >= s and 10 <= s then
say_item("Medalia Dragonului - 5 buc.", 71004, "")
pc.give_item2(71004,5)
elseif 10 >= s and 5 <= s then
say_item("Coada Scorpion + - 1 buc.", 30081, "")
pc.give_item2(30081,1)
elseif 20 >= s and 10 <= s then
say_item("Busola Pietrelor Metin - 1 buc.", 27989, "")
pc.give_item2(27989,1)
elseif 21 == s then
say_item("Metal Magic - 1 buc.", 25041, "")
pc.give_item2(25041,1)
elseif 22 == s then
say_item("Colier de Lacrima Cer+0 - 1 buc.", 16200, "")
pc.give_item2(16200,1)
elseif 23 == s then
say_item("Cercei de Lacrima Cer+0 - 1 buc.", 17200, "")
pc.give_item2(17200,1)
elseif 24 == s then
say_item("Bratara Lacrima Cer+0 - 1 buc.", 14200, "")
pc.give_item2(14200,1)
elseif 25 == s then
say_item("Papuci de Phoenix+0 - 1 buc.", 15200, "")
pc.give_item2(15200,1)
elseif 26 == s then
say_item("Scut Vultur+0 - 1 buc.", 13060, "")
pc.give_item2(13060,1)
elseif 27 == s then
say_item("Scut Tigru+0 - 1 buc.", 13080, "")
pc.give_item2(13080,1)
elseif 28 == s then
say_item("Scut Leu+0 - 1 buc.", 13100, "")
pc.give_item2(13100,1)
elseif 29 == s then
say_item("Scut Solzi de Dragon+0 - 1 buc.", 13120, "")
pc.give_item2(13120,1)
elseif 30 == s then
say_item("Cartea Comandantului - 1 buc.", 70003, "")
pc.give_item2(70003,1)
elseif 31 == s then
say_item("Lingou 97kk - 1 buc.", 30600, "")
pc.give_item2(30600,1)
elseif 32 == s then
say_item("Perla alba - 1 buc.", 27992, "")
pc.give_item2(27992,1)
elseif 33 == s then
say_item("Perla Albastra - 1 buc.", 27993, "")
pc.give_item2(27993,1)
elseif 34 == s then
say_item("Perla Visinie - 1 buc.", 27994, "")
pc.give_item2(27994,1)
elseif 35 == s then
say_item("Binecuvantarea Vietii - 10 buc.", 71018, "")
pc.give_item2(71018,10)
elseif 36 == s then
say_item("Binecuvantarea Magiei - 15 buc.", 71019, "")
pc.give_item2(71019,15)
elseif 37 == s then
say_item("Binecuvantarea Dragon - 10 buc.", 71020, "")
pc.give_item2(71020,10)
elseif 38 == s then
say_item("Lingou 243kk - 1 buc.", 30601, "")
pc.give_item2(30601,1)
elseif 39 == s then
say_item("Pho-Hwan De Atac Negru - 1 buc.", 436, "")
pc.give_item2(436,1)
elseif 40 == s then
say_item("Otel de war - 1 buc.", 11290, "")
pc.give_item2(11290,1)
elseif 41 == s then
say_item("Otel de ninja - 1 buc.", 11290, "")
pc.give_item2(11490,1)
elseif 42 == s then
say_item("Otel de Sura - 1 buc.", 11690, "")
pc.give_item2(11690,1)
elseif 43 == s then
say_item("Otel de Shaman - 1 buc.", 11890, "")
pc.give_item2(11890,1)
end
end
end
when 30129.chat."GM: Statistici Event de Paste" with pc.is_gm() and game.get_event_flag("easter_start") == 1 begin
local eggs = game.get_event_flag("easter_eggs_count")
local empty_baskets = game.get_event_flag("easter_empty_baskets_count")
local egg_baskets = game.get_event_flag("easter_egg_baskets_count")
say_title(""..mob_name(30129).."")
say_reward("Pana acum, "..eggs.." oua au fost duse la iepuras!")
say("")
say_reward("Pana acum, "..empty_baskets.." cosuri goale au fost duse la iepuras!")
say("")
say_reward("Pana acum, "..egg_baskets.." cosuri cu oua au fost duse la iepuras!")
return;
end
when 30129.chat."GM: Inchide event-ul de Paste" with pc.is_gm() and game.get_event_flag("easter_start") == 1 begin
say_title(""..mob_name(30129).."")
say_reward("Vrei sa inchizi event-ul de Paste?")
close_event = select("Da", "Nu")
if close_event == 2 then
return;
end
say_title(""..mob_name(30129).."")
say_reward("Sigur vrei sa faci acest lucru?")
say_reward("Este ultima sansa de a te razgandi!!!")
close = select("Da", "Nu")
if close_event == 2 then
return;
end
game.set_event_flag("easter_start", 0)
game.set_event_flag("easter_eggs_count", 0)
game.set_event_flag("easter_empty_baskets_count", 0)
game.set_event_flag("easter_egg_baskets_count", 0)
notice_all("Evenimentul de Paste s-a incheiat!")
notice_all("Ouale si cosurile le puteti distruge la Cetateanul Turmentat!")
end
when login with game.get_event_flag("easter_start") == 0 begin
pc.setqf("easter_make_basket_active", 0)
pc.setqf("easter_make_basket_needed_eggs", 0)
set_state(start)
end
end
end1. Salvaţi conţinutul quest-ului într-un fişier text numit de exemplu nume_quest.quest .
2. Vă conectaţi la filezilla / winscp şi întrati în /usr/home/game/share/locale/germany/quest (depinde ce server aveţi).
3. Îl puneţi acolo (să fie .quest) şi da-ţi permisiuni 777.
4. Te loghezi în FreeBSD / putty şi scrii în felul următor: cd /usr/home/game/share/locale/germany/quest apoi ./qc nume_quest.quest
5. Intraţi pe server şi scrieţi /reload q .
6. Testaţi quest-ul .




