[Map ab lvl] NICHT ÜBER QUEST

03/27/2015 20:39 SolWayne#1
So ich will die maps einstellen ab lvl aus dem grund wen ich das per quest mache ist es ja z.b ch 99 die map wen man dann z.b OX ist kann man mit ehering auf die high map und das will ich verhindern und wie kann ich das machen ?

also genau sie wie das man das sd3 portal und die map ab lvl 75 macht das man mit lvl 74 z.b. rein kommt und map1 geportet wird


Danke für's lesen und Helfen,

MfG,

Wayne
03/27/2015 20:43 Sogma#2
Du kannst ne Levelbegrenzung auf die Map setzen und alle unter dem Level wieder auf Map1 setzen, so habe ich es auch. Ne andere Möglichkeit kenne ich nicht.

Hier die Quest:

PHP Code:
quest playerkick begin
    state start begin
        when login 
or levelup with pc.get_map_index() == 208 and pc.get_level() >= 130 begin
            
if pc.get_empire() == 1 then
                pc
.warp(409600896000)
            elseif 
pc.get_empire() == 2 then
                pc
.warp(0102400)
            else
                
pc.warp(921600204800)
            
end
        end
        when login 
or levelup with pc.get_map_index() == 20 and pc.get_level() >= 160 begin
            
if pc.get_empire() == 1 then
                pc
.warp(409600896000)
            elseif 
pc.get_empire() == 2 then
                pc
.warp(0102400)
            else
                
pc.warp(921600204800)
            
end
        end
        when login 
or levelup with pc.get_map_index() == 202 and pc.get_level() >= 190 begin
            
if pc.get_empire() == 1 then
                pc
.warp(409600896000)
            elseif 
pc.get_empire() == 2 then
                pc
.warp(0102400)
            else
                
pc.warp(921600204800)
            
end
        end
    end
end 
Map ID's und Level muss natürlich angepasst werden.
03/28/2015 02:35 AnalyzeTM©#3
Richtig dafür würdest du eine Änderung an der Game benötigen. denke der aufwand wäre höher als das ergebnis anzurechnen
03/28/2015 09:59 .yorliK#4
Es wurde mal eine schöne Quest released, allerdings mit einem Zeichendreher. Warpt man sich auf die Map, wird man bei zu hohen oder zu niedrigem Level in sein Reich gewarpt. In dieser Quest jetzt ist der Fehler behoben!

Du siehst hier 2 Tabellen, einmal over_level und under_level
Sie ist wie folgt aufgebaut: [Mapindex] = Level,
Code:
-------------------------------
----- MapBlock Quest ----------
----- by .Onlyx3™ / Ayumi3 ----
-------------------------------
quest mapblock begin
	state start begin
		when login with not pc.is_gm() begin
			local over_level = { -- Portet dich in dein Reich wenn du ÜBER dem Level bist!
					[62] = 100,    -- Feuerland, ÜBER Level 100 portet er dich in dein Reich
				}
			local under_level = {    -- Portet dich in dein Reich wenn du UNTER dem Level bist!
					[62] = 50,    -- Feuerland, UNTER Level 50 portet er dich in dein Reich
				}
			if over_level[pc.get_map_index()] ~= nil and pc.get_level() > over_level[pc.get_map_index()] or under_level[pc.get_map_index()] ~= nil and pc.get_level() < under_level[pc.get_map_index()] then
				warp_to_village()
			end
		end
	end
end
Orignalthread: [Only registered and activated users can see links. Click Here To Register...]
03/28/2015 12:32 MaxChri#5
Ne quest machen, die bei jedem Login das Level und die Map abfragt. Wenn das Level nicht passt, dann wieder auf Map1 porten :D Hab zwar keine Ahnung ob das geht, aber von der Logik her würde ich das so jetzt sagen.
03/28/2015 13:27 [AppleJuice]#6
Code:
quest blacklisted_map begin
	state __FUNC__ begin
		function getMap(idx)
			return ({
			
		--    index  min lvl      max lvl
				[63] = {1,	50},
				[64] = {1}, -- no max lvl nötig 
				
			})[idx] or {}
		end
	end
	state start begin
		when login begin
			local map = blacklisted_map.getMap(pc.get_map_index())
			if table.getn(map) == 0 then return end
			if pc.level < map[1] or (pc.level < map[1] and map[2] ~= nil and pc.level > map[2]) then
				warp_to_village()
			end
		end
	end
end
ist untested habe ich grade kurz aufgekritzelt
03/28/2015 14:39 rollback#7
Quote:
Originally Posted by [AppleJuice] View Post
Code:
quest blacklisted_map begin
	state __FUNC__ begin
		function getMap(idx)
			return ({
			
		--    index  min lvl      max lvl
				[63] = {1,	50},
				[64] = {1}, -- no max lvl nötig 
				
			})[idx] or {}
		end
	end
	state start begin
		when login begin
			local map = blacklisted_map.getMap(pc.get_map_index())
			if table.getn(map) == 0 then return end
			if pc.level < map[1] or (pc.level < map[1] and map[2] ~= nil and pc.level > map[2]) then
				warp_to_village()
			end
		end
	end
end
ist untested habe ich grade kurz aufgekritzelt
Kilroy hat doch schon eine passende Quest gepostet