Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --A képlet egyszerű. Mindig 0-s dbQueryt használunk. a dbQueryket csak akkor használjuk mikor select van. Egyébb esetben mindig dbExecket használunk!
- --EZEKHEZ KELL ASYNC NEVEZETŰ RESOURCE!! Sokszor használjuk, példa rá külön lua-ban!
- --dbQuery éles példa:
- dbQuery(
- function(query)
- local query, query_lines = dbPoll(query, 0)
- if query_lines > 0 then
- Async:foreach(query,
- function(row)
- local id = tonumber(row["id"])
- local name = tostring(row["name"])
- local email = tostring(row["email"])
- local password = tostring(row["password"])
- local serial = tostring(row["serial"])
- local ip = tostring(row["ip"])
- local registerdatum = tostring(row["registerdatum"])
- local lastlogin = tostring(row["lastlogin"])
- local online = tonumber(row["online"])
- isLogged[name] = online == 1
- local usedSerials = tostring(row["usedSerials"])
- local usedIps = tostring(row["usedIps"])
- local banned = tostring(row["banned"])
- usedSerials = fromJSON(usedSerials)
- usedIps = fromJSON(usedIps)
- banned = stringToBoolean(banned)
- accounts[name] = {id, password, serial, email, regdate, lastlogin, ip, usedSerials, usedIps, banned}
- isValidAccount[name] = true
- if serial ~= "0" then
- isSerialAttachedToAccount[serial] = name
- end
- for k,v in pairs(usedSerials) do
- isSerialAttachedToAccount[v] = name
- end
- isEmailAttachedToAccount[email] = name
- idConvertToName[id] = name
- end
- )
- end
- outputDebugString("Loading accounts finished. Loaded #"..query_lines.." accounts!", 0, 255, 50, 255)
- end,
- connection, "SELECT * FROM `accounts`")
- --dbQuery Template:
- dbQuery(
- function(query)
- local query, query_lines = dbPoll(query, 0)
- if query_lines > 0 then
- Async:foreach(query,
- function(row)
- --Ide írod a dolgokat.
- end
- )
- end
- end,
- connection, "SELECT * FROM `test`")
- --dbExec élesben:
- dbExec(connection, "UPDATE `accounts` SET `online`=? WHERE `id`=?", 0, id)
- --dbExec Template:
- --A ? jeleket később külön argumentekben adjuk meg itt a 2 kérdőjelt ahogy látod a 0 és "A" koorigálja később.
- dbExec(connection, "UPDATE `test` SET `asd`=? WHERE `esd`=?", 0, "A")
- function interactRegister(sourceElement, username, password, email, serial)
- if isValidAccount[username] then
- exports["cr_infobox"]:addBox(sourceElement, "error", "Ez a felhasználónév ("..username..") már regisztrálva van!")
- return
- end
- if isSerialAttachedToAccount[serial] and type(isSerialAttachedToAccount[serial]) == "string" then
- exports["cr_infobox"]:addBox(sourceElement, "error", "Ez a serial ("..serial..") már társítva van egy felhasználóhoz! ("..isSerialAttachedToAccount[serial]..")")
- return
- end
- if isEmailAttachedToAccount[email] and type(isEmailAttachedToAccount[serial]) == "string" then
- exports["cr_infobox"]:addBox(sourceElement, "error", "Ez az email ("..email..") már társítva van egy felhasználóhoz! ("..isEmailAttachedToAccount[serial]..")")
- return
- end
- local lastClickTick = spam[sourceElement] or 0
- if lastClickTick + 1500 > getTickCount() then
- return
- end
- spam[sourceElement] = getTickCount()
- local ip = getPlayerIP(sourceElement)
- local usedIps = toJSON({[ip] = true})
- local usedSerials = toJSON{[serial] = true}
- local usedEmails = toJSON{[email] = true}
- dbExec(connection, "INSERT INTO `accounts` SET `name` = ?, `email` = ?, `password` = ?, `serial` = ?, `ip` = ?, `usedSerials` = ?, `usedEmails` = ?, `usedIps` = ?, `banned` = ?, `registerdatum` = NOW(), `lastlogin` = NOW()", username, email, hashedPassword, serial, ip, usedSerials, usedEmails, usedIps, "false")
- dbQuery(
- function(query)
- local query, query_lines = dbPoll(query, 0)
- if query_lines > 0 then
- Async:foreach(query,
- function(row)
- local id = tonumber(row["id"])
- local name = tostring(row["name"])
- local email = tostring(row["email"])
- local password = tostring(row["password"])
- local serial = tostring(row["serial"])
- local ip = tostring(row["ip"])
- local registerdatum = tostring(row["registerdatum"])
- local lastlogin = tostring(row["lastlogin"])
- local serial = tostring(row["serial"])
- local ip = tostring(row["ip"])
- local usedSerials = tostring(row["usedSerials"])
- local usedIps = tostring(row["usedIps"])
- local banned = tostring(row["banned"])
- local usedEmails = tostring(row["usedEmails"])
- usedSerials = fromJSON(usedSerials)
- usedIps = fromJSON(usedIps)
- usedEmails = fromJSON(usedEmails)
- banned = stringToBoolean(banned)
- accounts[name] = {id, password, serial, email, regdate, lastlogin, ip, usedSerials, usedIps, banned, usedEmails}
- isValidAccount[name] = true
- isSerialAttachedToAccount[serial] = name
- --[[
- for k,v in pairs(usedSerials) do
- isSerialAttachedToAccount[v] = name
- end]]
- isEmailAttachedToAccount[email] = name
- idConvertToName[id] = name
- exports["cr_infobox"]:addBox(sourceElement, "success", "Sikeres regisztráció!")
- triggerClientEvent(sourceElement, "goBackToLogin", sourceElement)
- end
- )
- end
- end,
- connection, "SELECT * FROM `accounts` WHERE `name` = ?", username)
- end
- addEvent("reg.goRegister", true)
- addEventHandler("reg.goRegister", root, interactRegister)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement