Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server > Metin2 PServer Guides & Strategies
You last visited: Today at 06:14

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[RELEASE]Meine ersten 4 erstellten Quests

Discussion on [RELEASE]Meine ersten 4 erstellten Quests within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Oct 2011
Posts: 66
Received Thanks: 8
Talking [RELEASE]Meine ersten 4 erstellten Quests

Mein kleines Selbst erstelltes Ingame Wiki
Zwar einzelnde quest Aber könnte evtl einer brauchen
ich brauche sie Nicht mehr ^^

Mfg 99nos1234
99nos1234 is offline  
Thanks
1 User
Old 07/19/2015, 10:30   #2
 
sнιnseι's Avatar
 
elite*gold: 0
Join Date: Jun 2014
Posts: 139
Received Thanks: 116
"if pc.level >= 95 and pc.level <= 95 then"

Alles klar bro

€: Sensi der boi is gerade deine Quests am korrigieren.
sнιnseι is offline  
Old 07/19/2015, 10:52   #3

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Bitte betrachte das folgende nichts als flame oder so, ich möchte dir nur deine Fehler aufzeigen. Es ist vollkommen normal, dass man Anfangs Fehler macht, allerdings möchte ich dich darauf hinweisen, damit du es später besser machen kannst.



1. Quest:
Die Quest wird bei jedem Levelup ausgeführt. Es gibt für den Trigger einen "direkte" If-Abfrage Möglichkeit, nämlich with ...
Ausserdem fragst du ab, ob das Level des Spielers >= 95 und <= 95 ist, das hat den selben Effekt wie == 95 und damit muss die Abfrage nicht 2x ausgeführt werden.

Code:
quest info begin
	state start begin
		when levelup with pc.get_level() == 95 begin
			notice_all(pc.get_name().." hat Soeben das Level 95 Erreicht.")
			syschat("Gehe zum Informatiker und Hol dir deine informationen über SERVERNAME.")
		end
	end
end


3. Quest:
Hier gibt es garnicht so viel zu meckern, allerdings würde ich immer lieber mit Tables arbeiten, da es mit diesen deutlich einfacher zu Verwalten ist.
Hier mal ein Beispiel mit Table:
Code:
quest Informatiker1 begin
	state start begin
		when 20001.chat."Levelmap Infos" begin
			local maps = {
				{--95er Levelmap
					name = "95er Levelmap",
					itemneed = {81013, 1},
					text = {
						{func = say, text = "Sehr gute Entscheidung"},
						{func = say, text = "da Levelst du von 95 bis 115"},
						{func = say, text = "Gehe zum Zombiekönig und Teleportier,"},
						{func = say, text = "dich in das Reich der Zombies."},
						{func = say, text = "Da erwarten dich unheimliche Zombie's"},
						{func = say, text = ""},
						{func = say, text = ""},
						{func = say_reward, text = "Viel Spass weiterhin auf SERVERNAME"}
					}
				},
				{--115er Levelmap
					name = "115er Levelmap",
					itemneed = {81013, 1},
					text = {
						{func = say, text = "Sehr gute Entscheidung"},
						{func = say, text = "da Levelst du von 115 bis 140"},
						{func = say, text = "Gehe zum Zombiekönig und Teleportier,"},
						{func = say, text = "in die Neue Welt."},
						{func = say, text = "Da erwarten dich Die Trolle und Schlangen"},
						{func = say, text = ""},
						{func = say, text = ""},
						{func = say_reward, text = "Viel Spass weiterhin auf SERVERNAME"}
					}
				},
				{--140er Levelmap
					name = "140er Levelmap",
					itemneed = {81013, 1},
					text = {
						{func = say, text = "Sehr gute Entscheidung"},
						{func = say, text = "da Levelst du von 140 bist 160"},
						{func = say, text = "Bekämpfe dort die Starken Wölfe,"},
						{func = say, text = "und Scheewesen"},
						{func = say, text = "Gehe zum Zombiekönig und Teleportier,"},
						{func = say, text = "dich in Das Gebiet der Wölfe und Schneewesen"},
						{func = say, text = ""},
						{func = say, text = ""},
						{func = say_reward, text = "Viel Spass weiterhin auf SERVERNAME"}
					}
				},
				{--160er Levelmap
					name = "160er Levelmap",
					itemneed = {81013, 1},
					text = {
						{func = say, text = "Sehr gute Entscheidung"},
						{func = say, text = "da Levelst du von 160 bist 200"},
						{func = say, text = "Dort herrschen die Wilden Wesen,"},
						{func = say, text = "doch Pass auf sie sind sehr Stark"},
						{func = say, text = "Gehe zum Zombiekönig und Teleportier,"},
						{func = say, text = "in das Land der Wilden Wesen."},
						{func = say, text = ""},
						{func = say, text = ""},
						{func = say_reward, text = "Viel Spass weiterhin auf SERVERNAME"}
					}
				}
			}
			local mapnames = {}
			for _,map in ipairs(maps) do
				mapnames[table.getn(mapnames)+1] = map.name
			end
			say_title("Alle Levelmaps von Lvl 95 bis 200")
			say("")
			say("Hallo, ich bin der Informatiker.")
			say("Bei mir kriegst du Infos Über die,")
			say("Ganzen Levelmaps von Lvl 95 bis 200.")
			say("Aber damit ich dir mehr verrate,")
			say("musst du mir 1x Geldschpeicher 3,")
			say("als Gegenleistung geben.")
			say("Über welche Levelmaps brauchst du Informationen?")
			wait()
			local map = maps[select3(mapnames)] or false
			if not map then return end
			if pc.count_item(map.itemneed[1]) < map.itemneed[2] then
				syschat("Du hast nicht genügend Geldspeicher tut mir leid Kein Yang keine informationen")
				return
			end
			pc.remove_item(map.itemneed[1], map.itemneed[2])
			say("Vielen Dank für deine Spende hier deine Informationen.")
			wait()
			for _,textinfo in ipairs(map.text) do
				textinfo.func(textinfo.text)
			end
		end
	end
