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 Questkontrolle

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

Reply
 
Old 10/27/2020, 23:25   #12646
 
elite*gold: 83
Join Date: Oct 2020
Posts: 32
Received Thanks: 57
Quote:
Originally Posted by Kevke1996 View Post
Ich bekomme eine Quest nicht zum laufen.
Was mache ich falsch?
Versuch das hier

Code:
define ITEM 70007 -- ITEM = 70007
define NPC1 20301 -- DEIN NPC 1
define NPC_EXIT 20095 -- NPC FÜR DIE BELOHNUNG
define METIN 8004 -- METIN
define MOB 131 -- MOB

quest Run begin
	state start begin
		function IsRun()
			local dungeonMapidx = 154 -- HIER DEIN MAPINDEX VOM DUNGEON
			local playerMapidx = pc.get_map_index()
			return playerMapidx >= dungeonMapidx * 10000 and playerMapidx < dungeonMapidx * 10000 + 10000
		end
		
		function StartInMap()
			local Mapidx = 1 --- HIER DEIN MAPINDEX VON DER STARTMAP
			local playerMapidx = pc.get_map_index()
			return playerMapidx == Mapidx
		end
		when NPC1.chat."Die dunkle Höhle" with Run.StartInMap() begin
			d.new_jump_all(154, 173, 4644)
			d.regen_file("data/dungeon/dungeon1.txt")
			if d.getf("login")~=1 then
			d.setf("login", 1)
			end
		end	
		when login with Run.IsRun() and d.getf("login")==1 begin
			d.notice("Ihr befindet euch nun in den tiefen der Höhle.")
			d.notice("vernichtet alle Tiere.")
			d.setf("login", 2)
			if d.getf("counter")~=121 then
			d.setf("counter", 121)
			end
		end
		when MOB.kill with Run.IsRun() begin
			d.setf("counter", d.getf("counter")-1)
			if counter == 121 then
			d.notice("Zerstört den Metinstein")
			d.spawn_mob(METIN, 406, 72)
			end
		end
		when NPC_EXIT.chat."Belohnung" with Run.IsRun() begin
			say_title("Seon-Hae:")
			say("Du bekommst folgendes:")
			say("50.000.000Yang")
			say("5.000 Rangpunkte")
			pc.change_money(50000000)
			pc.change_alignment(5000)
			wait()
			d.notice("Der Dungeon endet in 20 Sekunden!")
			server_timer("RUN_TIME_END_PORT", RunTimeEndPort, d.get_map_index())
		end
		when RUN_TIME_END_PORT.server_timer begin
			if not d.select(get_server_timer_arg()) then return end
			d.clear_regen()
			d.exit_all()
		end	
	end
end
xTryhardx is offline  
Thanks
1 User
Old 11/13/2020, 09:06   #12647
 
elite*gold: 19
Join Date: Nov 2020
Posts: 34
Received Thanks: 5
Hey..
Ich bräuchte eine kleine Quest..
aufgebaut wie ein Seelenstein.. jedoch für Fertigkeiten von M1-G1..
Ich möchte die Fertigkeitsbücher durch ein Item ersetzen..
Die Chance dass es klappt soll bei 45% liegen..
Dass Item 71001 setzt die Zeit von 4 Stunden wartezeit fürs nächste Lesen auf 2 Stunden runter.. das Item 71094 erhöht die Chance dass es klappt um 25%

Ich wäre sehr erfreut.. die Fertigkeiten sollen von M1-G1 fungieren.. Ich würde dass ganze Textlich sowie ITEMID Mäßig anpassen..
edoSaiya95 is offline  
Old 01/10/2021, 14:36   #12648
 
elite*gold: 0
Join Date: Feb 2017
Posts: 6
Received Thanks: 1

kann mir jemand sagen wieso ich keine action ingame dafür bekomme?

alles reloaded aber kriege keine schaltfläche dafür
yumago is offline  
Old 01/16/2021, 15:47   #12649
 
elite*gold: 0
Join Date: Jan 2020
Posts: 626
Received Thanks: 620
Quote:
Originally Posted by yumago View Post

