Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 23:17

  • 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 03/25/2017, 20:22   #3616

 
PalmTree_Service's Avatar
 
elite*gold: 14
Join Date: Dec 2015
Posts: 84
Received Thanks: 19
Quote:
Originally Posted by iL0riS View Post
Möchte aber 4 verschiedene
da du auf die pm nicht geantwortet hast nehme ich die einfachere version

kriegertruhe

Ninjatruhe

Suratruhe

schamanentruhe

lg
PalmTree_Service is offline  
Thanks
1 User
Old 03/26/2017, 14:50   #3617

 
GYJohn's Avatar
 
elite*gold: 34
Join Date: Apr 2011
Posts: 998
Received Thanks: 136
Hallo,
ich suche eine Quest mit der ich die Bonis eines Items auslesen kann.
Sprich, Item wird per Trigger eingelesen und die Bonis werden ausgegeben.

Danke
GYJohn is offline  
Old 03/26/2017, 21:02   #3618
 
Therulas's Avatar
 
elite*gold: 0
Join Date: Jun 2014
Posts: 345
Received Thanks: 243
Hallo.

ich suche/brauche eine etwas kompliziertere Quest... Wäre schön wenn mir da einer helfen kann

Also ich habe einen Warpring:

der von Anfang an eine Warpfunktion hat / Reich1 oder Reich2 jenachdem in welchem Reich ich spawne (Gelb oder Blau).

Sobald ich eine Quest erledige beispielsweiße Map2 soll dieser Warpring Automatisch die Warpfunktion bekommen damit man sich direkt auf Map2 porten kann das ganze brauche ich. 8 mal in diesem Warpring..

Funktioniert sowas?

Hoffe konnte es halbwegs verständlich rüberbringen..
Therulas is offline  
Old 03/27/2017, 13:53   #3619
wild wild son




 
Nick's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 5,836
Received Thanks: 3,369
Quote:
Originally Posted by GYJohn View Post
Hallo,
ich suche eine Quest mit der ich die Bonis eines Items auslesen kann.
Sprich, Item wird per Trigger eingelesen und die Bonis werden ausgegeben.

Danke
Dies würde eine entsprechende Funktion voraussetzen, standardmäßig ist lediglich eine Funktion zum Setzen von Boni (item.set_value()) enthalten.

Quote:
Originally Posted by Therulas View Post
Hallo.

ich suche/brauche eine etwas kompliziertere Quest... Wäre schön wenn mir da einer helfen kann

Also ich habe einen Warpring:

der von Anfang an eine Warpfunktion hat / Reich1 oder Reich2 jenachdem in welchem Reich ich spawne (Gelb oder Blau).

Sobald ich eine Quest erledige beispielsweiße Map2 soll dieser Warpring Automatisch die Warpfunktion bekommen damit man sich direkt auf Map2 porten kann das ganze brauche ich. 8 mal in diesem Warpring..

Funktioniert sowas?

Hoffe konnte es halbwegs verständlich rüberbringen..
Inwiefern automatisch? Du müsstest die Option dann in der jeweiligen Quest, an beliebiger Stelle aktivieren, ließe sich bspw. leicht durch Quest Flags lösen.
Nick is offline  
Old 03/27/2017, 14:47   #3620

 
PalmTree_Service's Avatar
 
elite*gold: 14
Join Date: Dec 2015
Posts: 84
Received Thanks: 19
Quote:
Originally Posted by Nick View Post

Inwiefern automatisch? Du müsstest die Option dann in der jeweiligen Quest, an beliebiger Stelle aktivieren, ließe sich bspw. leicht durch Quest Flags lösen.

Hab ihm/ihr schon ein grundgerüst per pm geschickt das mit questflags funktioniert.
Ich brauch nur noch eine rückantwort ob das dass ist was er/Sie sich vorgestellt hat dann schreib ich die Quest zu Ende.
PalmTree_Service is offline  
Old 03/27/2017, 15:57   #3621

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

ich suche/brauche eine etwas kompliziertere Quest... Wäre schön wenn mir da einer helfen kann

Also ich habe einen Warpring:

der von Anfang an eine Warpfunktion hat / Reich1 oder Reich2 jenachdem in welchem Reich ich spawne (Gelb oder Blau).

