|
You last visited: Today at 16:39
Advertisement
[SERVICE] Die Questerstellung
Discussion on [SERVICE] Die Questerstellung within the Metin2 Private Server forum part of the Metin2 category.
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 '')..'#/'..i
--print(i,x)
if l.subs ~= nil then
create_list(x,l.subs)
wp[x] = {["type"] = "kat"}
else
wp[x] = l
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 1
-- Funktionen START
local function count(str,del)
local out = 0
for i in string.gfind(str,del) do
out = out+1
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"] = {},
},1
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] = l
wl.data[str]["name"] = i
else
local str = (string.gsub(trim(i),'#%d+',''))
wl.list[co] = str
wl.data[str] = l
end
co = co+1
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 ~= 1 and sel == table.getn(wl.list)-1 then
local nextkat = function()
local t,out = split(kat,'#/'),''
table.foreach(t,
function(i,l)
if i < table.getn(t) and i > 1 then
out = out..'#/'..l
end
end
)
return out
end
show_menu(index-1,nextkat())
return
end
if wl.data[wl.list[sel]]["type"] == "kat" then
show_menu(index+1, wl.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.
|
|
|
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
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 '')..'#/'..i
--print(i,x)
if l.subs ~= nil then
create_list(x,l.subs)
wp[x] = {["type"] = "kat"}
else
wp[x] = l
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 1
-- Funktionen START
local function count(str,del)
local out = 0
for i in string.gfind(str,del) do
out = out+1
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"] = {},
},1
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] = l
wl.data[str]["name"] = i
else
local str = (string.gsub(trim(i),'#%d+',''))
wl.list[co] = str
wl.data[str] = l
end
co = co+1
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 ~= 1 and sel == table.getn(wl.list)-1 then
local nextkat = function()
local t,out = split(kat,'#/'),''
table.foreach(t,
function(i,l)
if i < table.getn(t) and i > 1 then
out = out..'#/'..l
end
end
)
return out
end
show_menu(index-1,nextkat())
return
end
if wl.data[wl.list[sel]]["type"] == "kat" then
show_menu(index+1, wl.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:
|
|
|
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 Pflicht, rest optional!
{--Map1
name = "Map 1",
{--Rotes Reich
name = "Rotes Reich",
koord = {965784, 275242},
minlevel = 50,
maxlevel = 80,
itemneed = {
{189, 1}
},
goldneed = 10000
},
{--Gelbes Reich
name = "Gelbes Reich",
koord = {965784, 275242},
minlevel = 10,
maxlevel = 105,
itemneed = {
{189, 1}
},
goldneed = 10000
},
{--Blaues Reich
name = "Blaues Reich",
koord = {965784, 275242},
minlevel = 1,
maxlevel = 105,
itemneed = {
{189, 1}
},
goldneed = 10000
},
},
{--Map2
name = "Map 2",
{--Rotes Reich
name = "Rotes Reich",
koord = {965784, 275242},
minlevel = 1,
maxlevel = 30,
itemneed = {
{189, 1}
},
goldneed = 10000
},
{--Gelbes Reich
name = "Gelbes Reich",
koord = {965784, 275242},
minlevel = 1,
maxlevel = 105,
itemneed = {
{189, 1}
},
goldneed = 10000
},
{--Blaues Reich
name = "Blaues Reich",
koord = {965784, 275242},
minlevel = 1,
maxlevel = 105,
itemneed = {
{189, 1}
},
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(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
|
|
|
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
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 Pflicht, rest optional!
{--Map1
name = "Map 1",
{--Rotes Reich
name = "Rotes Reich",
koord = {965784, 275242},
minlevel = 50,
maxlevel = 80,
itemneed = {
{189, 1}
},
goldneed = 10000
},
{--Gelbes Reich
name = "Gelbes Reich",
koord = {965784, 275242},
minlevel = 10,
maxlevel = 105,
itemneed = {
{189, 1}
},
goldneed = 10000
},
{--Blaues Reich
name = "Blaues Reich",
koord = {965784, 275242},
minlevel = 1,
maxlevel = 105,
itemneed = {
{189, 1}
},
goldneed = 10000
},
},
{--Map2
name = "Map 2",
{--Rotes Reich
name = "Rotes Reich",
koord = {965784, 275242},
minlevel = 1,
maxlevel = 30,
itemneed = {
{189, 1}
},
goldneed = 10000
},
{--Gelbes Reich
name = "Gelbes Reich",
koord = {965784, 275242},
minlevel = 1,
maxlevel = 105,
itemneed = {
{189, 1}
},
goldneed = 10000
},
{--Blaues Reich
name = "Blaues Reich",
koord = {965784, 275242},
minlevel = 1,
maxlevel = 105,
itemneed = {
{189, 1}
},
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(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
|
Hast du die select3-Questfunktion?
Steht bei dir "ipairs" in der quest_functions-Datei (findest du im Questordner)?
|
|
|
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.
|
|
|
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
|
|
|
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.
|
|
|
09/01/2015, 20:06
|
#3113
|
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
|
|
|
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
|
|
|
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".
|
|
|
09/03/2015, 15:10
|
#3116
|
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
|
|
|
09/03/2015, 16:09
|
#3117
|
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(DEINE, KORDS) --- Rotes Reich end when levelup with pc.get_level() == 15 and pc.get_empire() == 2 begin pc.warp(DEINE, KORDS) --- Gelbes Reich end when levelup with pc.get_level() == 15 and pc.get_empire() == 3 begin pc.warp(DEINE, KORDS) --- Blaues Reich end end end
Sollte so gehen, auch wenn es nicht die beste Lösung ist. (Anfänger)
|
|
|
09/03/2015, 16:29
|
#3118
|
elite*gold: 76
Join Date: Mar 2015
Posts: 698
Received Thanks: 245
|
Quote:
Originally Posted by .Ryuzaki™
PHP Code:
quest ryuzaki begin state start begin when levelup with pc.get_level() == 15 and pc.get_empire() == 1 begin pc.warp(DEINE, KORDS) --- Rotes Reich end when levelup with pc.get_level() == 15 and pc.get_empire() == 2 begin pc.warp(DEINE, KORDS) --- Gelbes Reich end when levelup with pc.get_level() == 15 and pc.get_empire() == 3 begin pc.warp(DEINE, KORDS) --- Blaues Reich end end end
Sollte so gehen, auch wenn es nicht die beste Lösung ist. (Anfänger)
|
Funktioniert danke.
Lg
|
|
|
09/03/2015, 16:47
|
#3119
|
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:
|
|
|
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™
PHP Code:
quest ryuzaki begin
state start begin
when levelup with pc.get_level() == 15 and pc.get_empire() == 1 begin
pc.warp(DEINE, KORDS) --- Rotes Reich
end
when levelup with pc.get_level() == 15 and pc.get_empire() == 2 begin
pc.warp(DEINE, KORDS) --- Gelbes Reich
end
when levelup with pc.get_level() == 15 and pc.get_empire() == 3 begin
pc.warp(DEINE, KORDS) --- 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
|
|
|
 |
|
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.
|
|