Wenn ich Auf Level 99 drücke Kriege ich Keine EXP 0 EXP 0 bekomme ich..
PHP Code:
----------------------------------------------------------------
---- Quest by .cye --------------------------------------------
----------------------------------------------------------------
quest lvl99 begin
state start begin
when 20094.chat."Level 99" begin
say_title("Level 99")
pc.give_exp(5555)
pc.give_exp(5555)
pc.give_exp(5555)
end
end
end
PHP Code:
quest lvl99 begin
state start begin
when 20094.chat."Level 99 werden" with pc.getqf("level99") != 1 begin
pc.give_exp(999999)
pc.give_exp(999999)
pc.give_exp(999999)
pc.setqf("level99", 1)
end
end
end
Wenn ich auf der Quest klicke & auf Level 99 klicke Öffnet sich der Chat und dann oben und unten ein schwarzer balken und danach passiert nichts mehr
In virutal box kommt der Error :
Kann mir einer eine quest sqripten wo ein npc leute in monster verandeln kann.
Und zwar möchte ich das mit diesen monstern:Eis-Golem, Dunkler Anführer, Felsenaffe, Weihnachtsmann, Riesiger Geisterbaum, Flamenkönig.
Und kann der dann machen das wenn man den npc anklickt nicht auf einmal die aus wahl der monster zum verwandeln stehn sondern das man auf Monster verwandeln klickt und dann die monster auswahl kommt.
Vieleicht versteht ihr das nich wenn ja dann pn´t mich.
Zu 2. : füge einfach : when 9009.chat."User-Panel" begin
Anstatt dem when use dann kannst du 9009 (Fischer) ansprechen und da dann des userpanel starten kannst natürlich jeden anderen npc nehmen !
Hoffe des hilft dir ein wenig
Ich will ja mit dem User-panel den npc ansprechen nicht mit npc user-panel starten^^ das war meine frage^^
quest devildown begin state start begin when 30121.chat."Das Geheimnis Ascarias" begin if pc . get_level ( ) < 80 then say ("Du hast noch nicht genuegend Erfahrung gesammelt. Komme wieder, wenn du Level 80 bist!") else say_title("Surageist") say("") say("Ich war einst Krieger der Kaiserlichen Armee.") say("Vor vielen Jahren gab es einen Ort, der von einem") say("Drache bewacht wurde. Heute kennt man ihn unter dem") say("Name - Tal von Ascaria. Eigentlich wurde es mir") say("verboten Informationen über die Lage dieses Ortes zu") say("geben aber ich könnte dich trotzdem") say("dort hin teleportieren.") say("") say_reward("Soll ich dich ins Tal von Ascaria teleportieren?")
local s = select("Teleportieren", "Hier bleiben") if s == 1 then pc.warp(307200, 1203200) else return end end end
when 8027.kill with pc.get_map_index()== 220 begin local jump1 = number(1, 20) if jump1<=10 then chat("Das muss der Teil einer Karte sein.") chat("Bringe ihn dem Kriegergeist.") game.drop_item(30126, 1) else chat("In diesem Metin war anscheinend keine Karte..") end end
when 30122.chat."Teil einer Karte" begin
if pc.count_item(30126)>=1 then say_title("Teil einer Karte") say("Du hast eine Karte gefunden?!") say("Lass mal sehen!") pc.removeitem("30126", 1) wait() say("Okay, ich denke das ist erstmal ausreichend") say("Die Qualität ist gut und ihr werdet Teleportiert") say("Bis zum nächsten mal") wait() d.new_jump_all(220, 3182, 12142) d.setf("devillevel", 1) -- Removed Schlüsselsteine aus deinem Inventar falls vorhanden, um Bugusing vorzubeugen. -- local boxto7= pc.count_item(30300) pc.remove_item(30300,boxto7) --------------------------------------------------------------------------------------------
local vid = d.spawn_mob(11510, 268, 311) d.regen_file("data/dungeon/dd_regen2.txt") d.set_unique("real", vid) d.notice("Zerstört das legendäre Feuer der Macht."); else say("Ich habe gehört, dass man an den Metinsteine,") say("hier in der Umgebung Teile von Karten finden kann,") say("wenn man sie zerstört. Wenn du mir ein solches") say("Teil bringen könntest, könnte ich dich in das") say("nächste Gebiet teleportieren, da ich dann das") say("Gebiet genauer untersuchen könnte.") end end
when 11510.kill with pc.in_dungeon() begin if d.is_unique_dead("real") then d.setf("devillevel", 2) d.clear_regen() d.jump_all(3542, 12825) d.regen_file("data/dungeon/dd_warps.txt") end end
when 20083.chat."Geheimnissvolle Gänge" with pc.in_dungeon() and d.getf("devillevel") == 2 begin say_title("Jagal-Tunseok") say("") say("Diese Gänge.. Sie bringen mich um") say("meinen Verstand.. Ich laufe nun schon") say("den ganzen Tag in ihnen herum, aber ich habe") say("keine Ahnung, wo ich noch lang gehen soll.") say("Ich suche doch nur meinen Bruder..") say("") say("Wenn ich ihn doch nur finden würde..") wait() d.spawn_mob(20080, 493, 595) d.setf("devillevel", 3) d.jump_all(3347, 12810) end
when 20080.chat."Jagal-Tunseok" with pc.in_dungeon() and d.getf("devillevel") == 3 begin say_title("Sao-Hae") say("") say("Mein Bruder Jagal-Tunseok?") say("Du hast ihn getroffen?") say("Ja ich bin sein Bruder.. Es wäre") say("sehr nett von Ihnen, ihm zu sagen wo ich") say("bin, wenn du ihn noch einmal sehen solltest.") say("") wait()
d.setf("devillevel", 4) timer("devildown_jump1", 1) end
when devildown_jump1.timer begin d.clear_regen() d.regen_file("data/dungeon/dd_regen3.txt") local vid = d.spawn_mob(1191, 803, 290) d.set_unique("real", vid) d.jump_all(3619, 12075) d.notice("Sucht die Eishexe und tötet sie, damit der Wächter"); d.notice("des Untergrundes sich nicht länger verstecken muss."); end
when 1191.kill with pc.in_dungeon() and d.getf("devillevel") == 4 begin if d.is_unique_dead("real") then d.spawn_mob(20351 , 740 , 207) d.setf("devillevel", 5) end end
when 20351.chat."Wächter des Untergrundes" with pc.in_dungeon() and d.getf("devillevel") == 5 begin say_title("Wächter des Untergrundes") say("Man nennt mich den Wächter des Untergundes.") say("Ich bin schon eine weile hier und kenne das Gebiet") say("ein wenig besser wie du, wenn ich das so sagen darf.") say("") say("Ich könnte euch alle zu den alten Siegeln teleportieren.") say("Ich selbst traue mich dort nicht hin.") say("Mir ist der Ort irgendwie unheimlich.") say("") wait() d.setf("devillevel", 6) timer("devildown_jump2", 2) end
when devildown_jump2.timer begin d.clear_regen() d.jump_all(4438, 12282) d.regen_file("data/dungeon/dd_regen4.txt") d.spawn_mob(20361, 1241, 250) d.spawn_mob(20361, 1246, 242) d.spawn_mob(20361, 1255, 243) d.spawn_mob(20361, 1259, 250) d.spawn_mob(20361, 1254, 258) d.spawn_mob(20361, 1246, 258) d.setf("devildownstone_count", 6) timer('devildownstone1', 300) d.notice("Um das Portal zum Roten Drache zu aktivieren, müssen"); d.notice("die alten Siegel zerstört werden. Ihr habt nur 20 Minuten,"); d.notice("um alle 6 Siegel zu öffnen."); end
when devildownstone1.timer begin d.notice("Verbleibende Zeit: 15 Minuten") timer('devildownstone2', 300) end
when devildownstone2.timer begin d.notice("Verbleibende Zeit: 10 Minuten") timer('devildownstone3', 300) end
when devildownstone3.timer begin d.notice("Verbleibende Zeit: 5 Minuten") timer('devildownstone4', 300) end
when devildownstone4.timer begin d.clear_regen() d.notice("Die Zeit ist abgelaufen") d.notice("Ihr werdet nun nach draußen teleportiert") pc.warp(391700, 1293100) end
when 2510.kill with pc.in_dungeon() and d.getf("devillevel") == 6 begin local KILL_COUNT_FOR_DROP_DEVIL_KEY = 15 local n =d.getf("count") + 1 d.setf("count", n)
if n == KILL_COUNT_FOR_DROP_DEVIL_KEY then game.drop_item(50084, 1) d.setf("count", 0) end end
when 20361.take with item.vnum == 50084 and d.getf("devillevel") == 6 begin npc.purge() item.remove() d.setf("devildownstone_count", d.getf("devildownstone_count") - 1) if d.getf("devildownstone_count") <= 0 then d.setf("devillevel", 7) -- Setzt die Timer von der Vorletzen EBENE auf 800000 Sec. -- Um das nachträgliche herausfliegen zu vermeiden. timer('devildownstone1', 800000) timer('devildownstone2', 800000) timer('devildownstone3', 800000) timer('devildownstone4', 800000) -------------------------------------------------------- d.clear_regen() d.notice("Ihr habt alle alten Siegel geöffnet.") d.notice("Das Portal zum Roten Drache hat sich geöffnet.") timer("devildown_nexttimer", 3) else d.notice("Es verbleibt eine Anzahl von "..d.getf("devildownstone_count").." Siegeln") end end
when devildown_nexttimer.timer begin d.jump_all(4374, 12740) -- End Spwan!!! d.regen_file("data/dungeon/dd_boss7.txt") local vid = d.spawn_mob(2291, 1302, 708) d.set_unique("real", vid) ------------------ end
when 2291.kill with pc.in_dungeon() begin if d.is_unique_dead("real") then d.notice("Ihr habt den Roten Drache, den Wächter des Tals von Ascaria besiegt."); d.notice("Ihr werdet in 20 Sekunden zurück zum Anfang teleportiert.."); timer("devildown_escapetimer", 20) end end
when devildown_escapetimer.timer begin d.clear_regen() d.setf("devillevel", 0) pc.warp(391700, 1293100) end
end end
so sieht meine quest aus. ich möchte nach der eishexe, 4te Etage, die Value 20351 spawnen lassen. Sprich; Wenn die Eishexe gefunden wurde, getötet wurde, soll dieser NPC spawnen, diesen soll man dann anklicken um weiter zu kommen. Wie, wo und was muss ich eintragen? bitte um hilfe, nach 50 anfragen danach ... -.-
[71137] = { 20120, item.get_socket(2)*60,PREMIUM_EXP,30,100, false }, --Horse_event
}
if pc.level < ride_info[vnum][5] then
say("Dein Level ist zu niedrig für dieses Reittier!")
say("Du würdest es nicht zähmen können...")
return
elseif pc.is_polymorphed() then
say("Du kannst nicht reiten während du verwandelt bist!")
return
elseif pc.is_riding() then
say("Du kannst kein Reittier beschwören, du reitest noch.")
return
else
pc.mount( ride_info[vnum][1], ride_info[vnum][2] )
pc.mount_bonus( ride_info[vnum][3], ride_info[vnum][4], ride_info[vnum][2] )
if true == ride_info[vnum][6] then
end
end
end
when 71114.use or 71115.use or 71116.use or 71117.use or 71118.use or 71119.use or 71120.use or 71121.use --normale siegel
or 71124.use or 71125.use or 71126.use or 71127.use or 71128.use --48H reittier siegel
or 80110.use or 80111.use or 80112.use or 80113.use or 80114.use --Anfangs Siegel Starterse
or 71131.use or 71132.use or 71133.use or 71134.use --Rappensiegel
or 71137.use begin --Königstiger
if pc.get_map_index() == 113 or
pc.get_map_index() == 118 or
pc.get_map_index() == 119 or
pc.get_map_index() == 120 or
pc.get_map_index() == 122 or
pc.get_map_index() == 123 or
pc.get_map_index() == 124 or
pc.get_map_index() == 126 or
pc.get_map_index() == 127 or
pc.get_map_index() == 128 and not pc.is_gm() then
say("Du darfst das Pferd hier nicht rufen.")
return
end
ride.Ride(item.get_vnum())
end
when login begin
if pc.get_map_index() == 113 or
pc.get_map_index() == 118 or
pc.get_map_index() == 119 or
pc.get_map_index() == 120 or
pc.get_map_index() == 122 or
pc.get_map_index() == 123 or
pc.get_map_index() == 124 or
pc.get_map_index() == 126 or
pc.get_map_index() == 127 or
pc.get_map_index() == 128 and not pc.is_gm() then
syschat("Du darfst das Rettier hier nicht benutzen.")
return
end
local vnum, remain_time = pc.get_special_ride_vnum()
if 0 != vnum then
if pc.is_polymorphed() then
return
elseif pc.is_riding() then
return
else
ride.Ride(vnum, remain_time)
end
end
end
end
end
vnum " 71134 " soll 1000 Angriffswert geben ,200 deff und 100% EXP
Ich versuche gerade eine einfache Reittier Siegel Quest zu schreiben.
Sie ist bis jetzt nicht schlecht, beim anklicken des Siegels geht man aufs Mount drauf und bekommt ein boni, wenn ich wiederholt auf das Siegel klicke, steigt man ab und verliert den jeweiligen Boni, aber wen ich mit Strg+H oder Strg+G vom Mount absteige, bleibt der boni.
Hier erst mal mein Quest ausschnitt:
HTML Code:
quest reittiere begin
state start begin
function remove_mount_bonis()
affect.remove_collect(apply.ATT_GRADE_BONUS, 50, 60*60*24*365)
affect.remove_collect(apply.ATT_GRADE_BONUS, 100, 60*60*24*365)
affect.remove_collect(apply.ATT_GRADE_BONUS, 150, 60*60*24*365)
affect.remove_collect(apply.ATT_GRADE_BONUS, 200, 60*60*24*365)
affect.remove_collect(apply.ATTBONUS_MONSTER, 3, 60*60*24*365)
affect.remove_collect(apply.ATTBONUS_MONSTER, 5, 60*60*24*365)
affect.remove_collect(apply.ATTBONUS_MONSTER, 10, 60*60*24*365)
affect.remove_collect(apply.MAX_HP, 1000, 60*60*24*365)
affect.remove_collect(apply.MAX_HP, 2000, 60*60*24*365)
affect.remove_collect(apply.MAX_HP, 4000, 60*60*24*365)
affect.remove_collect(apply.ATT_SPEED, 4, 60*60*24*365)
affect.remove_collect(apply.ATT_SPEED, 8, 60*60*24*365)
affect.remove_collect(apply.ATT_SPEED, 12, 60*60*24*365)
end
when unmount begin
reittiere.remove_mount_bonis()
end
when 71114.use begin
if not pc.is_mount() then
pc.mount(20110,999999)
affect.add_collect(apply.ATT_GRADE_BONUS, 50, 60*60*24*365)
else
pc.unmount()
reittiere.remove_mount_bonis()
end
end
end
end
Eigentlich soll es durch "when unmount begin" ausgelöst werden, aber es geht nicht
Das mit "when unmount begin" habe ich von
Weiß jemand wie ich das hinbekomme, das ich auch bei Strg+H und Strg+G den Boni vom Reittier verliere?
Wäre echt nett wen ihr mir helfen könntet
Also die Quest sollte so gehen. Wenn man den Reittier ruft sollte man die Bonis die bei "pc.mount_bonus" stehen kriegen. Wenn man dann Strg+G druckt (Reittier wegschickt) sollten die bonis wieder verschwinden.
Fehler der immer kommt ist im Anhang.
Hier ist die Quest:
PHP Code:
quest Reittiere_Bonis begin
state start begin
when 71124.use begin
if pc.level>=50 and not pc.is_mount() then
chat("Du hast dein Weissen Löwen gerufen!")
affect.remove_collect()
pc.mount(20114, 9999)
pc.mount_bonus(apply.MOV_SPEED, 500, 60*60*24*5000)
else
chat("Du bist noch nicht Level 50!")
end
end
when 71125.use begin
if pc.level>=50 and not pc.is_mount() then
chat("Du hast dein Kriegskeiler gerufen!")
affect.remove_collect()
pc.mount(20116, 9999)
pc.mount_bonus(apply.ATT_GRADE_BONUS, 200, 60*60*24*5000)
else
chat("Du bist noch nicht Level 50!")
end
end
when 71127.use begin
if pc.level>=50 and not pc.is_mount() then
chat("Du hast dein Sturmtiger gerufen!")
affect.remove_collect()
pc.mount(20115, 9999)
pc.mount_bonus(apply.CRITICAL_PCT, 20, 60*60*24*5000)
else
chat("Du bist noch nicht Level 50!")
end
end
when 71126.use begin
if pc.level>=50 and not pc.is_mount() then
chat("Du hast dein Streitwolf gerufen!")
affect.remove_collect()
pc.mount(20117, 9999)
pc.mount_bonus(apply.DEF_GRADE_BONUS, 200, 60*60*24*5000)
else
chat("Du bist noch nicht Level 50!")
end
end
end
end
Also die Quest sollte so gehen. Wenn man den Reittier ruft sollte man die Bonis die bei "pc.mount_bonus" stehen kriegen. Wenn man dann Strg+G druckt (Reittier wegschickt) sollten die bonis wieder verschwinden.
Fehler der immer kommt ist im Anhang.
Hier ist die Quest:
PHP Code:
quest Reittiere_Bonis begin
state start begin
when 71124.use begin
if pc.level>=50 and not pc.is_mount() then
chat("Du hast dein Weissen Löwen gerufen!")
affect.remove_collect()
pc.mount(20114, 9999)
pc.mount_bonus(apply.MOV_SPEED, 500, 60*60*24*5000)
else
chat("Du bist noch nicht Level 50!")
end
end
when 71125.use begin
if pc.level>=50 and not pc.is_mount() then
chat("Du hast dein Kriegskeiler gerufen!")
affect.remove_collect()
pc.mount(20116, 9999)
pc.mount_bonus(apply.ATT_GRADE_BONUS, 200, 60*60*24*5000)
else
chat("Du bist noch nicht Level 50!")
end
end
when 71127.use begin
if pc.level>=50 and not pc.is_mount() then
chat("Du hast dein Sturmtiger gerufen!")
affect.remove_collect()
pc.mount(20115, 9999)
pc.mount_bonus(apply.CRITICAL_PCT, 20, 60*60*24*5000)
else
chat("Du bist noch nicht Level 50!")
end
end
when 71126.use begin
if pc.level>=50 and not pc.is_mount() then
chat("Du hast dein Streitwolf gerufen!")
affect.remove_collect()
pc.mount(20117, 9999)
pc.mount_bonus(apply.DEF_GRADE_BONUS, 200, 60*60*24*5000)
else
chat("Du bist noch nicht Level 50!")
end
end
end
end
Hoffe dass jemand mir helfen kann.
Trag den Befehl
Code:
pc.mount_bonus
in die quest_functions Datei im Quest Ordner ein. Dann gehts.
Wenn ich Auf Level 99 drücke Kriege ich Keine EXP 0 EXP 0 bekomme ich..
PHP Code:
----------------------------------------------------------------
---- Quest by .cye --------------------------------------------
----------------------------------------------------------------
quest lvl99 begin
state start begin
when 20094.chat."Level 99" begin
say_title("Level 99")
pc.give_exp(5555)
pc.give_exp(5555)
pc.give_exp(5555)
end
end
end
PHP Code:
quest lvl99 begin
state start begin
when 20094.chat."Level 99 werden" with pc.getqf("level99") != 1 begin
pc.give_exp(999999)
pc.give_exp(999999)
pc.give_exp(999999)
pc.setqf("level99", 1)
end
end
end
Wenn ich auf der Quest klicke & auf Level 99 klicke Öffnet sich der Chat und dann oben und unten ein schwarzer balken und danach passiert nichts mehr
In virutal box kommt der Error :
with pc . getqf ("level99") ~=1 ??
PHP Code:
quest lvl99 begin
state start begin
when 20094.chat."Level 99 werden" with pc.get_level() < 99 begin
while pc.get_level() < 99 do
local a = pc.get_next_exp()
pc.give_exp2(a)
end
end
end
end
quest beruf begin state start begin when login or levelup with pc.get_level() == 35 then when pc.getqf(beruf_gewaehlt) == 0 then say_title("Der Beruf") say("") say("Du hast nun das Level 35 erreicht. Du kannst nun") say("zwischen drei Berufen wählen:") say("") say("Schlächter, Heiler, Levler und Farmer") say("") say("Wenn du Informationen über den Beruf erhalten willst,") say("dann klicke einfach auf den Beruf.") local beruf = select("Schlächter", "Heiler", "Levler", "Farmer") when beruf == 1 then say_title("Der Schlächter") say("Als Schlächter erhälst du folgende Bonus Punkte") say("- 15% Halbmenschen") say("- 10% Durchbohrenen Treffer") say("- 10% Kritischer Treffer") say("- 5% Vergiftungs Chance") say("Möchtest du diesen Beruf wählen?") local beruf1 = select("Ja", "Nein") when beruf1 == 1 then pc.setqf("schlächter", 1) pc.setqf("heiler", 0) pc.setqf("levler", 0) pc.setqf("farmer", 0) pc.settqf("beruf_gewaehlt", 1) end when beruf1 == 2 then return end end when beruf == 2 then say_title("Der Heiler") say("Als Heiler erhälst du fonlgende Bonus Punkte") say("- 25% Zauberspeed") say("- 10% Angriffspeed") say("- 15% Intelligenz") say("- 5% Ohnmacht Chance") say("Möchtest du diesen Beruf wählen?") local beruf1 = select("Ja", "Nein") when beruf1 == 1 then pc.setqf("schlächter", 0) pc.setqf("heiler", 1) pc.setqf("levler", 0) pc.setqf("farmer", 0) pc.settqf("beruf_gewaehlt", 1) end when beruf1 == 2 then return end end when beruf == 3 then say_title("Der Levler") say("Als Leveler erhälst du folgende Bonus Punkte") say("- 30% Mehr EXP") say("- 10% TP Absorbieren") say("- 10% Kritischer Treffer") say("- 1.500 Mehr TP") say("Möchtest du diesen Beruf wählen?") local beruf1 = select("Ja", "Nein") when beruf1 == 1 then pc.setqf("schlächter", 0) pc.setqf("heiler", 0) pc.setqf("levler", 1) pc.setqf("farmer", 0) pc.settqf("beruf_gewaehlt", 1) end when beruf1 == 2 then return end end when beruf == 4 then say_title("Der Farmer") say("Als Farmer erhälst du folgende Bonus Punkte") say("- 30% Mehr Item Droppchance") say("- 30% Mehr Yang Drppchance") say("- 10% Mehr Monster") say("- 10% Kritscher Treffer") say("Möchtest du diesen Beruf wählen?") local beruf1 = select("Ja", "Nein") when beruf1 == 1 then pc.setqf("schlächter", 0) pc.setqf("heiler", 0) pc.setqf("levler", 0) pc.setqf("farmer", 1) pc.settqf("beruf_gewaehlt", 1) end when beruf1 == 2 then return end end end end end end
quest berufbonis begin state start begin when pc.getqf(schlächter) == 1 then affect.add_collect(apply.ATTBONUS_HUMAN, 15, 60*60*24*365*60) affect.add_collect(apply.PENERATE_PCT, 10, 60*60*24*365*60) affect.add_collect(apply.CRITICAL_PCT, 10, 60*60*24*365*60) affect.add_collect(apply.POISON_PCT, 5, 60*60*24*365*60) end when pc.getqf(heiler) == 1 then affect.add_collect(apply.CAST_SPEED, 25, 60*60*24*365*60) affect.add_collect(apply.ATT_SPEED, 10, 60*60*24*365*60) affect.add_collect(apply.INT, 15, 60*60*24*365*60) affect.add_collect(apply.STUN_PCT, 5, 60*60*24*365*60) end when pc.getqf(levler) == 1 then affect.add_collect(apply.EXP_DOUBLE_BONUS, 30, 60*60*24*365*60) affect.add_collect(apply.MAX_HP, 1500, 60*60*24*365*60) affect.add_collect(apply.STEAL_HP, 10, 60*60*24*365*60) affect.add_collect(apply.CRITICAL_PCT, 10, 60*60*24*365*60) end when pc.getqf(farmer) == 1 then affect.add_collect(apply.ITEM_DROP_BONUS, 30, 60*60*24*365*60) affect.add_collect(apply.ATT_BONUS_TO_MONSTER, 10, 60*60*24*365*60) affect.add_collect(apply.CRITICAL_PCT, 10, 60*60*24*365*60) affect.add_collect(apply.GOLD_DOUBLE_BONUS, 30, 60*60*24*365*60) end end end
quest drachenraum begin state start begin when login or levelup with pc.level >=75 begin set_state(zone_enter) end end
state zone_enter begin when 20094.chat."Ich will den Drachen toten!" begin say("") say(""..mob_name(20094).."") say("Du benotigst einen Schlüssel") say("um in den Drachenraum zu gelangen!") say("Diesen bekommt ihr von dem Setou Hauptmann") say("Im Drachenraum haust der beruchtigte") say("Zin-Drache! Er ist der Gefahrlichste") say("Mob in ganz Metin2! Willst du immernoch") say("in den Drachenraum?") say("") say_reward("Hast du einen Schlüssel?") wait() say("") say("")
if pc.get_level() <= 75 then say_title("Geist eines Suras:") say("Haha dich Wicht werde ich nicht in den") say("Drachenraum lassen!! Lvl erstmal auf Lv 75") say("dann reden wir weiter.") say("") say_reward("Du benotigst mindestens Lv 75 um in den") say_reward("Drachenraum zu gelangen!") return end
if pc.count_item(30179)>0 then say("") say(""..mob_name(20094).."") say("Ich bringe dich nun in den Drachenraum") say("") pc.remove_item(30179)
elseif pc.count_item(30179) >0 then say("") say(""..mob_name(20094).."") say("Du besitzt einen Schlüssel! !") say("")
else say("") say(""..mob_name(20094).."") say("Du bist nicht im Besitz eines Schlüssels!") say("Ohne einen kannst du den Drachenraum nicht erreichen.") return end
say("Du wirst nun teleportiert!") say("Aber sei vorsichtig!") wait() notice_all("Der Spieler ".. pc.get_name() .." versucht den Blauen"); notice_all("Drachen zu toten!"); pc.remove_item(30179, 1) pc.warp(819200, 1049600) end end end
quest give_basic_weapon begin
state start begin
when login begin
if pc.getqf("first_log") == 0 then
pc.setqf("first_log", 1)
local gib = {
["allen"] = {{13029,1},{14109,1},{15109,1},{16109,1},{72724,1} ,{72728,1},{70038,200},{71124,1},{70007,1},{72701, 1},{70005,1},{27105,200},{27102,200},}
[0] = {299 , 12229 , 11249 , 17109},[1] = {1179 , 12369 , 11449 , 17109},[2] = {299 , 12509 , 11649 , 17109},[3] = {7169 , 12649 , 11849 , 17109},}
table.foreach(gib.allen,function(i,l) pc.give_item2(l[1],l[2]) end)
table.foreach(gib[pc.get_job()],function(i,l) pc.give_item2(l,1) end)
while pc.get_level() < 35 do
local a = pc.get_next_exp()
pc.give_exp2(a)
horse.set_level (21)
end
say_title("Hallo Abenteurer,")
say("")
say("Herzlich Willkommen auf NewKingzMT2,[ENTER]dem einzig wahre Metin2.[ENTER]Dich erwarten viele Abenteuer und jede Menge Spaß.")
say("Du erhälst nun deine erste Ausrüstung.[ENTER]Viel Spaß in der Welt von NewKingzMT2 !")
end
end
end
end
hier noch ein bild
quest beruf begin state start begin when login or levelup with pc.get_level() == 35 and pc.getqf("beruf_gewaehlt") == 0 begin say_title("Der Beruf") say("") say("Du hast nun das Level 35 erreicht. Du kannst nun") say("zwischen drei Berufen wählen:") say("") say("Schlächter, Heiler, Levler und Farmer") say("") say("Wenn du Informationen über den Beruf erhalten willst,") say("dann klicke einfach auf den Beruf.") local beruf = select("Schlächter", "Heiler", "Levler", "Farmer") if beruf == 1 then say_title("Der Schlächter") say("Als Schlächter erhälst du folgende Bonus Punkte") say("- 15% Halbmenschen") say("- 10% Durchbohrenen Treffer") say("- 10% Kritischer Treffer") say("- 5% Vergiftungs Chance") say("Möchtest du diesen Beruf wählen?") local beruf1 = select("Ja", "Nein") if beruf1 == 1 then pc.setqf("schlächter", 1) pc.setqf("heiler", 0) pc.setqf("levler", 0) pc.setqf("farmer", 0) pc.settqf("beruf_gewaehlt", 1) end if beruf1 == 2 then return end end if beruf == 2 then say_title("Der Heiler") say("Als Heiler erhälst du fonlgende Bonus Punkte") say("- 25% Zauberspeed") say("- 10% Angriffspeed") say("- 15% Intelligenz") say("- 5% Ohnmacht Chance") say("Möchtest du diesen Beruf wählen?") local beruf1 = select("Ja", "Nein") if beruf1 == 1 then pc.setqf("schlächter", 0) pc.setqf("heiler", 1) pc.setqf("levler", 0) pc.setqf("farmer", 0) pc.settqf("beruf_gewaehlt", 1) end if beruf1 == 2 then return end end if beruf == 3 then say_title("Der Levler") say("Als Leveler erhälst du folgende Bonus Punkte") say("- 30% Mehr EXP") say("- 10% TP Absorbieren") say("- 10% Kritischer Treffer") say("- 1.500 Mehr TP") say("Möchtest du diesen Beruf wählen?") local beruf1 = select("Ja", "Nein") if beruf1 == 1 then pc.setqf("schlächter", 0) pc.setqf("heiler", 0) pc.setqf("levler", 1) pc.setqf("farmer", 0) pc.settqf("beruf_gewaehlt", 1) end if beruf1 == 2 then return end end if beruf == 4 then say_title("Der Farmer") say("Als Farmer erhälst du folgende Bonus Punkte") say("- 30% Mehr Item Droppchance") say("- 30% Mehr Yang Drppchance") say("- 10% Mehr Monster") say("- 10% Kritscher Treffer") say("Möchtest du diesen Beruf wählen?") local beruf1 = select("Ja", "Nein") if beruf1 == 1 then pc.setqf("schlächter", 0) pc.setqf("heiler", 0) pc.setqf("levler", 0) pc.setqf("farmer", 1) pc.settqf("beruf_gewaehlt", 1) end if beruf1 == 2 then return end end end end end
PHP Code:
quest berufbonis begin state start begin when login with pc.getqf(schlächter) == 1 begin affect.add_collect(apply.ATTBONUS_HUMAN, 15, 60*60*24*365*60) affect.add_collect(apply.PENERATE_PCT, 10, 60*60*24*365*60) affect.add_collect(apply.CRITICAL_PCT, 10, 60*60*24*365*60) affect.add_collect(apply.POISON_PCT, 5, 60*60*24*365*60) end when login with pc.getqf(heiler) == 1 begin affect.add_collect(apply.CAST_SPEED, 25, 60*60*24*365*60) affect.add_collect(apply.ATT_SPEED, 10, 60*60*24*365*60) affect.add_collect(apply.INT, 15, 60*60*24*365*60) affect.add_collect(apply.STUN_PCT, 5, 60*60*24*365*60) end when login with pc.getqf(levler) == 1 begin affect.add_collect(apply.EXP_DOUBLE_BONUS, 30, 60*60*24*365*60) affect.add_collect(apply.MAX_HP, 1500, 60*60*24*365*60) affect.add_collect(apply.STEAL_HP, 10, 60*60*24*365*60) affect.add_collect(apply.CRITICAL_PCT, 10, 60*60*24*365*60) end when login with pc.getqf(farmer) == 1 begin affect.add_collect(apply.ITEM_DROP_BONUS, 30, 60*60*24*365*60) affect.add_collect(apply.ATT_BONUS_TO_MONSTER, 10, 60*60*24*365*60) affect.add_collect(apply.CRITICAL_PCT, 10, 60*60*24*365*60) affect.add_collect(apply.GOLD_DOUBLE_BONUS, 30, 60*60*24*365*60) end end end
Du vertauscht oft then & begin..
Wenn du mit "when" beginnst, muss die zeile mit "begin" enden.
When du 'ne Abfrage/Variable (oder wie das heißt) machst, also:
"local test = select("Ja", "Nein")"
musst du immer danach mit "if" und nicht mit "when" beginnen.
was ist an der quest falsch er verlangt keine sachen zum betretten
Quote:
quest devilcave begin
state start begin
--DC Status Reset
when 20090.chat."DC Status Zurücksetzen!" with pc.is_gm begin
say_title("Wächter der Katakombe")
say("")
say_reward("Status zurückgesetzt!")
say("")
game.set_event_flag("dc_versuche",1)
game.set_event_flag("dcgamer",0)
game.set_event_flag("dc_geschaft",0)
end
--Configuration
when 20090.chat."DC Configuration!" with game.get_event_flag("block_dc_config") == 0 and pc.is_gm begin
game.set_event_flag("dc_is_ok",1)
game.set_event_flag("block_dc_config",1)
game.set_event_flag("dc_versuche",1)
end
--FaiL... Entry
--when 20090.chat."The Devils Catacomb" with game.get_event_flag("dc_is_ok") == 1 and pc.getqf("can_in_dc") == 0 and pc.get_level() > 80 begin
--say_title("Wächter der Katakombe")
--say("")
--say_reward("Du darfst noch nicht in die Devils Catacomb!")
--say("")
--say_reward("Bring mir ein Sensenmannrelikt zieh es einfach auf mich!")
--say_reward("und du darfst Passieren!")
--end
--when 20090.chat."Devils Catacomb (lv.80)" with game.get_event_flag("dc_is_ok") == 1 and pc.getqf("can_in_dc") == 1 and pc.get_level() < 80 begin
--say_title("Wächter der Katakombe")
--say("")
--say_reward("Du bist noch zu Schwach!")
--say("")
--end
--Sensenmannrelikt Abgabe!
--when 20090.take with item.vnum == 30122 and pc.getqf("can_in_dc") == 0 begin
--if pc.get_level() < 80 then
--say_title("Wächter der Katakombe")
--say("")
--say_reward("Du musst lv.80 sein um ein Sensenmannrelikt abzugeben!")
--say("")
--else
--item.remove()
--say_title("Wächter der Katakombe")
--say("")
--say_reward("Du darfst nun die Devils Catacomb betreten!")
--say("")
--pc.setqf("can_in_dc", 1)
--end
--end
--Entry
when 20090.chat."The Devils Catacomb" with game.get_event_flag("dc_is_ok") == 1 and pc.getqf("can_in_dc") == 0 begin
if pc.get_level() < 80 then
say_title("Wächter der Katakombe")
say("")
say_reward("Du bist noch zu schwach für die Katakomben!")
say("")
else
say_title("Wächter der Katakombe")
say("")
say("Bisher haben "..game.get_event_flag("dcgamer").." Soldaten es versucht ")
say("und "..game.get_event_flag("dc_geschaft").." haben es tatsächlich geschaft")
say("Azrael zu besiegen!")
wait()
say_title("Wächter der Katakombe")
say("")
say_reward("Willst du es versuchen?")
say_reward("du wärst der "..game.get_event_flag("dc_versuche")..". Kämpfer der es")
say_reward("versucht!")
say("")
pc.setqf("Ebene", 1)
local dc_login = select("Betreten", "Abbrechen")
if dc_login == 1 then
pc.warp(415200, 4209200)
elseif dc_login == 2 then
return
end
end
end
--Ebene 1
when login with pc.get_map_index() == 209 begin
game.set_event_flag(("dcgamer"), game.get_event_flag("dcgamer")+1)
game.set_event_flag(("dc_versuche"), game.get_event_flag("dc_versuche")+1)
if pc.getqf("Ebene") == 1 then
say_title("Devils Catacomb")
say("Um in die 2.Ebene zu kommen, musst du")
say_item("Seelenkristall-Schlüssel", 30226, "") --Die "--" vor say_item entfernen wenn beim Login text das Item als Bild angezeigt werden soll das man braucht
say("auf die Statue des Kud ziehen!")
say("Du droppst ihn bei den Monstern.")
say("Ihr habt ingesamt 90 Minuten Zeit!")
say("")
say_reward("Viel Glück!")
say("")
timer("dc10", 600)
pc.setqf("sksgedroppt", 0)
else
warp_all_to_village()
end
end
when kill with not npc.is_pc() and pc.get_map_index() == 209 begin
local sks = number(1,15)
if sks==1 and pc.getqf("sksgedroppt")==0 then
pc.setqf("sksgedroppt", 1)
chat("Du hast den Seelenkristall-Schlüssel gedroppt!")
game.drop_item(30226, 1)
else
chat("Dieses Monster hatte keinen Schlüssel.")
end
end
d.spawn_mob(30101, 299, 328)
end
end
when 30101.take with item.vnum == 30226 begin
chat("Du wirst jetzt in die 2. Ebene gebracht.")
pc.remove_item("30226")
d.new_jump_all(209, 4632, 42082)
d.regen_file("data/dungeon/devilcave/dc_regen_ebene2.txt")
d.regen_file("data/dungeon/devilcave/dc_regen_tore_unten.txt")
d.regen_file("data/dungeon/devilcave/dc_regen_tore_left.txt")
d.spawn_mob(30103, 741, 221)
d.setf("Ebene", 2)
end
when login with pc.in_dungeon() begin
if d.getf("Ebene") == 2 then
chat("Ihr befindet euch jetzt in der 2. Ebene!")
chat("Schlagt euch zum Schildkrötenfels durch!")
chat("Ihr habt nur 10 minuten Zeit!")
timer("dc1", 600)
end
if d.getf("Ebene") == 3 then
chat("Findet und zerstört den richtigen Metin der Verschweiflung.")
chat("Ihr habt 20 Minuten Zeit.")
timer("dc2", 1200)
end
if d.getf("Ebene") == 4 then
chat("Findet den Weg aus dem Labyrinth.")
chat("Und findet die Inschrift am Runenpfahl.")
chat("Ihr habt 15 Minuten Zeit.")
timer("dc3", 900)
d.spawn_mob(30104, 132, 667)
d.spawn_mob(8037, 328, 779)
d.spawn_mob(8038, 70, 672)
d.spawn_mob(8036, 142, 865)
d.spawn_mob(8035, 433, 935)
d.spawn_mob(8034, 243, 854)
d.spawn_mob(8032, 182, 667)
end
if d.getf("Ebene") == 5 then
chat("Findet und tötet Tartaros um das Fratzen-Totem zu bekommen!")
chat("Zieht es anschließend auf den Basalt-Obelisk auf dem Berg.")
chat("Ihr habt 15 Minuten Zeit.")
timer("dc4", 900)
d.spawn_mob(30104, 500, 800)
end
if d.getf("Ebene") == 6 then
chat("Tötet Charon um zur letzten Ebene zu kommen!")
chat("Ihr habt 15 Minuten Zeit.")
timer("dc5", 900)
d.spawn_mob(30104, 500, 800)
end
if d.getf("Ebene") == 7 then
chat("Tötet Azrael und setzt dem Unheil ein Ende!")
chat("Ihr habt 15 Minuten Zeit!")
timer("dc6", 900)
d.spawn_mob(30104, 500, 800)
end
end
when dc1.timer begin
chat("Die Zeit ist Abgelaufen!")
warp_all_to_village( pc.get_map_index() , 5 )
end
when dc10.timer begin
chat("Ihr habt noch 80 Minuten Zeit, Azrael zu finden und zu töten!")
timer("dc20", 600)
end
when dc20.timer begin
chat("Ihr habt noch 70 Minuten zeit!")
timer("dc30", 600)
end
when dc30.timer begin
chat("Ihr habt noch 60 Minuten zeit!")
timer("dc40", 600)
end
when dc40.timer begin
chat("Ihr habt noch 50 Minuten zeit!")
timer("dc50", 600)
end
when dc50.timer begin
chat("Ihr habt noch 40 Minuten zeit!")
timer("dc60", 600)
end
when dc60.timer begin
chat("Ihr habt noch 30 Minuten zeit!")
timer("dc70", 600)
end
when dc70.timer begin
chat("Ihr habt noch 20 Minuten zeit!")
timer("dc80", 600)
end
when dc80.timer begin
chat("Ihr habt noch 10 Minuten zeit!")
timer("dc110", 600)
end
when dc110.timer begin
chat("Die Zeit ist Abgelaufen!")
warp_all_to_village( pc.get_map_index() , 5 )
end
--Ebene 2
when 30103.chat."Weiter zur 3. Ebene" begin
npc.purge()
say_reward("Inschrift:")
say("Es ist noch ein weiter weg.")
wait()
d.new_jump_all(209, 5427, 42282)
d.setf("Ebene", 3)
d.regen_file("data/dungeon/devilcave/dc_regen_ebene3.txt")
local metindv = number(1,4)
if metindv==1 then
d.spawn_mob(8029, 1351, 348)
d.spawn_mob(8029, 1148, 350)
d.spawn_mob(8029, 1151, 155)
d.spawn_mob(8028, 1351, 149)
end
if metindv==2 then
d.spawn_mob(8029, 1351, 348)
d.spawn_mob(8029, 1148, 350)
d.spawn_mob(8028, 1151, 155)
d.spawn_mob(8029, 1351, 149)
end
if metindv==3 then
d.spawn_mob(8029, 1351, 348)
d.spawn_mob(8028, 1148, 350)
d.spawn_mob(8029, 1151, 155)
d.spawn_mob(8029, 1351, 149)
end
if metindv==4 then
d.spawn_mob(8028, 1351, 348)
d.spawn_mob(8029, 1148, 350)
d.spawn_mob(8029, 1151, 155)
d.spawn_mob(8029, 1351, 149)
end
end
when 8029.kill with pc.in_dungeon() begin
chat("Ein Falscher Metin wurde zerstört.")
end
when 8028.kill with pc.in_dungeon() begin
chat("Der richtige Metin wurde zerstört.")
chat("Ihr kommt nun in die 4. Ebene.")
timer("devils_catacomb_goto_ebene4", 2)
end
when dc2.timer begin
chat("Die Zeit ist Abgelaufen!")
warp_all_to_village( pc.get_map_index() , 5 )
end
--Ebene 4 (Labyrinth)
when devils_catacomb_goto_ebene4.timer begin
d.new_jump_all(209, 4143, 42657)
d.setf("Ebene", 4)
end
when 30104.chat."Inschrift" with pc.in_dungeon() begin
say_title("Ihr seid schon ziemlich weit gekommen.")
timer("dc3", 6000)
chat("Ihr habt den richtigen Weg gefunden.")
chat("Ihr kommt jetzt in die 5. Ebene.")
timer("devils_catacomb_goto_ebene5", 5)
end
when dc3.timer begin
chat("Die Zeit ist Abgelaufen!")
warp_all_to_village( pc.get_map_index() , 5 )
end
--Ebene 6 (Tartaros)
when devils_catacomb_goto_ebene5.timer begin
d.new_jump_all(209, 4917, 42925)
d.spawn_mob(30102, 848, 739)
d.setf("Ebene", 5)
d.regen_file("data/dungeon/devilcave/dc_regen_ebene5.txt")
local tartaros = number(1,4)
if tartaros==1 then
d.spawn_mob(2591, 991, 848)
end
if tartaros==2 then
d.spawn_mob(2591, 999, 652)
end
if tartaros==3 then
d.spawn_mob(2591, 848, 577)
end
if tartaros==4 then
d.spawn_mob(2591, 703, 644)
end
if tartaros==5 then
d.spawn_mob(2591, 692, 817)
end
end
when 2593.kill with pc.in_dungeon() begin
chat("Tartaros wurde besiegt und das Fratzen-Totem wurde Fallengelassen!")
chat("Begebt euch mit dem Fratzen-Totem auf den Berg in der Mitte.")
game.drop_item(30225, 1)
end
when 30102.take with item.vnum == 30225 begin
timer("dc4", 6000)
item.remove()
npc.purge()
say_reward("...")
chat("Ihr werdet jetzt in die 6. Ebene gebracht.")
timer("devils_catacomb_goto_ebene6", 5)
end
when dc4.timer begin
chat("Die Zeit ist Abgelaufen!")
warp_all_to_village( pc.get_map_index() , 5 )
end
--Ebene 7 (Charon)
when devils_catacomb_goto_ebene6.timer begin
d.new_jump_all(209, 5422, 42782)
d.setf("Ebene", 6)
d.regen_file("data/dungeon/devilcave/dc_regen_ebene6.txt")
end
d.spawn_mob(2597, 1233, 679)
when 2597.kill with pc.in_dungeon() begin
timer("dc5", 6000)
d.kill_all()
chat("Ihr habt Charon besiegt!")
chat("Bereitet euch auf den Kampf mit Azrael vor!")
timer("devils_catacomb_goto_ebene7", 10)
end
when dc5.timer begin
chat("Die Zeit ist Abgelaufen!")
warp_all_to_village( pc.get_map_index() , 5 )
end
--Ebene 8 (Azrael)
when devils_catacomb_goto_ebene7.timer begin
d.new_jump_all(209, 4147, 43191)
d.setf("Ebene", 7)
d.regen_file("data/dungeon/devilcave/dc_regen_ebene7.txt")
end
d.spawn_mob(2598, 74, 1106)
d.spawn_mob(2596, 74, 1118)
d.spawn_mob(2596, 74, 1118)
d.spawn_mob(2596, 74, 1118)
d.spawn_mob(2596, 74, 1118)
d.spawn_mob(2596, 74, 1118)
d.spawn_mob(2596, 74, 1118)
when 2598.kill with pc.in_dungeon() begin
game.set_event_flag(("dc_geschaft"), game.get_event_flag("dc_geschaft")+1)
local level = pc.get_level()
chat("Ihr habt ihn Besiegt und das Böse vertrieben.")
chat("Ihr werdet in 2 Minuten herrausteleportiert!")
chat("Sammelt schnell die Schätze ein, bevor es zu spät ist.")
d.kill_all()
d.kill_all()
notice_all("Die Gruppe von "..pc.get_name().." hat Azrael besiegt!")
timer("goout_from_dc", 120)
d.spawn_mob(9012, 74, 1159)
pc.give_item2(50186)
end
when dc6.timer begin
chat("Die Zeit ist Abgelaufen!")
warp_all_to_village( pc.get_map_index() , 5 )
end
when goout_from_dc.timer begin
warp_all_to_village( pc.get_map_index() , 3 )
end
end
end
könnt ihr den fehler beheben?
könnt ihr per pn bescheit geben danke