[SERVICE] Die Questerstellung

09/03/2015 17:46 ~NotGold*#3121
Ich brauche eine Quest die so aufgebaut ist, dass man in manche Maps erst ab einem bestimmten Level kann.
Z.B Farmmap ab 75, Andere Map ab 100 etc. :)

So sieht meine Quest bis jetzt aus:

09/03/2015 17:51 rollback#3122
Quote:
Originally Posted by ~NotGold* View Post
Ich brauche eine Quest die so aufgebaut ist, dass man in manche Maps erst ab einem bestimmten Level kann.
Z.B Farmmap ab 75, Andere Map ab 100 etc. :)

So sieht meine Quest bis jetzt aus:

[Only registered and activated users can see links. Click Here To Register...]
09/03/2015 17:58 ~NotGold*#3123
Quote:
Originally Posted by Seחsi View Post
[Only registered and activated users can see links. Click Here To Register...]
Kenne ich. Das Problem ist, dass ich nicht weiß wo hin mit was. Wenn ich "minlevel" nehme und es einfüge, kommt nen Questfehler. :(
09/03/2015 18:00 rollback#3124
Quote:
Originally Posted by ~NotGold* View Post
Kenne ich. Das Problem ist, dass ich nicht weiß wo hin mit was. Wenn ich "minlevel" nehme und es einfüge, kommt nen Questfehler. :(
Dann hast du was falsch gemacht. Zeig mal die fertige Quest ;)
09/03/2015 18:04 ~NotGold*#3125
Quote:
Originally Posted by Seחsi View Post
Dann hast du was falsch gemacht. Zeig mal die fertige Quest ;)
Code:
quest drachenraum begin 
    state start begin	
      when 30122.chat."Willkommen" with pc.get_level() >= 75 begin
                say_title("Kriegergeist:") 
                say ("Wohin willst Du reisen?") 
                local s = select("Drachenraum", "Farmmap", "Tal der Metins", "Grube der Metins", "Levelmap", "Abbrechen")

                if s == 1 then 
                    pc.warp(171700, 1220400)
				elseif s == 2 then
					say("Wohin genau?")
					t = select("Anfang", "Ende", "Abbrechen")
					if t==1 then
							pc.warp(1119900, 70800)
					elseif t==2 then
							pc.warp(1119200, 7000)
				end
				elseif s == 3 then
						pc.warp(83200, 0)		
				elseif s == 4 then
						pc.warp(1140400, 1520400)
				elseif s == 5 then
						pc.warp(828100, 763400)	
                elseif s == 6 then 
                     return 
            end 
        end 
    end  
end
Die ist aber ohne die Befehle :D minlevel hatte ich unter die koord gepackt
09/03/2015 18:39 rollback#3126
Quote:
Originally Posted by ~NotGold* View Post
Code:
quest drachenraum begin 
    state start begin	
      when 30122.chat."Willkommen" with pc.get_level() >= 75 begin
                say_title("Kriegergeist:") 
                say ("Wohin willst Du reisen?") 
                local s = select("Drachenraum", "Farmmap", "Tal der Metins", "Grube der Metins", "Levelmap", "Abbrechen")

                if s == 1 then 
                    pc.warp(171700, 1220400)
				elseif s == 2 then
					say("Wohin genau?")
					t = select("Anfang", "Ende", "Abbrechen")
					if t==1 then
							pc.warp(1119900, 70800)
					elseif t==2 then
							pc.warp(1119200, 7000)
				end
				elseif s == 3 then
						pc.warp(83200, 0)		
				elseif s == 4 then
						pc.warp(1140400, 1520400)
				elseif s == 5 then
						pc.warp(828100, 763400)	
                elseif s == 6 then 
                     return 
            end 
        end 
    end  
end
Die ist aber ohne die Befehle :D minlevel hatte ich unter die koord gepackt
Du kannst doch bei deiner Quest nicht einfach minlevel drunterschreiben ... da musst du schon die Quest aus dem Release nehmen
09/03/2015 19:04 ~NotGold*#3127
Quote:
Originally Posted by Seחsi View Post
Du kannst doch bei deiner Quest nicht einfach minlevel drunterschreiben ... da musst du schon die Quest aus dem Release nehmen
Dann sieht's so aus:
Code:
quest drachenraum begin
	state start begin
		when 30122.use begin
			local warp = {--koord Pflicht, rest optional!
				{--Map1
					name = "Drachenraum",
					{--Rotes Reich
						name = "Rotes Reich",
						koord = {171700, 1220400},
						minlevel = 80,
						maxlevel = 125,
						},
					{--Gelbes Reich
						name = "Farmmap",
						koord = {1119200, 7000},
						minlevel = 75,
						maxlevel = 125,
					},
					{--Blaues Reich
						name = "Tal der Metins",
						koord = {83200, 0},
						minlevel = 80,
						maxlevel = 125,
					},
				{--Map2
					name = "Map 2",
					{--Rotes Reich
						name = "Grube der Metins",
						koord = {1140400, 1520400},
						minlevel = 125,
						maxlevel = 125,
					},
					{--Gelbes Reich
						name = "Levelmap",
						koord = {828100, 763400},
						minlevel = 75,
						maxlevel = 125,
					},
				},
			}
			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 niedrig, um 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 hoch, um 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 teleportieren, da 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].."x "..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