kann mir jemand sagen wieso ich keine action ingame dafür bekomme?

alles reloaded aber kriege keine schaltfläche dafür
In die Questlist eingetragen?
xAmnezia. is offline  
Thanks
1 User
Old 01/16/2021, 15:48   #12650
 
elite*gold: 0
Join Date: Nov 2011
Posts: 211
Received Thanks: 15
Quote:
Originally Posted by xAmnezia. View Post
In die Questlist eingetragen?
ja das wars gewesen danke trotzde
sero61 is offline  
Thanks
1 User
Old 05/23/2021, 05:05   #12651
 
elite*gold: 123
Join Date: Jun 2009
Posts: 174
Received Thanks: 31
Metin der Schlacht quest buggt wird zurückgesetzt beim raufklicken

Code:
quest metinkillschlacht begin
	state start begin
		when login or levelup with pc.level >= 10 begin
			set_state(information)
		end
	end

	state information begin
		when letter begin
			send_letter("xxxx 1")
		end

		when info or button begin
			say_title("xxxx Metinsteine")
			say("")
			say_white("Überall erscheinen viele Metinsteine")
			say_white("die beim einschlagen in die Erde viele")
			say_white("Häuser und Städte zerstört haben. Die")
			say_white("gefährliche Aura dieser Steine versetzt das")
			say_white("Volk in Angst und Schrecken. Du bist der Auserwählte")
			say_white("des Drachgottes und nur du kannst uns retten !")
			say_white("Bitte hilf uns und:")
			say("")
			say_reward("Zerstöre 20 Metin der Schlacht.")
			say("")
			say_white("Du findest sie in alle Reichen in den Anfangsgebieten.")
			say_white("Wenn du es schaffst, erwartet dich eine Belohung!")
			say("")
	        pc.setqf("state", 20)
	        q.set_counter("Metin der Schlacht", 20)
		end

		when 8003.kill begin
			local count = pc.getqf("state") - 1
			if count <= 20 then
				pc.setqf("state", count)
	            q.set_counter("Metin der Schlacht", count)
			end
			if count == 0 then
			    say_title("xxxx Metinsteine")
				say("")
			    say_white("Vielen Dank für deine Rettung und für die Berfreiung")
				say_white("von der täglichen Angst. Du hast unser Leben gerettet.")
				say_white("Das Land und alle Bürger stehen in deiner Schuld und")
				say_white("können es kaum fassen! Als kleine Anerkennung haben die")
				say_white("Leute sich zusammen getan um dir eine Belohung auszuhändigen!")
				say("")
				say_white("Du erhältst ein:")
				say("")
				say_reward("Schlachtenlöwen Siegel")
				say("")
			    pc.give_item2(71128, 1)
				clear_letter()
				set_quest_state("metinkilleifer", "information")
				set_state(__COMPLETE__)

			end
		end
	end

	state __COMPLETE__ begin
	end
