[QUEST]Néhány hasznosabb quest

Indította SceneXYZ, 2012-09-14, 17:36:07

2012-09-14, 17:36:07 Utolsó szerkesztés: 2013-05-08, 21:38:36 Szerző: SceneXYZ
Sziasztok fórumlakók!  :)

Úgy döntöttem,pakolgatok ki Nektek néhány questet,ami talán hasznotokra lehet. Ezek amolyan kezdő (vagy inkább közép?!) szintű kategóriába sorolhatók,ám sokaknak problémát okoz egy-egy quest megírása,még a könnyebbik fajtából is,így segítség gyanánt iderakok néhányat,amely talán fel tud dobni egy-egy kisebb (vagy akár nagyobb...) szervert is!

1. Információ gyüjtés:
Ennek segítségével egy meghatározott tárgyra kattintva a játékos megkapja saját -azaz karaktere- fontosabb adatait:



quest adatgyujtes begin
state start begin
when ITEMID.use begin -- ITEMID helyére kerüljön a tárgy id-je.
say_title("Íme néhány információ rólad: ")
say("Neved: " .. pc.get_name() .. " ")
say("Szinted: " .. pc.get_level() .. " ")
say("EXP: " .. pc.get_exp() .. " ")
say("Szinted 10 szint múlva: " .. pc.get_level() + 10 .. " ")
say("Lovad szintje: " .. pc.get_horse_level() .. " ")
say("Következő szinthez szükséges EXP: " .. pc.get_next_exp() - pc.get_exp .. " ")
end
end
end


2.Bankár quest:

Ez a kis quest amolyan Yangadóként hat,kicsi "történettel" megspékelve. 1 karakter 24 óránként vehet fel tőle pénzt:

quest bankar begin
state start begin
when NPCID.click begin  -- NPCID helyére kerül az npc id-je.
say_title("Bankár")
say("Üdvözletem,miben segíthetek?")
say("Áh,pénzt szeretne gondolom...")
say("Minden ügyfelünk rendelkezésére bocsátunk 1 millió yangot")
pc.getqf('bankar')
if get_time() >= pc.getqf('bankar') then
say_title("Bankár")
say("Úgy látom,Ön már szerepel az adatbázisunkban,így nem adhatunk magának pénzt!")

elseif get_time() < pc.getqf('bankar') then
say("Biztosan szeretné felvenni a pénzösszeget?")

local bankar_select1 = select ("Igen,szeretném.","Nem szeretném")
if bankar_select1 == 1 then
say_title("Bankár")
say("Rendben van,itt a szerződést,olvassa át")
say("majd írja alá itt,és itt")
local bankar_select2 = select("Aláírom","Inkább hagyjuk..")
if bankar_select2 == 1 then
pc.setqf('bankar', get_time() + 60*60*24) -- 24 óránként enged majd pénzt felvenni,ha módosítani szeretnéd,írd át a "60*60*24" részt.
say_title("Bankár")
say("Ezzel meg is volnánk,máris hozom a pénzt")
say("...")
say("Itt is van,parancsoljon. Viszont látásra"!)
say_reward(" 1 millió yangot kaptál")
pc.changegold("1000000") -- pénzösszeg

elseif bankar_select == 2 then
say_title("Bankár")
say("Meggondolta magát? Hát jó.Minden jót!")

end

elseif bankar_select1 == 2 then
say_title("Bankár")
say("Meggondolta magát? Hát jó,viszont látásra!")
end
end
end
end
end


3. PvP Event Rendszer
Ez semmi más, mint egy szimpla kis, PvP event lebonyolítását könnyíteni szolgáló questecske. Egy GM adott NPC-re kattintva indíthatja el, valamint zárhatja le az eventet, event végén kihírdetheti a kasztonkénti győzteseket,továbbá minden egyes kasztnak külön-külön helye van. Magyarán; Külön helyre teleportálja a surákat, külön helyre a sámánokat,warikat,ninjákat, mindemelett egy 5. helyszín is van, amelyre a nézőket tömöríti össze beteleportáláskor az adott mapon.



quest pvpevent begin
state start begin
when NPCID.click with pc.is_gm == true begin

local pvp_1 = select("PvP Event indítása","PvP Event leállítása", "Mégse")

if pvp_1 == 1 then
local event_status = game.get_event_flag("pvpevent")
if event_status == 0 then
game.set_event_flag("pvpevent", 1)
notice_all("A PvP rendezvény hamarosan kezdetét veszi!")
notice_all("Nevezni XY-nál tudsz!")

elseif event_status == 1 then
say("Már zajlik a PvP event!")
end

elseif pvp_1 == 2 then
if event_status == 0 then
say("Jelenleg nem zajlik PvP event!")

elseif event_status == 1 then
game.set_event_flag("pvpevent", 0)
notice_all("A PvP rendezvény véget ért!")
notice_all("Gratulálunk minden résztvevőnek!")

local eredmeny = select("Győztesek kihírdetése!")
if eredmeny == 1 then
say("Írd be a Harcosok közti győztes nevét:")
local eredmeny_w = input
say("Írd be a Ninják közti győztes nevét:")
local eredmeny_n = input
say("Írd be a Surák közti győztes nevét:")
local eredmeny_su = input
say("Írd be a Sámánok közti győztes nevét:")
local eredmeny_sha = input
wait()
notice_all(eredmeny_w)
wait()
notice_all(eredmeny_n)
wait()
notice_all(eredmeny_su)
wait()
notice_all(eredmeny_sa)
end
end

elseif pvp_1 == 3 then
return
end
end

when NPCID.click with pc.is_gm() == false and game.get_event_flag("pvpevent") == 1 begin

local pvp_2 = select("Jelentkezés a PvP Eventre", "Belépés nézőként!", "Mégse")

if pvp_2 == 1 then
local kaszt = pc.get_job()
if kaszt == 0 then
say("Azonnal teleportálva leszel a megfelelő helyre!")
pc.warp(x_koordi, y_koordi) -- // Harcosoknak fenntartott gyülekezőhely // --

elseif kaszt == 1 then
say("Azonnal teleportálva leszel a megfelelő helyre!")
pc.warp(x_koordi, y_koordi) -- // Ninjáknak fenntartott gyülekezőhely // --

elseif kaszt == 2 then
say("Azonnal teleportálva leszel a megfelelő helyre!")
pc.warp(x_koordi, y_koordi) -- // Suráknak fenntartott gyülekezőhely // --

elseif kaszt == 3 then
say("Azonnal teleportálva leszel a megfelelő helyre!")
pc.warp(x_koordi, y_koordi) -- // Sámánoknak fenntartott gyülekezőhely // --
end

elseif pvp_2 == 2 then
say("Azonnal teleportálva leszel a nézőtérre!")
pc.warp(x_koordi, y_koordi) -- // Nézőknek fenntartott gyülekezőhely // --

elseif pvp_2 == 3 then
return
end
end
end
end


Folyamatosan bővíteni fogom a listát.! Továbbá lehet kérni is questet,amiket igyekszem gyorsan,és pontosan megírni.  :)
NEM csinálom meg helyetted a szerveredet.
NEM fogok teljesen alap questeket írni helyetted.