Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 07:14

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

Advertisement



[SERVICE] Die Questerstellung

Discussion on [SERVICE] Die Questerstellung within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old 04/12/2015, 15:11   #2491

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by *Mini* View Post
alo ich möchte auf den markt einen npc stellen er verlangt von den spielern 5 verschiedene items (10x schweinsnase, 20xschlangenschwanz, 5xpferdemedalie, 5xporzelan, 5xaffenkraut) wenn sie diese items zum npc bringen können sie sich ein item aussuchen (pferde siegel oder pet siegel oder ...)

danke

@ DYSKaito vielen dank :-*
Benutz die:

Code:
quest itemtausch begin
	state start begin
		when xxx.chat."Itemtausch" begin
			local items = {
				["to_trade"] = {
					{30003, 10},
					{30022, 20},
					{50050, 5},
					{30033, 5},
					{affenkraut, 5}
				},
				["items"] = {
					{item1, anzahl_item1},
					{item2, anzahl_item2},
					{item3, anzahl_item3},
					{item4, anzahl_item4},
					{item5, anzahl_item5}
				}
			}
			for _, tbl in pairs(items["to_trade"]) do
				if pc.count_item(tbl[1]) < tbl[2] then
					say("Du hast nicht genügend Items für einen Tausch.")
					say("Du benötigst folgende Items für einen Tausch:")
					say("")
					for _, item in pairs(items["to_trade"]) do
						say(item[2].."x "..item_name(item[1]))
					end
					return
				end
			end
			local item_names = {}
			for _, tbl in pairs(items["items"]) do
				table.insert(item_names, item_name(tbl[1]))
			end
			say("Gut ... du hast alle benötigten Items.")
			say("Gegen welches Dieser Items möchtest du sie tauschen?")
			local select_item = items["items"][select3(item_names)] or false
			if select_item then
				say("Möchtest du wirklich folgende Items:")
				for _, item in pairs(items["to_trade"]) do
					say(item[2].."x "..item_name(item[1]))
				end
				say("gegen "..select_item[2].."x "..item_name(select_item[1]))
				say("tauschen?")
				if select("Ja", "Nein") == 2 then return end
				for _, tbl in pairs(items["to_trade"]) do
					if pc.count_item(tbl[1]) < tbl[2] then
						say("Versuch nicht zu verarschen!")
						return
					end
					pc.remove_item(tbl[1], tbl[2])
				end
				pc.give_item2(select_item[1], select_item[2])
			end
		end
	end
end
rollback is offline  
Old 04/12/2015, 18:28   #2492
 
elite*gold: 0
Join Date: May 2012
Posts: 39
Received Thanks: 0
Hallo zusammen,

ich suche eine Quest die folgendes macht:

ab Lv. 5 - Man erhält das Anfänger Pferdebild und man kann das normale Pferd reiten,Rufen usw. + kleine Text nachricht.
ab Lv. 35 man erhält das 2te Pferd also den Kampfgaul + kleine Text nachricht.
ab Lv. 45 man erhält das Milligaul buch + den Milligaul und die Reitfertigkeiten + kleine Text nachricht.

Kann mir jemand so eine Quest geben ?

Vielen Dank
ArcaniaZero is offline  
Old 04/12/2015, 19:00   #2493

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by ArcaniaZero View Post
Hallo zusammen,

ich suche eine Quest die folgendes macht:

ab Lv. 5 - Man erhält das Anfänger Pferdebild und man kann das normale Pferd reiten,Rufen usw. + kleine Text nachricht.
ab Lv. 35 man erhält das 2te Pferd also den Kampfgaul + kleine Text nachricht.
ab Lv. 45 man erhält das Milligaul buch + den Milligaul und die Reitfertigkeiten + kleine Text nachricht.

Kann mir jemand so eine Quest geben ?

Vielen Dank
Code:
quest horselv begin
	state start begin
		-- Funktion
		function next_horselv()
			local horselv = ({1, 11, 21})[pc.get_level() >= 5 and pc.get_level() >= 35 and pc.get_level() >= 45 and 3 or 2 or 1]
			if pc.get_horse_level() < horselv then
				return horselv
			end
			return false
		end
		function check_horseskilllevel()
			local skill_ids = {}
			for i = 138, 140 do
				if pc.get_skill_level(i) < 20 then
					table.insert(skill_ids, i)
				end
			end
			if table.getn(skill_ids) >= 1 then
				return skill_ids
			end
			return false
		end
		-- #####
		-- Quest
		-- #####
		when login with horselv.check_horseskilllevel() begin
			for _, tbl in pairs(horselv.check_horseskilllevel()) do
				pc.set_skill_level(tbl, 20)
			end
		end
		when login or levelup with horselv.next_horselv() then
			send_letter("Das Pferd")
		end
		when button or info with horselv.next_horselv() then
			say("Möchtest du das Level deines Pferdes auf "..horselv.next_horselv().." steigern?")
			if select("Ja", "Nein") == 2 then return end
			horse.set_level(horselv.next_horselv())
		end
	end
