|
You last visited: Today at 07:53
Advertisement
LUA Error Handelscenter
Discussion on LUA Error Handelscenter within the Metin2 Private Server forum part of the Metin2 category.
05/06/2016, 09:16
|
#1
|
elite*gold: 0
Join Date: Mar 2010
Posts: 56
Received Thanks: 1
|
LUA Error Handelscenter
Heyyo,
habe vor kurzem das Handelscenter von Kilroy eingefügt. Öffnet sich alles und passt auch, aber wenn ich ein Item hinzufügen will bei "Add Item", zeigt er mir folgenden LUA Error an:
Welche Function fehlt mir in der questlib.lua? Oder wie kann ich das beheben?
|
|
|
05/06/2016, 10:37
|
#2
|
elite*gold: 0
Join Date: Apr 2015
Posts: 428
Received Thanks: 361
|
Zeig uns mal bitte den Ausschnitt des angegebenen Fehlers.
|
|
|
05/06/2016, 10:47
|
#3
|
elite*gold: 0
Join Date: Mar 2010
Posts: 56
Received Thanks: 1
|
Klicke oben auf "Add Item" füg ich zb das Schwert ein, dann klick ich auf "Put In", dann kommt der LUA Fehler wie oben. Liegts evtl. an der Quest?
PHP Code:
quest y04iL98R80tK begin
state start begin
when login begin
cmdchat("Handelscenter index/"..q.getcurrentquestindex())
end
when loopi.timer begin -- debug cause items over 1000
if table.getn(HANDELSCENTER[pc.get_player_id()][1])>HANDELSCENTER[pc.get_player_id()][2] then
local q, i = HANDELSCENTER[pc.get_player_id()][1], HANDELSCENTER[pc.get_player_id()][2]
cmdchat("Handelscenter itemvonliste/ITEMS/"..q.id[i].."/"..q.vnum[i].."/"..q.count[i].."/"..q.preis[i].."/"..q.name[i].."/"..q.attrtype0[i].."/"..q.attrvalue0[i].."/"..q.attrtype1[i].."/"..q.attrvalue1[i].."/"..q.attrtype2[i].."/"..q.attrvalue2[i].."/"..q.attrtype3[i].."/"..q.attrvalue3[i].."/"..q.attrtype4[i].."/"..q.attrvalue4[i].."/"..q.attrtype5[i].."/"..q.attrvalue5[i].."/"..q.attrtype6[i].."/"..q.attrvalue6[i].."/"..q.socket0[i].."/"..q.socket1[i].."/"..q.socket2[i].."/"..q.socket3[i].."/"..q.socket4[i].."/"..q.socket5[i].."/"..table.getn(q.id).."/"..i)
HANDELSCENTER[pc.get_player_id()][2] = HANDELSCENTER[pc.get_player_id()][2] + 1
else
cleartimer("loopi")
cmdchat("Handelscenter finishsending/")
end
end
when button or info begin
cleartimer("loopi")
cmdchat("getinputbegin")
local INPUT = split(input(cmdchat("Handelscenter input/")), "/")
cmdchat("getinputend")
local MAX_INVENTAR_YANG = 1999999999
if INPUT[1]=="open" then
cmdchat("Handelscenter yangingui/"..mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
local q = mysql_query("SELECT * FROM player.handelscenter where not owner_id = '"..pc.get_player_id().."' order by date DESC LIMIT 10;")
if q.id==nil then syschat("Es gibt keine Items zu kaufen.") cmdchat("Handelscenter noitems/ITEMS") return end
for i=1, table.getn(q.id), 1 do
cmdchat("Handelscenter itemvonliste/ITEMS/"..q.id[i].."/"..q.vnum[i].."/"..q.count[i].."/"..q.preis[i].."/"..q.name[i].."/"..q.attrtype0[i].."/"..q.attrvalue0[i].."/"..q.attrtype1[i].."/"..q.attrvalue1[i].."/"..q.attrtype2[i].."/"..q.attrvalue2[i].."/"..q.attrtype3[i].."/"..q.attrvalue3[i].."/"..q.attrtype4[i].."/"..q.attrvalue4[i].."/"..q.attrtype5[i].."/"..q.attrvalue5[i].."/"..q.attrtype6[i].."/"..q.attrvalue6[i].."/"..q.socket0[i].."/"..q.socket1[i].."/"..q.socket2[i].."/"..q.socket3[i].."/"..q.socket4[i].."/"..q.socket5[i].."/"..table.getn(q.id).."/"..i)
end
cmdchat("Handelscenter finishsending/")
elseif INPUT[1]=="logs" then
local q = mysql_query("SELECT * FROM player.handelscenter_logs where owner_id = '"..pc.get_player_id().."' order by date DESC LIMIT 20;")
if q.owner_id==nil then syschat("Gibt keine Logs") cmdchat("Handelscenter nologs/") return end
for i=1, table.getn(q.owner_id), 1 do
if q.owner[i]==pc.get_name() then
q.owner[i] = "dir"
end
if q.buyer[i]==pc.get_name() then
q.buyer[i] = "Du"
end
text = string.gsub(os.date("[%d.%m.%Y %H:%M:%S]", tonumber(q.date[i])), "%s", "$")
cmdchat("Handelscenter logs/"..q.owner[i].."/"..q.vnum[i].."/"..q.count[i].."/"..q.preis[i].."/"..q.buyer[i].."/"..text)
end
cmdchat("Handelscenter finishlogs/")
elseif INPUT[1]=="kategorie" then
local typetable = {
["Schwerter"] = {1, 0},
["Zweihänder"] = {1, 3},
["Dolche"] = {1, 1},
["Bögen"] = {1, 2},
["Glocke"] = {1, 4},
["Fächer"] = {1, 5},
["Rüstungen"] = {2, 0},
["Helme"] = {2, 1},
["Schilder"] = {2, 2},
["Armbänder"] = {2, 3},
["Schuhe"] = {2, 4},
["Halsketten"] = {2, 5},
["Ohrringe"] = {2, 6},
["Kostüme"] = {28, 0},
["Frisuren"] = {28, 1},
["Gürtel"] = {34, 0},
["Steine"] = {10, 0}
}
if typetable[INPUT[2]] then
local q = mysql_query("SELECT * FROM player.handelscenter where not owner_id = '"..pc.get_player_id().."' and type='"..typetable[INPUT[2]][1].."' and subtype='"..typetable[INPUT[2]][2].."';")
if q.id==nil then syschat("Es gibt keine Items zu kaufen.") cmdchat("Handelscenter noitems/ITEMS") return end
HANDELSCENTER[pc.get_player_id()] = {q, 1}
cleartimer("loopi")
loop_timer("loopi", 0.03)
else
local q = mysql_query("SELECT * FROM player.handelscenter where not owner_id = '"..pc.get_player_id().."' and (type not in (1,2,28,10,34) or subtype not in (0,1,2,3,4,5,6));")
if q.id==nil then syschat("Es gibt keine Items zu kaufen.") cmdchat("Handelscenter noitems/ITEMS") return end
HANDELSCENTER[pc.get_player_id()] = {q, 1}
cleartimer("loopi")
loop_timer("loopi", 0.03)
end
elseif INPUT[1]=="change_button" then
if INPUT[2]=="OWN_ITEMS" then
cmdchat("Handelscenter yangingui/"..mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
local q = mysql_query("SELECT * FROM player.handelscenter WHERE owner_id='"..pc.get_player_id().."' LIMIT 20;")
if q.id==nil then syschat("Es gibt keine Items zu kaufen.") cmdchat("Handelscenter noitems/OWN_ITEMS") return end
for i=1, table.getn(q.id), 1 do
cmdchat("Handelscenter itemvonliste/OWN_ITEMS/"..q.id[i].."/"..q.vnum[i].."/"..q.count[i].."/"..q.preis[i].."/"..q.name[i].."/"..q.attrtype0[i].."/"..q.attrvalue0[i].."/"..q.attrtype1[i].."/"..q.attrvalue1[i].."/"..q.attrtype2[i].."/"..q.attrvalue2[i].."/"..q.attrtype3[i].."/"..q.attrvalue3[i].."/"..q.attrtype4[i].."/"..q.attrvalue4[i].."/"..q.attrtype5[i].."/"..q.attrvalue5[i].."/"..q.attrtype6[i].."/"..q.attrvalue6[i].."/"..q.socket0[i].."/"..q.socket1[i].."/"..q.socket2[i].."/"..q.socket3[i].."/"..q.socket4[i].."/"..q.socket5[i].."/"..table.getn(q.id).."/"..i)
end
cmdchat("Handelscenter finishsending/")
elseif INPUT[2]=="ITEMS" then
cmdchat("Handelscenter yangingui/"..mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1000;").handelsyang[1])
local q = mysql_query("SELECT * FROM player.handelscenter where not owner_id = '"..pc.get_player_id().."';")
if q.id==nil then syschat("Es gibt keine Items zu kaufen.") cmdchat("Handelscenter noitems/ITEMS") return end
for i=1, table.getn(q.id), 1 do
cmdchat("Handelscenter itemvonliste/ITEMS/"..q.id[i].."/"..q.vnum[i].."/"..q.count[i].."/"..q.preis[i].."/"..q.name[i].."/"..q.attrtype0[i].."/"..q.attrvalue0[i].."/"..q.attrtype1[i].."/"..q.attrvalue1[i].."/"..q.attrtype2[i].."/"..q.attrvalue2[i].."/"..q.attrtype3[i].."/"..q.attrvalue3[i].."/"..q.attrtype4[i].."/"..q.attrvalue4[i].."/"..q.attrtype5[i].."/"..q.attrvalue5[i].."/"..q.attrtype6[i].."/"..q.attrvalue6[i].."/"..q.socket0[i].."/"..q.socket1[i].."/"..q.socket2[i].."/"..q.socket3[i].."/"..q.socket4[i].."/"..q.socket5[i].."/"..table.getn(q.id).."/"..i)
end
cmdchat("Handelscenter finishsending/")
end
elseif INPUT[1]=="buyrem_button" then
if INPUT[2]=="OWN_ITEMS" then
local q = mysql_query("SELECT * FROM player.handelscenter WHERE id = '"..INPUT[3].."' LIMIT 1;")
if q.vnum==nil then syschat("Das Item wurde wohl schon gekauft!") cmdchat("Handelscenter remove/OWN_ITEMS/"..INPUT[4]) return end
cmdchat("Handelscenter yangingui/"..mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
cmdchat("Handelscenter remove/OWN_ITEMS/"..INPUT[4])
y04iL98R80tK.give_item_from_center(q)
elseif INPUT[2]=="ITEMS" then
local q = mysql_query("SELECT * FROM player.handelscenter WHERE id = '"..INPUT[3].."' LIMIT 1;")
if q.vnum==nil then syschat("Das Item wurde wohl schon gekauft!") cmdchat("Handelscenter remove/ITEMS/"..INPUT[4]) return end
if tonumber(q.preis[1])>tonumber(mysql_query("SELECT handelsyang FROM player.player WHERE id = '"..pc.get_player_id().."';").handelsyang[1]) then syschat("No enough money") return end
mysql_query("UPDATE player.player SET handelsyang = handelsyang + '"..q.preis[1].."' WHERE id = '"..q.owner_id[1].."';")
mysql_query("UPDATE player.player SET handelsyang = handelsyang - '"..q.preis[1].."' WHERE id = '"..pc.get_player_id().."';")
mysql_query("INSERT INTO player.handelscenter_logs (owner_id, buyer_id, owner, buyer, preis,count,vnum,date) VALUES ('"..pc.get_player_id().."', '"..q.owner_id[1].."', '"..q.name[1].."', '"..pc.get_name().."', '"..q.preis[1].."', '"..q.count[1].."', '"..q.vnum[1].."', '"..get_time().."')")
mysql_query("INSERT INTO player.handelscenter_logs (owner_id, buyer_id, owner, buyer, preis,count,vnum,date) VALUES ('"..q.owner_id[1].."', '"..pc.get_player_id().."', '"..q.name[1].."', '"..pc.get_name().."', '"..q.preis[1].."', '"..q.count[1].."', '"..q.vnum[1].."', '"..get_time().."')")
y04iL98R80tK.give_item_from_center(q)
cmdchat("Handelscenter remove/ITEMS/"..INPUT[4])
cmdchat("Handelscenter yangingui/"..mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
end
elseif INPUT[1]=="yangabheben" then
local inp = tonumber(INPUT[2])
if inp==nil or inp<1 then return end
if inp+pc.get_money()>MAX_INVENTAR_YANG then syschat("So viel kannste nicht im Inventar haben!") return end
if inp>tonumber(mysql_query("SELECT handelsyang FROM player.player WHERE id = '"..pc.get_player_id().."';").handelsyang[1]) then syschat("Nicht so viel Geld im Handelscenter") return end
pc.change_money(inp)
mysql_query("UPDATE player.player SET handelsyang = handelsyang - '"..inp.."' WHERE id = '"..pc.get_player_id().."';")
cmdchat("Handelscenter yangingui/"..mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
elseif INPUT[1]=="yangabgeben" then
local inp = tonumber(INPUT[2])
if inp==nil or inp<1 then return end
if inp>pc.get_money() then syschat("So viel Yang haste nicht im Inventar!") return end
if inp+tonumber(mysql_query("SELECT handelsyang FROM player.player WHERE id = '"..pc.get_player_id().."';").handelsyang[1])>99999999999999 then syschat("Zu viel Yang im Handelscenter!") return end
pc.change_money(-inp)
mysql_query("UPDATE player.player SET handelsyang = handelsyang + '"..inp.."' WHERE id = '"..pc.get_player_id().."';")
cmdchat("Handelscenter yangingui/"..mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
elseif INPUT[1]=="additem" then
if item.select_cell(tonumber(INPUT[2])) then -- Abfrage ob Item vorhanden
if item.get_vnum()!=tonumber(INPUT[3]) then
syschat("Ein Fehler ist aufgetreten!")
else
if tonumber(mysql_query("SELECT count(*) FROM player.handelscenter WHERE owner_id = '"..pc.get_player_id().."';"))>20 then
syschat("Du kannst nicht mehr als 20 Items ins Handelscenter legen!")
else
local sockets = { item.get_socket(0), item.get_socket(1), item.get_socket(2), item.get_socket(3), item.get_socket(4), item.get_socket(5) }
local boni = {{item.get_attr(0)}, {item.get_attr(1)}, {item.get_attr(2)}, {item.get_attr(3)}, {item.get_attr(4)}, {item.get_attr(5)}, {item.get_attr(6)}}
mysql_query("INSERT INTO player.handelscenter (owner_id,name,preis,count,vnum,socket0,socket1,socket2,socket3,socket4,socket5,attrtype0,attrvalue0,attrtype1,attrvalue1,attrtype2,attrvalue2,attrtype3,attrvalue3,attrtype4,attrvalue4,attrtype5,attrvalue5,attrtype6,attrvalue6,type,subtype, date) VALUES ("..(pc.get_player_id())..",'"..(pc.get_name()).."',"..((tonumber(INPUT[4])))..", "..(item.get_count())..","..(item.get_vnum())..", "..(item.get_socket(0))..", "..(item.get_socket(1))..", "..(item.get_socket(2))..", "..(item.get_socket(3))..", "..(item.get_socket(4))..", "..(item.get_socket(5))..","..(boni[1][1])..","..(boni[1][2])..","..(boni[2][1])..","..(boni[2][2])..","..(boni[3][1])..","..(boni[3][2])..","..(boni[4][1])..","..(boni[4][2])..","..(boni[5][1])..","..(boni[5][2])..","..(boni[6][1])..","..(boni[6][2])..","..(boni[7][1])..","..(boni[7][2])..", '"..item.get_type().."', '"..item.get_sub_type().."', '"..get_time().."')")
item.remove()
syschat("Das Item wurde erfolgreich ins Handelscenter gestellt!")
end
end
else
syschat("Thats not okay!")
end
end
end
function NumberToMoneyString(money)
local sourceText = tostring(money)
while true do
sourceText, k = string.gsub(sourceText, "^(-?%d+)(%d%d%d)", "%1.%2")
if (k==0) then
break
end
end
return sourceText
end
function give_item_from_center(cen)
mysql_query("DELETE FROM player.handelscenter WHERE id = "..(cen.id[1])..";")
pc.give_item2_select(cen.vnum[1], cen.count[1])
item.set_value(0, cen.attrtype0[1], cen.attrvalue0[1])
item.set_value(1, cen.attrtype1[1], cen.attrvalue1[1])
item.set_value(2, cen.attrtype2[1], cen.attrvalue2[1])
item.set_value(3, cen.attrtype3[1], cen.attrvalue3[1])
item.set_value(4, cen.attrtype4[1], cen.attrvalue4[1])
item.set_value(5, cen.attrtype5[1], cen.attrvalue5[1])
item.set_value(6, cen.attrtype6[1], cen.attrvalue6[1])
item.set_socket(0, cen.socket0[1])
item.set_socket(1, cen.socket1[1])
item.set_socket(2, cen.socket2[1])
item.set_socket(3, cen.socket3[1])
item.set_socket(4, cen.socket4[1])
item.set_socket(5, cen.socket5[1])
end
end
end
Das hier ist in der questlib miteingefügt
|
|
|
05/13/2016, 15:39
|
#4
|
elite*gold: 0
Join Date: Mar 2010
Posts: 56
Received Thanks: 1
|
#push
|
|
|
05/14/2016, 00:56
|
#5
|
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
|
du sollst aus der compilten quest zeile 119 herzeigen mit der vollständigen normalen quest kann dir niemand helfen den die kann man sich auch aus kilroys thread holen....
|
|
|
05/17/2016, 09:29
|
#6
|
elite*gold: 0
Join Date: Mar 2010
Posts: 56
Received Thanks: 1
|
PHP Code:
cmdchat("Handelscenter yangingui/"..mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
Das ist die Zeile 119 der compilten Quest.
|
|
|
05/19/2016, 09:16
|
#7
|
elite*gold: 0
Join Date: Mar 2010
Posts: 56
Received Thanks: 1
|
#push
|
|
|
05/21/2016, 09:24
|
#8
|
elite*gold: 0
Join Date: Mar 2010
Posts: 56
Received Thanks: 1
|
#push it
|
|
|
05/23/2016, 11:55
|
#9
|
elite*gold: 0
Join Date: Jul 2010
Posts: 150
Received Thanks: 11
|
kann es evtl sein, dass die mysql query keinen char bekommt bzw du keine items hast?
im bild steht ja attempt to compare number with nil
das könnte bedeuten, dass die db keinen char hat oder das "..pc.get_player_id().." nicht funktioniert. allerdings habe ich keine ahnung von m2 funktionen.
|
|
|
05/25/2016, 13:01
|
#10
|
elite*gold: 0
Join Date: Dec 2014
Posts: 1,018
Received Thanks: 499
|
query stimmt nicht überein oder mysql vers is falsch
|
|
|
 |
Similar Threads
|
Handelscenter Item PutIn Fehler
03/11/2016 - Metin2 Private Server - 6 Replies
Hey,
ich habe das Handelscenter von Kilroy. eingebaut - so funktioniert eig. alles
Also yang abheben und einzahlen klappt...
Jedoch funktioniert das Item hinzufügen nicht.
Hab das System 1-1 wie im TuT eingebaut.
http://www.bilder-upload.eu/upload/08b4ac-1456854 349.jpg
Kennt jemand den Fehler bzw. kann man was daraus herausfinden?
|
Handelscenter
10/16/2015 - Metin2 Private Server - 0 Replies
Guten Tag epvp,
wollte den alten Handelscenter von mein alten Client, jedoch hab ich nen Syserr Fehler Clientside:
uiauktionshaus.py(line:238) __LoadScript
ui.py(line:2740) GetChild
test.__LoadScript.BindObject - exceptions.KeyError:SB_ItemTypeCB
1016 15:48:17427 :: ================================================== ================================================== ========
|
Handelscenter, just a little problem :x
07/01/2015 - Metin2 Private Server - 8 Replies
Hey,
und zwar folgeneds, das Handelscenter von Kilroy. gibt mir beim "Charakternamen" der Person eine "0" aus:
http://i.imgur.com/JseYvg6.png
In der DB steht der Name richtig in der handelscenter Tabelle.
Und es ist ein 'String' also warum kommt diese 0 :(?
|
Fail Mit Handelscenter !!!!!
06/30/2015 - Metin2 Private Server - 1 Replies
Hi Leute kurtz und kompakt habe grad nur mal das handelscenter eingefügt klappt alles aber immer wenn ich es öffnen will geht es auf zu auf zu als weiter und im chat erscheint die meldung es gibt keine items zu kaufen warum passiert das help me
SYSERR: Jun 30 15:03:19 :: RunState: LUA_ERROR: locale/germany/quest/object/state/awJc14F2MbeR:2: attempt to index local `list' (a nil value)
SYSERR: Jun 30 15:03:19 :: WriteRunningStateToSyserr: LUA_ERROR: quest awJc14F2MbeR.start click
SYSERR:...
|
[Problem]Handelscenter
03/25/2015 - Metin2 Private Server - 0 Replies
Guten Tag
Ich habe ein Problem mit dem Handelscenter.
uiauktionshaus.py(line:242) __LoadScript
ui.py(line:2715) GetChild
test.__LoadScript.BindObject - <type 'exceptions.KeyError'>:'SB_ItemTypeCB'
|
All times are GMT +1. The time now is 07:53.
|
|