end
Ungelesen is offline  
Old 05/24/2021, 01:29   #12652

 
elite*gold: 105
Join Date: Aug 2011
Posts: 1,065
Received Thanks: 494
Quote:
Originally Posted by Opfer. View Post
Code:
quest metinkillschlacht begin
	state start begin
		when login or levelup with pc.level >= 10 begin
			set_state(information)
		end
	end

	state information begin
		when letter begin
			send_letter("xxxx 1")
		end

		when info or button begin
			say_title("xxxx Metinsteine")
			say("")
			say_white("Überall erscheinen viele Metinsteine")
			say_white("die beim einschlagen in die Erde viele")
			say_white("Häuser und Städte zerstört haben. Die")
			say_white("gefährliche Aura dieser Steine versetzt das")
			say_white("Volk in Angst und Schrecken. Du bist der Auserwählte")
			say_white("des Drachgottes und nur du kannst uns retten !")
			say_white("Bitte hilf uns und:")
			say("")
			say_reward("Zerstöre 20 Metin der Schlacht.")
			say("")
			say_white("Du findest sie in alle Reichen in den Anfangsgebieten.")
			say_white("Wenn du es schaffst, erwartet dich eine Belohung!")
			say("")
	        pc.setqf("state", 20)
	        q.set_counter("Metin der Schlacht", 20)
		end

		when 8003.kill begin
			local count = pc.getqf("state") - 1
			if count <= 20 then
				pc.setqf("state", count)
	            q.set_counter("Metin der Schlacht", count)
			end
			if count == 0 then
			    say_title("xxxx Metinsteine")
				say("")
			    say_white("Vielen Dank für deine Rettung und für die Berfreiung")
				say_white("von der täglichen Angst. Du hast unser Leben gerettet.")
				say_white("Das Land und alle Bürger stehen in deiner Schuld und")
				say_white("können es kaum fassen! Als kleine Anerkennung haben die")
				say_white("Leute sich zusammen getan um dir eine Belohung auszuhändigen!")
				say("")
				say_white("Du erhältst ein:")
				say("")
				say_reward("Schlachtenlöwen Siegel")
				say("")
			    pc.give_item2(71128, 1)
				clear_letter()
				set_quest_state("metinkilleifer", "information")
				set_state(__COMPLETE__)

			end
		end
	end

	state __COMPLETE__ begin
	end
end
Code:
quest metinkillschlacht begin
	state start begin
		when login or levelup with pc.level >= 10 begin
			set_state(information)
		end
	end

	state information begin
		when letter begin
			send_letter("xxxx 1")
		end

		when info or button begin
			say_title("xxxx Metinsteine")
			say("")
			say_white("Überall erscheinen viele Metinsteine")
			say_white("die beim einschlagen in die Erde viele")
			say_white("Häuser und Städte zerstört haben. Die")
			say_white("gefährliche Aura dieser Steine versetzt das")
			say_white("Volk in Angst und Schrecken. Du bist der Auserwählte")
			say_white("des Drachgottes und nur du kannst uns retten !")
			say_white("Bitte hilf uns und:")
			say("")
			say_reward("Zerstöre 20 Metin der Schlacht.")
			say("")
			say_white("Du findest sie in alle Reichen in den Anfangsgebieten.")
			say_white("Wenn du es schaffst, erwartet dich eine Belohung!")
			say("")
			pc.setqf("state", 20)
			q.set_counter("Metin der Schlacht", 20)
			set_state(killgo)
		end
	end

	state killgo begin
		when letter begin
			send_letter("xxxx 1")
		end

		when info or button begin
			say_title("xxxx Metinsteine")
			say("")
			say_reward("Du musst noch "..pc.getqf("state").." Metin der Schlacht töten.")
		end

		when 8003.kill begin
			local count = pc.getqf("state") - 1
			if count <= 20 then
				pc.setqf("state", count)
				q.set_counter("Metin der Schlacht", count)
			end
			if count == 0 then
				say_title("xxxx Metinsteine")
				say("")
				say_white("Vielen Dank für deine Rettung und für die Berfreiung")
				say_white("von der täglichen Angst. Du hast unser Leben gerettet.")
				say_white("Das Land und alle Bürger stehen in deiner Schuld und")
				say_white("können es kaum fassen! Als kleine Anerkennung haben die")
				say_white("Leute sich zusammen getan um dir eine Belohung auszuhändigen!")
				say("")
				say_white("Du erhältst ein:")
				say("")
				say_reward("Schlachtenlöwen Siegel")
				say("")
				pc.give_item2(71128, 1)
				clear_letter()
				set_quest_state("metinkilleifer", "information")
				set_state(__COMPLETE__)

			end
		end
	end

	state __COMPLETE__ begin
	end
end
x'Radon is offline  
Thanks
1 User
Old 05/26/2021, 18:05   #12653
 
> .Sinan' <'s Avatar
 
elite*gold: 5
Join Date: Feb 2011
Posts: 322
Received Thanks: 62
Kann mir jemand bei der Quest helfen ?