end
Das sollte es machen
rollback is offline  
Thanks
1 User
Old 04/12/2015, 19:11   #2494
 
elite*gold: 0
Join Date: May 2012
Posts: 39
Received Thanks: 0
Danke dir für deine mühe ! Sieht super aus!

Leider kommt beim Compilen aber ein fehler - qc in malloc(): error: allocation failed.

Ist doch korrekt so oder ?

Funktion in die questlib.lua und in die quest_function dann noch next_horselv ?

Und noch eine frage:
Würde man auch bei dem Code direkt das Pferdebild etc. dazu bekommen ?

Vielen Dank

Gruß
ArcaniaZero
ArcaniaZero is offline  
Old 04/12/2015, 19:38   #2495
 
elite*gold: 5
Join Date: Mar 2015
Posts: 499
Received Thanks: 376
Quote:
Originally Posted by ArcaniaZero View Post
Danke dir für deine mühe ! Sieht super aus!

Leider kommt beim Compilen aber ein fehler - qc in malloc(): error: allocation failed.

Ist doch korrekt so oder ?

Funktion in die questlib.lua und in die quest_function dann noch next_horselv ?

Und noch eine frage:
Würde man auch bei dem Code direkt das Pferdebild etc. dazu bekommen ?

Vielen Dank

Gruß
ArcaniaZero
Code:
quest kaito begin
	state start begin
		when login or levelup with pc.get_level() >= 5 begin
			local tab = {
				{1},
				{50051}
			}
			for anfänger,pferd in pairs(tab) do
				horse.set_level(pferd[1])
				pc.give_item2(pferd[2],1)
				chat("Du hast das Anfänger-Pferd bekommen!")
			end
		end
		when login or levelup with pc.get_level() == 35 begin
			local tab2 = {
				{11},
				{50052}
			}
			for mittel,pferd in pairs(tab2) do
				horse.set_level(pferd[1])
				pc.give_item2(pferd[2],1)
				chat("Du hast das Kampf-Pferd bekommen!")
			end
		end
		when login or levelup with pc.get_level() == 45 begin
			local tab3 = {
				{20},
				{137,138,139},
				{59},
				{50053}
			}
			for militar,pferd in pairs(tab3) do
				horse.set_level(pferd[1])
				pc.set_skill_level(pferd[2],pferd[3])
				pc.give_item2(pferd[4],1)
				chat("Du hast das Kampf-Pferd bekommen!")
			end
		end
	end
end
KΛIƬӨ is offline  
Old 04/12/2015, 19:47   #2496

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by ArcaniaZero View Post
Danke dir für deine mühe ! Sieht super aus!

Leider kommt beim Compilen aber ein fehler - qc in malloc(): error: allocation failed.

Ist doch korrekt so oder ?

Funktion in die questlib.lua und in die quest_function dann noch next_horselv ?

Und noch eine frage:
Würde man auch bei dem Code direkt das Pferdebild etc. dazu bekommen ?

Vielen Dank

Gruß
ArcaniaZero
Die Questfunktionen musst du nicht in die Questlib schreiben, die werden direkt aus der Quest abgerufen (du darfst den questnamen oben nicht verändern bzw. wenn du ihn veränderst musst du auch vor jedem Funktionsaufruf den Namen ändern)

Code:
quest horselv begin
	state start begin
		-- Funktion
		function next_horselv()
			local horselv = ({1, 11, 21})[pc.get_level() >= 45 and 3 or pc.get_level() >= 35 and 2 or pc.get_level() >= 5 and 1 or 0] or false
			if pc.get_horse_level() < horselv then
				return horselv
			end
			return false
		end
		function check_horseskilllevel()
			local skill_ids = {}
			for i = 138, 140 do
				if pc.get_skill_level(i) < 20 then
					table.insert(skill_ids, i)
				end
			end
			if table.getn(skill_ids) >= 1 then
				return skill_ids
			end
			return false
		end
		-- Quest
		when login with horselv.check_horseskilllevel() begin
			for _, tbl in pairs(horselv.check_horseskilllevel()) do
				pc.set_skill_level(tbl, 20)
			end
		end
		when login or levelup with horselv.next_horselv() then
			send_letter("Das Pferd")
		end
		when button or info with horselv.next_horselv() then
			say("Möchtest du das Level deines Pferdes auf "..horselv.next_horselv().." steigern?")
			if select("Ja", "Nein") == 2 then return end
			horse.set_level(horselv.next_horselv())
			local itemvnum = pc.get_horse_level() >= 21 and 50053 or pc.get_horse_level() >= 11 and 50052 or pc.get_horse_level() >= 1 and 50051 or false
			local removevnum = itemvnum == 50051 and false or itemvnum-1
			if itemvnum then
				pc.give_item2(itemvnum, 1)
				if removevnum then
					pc.remove_item(removevnum, 1)
				end
			end
		end
	end
