Guest User

Untitled

a guest
May 21st, 2012
605
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.85 KB | None | 0 0
  1. local mysqlhost = "localhost"
  2. local mysqluser = "root"
  3. local mysqlpw = ""
  4. local mysqldatabase = "dbs_login"
  5. handler = mysql_connect ( mysqlhost, mysqluser, mysqlpw, mysqldatabase )
  6.  
  7. addEvent("onDatenbankCheck", true)
  8. addEvent("onDatenbankRegister", true)
  9. addEvent("onDatenbankLogin", true)
  10.  
  11.  
  12. addEventHandler("onDatenbankCheck", getRootElement(), function() -- der Event Handler
  13.     local result = mysql_query( handler, "SELECT * FROM accounts WHERE NAME = '"..getPlayerName(source).."';" ) -- MySQL Abfrage, ob der Account in der Tabelle ist
  14.     if(result and mysql_num_rows( result ) > 0) then -- Wenn er Vorhanden ist
  15.         triggerClientEvent(source, "onDatenbankCheckBack", source, true) -- Event Triggern
  16.     else -- Wenn nicht
  17.         triggerClientEvent(source, "onDatenbankCheckBack", source, false) -- Event Triggern
  18.     end
  19. end)
  20.  
  21. addEventHandler("onDatenbankRegister", getRootElement(), function(passwort) -- der Event Handler
  22.     if not(passwort) then return end -- wenn kein Passwort da ist
  23.     local newpw = md5(passwort) -- Das Passowort verschluesseln
  24.     local result = mysql_query(handler, "INSERT INTO accounts ( NAME, PASSWORT ) VALUES ( '"..getPlayerName(source).."', '"..newpw.."' );") -- die MySQL Abfrage
  25.     if(result) then -- wenn erfolgreich
  26.         outputChatBox("Du hast dich Erfolgreich Registriert!", source, 0, 255, 0) -- Juhu
  27.         triggerEvent("onDatenbankCheck", source) -- Wir triggern nochmal das event, weil ja jetzt der Account drinne ist
  28.     else
  29.         outputChatBox("Fehler beim Registrieren!", source, 255, 0, 0) -- fail
  30.     end
  31. end)
  32.  
  33. addEventHandler("onDatenbankLogin", getRootElement(), function(passwort) -- der Event Handler
  34.     local result = mysql_query( handler, "SELECT * FROM accounts WHERE NAME = '"..getPlayerName(source).."' AND PASSWORT = '"..md5(passwort).."';" ) -- MySQL Abfrage, ob der Account in der Tabelle ist und das Passwort das in md5 ist
  35.     if(result and mysql_num_rows( result ) > 0) then -- Wenn das Passwort richtig eingegeben ist
  36.         triggerClientEvent(source, "onDatenbankLoginSuceed", source) -- Event Triggern
  37.         -- die Daten per Element-Data setzen --
  38.         local row = mysql_fetch_assoc(result) -- die Spalten als Table bekommen
  39.         setElementData(source, "adminlevel", tonumber(row['ADMINLEVEL']) or 0) -- Adminlevel, falls vorhanden. Andererseits 0
  40.        
  41.         addEventHandler("onElementDataChange", source, function(theData, oldValue) -- das Event hinzufuegen, was passiert, wenn sich die Daten aendern
  42.             local newdata = getElementData(source, theData) -- bekommt die neuen Daten
  43.             if(theData == "adminlevel") then -- wenn es die Daten "adminlevel" ist
  44.                 mysql_query(handler, "UPDATE accounts SET ADMINLEVEL = '"..tonumber(newdata).."' WHERE NAME = '"..getPlayerName(source).."';") -- die Query zum Updaten der Zeile
  45.             end
  46.         end)
  47.     else -- Wenn nicht
  48.         outputChatBox("Dein Passwort ist nicht richtig oder dein Account exestiert nicht!", source, 255, 0, 0)
  49.     end
  50. end)
Advertisement
Add Comment
Please, Sign In to add comment