Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 16:39

  • 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 08/31/2015, 20:39   #3106
 
elite*gold: 0
Join Date: Aug 2015
Posts: 24
Received Thanks: 2
Hallo epvp ich habe ein Problem mit einer Warpquest:

PHP Code:
quest warptest begin 
    state start begin 
        when 20093.click begin 
            say_title
("Hallo ".. pc.get_name() ..",")
            
say("Ich kann dich auf wichtige Maps Teleportieren.")
            
say("Jede Map hat ein Minimales und Maximales LvL.")
            
say("D.h du siehst die Maps nur wenn du in derem LvL")
            
say("bereich bist!")
            
say_reward("Levelbereiche der Maps:")
            
say_reward("Lv75-105 - Lv105-115 - Lv115-140 - Lv140-150 - Lv150")
            
local warptab = { 
                --[[ 
Möglich
                 
empire 
                 minlvl 
                 maxlvl 
                 minalign 
                 maxalign 
                 is_gm 
(true
                 
eventflag
                
]]
                [
"Farmmaps (Lv75 - 150)"] = { 
                    [
"minlvl"] = 75,
                    [
"subs"] = { 
                        [
"1. Farmmap1 Lv75"] = {["x"] = 5994, ["y"] = 7563, ["minlvl"] = 75},
                        [
"2. Farmmap2 Lv105"] = {["x"] = 2887, ["y"] = 57, ["minlvl"] = 105}, 
                        [
"3. Farmmap3 Lv115"] = {["x"] = 11199, ["y"] = 708, ["minlvl"] = 115}, 
                        [
"4. Farmmap4 Lv140"] = {["x"] = 8451, ["y"] = 7459, ["minlvl"] = 140}, 
                        [
"5. Farmmap5 Lv150"] = {["x"] = 5905, ["y"] = 1105, ["minlvl"] = 150}, 
                    }, 
                }, 
                [
"Dungeons (Lv75 - 150)"] = { 
                    [
"minlvl"] = 75,
                    [
"subs"] = { 
                        [
"1. Beran Setaou Lv75"] = {["x"] = 5994, ["y"] = 7563, ["minlvl"] = 75},
                        [
"2. Spinnenbaroness Lv105"] = {["x"] = 2887, ["y"] = 57, ["minlvl"] = 105}, 
                        [
"3. Devil Catacomb Lv115"] = {["x"] = 11199, ["y"] = 708, ["minlvl"] = 115}, 
                        [
"4. Rotdrachen-Festung Lv140"] = {["x"] = 8451, ["y"] = 7459, ["minlvl"] = 140}, 
                        [
"5. Nemeres Warte Lv150"] = {["x"] = 5905, ["y"] = 1105, ["minlvl"] = 150}, 
                    }, 
                }, 
                [
"Levelmaps (Lv75 - 150)"] = { 
                    [
"minlvl"] = 75,
                    [
"subs"] = { 
                        [
"1. Levelmap1 Lv75"] = {["x"] = 5994, ["y"] = 7563, ["minlvl"] = 75},
                        [
"2. Levelmap2 Lv105"] = {["x"] = 2887, ["y"] = 57, ["minlvl"] = 105}, 
                        [
"3. Levelmap3 Lv115"] = {["x"] = 11199, ["y"] = 708, ["minlvl"] = 115}, 
                        [
"4. Levelmap4 Lv140"] = {["x"] = 8451, ["y"] = 7459, ["minlvl"] = 140}, 
                        [
"5. Levelmap5 Lv150"] = {["x"] = 5905, ["y"] = 1105, ["minlvl"] = 150}, 
                    }, 
                }, 
            }
            -- 
Ab hier nichts mehr Ändern
            
local wp = {} 
            -- 
Kategorien 
            local 
function create_list(nm,index
                
table.foreach((index or warptab), 
                    function(
i,l
                        
local x = (nm or '')..'#/'..
                        
--print(i,x
                        if 
l.subs ~= nil then 
                            create_list
(x,l.subs
                            
wp[x] = {["type"] = "kat"
                        else 
                            
wp[x] = 
                            wp
[x]["type"] = "warp" 
                            
wp[x]["kat"] = (nm or ''
                        
end 
                    end 
                

            
end 
            
--Erstelle Liste der vorhandenen Warps 
            create_list
() 
            
local function show_menu(id,kat
                
local index id or 
                
-- Funktionen START 
                local 
function count(str,del
                    
local out 
                    
for i in string.gfind(str,del) do 
                        
out out+
                    end 
                    
return out 
                end 
                local 
function trim(str
                    
str string.gsub(str,'.-#/','',index
                    return 
str 
                end 
                
-- Funktionen ENDE 
                 
                
-- Erstellen der Warpliste f??elect2 
                local wl
,co = { 
                    [
"list"] = {}, 
                    [
"data"] = {}, 
                },

                table
.sort(wp
                
table.foreach(wp
                    function(
i,l
                        if 
count(i,'.-#/') == index then 
                            local 
function cc() 
                                -- 
Da es viele If's sind, nicht extra eingerückt 
                                if l.empire == nil or l.empire == pc.get_empire() then 
                                if l.maxlvl == nil or pc.get_level() <= l.maxlvl then 
                                if l.minlvl == nil or pc.get_level() >= l.minlvl then 
                                if l.minalign == nil or pc.get_real_alignment() >= l.minalign then 
                                if l.maxalign == nil or pc.get_real_alignment() <= l.maxalign then 
                                if l.eventflag == nil or game.get_event_flag(l.eventflag) == 1 then 
                                if l.is_gm == nil or pc.is_gm() == l.is_gm then 
                                    if l.type == "kat" then 
                                        local str = ' '..(string.gsub(trim(i),'
#%d+',''))..' ' 
                                        
wl.list[co] = str 
                                        wl
.data[str] = 
                                        wl
.data[str]["name"] = 
                                    
else 
                                        
local str = (string.gsub(trim(i),'#%d+','')) 
                                        
wl.list[co] = str 
                                        wl
.data[str] = 
                                    end 
                                    co 
co+
                                end 
-- gamemaster 
                                end 
-- eventflag 
                                end 
-- maxalign 
                                end 
-- minalign 
                                end 
-- minlvl 
                                end 
-- maxlvl 
                                end 
-- empire 
                                
-- if Block ende 
                            end 
                            
if index == 1 then 
                                cc
() 
                            elseif 
kat ~= nil and string.sub(i,1,string.len(kat)) == kat then 
                                cc
() 
                            
end 
                        end 
                    end 
                

                -- 
Ausgabe 
                table
.sort(wl.list) 
                
table.insert(wl.list,1,8
                if 
index ~= 1 then 
                    table
.insert(wl.list,'Zurück'
                
end 
                table
.insert(wl.list,'Abbrechen'
                
local sel select2(wl.list) 
                if 
sel == table.getn(wl.list) then return end 
                
if index ~= and sel == table.getn(wl.list)-1 then 
                    local nextkat 
= function() 
                        
local t,out split(kat,'#/'),'' 
                        
table.foreach(t
                            function(
i,l
                                if 
table.getn(t) and 1 then 
                                    out 
out..'#/'..
                                end 
                            end 
                        

                        return 
out 
                    end 
                    show_menu
(index-1,nextkat()) 
                    return 
                
end 
                
if wl.data[wl.list[sel]]["type"] == "kat" then  
                    show_menu
(index+1wl.data[wl.list[sel]]["name"],kat or nil
                    return 
                else 
                    
pc.warp(wl.data[wl.list[sel]]["x"]*100,wl.data[wl.list[sel]]["y"]*100
                
end 
            end 
            show_menu
() 
        
end 
    end 
end 
Wenn man auf abbrechen klickt dann bleibt der Text im bild aber das fenster ist zu.
WieLaDeNeax3 is offline  
Old 08/31/2015, 21:18   #3107

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by WieLaDeNeax3 View Post
Hallo epvp ich habe ein Problem mit einer Warpquest:

PHP Code:
quest warptest begin 
    state start begin 
        when 20093.click begin 
            say_title
("Hallo ".. pc.get_name() ..",")
            
say("Ich kann dich auf wichtige Maps Teleportieren.")
            
say("Jede Map hat ein Minimales und Maximales LvL.")
            
say("D.h du siehst die Maps nur wenn du in derem LvL")
            
say("bereich bist!")
            
say_reward("Levelbereiche der Maps:")
            
say_reward("Lv75-105 - Lv105-115 - Lv115-140 - Lv140-150 - Lv150")
            
local warptab = { 
                --[[ 
Möglich
                 
empire 
                 minlvl 
                 maxlvl 
                 minalign 
                 maxalign 
                 is_gm 
(true
                 
eventflag
                
]]
                [
"Farmmaps (Lv75 - 150)"] = { 
                    [
"minlvl"] = 75,
                    [
"subs"] = { 
                        [
"1. Farmmap1 Lv75"] = {["x"] = 5994, ["y"] = 7563, ["minlvl"] = 75},
                        [
"2. Farmmap2 Lv105"] = {["x"] = 2887, ["y"] = 57, ["minlvl"] = 105}, 
                        [
"3. Farmmap3 Lv115"] = {["x"] = 11199, ["y"] = 708, ["minlvl"] = 115}, 
                        [
"4. Farmmap4 Lv140"] = {["x"] = 8451, ["y"] = 7459, ["minlvl"] = 140}, 
                        [
"5. Farmmap5 Lv150"] = {["x"] = 5905, ["y"] = 1105, ["minlvl"] = 150}, 
                    }, 
                }, 
                [
"Dungeons (Lv75 - 150)"] = { 
                    [
"minlvl"] = 75,
                    [
"subs"] = { 
                        [
"1. Beran Setaou Lv75"] = {["x"] = 5994, ["y"] = 7563, ["minlvl"] = 75},
                        [
"2. Spinnenbaroness Lv105"] = {["x"] = 2887, ["y"] = 57, ["minlvl"] = 105}, 
                        [
"3. Devil Catacomb Lv115"] = {["x"] = 11199, ["y"] = 708, ["minlvl"] = 115}, 
                        [
"4. Rotdrachen-Festung Lv140"] = {["x"] = 8451, ["y"] = 7459, ["minlvl"] = 140}, 
                        [
"5. Nemeres Warte Lv150"] = {["x"] = 5905, ["y"] = 1105, ["minlvl"] = 150}, 
                    }, 
                }, 
                [
"Levelmaps (Lv75 - 150)"] = { 
                    [
"minlvl"] = 75,
                    [
"subs"] = { 
                        [
"1. Levelmap1 Lv75"] = {["x"] = 5994, ["y"] = 7563, ["minlvl"] = 75},
                        [
"2. Levelmap2 Lv105"] = {["x"] = 2887, ["y"] = 57, ["minlvl"] = 105}, 
                        [
"3. Levelmap3 Lv115"] = {["x"] = 11199, ["y"] = 708, ["minlvl"] = 115}, 
                        [
"4. Levelmap4 Lv140"] = {["x"] = 8451, ["y"] = 7459, ["minlvl"] = 140}, 
                        [
"5. Levelmap5 Lv150"] = {["x"] = 5905, ["y"] = 1105, ["minlvl"] = 150}, 
                    }, 
                }, 
            }
            -- 
Ab hier nichts mehr Ändern
            
local wp = {} 
            -- 
Kategorien 
            local 
function create_list(nm,index
                
table.foreach((index or warptab), 
                    function(
i,l
                        
local x = (nm or '')..'#/'..
                        
--print(i,x
                        if 
l.subs ~= nil then 
                            create_list
(x,l.subs
                            
wp[x] = {["type"] = "kat"
                        else 
                            
wp[x] = 
                            wp
[x]["type"] = "warp" 
                            
wp[x]["kat"] = (nm or ''
                        
end 
                    end 
                

            
end 
            
--Erstelle Liste der vorhandenen Warps 
            create_list
() 
            
local function show_menu(id,kat
                
local index id or 
                
-- Funktionen START 
                local 
function count(str,del
                    
local out 
                    
for i in string.gfind(str,del) do 
                        
out out+
                    end 
                    
return out 
                end 
                local 
function trim(str
                    
str string.gsub(str,'.-#/','',index
                    return 
str 
                end 
                
-- Funktionen ENDE 
                 
                
-- Erstellen der Warpliste f??elect2 
                local wl
,co = { 
                    [
"list"] = {}, 
                    [
"data"] = {}, 
                },

                table
.sort(wp
                
table.foreach(wp
                    function(
i,l
                        if 
count(i,'.-#/') == index then 
                            local 
function cc() 
                                -- 
Da es viele If's sind, nicht extra eingerückt 
                                if l.empire == nil or l.empire == pc.get_empire() then 
                                if l.maxlvl == nil or pc.get_level() <= l.maxlvl then 
                                if l.minlvl == nil or pc.get_level() >= l.minlvl then 
                                if l.minalign == nil or pc.get_real_alignment() >= l.minalign then 
                                if l.maxalign == nil or pc.get_real_alignment() <= l.maxalign then 
                                if l.eventflag == nil or game.get_event_flag(l.eventflag) == 1 then 
                                if l.is_gm == nil or pc.is_gm() == l.is_gm then 
                                    if l.type == "kat" then 
                                        local str = ' '..(string.gsub(trim(i),'
#%d+',''))..' ' 
                                        
wl.list[co] = str 
                                        wl
.data[str] = 
                                        wl
.data[str]["name"] = 
                                    
else 
                                        
local str = (string.gsub(trim(i),'#%d+','')) 
                                        
wl.list[co] = str 
                                        wl
.data[str] = 
                                    end 
                                    co 
co+
                                end 
-- gamemaster 
                                end 
-- eventflag 
                                end 
-- maxalign 
                                end 
-- minalign 
                                end 
-- minlvl 
                                end 
-- maxlvl 
                                end 
-- empire 
                                
-- if Block ende 
                            end 
                            
if index == 1 then 
                                cc
() 
                            elseif 
kat ~= nil and string.sub(i,1,string.len(kat)) == kat then 
                                cc
() 
                            
end 
                        end 
                    end 
                

                -- 
Ausgabe 
                table
.sort(wl.list) 
                
table.insert(wl.list,1,8
                if 
index ~= 1 then 
                    table
.insert(wl.list,'Zurück'
                
end 
                table
.insert(wl.list,'Abbrechen'
                
local sel select2(wl.list) 
                if 
sel == table.getn(wl.list) then return end 
                
if index ~= and sel == table.getn(wl.list)-1 then 
                    local nextkat 
= function() 
                        
local t,out split(kat,'#/'),'' 
                        
table.foreach(t
                            function(
i,l
                                if 
table.getn(t) and 1 then 
                                    out 
out..'#/'..
                                end 
                            end 
                        

                        return 
out 
                    end 
                    show_menu
(index-1,nextkat()) 
                    return 
                
end 
                
if wl.data[wl.list[sel]]["type"] == "kat" then  
                    show_menu
(index+1wl.data[wl.list[sel]]["name"],kat or nil
                    return 
                else 
                    
pc.warp(wl.data[wl.list[sel]]["x"]*100,wl.data[wl.list[sel]]["y"]*100
                
end 
            end 
            show_menu
() 
        
end 
    end 
end 
Wenn man auf abbrechen klickt dann bleibt der Text im bild aber das fenster ist zu.
Da du sowieso keine Optionen der Quest nutzt, ausser das Mindestlevel, kannst du es mal mit meiner Quest versuchen:

rollback is offline  
Old 08/31/2015, 21:35   #3108
 
elite*gold: 0
Join Date: Aug 2015
Posts: 24
Received Thanks: 2
Danke nur habe ich das Problem das ich es über Client button ausführe und die Warpquest will irgendwie nicht.

PHP Code:
quest warpring begin
    state start begin
        when login begin
            cmdchat
("warpPanelQID "..q.getcurrentquestindex())
        
end
        when button 
or info begin
            local warp 
= {--koord Pflichtrest optional!
                {--
Map1
                    name 
"Map 1",
                    {--
Rotes Reich
                        name 
"Rotes Reich",
                        
koord = {965784275242},
                        
minlevel 50,
                        
maxlevel 80,
                        
itemneed = {
                            {
1891}
                        },
                        
goldneed 10000
                    
},
                    {--
Gelbes Reich
                        name 
"Gelbes Reich",
                        
koord = {965784275242},
                        
minlevel 10,
                        
maxlevel 105,
                        
itemneed = {
                            {
1891}
                        },
                        
goldneed 10000
                    
},
                    {--
Blaues Reich
                        name 
"Blaues Reich",
                        
koord = {965784275242},
                        
minlevel 1,
                        
maxlevel 105,
                        
itemneed = {
                            {
1891}
                        },
                        
goldneed 10000
                    
},
                },
                {--
Map2
                    name 
"Map 2",
                    {--
Rotes Reich
                        name 
"Rotes Reich",
                        
koord = {965784275242},
                        
minlevel 1,
                        
maxlevel 30,
                        
itemneed = {
                            {
1891}
                        },
                        
goldneed 10000
                    
},
                    {--
Gelbes Reich
                        name 
"Gelbes Reich",
                        
koord = {965784275242},
                        
minlevel 1,
                        
maxlevel 105,
                        
itemneed = {
                            {
1891}
                        },
                        
goldneed 10000
                    
},
                    {--
Blaues Reich
                        name 
"Blaues Reich",
                        
koord = {965784275242},
                        
minlevel 1,
                        
maxlevel 105,
                        
itemneed = {
                            {
1891}
                        },
                        
goldneed 10000
                    
},
                },
            }
            
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 
WieLaDeNeax3 is offline  
Old 08/31/2015, 22:22   #3109

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by WieLaDeNeax3 View Post
Danke nur habe ich das Problem das ich es über Client button ausführe und die Warpquest will irgendwie nicht.

PHP Code:
quest warpring begin
    state start begin
        when login begin
            cmdchat
("warpPanelQID "..q.getcurrentquestindex())
        
end
        when button 
or info begin
            local warp 
= {--koord Pflichtrest optional!
                {--
Map1
                    name 
"Map 1",
                    {--
Rotes Reich
                        name 
"Rotes Reich",
                        
koord = {965784275242},
                        
minlevel 50,
                        
maxlevel 80,
                        
itemneed = {
                            {
1891}
                        },
                        
goldneed 10000
                    
},
                    {--
Gelbes Reich
                        name 
"Gelbes Reich",
                        
koord = {965784275242},
                        
minlevel 10,
                        
maxlevel 105,
                        
itemneed = {
                            {
1891}
                        },
                        
goldneed 10000
                    
},
                    {--
Blaues Reich
                        name 
"Blaues Reich",
                        
koord = {965784275242},
                        
minlevel 1,
                        
maxlevel 105,
                        
itemneed = {
                            {
1891}
                        },
                        
goldneed 10000
                    
},
                },
                {--
Map2
                    name 
"Map 2",
                    {--
Rotes Reich
                        name 
"Rotes Reich",
                        
koord = {965784275242},
                        
minlevel 1,
                        
maxlevel 30,
                        
itemneed = {
                            {
1891}
                        },
                        
goldneed 10000
                    
},
                    {--
Gelbes Reich
                        name 
"Gelbes Reich",
                        
koord = {965784275242},
                        
minlevel 1,
                        
maxlevel 105,
                        
itemneed = {
                            {
1891}
                        },
                        
goldneed 10000
                    
},
                    {--
Blaues Reich
                        name 
"Blaues Reich",
                        
koord = {965784275242},
                        
minlevel 1,
                        
maxlevel 105,
                        
itemneed = {
                            {
1891}
                        },
                        
goldneed 10000
                    
},
                },
            }
            
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 
Hast du die select3-Questfunktion?
Steht bei dir "ipairs" in der quest_functions-Datei (findest du im Questordner)?
rollback is offline  
Old 08/31/2015, 22:36   #3110
 
elite*gold: 0
Join Date: Aug 2015
Posts: 24
Received Thanks: 2
In der quest_function ist ipairs, paris und select3 drinne.

Als item use funktioniert die Quest, aber als Button in einer Sidebar nicht, obwohl alles richtig ist.
WieLaDeNeax3 is offline  
Old 09/01/2015, 01:57   #3111
 
elite*gold: 157
Join Date: May 2014
Posts: 504
Received Thanks: 603
Suche eine Funktion die einen ganzen stack entfernt und nicht nur 1 Item von einem Stack. Danke schonmal im vorraus
DevBlade is offline  
Old 09/01/2015, 19:00   #3112
 
elite*gold: 0
Join Date: Jan 2013
Posts: 22
Received Thanks: 0
Ich suche eine Regenbogen Quest, die jeweils einen Skill von M1 auf P macht.
SuFu bereits genutzt, leider weiß ich nicht was ich ändern muss, da ich mich mit Quests nicht so gut auskenne.
~NotGold* is offline  
Old 09/01/2015, 20:06   #3113
 
.Delta's Avatar
 
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661


In der Quest in der Zeile
Code:
GRAND_MASTER_SKILL_LEVEL = 30
die 30 zum gewünschten Skillgrad ändern, z.B. ich glaube 21 für M1
.Delta is offline  
Thanks
1 User
Old 09/01/2015, 20:21   #3114
 
elite*gold: 0
Join Date: Jan 2013
Posts: 22
Received Thanks: 0
Klappt, aber es geht von G1 auf P, nicht von M1.

€: Habs geschafft
~NotGold* is offline  
Old 09/01/2015, 20:29   #3115

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Versuch mal die:

Code:
quest regenbogenstein begin
	state start begin
		when REGI_VNUM.use begin
			if pc.get_skill_group() == 0 then
				say("Du musst zuerst eine Lehre wählen!")
				return
			end
			local skillList = regenbogenstein.BuildSkillList(20, 39)
			table.insert(skillList[2], "Abbrechen")
			
			say("Welche Fertigkeit möchtest du auf P setzen?")
			local s = select_table(skillList[2]) or false
			local skillVnum = skillList[1][s]
			local skillName = skillList[2][s]
			if not skillVnum then return end
			
			pc.set_skill_level(skillVnum, 40)
			pc.remove_item(item.get_vnum())
			say(skillName.." wurde erfolgreich auf P gesetzt!")
		end
		function BuildSkillList(MIN, MAX)
			local skillList = special.active_skill_list[pc.get_job()+1][pc.get_skill_group()]
			local returnList = {{}, {}}
			for _, skillVnum in ipairs(skillList) do
				local skillLevel = pc.get_skill_level(skillVnum)
				if skillLevel >= MIN and skillLevel <= MAX then
					table.insert(returnList[1], skillVnum)
					table.insert(returnList[2], locale.GM_SKILL_NAME_DICT[skillVnum] or skillVnum)
				end
			end
			return returnList
		end
	end
end
Beachte, dass du die REGI_VNUM oben anpassen musst und, dass der Regi auf Type 18 gestellt sein muss. Sollte ein Fehler mit "ipairs" kommen, öffne deine quest_functions und schreib in eine neue Zeile "ipairs".
rollback is offline  
Old 09/03/2015, 15:10   #3116
 
zazadi's Avatar
 
elite*gold: 76
Join Date: Mar 2015
Posts: 698
Received Thanks: 245
Hey,
ich brauche ne quest,
die einem irgendwohin teleportiert wenn man level 15 erreicht.
Und dass bitte noch reich abhängig.
D.h.
Wenn jemand vom Roten reich Level 15 erreicht wird er zum Treffpunkt X geportet.
Wenn jemand vom Blauen reich Level 15 erreicht wird er zum Treffpunkt Y geportet.
Und wenn jemand vom Gelbem reich Level 15 erreicht wird er zum Treffpunkt Z geportet.

Lg
zazadi is offline  
Old 09/03/2015, 16:09   #3117
 
.Ryuzaki™'s Avatar
 
elite*gold: 1
Join Date: Aug 2014
Posts: 1,339
Received Thanks: 875
PHP Code:
quest ryuzaki begin
        state start begin
                when levelup with pc
.get_level() == 15 and pc.get_empire() == 1 begin
                        pc
.warp(DEINEKORDS) --- Rotes Reich
                end
                when levelup with pc
.get_level() == 15 and pc.get_empire() == 2 begin
                        pc
.warp(DEINEKORDS) --- Gelbes Reich
                end
                when levelup with pc
.get_level() == 15 and pc.get_empire() == 3 begin
                        pc
.warp(DEINEKORDS) ---  Blaues Reich
                end
        end
end 
Sollte so gehen, auch wenn es nicht die beste Lösung ist. (Anfänger)
.Ryuzaki™ is offline  
Thanks
1 User
Old 09/03/2015, 16:29   #3118
 
zazadi's Avatar
 
elite*gold: 76
Join Date: Mar 2015
Posts: 698
Received Thanks: 245
Quote:
Originally Posted by .Ryuzaki™ View Post
PHP Code:
quest ryuzaki begin
        state start begin
                when levelup with pc
.get_level() == 15 and pc.get_empire() == 1 begin
                        pc
.warp(DEINEKORDS) --- Rotes Reich
                end
                when levelup with pc
.get_level() == 15 and pc.get_empire() == 2 begin
                        pc
.warp(DEINEKORDS) --- Gelbes Reich
                end
                when levelup with pc
.get_level() == 15 and pc.get_empire() == 3 begin
                        pc
.warp(DEINEKORDS) ---  Blaues Reich
                end
        end
end 
Sollte so gehen, auch wenn es nicht die beste Lösung ist. (Anfänger)
Funktioniert danke.

Lg
zazadi is offline  
Old 09/03/2015, 16:47   #3119
 
.Ryuzaki™'s Avatar
 
elite*gold: 1
Join Date: Aug 2014
Posts: 1,339
Received Thanks: 875
Welcher Fehler?
Poste mal die Quests.

Eigentlich gehört es hier rein:
.Ryuzaki™ is offline  
Old 09/03/2015, 17:28   #3120

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by .Ryuzaki™ View Post
PHP Code:
quest ryuzaki begin
        state start begin
                when levelup with pc
.get_level() == 15 and pc.get_empire() == 1 begin
                        pc
.warp(DEINEKORDS) --- Rotes Reich
                end
                when levelup with pc
.get_level() == 15 and pc.get_empire() == 2 begin
                        pc
.warp(DEINEKORDS) --- Gelbes Reich
                end
                when levelup with pc
.get_level() == 15 and pc.get_empire() == 3 begin
                        pc
.warp(DEINEKORDS) ---  Blaues Reich
                end
        end
end 
Sollte so gehen, auch wenn es nicht die beste Lösung ist. (Anfänger)
Würde bei mir auch nicht viel anders aussehen:
Code:
quest ryuzaki begin
	state start begin
		when levelup with pc.get_level() >= 15 begin
			local warpKoods = ({
				{DEINE, KOORDS},--rotes reich
				{DEINE, KOORDS},--gelbes reich
				{DEINE, KOORDS}--blaues reich
			})
			pc.warp(warpKoods[1], warpKoods[2])
			set_state("_COMPLETE_")
		end
	end
	state _COMPLETE_ begin
	end
end
rollback 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 +1. The time now is 16:40.


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.