Pár questem

Indította <Alchemist>, 2013-03-09, 17:33:27

2013-03-09, 17:33:27 Utolsó szerkesztés: 2013-04-04, 17:09:06 Szerző: <Alchemist>
Sziasztok

tp_bug_fix quest ugye azt csinálja, ha belépésnél 0 alatt van a Tp és Mp-d akkor feltölti.
Azt vettem észre, hogyha GM cucc van rajtunk, ami ad ugye egy csomó TP-t, akkor nem tölti fel a tp-t mégha a megfelelő értéket adjuk meg neki, akkor se. Nos kibővítettem egy apró dologgal a questet, ha egy GM belép, akkor autómatikusan egy command parancsal beírja neki hogy /r (Amit persze nem lát a GM).

Itt a quest:

quest tp_bug_fix begin
    state start begin
        when login begin
            pc.get_hp()
            pc.get_sp()
            if pc.hp <0 then
            affect.add_collect(apply.HP_REGEN, 100000000, 5)
            end
            if pc.sp <0 then
            affect.add_collect(apply.SP_REGEN, 100000000, 5)
            end
when login with pc.is_gm() begin
command("r")
end
        end
    end
end


Csináltam egy szorzós questet is:

quest szorzok begin
state start begin
when letter with pc.is_gm() begin
send_letter("Szorzók")
end
when button or info begin
say_title("Szorzók:")
say("Beállítsam a szorzókat")
say("1000-re? ")
say(" ")
say_reward("24 óráig érvényesek a szorzók.")
local b = select ( "Igen" , "Nem" )
if b == 2 then
send_letter("Szorzók")
end
if b == 1 then
command("priv_empire 0 4:exp 1000 24")
command("priv_empire 0 2:gold_drop 1000 24")
command("priv_empire 0 3:gold10_drop 1000 24")
command("priv_empire 0 1:item_drop 1000 24")
send_letter("Szorzók")
end
end
end
end


Itt eg max level quest, hogyha eléri a játékos a max levelt, akkor ad neki egy tárgyat (Tárgy ID-t írd át!) és notice parancsal gratulál neki a szerver emelett egy ablakban is kap pár szót.

quest maxlevel begin
state start begin
when levelup with pc.get_level() == 250 begin
say_title("Sárkányisten:")
say(" ")
say("Látom elérted az 250. szintet.")
say("Gratulálok neked!")
say("Remélem sok boldog időt fogsz")
say("Itt még eltölteni!")
say("Most kapsz egy X tárgyat.")
say(" ")
say_reward("Üdvözlet: Sárkányisten")
notice_all(" "..pc.get_name().." elérte a 250. szintet.")
notice_all(" Gratulálunk neki! Jutalma egy X tárgy.")
pc . give_item2 ( "TárgyID" , 1 )
end
end
end


Ha nem 250 a max szint nálad, akkor írd át.

És itt egy holdfény láda quest is: (Frissítve!)
2db quest van. Ha a fölsőt (ami a levél) nem rakod be, akkor / e holdxla 1-el tudod bekapcsolni és / e holdxla 0-al kikapcsolni.

quest_functionsba:

game.drop_item_with_ownership

quest holdfeny begin
state start begin
when letter with pc.is_gm() begin
send_letter("Holdfény Láda")
end
when button or info begin
say_title("Holdfény Láda quest:")
say(" ")
say("Bekapcsoljam a holdfény láda eventet?")
say(" ")
say_reward("Addig lesz aktív, míg itt ki")
say_reward("Nem kapcsolod!")
local b = select ( "Bekapcsolom az eventet!" , "Kikapcsolom az eventet!" , "Mégse" )
if b == 3 then
return
end
if b == 2 then
game.set_event_flag("holdxla", 0)
notice_all("Holdfény láda event befejeződött.")
send_letter("Holdfény Láda")
end
if b == 1 then
game.set_event_flag("holdxla", 1)
notice_all("Holdfény láda event elkezdődött!")
send_letter("Holdfény Láda")
end
end
end
end


quest holdfenykill begin
state start begin
when kill with game.get_event_flag("holdxla") == 1 begin
local talan = math.random(1,5)
if talan == 2 then
game.drop_item_with_ownership(50011, 1)
end
end
end
end


DC információs quest: (Ha nem a 209 es alap mapindexet használod, akkor írd át!)

quest dcinfo begin
state start begin
when letter with pc.get_map_index()==209 begin
send_letter("Az Ördög Katakombája")
end
when button or info begin
say_title("Az Ördög Katakombája:")
say(" ")
say("1. Szint: Addig üsd a szörnyeket míg nem dob")
say("Lélek Kristály Kulcsot, majd tedd rá a szoborra.")
say("2. Szint: A kapukat szétütve menj el a pálya")
say("Közepére és ott kattints az NPC-re.")
say("3. Szint: Üsd szét a jó metinkövet, és ha leütötted")
say("Akkor továbbjutsz a következő szintre.")
say("4. Szint: Keresd meg az útvesztő végét, majd")
say("Kattints az előtted álló Rúna kőre.")
say("5. Szint: Öld meg a boss-t majd a tőle kapott")
say("Kulcsot tedd rá a hegy tetőn lévő emlékműre.")
say(" ")
wait()
say_title("Az Ördög Katakombája:")
say (" ")
say("6. Szint: Öld meg Charont, és automatikusan")
say("Bejutsz a trónterembe.")
say("7. Szint: Öld meg Azraelt és kapsz 3db")
say("Végzet ládát és 8 rögöt. A megölése")
say("Lesz 2 perced, utána ki leszel")
say("Teleportálva.")
say(" ")
say_reward("Információkat megkaptad.")
end
end
end


Sokaknál buggos a DT, így csatoltam egy működő magyar DT questet, a benne lévő regeneket pedig ide tedd: /usr/home/game/share/data/dungeon

Nyisd meg a locale.luadat keress rá erre: locale.deviltower_man_chat Ha nem ad ki rá semmit, akkor ezt írd bele a végére, de üss egy entert előtte:

locale.deviltower_man_chat = "Belépés a Toronyba"
locale.deviltower_man_say = "Sok veszélyes lélek van ott. [ENTER] Mindazonáltal Eddig senki se lépett fel a legmagasabb szintre. [ENTER] Számtalan bátor harcos lépett be, de soha nemjött vissza senki...[ENTER] Belépsz a toronyba?"
locale.deviltower_man_say_you_cant = "Sok halott lapul ebben a toronyban [ENTER] Az erös harcosok egyszerre képesek volnának legyözni a királyt [ENTER] Csak a kaszás tud a toronyban élni elhagyatottan [ENTER] Te még nem vagy 40 Szintes, próbáld késöbb."
locale.deviltower_enter = "Belépek"
locale.deviltower_no_enter = "Inkább most nem"


Talán teszek még fel ide pár questet amit én készítettem  :)