Sobald ich eine Quest erledige beispielsweiße Map2 soll dieser Warpring Automatisch die Warpfunktion bekommen damit man sich direkt auf Map2 porten kann das ganze brauche ich. 8 mal in diesem Warpring..

Funktioniert sowas?

Hoffe konnte es halbwegs verständlich rüberbringen..
Code:
define WARPRING_VNUM 12345

quest warpring begin
	state start begin
		when WARPRING_VNUM.use begin
			warpTable = warpTable or {
				{
					name = "Map 1",
					children = {
						{
							name = "Rotes Reich",
							warp = {1, 100, 200},
						},
						{
							name = "Blaues Reich",
							warp = {2, 100, 200},
						},
						{
							name = "Gelbes Reich",
							warp = {3, 100, 200},
						},
					},
				},
				{
					name = "Maps mit Bedingungen",
					condition = warpring.minLevel(30),
					children = {
						{
							name = "Map mit besonderer Bedingung 1",
							conditions = {
								warpring.hasFlag("anyquest", "boss_killed"),
								warpring.maxLevel(90),
							},
							warp = {4, 100, 200},
						},
					},
				},
			}
			
			warpring.showWarps({name = "Warpring", children = warpTable}, 0)
		end
		
		function showWarps(entry, stackCount)
			if stackCount >= 100 then
				say("Die Auswahl wurde aus Sicherheitsgründen beendet.")
				return
			end
			
			local selectNames = {}
			local selectTargets = {}
			for _, warp in ipairs(entry.children) do
				if warpring.checkConditions(warp) then
					table.insert(selectNames, warp.name)
					table.insert(selectTargets, warp)
				end
			end
			
			local BACK = "Zurück"
			local CANCEL = "Schließen"
			if entry.parent then
				table.insert(selectNames, BACK)
			end
			table.insert(selectNames, CANCEL)
			
			say_title(entry.name)
			if table.getn(selectTargets) < 1 then
				say("Keine Zielorte zum Auswählen")
			end
			
			local selectedNum = select_table(selectNames)
			local selectedTarget = selectTargets[selectedNum]
			if selectedTarget then
				if selectedTarget.children then
					selectedTarget.parent = entry
					warpring.showWarps(selectedTarget, stackCount + 1)
				elseif selectedTarget.warp then
					pc.warp(unpack(selectedTarget.warp))
				else
					say("Keine Informationen zu diesem Punkt.")
				end
			else
				local selectedStr = selectNames[selectedNum]
				if selectedStr == BACK and entry.parent then
					warpring.showWarps(entry.parent, stackCount + 1)
				end
			end
		end
		
		function checkConditions(entry)
			if entry.condition and not entry.condition() then
				return false
			end
			
			if entry.conditions then
				for _, condition in ipairs(entry.conditions) do
					if not condition() then
						return false
					end
				end
			end
			
			return true
		end
		
		function minLevel(value)
			return function()
				return pc.get_level() >= value
			end
		end
		
		function maxLevel(value)
			return function()
				return pc.get_level() <= value
			end
		end
		
		function hasFlag(questName, flagName)
			return function()
				return pc.getf(questName, flagName) == 1
			end
		end
	end
end
Sollte so klappen
rollback is offline  
Thanks
1 User
Old 03/31/2017, 04:42   #3622
 
elite*gold: 0
Join Date: Apr 2016
Posts: 92
Received Thanks: 4
Wie mache ich das mit Du benutzt die falsche Truhe wenn man nicht die Klasse ist?
iL0riS is offline  
Old 03/31/2017, 10:15   #3623

 
PalmTree_Service's Avatar
 
elite*gold: 14
Join Date: Dec 2015
Posts: 84
Received Thanks: 19
Quote:
Originally Posted by iL0riS View Post
Wie mache ich das mit Du benutzt die falsche Truhe wenn man nicht die Klasse ist?

du fragst in dem fall danach was passirt wenn pc.get_job == 0 ist
also kannst du einfach ein else einfügen für alle anderen fälle
PalmTree_Service is offline  
Thanks
1 User
Old 03/31/2017, 17:46   #3624
 
Lice.'s Avatar
 
elite*gold: 118
Join Date: Jan 2013
Posts: 274
Received Thanks: 140
Kann mir jemand helfen quest zu schreiben für warpring

