quest pvp_ranking1 begin
state start begin
when kill with npc.is_pc() begin
local kill_up = mysql_query("UPDATE player.player SET kills = kills+1 WHERE name ='"..pc.get_name().."' LIMIT 1")
end
when 9008.chat."PvP Rangliste" begin
say("Willkommen inder PvP Rangliste")
say("Hier kannst du schaun auf welchen Rang sichdie spieler befinden")
say("Das Syndicate2 Team wünscht euch viel Spielspass.")
say_reward("Was willst du nach schauen ?")
local sel = select("Global","Rotes Reich","Gelbes Reich","Blaues Reich","Abbruch")
local pp
if sel == 5 then
return
elseif sel == 1 then
pp = mysql_query("select name,kills from player.player ORDER BY kills desc,level desc,name asc LIMIT 15")
else
pp = mysql_query("select name,kills from player.player where (SELECT empire from player.player_index where player.account_id =id) = "..(sel-1).." ORDER BY kills desc,level desc,name asc LIMIT 15")
end
if pp == nil or (pp[1] or {})[1] == nil then
say("Es gab einen Fehler.")
return
end
say("Rang - Name - Kills")
table.foreachi(pp,function(i,l)
say(i.." - "..l[1].." - "..l[2])
end)
end
end
end
hab das auch in der db eingefügt bei player -> player -> design table
name : kills typ :tinyint lenght : 255 : decimals : 0
so die quest ging mal bei mir, habe dann back up draufgezogen und seit dem her steht immer : es gibt einen fehler wenn ich npc dann auf blaues reich anklicke
quest pvp_ranking1 begin
state start begin
when kill with npc.is_pc() begin
local kill_up = mysql_query("UPDATE player.player SET kills = kills+1 WHERE name ='"..pc.get_name().."' LIMIT 1")
end
when 9008.chat."PvP Rangliste" begin
say("Willkommen inder PvP Rangliste")
say("Hier kannst du schaun auf welchen Rang sichdie spieler befinden")
say("Das Syndicate2 Team wünscht euch viel Spielspass.")
say_reward("Was willst du nach schauen ?")
local sel = select("Global","Rotes Reich","Gelbes Reich","Blaues Reich","Abbruch")
local pp
if sel == 5 then
return
elseif sel == 1 then
pp = mysql_query("select name,kills from player.player ORDER BY kills desc,level desc,name asc LIMIT 15")
else
pp = mysql_query("select name,kills from player.player where (SELECT empire from player.player_index where player.account_id =id) = "..(sel-1).." ORDER BY kills desc,level desc,name asc LIMIT 15")
end
if pp == nil or (pp[1] or {})[1] == nil then
say("Es gab einen Fehler.")
return
end
say("Rang - Name - Kills")
table.foreachi(pp,function(i,l)
say(i.." - "..l[1].." - "..l[2])
end)
end
end
end
hab das auch in der db eingefügt bei player -> player -> design table
name : kills typ :tinyint lenght : 255 : decimals : 0
so die quest ging mal bei mir, habe dann back up draufgezogen und seit dem her steht immer : es gibt einen fehler wenn ich npc dann auf blaues reich anklicke
Wird irgendwas in die syserr / log reingeschrieben, dass man den Fehler eingrenzen kann? Müsste ja eigentlich so sein.
Was hat das BackUp denn ausgelöst bzw gebracht?
Wird irgendwas in die syserr / log reingeschrieben, dass man den Fehler eingrenzen kann? Müsste ja eigentlich so sein.
Was hat das BackUp denn ausgelöst bzw gebracht?
habe etwas auf meinem server gemacht .. und dann ging der nicht hatte aber back up vom mittag hab die reingezogen alles jut klapt alles aber nur diese
quest macht probleme hier syserr : ch1 core1:
PHP Code:
SYSERR: Jan 11 00:42:51 :: ChildLoop: AsyncSQL: query failed: Unknown column 'vnum' in 'field list' (query: INSERT DELAYED INTO log (type, time, who, x, y, what, how, hint, ip, vnum) VALUES('ITEM', NOW(), 1, 50, 0, 10000016, 'SET_SOCKET', '', '', 72701) errno: 1054)
SYSERR: Jan 11 00:42:52 :: ChildLoop: AsyncSQL: query failed: Unknown column 'vnum' in 'field list' (query: INSERT DELAYED INTO log (type, time, who, x, y, what, how, hint, ip, vnum) VALUES('ITEM', NOW(), 1, 0, 0, 10000016, 'SET_SOCKET', '', '', 72701) errno: 1054)
SYSERR: Jan 11 00:43:06 :: ChildLoop: AsyncSQL: query failed: Unknown column 'vnum' in 'field list' (query: INSERT DELAYED INTO log (type, time, who, x, y, what, how, hint, ip, vnum) VALUES('ITEM', NOW(), 1, 36, 0, 10000016, 'SET_SOCKET', '', '', 72701) errno: 1054)
SYSERR: Jan 11 00:45:13 :: ChildLoop: AsyncSQL: query failed: Unknown column 'vnum' in 'field list' (query: INSERT DELAYED INTO log (type, time, who, x, y, what, how, hint, ip, vnum) VALUES('ITEM', NOW(), 1, 0, 0, 10000016, 'SET_SOCKET', '', '', 72701) errno: 1054)
SYSERR: Jan 11 00:45:32 :: ChildLoop: AsyncSQL: query failed: Unknown column 'vnum' in 'field list' (query: INSERT DELAYED INTO log (type, time, who, x, y, what, how, hint, ip, vnum) VALUES('ITEM', NOW(), 1, 16, 0, 10000016, 'SET_SOCKET', '', '', 72701) errno: 1054)
SYSERR: Jan 11 00:46:13 :: ChildLoop: AsyncSQL: query failed: Unknown column 'vnum' in 'field list' (query: INSERT DELAYED INTO log (type, time, who, x, y, what, how, hint, ip, vnum) VALUES('ITEM', NOW(), 1, 0, 0, 10000016, 'SET_SOCKET', '', '', 72701) errno: 1054)
SYSERR: Jan 11 00:46:29 :: ChildLoop: AsyncSQL: query failed: Unknown column 'vnum' in 'field list' (query: INSERT DELAYED INTO log (type, time, who, x, y, what, how, hint, ip, vnum) VALUES('ITEM', NOW(), 2, 1784, 0, 10000016, 'SET_SOCKET', '', '', 72701) errno: 1054)
SYSERR: Jan 11 00:46:38 :: ChildLoop: AsyncSQL: query failed: Unknown column 'vnum' in 'field list' (query: INSERT DELAYED INTO log (type, time, who, x, y, what, how, hint, ip, vnum) VALUES('ITEM', NOW(), 1, 50, 0, 10000016, 'SET_SOCKET', '', '', 72701) errno: 1054)
Habe ein Problem mit der quest.
Sie funktioniert nicht man kann eine Gruppe erstellen oder in einer sein und auf die Map Index drauf ohne das man zurück in sein Reich teleportiert wird.
Code:
quest backtohomefm begin
state start begin
when login with pc.get_map_index() == 64 begin
if party.is_party() or party.is_leader() then
warp_to_village()
else
timer("check_privileges" 10)
end
end
when check_privileges.timer with pc.get_map_index() == 64 begin
if party.is_party() or party.is_leader() then
warp_to_village()
else
timer("check_privileges" 10)
end
end
end
end
Hi.
I added new crafting system(cube) on client.
But it's doesn't work when I use this quest:
HTML Code:
quest cube begin
state start begin
function cube_open(vnum)
cube_results = {}
cube_needs = {}
cube_results[20083] = "460,1"
cube_needs[20083] = "145,1&72701,1&72701,1"
cmdchat("cube_npc_id "..vnum.."")
cmdchat("cs_result "..cube_results[vnum].."")
cmdchat("cs_need "..cube_needs[vnum].."")
command("cube open")
return
end
when 20083.click begin
cube.cube_open(20083)
end
when 20017.click begin
cube.cube_open(20017)
end
when 20022.click begin
cube.cube_open(20022)
end
end
end
In syserr server I have:
HTML Code:
SYSERR: Jan 10 13:22:21 :: RunState: LUA_ERROR: locale/germany/quest/object/state/cube:10: attempt to concatenate field `?' (a table value)
SYSERR: Jan 10 13:22:21 :: WriteRunningStateToSyserr: LUA_ERROR: quest cube.start click
SYSERR: Jan 10 13:45:31 :: RunState: LUA_ERROR: locale/germany/quest/object/state/cube:6: attempt to concatenate field `?' (a nil value)
SYSERR: Jan 10 13:45:31 :: WriteRunningStateToSyserr: LUA_ERROR: quest cube.start click
SYSERR: Jan 10 13:45:32 :: RunState: LUA_ERROR: locale/germany/quest/object/state/cube:6: attempt to concatenate field `?' (a nil value)
SYSERR: Jan 10 13:45:32 :: WriteRunningStateToSyserr: LUA_ERROR: quest cube.start click
SYSERR: Jan 10 13:45:36 :: RunState: LUA_ERROR: locale/germany/quest/object/state/cube:6: attempt to concatenate field `?' (a nil value)
SYSERR: Jan 10 13:45:36 :: WriteRunningStateToSyserr: LUA_ERROR: quest cube.start click
SYSERR: Jan 10 13:45:42 :: RunState: LUA_ERROR: locale/germany/quest/object/state/cube:6: attempt to concatenate field `?' (a nil value)
SYSERR: Jan 10 13:45:42 :: WriteRunningStateToSyserr: LUA_ERROR: quest cube.start click
SYSERR: Jan 10 13:45:47 :: RunState: LUA_ERROR: locale/germany/quest/object/state/cube:6: attempt to concatenate field `?' (a nil value)
SYSERR: Jan 10 13:45:47 :: WriteRunningStateToSyserr: LUA_ERROR: quest cube.start click
Habe ein Problem mit der quest.
Sie funktioniert nicht man kann eine Gruppe erstellen oder in einer sein und auf die Map Index drauf ohne das man zurück in sein Reich teleportiert wird.
Ich schrieb bereits, die beste Methode ist das nicht, aber hier ist sie funktionstüchtig:
Code:
quest backtohomefm begin
state start begin
when login with pc.get_map_index() == 64 begin
if party.is_party() or party.is_leader() then
warp_to_village()
else
loop_timer("check_privileges", 10) -- Alle 10 Sekunden Check
end
end
when check_privileges.timer with pc.get_map_index() == 64 begin
if party.is_party() or party.is_leader() then
warp_to_village()
end
end
end
end
Hallo habe ein problemm mit der quest lua egal was ich mache er kann die quest nicht laden hab auch ein screen hochgeladen wo ihr sehn könnt das ist eine Lua quest hoffe ihr könnt mir helfen
achievement.init = function()
achievement.setf("points", 0)
achievement.setf("level", 1)
end
achievement.getNextLevelAchievementInfo = function()
local n = achievement.getf("level")
if n < 1 or n > table.getn(achievement.level) then
return 0
end
return achievement.level[n]
end
achievement.nextLevelAchievement = function()
achievement.setf("level", (achievement.getf("level") + 1))
end
achievement.getMobAchievementInfo = function(race)
if achievement.mob[race] ~= nil then
return achievement.mob[race]
else
return {}
end
end
achievement.increasePoints = function(points)
achievement.setf("points", (achievement.getf("points") + points))
end
achievement.getf = function(flag)
return pc.getf("achievement", flag)
end
achievement.setf = function(flag, value)
pc.setf("achievement", flag, value)
if flag == "points" then
achievement.clientCommunication("ap_info", value)
end
end
achievement.login = function()
achievement.initLevel()
achievement.initShop()
end
achievement.initLevel = function()
local levelAchievements = ""
table.foreach(achievement.level,
function(index, levelSet)
levelAchievements = string.format("%s,%d_%d", levelAchievements, levelSet[1], levelSet[2])
end
)
levelAchievements = string.sub(levelAchievements, 2)
achievement.clientCommunication("init_level", pc.get_level(), levelAchievements)
end
achievement.initMob = function()
local mobAchievements = ""
local mobIdxTab = achievement.mob['L'][pc.get_map_index()]
if mobIdxTab ~= nil then
table.foreach(mobIdxTab,
function(index, value)
local mobInfoTab = achievement.getMobAchievementInfo(value)
local mobAchievementsSUB = ""
if mobInfoTab ~= nil then
table.foreach(mobInfoTab,
function(idx, infoSet)
mobAchievementsSUB = string.format("%s;%d", mobAchievementsSUB, infoSet[1])
end
)
mobAchievementsSUB = string.sub(mobAchievementsSUB, 2)
mobAchievementsSUB = string.format("%d_%d_%s", value, achievement.getf(string.format("npc_kills_%d", value)), mobAchievementsSUB)
end
mobAchievements = string.format("%s,%s", mobAchievements, mobAchievementsSUB)
end
)
end
mobAchievements = string.sub(mobAchievements, 2)
achievement.clientCommunication("init_mob", mobAchievements)
end
achievement.buyItem = function(pos)
pos = pos + 1
local row = 1
while pos > 8 do
row = row + 1
pos = pos - 8
end
local itemSet = achievement.shop[row][pos]
local ap = achievement.getf("points")
if ap >= itemSet[3] then
ap = ap - itemSet[3]
achievement.setf("points", ap)
pc.give_item2(itemSet[1], itemSet[2])
achievement.clientCommunication("ap_info", ap)
else
syschat("Du hast nicht genügend Achievement-Punkte um diesen Gegenstand zu kaufen.")
end
end
achievement.clientCommunication = function(param, ...)
local strCmd = string.format("achievement %s#", param)
if not arg or table.getn(arg) < 1 then return end
local i,j = 1,table.getn(arg)
while i <= j do
strCmd = string.format(strCmd.."%s|", tostring(arg[i]))
i = i + 1
end
strCmd = string.sub(strCmd, 1, (string.len(strCmd) - 1))
cmdchat(strCmd)
end
Hab hier das Problem, dass die Quest nur beim Login angezeigt werden soll.
Also nur einmal. Wie soll ich das dann ändern ? :s
Momentan wird die Quest ja immer bei lvl 1 ausgeführt
Code:
quest text begin
state start begin
when login with pc.get_level() == 1 begin
set_state(wilkommen)
end
end
state wilkommen begin
when login with pc.get_level() == 1 begin
setskin(SCROLL)
setbgimage('logo_bg.tga')
say("Wilkommen")
say("Das ist der Test der Backgroundfunktion")
say("Wenn du einen Background siehst")
say("Hast du alles richtig gemacht")
say("Herzlichen Glückwunsch")
say("Ich hoffe es hat euch gefallen")
say("bzw gefällt euch weiterhin")
end
end
end
Hab hier das Problem, dass die Quest nur beim Login angezeigt werden soll.
Also nur einmal. Wie soll ich das dann ändern ? :s
Momentan wird die Quest ja immer bei lvl 1 ausgeführt
Code:
quest text begin
state start begin
when login with pc.get_level() == 1 begin
set_state(wilkommen)
end
end
state wilkommen begin
when login with pc.get_level() == 1 begin
setskin(SCROLL)
setbgimage('logo_bg.tga')
say("Wilkommen")
say("Das ist der Test der Backgroundfunktion")
say("Wenn du einen Background siehst")
say("Hast du alles richtig gemacht")
say("Herzlichen Glückwunsch")
say("Ich hoffe es hat euch gefallen")
say("bzw gefällt euch weiterhin")
end
end
end
Code:
quest text begin
state start begin
when login with pc.getf("willkommen","done") == 0 begin
setbgimage('logo_bg.tga')
say("Wilkommen")
say("Das ist der Test der Backgroundfunktion")
say("Wenn du einen Background siehst")
say("Hast du alles richtig gemacht")
say("Herzlichen Glückwunsch")
say("Ich hoffe es hat euch gefallen")
say("bzw gefällt euch weiterhin")
pc.setf("willkommen","done",1)
end
end
end
ich habe einen Fehler mit der PvP-Map quest -basiert auf ox.quest
hier die quest. wenn ich sie hochlade also python make.py und ich ganz unten
bei der quest bin passiert nix...
PHP Code:
quest pvpmap begin state start begin when 20011.chat."PvP-Turnier" begin
when 20358.chat."PvP-Map" with pc.is_gm() begin
local stat = PvP-Turnier.get_status()
if stat == 0 then say("PvP-Turnier") say("")
local s = select("PvP-Turnier starten", "Nope")
if s == 1 then local v = PvP-Turnier.open()
if v == 0 then say("PvP-Turnier Event schon aktiv?") say("") elseif v == 1 then say("PvP-Turnier gestartet") say("") notice_all("((`°*~-._ ****** _.-~*°´))") notice_all("Das PvP-Turnier-Event hat soeben begonnen") notice_all("Um daran teilzunehmen geht zu Uriel und sprecht mit ihm") notice_all("Viel Spaß wünscht euch das ***** Team") notice_all("((`°*~-._ **** _.-~*°´))") else say("Fehler...") say("") end end elseif stat == 1 then say("Es sind "..PvP-Turnier.get_attender().." Spieler da") say("Schließen?") say("")
when login with pc.getqf(first_login, 0) begin
am Anfang einfügen
am Ende, wo alles sets dann verteilt worden sind, packst Du die Funktion:
pc.setqf(first_login,1)
end
Dann sollte es gehen.
ne bekomme jetzt imma error kannste mir das richtig vorschreiben ?
so das ich das einfach kopieren kann
ich habe total keine ahnung wegen den abständen und so
Hallo habe ein problemm mit der quest lua egal was ich mache er kann die quest nicht laden hab auch ein screen hochgeladen wo ihr sehn könnt das ist eine Lua quest hoffe ihr könnt mir helfen
achievement.init = function()
achievement.setf("points", 0)
achievement.setf("level", 1)
end
achievement.getNextLevelAchievementInfo = function()
local n = achievement.getf("level")
if n < 1 or n > table.getn(achievement.level) then
return 0
end
return achievement.level[n]
end
achievement.nextLevelAchievement = function()
achievement.setf("level", (achievement.getf("level") + 1))
end
achievement.getMobAchievementInfo = function(race)
if achievement.mob[race] ~= nil then
return achievement.mob[race]
else
return {}
end
end
achievement.increasePoints = function(points)
achievement.setf("points", (achievement.getf("points") + points))
end
achievement.getf = function(flag)
return pc.getf("achievement", flag)
end
achievement.setf = function(flag, value)
pc.setf("achievement", flag, value)
if flag == "points" then
achievement.clientCommunication("ap_info", value)
end
end
achievement.login = function()
achievement.initLevel()
achievement.initShop()
end
achievement.initLevel = function()
local levelAchievements = ""
table.foreach(achievement.level,
function(index, levelSet)
levelAchievements = string.format("%s,%d_%d", levelAchievements, levelSet[1], levelSet[2])
end
)
levelAchievements = string.sub(levelAchievements, 2)
achievement.clientCommunication("init_level", pc.get_level(), levelAchievements)
end
achievement.initMob = function()
local mobAchievements = ""
local mobIdxTab = achievement.mob['L'][pc.get_map_index()]
if mobIdxTab ~= nil then
table.foreach(mobIdxTab,
function(index, value)
local mobInfoTab = achievement.getMobAchievementInfo(value)
local mobAchievementsSUB = ""
if mobInfoTab ~= nil then
table.foreach(mobInfoTab,
function(idx, infoSet)
mobAchievementsSUB = string.format("%s;%d", mobAchievementsSUB, infoSet[1])
end
)
mobAchievementsSUB = string.sub(mobAchievementsSUB, 2)
mobAchievementsSUB = string.format("%d_%d_%s", value, achievement.getf(string.format("npc_kills_%d", value)), mobAchievementsSUB)
end
mobAchievements = string.format("%s,%s", mobAchievements, mobAchievementsSUB)
end
)
end
mobAchievements = string.sub(mobAchievements, 2)
achievement.clientCommunication("init_mob", mobAchievements)
end
achievement.buyItem = function(pos)
pos = pos + 1
local row = 1
while pos > 8 do
row = row + 1
pos = pos - 8
end
local itemSet = achievement.shop[row][pos]
local ap = achievement.getf("points")
if ap >= itemSet[3] then
ap = ap - itemSet[3]
achievement.setf("points", ap)
pc.give_item2(itemSet[1], itemSet[2])
achievement.clientCommunication("ap_info", ap)
else
syschat("Du hast nicht genügend Achievement-Punkte um diesen Gegenstand zu kaufen.")
end
end
achievement.clientCommunication = function(param, ...)
local strCmd = string.format("achievement %s#", param)
if not arg or table.getn(arg) < 1 then return end
local i,j = 1,table.getn(arg)
while i <= j do
strCmd = string.format(strCmd.."%s|", tostring(arg[i]))
i = i + 1
end
strCmd = string.sub(strCmd, 1, (string.len(strCmd) - 1))
cmdchat(strCmd)
end
ha
Wie der Name bereits verrät, dient das Lua-Script als Extension, also als eine Erweiterung, die so nicht als Quest kompiliert werden soll. Um diese beim Serverstart laden zu lassen, musst du beispielsweise in der questlib.lua folgenden Eintrag hinzufügen;
Habe mir mal ne Quest ei epvp gesucht und sie bissl abgeändert nach meine wünschen und jetzt spackt sie rum und
bei sh make.sh kommt :
tausch.quest:2:must start with ´quest´
Error occured on compile tausch.quest
tausch.quest
quest tausch begin
state start begin
when 9010.chat."Eintauschen" begin
say_title("Eintauschen")
say("Hallo lieber user von GreenLight2!")
say("Ich bin ein Händler,")
say("Ich brauche Perlen für meine Oma")
say("Gegen ein paar Perlen kann ich dir Wertvolles EQ anbieten")
say("Falls du etwas hast bitte ich dich darum es bei")
say("mir einzutauschen und das wenn möglich zügig...")
say("Viele meiner Freunde behaupten ich sei ein Spinner,")
say("weil ich mich mit Perlen")
say("beschäftige aber ein wahrer Mann steht zu seinen")
say("vorlieben. Wenn du nun was eintschauen möchtest....,")
wait()
say("Ich habe noch ein paar Dinge zu erledigen")
say("deswegen Entscheide dich bitte schnell.")
say("Du kannst desöfteren zu mir um deine Sachen")
say("einzutauschen denn das würde mich sehr freuen,")
say("da ich ein sehr erfreuter Perlen Händler bin.")
say("")
say("")
say("")
say("")
wait()
say("Also was möchtest du tauschen für 5 Weiße Perlen?")
local v = select ("Drachenzahnklinge", "Fünf-Elemte-Klinge", "Phönix-Bogen", "Drachen-Geistglocke", "Runen-Sword", "Weiter Blaue Perle x5")
if v == 1 then
if pc.count_item(27992, 5) >= 1 then
pc.remove_item(27992, 5)
pc.give_item2(479, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Drachenzahnklinge")
else
return
end
elseif v == 2 then
if pc.count_item(27992, 5) >= 1 then
pc.remove_item(27992, 5)
pc.give_item2(1349, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Fünf-Elemte-Klinge")
else
return
end
elseif v == 3 then
if pc.count_item(27992, 5) >= 1 then
pc.remove_item(27992, 5)
pc.give_item2(2379, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Phönix-Bogen")
else
return
end
elseif v == 4 then
if pc.count_item(27992, 5) >= 1 then
pc.remove_item(27992, 5)
pc.give_item2(5349, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Drachen-Geistglocke")
else
return
end
elseif v == 5 then
if pc.count_item(27992, 5) >= 1 then
pc.remove_item(27992, 5)
pc.give_item2(469, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Runen-Sword")
else
return
end
elseif v == 6 then
local a = select ("Blauerdrachenanzug", "Kleidung des Drachen", "Auraplattenpanzer", "Blaustahl-Panzer", "Weiter Blaue Perlen x5")
if a == 1 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12019, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Blauerdrachenanzug")
else
return
end
elseif a == 2 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12029, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Kleidung des Drachen")
else
return
end
elseif a == 3 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12039, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Auraplattenpanzer")
else
return
end
elseif a == 4 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12049, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Blaustahl-Panzer")
else
return
end
elseif v == 5 then
local a = select ("Krieger-King", "Ninja-King", "Sura-King", "Shamane-King", "Weiter Blauen Perlen x5")
if a == 1 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(11971, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Krieger-King")
else
return
end
elseif a == 2 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(11972, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Ninja-King")
else
return
end
elseif a == 3 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(11973, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Sura-King")
else
return
end
elseif a == 4 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(11974, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Shamane-King")
else
return
end
elseif a == 5 then
local a = select ("Kriegsmeister-Helm", "Spinnen-Kapuze", "Magischer-Helm", "Seelensplitter-Hut", "Weiter Blauen Perlen x5")
if a == 1 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12289, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Kriegsmeister-Helm")
else
return
end
elseif a == 2 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12549, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Spinnen-Kapuze")
else
return
end
elseif a == 3 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(11973, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Magischer-Helm")
else
return
end
elseif a == 4 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12689, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Seelensplitter-Hut")
else
return
end
elseif a == 5 then
local a = select ("Falkenschild", "Tiegerschild", "Löwenkantenschild", "Drachenschuppenschild", "Weiter Blutroten Perlen x5")
if a == 1 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(13069, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Falkenschild")
else
return
end
elseif a == 2 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(13089, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Tiegerschild")
else
return
end
elseif a == 3 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(13109, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Löwenkantenschild")
else
return
end
elseif a == 4 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(13129, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Drachenschuppenschild")
else
return
end
elseif a == 5 then
local a = select ("HTO", "HTH", "HTA", "Euphorieschuhe", "Glorienstiefel", "Qilinschuhe", "Eisvogelschuhe", "zurück")
if a == 1 then
if pc.count_item(27994, 5) >= 1 then
pc.remove_item(27994, 5)
pc.give_item2(17209, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("HTO")
else
return
end
elseif a == 2 then
if pc.count_item(27994, 5) >= 1 then
pc.remove_item(27994, 5)
pc.give_item2(16209, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("HTH")
else
return
end
elseif a == 3 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(14209, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("HTA")
else
return
end
elseif a == 4 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(15379, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Euphorieschuhe")
else
return
end
elseif a == 5 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(15399, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Glorienstiefel")
else
return
end
elseif a == 6 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(15419, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Qilinschuhe")
else
return
end
elseif a == 7 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(15439, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Eisvogelschuhe")
else
return
end
elseif a == 8 then
else
return
end
end
end
end
end
dazu habe ich von einen user denn tipp bekommen
:Füg diese Funktion in der questlib.lua hinzu und in die quest_functions schreibste select3
function select3(...)
arg.n = nil
local tp,max = arg,5
if type(tp[1]) == 'number' then
max = tp[1]
if type(tp[2]) == 'table' then
tp = tp[2]
else
table.remove(tp,1)
end
elseif type(tp[1]) == 'table' then
tp = tp[1]
end
local str = '{'
local tablen,act,incit = table.getn(tp),0,0
table.foreach(tp,function(i,l)
act = act + 1
if act == 1 then
str = str .. '{'..string.format('%q',l)
elseif act == max+1 and tablen > act+incit then
if tablen ~= act+incit+1 then
str = str..'},{'..string.format('%q',l)
else
str=str..','..string.format('%q',l)
end
incit = incit + max
act = 1
else
str=str..','..string.format('%q',l)
end
end)
local px = loadstring('return '..str ..'}}')()
local function copy_tab(t) local p= {} for i = 1,table.getn(t) do p[i] = t[i] end return p end
local pe = {}
for i = 1,table.getn(px) do pe [i] = copy_tab(px[i]) end
local function init(i,ip)
pe[i] = copy_tab(px[i])
local next,back,exit = 0,0,0
if i < table.getn(pe) and table.getn(pe) ~=1 then table.insert(pe[i],table.getn(pe[i])+1,'Weiter zu Seite '..(i+1)); next = table.getn(pe[i]) end
if i > 1 then table.insert(pe[i],table.getn(pe[i])+1,'Zurück zu Seite '..(i-1)); back = table.getn(pe[i]) end
table.insert(pe[i],table.getn(pe[i])+1,'Schließen'); exit = table.getn(pe[i])
if table.getn(pe) > 1 then
say('Seite '..i..' von '..table.getn(pe))
end
local e = select_table(pe[i])
if e == next then return init(i+1,ip+max)
elseif e == back then return init(i-1,ip-max)
elseif e == exit then return -1
else return e+ip,pe[i][e] end
end
return init(1,0) or -1
end
quest tausch begin
state start begin
when 9010.chat."Eintauschen" begin
say_title("Eintauschen")
say("Hallo lieber user von GreenLight2!")
say("Ich bin ein Händler,")
say("Ich brauche Perlen für meine Oma")
say("Gegen ein paar Perlen kann ich dir Wertvolles EQ anbieten")
say("Falls du etwas hast bitte ich dich darum es bei")
say("mir einzutauschen und das wenn möglich zügig...")
say("Viele meiner Freunde behaupten ich sei ein Spinner,")
say("weil ich mich mit Perlen")
say("beschäftige aber ein wahrer Mann steht zu seinen")
say("vorlieben. Wenn du nun was eintschauen möchtest....,")
wait()
say("Ich habe noch ein paar Dinge zu erledigen")
say("deswegen Entscheide dich bitte schnell.")
say("Du kannst desöfteren zu mir um deine Sachen")
say("einzutauschen denn das würde mich sehr freuen,")
say("da ich ein sehr erfreuter Perlen Händler bin.")
say("")
say("")
say("")
say("")
wait()
say("Also was möchtest du tauschen für 5 Weiße Perlen?")
obj_item = 27992
items = { 479, 1349, 2379, 5349, 469, 12019, 12029, 12039, 12049, 11971, 11972, 11973, 11974, 12289, 12549, 11973, 12689, 13069, 13089, 13109, 13129, 17209, 16209, 14209, 15379, 15399, 15419, 15439 }
namen = {}
for i=1, table.getn(items), 1 do
table.insert(namen, item_name(items[i]))
end
s = select3(namen)
if s<1 then return end
if pc.count_item(obj_item) >= 5 then
pc.remove_item(obj_item, 5)
pc.give_item2(items[s], 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward(namen[s])
else
return
end
end
end
end
alle schon und gut gemacht aber der fehler ist trotzdem noch da helft mir bitte