quest dr_gutschein begin
state start begin
when 90003.use begin
local accountid = mysql_query("SELECT * FROM player.player WHERE name='"..pc.get_name().."'","root","bRLpUmj28Ge6W4 ByVBXLu5r","player","testestest.145.test")
local coins = mysql_query("SELECT * FROM account.account WHERE id='"..accountid.account_id[1].."'","root","bRLpUmj28Ge6W4ByVBXLu5r","account"," test.20.145.test")
say_title("Drachenmünzen Gutschein")
say("Hallo "..pc.get_name()..".")
say("Möchtest du diesen Gutschein")
say("im Wert von 100 Drachenmünzen einlösen?")
local s = select ("Ja","Nein")
if s == 1 then
local updatecoins = mysql_query("UPDATE account.account SET coins='"..coins.coins[1]+100.."' WHERE id='"..accountid.account_id[1].."'","root","bRLpUmj28Ge6W4ByVBXLu5r","account"," testestest.20.145.83")
chat("Deine Drachenmünzen wurden dir erfolgreich gutgeschrieben.")
pc.remove_item(90003, 1)
end
end
end
end
end
> .Sinan' < is offline  
Old 06/19/2021, 01:38   #12654
 
elite*gold: 0
Join Date: Jan 2021
Posts: 1
Received Thanks: 0
Quote:
Originally Posted by > .Sinan' < View Post
Kann mir jemand bei der Quest helfen ?


quest dr_gutschein begin
state start begin
when 90003.use begin
local accountid = mysql_query("SELECT * FROM player.player WHERE name='"..pc.get_name().."'","root","bRLpUmj28Ge6W4 ByVBXLu5r","player","testestest.145.test")
local coins = mysql_query("SELECT * FROM account.account WHERE id='"..accountid.account_id[1].."'","root","bRLpUmj28Ge6W4ByVBXLu5r","account"," test.20.145.test")
say_title("Drachenmünzen Gutschein")
say("Hallo "..pc.get_name()..".")
say("Möchtest du diesen Gutschein")
say("im Wert von 100 Drachenmünzen einlösen?")
local s = select ("Ja","Nein")
if s == 1 then
local updatecoins = mysql_query("UPDATE account.account SET coins='"..coins.coins[1]+100.."' WHERE id='"..accountid.account_id[1].."'","root","bRLpUmj28Ge6W4ByVBXLu5r","account"," testestest.20.145.83")
chat("Deine Drachenmünzen wurden dir erfolgreich gutgeschrieben.")
pc.remove_item(90003, 1)
end
end
end
end
end
laut Syntax, ein "end" zu viel
derEmerit is offline  
Old 07/20/2021, 09:37   #12655
 
elite*gold: 0
Join Date: Jun 2018
Posts: 158
Received Thanks: 67
Servus


Habe das Multilanguage System von Owsap. Wenn da jemand ne Quest zum Skills holen schreiben könnte wäre das klasse. Arbeite zum ersten mal mit ML, deshalb noch etwas unerfahren.
Musikta is offline  
Old 10/28/2021, 16:18   #12656
 
elite*gold: 0
Join Date: Dec 2009
Posts: 5
Received Thanks: 0
Pferdequest

Hallo Zusammen,

kann mir hier vielleicht jemand helfen. Das ist meine erste Quest die ich mehr oder weniger selber schreibe.

Momentan ist es so das man direkt nach der Abgabe der PM das Lvl Up für das Pferd bekommt.

Ich hätte es allerdings gerne das man die PM abgibt dann aber eine offene Quest hat die einen 30 min Timer hat und man dann wieder zum Stallburschen muss und erst dann das Lvl Up bekommt.

Würde mich sehr freuen wenn mir dabei jemand helfen könnte.
Vielen Dank

