Habe zu dem Thema nichts gefunden und mir wurde auch gesagt, dass es nicht Pub ist, deswegen habe ich mal den Sd3 bzw die Bruthöhle, wie auf Metin2Wiki beschrieben, gemacht.
Vorab: Bevor ihr sagt, es geht nicht o.ä: Guckt, ob alle Vnums angepasst sind.
Hatte die so nicht da, deswegen sind nicht die richtigen Vnums der Items oder Npc drin.
Special Thanks an: .CHHorny
Quests:
Schlüssel bekommen:
Code:
quest get_sd3_key begin
state start begin
when 20355.chat."Schlüssel zum SD3" with pc.get_level() > 49 begin
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say()
say("Besorge für mich eine Kopie einer")
say("Inschrift aus dem SD3.")
wait()
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say()
say("Du erhältst von mir nun einen Passierschein,")
say("damit du den SD2 betreten kannst.")
wait()
if not pc.enough_inventory() then
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say("Du hast nicht genug Platz in deinem Inventar.")
return
end
pc.give_item2(71095, 1)
set_state(get_schrift)
end
end
state get_schrift begin
when kill with not npc.is_pc() and pc.get_map_index() == x begin -- Index für Sd2 anpassen
if number(1, 10) then -- Dropchance kann angepasst werden // 1 zu x
game.drop_item(xxx, 1) -- Vnum anpassen für Inschrift
set_state(back_to_hauptmann)
end
end
end
state back_to_hauptmann begin
when 20355.chat."Ich habe die Inschrift!" with pc.count_item(xxx) >= 1 begin -- Vnum für Inschrift anpassen
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say("Wie ich sehe hast du die Inschrift gefunden")
say("Gehe nun zu Uriel.")
wait()
pc.setqf("uriel",1)
end
when 20011.chat."Ich soll mich bei dir melden" with pc.getqf("uriel") == 1 begin
pc.setqf("uriel",0)
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say("Ich habe soeben einen Weg gefunden,")
say("um einen Schlüssel herzustellen, welcher es")
say("ermöglicht den SD3 zu betreten.")
wait()
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say("Gehe wieder zum Hauptmann.")
say("Er sagt dir, welche Gegenstände du")
say("für die Herstellung benötigst.")
wait()
pc.setqf("haupt",1)
end
when 20355.chat."Zutaten für den Schlüssel" with pc.getqf("haupt") == 1 begin
pc.setqf("haupt",0)
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say("Für den Schlüssel benötigst du:")
say_reward("1x Spinnen-Giftsack")
say_reward("1x Spinnen-Eiersack")
say_reward("1x Spinnennetz")
say_reward("1x Spinnenaugen")
say_reward("1x Spinnenbeine")
say_reward("1x Gift der Spinnenkönigin")
wait()
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say("Gehe nun wieder zu Uriel.")
wait()
pc.give_item2(71095, 1)
pc.setqf("uriel",2)
end
when 20011.chat."Ich kenne die Zutaten" with pc.getqf("uriel") == 2 begin
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say("Du kennst also die Zutaten für den Schlüssel?")
say()
say("Gut..")
say("Geh nun in den SD2 und besorge die Zutaten.")
pc.setqf("uriel",0)
set_state(get_items)
end
end
state get_items begin
when kill with pc.get_map_index() == x begin -- Index für SD2 anpassen
if number(1, 10) then
local item = {
{30025},
{30058},
{30056},
{30059},
{19} -- Vnum für Gift der Spinnenkönigin anpassen
}
local anz = number(1, table.getn(item))
game.drop_item_with_ownership(item[anz][1], 1)
end
end
when 20011.chat."Ich habe die Zutaten!" with
pc.count_item(30025) > 0
and pc.count_item(30058) > 0
and pc.count_item(30056) > 0
and pc.count_item(30059) > 0
and pc.count_item(19) > 0 begin -- Vnum für GdS anpassen
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say()
say("Okay, du hast alle Zutaten.")
say("Willst du nun den Schlüssel herstellen?")
if select("Ja","Nein") == 2 then return end
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say()
say("[DELAY value; 750]....[/DELAY]")
wait()
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say()
say("Der Schlüssel wurde erfolgreich hergestellt.")
wait()
pc.give_item2(xx, 1) -- Vnum für Schlüssel anpassen
pc.remove_item(30025,1) pc.remove_item(30058,1) pc.remove_item(30056, 1) pc.remove_item(30059,1) pc.remove_item(19,1) -- Vnum für GdS anpassen
set_state(start)
end
end
end
Code:
quest sd3_bruthoehle begin
state start begin
when xxx.chat."In die Bruthöhle" with pc.get_level() > 49 begin
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
if game.get_event_flag("sd3_frei") == 1 then
say("Die Bruthöhle ist zur Zeit besetzt.")
return
end
if not party.is_party() then
say("Du kannst nur in einer Gruppe die")
say("Bruthöhle betreten.")
return
end
if not party.is_leader() then
say("Nur der Gruppenleiter kann das")
say("Portal zur Bruthöhle öffnen.")
return
end
say("Möchtet ihr die Bruthöhle betreten?")
if select("Ja","Nein") == 2 then return end
d.join(xx) -- Mapindex anpassen
game.set_event_flag("sd3_frei",1)
server_timer("exit",60*20)
end
when login with pc.get_map_index() == xx and party.is_party() begin -- Index anpassen
d.set_regen_file("data/dungeon/sd3/eier.txt")
d.regen_file("data/dungeon/sd3/boss.txt")
d.notice("Ihr habt 20 Minuten Zeit, um den Spinnenbaron zu töten.")
end
when exit.server_timer begin
if d.select(get_server_timer_arg()) then
d.exit_all()
server_timer("sd3_set_free",60*60)
end
end
when xxx.kill with party.is_party() and pc.get_level() > 49 begin
local count = tonumber(party.get_near_count()-1)
notice_all(string.format("%s und %d weitere Mitglieder haben den Spinnenbaron besiegt!", pc.get_name(), count))
server_timer("sd3_set_free", 60*60)
server_timer("exit",60*5)
d.notice("In 5 Minuten werdet ihr hinausteleportiert")
end
when sd3_set_free.server_timer begin
game.set_event_flag("sd3_frei",0)
end
end
end