end


Bei der 4. Quest das selbe Spiel wie bei der 3.:
Code:
quest Informatiker2 begin
	state start begin
		when 20001.chat."Run Infos" begin 
			local runs = {
				{--Zombieturm
					name = "Zombieturm",
					itemneed = {81013, 1},
					text = {
						{func = say, text = "Beim Zombiegott vorletzte Ebene"},
						{func = say, text = "Dropps du den Brief,"},
						{func = say, text = "Beim Zombiegott Dropps du truhe des Balrog's"},
						{func = say, text = "in dieser truhe Befinden sich,"},
						{func = say, text = "130er waffen & 140er Rüstungen"},
						{func = say, text = ""},
						{func = say, text = ""},
						{func = say_reward, text = "Viel Spass weiterhin auf SERVERNAME"},
					}
				},
				{--Devils Catacomb
					name = "Devils Catacomb",
					itemneed = {81013, 1},
					text = {
						{func = say, text = "Beim Azrael letzte Ebene"},
						{func = say, text = "Droppst du die Truhe von Tartaros"},
						{func = say, text = "aus dieser Truhe droppst du mit Glück"},
						{func = say, text = "Türkiese Diamanten,Grüne Diamanten"},
						{func = say, text = "Blaue Diamanten,Rote Diamanten"},
						{func = say, text = "Schwarze Diamanten,Goldene Diamanten"},
						{func = say, text = "200er Engels Rüstungen"},
						{func = say, text = "Blaue Münzen,Notizen des Anführers"},
						{func = say, text = ""},
						{func = say, text = ""},
						{func = say_reward, text = "Viel Spass weiterhin auf SERVERNAME"},
					}
				}
			}
			local runnames = {}
			for _,run in ipairs(runs) do
				runnames[table.getn(runnames)+1] = run.name
			end
			say_title("Run Infos")
			say("")
			say("Hallo, ich bin der Informatiker.")
			say("Bei mir kriegst du Infos Über die,")
			say("Dropps der Run's")
			say("Aber damit ich dir mehr verrate,")
			say("musst du mir 1x Geldschpeicher 3,")
			say("als Gegenleistung geben.")
			say("Über welche Levelmaps brauchst du Informationen?")
			wait()
			local run = runs[select3(runnames)]
			if not run then return end
			if pc.count_item(run.itemneed[1]) < run.itemneed[2] then
				syschat("Du hast nicht genügend Geldspeicher tut mir leid Kein Yang keine informationen")
				return
			end
			pc.remove_item(run.itemneed[1], run.itemneed[2])
			say("Vielen Dank für deine Spende hier deine Informationen.")
			wait()
			for _,textinfo in ipairs(run.text) do
				textinfo.func(textinfo.text)
			end
		end
	end
