Guten Tag,
Ich kann mich zwar Registrieren aber immer wenn ich neu joine muss ich mich wieder Registrieren und mein Account wird erneut angelegt hier die Codes:
Server Seitig:
Lua
function checkPlayerInDB()
local player = source
local pname = getPlayerName(player)
local sql = mysql_query(handler,"SELECT * FROM `spielerdaten` WHERE `Username` = '..pname..'")
if sql then
local run = mysql_num_rows(sql)
if run == 1 then
triggerClientEvent(player,"openLoginPanel",player)
elseif run == 0 then
triggerClientEvent(player,"showRegister",player)
end
else
outputServerLog("Mysql Error:"..mysql_errno(handler))
end
end
addEventHandler("onPlayerJoin",getRootElement(),checkPlayerInDB)
function register_func ( player,password)
local pw = md5(password)
local sql = mysql_query(handler,"INSERT INTO `spielerdaten`(`Username`, `Passwort`) VALUES ('"..getPlayerName(player).."','"..pw.."')")
if sql then
triggerClientEvent(player,"closeRegister",player)
spawnedenspieler(player,true)
else
outputServerLog("Mysql Error"..mysql_errno(handler))
end
mysql_free_result(sql)
end
addEvent("register",true)
addEventHandler("register",getRootElement(),register_func)
function login_func ( player, password)
local pw = md5(password)
local sql = mysql_query(handler,"SELECT * FROM `spielerdaten` WHERE `Username` = '"..getPlayerName(player).."' AND `Passwort` = '"..pw.."'")
if sql then
local run = mysql_num_rows(sql)
if run == 1 then
triggerClientEvent(player,"closeLogin",player)
spawnThePlayer(player,false)
else
outputChatBox("Dein Passwort ist falsch!",player,125,0,0)
end
else
outputServerLog("Mysql Error"..mysql_errno(handler))
end
mysql_free_result(sql)
end
addEvent("login",true)
addEventHandler("login",getRootElement(),login_func)
function saveData ( player )
local player = source
if getElementData(player,"isLoggedIn") == true then
local pname = getPlayerName(player)
setMysqlData(player,"Geld",getPlayerMoney(player))
setMysqlData(player,"Fraktion",getElementData(player,"Fraktion"))
setMysqlData(player,"Rang",getElementData(player,"Rang"))
setMysqlData(player,"Spielzeit",getElementData(player,"Playtime"))
setMysqlData(player,"Skinid",getElementData(player,"Skinid"))
outputDebugString("[Info] Daten fuer den Spieler "..pname.." wurden gespeichert!")
killTimer(_G["onlineTimer"..getPlayerName(player)])
end
end
addEventHandler("onPlayerQuit",getRootElement(),saveData)
function saveDataOnRestart ()
local players = getElementsByType("player")
for index,player in ipairs(players) do
if getElementData(player,"isLoggedIn") == true then
local pname = getPlayerName(player)
setMysqlData(player,"Geld",getPlayerMoney(player))
setMysqlData(player,"Fraktion",getElementData(player,"Fraktion"))
setMysqlData(player,"Rang",getElementData(player,"Rang"))
setMysqlData(player,"Spielzeit",getElementData(player,"Playtime"))
setMysqlData(player,"Skinid",getElementData(player,"Skinid"))
outputDebugString("[Info] Daten fuer den Spieler "..pname.." wurden gespeichert!")
killTimer(_G["onlineTimer"..getPlayerName(player)])
end
end
end
addEventHandler("onResourceStop",getRootElement(),saveDataOnRestart)
function spawnedenspieler( player )
spawnPlayer(player,0,0,0)
fadeCamera(player,true)
setCameraTarget(player,player)
end
Alles anzeigen
Client side:
Lua
cp = getLocalPlayer()
function centerWindow(center_window)
local screenW,screenH=guiGetScreenSize()
local windowW,windowH=guiGetSize(center_window,false)
local x,y = (screenW-windowW)/2,(screenH-windowH)/2
guiSetPosition(center_window,x,y,false)
end
-------------------------------------------------REGISTER--------------------------------------------------------
Register = {
edit = {},
button = {},
label = {},
window = {},
}
Register.window[1] = guiCreateWindow(112, 118, 359, 162, "Register", false)
centerWindow(Register.window[1])
guiWindowSetSizable(Register.window[1], false)
guiSetAlpha(Register.window[1], 1.00)
Register.label[1] = guiCreateLabel(4, 21, 346, 35, " Willkommen auf dem Reallife V1 Server.Du musst dir einen \n Account anlegen um zuspielen.", false, Register.window[1])
guiLabelSetColor(Register.label[1], 0, 125, 0)
Register.label[2] = guiCreateLabel(8, 59, 342, 15, "Username: Der Name", false, Register.window[1])
guiLabelSetColor(Register.label[2], 0, 125, 0)
Register.label[3] = guiCreateLabel(7, 91, 61, 16, " Passwort:", false, Register.window[1])
guiLabelSetColor(Register.label[3], 0, 125, 0)
Register.edit[1] = guiCreateEdit(71, 85, 278, 29, "", false, Register.window[1])
guiEditSetMasked(Register.edit[1], true)
Register.button[1] = guiCreateButton(268, 118, 82, 37, "Registrieren!", false, Register.window[1])
guiSetProperty(Register.button[1], "NormalTextColour", "FFAAAAAA")
guiSetVisible(Register.window[1],false)
function showRegister ( )
guiSetVisible(Register.window[1],true)
showCursor(true)
guiSetText(Register.label[2], " Username : "..getPlayerName(getLocalPlayer()))
guiSetInputEnabled(true)--Chat gesperrt
end
function onKlickRegister ()
local pw = guiGetText(Register.edit[1])
if pw ~= "" then
if #pw >= 6 then
triggerServerEvent("register",cp,cp,pw)
else
outputChatBox("Dein Passwort muss mindestens 6 Zeichen Lang sein!",125,0,0)
end
end
end
function closeRegister ()
guiSetInputEnabled(false)--Chat wiederfreigeben
guiSetVisible(Register.window[1],false)
showCursor(false)
end
addEvent("closeRegister",true)
addEventHandler("closeRegister",getRootElement(),closeRegister)
addEventHandler("onClientGUIClick",Register.button[1],onKlickRegister)
addEvent("showRegister",true)
addEventHandler("showRegister",getRootElement(),showRegister)
addEventHandler("onClientResourceStart",getResourceRootElement(),callServerForRegister)
---------------------------------------LOGIN-------------------------------------------------
Login = {
edit = {},
button = {},
label = {},
window = {},
}
Login.window[1] = guiCreateWindow(172, 140, 329, 149, "Login", false)
centerWindow(Login.window[1])
guiWindowSetSizable(Login.window[1], false)
guiSetAlpha(Login.window[1], 1.00)
Login.label[1] = guiCreateLabel(11, 21, 304, 38, "Willkommen zurueck, Spielername\nBitte logge dich ein", false, Login.window[1])
guiLabelSetColor(Login.label[1], 0, 125, 0)
Login.label[2] = guiCreateLabel(14, 75, 74, 22, "Passwort:", false, Login.window[1])
guiLabelSetColor(Login.label[2], 0, 125, 0)
Login.edit[1] = guiCreateEdit(93, 72, 221, 31, "", false, Login.window[1])
guiEditSetMasked(Login.edit[1], true)
Login.button[1] = guiCreateButton(237, 108, 83, 37, "Login", false, Login.window[1])
guiSetProperty(Login.button[1], "NormalTextColour", "FFAAAAAA")
guiSetVisible(Login.window[1],false)
function openLoginPanel ()
guiSetVisible(Login.window[1],true)
showCursor(true)
guiSetInputEnabled(true)
guiSetText(Login.label[1],"Willkommen zurueck, "..getPlayerName(cp).."\nBitte logge dich ein")
end
addEvent("openLoginPanel",true)
addEventHandler("openLoginPanel",getRootElement(),openLoginPanel)
function closeLogin ()
guiSetVisible(Login.window[1],false)
showCursor(false)
guiSetInputEnabled(false)
end
addEvent("closeLogin",true)
addEventHandler("closeLogin",getRootElement(),closeLogin)
function onKlickLogin ()
local pw = guiGetText(Login.edit[1])
if pw ~= "" then
triggerServerEvent("login",cp,cp,pw)
end
end
addEventHandler("onClientGUIClick",Login.button[1],onKlickLogin)
Alles anzeigen