end
rollback is offline  
Old 04/12/2015, 20:11   #2497
 
elite*gold: 0
Join Date: May 2012
Posts: 39
Received Thanks: 0
Hey ho,

ich habs jetzt gerade noch mal ausprobiert aber irgendwie will er nicht :/

immer noch der selber fehler von oben - er hängt ab: when login or levelup
ArcaniaZero is offline  
Old 04/12/2015, 20:22   #2498

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by ArcaniaZero View Post
Hey ho,

ich habs jetzt gerade noch mal ausprobiert aber irgendwie will er nicht :/

immer noch der selber fehler von oben - er hängt ab: when login or levelup
Code:
quest horselv begin
	state start begin
		-- Funktion
		function next_horselv()
			local horselv = ({1, 11, 21})[pc.get_level() >= 45 and 3 or pc.get_level() >= 35 and 2 or pc.get_level() >= 5 and 1 or 0] or false
			if pc.get_horse_level() < horselv then
				return horselv
			end
			return false
		end
		function check_horseskilllevel()
			local skill_ids = {}
			for i = 138, 140 do
				if pc.get_skill_level(i) < 20 then
					table.insert(skill_ids, i)
				end
			end
			if table.getn(skill_ids) >= 1 then
				return skill_ids
			end
			return false
		end
		-- Quest
		when login with horselv.check_horseskilllevel() begin
			for _, tbl in pairs(horselv.check_horseskilllevel()) do
				pc.set_skill_level(tbl, 20)
			end
		end
		when login or levelup with horselv.next_horselv() begin
			send_letter("Das Pferd")
		end
		when button or info with horselv.next_horselv() begin
			say("Möchtest du das Level deines Pferdes auf "..horselv.next_horselv().." steigern?")
			if select("Ja", "Nein") == 2 then return end
			horse.set_level(horselv.next_horselv())
			local itemvnum = pc.get_horse_level() >= 21 and 50053 or pc.get_horse_level() >= 11 and 50052 or pc.get_horse_level() >= 1 and 50051 or false
			local removevnum = itemvnum == 50051 and false or itemvnum-1
			if itemvnum then
				pc.give_item2(itemvnum, 1)
				if removevnum then
					pc.remove_item(removevnum, 1)
				end
			end
		end
	end
end
hab "then" mit "begin" verwechselt ... *shameonme*
rollback is offline  
Thanks
1 User
Old 04/13/2015, 10:51   #2499
 
elite*gold: 0
Join Date: Mar 2015
Posts: 112
Received Thanks: 30
Suche eine Quest, die eine "notice" an alle sendet, wenn jemand gebannt wird.

Es soll aus der Account.account table ausgelesen werde wenn jemand den Status "BLOCK" bekommt.
Der Charakter Name soll aus der Spalte "Account_Name" ausgelesen werden.
Der Grund aus der Spalte "Grund" & Gebannt bis aus der Spalte "Dauer"

Wäre happy wenns mir jemand macht

Bitte dann per Privat Nachricht antworten.
ɢreeɴ'clowɴ is offline  
Old 04/13/2015, 11:34   #2500

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by ɢreeɴ'clowɴ View Post
Suche eine Quest, die eine "notice" an alle sendet, wenn jemand gebannt wird.

Es soll aus der Account.account table ausgelesen werde wenn jemand den Status "BLOCK" bekommt.
Der Charakter Name soll aus der Spalte "Account_Name" ausgelesen werden.
Der Grund aus der Spalte "Grund" & Gebannt bis aus der Spalte "Dauer"

Wäre happy wenns mir jemand macht

Bitte dann per Privat Nachricht antworten.
Gibt keinen passenden Trigger dafür ... ausser das bei jedem Login jedes Spielers abzufragen
rollback is offline  
Old 04/13/2015, 11:38   #2501
 
