[FinalMT2] Questdateien

05/05/2010 17:24 Ap0kalyps3#1
Wie ihr vielleicht schon mitbekommen habt, haben wir ( das FinalMT2 Team ) uns dazu entschlossen, dass wir FinalMT2 nun doch für immer down lassen..

Grund dafür ist einfach dass wir wegen Metin unser Real life in letzter Zeit total vernachlässigt haben, der Server max. 2 -3 Tage ohne Down durchlief .. mehr Gründe möchte ich an dieser Stelle garnicht nennen..

Nunja.. um unseren Usern und euch zu beweisen dass wir es ernst meinen haben wir uns entschlossen die ServerFiles + Questfiles von FinalMT2 Public zu machen damit wenigstens die anderen Server, die noch online bleiben werden etwas davon haben.


Anfangen möchte ich an dieser Stelle mit dem Tal von Ascaria.

Für alle die kein FinalMT2 gespielt haben:
Das Tal von Ascaria (Ascaria war der Name unseres Server 1) ist die Map "metin2_map_dd" - also devildown. Die Questdatei macht aus der Map eine DT ähnliche Map mit aufgaben und dem Endboss dem Roten Drache.

Code:
quest devildown begin
    state start begin
		when login begin
			if pc.get_map_index() == 220 then
				pc.set_warp_location(220, 3917, 12931)
			end
		end
	
		when 30122.chat."Das Geheimnis Ascarias" begin
			say_title("Kriegergeist")
			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(391700, 1293100)
				else
					return
				end
		end
		
		when 8024.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 Surageist.")
				game.drop_item(30136, 1)
			else
				chat("An diesem Metin war anscheinend keine Karte..")
			end
		end
		
		when 30121.chat."Teil einer Karte" begin
		
			if pc.count_item(30136)>=1 then
				say("Du hast eine Karte gefunden?!")
				say("Lass mal sehen!")
				pc.removeitem("30136", 1)
				wait()
				say("Okay, ich denke als nächstes..")
				say("Ja das ist okay.. Bis später!")
				wait()				
				d.new_jump_all(220, 3182, 12142)
				d.setf("devillevel", 1)
			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öntne ich dich in das")
				say("nächste Gebiet teleportieren, da ich dann das")
				say("Gebiet genauer untersuchen könnte.")
			end
		end
		
		when login with pc.in_dungeon() and d.getf("devillevel") == 1 begin
		
			-- 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.setf("devillevel", 1)
				d.notice("Zerstört das legendäre Feuer der Macht.");
			
		end
		
		when 11510.kill with pc.in_dungeon() begin
			if d.is_unique_dead("real") then
				d.setf("devillevel", 2)
				d.jump_all(3542, 12825)
			end
		end
		
		when 20083.chat."Geheimnissvolle Gänge" with pc.in_dungeon() and d.getf("devillevel") == 2 begin
			say_title("Poeng-Hong")
			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.setf("devillevel", 3)
			timer("devildown_spawnport", 1)
			d.jump_all(3347, 12810)			
		end		
		
		when devildown_spawnport.timer begin
			d.regen_file("data/dungeon/dd_warps.txt")
		end
		
		when 20080.chat."Poeng-Hong" with pc.in_dungeon() and d.getf("devillevel") == 3 begin
			say_title("Sao-Hae")
			say("")
			say("Mein Bruder Poeng-Hong?")
			say("Du hast ihn getroffen?")
			say("Ja ich bin sein Bruder.. Es wäre")
			say("sehr nett von ihm, 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.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.jump_all(4426, 12370)
				d.regen_file("data/dungeon/dd_regen4.txt")
				d.spawn_mob(30101, 1241, 250)
				d.spawn_mob(30101, 1246, 242)
				d.spawn_mob(30101, 1255, 243)
				d.spawn_mob(30101, 1259, 250)
				d.spawn_mob(30101, 1254, 258)
				d.spawn_mob(30101, 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.notice("Die Zeit ist abgelaufen")
			d.notice("Ihr werdet nun nach draußen teleportiert")
			d.exit_all()
		end
		
		when 2542.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 30101.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.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)
			-- Firstspawn !!!
			d.regen_file("data/dungeon/dd_boss1.txt")
			------------------
			timer("devildown_bosstimer1", 60)
		end
		
		when devildown_bosstimer1.timer begin
			-- 2. Spawn !!!
			d.regen_file("data/dungeon/dd_boss2.txt")
			------------------
			timer("devildown_bosstimer2", 60)
		end
	
		when devildown_bosstimer2.timer begin
			-- 3. Spawn !!!
			d.regen_file("data/dungeon/dd_boss3.txt")
			------------------
			timer("devildown_bosstimer3", 60)
		end
		
		when devildown_bosstimer3.timer begin
			-- 4. Spawn !!!
			d.regen_file("data/dungeon/dd_boss4.txt")
			------------------
			timer("devildown_bosstimer4", 60)
		end
		
		when devildown_bosstimer4.timer begin
			-- 5. Spawn !!!
			d.regen_file("data/dungeon/dd_boss5.txt")
			------------------
			timer("devildown_bosstimer5", 60)
		end
		
		when devildown_bosstimer5.timer begin
			-- 6. Spawn !!!
			d.regen_file("data/dungeon/dd_boss6.txt")
			------------------
			timer("devildown_bosstimer_last", 60)
		end
		
		when devildown_bosstimer_last.timer begin
			-- Endspawn mit Drache !!!
			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.setf("devillevel", 0)
				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.exit_all()
		end
	
	end
end
Natürlich müsst ihr die Quest auch noch etwas anpassen etc. da die IDs der Monster und Items etc. auf FinalMT2 zu 99% anders waren als bei euch.

Im Anhang findet ihr noch eine rar Datei mit allen Dateien die ihr sonst noch benötigt.

Gruß,
Ap0kalyps3

PS:

Im Anhang sind erstmal nur die Dateien die ihr für die Map & die spawns allgemein braucht.
Die SQL Files die ihr für die Portale und die Monster in der group.txt etc. braucht kommen in den nächsten 20 Minuten noch.

Gruß,
Ap0kalyps3

Edit1:\\ Komplette Questlib geadded ~ HF damit
Edit2:\\ mob_prot.sql added
05/05/2010 17:25 SilverBow#2
Schade drum
05/05/2010 17:25 iDaZeD#3
oha oha hamma :D
05/05/2010 17:25 >>>CoCa<<<#4
O.o danke
05/05/2010 17:30 FinitioN#5
o.O Du hintergehst xD ;9 Egal danke^^
05/05/2010 17:30 IQuadcoreI#6
Damit habt ihr wohl die Zukunft der P-Server endgültig verändert.

big thx!

grüße
quad
05/05/2010 17:32 .Infinity#7
Quote:
Originally Posted by IQuadcoreI View Post
Damit habt ihr wohl die Zukunft der P-Server endgültig verändert.

big thx!

grüße
quad
Jop Metin2 DE wird nun untergehen!
alle Pserver werden gleich nichts mehr besonderes. Jeder verlässt Metin2 DE
weil Pserver auch 4 channel bieten und irgendwann stirb das game komplett
05/05/2010 17:34 Imaginär#8
Schade drum :/

Aber danke, dass ihr euch entschlossen habt die Daten pub zu machen!
05/05/2010 17:34 Ap0kalyps3#9
Quote:
Originally Posted by .Infinity View Post
Jop Metin2 DE wird nun untergehen!
alle Pserver werden gleich nichts mehr besonderes. Jeder verlässt Metin2 DE
weil Pserver auch 4 channel bieten und irgendwann stirb das game komplett
^Thinksotoo ;)