Code:
quest pony_up begin
    state start begin
        when 20349.chat."Pferd Leveln " with horse.get_grade()>1 begin
            if pc.countitem("50050")<1 then
                say("Um ein Pferd zu Leveln ")
                say("benötigst du eine Pferdemedallie")
                say("")
            elseif pc.countitem("50050")>=1 and pc.level>=25 then
                say("Um ein Pferd zu Leveln")
                say("musst du mir eine Pferdemedallie bringen.")
                say("Für das Training deines Pferdes benötige ich")
                say("ca. 30 Minuten. ")
                local b=select("Starten", "Abbrechen")
                if 1==b then
                    if pc.countitem("50050")>=1 then
                        pc.removeitem("50050", 1)
						horse.set_level(horse.get_level()+1)
					say("Du hast das Level deines Pferdes erfolgreich erhöht")
					say("")
					say("Dein Pferd hat jetzt Level 'horse.get_grade()' ")
					say("")
				else
                    say("UNKNOWN BUTTON ["..b.."]")
                    end
                elseif 2==b then
                    say("Du willst dein Pferd nicht Leveln.")
					say("Komme wieder wenn du darauf Zeit hast.")
					say("")
                else
                    say("UNKNOWN BUTTON ["..b.."]")
                end
            else
                say("Pferdequest fehlgeschlagen.")
            end					
        end
    end
Reusable12 is offline  
Old 12/26/2021, 16:17   #12657
 
elite*gold: 0
Join Date: Dec 2021
Posts: 24
Received Thanks: 2
Code:
quest gratis_item begin
    state start begin
        when 20041.chat."Yang" begin
            say_title("Gratis Yang")
            say("")
            say_reward("Willst du 1.000 Yang?")
            local s = select("Ja", "Nein")
            
            if s == 1 then
            pc.change_money(1000)
            end
            
            if s == 2 then
            return
        when 20041.chat."EXP" begin
            say_title("Gratis EXP")
            say("")
            say_reward("Willst du 1.000 EXP?")
            local s = select("Ja", "Nein")
            
            if s == 1 then
            pc.give_exp2(1000)
            end
            
            if s == 2 then
            return
            end
        end
    end
end
I bims 1 WLAN is offline  
Thanks
1 User
Old 01/01/2022, 01:12   #12658
 
Cc_Cc_Cc's Avatar
 
elite*gold: 0
Join Date: Mar 2011
Posts: 416
Received Thanks: 17
Guten Morgen.

Hab die quest von der azrael truhe. Kann man das iwie ändern das man z.b 5x Perle bekommt und nicht einmal eine Perle? Also mit "x" anzahl.

Cc_Cc_Cc is offline  
Old 08/01/2022, 23:13   #12659
 
elite*gold: 0
Join Date: Nov 2012
Posts: 2
Received Thanks: 0
Ich hoffe ihr könnt mir bei dieser Idee helfen...

1- Die Quest muss nur auf einer bestimmten Karte aktiviert werden
2- Beim Questsystem geht es darum, Spieler miteinander zu töten und eine bestimmte Belohnung (Werkzeug) zu erhalten.
Und dass die Karte nur vom GM aktiviert wird, damit sie ihre Schließung kontrolliert, alle vertreibt, sie öffnet und das Erscheinen einer Nachricht für alle in den Aufgaben, dass das Ereignis aktiviert wird

Ich hoffe, Sie können mir dabei helfen, wenn möglich
alzagri is offline  
Old 07/07/2023, 11:24   #12660
 
elite*gold: 0
Join Date: May 2013
Posts: 41
Received Thanks: 6
Hey Leute
Kann mir vielleicht jemand bei der Quest helfen
Das Problem ist, wenn jemand sich ein Lotterielos holt und Offline geht, wird die Zeit nicht gezählt. Sprich wenn man nach einer Stunde Online kommt passiert Original nix.
Könnte mir das jemand vielleicht ändern ?

Die nächste bitte wäre, könnte mir jemand gleich die Quest so umschreiben das man nach (in dem Fall 1 Stunde) eine PN oder eine Questrolle bekommt mit „Du kannst dein Lotterlielos abgeben“ und dann erst zum NPc spazieren muss um das abzugeben? Und eventuell irgendwo auch Einsichttbar ist wie viel Zeit noch bis zur Abgabe fehlt ? 😬

Ihr würdet mir einen riiiieeeesen gefallen tun