end


Für deine ersten Quests sieht das alles aber schon ziemlich gut aus! Danke fürs Teilen

€:Habe die 2. Quest übersehen, da ist es aber auch das gleiche wie bei den anderen Beiden
€²: Habe die Quests nochmal überarbeitet, Xilent hat mit mir gemeckert, dass ich loadstring genutzt habe
rollback is offline  
Thanks
3 Users
Old 07/19/2015, 14:09   #4
 
Rofelmau's Avatar
 
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
Nen scheiß machst du, solang es so funktioniert wie er das will, was es wohl tut, sind keine Fehler drinn.
du willst anderen deinen Programmierstiel aufzwingen und dass ist scheiße
wenn du es besser kannst freu dich, aber lass uns es machen wie wir wollen! Nerviger alter!!
Rofelmau is offline  
Old 07/19/2015, 14:17   #5
 
Alekos's Avatar
 
elite*gold: 6
The Black Market: 125/0/0
Join Date: Feb 2010
Posts: 2,779
Received Thanks: 4,267
Quote:
Originally Posted by Rofelmau View Post
Nen scheiß machst du, solang es so funktioniert wie er das will, was es wohl tut, sind keine Fehler drinn.
du willst anderen deinen Programmierstiel aufzwingen und dass ist scheiße
wenn du es besser kannst freu dich, aber lass uns es machen wie wir wollen! Nerviger alter!!
Echt so, er sollte sich schämen Verbesserungsvorschläge zu bringen und ihm dabei zu helfen besser zu werden. Jegliche Kritik ist böse und kommt von Satan höchstpersönlich. Konstruktive und sachliche Kritik ist das schlimmste, kein Eis für dich Sensi, ab in die Ecke!
Alekos is offline  
Thanks
10 Users
Old 07/19/2015, 14:17   #6

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by Rofelmau View Post
Nen scheiß machst du, solang es so funktioniert wie er das will, was es wohl tut, sind keine Fehler drinn.
du willst anderen deinen Programmierstiel aufzwingen und dass ist scheiße
wenn du es besser kannst freu dich, aber lass uns es machen wie wir wollen! Nerviger alter!!
Code:
local str = ""
for i = 1, 1000000000 do
	str = str..i
end
str = nil

print("hallo")
Code:
print("hallo")
Macht auch beides das gleiche.

Ein Forum ist dafür da, anderen zu helfen, sich auszutauschen und Sachen zu Teilen. Wieso sollte ich dann also keine Tipps geben dürfen?

Klar funktionieren seine Quests. Wenn er jetzt aber einen neuen Punkt hinzufügen will muss er den ganzen Block anpassen. Wieso sollte ich ihm also nicht zeigen wie eine andere, einfacher zu verwaltende, Möglichkeit aussieht?
rollback is offline  
Thanks
1 User
Old 07/19/2015, 14:18   #7
 
Yiv's Avatar
 
elite*gold: 47
Join Date: Feb 2012
Posts: 2,282
Received Thanks: 2,579
Quote:
Originally Posted by Rofelmau View Post
Nen scheiß machst du, solang es so funktioniert wie er das will, was es wohl tut, sind keine Fehler drinn.
du willst anderen deinen Programmierstiel aufzwingen und dass ist scheiße
wenn du es besser kannst freu dich, aber lass uns es machen wie wir wollen! Nerviger alter!!
Der Sinn eines Forums ist es nunmal Feedback zu erhalten. Sensenmann möchte den Threadersteller mit seinem Post lediglich zeigen, wie er es hätte besser lösen können, vielleicht lernt derjenige dabei etwas und macht es das nächste mal besser. Auch Sensenmann lässt sich bei seinen Schleifen regelmäßig von Alekos helfen, dem König der Wiederholungen.

MfG
Yiv is offline  
Thanks
2 Users
Old 07/19/2015, 14:32   #8
 
elite*gold: 0
Join Date: Sep 2013
Posts: 491
Received Thanks: 675
Quote:
Originally Posted by Seחsi View Post
Code:
					text = {
						{func = say, text = "Sehr gute Entscheidung"},
						{func = say, text = "da Levelst du von 95 bis 115"},
						{func = say, text = "Gehe zum Zombiekönig und Teleportier,"},
						{func = say, text = "dich in das Reich der Zombies."},
						{func = say, text = "Da erwarten dich unheimliche Zombie's"},
						{func = say, text = ""},
						{func = say, text = ""},
						{func = say_reward, text = "Viel Spass weiterhin auf SERVERNAME"}
					}
