Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 07:53

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



LUA Error Handelscenter

Discussion on LUA Error Handelscenter within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old   #1
 
LyRockZz's Avatar
 
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?
LyRockZz is offline  
Old 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.
#Metho is offline  
Old 05/06/2016, 10:47   #3
 
LyRockZz's Avatar
 
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()][2then
                local q
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=1table.getn(q.id), 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=1table.getn(q.owner_id), 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"] = {10},
                                    [
"Zweihänder"] = {13},
                                    [
"Dolche"] = {11},
                                    [
"Bögen"] = {12},
                                    [
"Glocke"] = {14},
                                    [
"Fächer"] = {15},
                                    [
"Rüstungen"] = {20},
                                    [
"Helme"] = {21},
                                    [
"Schilder"] = {22},
                                    [
"Armbänder"] = {23},
                                    [
"Schuhe"] = {24},
                                    [
"Halsketten"] = {25},
                                    [
"Ohrringe"] = {26},
                                    [
"Kostüme"] = {280},
                                    [
"Frisuren"] = {281},
                                    [
"Gürtel"] = {340},
                                    [
"Steine"] = {100}
                                }
                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()] = {q1}
                    
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()] = {q1}
                    
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=1table.getn(q.id), 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=1table.getn(q.id), 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
                
sourceTextstring.gsub(sourceText"^(-?%d+)(%d%d%d)""%1.%2")
                if (
k==0then
                    
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(0cen.attrtype0[1], cen.attrvalue0[1])
            
item.set_value(1cen.attrtype1[1], cen.attrvalue1[1])
            
item.set_value(2cen.attrtype2[1], cen.attrvalue2[1])
            
item.set_value(3cen.attrtype3[1], cen.attrvalue3[1])
            
item.set_value(4cen.attrtype4[1], cen.attrvalue4[1])
            
item.set_value(5cen.attrtype5[1], cen.attrvalue5[1])
            
item.set_value(6cen.attrtype6[1], cen.attrvalue6[1])
            
item.set_socket(0cen.socket0[1])
            
item.set_socket(1cen.socket1[1])
            
item.set_socket(2cen.socket2[1])
            
item.set_socket(3cen.socket3[1])
            
item.set_socket(4cen.socket4[1])
            
item.set_socket(5cen.socket5[1])
        
end
    end
end 
Das hier ist in der questlib miteingefügt
Code:
HANDELSCENTER = {}
LyRockZz is offline  
Old 05/13/2016, 15:39   #4
 
LyRockZz's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 56
Received Thanks: 1
#push
LyRockZz is offline  
Old 05/14/2016, 00:56   #5
 
gerald500's Avatar
 
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....
gerald500 is offline  
Old 05/17/2016, 09:29   #6
 
LyRockZz's Avatar
 
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.
LyRockZz is offline  
Old 05/19/2016, 09:16   #7
 
LyRockZz's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 56
Received Thanks: 1
#push
LyRockZz is offline  
Old 05/21/2016, 09:24   #8
 
LyRockZz's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 56
Received Thanks: 1
#push it
LyRockZz is offline  
Old 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.
tobbe23 is offline  
Old 05/25/2016, 13:01   #10
 
BizepsSupportAccount's Avatar
 
elite*gold: 0
Join Date: Dec 2014
Posts: 1,018
Received Thanks: 499
query stimmt nicht überein oder mysql vers is falsch
BizepsSupportAccount is offline  
Reply

Tags
handelscenter, kilroy., lua_error


Similar Threads 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.


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.