Hallo. Ich habe mir aus einem YT Tutorial etwas abgeguckt und zusammen gestellt. Nun ist seit 1.3.4 der Fehler, dass wenn ich nur auf das GUI klicke auf einmal kommt, dass ich mich erfolgreich eingeloggt habe, obwohl ich 1. nichts eingeben habe, und auch nicht auf den Login oder Register Knopf gedrückt habe ..
Vielleicht findet ihr ja ein Fehler oder eine Sache die ich für 1.3.4 ausbessern muss ...
Clientside:
Lua
LoginWindow = {
tab = {},
tabpanel = {},
edit = {},
button = {},
window = {},
label = {}
}
addEventHandler("onClientResourceStart", resourceRoot,
function()
local screenW, screenH = guiGetScreenSize()
LoginWindow.window[1] = guiCreateWindow((screenW - 488) / 2, (screenH - 210) / 2, 488, 210, "", false)
guiWindowSetMovable(LoginWindow.window[1], false)
guiWindowSetSizable(LoginWindow.window[1], false)
guiSetAlpha(LoginWindow.window[1], 1.00)
LoginWindow.tabpanel[1] = guiCreateTabPanel(10, 28, 464, 173, false, LoginWindow.window[1])
LoginWindow.tab[1] = guiCreateTab("Login", LoginWindow.tabpanel[1])
LoginWindow.label[1] = guiCreateLabel(10, 22, 84, 18, "Username", false, LoginWindow.tab[1])
LoginWindow.edit[1] = guiCreateEdit(97, 17, 357, 29, "", false, LoginWindow.tab[1])
LoginWindow.edit[2] = guiCreateEdit(97, 56, 357, 29, "", false, LoginWindow.tab[1])
LoginWindow.label[2] = guiCreateLabel(10, 61, 84, 18, "Password", false, LoginWindow.tab[1])
LoginButton = guiCreateButton(362, 92, 92, 31, "Login", false, LoginWindow.tab[1])
LoginWindow.tab[2] = guiCreateTab("Register", LoginWindow.tabpanel[1])
LoginWindow.label[3] = guiCreateLabel(10, 22, 84, 18, "Username", false, LoginWindow.tab[2])
LoginWindow.edit[3] = guiCreateEdit(97, 17, 357, 29, "", false, LoginWindow.tab[2])
LoginWindow.edit[4] = guiCreateEdit(97, 56, 357, 29, "", false, LoginWindow.tab[2])
LoginWindow.label[4] = guiCreateLabel(10, 61, 84, 18, "Password", false, LoginWindow.tab[2])
RegisterButton = guiCreateButton(362, 92, 92, 31, "Register", false, LoginWindow.tab[2])
addEventHandler("onClientGUIClick", LoginButton, onLogin)
addEventHandler("onClientGUIClick", RegisterButton, onRegister)
guiEditSetMasked(LoginWindow.edit[2],true)
guiEditSetMasked(LoginWindow.edit[4],true)
showCursor(true)
guiSetVisible( LoginWindow.window[1], true )
end
)
function onLogin()
local username = guiGetText(LoginWindow.edit[1])
local password = guiGetText(LoginWindow.edit[2])
triggerServerEvent("onLogin", getLocalPlayer(), username, password )
end
function onRegister()
local username = guiGetText(LoginWindow.edit[3])
local password = guiGetText(LoginWindow.edit[4])
triggerServerEvent("onRegister", getLocalPlayer(), username, password )
end
addEvent("close_register_login",true)
addEventHandler("close_register_login",getLocalPlayer(),
function ()
guiSetVisible(LoginWindow.window[1], false)
end
)
Alles anzeigen
Serverside:
Lua
addEvent("onRegister", true)
addEvent("onLogin", true)
function resourceStart ()
handler = dbConnect("mysql", "dbname=visualgaming;host=127.0.0.1","root", "")
if handler then
outputServerLog("----------------------------------------------------")
outputServerLog("Verbindung zum MySQL Server erfolgreich hergestellt!")
outputServerLog("----------------------------------------------------")
else
outputServerLog("-------------------------------------------")
outputServerLog("Verbindung zum MySQL Server fehlgeschlagen!")
outputServerLog("-------------------------------------------")
end
end
addEventHandler("onResourceStart", getResourceRootElement(), resourceStart)
function onRegister( username, password )
local sql = dbQuery(handler,"SELECT * FROM players WHERE username = '"..username.."'")
local result,num_rows = dbPoll(sql,-1)
if num_rows == 0 then
local md5password = md5(password)
dbExec(handler,"INSERT INTO players (username, password) VALUES ( '"..username.."','"..md5password.."')")
outputChatBox("[Info] You have successfully registered!",source,0,125,0)
else
outputChatBox("[Info] It already exist an Account with this username!"..username.." !",source,125,0,0)
end
end
addEventHandler("onRegister",getRootElement(), onRegister )
function onLogin( username, password )
local md5password = md5(password)
local sql = dbQuery(handler,"SELECT * FROM players WHERE username = '"..username.."' AND password = '"..md5password.."'")
local result,num_rows = dbPoll(sql,-1)
if num_rows == 1 then
outputChatBox("[Info] You have successfully logged in !",source,0,125,0)
triggerClientEvent(source,"close_register_login",source)
else
outputChatBox("[Info] Your username or password is wrong !",source,125,0,0)
end
end
addEventHandler("onLogin",getRootElement(), onLogin)
Alles anzeigen