*Komplette Questlib added.

Ich hoffe ihr könnt damit was anfangen..
Server war (hofft lüge ich nicht wenn ich das sage) aber so ~98% deutsch? :O

Gruß,
Ap0
05/05/2010 17:35 HighLvleR#10
Quote:
Originally Posted by IQuadcoreI View Post
Damit habt ihr wohl die Zukunft der P-Server endgültig verändert.

big thx!

grüße
quad
Ja, jetzt kann jeder von sich sagen hab eine neue Map inder art eines DT-RUNS!!!111!11

FUCK YEA.

---

fuck of Metin2!
Hab auch schon daran gedacht alles Public zu machen, aber ich warte auf eine Bestätigung wenn ich diese nicht kriege gehts klar und ihr LEecher skönnt euch noch mehr freuen;)
05/05/2010 17:36 LordMampf2#11
Danke das ihr die Files pub gemacht habt !!!!
05/05/2010 17:37 .:Giggs:.#12
Ich find die Entscheidung supper von Infinity...
Rl geht vor.
05/05/2010 17:37 ciao123#13
.Infinity nur weil du jetzt kein metin2 mehr machst laber nicht immer so komisch
05/05/2010 17:38 IQuadcoreI#14
Ist ja nicht so, dass ich net selbst alles scripten will, jedoch habt ihr mir insofern geholfen, dass ich nun nicht die nächsten Monate für Metin verschwende ;)
05/05/2010 17:39 .Infinity#15
Quote:
Originally Posted by ciao123 View Post
.Infinity nur weil du jetzt kein metin2 mehr machst laber nicht immer so komisch
Halt die Klappe und werd erwachsen ich hab dich nichtmal angemacht. und meine freie Meinung kannste mir nicht verbieten