DLmass Posted August 6, 2013 Share Posted August 6, 2013 Hey, I'm currently making myself an nice login system that uses mysql. But I currently ran into some problems that I can't solve.. addEvent("onRegister",true) addEvent("onLogin",true) function resourceStart () handler = dbConnect("mysql","dbname=mta;host=localhost","root","1234567890") if handler then outputServerLog("(Account-System) Connected to the handler server successfully!") else outputServerLog("(Account-System) Connection to the handler server could not be established!") end end addEventHandler("onResourceStart",getResourceRootElement(),resourceStart) function playerJoin() setPlayerMuted(source, true) end addEventHandler ( "onPlayerJoin", getRootElement(), playerJoin ) function onRegister ( Username , Password ) local sql = dbQuery(handler,"SELECT * FROM PlayerInfo WHERE Username = '"..Username.."'") local result,num_rows = dbPoll(sql, -1) if num_rows == 0 then local encryptedPassword = md5(Password) dbExec(handler,"INSERT INTO PlayerInfo (Username, Password) VALUES ( '"..Username.."','"..encryptedPassword.."')") outputChatBox("You have registered successfully!",source,125,0,0) else outputChatBox("You are already registrered!",source,125,0,0) end end addEventHandler("onRegister",getRootElement(),onRegister) function onLogin ( Username , Password ) local encryptedPassword = md5(Password) local sql = dbQuery(handler,"SELECT * FROM PlayerInfo WHERE Username = '"..Username.."' AND Password = '"..encryptedPassword.."'") local result,num_rows = dbPoll(sql, -1) if num_rows == 1 then outputChatBox("You have successfully logged in!",source,125,0,0) triggerClientEvent(source,"closeLogin",source) spawnPlayer ( source, 0.0, 0.0, 5.0, 90.0, 0 ) setPlayerMuted(source, false) fadeCamera (source, true) setCameraTarget (source, source) else outputChatBox("Your Password or Username is wrong!",source,125,0,0) end end addEventHandler("onLogin",getRootElement(),onLogin) function saveAccount () -- Save in the handler local x,y,z = getElementPosition( source ) local i = getElementInterior( source ) local d = getElementDimension( source ) local skin = getPedSkin ( source ) local money = getPlayerMoney ( source ) local health = getElementHealth ( source ) local armor = getPedArmor ( source ) local sql = dbQuery(handler,"SELECT * FROM `PlayerInfo` WHERE `Username` = '"..Username.."'") if(mysql_num_rows(sql) == 0) then dbQuery( handler, "INSERT INTO PlayerInfo ( `Username` , x, y, z, interior, dimension, skin, money, health, armor, wanted ) VALUES ( '"..Username.."', " .. x .. ", " .. y .. ", " .. z .. "," .. i .. ", " .. d .. "," .. skin .. "," .. money .. ", ".. health ..", ".. armor .." )" ) else res = dbQuery ( handler, "UPDATE `Username` SET x = ".. x ..", y = ".. y ..", z = ".. z ..", interior = ".. i ..", dimension = ".. d ..", skin = ".. skin ..", money = ".. money ..", health = ".. health ..", armor = ".. armor ..", wanted WHERE `serial` = '"..Username.."'") end end addEventHandler ( "onPlayerQuit", getRootElement(), saveAccount ) function loadAccount () -- Load from the handler local result = dbQuery(handler,"SELECT * FROM `PlayerInfo` WHERE `Username` = '"..Username.."'") if result then while true do local row = mysql_fetch_assoc(result) if not row then break end setElementPosition ( source, row.x, row.y, row.z) setElementInterior ( source, row.interior ) setElementDimension ( source, row.dimension ) setPedSkin ( source, row.skin ) setPlayerMoney ( source, row.money ) setElementHealth ( source, row.health) setPedArmor ( source, row.armor ) break end end end addEventHandler ( "onLogin", getRootElement(), loadAccount ) [00:29:38] ERROR: Account-System\server.lua:67: attempt to concatenate global 'U sername' (a nil value) Well, I've tried everything.. I'd like to get some help on my way.. Link to comment
xXMADEXx Posted August 6, 2013 Share Posted August 6, 2013 Its because "Username" isn't defined in "loadAccount." Link to comment
dugasz1 Posted August 6, 2013 Share Posted August 6, 2013 local result = dbPoll(dbQuery(connect, "SELECT * FROM PlayerInfo WHERE Username = '"..Username.."';"),-1) I think its will working EDIT: What? Your post gone? Link to comment
DLmass Posted August 6, 2013 Author Share Posted August 6, 2013 addEvent("onRegister",true) addEvent("onLogin",true) function resourceStart () handler = dbConnect("mysql","dbname=mta;host=localhost","root","1234567890") if handler then outputServerLog("(Username-System) Connected to the database server successfully!") else outputServerLog("(Username-System) Connection to the database server could not be established!") end end addEventHandler("onResourceStart",getResourceRootElement(),resourceStart) function playerJoin() setPlayerMuted(source, true) end addEventHandler ( "onPlayerJoin", getRootElement(), playerJoin ) function onRegister ( Username , Password ) local sql = dbQuery(handler,"SELECT * FROM PlayerInfo WHERE Username = '"..Username.."'") local result,num_rows = dbPoll(sql, -1) if num_rows == 0 then local encryptedPassword = md5(Password) dbExec(handler,"INSERT INTO PlayerInfo (Username, Password) VALUES ( '"..Username.."','"..encryptedPassword.."')") outputChatBox("You have registered successfully!",source,125,0,0) else outputChatBox("You are already registrered!",source,125,0,0) end end addEventHandler("onRegister",getRootElement(),onRegister) function onLogin ( Username , Password ) local encryptedPassword = md5(Password) local sql = dbQuery(handler,"SELECT * FROM PlayerInfo WHERE Username = '"..Username.."' AND Password = '"..encryptedPassword.."'") local result,num_rows = dbPoll(sql, -1) if num_rows == 1 then outputChatBox("You have successfully logged in!",source,125,0,0) triggerClientEvent(source,"closeLogin",source) spawnPlayer ( source, 0.0, 0.0, 5.0, 90.0, 0 ) setPlayerMuted(source, false) fadeCamera (source, true) setCameraTarget (source, source) else outputChatBox("Your Password or Username is wrong!",source,125,0,0) end end addEventHandler("onLogin",getRootElement(),onLogin) function saveUsernames ( Username ) -- Save in the handler local x,y,z = getElementPosition( source ) local i = getElementInterior( source ) local d = getElementDimension( source ) local skin = getPedSkin ( source ) local money = getPlayerMoney ( source ) local health = getElementHealth ( source ) local armor = getPedArmor ( source ) local wanted = getPlayerWantedLevel ( source ) local q = dbQuery(handler,"SELECT * FROM `PlayerInfo` WHERE `Username` = '"..Username.."'") if(mysql_num_rows(q) == 0) then dbQuery( handler, "INSERT INTO PlayerInto ( `Username` , x, y, z, interior, dimension, skin, money, health, armor ) VALUES ( '"..Username.."', " .. x .. ", " .. y .. ", " .. z .. "," .. i .. ", " .. d .. "," .. skin .. "," .. money .. ", ".. health ..", ".. armor .." )" ) else res = dbQuery ( handler, "UPDATE `Username` SET x = ".. x ..", y = ".. y ..", z = ".. z ..", interior = ".. i ..", dimension = ".. d ..", skin = ".. skin ..", money = ".. money ..", health = ".. health ..", armor = ".. armor .." WHERE `Username` = '"..Username.."'") end end function loadUsernames ( Username ) -- Loading from the handler local result = dbPoll(dbQuery(handler, "SELECT * FROM PlayerInfo WHERE Username = '"..Username.."';"),-1) if result then while true do local row = mysql_fetch_assoc(result) if not row then break end setElementPosition ( source, row.x, row.y, row.z) setElementInterior ( source, row.interior ) setElementDimension ( source, row.dimension ) setPedSkin ( source, row.skin ) setPlayerMoney ( source, row.money ) setElementHealth ( source, row.health) setPedArmor ( source, row.armor ) break end end end addEventHandler ( "onLogin", getRootElement(), loadUsernames ) addEventHandler ( "onPlayerQuit", getRootElement(), saveUsernames ) I get this error [01:56:11] ERROR: Account-System\server.lua:70: bad argument #1 to 'mysql_fetch_assoc' (mysqlResult expected, got table) Link to comment
DLmass Posted August 7, 2013 Author Share Posted August 7, 2013 I've tried several things, but nothing helps. Will someone solve this for me? Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now