|
You last visited: Today at 04:14
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
09/10/2013, 21:38
|
#8986
|
elite*gold: 0
Join Date: Mar 2013
Posts: 67
Received Thanks: 3
|
Userpanel Fehler
Hey Epvp,
Ich habe mir mal ein Userpanel gemacht klappt auch alles super keine Fehler oder so, klappt auch alles außer der AFK Modus, wenn man drauf klickt ist das wie return(das Fenster schließt sich einfach)Ich finde den fehler nich liegt das an der formatierung hab davon ka!
wäre cool, wenn mir einer hilft
Hier die quest das wichtige ist ab Zeile 107-122
Userpanel:
PHP Code:
quest Userpanel begin
state start begin
when 70028.use begin
say_title("Userpanel")
say_gold("")
say_gold("Du kannst folgendes machen!")
local todo = select("Char-Infos", "Verwandeln", "AFK-Modus", "Beenden")
if todo == 3 then
return
elseif todo == 1 then
say_title("Infos von dir:")
local infos = select("Reich", "Yang", "Max. TP & MP", "Spielminuten","Abbrechen")
if infos == 5 then
return
elseif infos == 1 then
say_title("Dein Reich:")
say_gold("")
if pc.get_empire() == 1 then
say_gold("Du bist im roten Reich (Shinsoo-Reich).")
elseif pc.get_empire() == 2 then
say_gold("Du bist im gelben Reich (Chunjo-Reich).")
elseif pc.get_empire() == 3 then
say_gold("Du bist im blauen Reich (Jinno-Reich).")
end
say_gold("")
say_gold("")
say_gold("Lerodia3 - 44er Bizeps!")
elseif infos == 2 then
say_title("Dein Geld:")
say_gold("")
say_gold("Du bestitzt momentan: "..pc.get_gold().." Yang.")
say_gold("")
say_gold("")
say_gold("Lerodia3 - 44er Bizeps!")
elseif infos == 3 then
say_title("Deine Max. TP & MP:")
say_red("Du besitzt : "..pc.get_hp().."TP (Trefferpunkte)")
say_blue2("Du besitzt : "..pc.get_sp().."MP (Magiepunkte)")
say_gold("")
say_gold("")
say_gold("Lerodia3 - 44er Bizeps!")
elseif infos == 4 then
say_title("Deine Spielminuten")
say_gold("")
say_gold("Du spielst auf Lerodia schon : "..pc.get_playtime().."Minuten!")
end
elseif todo == 2 then
say_gold("In was willst du dich Verwandeln?")
say_gold("5 Minuten kosten dich 5.000.000 Yang!")
local u = select("Wildhund","Wolf","Ork","Spinne","Monster-Wahl")
if u == 1 then
if pc.money>=5000000 then
say_gold("Du wirst in einen Wildhund verwandelt")
pc.polymorph(101, 300)
pc.change_money(-5000000)
else
say_gold("Du hast nicht genug Yang")
say_gold("Du brauchst 5.000.000 Yang")
end
end
if u == 2 then
if pc.money>=5000000 then
say_gold("Du wirst in einen Wolf verwandelt")
pc.polymorph(102, 300)
pc.change_money(-5000000)
else
say_gold("Du hast nicht genug Yang")
say_gold("Du brauchst 5.000.000 Yang")
end
end
if u == 3 then
if pc.money>=5000000 then
say_gold("Du wirst in ein Ork verwandelt")
pc.polymorph(601, 300)
pc.change_money(-5000000)
else
say_gold("Du hast nicht genug Yang")
say_gold("Du brauchst 5.000.000 Yang")
end
end
if u == 4 then
if pc.money>=5000000 then
say_gold("Du wirst in eine Spinne verwandelt")
pc.polymorph(2001, 300)
pc.change_money(-5000000)
else
say_gold("Du hast nicht genug Yang")
say_gold("Du brauchst 5.000.000 Yang")
end
end
if u == 5 then
say_title("Hier musst du die Value von dem")
say_title("Monster eingeben, in welches du")
say_title("dich verwandeln willst.")
say_reward("Es kostet 10.000.000 Yang und nur 10 Minuten!")
local y = input()
if pc.money>=10000000 then
say_gold("Okey ich verwandle dich")
say_gold("30 Minuten in einen")
say_reward(" "..mob_name( y ).." ")
pc.polymorph(y, 600)
pc.change_money(-10000000)
else
say_gold("Du hast nicht genug Yang")
say_gold("Du brauchst 10.000.000 Yang!")
end
elseif todo == 3 then
say("Möchtest du in den AFK-Modus wechseln?")
say("")
local w = select("Ja","Wieder da","Nein")
if w == 1 then
say("Okey du bist nun AFK")
pc.polymorph(30000, 2000000)
end
if w == 2 then
say("Gut, du bist wieder da")
pc.remove_polymorph()
end
if w == 3 then
say("Ok, dann halt nicht")
return
end
end
end
end
end
end
Bitte helft mir
|
|
|
09/10/2013, 23:35
|
#8987
|
elite*gold: 0
Join Date: Aug 2013
Posts: 301
Received Thanks: 88
|
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() == 97 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() == 97 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) d.spawn_mob(8023, 182, 173) pc.set_warp_location(73 , 1825, 12207) end when 8023.kill with pc.get_map_index() == 97 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(97, 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(97) game.set_event_flag("Grotte_zugang",0) d.setf("grotte_boss", 1) d.exit_all() end when login with pc.get_map_index() != 97 or not pc.in_dungeon() begin pc.setqf("erlaubt",0) end end end
Habe das Problem das er den Metin in der zeile
PHP Code:
d.spawn_mob(8023, 182, 173)
nicht gespawnt wird. Ich habe das mit der stone.txt in dem Mapordner geregelt, nur jetzt ist das problem, das man erst eine stunde warten muss um den metin wieder killen zu können....
Kann man das irgentwie anders regeln oder so? Da ist wohl n bug in der Quest
MFG
Fitchi
|
|
|
09/11/2013, 16:31
|
#8988
|
elite*gold: 47
Join Date: Feb 2012
Posts: 2,282
Received Thanks: 2,579
|
@©Fitchi:
Quote:
Originally Posted by ©Fitchi
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() == 97 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() == 97 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)
d.spawn_mob(8023, 182, 173)
pc.set_warp_location(73 , 1825, 12207)
end
when 8023.kill with pc.get_map_index() == 97 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(97, 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(97)
game.set_event_flag("Grotte_zugang",0)
d.setf("grotte_boss", 1)
d.exit_all()
end
when login with pc.get_map_index() != 97 or not pc.in_dungeon() begin
pc.setqf("erlaubt",0)
end
end
end
Habe das Problem das er den Metin in der zeile
PHP Code:
d.spawn_mob(8023, 182, 173)
nicht gespawnt wird. Ich habe das mit der stone.txt in dem Mapordner geregelt, nur jetzt ist das problem, das man erst eine stunde warten muss um den metin wieder killen zu können....
Kann man das irgentwie anders regeln oder so? Da ist wohl n bug in der Quest
MFG
Fitchi
|
Du musst zuerst der Quest überhaupt "sagen", dass ein Dungeon beginnt. Also, du musst ein Dungeon starten, bevor du Dungeonbefehle (d.*) benutzen kannst.
Ein Dungeon startest du mit diesem Befehl
Code:
d.new_jump_all(mapindex, x, y)
Damit werden alle Spieler auf der Map in das Dungeon gewarpt. Erst dann kannst du Dungeonbefehle nutzen.
Nimm die als Beispiel den Dämonenturm.
Beim Wächter betrittst du ganz normal eine neue Map und erst, wenn der Metin gekillt ist und man auf der nächsten Ebene ist, werden Dungeonbefehle genutzt.
Du kannst das ganze beispielsweise so lösen, dass du zuerst mit diesem Befehl spawnst
Code:
mob.spawn(vnum, x, y, 0, 0)
und anschließend im Kill-Event (when kill begin) mit d.new_jump_all() ein Dungeon starten.
MfG
|
|
|
09/11/2013, 17:46
|
#8989
|
elite*gold: 0
Join Date: Mar 2013
Posts: 67
Received Thanks: 3
|
Hey Epvp,
Ich habe mir mal ein Userpanel gemacht klappt auch alles super keine Fehler oder so, klappt auch alles außer der AFK Modus, wenn man drauf klickt ist das wie return(das Fenster schließt sich einfach)Ich finde den fehler nich liegt das an der formatierung hab davon ka!
wäre cool, wenn mir einer hilft
Hier die quest das wichtige ist ab Zeile 107-122
Userpanel:
PHP Code:
quest Userpanel begin state start begin when 70028.use begin say_title("Userpanel") say_gold("") say_gold("Du kannst folgendes machen!") local todo = select("Char-Infos", "Verwandeln", "AFK-Modus", "Beenden") if todo == 3 then return elseif todo == 1 then say_title("Infos von dir:") local infos = select("Reich", "Yang", "Max. TP & MP", "Spielminuten","Abbrechen") if infos == 5 then return elseif infos == 1 then say_title("Dein Reich:") say_gold("") if pc.get_empire() == 1 then say_gold("Du bist im roten Reich (Shinsoo-Reich).") elseif pc.get_empire() == 2 then say_gold("Du bist im gelben Reich (Chunjo-Reich).") elseif pc.get_empire() == 3 then say_gold("Du bist im blauen Reich (Jinno-Reich).") end say_gold("") say_gold("") say_gold("Lerodia3 - 44er Bizeps!") elseif infos == 2 then say_title("Dein Geld:") say_gold("") say_gold("Du bestitzt momentan: "..pc.get_gold().." Yang.") say_gold("") say_gold("") say_gold("Lerodia3 - 44er Bizeps!") elseif infos == 3 then say_title("Deine Max. TP & MP:") say_red("Du besitzt : "..pc.get_hp().."TP (Trefferpunkte)") say_blue2("Du besitzt : "..pc.get_sp().."MP (Magiepunkte)") say_gold("") say_gold("") say_gold("Lerodia3 - 44er Bizeps!") elseif infos == 4 then say_title("Deine Spielminuten") say_gold("") say_gold("Du spielst auf Lerodia schon : "..pc.get_playtime().."Minuten!") end elseif todo == 2 then say_gold("In was willst du dich Verwandeln?") say_gold("5 Minuten kosten dich 5.000.000 Yang!") local u = select("Wildhund","Wolf","Ork","Spinne","Monster-Wahl") if u == 1 then if pc.money>=5000000 then say_gold("Du wirst in einen Wildhund verwandelt") pc.polymorph(101, 300) pc.change_money(-5000000) else say_gold("Du hast nicht genug Yang") say_gold("Du brauchst 5.000.000 Yang") end end if u == 2 then if pc.money>=5000000 then say_gold("Du wirst in einen Wolf verwandelt") pc.polymorph(102, 300) pc.change_money(-5000000) else say_gold("Du hast nicht genug Yang") say_gold("Du brauchst 5.000.000 Yang") end end if u == 3 then if pc.money>=5000000 then say_gold("Du wirst in ein Ork verwandelt") pc.polymorph(601, 300) pc.change_money(-5000000) else say_gold("Du hast nicht genug Yang") say_gold("Du brauchst 5.000.000 Yang") end end if u == 4 then if pc.money>=5000000 then say_gold("Du wirst in eine Spinne verwandelt") pc.polymorph(2001, 300) pc.change_money(-5000000) else say_gold("Du hast nicht genug Yang") say_gold("Du brauchst 5.000.000 Yang") end end if u == 5 then say_title("Hier musst du die Value von dem") say_title("Monster eingeben, in welches du") say_title("dich verwandeln willst.") say_reward("Es kostet 10.000.000 Yang und nur 10 Minuten!") local y = input() if pc.money>=10000000 then say_gold("Okey ich verwandle dich") say_gold("30 Minuten in einen") say_reward(" "..mob_name( y ).." ") pc.polymorph(y, 600) pc.change_money(-10000000) else say_gold("Du hast nicht genug Yang") say_gold("Du brauchst 10.000.000 Yang!") end elseif todo == 3 then say("Möchtest du in den AFK-Modus wechseln?") say("") local w = select("Ja","Wieder da","Nein") if w == 1 then say("Okey du bist nun AFK") pc.polymorph(30000, 2000000) end if w == 2 then say("Gut, du bist wieder da") pc.remove_polymorph() end if w == 3 then say("Ok, dann halt nicht") return end end end end end end
Bitte helft mir 
Ka ob das hier hinne gehört
|
|
|
09/11/2013, 18:52
|
#8990
|
elite*gold: 0
Join Date: Aug 2013
Posts: 301
Received Thanks: 88
|
Quote:
Originally Posted by DaJuBi
@©Fitchi:
Du musst zuerst der Quest überhaupt "sagen", dass ein Dungeon beginnt. Also, du musst ein Dungeon starten, bevor du Dungeonbefehle (d.*) benutzen kannst.
Ein Dungeon startest du mit diesem Befehl
Code:
d.new_jump_all(mapindex, x, y)
Damit werden alle Spieler auf der Map in das Dungeon gewarpt. Erst dann kannst du Dungeonbefehle nutzen.
Nimm die als Beispiel den Dämonenturm.
Beim Wächter betrittst du ganz normal eine neue Map und erst, wenn der Metin gekillt ist und man auf der nächsten Ebene ist, werden Dungeonbefehle genutzt.
Du kannst das ganze beispielsweise so lösen, dass du zuerst mit diesem Befehl spawnst
Code:
mob.spawn(vnum, x, y, 0, 0)
und anschließend im Kill-Event (when kill begin) mit d.new_jump_all() ein Dungeon starten.
MfG
|
Funktioniert leider immernoch nicht ;(
|
|
|
09/11/2013, 18:54
|
#8991
|
elite*gold: 313
Join Date: Apr 2013
Posts: 585
Received Thanks: 122
|
Quote:
Originally Posted by VeRoX ™
Hey Epvp,
Ich habe mir mal ein Userpanel gemacht klappt auch alles super keine Fehler oder so, klappt auch alles außer der AFK Modus, wenn man drauf klickt ist das wie return(das Fenster schließt sich einfach)Ich finde den fehler nich liegt das an der formatierung hab davon ka!
wäre cool, wenn mir einer hilft
Hier die quest das wichtige ist ab Zeile 107-122
Userpanel:
PHP Code:
quest Userpanel begin
state start begin
when 70028.use begin
say_title("Userpanel")
say_gold("")
say_gold("Du kannst folgendes machen!")
local todo = select("Char-Infos", "Verwandeln", "AFK-Modus", "Beenden")
if todo == 3 then
return
elseif todo == 1 then
say_title("Infos von dir:")
local infos = select("Reich", "Yang", "Max. TP & MP", "Spielminuten","Abbrechen")
if infos == 5 then
return
elseif infos == 1 then
say_title("Dein Reich:")
say_gold("")
if pc.get_empire() == 1 then
say_gold("Du bist im roten Reich (Shinsoo-Reich).")
elseif pc.get_empire() == 2 then
say_gold("Du bist im gelben Reich (Chunjo-Reich).")
elseif pc.get_empire() == 3 then
say_gold("Du bist im blauen Reich (Jinno-Reich).")
end
say_gold("")
say_gold("")
say_gold("Lerodia3 - 44er Bizeps!")
elseif infos == 2 then
say_title("Dein Geld:")
say_gold("")
say_gold("Du bestitzt momentan: "..pc.get_gold().." Yang.")
say_gold("")
say_gold("")
say_gold("Lerodia3 - 44er Bizeps!")
elseif infos == 3 then
say_title("Deine Max. TP & MP:")
say_red("Du besitzt : "..pc.get_hp().."TP (Trefferpunkte)")
say_blue2("Du besitzt : "..pc.get_sp().."MP (Magiepunkte)")
say_gold("")
say_gold("")
say_gold("Lerodia3 - 44er Bizeps!")
elseif infos == 4 then
say_title("Deine Spielminuten")
say_gold("")
say_gold("Du spielst auf Lerodia schon : "..pc.get_playtime().."Minuten!")
end
elseif todo == 2 then
say_gold("In was willst du dich Verwandeln?")
say_gold("5 Minuten kosten dich 5.000.000 Yang!")
local u = select("Wildhund","Wolf","Ork","Spinne","Monster-Wahl")
if u == 1 then
if pc.money>=5000000 then
say_gold("Du wirst in einen Wildhund verwandelt")
pc.polymorph(101, 300)
pc.change_money(-5000000)
else
say_gold("Du hast nicht genug Yang")
say_gold("Du brauchst 5.000.000 Yang")
end
end
if u == 2 then
if pc.money>=5000000 then
say_gold("Du wirst in einen Wolf verwandelt")
pc.polymorph(102, 300)
pc.change_money(-5000000)
else
say_gold("Du hast nicht genug Yang")
say_gold("Du brauchst 5.000.000 Yang")
end
end
if u == 3 then
if pc.money>=5000000 then
say_gold("Du wirst in ein Ork verwandelt")
pc.polymorph(601, 300)
pc.change_money(-5000000)
else
say_gold("Du hast nicht genug Yang")
say_gold("Du brauchst 5.000.000 Yang")
end
end
if u == 4 then
if pc.money>=5000000 then
say_gold("Du wirst in eine Spinne verwandelt")
pc.polymorph(2001, 300)
pc.change_money(-5000000)
else
say_gold("Du hast nicht genug Yang")
say_gold("Du brauchst 5.000.000 Yang")
end
end
if u == 5 then
say_title("Hier musst du die Value von dem")
say_title("Monster eingeben, in welches du")
say_title("dich verwandeln willst.")
say_reward("Es kostet 10.000.000 Yang und nur 10 Minuten!")
local y = input()
if pc.money>=10000000 then
say_gold("Okey ich verwandle dich")
say_gold("30 Minuten in einen")
say_reward(" "..mob_name( y ).." ")
pc.polymorph(y, 600)
pc.change_money(-10000000)
else
say_gold("Du hast nicht genug Yang")
say_gold("Du brauchst 10.000.000 Yang!")
end
elseif todo == 3 then
say("Möchtest du in den AFK-Modus wechseln?")
say("")
local w = select("Ja","Wieder da","Nein")
if w == 1 then
say("Okey du bist nun AFK")
pc.polymorph(30000, 2000000)
end
if w == 2 then
say("Gut, du bist wieder da")
pc.remove_polymorph()
end
if w == 3 then
say("Ok, dann halt nicht")
return
end
end
end
end
end
end
Bitte helft mir 
Ka ob das hier hinne gehört
|
PHP Code:
quest Userpanel begin
state start begin
when 70028.use begin
say_title("Userpanel")
say_gold("")
say_gold("Du kannst folgendes machen!")
local todo = select("Char-Infos", "Verwandeln", "AFK-Modus", "Beenden")
if todo == 4 then
return
elseif todo == 1 then
say_title("Infos von dir:")
local infos = select("Reich", "Yang", "Max. TP & MP", "Spielminuten","Abbrechen")
if infos == 5 then
return
elseif infos == 1 then
say_title("Dein Reich:")
say_gold("")
if pc.get_empire() == 1 then
say_gold("Du bist im roten Reich (Shinsoo-Reich).")
elseif pc.get_empire() == 2 then
say_gold("Du bist im gelben Reich (Chunjo-Reich).")
elseif pc.get_empire() == 3 then
say_gold("Du bist im blauen Reich (Jinno-Reich).")
end
say_gold("")
say_gold("")
say_gold("Lerodia3 - 44er Bizeps!")
elseif infos == 2 then
say_title("Dein Geld:")
say_gold("")
say_gold("Du bestitzt momentan: "..pc.get_gold().." Yang.")
say_gold("")
say_gold("")
say_gold("Lerodia3 - 44er Bizeps!")
elseif infos == 3 then
say_title("Deine Max. TP & MP:")
say_red("Du besitzt : "..pc.get_hp().."TP (Trefferpunkte)")
say_blue2("Du besitzt : "..pc.get_sp().."MP (Magiepunkte)")
say_gold("")
say_gold("")
say_gold("Lerodia3 - 44er Bizeps!")
elseif infos == 4 then
say_title("Deine Spielminuten")
say_gold("")
say_gold("Du spielst auf Lerodia schon : "..pc.get_playtime().."Minuten!")
end
elseif todo == 2 then
say_gold("In was willst du dich Verwandeln?")
say_gold("5 Minuten kosten dich 5.000.000 Yang!")
local u = select("Wildhund","Wolf","Ork","Spinne","Monster-Wahl")
if u == 1 then
if pc.money>=5000000 then
say_gold("Du wirst in einen Wildhund verwandelt")
pc.polymorph(101, 300)
pc.change_money(-5000000)
else
say_gold("Du hast nicht genug Yang")
say_gold("Du brauchst 5.000.000 Yang")
end
end
if u == 2 then
if pc.money>=5000000 then
say_gold("Du wirst in einen Wolf verwandelt")
pc.polymorph(102, 300)
pc.change_money(-5000000)
else
say_gold("Du hast nicht genug Yang")
say_gold("Du brauchst 5.000.000 Yang")
end
end
if u == 3 then
if pc.money>=5000000 then
say_gold("Du wirst in ein Ork verwandelt")
pc.polymorph(601, 300)
pc.change_money(-5000000)
else
say_gold("Du hast nicht genug Yang")
say_gold("Du brauchst 5.000.000 Yang")
end
end
if u == 4 then
if pc.money>=5000000 then
say_gold("Du wirst in eine Spinne verwandelt")
pc.polymorph(2001, 300)
pc.change_money(-5000000)
else
say_gold("Du hast nicht genug Yang")
say_gold("Du brauchst 5.000.000 Yang")
end
end
if u == 5 then
say_title("Hier musst du die Value von dem")
say_title("Monster eingeben, in welches du")
say_title("dich verwandeln willst.")
say_reward("Es kostet 10.000.000 Yang und nur 10 Minuten!")
local y = input()
if pc.money>=10000000 then
say_gold("Okey ich verwandle dich")
say_gold("30 Minuten in einen")
say_reward(" "..mob_name( y ).." ")
pc.polymorph(y, 600)
pc.change_money(-10000000)
else
say_gold("Du hast nicht genug Yang")
say_gold("Du brauchst 10.000.000 Yang!")
end
elseif todo == 3 then
say("Möchtest du in den AFK-Modus wechseln?")
say("")
local w = select("Ja","Wieder da","Nein")
if w == 1 then
say("Okey du bist nun AFK")
pc.polymorph(30000, 2000000)
end
if w == 2 then
say("Gut, du bist wieder da")
pc.remove_polymorph()
end
if w == 3 then
say("Ok, dann halt nicht")
return
end
end
end
end
end
end
MfG
|
|
|
09/11/2013, 19:05
|
#8992
|
elite*gold: 47
Join Date: Feb 2012
Posts: 2,282
Received Thanks: 2,579
|
Quote:
Originally Posted by ©Fitchi
Funktioniert leider immernoch nicht ;(
|
Kannst du bitte deine ganze Quest posten?
MfG
|
|
|
09/11/2013, 19:11
|
#8993
|
elite*gold: 0
Join Date: Aug 2013
Posts: 301
Received Thanks: 88
|
Quote:
Originally Posted by DaJuBi
Kannst du bitte deine ganze Quest posten?
MfG
|
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() == 97 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() == 97 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)
mob.spawn(8023, 182, 173)
pc.set_warp_location(73 , 1825, 12207)
end
when 8023.kill with pc.get_map_index() == 97 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(97, 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(97)
game.set_event_flag("Grotte_zugang",0)
d.setf("grotte_boss", 1)
d.exit_all()
end
when login with pc.get_map_index() != 97 or not pc.in_dungeon() begin
pc.setqf("erlaubt",0)
end
end
end
|
|
|
09/12/2013, 15:22
|
#8994
|
elite*gold: 0
Join Date: Sep 2013
Posts: 24
Received Thanks: 27
|
Given error:
Quote:
|
guild_war_bet.quest:113:syntax error : [string "start"]:1: `=' expected near `returns'
|
Quest:
Code:
quest guild_war_bet begin
state start begin
when
guild_war_observer1.chat."Guild War-Bet" or
guild_war_observer2.chat."Guild War-Bet" or
guild_war_observer3.chat."Guild War-Bet" begin
guild.get_reserve_war_table returns
{ 1 2 3 4
{ id, presume_winner, presume_loser, handicap },
}
local info_counter = pc.getqf("Info")
if info_counter < 3 then
say_title("The Guild War-Bet.")
say("")
----"12345678901234567890123456789012345678901234567890"|
say("Buy a Betting Lot for your empire.")
say("1 At every guild war, there will be an announcement")
say("of the possible projection for the victorious guild")
say("")
say("2. You can buy a Betting Lot, and give your tip")
say("which guild will win and if the guild reaches the ")
say("announced projection or not.")
say("")
say("3. The possibilities for choosing a bet are")
say("controlled by the Betting Booth and when the war")
say("ends you are informed if you have won or lost.")
say("* 10% of the profit is paid to the empire.")
pc.setqf("Info", info_counter + 1)
wait()
end
local g = guild.get_reserve_war_table()
local gname_table = {}
table.foreachi(g,
function(n, p)
gname_table[n] = guild.get_name(p[2]).." against "..guild.get_name(p[3])
end)
if table.getn(g) == 0 then
-- no currently war
say_title("Battle Administrator:")
say("")
say("There is no guild war in the moment, you could bet on.")
say("")
else
gname_table[table.getn(g)+1] = "Abbort"
say_title("Battle Administrator:")
say("")
----"12345678901234567890123456789012345678901234567890"|
say("For which guild war you want to buy a Betting Lot?")
local s = select_table(gname_table)
if s != table.getn(gname_table) then
if guild.is_bet(g[s][1]) then
say_title("Battle Administrator:")
say("")
say("On my list stands, you already have a Betting Lot")
say("for this guild war.")
say("You can only buy one Lot per war.")
else
local name1 = guild.get_name(g[s][2])
local name2 = guild.get_name(g[s][3])
say_title("Battle Administrator:")
say("")
say("The guild with the name")
say(name1.." "..name2.."with "..g[s][4].."seems to be victorious.")
say("On which guild you want to bet?")
say(name1.."It is to be foreseen, that guild"..name2..""..g[s][4].."will be victorious.[ENTER][ENTER]On which guild you want to bet?")
local guild_s = select(name1, name2, "Abbort")
if guild_s != 3 then
local bet_guild = g[s][guild_s+1]
say_title("Battle Administrator:")
say("")
say("Hmm ... A good choice! Waht is you option?")
local price_button_table = {}
table.foreachi(guild_war_bet_price_table,
function(n, p)
price_button_table[n] = p.."Yang"
end)
price_button_table[table.getn(price_button_table)+1] = "Abbort"
local price_idx = select_table(price_button_table)
if price_idx != table.getn(price_button_table) then -- ? ??? ?? ??? ???
if pc.gold < guild_war_bet_price_table[price_idx] then
say_title("Battle Administrator:")
say("")
say("You do not have enough Yang!")
say("")
else
say_title("Battle Administrator:")
say("")
pc.changegold(-guild_war_bet_price_table[price_idx])
guild.war_bet(g[s][1], bet_guild, guild_war_bet_price_table[price_idx])
say("Everything is ready. If you have chosen right,")
say("The Yang will be paid and given to you, ")
say("when the guild war is over. Good luck!")
end
end
end -- if guild_s != 3
end -- if guild.is_bet(g[s][1])
end -- if s != table.getn(gname_table)
end
end
end
end
Please help me! 
|
|
|
09/12/2013, 15:26
|
#8995
|
elite*gold: 47
Join Date: Feb 2012
Posts: 2,282
Received Thanks: 2,579
|
@©Fitchi:
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() == 97 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() == 97 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) mob.spawn(8023, 182, 173, 0, 0) pc.set_warp_location(73 , 1825, 12207) end when 8023.kill with pc.get_map_index() == 97 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(97, 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(97) game.set_event_flag("Grotte_zugang",0) d.setf("grotte_boss", 1) d.exit_all() end when login with pc.get_map_index() != 97 or not pc.in_dungeon() begin pc.setqf("erlaubt",0) end end end
Das sollte so nun eigentlich funktionieren.
MfG
|
|
|
09/13/2013, 16:31
|
#8996
|
elite*gold: 0
Join Date: Jun 2013
Posts: 669
Received Thanks: 243
|
HTML Code:
----------------------------------------------------
-- Dragonroom Quest
----------------------------------------------------
quest dragontemple begin
state start begin
when 30121.chat."I want to kill the dragon" with pc.get_map_index() == 73 and game.get_event_flag("dragontemple_open") == 1 begin
if get_time() > game.get_event_flag("blockentry") and game.get_event_flag("blockentry") > 1 then
game.set_event_flag("dragontemple_block",1)
game.set_event_flag("blockentry", 0)
end
if get_time() > game.get_event_flag("reopen") and game.get_event_flag("reopen") > 1 then
game.set_event_flag("dragontemple_used",0)
game.set_event_flag("dragontemple_block",0)
game.set_event_flag("reopen", 0)
end
if game.get_event_flag("reopen")-get_time() < 0 then
dragontime = 1
else
dragontime = game.get_event_flag("reopen")-get_time()
end
if game.get_event_flag("dragontemple_used") == 1 and game.get_event_flag("empire") == pc.get_empire() then
if game.get_event_flag("dragontemple_block") == 1 then
say_title(mob_name(30121))
say("")
say("Currently you can't go into the Dragon's Lair.")
say("Please come back later.")
say("")
say("Time Remaining: "..dragontime.." seconds.")
say("")
return;
end
say_title(mob_name(30121))
say("")
say("I'm sorry, but the Dragon's Lair is currently")
say("reserved.")
say("If you have the password to access it,")
say("please enter it now...")
local password = input()
if game.get_event_flag("dragontemple_password") == tonumber(password) then
say_title(""..mob_name(30121).."")
say("")
say("The password is correct!")
say("I'll lead you to the chamber.")
wait()
say_title(""..mob_name(30121).."")
say("")
say("If you want, I can lead you into the")
say("Dragon's Lair right now.")
say("Just hand me over 3 of these:")
say("")
say_item_vnum(30179)
local s = select("Please take them and let me in!", "Cancel")
if s == 1 then
if pc.count_item(30179) >= 3 then
pc.remove_item(30179,3)
pc.warp(843200, 1066900,(97*10000))
pc.setqf("payment", 1)
else
say("You only have "..pc.count_item(30179).." of 3 needed")
say("")
say_item_vnum(30179)
end
else
return
end
else
say_title(""..mob_name(30121).."")
say("")
say("The password is not correct!")
return
end
elseif pc.has_guild() and game.get_event_flag("dragontemple_used") == 0 then
say_title(""..mob_name(30121).."")
say("")
say("So you want to fight against the dragon?")
say("Please give me a password to enter the")
say("Dragon's Lair (only numeric) so I can protect it.")
say("You can tell this password to your friends")
say("to help you and enter the Dragon's Lair.")
say("Please tell the password to me.")
local password = tonumber(input(""))
game.set_event_flag("dragontemple_password",password)
say_title(""..mob_name(30121).."")
say("")
say("If you want, I can lead you into the")
say("Dragon's Lair right now.")
say("Just hand me over 3 of these:")
say_item_vnum(30179)
say("")
say_reward("Please reminder, people who want to join you only")
say_reward("have 5 minutes before entrance locks down!")
say("")
local s = select("Please take them and let me in!", "Cancel")
if s == 1 then
if pc.count_item(30179) >= 3 then
empire = pc.get_empire()
pc.remove_item(30179,3)
DragonLair.startRaid(97)
game.set_event_flag("dragontemple_used",1)
game.set_event_flag("empire",empire)
game.set_event_flag("metinkills", 0)
game.set_event_flag("reopen", get_time()+60*60)
game.set_event_flag("blockentry", get_time()+5*60)
pc.setqf("payment", 1)
else
say("You only have "..pc.count_item(30179).." of 3 needed")
say("")
say_item_vnum(30179)
say("")
return
end
elseif s==2 then
return
end
elseif not pc.has_guild() then
say_title(""..mob_name(30121).."")
say("")
say("You need to be a member of a guild")
say("to fight against the dragon.")
elseif game.get_event_flag("empire") > pc.get_empire() or game.get_event_flag("empire") < pc.get_empire() then
say_title(""..mob_name(30121).."")
say("")
say("Sorry but the Dragon Lair is currently")
say("occupied by another kingdom so you can not join")
end
end
when login with pc.get_map_index() >= (97*10000) begin
if pc.getqf("payment") < 1 then
if pc.count_item(30179) >= 3 then
pc.remove_item(30179,3)
else
pc.warp(843200, 1066900)
send_letter("You have been banished from Dragon's Lair")
end
else
pc.setqf("payment", 0)
end
end
when button or info begin
say_title("Dragon's Lair")
say("")
say("You did not have enough Dragon God's Symbols")
say("to enter the chamber.")
say("Therefore you have been kicked out of it.")
say("")
say("You require 3 Dragon God's Symbols to enter")
say_item_vnum(30179)
say("")
say_reward("You can join again if you get 3 Dragon God's Symbol")
end
when 8031.kill or 8032.kill or 8033.kill or 8034.kill begin
game.set_event_flag("metinkills", game.get_event_flag("metinkills")+1)
if game.get_event_flag("metinkills") == 3 then
game.set_event_flag("metinkills", 3)
metin = {
{8031, 8032, 8033, 8034},
}
n = number(1,4)
x = number(155,185)
y = number(155,185)
mob.spawn(tonumber(metin[1][n]), x, y, 1, 0, 1)
end
end
when 2493.kill with pc.get_map_index() >= (97*10000) begin
local drop = number(1,10)
if drop <= 3 then
game.drop_item(71123)
elseif drop >= 4 and drop <= 8 then
game.drop_item(71129)
elseif drop >= 9 then
game.drop_item(71123)
game.drop_item(71129)
end
game.set_event_flag("reopen", get_time()+30*60)
notice_all("The group of "..pc.get_name().." has successfully slained the Aqua Dragon!")
game.set_event_flag("metinkills", 0)
game.set_event_flag("dragontemple_block",1)
end
end
end
Bis zum drahcenraum gehts ab da passiert nix mehr .
|
|
|
09/13/2013, 18:38
|
#8997
|
elite*gold: 0
Join Date: Feb 2011
Posts: 77
Received Thanks: 4
|
Tag,
Hab ein Problem mit meiner Warpring Quest..
Alles funktioniert super außer dt...
Das ist verwechselt:
Wenn ich auf Dämonenturm klicke, komme ich zurück zur 1. Auswahl,
Wenn ich auf Zurück klicke, werde ich zum Dämonenturm getelt.
Wäre noch sehr dankbar, wenn man die neuen 4 Beta Maps einbaut.
Kordinaten:
(210 metin2_map_bayblacksand) Nephritbucht: 1049600 1510400
(211 metin2_map_capedragonhead) Kap des Drachenfeuers: 1024000 1664000
(212 metin2_map_dawnmistwood) Gautamakliff: 1177600 1664000
(213 metin2_map_mt_thunder) Donnerberge: 1126400 1510400
Kann mir jemand dabei helfen? 
PHP Code:
quest warpring begin state start begin when 70007.use with pc.get_level() >= 10 begin if pc.countitem("70007")>=1 then end say_title("Warpring:") say("Hey, ich bin der Warpring.") say("Möchtest du dich teleportieren?")
local main_set = select("Ja","Nein") if main_set == 2 then return end if pc.get_level() <= 10 then say_title("Warpring:") say("Hm… Mit deinem derzeitigen Level bist du noch") say("zu schwach für die Reise durch Zeit und Raum.") say("Komm wieder, wenn du höher als Level 10 bist.") return end
local map = pc.get_map_index() local empire = pc.get_empire() local level = pc.get_level()
say_title("Warpring:") say("Wohin möchtest du teleportiert werden?")
-- ?? ?? ???? ?? ?? (? ?? 1,2 ??) if map == 1 or map == 3 or map == 21 or map == 23 or map == 41 or map == 43 then
local guild_map_names = { "Gildenzone", "Gildenzone", "Gildenzone", }
guild_map_name = guild_map_names[empire] local empire_castle={ "Burgschlacht", "Burgschlacht", "Burgschlacht", } empire_castle =empire_castle[empire] local sub_set = 0 if level < 60 then -- 60?? : ?????, ???, ????, ??? sub_set = select(guild_map_name, "Spinnen Dungeon 2", "Tal von Seungryong", "Yongbi-Wüste", "Berg Sohan", empire_castle,"Andere Gebiete") if sub_set == 7 then -- ?? return end
else -- 61?? : ????, ???, ????, ???? sub_set = select(guild_map_name, "Spinnen Dungeon 2", "Tal von Seungryong", "Yongbi-Wüste", "Berg Sohan", empire_castle,"Andere Gebiete") if sub_set == 7 then -- ?? say_title("Teleporter:") say("Wohin möchtest du teleportiert werden?") sub_set = select("Doyyumhwaji", "Dämonenturm", "Zurück", "Abbrechen") + 5 if sub_set == 9 then -- ?? return end if sub_set == 7 then -- ?? say_title("Teleporter:") say("Wohin möchtest du teleportiert werden?") --- l sub_set = select(guild_map_name, "Spinnen Dungeon 2", "Tal von Seungryong", "Yongbi-Wüste", "Berg Sohan", empire_castle,"Andere Gebiete") if sub_set == 7 then -- ?? say_title("Teleporter:") say("Wohin möchtest du teleportiert werden?") sub_set = select("Doyyumhwaji", "Dämonenturm", "Abbrechen") + 5 if sub_set == 9 then -- ?? return end end end end end
local warp = { -- guild_map { { 128500, 1000 }, { 179500, 1000 }, { 271800, 13000 }, }, -- 71 metin2_map_spiderdungeon_02 { { 665600, 435200 }, }, -- 64 map_n_threeway { { 402100, 673900 }, { 270400, 739900 }, { 321300, 808000 }, }, -- 63 metin2_map_n_desert_01 { { 217800, 627200 }, { 221900, 502700 }, { 344000, 502500 }, }, -- 61 map_n_snowm_01 { { 434200, 290600 }, { 375200, 174900 }, { 491800, 173600 }, }, --empire_castle { {975200, 133000}, {977200, 185000}, {923900, 183600}, } , -- 62 metin2_map_n_flame_01 { { 599400, 756300 }, { 597800, 622200 }, { 730700, 689800 }, }, -- 66 metin2_map_deviltower1 { { 590500, 110500 }, { 590500, 110500 }, { 590500, 110500 }, }, } test_chat(warp[sub_set][empire][1]..warp[sub_set][empire][2]) say_title("Warpring:") say("Achtung, ich teleportiere dich jetzt. Du wirst") say("an einem gefährlichen Ort landen, also pass auf") say("dich auf. Viel Glück!") wait() pc.warp(warp[sub_set][empire][1], warp[sub_set][empire][2])
else -- ? ?? 1,2 ? ??? ?????? ? ?? 1,2 ? ??? ?? ?? local sub_set2 = 3
--sub_set2 = select(locale.vileage1_name[empire], locale.vileage2_name[empire], locale.cancel) if empire==1 then sub_set2 = select("Yongan","Jayang" , locale.cancel) elseif empire ==2 then sub_set2 = select("Joan","Bokjung" , locale.cancel) elseif empire ==3 then sub_set2 = select("Pyungmoo","Bakra" , locale.cancel) end if sub_set2 != 3 then if sub_set2 == 1 then say_title("Ring:") say("Ich teleportiere dich dorthin.") wait()
if empire == 1 then pc.warp(474300,954800) elseif empire == 2 then pc.warp(63800,166400) elseif empire == 3 then pc.warp(959900,269200) end elseif sub_set2 == 2 then say_title("Ring:") say("Ich teleportiere dich dorthin.")
wait() if empire == 1 then pc.warp(353100,882900) elseif empire == 2 then pc.warp(145500,240000) elseif empire == 3 then pc.warp(863900,246000) end end -- end sub set check2 if end -- end sub set check1 if end -- end map check if end -- end when use item end -- end state start end -- end quest warpring
Danke im Vorraus.
|
|
|
09/14/2013, 01:44
|
#8998
|
elite*gold: 0
Join Date: Aug 2013
Posts: 301
Received Thanks: 88
|
Quote:
Originally Posted by DaJuBi
@©Fitchi:
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() == 97 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() == 97 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)
mob.spawn(8023, 182, 173, 0, 0)
pc.set_warp_location(73 , 1825, 12207)
end
when 8023.kill with pc.get_map_index() == 97 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(97, 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(97)
game.set_event_flag("Grotte_zugang",0)
d.setf("grotte_boss", 1)
d.exit_all()
end
when login with pc.get_map_index() != 97 or not pc.in_dungeon() begin
pc.setqf("erlaubt",0)
end
end
end
Das sollte so nun eigentlich funktionieren.
MfG
|
Dankeschön ^.^
An sich funktioniert der run jetzt, nur das 3 oder mehrere Metins auf einem Fleck stehen. Bis jetzt ist das nicht weiter schlimm geworden, aber wenn man dann wirklich ohne reboot ma 100 runs insgesammt gemacht hat, dann stehen da vill so etwa 150 metins...
Wäre cool wenn das noch gefixxt werden kann
MFG
|
|
|
09/14/2013, 12:27
|
#8999
|
elite*gold: 0
Join Date: Sep 2013
Posts: 108
Received Thanks: 124
|
PHP Code:
quest fischer begin state start begin when 20010.chat."Steinstücke eintauschen" begin say_title("Bonus Belohnung") say("") say("Ich brauche 50 Steinstücke von ihnen") say("Wenn du sie hast bekommst du diese Bonis") say("Krieger - 3000 TP und 10 Stärke") say("Sura+Schamane - 3000 TP und 10 Intelligenz") say("Ninja - 3000 TP und 10 Beweglichkeit") say_title("Willst du sie eintauschen?") local s=select("Ja", "Nein") elseif pc.count_item(27990) < 50 then pc.remove_item("27990", 50) if 2==s then return say("Tut mir leid du hast zu wenig Steinstücke") return end say_title("Beruf Level 1:") say("") say("Nun wähle weise und entscheide dich") say("welchen Weg du beschreiten möchtest.") say("") local wahl = select ("Krieger", "Sura+Schamane", "Ninja", "Abbrechen") if wahl == 4 then return elseif wahl == 1 then say_title("Ausbildung zum Krieger:") say("") say("Du hast dich zu einer Ausbildung zum") say("Kriegeren entschieden "..pc.get_name()..".") say("Eine sehr kluge Wahl.") say("") say("Folgende Werte sind nun gestiegen:") say("") say("+5000 TP") say("+10 Stärke") affect.add_collect(apply.MAX_HP, 3000, 60*60*24*365*60) affect.add_collect(apply.STR, 10, 60*60*24*365*60) set_state(__COMPLETE__) elseif wahl == 2 then say_title("Ausbildung zum Heiligen:") say("") say("Du hast dich zu einer Ausbildung zum") say("Heiligen entschieden "..pc.get_name()..".") say("Eine sehr kluge Wahl.") say("") say("Folgende Werte sind nun gestiegen:") say("") say("+5000 TP") say("+10 Intelligenz") affect.add_collect(apply.MAX_HP, 3000, 60*60*24*365*60) affect.add_collect(apply.INT, 10, 60*60*24*365*60) set_state(__COMPLETE__) elseif wahl == 3 then say_title("Ausbildung zum Ninja:") say("") say("Du hast dich zu einer Ausbildung zum") say("Ninja entschieden "..pc.get_name()..".") say("Eine sehr kluge Wahl.") say("") say("Folgende Werte sind nun gestiegen:") say("") say("+5000 TP") say("+10 Beweglichkeit") affect.add_collect(apply.MAX_HP, 3000, 60*60*24*365*60) affect.add_collect(apply.DEX, 10, 60*60*24*365*60) set_state(__COMPLETE__) end end end state __COMPLETE__ begin end end
Wenn Ich 20 stein stücke Habe Und Auf Die Quest Drücke sind sie weg sie sollen bleiben und bei 50 soll die quest starten
|
|
|
09/15/2013, 09:19
|
#9000
|
elite*gold: 0
Join Date: Mar 2010
Posts: 670
Received Thanks: 137
|
Auto-Pull Quest
Quote:
Originally Posted by xSpongBoZZ
PHP Code:
quest fischer begin state start begin when 20010.chat."Steinstücke eintauschen" begin say_title("Bonus Belohnung") say("") say("Ich brauche 50 Steinstücke von ihnen") say("Wenn du sie hast bekommst du diese Bonis") say("Krieger - 3000 TP und 10 Stärke") say("Sura+Schamane - 3000 TP und 10 Intelligenz") say("Ninja - 3000 TP und 10 Beweglichkeit") say_title("Willst du sie eintauschen?") local s=select("Ja", "Nein") elseif pc.count_item(27990) < 50 then pc.remove_item("27990", 50) if 2==s then return say("Tut mir leid du hast zu wenig Steinstücke") return end say_title("Beruf Level 1:") say("") say("Nun wähle weise und entscheide dich") say("welchen Weg du beschreiten möchtest.") say("") local wahl = select ("Krieger", "Sura+Schamane", "Ninja", "Abbrechen") if wahl == 4 then return elseif wahl == 1 then say_title("Ausbildung zum Krieger:") say("") say("Du hast dich zu einer Ausbildung zum") say("Kriegeren entschieden "..pc.get_name()..".") say("Eine sehr kluge Wahl.") say("") say("Folgende Werte sind nun gestiegen:") say("") say("+5000 TP") say("+10 Stärke") affect.add_collect(apply.MAX_HP, 3000, 60*60*24*365*60) affect.add_collect(apply.STR, 10, 60*60*24*365*60) set_state(__COMPLETE__) elseif wahl == 2 then say_title("Ausbildung zum Heiligen:") say("") say("Du hast dich zu einer Ausbildung zum") say("Heiligen entschieden "..pc.get_name()..".") say("Eine sehr kluge Wahl.") say("") say("Folgende Werte sind nun gestiegen:") say("") say("+5000 TP") say("+10 Intelligenz") affect.add_collect(apply.MAX_HP, 3000, 60*60*24*365*60) affect.add_collect(apply.INT, 10, 60*60*24*365*60) set_state(__COMPLETE__) elseif wahl == 3 then say_title("Ausbildung zum Ninja:") say("") say("Du hast dich zu einer Ausbildung zum") say("Ninja entschieden "..pc.get_name()..".") say("Eine sehr kluge Wahl.") say("") say("Folgende Werte sind nun gestiegen:") say("") say("+5000 TP") say("+10 Beweglichkeit") affect.add_collect(apply.MAX_HP, 3000, 60*60*24*365*60) affect.add_collect(apply.DEX, 10, 60*60*24*365*60) set_state(__COMPLETE__) end end end state __COMPLETE__ begin end end
Wenn Ich 20 stein stücke Habe Und Auf Die Quest Drücke sind sie weg sie sollen bleiben und bei 50 soll die quest starten
|
Du hast das Zeichen verdreht. Es muss richtig sein:
PHP Code:
local s=select("Ja", "Nein") elseif pc.count_item(27990) > 50 then pc.remove_item("27990", 50)
Sonst ist die Abfrage, wenn weniger als 50 da sind soll er sie removen.
Mein Problem:
Ich möchte gerne, dass mein Automatischer Umhang 2 Minuten lang Alles in der Umgebung pullt. Klappt leider nicht.
PHP Code:
quest auto_pull begin state start begin when login with pc.getqf("pull")==1 begin pc.setqf("pull", 0) end when 70038.use begin --Hier kann das Item geändert werden if pc.getqf("pull")==0 then chat("Automatischer Umhang aktiviert") chat("Der Umhang zieht 2 Minuten lang alle Monster in der Umgebung!") loop_timer("pull_it", 120) -- Hier kann das Zeitintervall geändert werden pc.setqf("pull", 1) pc.aggregate_monster() elseif pc.getqf("pull")==1 then chat("Automatischer Umhang deaktiviert") cleartimer("pull_it") pc.setqf("pull", 0) end end end end
|
|
|
All times are GMT +1. The time now is 04:16.
|
|