Ist das nicht total umständlich?
Am einfachsten wäre doch den kompletten Text in einen String zu packen und dann entweder automatisch einen Umbruch machen oder per [ENTER] einen zu erzeugen
.Kibito is offline  
Thanks
2 Users
Old 07/19/2015, 14:43   #9

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by .Kibito View Post
Ist das nicht total umständlich?
Am einfachsten wäre doch den kompletten Text in einen String zu packen und dann entweder automatisch einen Umbruch machen oder per [ENTER] einen zu erzeugen
Kann man auch machen, allerdings hat man so (meiner Meinung nach) den besseren Überblick. Innerhalb einer Quest schreiben (die meisten) ja auch so:

Code:
say("Hallo")
say("Hallo")
und nicht

Code:
say("Hallo[ENTER]Hallo")
Funktionieren würde natürlich beides, mir ging es an der Stelle aber um die Übersichtlichkeit. Wie man es letztendlich einbaut ist dann ja jedem selbst überlassen
rollback is offline  
Reply


Similar Threads Similar Threads
Meinungen zu selbst erstellten Amvs.^^
05/14/2014 - Anime & Manga - 19 Replies
Moin hab seit langer Zeit mal bei meinem Myvideo Account geschaut und von mir knapp 6Jahre alte Amvs gefunden , links poste ich dazu. Würde gerne paar Meinungen hören und ob ich es vilt wieder anfangen sollte. Bzw ob potenzial drinne steckt. Da es im Vergleich zu den ''neueren'' ziemlich schlecht aussieht.^^ Bleach AMV- Heaven Knows- Rise Against. Video - VolcoOm - MyVideo Hellsing - click click boom Video - VolcoOm - MyVideo Hellsing-bullet for my valentine Video - VolcoOm - MyVideo...
Problem mit Selbst Erstellten PC
01/04/2014 - Technical Support - 6 Replies
Also Servus mein Kumpel hat sich bei Hardwareversand.de einen Pc Zusammengebaut mit diesen Komponenten CPU: Intel Core i7-4770K Box, LGA1150 MainBoard: MSI Z87-G45 Gaming, ATX, Sockel 1150 RAM: 16GB-Kit Corsair Vengeance Low Profile schwarz PC3-12800U CL10-10-10-27 Gehäuse: Zalman GPU: Gigabyte GeForce GTX 770 Windforce 3X OC, 2GB DDR5, 2x DVI, HDMI, DisplayPort Netzteil: be quiet! Pure Power L8 CM 630 Watt Festplatte: Seagate Barracuda 7200 2000GB, SATA 6Gb/s SSD: Samsung SSD 840...
Problem mit selbst erstellten Teleporter
12/31/2010 - WoW Private Server - 4 Replies
Servus! Ich beschäftige mich zurzeit mit mein eigener Teleportmeister der anscheinend fest entschlossen ist "passive widerstand" auszuüben! hier ein Beispiel von meine .sql : INSERT INTO `creature_template` VALUES ('90000', '0', '0', '0', '0', '0', '7993', '7993', '7993', '7993', 'Teleportmaister', 'Teleportmaister', null, '0', '80', '80', '0', '35', '35', '8', '1', '1.14286', '1', '0', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0',...
Selbst erstellten Items Problem
12/27/2010 - WoW Private Server - 10 Replies
Servus zusammen! Ich bin auf der suche nach eine Anleitung die mir genau erklärt wie ich und anderen Spielern , selbst erstellten Items in Inventar, ohne nervenden rote Fragezeichen sehen können. Bedanke mich schon mal im vorraus. mfg.
Meine selbst erstellten Mods
07/08/2010 - CrossFire - 3 Replies
Hey Leute da der Sammelthread geclosed wurde eröffne ich einen neuen Thread mit ein paar selbst erstellten Mods mfg SiL3rZ PS:der Headshotsound ist der geilste find ich Edit: Datei wird hochgeladen bitte habt wenig Geduld da das Archiv zu groß ist^^



All times are GMT +2. The time now is 06:14.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.