Guten Tag,
und zwar geht es darum, dass ich mittels eines Methodenloaders unterschiedliche Methoden für ein automatisiertes Register/Login laden will:
local callback = loadstring("return Server:__Get('Lib'):__Get('R_Method'):get"..methodname.."('"..tostring(arg).."')")()
arg entspricht hierbei dem Argument, welches bei einem Methodenaufruf mitgeliefert wird und das ist in der Regel (ausgenommen Passwort) ein Element.
Hierbei besteht aber das Problem, dass ich kein Element mit einen String zusammentun kann und deshalb forme ich das Element (die userdata: value) in einen String um, und will ihn später via. getMetaTable wieder in eine MetaTable umformen:
function R_Method:getUsername ( element )
outputDebugString(tostring(element))
element = getmetatable(element)
outputDebugString(tostring(element))
if ( not isElement(element) ) then outputDebugString("Nein") return false end
return element:__Get("Username")
end
Aber in diesem Fall wird "Nein" ausgegeben, da das Element von getmetatable() die userdata: value nicht in die ursprüngliche Tabelle (Element) umformt.
Kennt ihr eventuelle Alternativen oder die Lösungen für dieses Problem, damit die R_Method Methoden wiederum einwandfrei funktionieren auf diese Art und Weise mit dem loadstring, da ich das ungerne mittels weiteren Tables und Zusatzdefinitionen machen möchte.
Diese Alternativen funktionieren auch nicht:
local callback = loadstring("return Server:__Get('Lib'):__Get('R_Method'):get"..methodname.."(arg)")()
local callback = loadstring("return Server:__Get('Lib'):__Get('R_Method'):get"..methodname.."('arg')")()
Mit freundlichen Grüßen
Ainen