Code:
quest lotto begin 
    state start begin 
        when 20090.chat."Lotto Event" with pc.is_gm() begin 
            say_title("Lotto Event") 
            if game.get_event_flag("lotto") == 0 then 
                say("Lotto Event ist nicht an") 
                say("möchtest du es starten?") 
                local s1 = select("Ja", "Nein") 
                if s1 == 1 then 
                    say_title("Lotto Event") 
                    say("Lotto wurde gestartet") 
                    notice_all("Das Lotto Event wurde gestartet") 
                    notice_all("geht zu Heuk-Young um euch einen") 
                    notice_all("Schein zu kaufen") 
                    game.set_event_flag("lotto", 1) 
                elseif s1 == 2 then 
                    say_title("Lotto Event") 
                    say("Okey bis später") 
                end 
            else 
                say("Lotto Event ist an") 
                say("Möchtest du es Beenden?") 
                local s2 = select("Ja", "Nein") 
                if s2 == 1 then 
                    say_title("Lotto Event") 
                    say("Lotto Event wurde beendet") 
                    notice_all("Das Lotto Event wurde beendet") 
                    game.set_event_flag("lotto", 0) 
                elseif s2 == 2 then 
                    say("Okey bis später") 
                end 
            end 
        end 
        when 20090.chat."Lottoschein kaufen" with game.get_event_flag("lotto") == 1 begin
            say_title("Hwa-Hee") 
            say("Möchtest du einen Lottoschein kaufen?") 
            say("Er kostet 1.000.000 Yang") 
            say("") 
            local s3 = select("Ja klar", "Nein lieber nicht") 
            if s3 == 1 then 
                if pc.money<=999999 then 
                    say_title("Hwa-Hee") 
                    say("Du hast nicht genug Geld") 
                    say("Komm wieder wenn du genug hast") 
                elseif pc.count_item(70010)==1 then 
                    say_title("Hwa-Hee") 
                    say("Du hast schon ein Lotto Schein") 
                    say("Noch einen kannst du dir nicht kaufen") 
                elseif pc.money>=1000000 and pc.count_item(70010)==0 then 
                    say_title("Hwa-Hee:") 
                    say("Sehr Gut hier hast du einen Lottoschein") 
                    say("") 
                    say_reward("Lottoschein erhalten") 
                    say("") 
                    say("In einer Stunde gebe ich dir") 
                    say("bescheid ob du etwas gewonnen hast") 
                    pc.change_money(-1000000) 
                    pc.give_item2(70010, 1) 
                    timer("lotto", 60*60) 
                end 
            else 
                say("Okey komm später wieder") 
            end 
        end 
        when lotto.timer with pc.count_item(70010)==1 and game.get_event_flag("lotto")==1 begin
            pc.remove_item(70010, 1) 
            local lotto = number(1, 200) 
            if lotto == 1 then 
                notice("Herzlichen Glückwunsch") 
                notice("Du hast soeben 50.000.000 Yang gewonnen") 
                notice_all("".. pc.get_name() .." hat im Lotto 50.000.000 Yang gewonnen")
                pc.change_money(50000000) 
                notice("Du kannst dir nun einen neuen Lottoschein kaufen") 
            elseif lotto == 2 then 
                notice("Herzlichen Glückwunsch") 
                notice("Du hast soeben 5.000.000 Yang gewonnen") 
                notice_all("".. pc.get_name() .." hat im Lotto 5.000.000 Yang gewonnen")
                pc.change_money(5000000) 
                notice("Du kannst dir nun einen neuen Lottoschein kaufen") 
            elseif lotto == 3 then 
                notice("Herzlichen Glückwunsch") 
                notice("Du hast soeben 1.000.000 Yang gewonnen") 
                notice_all("".. pc.get_name() .." hat im Lotto 1.000.000 Yang gewonnen")
                pc.change_money(1000000) 
                notice("Du kannst dir nun einen neuen Lottoschein kaufen") 
            else 
                notice("Tut mir Leid dein Lottoschein war eine Niete") 
                notice("Du hast leider nichts gewonnen") 
                notice("Du kannst dir nun einen neuen Lottoschein kaufen") 
            end 
        end 
    end 
end
KinqDmX_ is offline  
Reply




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


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.