{"Map1 Rot", 474100, 955000},
{"Map1 Gelb", 63525, 166543},
{"Map1 Blau", 960100, 268800},
{“PvP Map", 960100, 268800},
{"Land der Elemente", 828300", 763500},
{"Boss Map(50)", 1059000", 726200},
{"Metin Map 1(25)", 0,0},(leerer Drachenraum)
{"Metin Map 2(50)", 0, 0},(OrkTal)
{"Metin Map 3(75)", 960100, 268800},
{"Wüste",297300", 547900},
{"Tal von Seungryong"333074", 747167},
{"Berg Sohan ", 436900", 216100},
{"Roter Wald",1119323", 7952},
{"Spinnendungeon 1",60000", 497000},
{"Spinnendungeon 2",97649", 571124},
{"Spinnendungeon(Boss)",97649", 571124},
{"Grotte 1",10000", 1207800},
{"Grotte 2",241800", 1275000},
{"Grotte 3(Boss)",181473", 1220674},
{"Dämonenturm(Boss)",590406", 110717},
{"Dunkler Wald (75-125)", 960100, 268800},
{"Tempel des Schwert( 110)", 960100, 268800},
{"Land der Todes (115)", 960100, 268800},
{"Glutberge (125)", 960100", 268800},

23.1 Reihenfolge
Reiche
PvP-Map
Land der Elemente (50)
Boss-Map (50)
Wüste
Tal von Seungryong
Berg Sohan
Roter Wald
Metin-Map 1
Metin-Map 2
Metin-Map 3
Spinnendungeon 1
Spinnendungeon 2
Spinnendungeon (Boss)
Lice. is offline  
Old 04/01/2017, 17:00   #3625
 
Maverιcĸ's Avatar
 
elite*gold: 0
Join Date: Mar 2017
Posts: 28
Received Thanks: 37
Quote:
Originally Posted by ©Lice© View Post
Kann mir jemand helfen quest zu schreiben für warpring

{"Map1 Rot", 474100, 955000},
{"Map1 Gelb", 63525, 166543},
{"Map1 Blau", 960100, 268800},
{“PvP Map", 960100, 268800},
{"Land der Elemente", 828300", 763500},
{"Boss Map(50)", 1059000", 726200},
{"Metin Map 1(25)", 0,0},(leerer Drachenraum)
{"Metin Map 2(50)", 0, 0},(OrkTal)
{"Metin Map 3(75)", 960100, 268800},
{"Wüste",297300", 547900},
{"Tal von Seungryong"333074", 747167},
{"Berg Sohan ", 436900", 216100},
{"Roter Wald",1119323", 7952},
{"Spinnendungeon 1",60000", 497000},
{"Spinnendungeon 2",97649", 571124},
{"Spinnendungeon(Boss)",97649", 571124},
{"Grotte 1",10000", 1207800},
{"Grotte 2",241800", 1275000},
{"Grotte 3(Boss)",181473", 1220674},
{"Dämonenturm(Boss)",590406", 110717},
{"Dunkler Wald (75-125)", 960100, 268800},
{"Tempel des Schwert( 110)", 960100, 268800},
{"Land der Todes (115)", 960100, 268800},
{"Glutberge (125)", 960100", 268800},

23.1 Reihenfolge
Reiche
PvP-Map
Land der Elemente (50)
Boss-Map (50)
Wüste
Tal von Seungryong
Berg Sohan
Roter Wald
Metin-Map 1
Metin-Map 2
Metin-Map 3
Spinnendungeon 1
Spinnendungeon 2
Spinnendungeon (Boss)
2 Posts über dir steht eine Warpquest von Sensi..
Füg doch einfach deine Koords etc dort ein


Quote:
Originally Posted by rollback View Post
Code:
define WARPRING_VNUM 12345

quest warpring begin
	state start begin
		when WARPRING_VNUM.use begin
			warpTable = warpTable or {
				{
					name = "Map 1",
					children = {
						{
							name = "Rotes Reich",
							warp = {1, 100, 200},
						},
						{
							name = "Blaues Reich",
							warp = {2, 100, 200},
						},
						{
							name = "Gelbes Reich",
							warp = {3, 100, 200},
						},
					},
				},
				{
					name = "Maps mit Bedingungen",
					condition = warpring.minLevel(30),
					children = {
						{
							name = "Map mit besonderer Bedingung 1",
							conditions = {
								warpring.hasFlag("anyquest", "boss_killed"),
								warpring.maxLevel(90),
							},
							warp = {4, 100, 200},
						},
					},
				},
			}
			
			warpring.showWarps({name = "Warpring", children = warpTable}, 0)
		end
		
		function showWarps(entry, stackCount)
			if stackCount >= 100 then
				say("Die Auswahl wurde aus Sicherheitsgründen beendet.")
				return
			end
			
			local selectNames = {}
			local selectTargets = {}
			for _, warp in ipairs(entry.children) do
				if warpring.checkConditions(warp) then
					table.insert(selectNames, warp.name)
					table.insert(selectTargets, warp)
				end
			end
			
			local BACK = "Zurück"
			local CANCEL = "Schließen"
			if entry.parent then
				table.insert(selectNames, BACK)
			end
			table.insert(selectNames, CANCEL)
			
			say_title(entry.name)
			if table.getn(selectTargets) < 1 then
				say("Keine Zielorte zum Auswählen")
			end
			
			local selectedNum = select_table(selectNames)
			local selectedTarget = selectTargets[selectedNum]
			if selectedTarget then
				if selectedTarget.children then
					selectedTarget.parent = entry
					warpring.showWarps(selectedTarget, stackCount + 1)
				elseif selectedTarget.warp then
					pc.warp(unpack(selectedTarget.warp))
				else
					say("Keine Informationen zu diesem Punkt.")
				end
			else
				local selectedStr = selectNames[selectedNum]
				if selectedStr == BACK and entry.parent then
					warpring.showWarps(entry.parent, stackCount + 1)
				end
			end
		end
		
		function checkConditions(entry)
			if entry.condition and not entry.condition() then
				return false
			end
			
			if entry.conditions then
				for _, condition in ipairs(entry.conditions) do
					if not condition() then
						return false
					end
				end
			end
			
			return true
		end
		
		function minLevel(value)
			return function()
				return pc.get_level() >= value
			end
		end
		
		function maxLevel(value)
			return function()
				return pc.get_level() <= value
			end
		end
		
		function hasFlag(questName, flagName)
			return function()
				return pc.getf(questName, flagName) == 1
			end
		end
	end
end
Sollte so klappen
Maverιcĸ is offline  
Old 04/06/2017, 00:56   #3626
 
thecryfromhell's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 135
Received Thanks: 6
hi @ all,

gibt es ne quest wo der spieler für jeden metin (ab zb 8024) oder für jeden Boss den er gekillt hat einpaar coins (in die db "account" in der tabelle "accounts" ins "coins" Feld) bekommt?

würd ich echt gebrauchen


damals hatte mir .CHKaruzo & .Colossus. diese quest geschrieben aber die funktioniert nicht


------------------------------------

quest coins_for_kill begin
state start begin

local metin = {
[8024] = {30}, -- 1. Vnum des Metin 2. Anzahl der Coins
[8025] = {20}
}

when kill begin
if npc.get_race() == metin[pc.get_mob_vnum] then
notice_all("".. pc.get_name() .." >>>>> hat gerade 1 coins bekommen <<<<<")
mysql_query("UPDATE account.account SET coins = coins + "..metin[pc.get_mob_vnum][2].." WHERE id = "..pc.get_account_id()..";")
end
end
end
end


der error dazu ist :

./qc coins_for_kill.quest
QUEST : coins_for_kill
STATE : start
expecting 'when' or 'function'
coins_for_kill.quest:4:Abort (core dumped)

-----------------------------


natürlich gibts nen thanx

danke.





und 2.

Ist es möglich das jeder Spielen sagen wirmal 1 (eins) coin für jede ingame Stunde die er im Spiel war bekommt?
wenn ja würd ich mich für so eine quest sehr freuen.
danke
thecryfromhell is offline  
Old 04/07/2017, 15:42   #3627
 
elite*gold: 0
Join Date: Jun 2011
Posts: 13
Received Thanks: 0
Pferdequest Hilfe

Moin elitepvpers
Bin gerade dabei mir ne pferdequest zu schreiben und brauche mal eure hilfe
PHP Code:
quest horse_getting begin
    state start begin
        when login begin
            send_letter
("Der Stallbursche braucht Hilfe!")  (brief von lv1lv10)
        
end
        when button 
or info begin
            say_title
("Ich brauche dringend Hilfe "..pc.get_name())
            
say("Ich war letztens auf einer Fortbildung.")
            
say("Auf dem Rueckweg ist mir meine Tasche gerissen")
            
say("und habe ein paar meiner Medailen verloren.")
            
say_item_vnum(50050)
            
say("Geh und bringe mir bitte 10 dieser Medailen wieder")
            
say("wenn du hier dein 10. Lebensjahr erreicht hast.")
            
set_state(weiter)
        
end
    end
    state weiter begin
        when login 
or levelup with pc.get_level()>=10 begin  (der Brief kommt erst ab lvl 10
            send_letter
("Geh zum Stallburschen")               und 10 gesammelten pms mit
        end                                                                     pfeil über stallbursche
)
        
when button or info begin
            say_title
("Der Stallbursche erwartet dich")
            
say("Geh und guck was er von dir will")
        
end                                                               (als nächstes beim Stallbursche wo man
    end                                                                    
die pms abgibtne kleine summe yang
end 
und dann bekommt man sein pferd)

Wenn man sich einloggt kommt ein Quest-Brief der auffordert lvl 10 zu erreichen und 10 Pferdemedailen zu sammeln > Wenn man dies erreicht hat soll ein 2. Brief aufploppen mit dem Pfeil über dem Stallburschen (Wie bei der quest lvl 5 "Die Ausbildung") Dann geht man dahin und holt sein Pferd ab..
Habe mir das Quest-Schreiben gerade selber beigebracht.
Meine Frage: > sind die states richtig gesetzt? Ich möchte den State setzen wenn er lvl 10 und die 10 pms hat und nicht wenn ich die quest angeklickt habe, nach einem login ist die quest weg und kommt nicht wieder....Und wie bringe ich die restlichen sachen die ich beschrieben habe unter? Kann mir einer helfen die Quest zu überarbeiten?
Delta371 is offline  
Old 04/07/2017, 16:19   #3628

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by Delta371 View Post
Moin elitepvpers
Bin gerade dabei mir ne pferdequest zu schreiben und brauche mal eure hilfe
PHP Code:
quest horse_getting begin
    state start begin
        when login begin
            send_letter
("Der Stallbursche braucht Hilfe!")  (brief von lv1lv10)
        
end
        when button 
or info begin
            say_title
("Ich brauche dringend Hilfe "..pc.get_name())
            
say("Ich war letztens auf einer Fortbildung.")
            
say("Auf dem Rueckweg ist mir meine Tasche gerissen")
            
say("und habe ein paar meiner Medailen verloren.")
            
say_item_vnum(50050)
            
say("Geh und bringe mir bitte 10 dieser Medailen wieder")
            
say("wenn du hier dein 10. Lebensjahr erreicht hast.")
            
set_state(weiter)
        
end
    end
    state weiter begin
        when login 
or levelup with pc.get_level()>=10 begin  (der Brief kommt erst ab lvl 10
            send_letter
("Geh zum Stallburschen")               und 10 gesammelten pms mit
        end                                                                     pfeil über stallbursche
)
        
when button or info begin
            say_title
("Der Stallbursche erwartet dich")
            
say("Geh und guck was er von dir will")
        
end                                                               (als nächstes beim Stallbursche wo man
    end                                                                    
die pms abgibtne kleine summe yang
end 
und dann bekommt man sein pferd)

Wenn man sich einloggt kommt ein Quest-Brief der auffordert lvl 10 zu erreichen und 10 Pferdemedailen zu sammeln > Wenn man dies erreicht hat soll ein 2. Brief aufploppen mit dem Pfeil über dem Stallburschen (Wie bei der quest lvl 5 "Die Ausbildung") Dann geht man dahin und holt sein Pferd ab..
Habe mir das Quest-Schreiben gerade selber beigebracht.
Meine Frage: > sind die states richtig gesetzt? Ich möchte den State setzen wenn er lvl 10 und die 10 pms hat und nicht wenn ich die quest angeklickt habe, nach einem login ist die quest weg und kommt nicht wieder....Und wie bringe ich die restlichen sachen die ich beschrieben habe unter? Kann mir einer helfen die Quest zu überarbeiten?
Code:
define NPC_VNUM 12345
define ITEM_VNUM 50050
define ITEM_COUNT 10
define MIN_LEVEL 10

quest horse_getting begin
	state start begin
		when login begin
			if pc.get_level() >= MIN_LEVEL and pc.count_item(ITEM_VNUM) >= ITEM_COUNT and pc.getqf("letterRead") == 1 then
				set_state("training1")
				return
			end
			
			send_letter("Der Stallbursche braucht Hilfe!")
		end
		
		when button or info begin
			say_title("Ich brauche dringend Hilfe " .. pc.get_name())
			say("Ich war letztens auf einer Fortbildung.")
			say("Auf dem Rueckweg ist mir meine Tasche gerissen")
			say("und habe ein paar meiner Medailen verloren.")
			say_item_vnum(ITEM_VNUM)
			say(string.format("Geh und bringe mir bitte %d dieser Medailen wieder", ITEM_COUNT))
			say(string.format("wenn du hier dein %d. Lebensjahr erreicht hast.", MIN_LEVEL))
			
			pc.setqf("letterRead", 1)
		end
		
		when leave begin
			clear_letter()
		end
	end
	
	state training1 begin
		when login or enter begin
			send_letter("Geh zum Stallburschen")
			
			local vid = find_npc_by_vnum(NPC_VNUM)
			if vid ~= 0 then
				target.vid("TARGET_HORSE_GETTING", vid, "Gehe zum Stallburschen")
			end
		end
		
		when button or info begin
			say_title("Der Stallbursche erwartet dich")
			say("Geh und guck was er von dir will")
		end
		
		when TARGET_HORSE_GETTING.target.click begin
			if pc.count_item(ITEM_VNUM) < ITEM_COUNT then
				say("Du hast nicht die benötigte Anzahl an Items.")
				return
			end
			
			pc.remove_item(ITEM_VNUM, ITEM_COUNT)
			horset.set_level(10)
			set_state("training2")
			
			say("Dein Pferd ist nun Level 10")
		end
		
		when leave begin
			clear_letter()
		end
	end
	
	state training2 begin
		
	end
end
rollback is offline  
Old 04/07/2017, 21:36   #3629
 
elite*gold: 0
Join Date: Jun 2011
Posts: 13
Received Thanks: 0
Moooin, erstmal vielen dank für deine Hilfe, schaut sehr geil aus hab ich auch direkt schonmal getestet und und verstanden wie sie funktioniert..
allerdings muss ich mich jedes mal neu einloggen mit der 2. questbrief angezeigt wird..
kann man das nicht auch so machen das das beim levelup auf 10 automatisch kommt?
die jetzigen anforderungen sind ja min. lvl 10, 10 medailen, lesen des 1. briefs
bei der zeile "when button or enter begin
send_letter("geh zum stallburschen")"

hab ich auch schon lvlup probiert aber dann kommt jedes lvlup der brief.
und wenn ich lvl 10 angebe öffnet er garnicht mehr.

und wenn ich das oben probiere wo der state "training1" gesetzt wurde mit lvl up dann setzt er mich erst auf training 1 wenn ich nen lvl up habe..

im moment schaut die quest so aus
PHP Code:
quest horse_getting begin
    state start begin
        when login begin
            
if pc.get_level()>=10 and pc.count_item(50050)>=10 and pc.getqf("letterRead")==1 then
                set_state
(anfang)
                return
            
end
            send_letter
("Der Stallbursche braucht Hilfe!")
        
end
        when button 
or info begin
            say_title
("Ich brauche dringend Hilfe "..pc.get_name())
            
say("Ich war letztens auf einer Fortbildung.")
            
say("Auf dem Rueckweg ist mir meine Tasche gerissen")
            
say("und habe ein paar meiner Medailen verloren.")
            
say_item_vnum(50050)
            
say(string.format("Geh und bringe mir bitte %d dieser Medailen wieder"10))
            
say(string.format("wenn du hier dein %d. Lebensjahr erreicht hast."10))
            
pc.setqf("letterRead"1)
        
end    
    end
    state anfang begin
        when login 
or enter begin
            send_letter
("Geh zum Stallburschen")
            
local vid find_npc_by_vnum(20349)
            if 
vid ~= 0 then
                target
.vid("TARGET_HORSE_GETTING"vid"gehe zum Stallburschen")
            
end
        end
        when button 
or info begin
            say_title
("Der Stallbursche erwartet dich")
            
say("Geh und guck was er von dir will")
        
end
        when TARGET_HORSE_GETTING
.target.click begin
            
if pc.count_item(50050)<=9 then
                say
("Komme wieder wenn du 10 meiner Medailen hast")
                return
            
end
            pc
.remove_item(5005010)
            
pc.give_item2(500511)
            
pc.set_skill_level(13110)
            
horse.set_level(1)
            
horse.summon()
            
horse.ride()
            
say("Heey nicht so schnell das Ding hat")
            
say("mich viel Arbeit gekostet.")
            
set_state(ende)
        
end
    end
    state ende begin
    end
end 
Delta371 is offline  
Old 04/08/2017, 02:53   #3630
 
Lice.'s Avatar
 
elite*gold: 118
Join Date: Jan 2013
Posts: 274
Received Thanks: 140
PHP Code:
[TABLE]quest warpring begin
    state start begin
        when 70007.
use or 9012.chat.gameforge.map_warp._10_npcChat or 20009.chat.gameforge.neutral_warp._10_npcChat begin
            local warp 
= {--koord Pflichtrest optional!
                {--
Reiche
                    name 
"Map 1",
                    {--
Rotes Reich
                        name 
"Rotes Reich Map 1",
                        
koord = {474100955000},
                    },
                    {--
Gelbes Reich
                        name 
"Gelbes Reich Map 1",
                        
koord = {63525166543},
                    },
                    {--
Blaues Reich
                        name 
"Blaues Reich Map 1",
                        
koord = {960100268800},
                    },
                    {--
Rotes Reich Map 2
                        name 
"Rotes Reich Map 2",
                        
koord = {352200882200},
                    },
                    {--
Gelbes Reich Map 2
                        name 
"Gelbes Reich Map 2",
                        
koord = {145900239800},
                    },
                    {--
Blaues Reich Map 2 
                        name 
"Blaues Reich Map 2",
                        
koord = {863700246300},
                    },
                    {--
PvP_Map
                        name 
"PvP_Map 1",
                        
koord = {00},
                    },
                    {--
Land der Riesen
                        name 
"Land der Elemente (50)",
                        
koord = {828300763500},
                    },
                    {--
Boss Map
                        name 
"Boss-Map (50)",
                        
koord = {1059000726200},
                    },
                    {--
Metin Map 1
                        name 
"Metin Map 1",
                        
koord = {00},
                    },
                    {--
Metin Map 2
                        name 
"Metin Map 2",
                        
koord = {00},
                    },
                    {--
Metin Map 3
                        name 
"Metin Map 3",
                        
koord = {960100268800},
                    },
                    {--
Wüste 
                        name 
"Wüste (Mitte)",
                        
koord = {297300547900},
                    },
                    {--
Tal_von_Seungryong
                        name 
"Tal_von_Seungryong",
                        
koord = {333074747167},
                    },
                    {--
Eisland Mitte
                        name 
"Eisland",
                        
koord = {436900216100},
                    },
                    {--
Roter Wald
                        name 
"Roter Wald",
                        
koord = {11193237952},
                    },
                    {--
Spinnendungeons 1
                        name 
"SD1",
                        
koord = {60000497000},
                    },
                    {--
Spinnendungeons 2
                        name 
"SD2",
                        
koord = {703800462500},
                    },
                    {--
Spinnendungeons (Boss)
                        
name "SD3 (Boss)",
                        
koord = {69018609960},
                    },
                    {--
Grotte 1
                        name 
"Grotte 1",
                        
koord = {100001207800},
                    },
                    {--
Grotte 2
                        name 
"Grotte 2",
                        
koord = {2418001275000},
                    },
                    {--
Grotte (Boss)
                        
name "Drachenkammer (Boss)",
                        
koord = {1814731220674},
                    },
                    {--
EisFestung (Boss)
                        
name "Eisfestung (Boss)",
                        
koord = {00},
                    },
                    {--
Dämonenturm (Boss)
                        
name "Dämonenturm (Boss)",
                        
koord = {590406110717},
                    },
                    {--
Dunkler Wald (75-125)
                        
name "Dunkler Wald (75-125)",
                        
koord = {960100268800},
                    },
                    {--
Tempel des Schwert (110)
                        
name "Tempel des Schwert (110)",
                        
koord = {960100268800},
                    },
                    {--
Land der Todes (115)
                        
name "Land der Todes (115)",
                        
koord = {960100268800},
                    }
",
                    {--Glutberge (125)
                        name = "
Glutberge (125)",
                        koord = {960100, 268800},
                    },
            warpring.sho
            warpring.showwarps(warp)
        end
        function warp(tbl)
            local level = pc.get_level()
            if tbl.minlevel and level < tbl.minlevel then
                say("
Dein Level ist zu niedrigum diese Map zu betreten.")
                say("
Minimal Level"..tbl.minlevel)
                select("
Abbrechen")
                return
            elseif tbl.maxlevel  and level > tbl.maxlevel then
                say("
Dein Level ist zu hochum diese Map zu betreten.")
                say("
Maximal Level"..tbl.maxlevel)
                select("
Abbrechen")
                return
            end
            while not pc.can_warp() do
                say("
Du kannst dich noch nicht teleportierenda du in")
                say("
den letzten 10 Sekunden gehandelt hast.")
                if select("
Erneut versuchen", "Abbrechen") == 2 then return end
            end
            local warpneedstrings = warpring.get_warpneedstrings(tbl)
            if table.getn(warpneedstrings) > 0 then
                say("
Um diese Map zu betreten benötigst du folgende")
                say("
Dinge:")
                for _,v in ipairs(warpneedstrings) do
                    say(v)
                end
                say("")
                say("
Möchtest du trotzdem fortfahren?")
                if select("
Teleportieren", "Abbrechen") == 2 then return end
            end
            if not warpring.check_and_remove_warpneeds(tbl) then
                say("
Dir fehlt mindestens eins der benötigten Dinge.")
                select("
Abbrechen")
                return
            end
            pc.warp(tbl.koord[1], tbl.koord[2])
        end
        function get_warpneedstrings(tbl)
            local warpneeds = {}
            if tbl.itemneed and table.getn(tbl.itemneed) > 0 then
                for _,v in ipairs(tbl.itemneed) do
                    table.insert(warpneeds, "
"..v[2]..""..item_name(v[1]))
                end
            end
            if tbl.goldneed and tbl.goldneed > 0 then
                table.insert(warpneeds, "
"..tbl.goldneed.." Yang")
            end
            return warpneeds
        end
        function check_warpneeds(tbl)
            if tbl.itemneed and table.getn(tbl.itemneed) > 0 then
                for _,v in ipairs(tbl.itemneed) do
                    if pc.count_item(v[1]) < v[2] then
                        return false
                    end
                end
            end
            if tbl.goldneed and tbl.goldneed > 0 then
                if pc.get_gold() < tbl.goldneed then
                    return false
                end
            end
            return true
        end
        function remove_warpneeds(tbl)
            if tbl.itemneed and table.getn(tbl.itemneed) > 0 then
                for _,v in ipairs(tbl.itemneed) do
                    pc.remove_item(v[1], v[2])
                end
            end
            if tbl.goldneed and tbl.goldneed > 0 then
                pc.change_gold(-tbl.goldneed)
            end
        end
        function check_and_remove_warpneeds(tbl)
            if not warpring.check_warpneeds(tbl) then
                return false
            end
            warpring.remove_warpneeds(tbl)
            return true
        end
        function get_warpnames(tbl)
            local level = pc.get_level()
            local names = {}
            for _,v in ipairs(tbl) do
                if v.minlevel and level < v.minlevel then
                    v.name = v.name.." 
(ab Lv"..v.minlevel..")"
                elseif v.maxlevel  and level > v.maxlevel then
                    v.name = v.name.." 
(bis Lv"..v.maxlevel..")"
                end
                table.insert(names, v.name)
            end
            return names
        end
        function showwarps(tbl)
            local warpnames = warpring.get_warpnames(tbl)
            local s = tbl[select3(warpnames)] or false
            if not s then return end
            if s.koord then
                warpring.warp(s)
                return
            end
            warpring.showwarps(s)
        end
    end
end[/TABLE] 
Hab dort problme könnte jemand helpen
Lice. is offline  
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 +2. The time now is 23:17.


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.