Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local serialWhitelist = {
- ["ABFC4A644C3626943605B2CEB8BBDEA4"] = true,
- ["D5BC93F999615831F22B40F122D19B53"] = true,
- }
- saves = {}
- local dbConnection = dbConnect("mysql", "dbname=DayZ;host=127.0.0.1", "DayZ", "6lYKL8aTTiacQwzj")
- if(dbConnection ~= false)then
- outputServerLog("Successfully connected to MySQL!")
- else
- outputServerLog("Failed to connect to MySQL!")
- end
- addEventHandler("onResourceStart", resourceRoot,
- function()
- setGameType ("DayZ | Base Building for Free | and more")
- resetMapInfo()
- for i,player in ipairs(getElementsByType("player")) do
- spawn(player)
- end
- end
- )
- function check(player)
- qr = dbQuery(dbConnection, "SELECT * FROM users")
- result = dbPoll(qr, -1)
- for v,k in ipairs(result) do
- if k['Name'] == getPlayerName(player) then
- triggerClientEvent(player,"enableLogin",player)
- return
- end
- end
- if string.find(getPlayerName(player), "'") then
- kickPlayer(player,"Remove ' from your Nick")
- return
- end
- if string.find(getPlayerName(player), "#%x%x%x%x%x%x") then
- kickPlayer(player,"Remove Colors from your Nick")
- return
- end
- triggerClientEvent(player,"enableRegister",player)
- end
- addEvent("checkifRegisteredorleggedIn",true)
- addEventHandler("checkifRegisteredorleggedIn",root,check)
- function login(username, password)
- local qh = dbQuery(dbConnection, "SELECT Name,password FROM users WHERE Name=? LIMIT 1", username)
- local result = dbPoll(qh, -1)
- result = result[1]
- local client = getPlayerFromName(result["Name"])
- if client == false then return end
- if client then
- if(md5(password) == result["password"])then
- local grt = getRealTime()
- local loginTime = (grt.monthday).."."..(grt.month+1).."."..(grt.year+1900)
- dbExec(dbConnection, "UPDATE users SET lastLogin=? WHERE Name=?",tostring(loginTime),username)
- triggerEvent("onPlayerDayZLogin", client, username, password, client)
- dbFree(qh)
- return true
- end
- dbFree(qh)
- return false
- else
- dbFree(qh)
- return false
- end
- dbFree(qh)
- return false
- end
- function onPlayerDayZLogin(username, password)
- if(login(username, password))then
- triggerClientEvent(source, "onPlayerDoneLogin", source)
- triggerClientEvent(source, "loginMSG", source,"[Login]#FF9900 Successfully logged in!")
- else
- triggerClientEvent(source, "loginMSG", source,"[Login]#FF9900 Wrong password or username")
- triggerClientEvent(source, "loginMSG", source,"[Login]#FF9900 Try /changepw [New Password]!")
- end
- end
- addEvent("onPlayerDayZLogin1", true)
- addEventHandler("onPlayerDayZLogin1", getRootElement(), onPlayerDayZLogin)
- function onPlayerLauncherLogin(teaCode)
- local json = fromJSON(teaDecode(teaCode, "infinityz_secure_7432185"))
- local action = json["Action"]
- local username = json["Account"]
- local password = json["Password"]
- if(action == "login")then
- if(login(username, password))then
- setTimer(triggerClientEvent, 3500, 1, source, "onPlayerDoneLogin", source)
- triggerClientEvent(source, "loginMSG", source,"[Login]#FF9900 Successfully logged in!")
- else
- triggerClientEvent(source, "loginMSG", source,"[Login]#FF9900 Wrong password or username!")
- triggerClientEvent(source, "loginMSG", source,"[Login]#FF9900 Try /changepw [New Password]!")
- triggerClientEvent(source, "enableLogin", source, false)
- end
- elseif(action == "register")then
- if(register(username, password))then
- setTimer(triggerClientEvent, 3500, 1, source, "onPlayerDoneLogin", source)
- triggerClientEvent(source, "loginMSG", source,"[Login]#FF9900 Successfully logged in!")
- else
- triggerClientEvent(source, "enableRegister", source, false)
- triggerClientEvent(source, "loginMSG", source,"[Login]#FF9900 This account already exists!")
- end
- end
- end
- addEvent("onPlayerLauncherLogin", true)
- addEventHandler("onPlayerLauncherLogin", getRootElement(), onPlayerLauncherLogin)
- function register(username, password)
- local player = getPlayerFromName(username)
- local pserial = getPlayerSerial(player)
- local aallow = true
- qr = dbQuery(dbConnection, "SELECT * FROM users")
- result = dbPoll(qr, -1)
- for v,k in ipairs(result) do
- if k['Name'] == username or k['serial'] == pserial then
- aallow = false
- return false
- end
- end
- if aallow == true then
- local grt = getRealTime()
- local loginTime = (grt.monthday).."."..(grt.month+1).."."..(grt.year+1900)
- dbExec(dbConnection, "INSERT INTO users (Name,lastLogin,serial,password) VALUES (?,?,?,?)",username,tostring(loginTime),pserial,md5(password))
- triggerEvent("onPlayerDayZRegister", player, username, password, player)
- dbFree(qr);
- return true
- else
- return false
- end
- end
- function onPlayerDayZRegister(username, password)
- if(register(username, password))then
- triggerClientEvent(source, "onPlayerDoneLogin", source)
- triggerClientEvent(source, "loginMSG", source,"[Login]#FF9900 Successfully logged in!") -- <- Change the message
- else
- triggerClientEvent(source, "loginMSG", source,"[Login]#FF9900 This account already exists!")
- end
- end
- addEvent("onPlayerDayZRegister1", true)
- addEventHandler("onPlayerDayZRegister1", getRootElement(), onPlayerDayZRegister)
- addEventHandler("onPlayerConnect", getRootElement(), function(playerNick, playerIP, playerUsername, playerSerial)
- local qr = dbQuery(dbConnection, "SELECT * FROM users WHERE serial=? LIMIT 1", playerSerial)
- local result, num_affected_rows, last_insert_id = dbPoll(qr, -1)
- result = result[1]
- if(result["serial"] == playerSerial)then
- if(result["Name"] ~= playerNick)then
- cancelEvent(true, "Please connect with name '"..result["Name"].."'!")
- end
- end
- dbFree(qr)
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement