Vielen Dank.
Habe heute 2 neue Quests, die nicht wollen. Die erste habe ich sogut wie selbst gemacht und die andere ist die normale Drachenrun.quest die bei den Invoice-Files dabei sind.
Nummer 1 hat den Fehler, dass man soviele Sensenmänner töten kann, wie man will,
aber der Counter einfach nicht runterzählt.
Quest Nummer 2 ist wie gesagt die normale Drachenrun quest bei den Invoice files, also Grotte 2 kann man den Surageist anklicken, Passwort setzen und so, das funktioniert alles, aber wenn man dann mal drin ist, kommen keine Ansagen und Mobs erscheinen auch nicht. :D
Habs sowohl mit nem GM-Char, als auch mit nem normalen Char getestet.
Keine Syserr sagt was, VBOX meckert auch nicht rum.. Ich hoffe ihr könnt mir helfen.
Habe heute 2 neue Quests, die nicht wollen. Die erste habe ich sogut wie selbst gemacht und die andere ist die normale Drachenrun.quest die bei den Invoice-Files dabei sind.
Nummer 1 hat den Fehler, dass man soviele Sensenmänner töten kann, wie man will,
aber der Counter einfach nicht runterzählt.
PHP Code:
quest bedrohung begin
state start begin
when login or levelup with pc.level >= 75 begin
set_state(information)
end
end
state information begin
when letter begin
send_letter("Die dunkle Bedrohung")
end
when info or button begin
say_title("Boss-Auftrag")
say("Hallo Spieler von Mhora2!")
say("Seit kurzem nimmt die Bedrohung durch die")
say("Dämonen zu.")
say("Um diese dunkle Macht zurückzuschlagen, muss ein")
say("Böser Dämon besiegt werden, welcher bisher von den")
say("wenigsten Kämpfern besiegt wurde..")
say("Es handelt sich um den Sensenmann im Dämonenturm")
say("Nur du kannst es schaffen")
say("diesem Monster die Stirn zu bieten.")
say("Bitte hilf uns:")
say_reward("Töte 2x den Sensenmann.")
say_reward("Du findest ihn im Dämonenturm.")
say_reward("Wenn du es geschafft hast bekommst du eine Belohnung!")
say_reward("")
say_reward("")
say("")
pc.setqf("state", 2)
q.set_counter("Sensenmann", 2)
end
when 1093.kill begin
local count = pc.getqf("state") - 1
if count <= 2 then
pc.setqf("state", count)
q.set_counter("Anzahl Sensenmann", count)
end
if count == 0 then
say_title("Die dunkle Bedrohung")
say("")
say("")
say("Gut du hast es geschafft.")
say("Hier deine Belohnung")
say_reward("Du erhälst 4x Weiße Perle")
say_reward("Du erhälst 3x Blaue Perle")
say_reward("Du erhälst 2x Blutrote Perle")
pc.give_item2(27992, 4)
pc.give_item2(27993, 3)
pc.give_item2(27994, 2)
pc.get_money(2500000)
clear_letter()
set_state(__COMPLETE__)
end
end
end
state __COMPLETE__ begin
end
end
Quest Nummer 2 ist wie gesagt die normale Drachenrun quest bei den Invoice files, also Grotte 2 kann man den Surageist anklicken, Passwort setzen und so, das funktioniert alles, aber wenn man dann mal drin ist, kommen keine Ansagen und Mobs erscheinen auch nicht. :D
Habs sowohl mit nem GM-Char, als auch mit nem normalen Char getestet.
PHP Code:
quest Tempel_of_dragon begin
state start begin
when 30121.chat."Tempel des Drachen" with pc.get_map_index() == 73 begin
if get_time() > game.get_event_flag("Grotte_time") then
game.set_event_flag("Grotte_zugang",0)
end
if pc.is_gm() or pc.count_item(80041) >= 1 then
say_title(""..mob_name(30121).."")
say("")
say("Hallo Gamemaster, "..pc.get_name().."")
say("Ich lasse dich auch ohne die Schlüssel und")
say("das Passwort passieren.")
wait()
pc.warp(843200, 1066900)
return
end
if game.get_event_flag("Grotte_zugang") == 0 and pc.count_item(30179) < 3 then
say_title(""..mob_name(30121).."")
say("")
say("Dir fehlen "..item_name(30179).."")
say_item_vnum(30179)
say("Komme wieder wenn du 3 besitzt.")
return
end
if game.get_event_flag("Grotte_zugang") == 1 then
say_title(""..mob_name(30121).."")
say("")
pc.setqf("grotte_passworto", 078954687921)
if pc.getqf("abgabe") == 1 then
pc.setqf("abgabe",0)
say("Du hast bereits deine 3 Schlüssel abgeben.")
say("Ich lasse dich passieren.")
pc.setqf("erlaubt",1)
wait()
pc.warp(843200, 1066900)
return
end
say("Tut mir Leid, der Raum ist reseviert.")
say("Wenn du ein die Kennzahl hast für den Zugang,")
say("gebe sie jetzt bitte ein.")
local passwort = tonumber(input(""))
--pc.setqf("grotte_passworto", passwort)
if game.get_event_flag("Grotte_passwort") == passwort then
say_title(""..mob_name(30121).."")
say("")
say("Die Kennzahl stimmt überein.")
if pc.count_item(30179) < 3 then
say("Ich kann dir den zutritt nicht gewähren")
say("Dir fehlt "..item_name(30179).."")
say_item_vnum(30179)
say("Komme wieder wenn du 3 besitzt.")
return
end
say("Ich gewähre dir den zutritt!")
pc.setqf("erlaubt",1)
wait()
if pc.can_warp() then pc.remove_item("30179",3) end
pc.warp(843200, 1066900)
elseif passi != pc.getqf("grotte_passworto") then
say_title(""..mob_name(30121).."")
say("")
say("Die Kennzahl ist leider falsch.")
return
end
end
if game.get_event_flag("Grotte_zugang") == 0 and pc.count_item(30179) >= 3 then
say_title(""..mob_name(30121).."")
say("")
say("Du bist der erste der den Eintritt in den Tempel")
say("des Drachens verlangt. Ich werde dich passieren")
say("lassen, sofern du einen gewunden Schlüssel")
say("besitzt. Bevor du den Raum betreten darfst")
say("musst du eine geheime Zahl eingeben.")
say("Diese kannst du innerhalb von 5 Minuten an")
say("deine Mitstreiter weitergeben, so das auch")
say("sie den Raum betreten können. ")
say("")
say("Bedenke auch das die Macht der Schlüssel nur")
say("30 Minuten lang hält. In dieser Zeit müsst")
say("ihr den Drachen besiegt haben.")
local i = select("Ich bin Bereit", "Abbrechen")
if 1 == i then
say_title(""..mob_name(30121).."")
say("Dann Lege jetzt die kennzahl fest.")
local passwort = tonumber(input(""))
if passwort and passwort <= 999999999 and pc.count_item(30179)>=1 then
game.set_event_flag("Grotte_zugang",1)
game.set_event_flag("Grotte_passwort",passwort)
local times = get_time() + 300 --Wartezeit
game.set_event_flag("Grotte_time", times)
say_title(""..mob_name(30121).."")
pc.setqf("abgabe",1)
say("")
say("Die Kennzahl lautet:")
chat("Die Kennzahl lautet für den Tempel des Drachen: "..passwort.."")
say_reward(""..passwort.."")
say("Gib die Kennzahl deinen Mitstreitern weiter")
pc.remove_item("30179",3)
else
say_title(""..mob_name(30121).."")
say("")
say("Beim Kennzahl setzen ist ein fehler aufgetreten, versuche es erneut.")
say("Bitte gebe nur Ziffern ein.")
end
end
end
end
when login with pc.get_map_index() == 198 and not pc.is_gm() begin
if pc.count_item("80041") >= 1 then chat("Tempel des Drachen: Du hast das GM-Item, prüfungen werden geblockt!") return end
if pc.get_level() < 75 or pc.getqf("erlaubt") == 0 and pc.get_map_index() == 198 then
chat("Dir ist es nicht erlaubt diese Map zu betreten. "..pc.get_level().." "..pc.getqf("erlaubt").." "..pc.get_map_index().." ")
warp_to_village()
end
chat("Willkommen, zerstört schnell den Stein um zu dem Drachen zu gelangen.")
chat("Aber beeilt euch, sonst fliegt ihr raus")
local sekunden = game.get_event_flag("Grotte_time") - get_time()
notice_in_map("Verbleibende Zeit bis ihr rausfliegt: "..sekunden.." Sekunden")
timer("skipia_boss_ende", sekunden)
pc.set_warp_location(73 , 1825, 12207)
end
when 8023.kill with pc.get_map_index() == 198 begin
timer("skipia_boss_goo", 2)
notice_in_map("Ihr hab den Stein zerstört ihr werden nun in die nächste Ebene gebracht")
end
when skipia_boss_goo.timer begin
game.set_event_flag("Grotte_zugang",0)
d.new_jump_all(198, 8436, 10669)
d.setf("grotte_boss", 1)
d.spawn_mob(9012, 239, 173)
end
when 8031.kill or 8032.kill or 8033.kill or 8034.kill with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin
local n =d.getf("count") + 1
d.setf("count", n)
--notice_all("Metin killed "..n.."")
if n > 2 then
local t = number(1,4)
--notice_all("Spawn Metin")
if 1 == t then
d.regen_file("data/dungeon/skia_boss1.txt")
elseif 2 == t then
d.regen_file("data/dungeon/skia_boss2.txt")
elseif 3 == t then
d.regen_file("data/dungeon/skia_boss3.txt")
else
d.regen_file("data/dungeon/skia_boss4.txt")
end
end
end
when 2493.kill with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin
d.setf("grotte_boss", 3)
notice_all("Die Gruppe von "..pc.get_name().." hat Beran-Setaou getötet.")
d.notice("Beeindruckend, ihr habt ihn tatsächlich besiegt.") -- Als Abschluss könnt ihr noch die Metins zerstören")
d.notice("ihr werdet in 60 Sekunden zurück in Grotte 2 gebracht.")
timer("skipia_boss_end", 60)
d.kill_all()
d.spawn_mob(9012, 239, 173)
d.clear_regen()
end
when login with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin
pc.set_warp_location(73 , 1825, 12207)
end
when login with pc.in_dungeon() and d.getf("grotte_boss") == 1 begin
timer("skipia_boss_end", 3600)
d.set_regen_file("data/dungeon/skia_boss.txt")
local t = number(1,4)
if 1 == t then
d.regen_file("data/dungeon/skia_boss1.txt")
elseif 2 == t then
d.regen_file("data/dungeon/skia_boss2.txt")
elseif 3 == t then
d.regen_file("data/dungeon/skia_boss3.txt")
else
d.regen_file("data/dungeon/skia_boss4.txt")
end
local o = number(1,4)
if 1 == o then
d.regen_file("data/dungeon/skia_boss1.txt")
elseif 2 == o then
d.regen_file("data/dungeon/skia_boss2.txt")
elseif 3 == o then
d.regen_file("data/dungeon/skia_boss3.txt")
else
d.regen_file("data/dungeon/skia_boss4.txt")
end
d.setf("grotte_boss", 2)
d.notice("Willkommen im Tempel des Drachen, ihr habt maximal 1 Stunde Zeit Beran-Setaou zu besiegen, Viel Erfolg")
d.setf("count", 0)
pc.set_warp_location(73 , 1825, 12207)
end
when login with pc.in_dungeon() and d.getf("grotte_boss") == 3 begin -- begin
--pc.warp(181700, 1220600)
end
when skipia_boss_end.timer begin
d.exit_all()
end
when skipia_boss_ende.timer begin
kill_all_in_map(198)
game.set_event_flag("Grotte_zugang",0)
d.setf("grotte_boss", 1)
d.exit_all()
end
when login with pc.get_map_index() != 198 or not pc.in_dungeon() begin
pc.setqf("erlaubt",0)
end
end
end
Keine Syserr sagt was, VBOX meckert auch nicht rum.. Ich hoffe ihr könnt mir helfen.