€: Auch wenn ich Deine komplett übernehme, sagt er mir dass er die FUNCTION nicht kennt
09/03/2015 19:19 rollback#3128
Quote:
Originally Posted by ~NotGold* View Post
Dann sieht's so aus:
Code:
quest drachenraum begin
	state start begin
		when 30122.use begin
			local warp = {--koord Pflicht, rest optional!
				{--Map1
					name = "Drachenraum",
					{--Rotes Reich
						name = "Rotes Reich",
						koord = {171700, 1220400},
						minlevel = 80,
						maxlevel = 125,
						},
					{--Gelbes Reich
						name = "Farmmap",
						koord = {1119200, 7000},
						minlevel = 75,
						maxlevel = 125,
					},
					{--Blaues Reich
						name = "Tal der Metins",
						koord = {83200, 0},
						minlevel = 80,
						maxlevel = 125,
					},
				{--Map2
					name = "Map 2",
					{--Rotes Reich
						name = "Grube der Metins",
						koord = {1140400, 1520400},
						minlevel = 125,
						maxlevel = 125,
					},
					{--Gelbes Reich
						name = "Levelmap",
						koord = {828100, 763400},
						minlevel = 75,
						maxlevel = 125,
					},
				},
			}
			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 niedrig, um 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 hoch, um 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 teleportieren, da 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].."x "..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
€: Auch wenn ich Deine komplett übernehme, sagt er mir dass er die FUNCTION nicht kennt
ja, weil du den namen der quest geändert hast. Entweder überall wo in der quest warpring.FUNKTIONSNAME geschrieben wird in drachenraum.FUNKTIONSNAME ändern oder den Questnamen wieder ändern
09/07/2015 08:49 .Bavelou.#3129
Ich bräuchte eine art DailyQuest die man von einem NPC aus starten kann und das es jeden Tag eine andere Aufgabe und Belohnung gibt und die man Leicht erweitern kann. :)
09/09/2015 03:30 .Ares´#3130
brauche eine Startboni quest, wenn man sich zum ersten mal einloggt sollte man 2k mp bekommen! du der boni sollte permanent halten

achja das sollte man nur nach den 1 einloggen bekommen danach nicht mehr
09/09/2015 07:08 .Ryuzaki™#3131
Quote:
Originally Posted by .Ares´ View Post
brauche eine Startboni quest, wenn man sich zum ersten mal einloggt sollte man 2k mp bekommen! du der boni sollte permanent halten

achja das sollte man nur nach den 1 einloggen bekommen danach nicht mehr

Code:
quest startmp begin
	state start begin
		when login begin
			if pc.getqf("startmp") == 0 then
			   pc.setqf("startmp", 1")
			   affect.add_collect(apply.MAX_SP, 2000, 60*60*24*365*60)
			end
		end
	end
end
09/09/2015 11:07 .Ares´#3132
Quote:
Originally Posted by .Ryuzaki™ View Post
Code:
quest startmp begin
	state start begin
		when login begin
			if pc.getqf("startmp") == 0 then
			   pc.setqf("startmp", 1")
			   affect.add_collect(apply.MAX_SP, 2000, 60*60*24*365*60)
			end
		end
	end
end


Error occured on compile Start/startmp.quest
09/09/2015 12:17 rollback#3133
Quote:
Originally Posted by .Ares´ View Post
Error occured on compile Start/startmp.quest
Am Syntax-Highlighting hier im Forum solltest du den Fehler schon sehen
09/09/2015 13:25 I'm Kaito!#3134
Quote:
Originally Posted by .Ryuzaki™ View Post
Code:
quest startmp begin
	state start begin
		when login begin
			if pc.getqf("startmp") == 0 then
			   pc.setqf("startmp", 1")
			   affect.add_collect(apply.MAX_SP, 2000, 60*60*24*365*60)
			end
		end
	end
end
Code:
quest startmp begin
	state start begin
		when login with pc.getqf("startmp") == 0 begin
			   pc.setqf("startmp", 1)
			   affect.add_collect(apply.MAX_SP, 2000, 60*60*24*365*60)
		end
	end
end
09/11/2015 17:13 I´m Raylee#3135
Hi :)
Ich würde bitte eine Truhenquest benötigen!

Die Truhe sollte 14 Items beinhalten und beim öffnen der Truhe sollte die Truhe 1 von 14 verschiedenen Items dropen!

Ich bedanke mich schon einmal recht herzlich! :)

Mfg
Raylee