Sehr geehrte Community,
ich habe hier so ein kleinen Fehler:
Code
[2012-09-18 20:06:44] ERROR: [gamemodes]/[race]/race/sas/settings.lua:79: attempt to call global 'mysql_connect' (a nil value)
Hier ist die settings.lua:
Lua
local settings = {}
local new = {}
local msql = {}
local sql = {}
race_meta = { __index = new }
setmetatable(sql,race_meta)
function settings.register(player,name,passwort)
local test = mysql_query(sql.connection,"SELECT * FROM userdata WHERE Spieler = '"..name.."';")
if mysql_num_rows(test) > 0 then
outputChatBox("#FF0000[FEHLER]: #FFFFFFSpieler ist bereits registriert!",player,255,255,255,true)
triggerClientEvent(player,"showLogin",root)
else
local elementdata = {}
setmetatable(elementdata,race_meta)
local elementdatageld = 0
local elementdatazeit = 0
local elementdatawins = 0
local elementdatatts = 0
local elementdatadrovemaps = 0
local query = mysql_query(sql.connection,"INSERT INTO userdata (Spieler,Passwort,Spielzeit,Geld,Won_Maps,Drove_Maps,TT) VALUES('"..name.."','"..md5(passwort).."','"..elementdatazeit.."', '"..elementdatageld.."', '"..elementdatawins.."', '"..elementdatadrovemaps.."', '"..elementdatatts.."');")
if query then
outputChatBox("#0087FF[Registration]: #00FFE6Spieler: "..name.." | "..passwort.."", player, 255, 255, 255, true)
setElementData(player,"Money",elementdatageld)
setElementData(player,"Won Maps",elementdatawins)
setElementData(player,"Top Times",elementdatatts)
setElementData(player,"maps",elementdatadrovemaps)
setElementData(player,"name",name)
setElementData(player,"loggedin",true)
triggerClientEvent(player,"setLoginState",root)
else
triggerClientEvent(player,"showLogin",root)
end
mysql_free_result(query)
end
mysql_free_result(test)
end
addEvent("onPlayerRegister",true)
addEventHandler("onPlayerRegister",root,settings.register)
function settingslogin(player,name,passwort)
local query = mysql_query(sql.connection,"SELECT * FROM userdata WHERE Spieler = '"..name.."' AND Passwort = '"..md5(passwort).."';")
if query and mysql_num_rows(query) > 0 then
local row = mysql_fetch_assoc(query)
setElementData(player,"Money",tonumber(row["Geld"]))
setElementData(player,"Won Maps",tonumber(row["Won_Maps"]))
setElementData(player,"Top Times",tonumber(row["TT"]))
setElementData(player,"maps",tonumber(row["Drove_Maps"]))
setElementData(player,"name",name)
setElementData(player,"loggedin",true)
triggerClientEvent(player,"setLoginState",root)
outputChatBox("#FFFFFFSuccessfully Loggedin as "..name.."",player,255,255,255,true)
outputChatBox("#0055FF[LOGIN]: #FFFFFF"..getPlayerName(player).." hat sich erfolgreich eingeloggt!",root,255,255,255,true)
outputChatBox("#0055FF[PLAYER]: #FFFFFF"..#getElementsByType("player").."/"..getMaxPlayers().." Spieler sind gerade Online!",player,255,255,255,true)
else
triggerClientEvent(player,"showLogin",root)
outputChatBox("#FF0000[FEHLER]: #FFFFFFFalscher Name oder falsches Passwort!",player,255,255,255,true)
end
end
addEvent("onPlayerRaceLogin",true)
addEventHandler("onPlayerRaceLogin",root,settingslogin)
local main = {}
main.settings = {
host = "localhost",
dbName = "ni90279_3_DB",
username = "ni90279_3_DB",
password = "*NICHT ANGEZEIGT*",
port = 3306
}
function msql.connection()
sql.connection = mysql_connect(main.settings.host,main.settings.username,main.settings.password,main.settings.dbName)
if not sql.connection then
outputDebugString("Mysql Server can't access to Database")
end
end
function msql.check()
if mysql_ping(sql.connection) == false then
mysql_close(sql.connection)
mysql.connection()
end
end
addEventHandler("onPlayerJoin",getRootElement(),msql.check)
msql.connection()
addEventHandler("onElementDataChange", getRootElement(), function(theData, oldData)
if getElementData(source,"loggedin") == true then
local data = getElementData(source,theData)
local name = getElementData(source,"name")
if theData == "Money" then
mysql_query(sql.connection,"UPDATE userdata SET Geld = '"..tonumber(data).."' WHERE Spieler = '"..name.."';")
elseif theData == "Won Maps" then
mysql_query(sql.connection,"UPDATE userdata SET Won_Maps = '"..tonumber(data).."' WHERE Spieler = '"..name.."';")
elseif theData == "Top Times" then
mysql_query(sql.connection,"UPDATE userdata SET TT = '"..tonumber(data).."' WHERE Spieler = '"..name.."';")
elseif theData == "maps" then
mysql_query(sql.connection,"UPDATE userdata SET Drove_Maps = '"..tonumber(data).."' WHERE Spieler = '"..name.."';")
end
end
end)
Alles anzeigen
Ich sehe dort keinen Fehler.. kann einer Helfen?