Map auf 2. Seite des Warprings

04/19/2016 09:32 Curlston#1
Hey,
ich würde gerne die letzte map "testmap" auf die zweite Seite des Warprings packen (wapringquest aus den kori files). Leider Fehlt mir der Befehl, damit dies auch angezeit wird. Die buttons für "weiter" und "zurück" scheinen bereits zu existieren. zudem soll die map nur mithilfe eines Seelensteins betreten werden. ich sehe, dass die funktion da ist (bei" if table.getn(warpneedstrings) > 0 "), jedoch weiß ich nicht, wie diese zu verwenden ist.

PHP Code:
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!
                {--
Map1
                    name 
"Map 1",
                    {--
Rotes Reich
                        name 
"Rotes Reich",
                        
koord = {474100955000},
                    },
                    {--
Gelbes Reich
                        name 
"Gelbes Reich",
                        
koord = {63525166543},
                    },
                    {--
Blaues Reich
                        name 
"Blaues Reich",
                        
koord = {960100268800},
                    },
                },
                {--
Map2
                    name 
"Map 2",
                    {--
Rotes Reich
                        name 
"Rotes Reich",
                        
koord = {352200882200},
                    },
                    {--
Gelbes Reich
                        name 
"Gelbes Reich",
                        
koord = {145900239800},
                    },
                    {--
Blaues Reich
                        name 
"Blaues Reich",
                        
koord = {863700246300},
                    },
                },
                {--
Standart Maps
                    name 
"Standart Maps",
                    {--
Orktal Mitte
                        name 
"Orktal",
                        
koord = {333074747167},
                    },
                    {--
Hwang-Tempel
                        name 
"Tempel",
                        
koord = {553600144100},
                    },
                    {--
Wüste Mitte
                        name 
"Wüste",
                        
koord = {297300547900},
                    },
                    {--
Eisland Mitte
                        name 
"Eisland",
                        
koord = {436900216100},
                    },
                    {--
Feuerland Mitte
                        name 
"Feuerland",
                        
koord = {601300687900},
                    },
                    {--
Dämonenturm
                        name 
"Dämonenturm",
                        
koord = {590406110717},
                    },
                    {--
Schlangenfeld
                        name 
"Schlangenfeld",
                        
koord = {1059000726200},
                    },
                    {--
Land der Riesen
                        name 
"Land der Riesen",
                        
koord = {828300763500},
                    },
                    {--
Geisterwald
                        name 
"Geisterwald",
                        
koord = {2887005700},
                    },
                    {--
Roter Wald
                        name 
"Roter Wald",
                        
koord = {11193237952},
                    },
                },
                {--
Spinnendungeons
                    name 
"Spinnendungeons",
                    {--
Spinnendungeons 1
                        name 
"SD1",
                        
koord = {60000497000},
                    },
                    {--
Spinnendungeons 2
                        name 
"SD2",
                        
koord = {703800462500},
                    },
                    {--
Spinnendungeons 3
                        name 
"SD3",
                        
koord = {97649571124},
                    },
                    {--
Spinnendungeons 3
                        name 
"SD3 Boss",
                        
koord = {69018609960},
                    },
                },
                {--
Grotte der Verbannung
                    name 
"Grotte der Verbannung",
                    {--
Grotte 1
                        name 
"Grotte 1",
                        
koord = {100001207800},
                    },
                    {--
Grotte 2
                        name 
"Grotte 2",
                        
koord = {2418001275000},
                    },
                    {--
Drachenraum
                        name 
"Drachenraum",
                        
koord = {1814731220674},
                    },
                },
                {--
90er Maps
                    name 
"90er Maps",
                    {--
Donnerberge
                        name 
"Donnerberge",
                        
koord = {11345001654600},
                    },
                    {--
Gautamakliff
                        name 
"Gautamakliff",
                        
koord = {12263001681100},
                    },
                    {--
Kap des Drachenfeuers
                        name 
"Kap des Drachenfeuers",
                        
koord = {11043001788500},
                    },
                    {--
Nephritbucht
                        name 
"Nephritbucht",
                        
koord = {10869001655800},
                    },
                },
                {--
100er Maps
                    name 
"100er Maps",
                    {--
Rotdrachen-Festung
                        name 
"Rotdrachen-Festung",
                        
koord = {614265706964},
                    },
                    {--
Nemeres Warte
                        name 
"Nemeres Warte",
                        
koord = {433025167605},
                    },
                    {--
Verwunschener Wald
                        name 
"Verwunschener Wald",
                        
koord = {8018001499000},
                    },
                    {--
Tempel der Ochao
                        name 
"Tempel der Ochao",
                        
koord = {8848001447000},
                    },
                },
                
                {--
Spezial Maps
                    name 
"Spezialmap",
                    {--
farmmap
                        name 
"testmap",
                        
koord = {850195388887},
                    },
                },
            }
            
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(tblthen
                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[2then
                        
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(tblthen
                
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(namesv.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 
kann mir da jemand helfen?

Mit freundlichen Grüßen,
Curlston
04/19/2016 17:32 ライト#2
Soweit ich weis ist der Weiter & Zurück Button im Client definiert und muss da abgeändert werden. Wegen dem Seelenstein:

PHP Code:
itemneed = { {1891} } 
Also:

PHP Code:
        name "testmap",
        
koord = {850195388887},
        
itemneed = {
                {
seelenstein1}
        }, 
04/19/2016 18:03 Curlston#3
Danke schonmal - bzgl der zweiten seite haste keine idee?
04/19/2016 23:33 ライト#4
Quote:
Originally Posted by Curlston View Post
Danke schonmal - bzgl der zweiten seite haste keine idee?
Leider nein. Da ich das Problem auch hatte, habe ich einfach alles in eine Seite gepackt. Einfach in verschiedene Kategorien. Nicht genutze Maps habe ich entfernt.
04/20/2016 01:01 MQTT.#5
Ich glaube mit einer Tabelle funktioniert dies nicht.

Im Normfall kannst du mit dem Befehl
Code:
 wait()
eine zweite Seite einsetzen, aber ob dies möglich ist bei einer Tabelle, weiß ich leider nicht.
Alternativ würde ich sagen, dass du die Quest einfach umschreibst.
Code:
quest warpring begin
state start begin
local s = select ("Mapname","mapname","mapname","weiter")
if s == 1 then
warp()
if s == 2 then
warp()
if s == 3 then
warp()
else 
wait()
local r == select ....
Fehler vorbehalten, bin kein Quester.
So hab ichs damals gemacht.
04/20/2016 07:53 Curlston#6
ich bin mit koris quest ansonsten eigentlich zufrieden, er hat ja ziemlich viele Funktionen eingebaut. Jemand noch eine Idee? Ich will einfach auf "weiter" klicken und dann soll eine weitere Map angezeigt werden..