elite*gold: 0
Join Date: Mar 2015
Posts: 112
Received Thanks: 30
Quote:
Originally Posted by definitely not Sensenmann View Post
Gibt keinen passenden Trigger dafür ... ausser das bei jedem Login jedes Spielers abzufragen
Wäre es denn möglich es mit dem Login zu schreiben?
ɢreeɴ'clowɴ is offline  
Old 04/13/2015, 12:53   #2502

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by ɢreeɴ'clowɴ View Post
Wäre es denn möglich es mit dem Login zu schreiben?
klar, wenn du willst, dass bei jedem Login eine Query ausgeführt wird
rollback is offline  
Thanks
1 User
Old 04/13/2015, 12:56   #2503
 
Backxtar's Avatar
 
elite*gold: 0
Join Date: Feb 2015
Posts: 400
Received Thanks: 46
Suche noch immer eine Art jagdauftrag bei dem man 5 metins der Schlacht töten muss und anschließend aus 3 Belohnungen wählen kann :/ das ganze soll mit Level 5 stattfinden
Backxtar is offline  
Old 04/13/2015, 13:10   #2504
 
elite*gold: 0
Join Date: Apr 2015
Posts: 22
Received Thanks: 2
Hey ho würde die Pferde quest auch gern nutzen

leider gehts nit


Calls undecleared function!
PAIRS

Muss ich jetzt doch noch was in die questlib oder function eintragen ?

Danke
geneesys is offline  
Thanks
1 User
Old 04/13/2015, 14:57   #2505

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by geneesys View Post
Hey ho würde die Pferde quest auch gern nutzen

leider gehts nit


Calls undecleared function!
PAIRS

Muss ich jetzt doch noch was in die questlib oder function eintragen ?

Danke
Einfach pairs in die quest_functions eibtragen
rollback is offline  
Thanks
2 Users
Reply

Tags
community, projekt, questerstellung, questkontrolle, service


Similar Threads Similar Threads
[Community]Questerstellung
09/06/2015 - Metin2 Private Server - 5 Replies
Hallo liebe Community, ich möchte meine Questkenntnisse ein wenig erweitern, deshalb möchte ich euch hier die Möglichkeit geben, Ideen, Wünsche und alles was mit Quests zu tun hat an mich weiterzuleiten. Ich werde, sobald ich Zeit und Lust habe, die Ideen größtenteils umsetzen und das Ergebnis hier veröffentlichen. Wie oben schon erwähnt bin ich Quasi noch am 'lernen' (ja ich weis, man lernt nie aus), deshalb bitte ich euch, mich zu informieren wenn ich irgendwo gefailed hab, man es...
Hilfe bei Questerstellung
02/25/2012 - Metin2 Private Server - 0 Replies
€dit: Kan gelöscht werden habe jemanden gefunden!!!!
Hilfe bei Questerstellung
02/15/2012 - Metin2 Private Server - 8 Replies
Heyy Ich hätte eine bitte an euch. Und zwar einer von euch mir einige quests erstellst. Ich habe voll kp von quests. Als blohnung würde ich dir auf meinem server 5k coins (Wert 50€) geben. also hier die quests: 30 Quest Belohnung: 100kk 42 rüssi+7 je nach der klasse.
Hilfe bei Questerstellung
08/16/2011 - Metin2 Private Server - 0 Replies
Mahlzeit also ich suche jemanden der mir ein grundgerüst einer quest erstellen kann so das ich diese weiter ausbauen kann, So nun zur quest idee Also ich möchte einen NPC hinstellen nennen wir den mal Questnpc wenn man den anklickt soll man dem levelabhängig quest angeboten bekommen,zum beispiel ab lvl10 töte 50 weisse Tiger,aber lvl40 töte 30 Oberork und so weiter,was mit levelanstieg natürlich komplexer werden sollte.Manche Quest sollten nur einmal zumachen gehen und manche im höheren lvl...
[SERVICE]Questerstellung
05/24/2011 - Metin2 Private Server - 4 Replies
Abend e*pvp, nach langem Überlegen hab ich mich doch dazu entschlossen, meine Arbeit gegen e*gold zur Verfügung zu stellen. Ich werde euch mal die wichtigsten Fragen beantworten ;) Woraus besteht dein Service? Zum einen erstelle ich einzelne, sowie ganze Questreihen. Die von mir verschickten Dateien werden Unikate bleiben, und sofort nach erfolgreichem Transfer gelöscht. Außerdem biete ich nochmal seperat eine Questverbesserung zum Sammelthread an. Diese wird dann natürlich...



All times are GMT +1. The time now is 07:16.


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.