login:
addEvent("onCharacterLogin", false)
addEvent("onClientCharacterRequest", true)
addEventHandler("onClientCharacterRequest", getRootElement(),
function(charname)
playerSource = client
local id = getElementData(client, "char.accountID")
local qh = dbQuery(connection, "SELECT * FROM `players` WHERE `account` = ?", id)
local row = dbPoll(qh, -1)
if row then
for k, row in ipairs (row) do
local id = tonumber(row["id"])
local x = tonumber(row["x"])
local y = tonumber(row["y"])
local z = tonumber(row["z"])
local rot = tonumber(row["rot"])
local interior = tonumber(row["intID"])
local dimension = tonumber(row["dimID"])
local health = tonumber(row["health"])
local hunger = tonumber(row["hunger"])
local armor = tonumber(row["armor"])
local skin = tonumber(row["skin"])
local money = tonumber(row["money"])
local npoints = tonumber(row["npoints"])
local nsujo = tonumber(row["nsujo"])
local carlicense = tostring(row["drivinglicense"])
local bankmoney = tonumber(row["bankMoney"])
local playedMinutes = tonumber(row["playedMinutes"])
local lastLogin = tonumber(row["lastlogin"])
local gender = tonumber(row["gender"])
local age = tonumber(row["age"])
local weight = tonumber(row["weight"])
local height = tonumber(row["height"])
local adminnick = tostring(row["adminnick"])
local charname = tostring(row["charname"])
charname = string.gsub(tostring(charname), " ", "_")
local walkingstyle = tonumber(row["walkingstyle"])
local jobID = tonumber(row["jobID"])
local jobName = tostring(row["jobName"])
local radiochannel = tonumber(row["radiochannel"])
local factionID = tonumber(row["factionID"])
local factionLeader = tonumber(row["factionLeader"])
local factionRank = tonumber(row["factionRank"])
local badgeNumber = tonumber(row["badgeNumber"])
local dutySkin = tonumber(row["dutySkin"])
local showHUD = tonumber(row["showHUD"])
local showOOC = tonumber(row["showOOC"])
local showRadar = tonumber(row["showRadar"])
local payTime = tonumber(row["payTime"])
local adminlevel = getElementData(playerSource, "char.adminlevel")
local adminduty = getElementData(playerSource, "char.adminduty")
setElementData(playerSource, "char.factionID", tonumber(factionID))
setElementData(playerSource, "char.factionLeader", tonumber(factionLeader))
setElementData(playerSource, "char.factionRank", tonumber(factionRank))
setElementData(playerSource, "char.badgeNumber", tonumber(badgeNumber))
setElementData(playerSource, "char.dutySkin", tonumber(dutySkin))
setElementData(playerSource, "age", tonumber(age))
setElementData(playerSource, "weight", tonumber(weight))
setElementData(playerSource, "height", tonumber(height))
setElementData(playerSource, "walkingstyle", tonumber(walkingstyle))
setElementData(playerSource, "char.jobID", tonumber(jobID))
setElementData(playerSource, "char.jobName", tostring(jobName))
if carlicense == "true" then
setElementData(playerSource, "char.drivingLicense", true)
else
setElementData(playerSource, "char.drivingLicense", false)
end
setElementData(playerSource, "charname", tostring(charname))
setElementData(playerSource, "char.playedMinutes", tonumber(playedMinutes))
setElementData(playerSource, "char.lastLogin", tonumber(lastLogin))
setElementData(playerSource, "char.UID", tonumber(id))
setElementData(playerSource, "char.skin", tonumber(skin))
setElementData(playerSource, "char.adminlevel", tonumber(adminlevel))
setElementData(playerSource, "char.adminnick", adminnick)
setElementData(playerSource, "char.bankMoney", tonumber(bankmoney))
setElementData(playerSource, "char.money",tonumber(money))
setElementData(playerSource, "char.diamante",tonumber(npoints))
setElementData(playerSource, "char.moneysujo",tonumber(nsujo))
setElementData(playerSource, "char.radio",tonumber(radiochannel))
setElementData(playerSource, "char.payTime",tonumber(payTime))
setElementData(playerSource, "gender", tonumber(gender))
setElementData(playerSource, "visibleName", tostring(charname))
setElementData(playerSource, "char.phoneNumber", tonumber(id))
setElementData(playerSource, "showHUD", tonumber(showHUD))
setElementData(playerSource, "showOOC", tonumber(showOOC))
setElementData(playerSource, "showRadar", tonumber(showRadar))
setPlayerName(playerSource, tostring(charname))
local name = string.gsub(tostring(charname), "_", " ")
setPlayerNametagText(source, tostring(name))
setElementData(playerSource,"char.hunger",hunger)
setElementData(playerSource, "dbid", getElementData(playerSource, "char.UID"))
setElementData(playerSource, "char.health", tonumber(health))
setPedAnimation(playerSource, false)
setElementHealth(playerSource, health)
setPedArmor(playerSource, armor)
setPedSkin(playerSource, skin)
spawnPlayer(playerSource, x, y, z+2, rot, skin, interior, dimension)
setPedWalkingStyle(client, walkingstyle)
dbExec(connection,"UPDATE `players` SET `lastlogin`=NOW() WHERE `id`=?",id)
toggleAllControls(playerSource, true, true, true)
fadeCamera(playerSource, true)
triggerEvent("onCharacterLogin", playerSource, charname)
if getElementData(playerSource, "char.jailTime") > 0 then
setElementDimension(playerSource, 60000 + getElementData(playerSource, "charID"))
setElementInterior(playerSource, 6)
setElementPosition(playerSource, 263.821807, 77.848365, 1001.0390625)
setPedRotation(playerSource, 267.438446)
setElementData(playerSource, "char.jailTime", getElementData(playerSource, "char.jailTime"))
setElementData(playerSource, "char.jailReason", getElementData(playerSource, "char.jailReason"))
setElementData(playerSource, "char.adminJail", true)
outputChatBox("[Prisão]: Você está na cadeia, motivo: "..getElementData(playerSource, "char.jailReason")..".", playerSource, 124, 9, 9, true)
outputChatBox("[Prisão]: Tempo: "..getElementData(playerSource, "char.jailTime")..".", playerSource, 124, 9, 9, true)
exports.vz_bans:loginPlayerJailed()
else
setElementData(playerSource, "char.jailTime", 0)
setElementData(playerSource, "char.jailReason", nil)
setElementData(playerSource, "char.adminJail", false)
end
end
else
outputDebugString( "Conexão com o MySQL falhou!")
end
end
)
addEvent("onPlayerLogin", false)
addEvent("onClientLoginRequest", true)
addEventHandler("onClientLoginRequest", getRootElement(),
function(username, password)
if (string.len(password)~=64) then
password = string.reverse((key) .. (password))
end
local lgnQuery = dbQuery(connection, "SELECT * FROM `users` WHERE `username`=? AND `password`=?", username, password )
playerSource = client
local lgnResult = dbPoll ( lgnQuery, -1 )
if #lgnResult > 0 then
for k, row in ipairs ( lgnResult ) do
triggerEvent("onPlayerLogin", playerSource, username, password)
local id = tonumber(row["id"])
local pass = tonumber(row["password"])
local found = false
for key, v in ipairs(getElementsByType("player")) do
local accid = tonumber(getElementData(v, "char.accountID"))
if (accid) then
if (accid==id) and (v~=playerSource) then
found = true
break
end
end
end
if not (found) then
local admin = tonumber(row["admin"])
local adminduty = tonumber(row["adminduty"])
local adminjail = tonumber(row["adminjail"])
local adminJailTime = tonumber(row["adminjail_time"])
local adminJailBy = tostring(row["adminjail_by"])
local adminJailReason = row["adminjail_reason"]
local banned = tonumber(row["banned"])
if tonumber(admin) == 0 then adminduty = 0 end
setElementData(playerSource, "char.adminlevel", tonumber(admin))
local lasethp = tonumber(row["asethp"])
local lasetarmor = tonumber(row["asetarmor"])
local lasethunger = tonumber(row["asethunger"])
local lagoto = tonumber(row["agoto"])
local lagethere = tonumber(row["agethere"])
local lagivemoney = tonumber(row["agivemoney"])
local lasetmoney = tonumber(row["asetmoney"])
local lagiveitem = tonumber(row["agiveitem"])
local laadutyminute = tonumber(row["adutyminute"])
local lafuelveh = tonumber(row["afuelveh"])
local lafixveh = tonumber(row["afixveh"])
local lareply = tonumber(row["areply"])
local lapm = tonumber(row["apm"])
local lamakeveh = tonumber(row["amakeveh"])
local lajail = tonumber(row["ajail"])
local laban = tonumber(row["aban"])
if (banned==1) then
kickPlayer(source,"Server Name","Sua conta está bloqueada")
else
setElementData(playerSource, "char.defaultUserName", username)
setElementData(playerSource, "char.accountID", tonumber(id))
setElementData(playerSource, "char.adminduty", tonumber(adminduty))
setElementData(playerSource, "char.jailTime", adminJailTime)
setElementData(playerSource, "char.jailReason", adminJailReason)
setElementData(playerSource, "admin.sethp", lasethp)
setElementData(playerSource, "admin.setarmor", lasetarmor)
setElementData(playerSource, "admin.sethunger", lasethunger)
setElementData(playerSource, "admin.goto", lagoto)
setElementData(playerSource, "admin.gethere", lagethere)
setElementData(playerSource, "admin.givemoney", lagivemoney)
setElementData(playerSource, "admin.setmoney", lasetmoney)
setElementData(playerSource, "admin.giveitem", lagiveitem)
setElementData(playerSource, "admin.adutyminute", laadutyminute)
setElementData(playerSource, "admin.fuelveh", lafuelveh)
setElementData(playerSource, "admin.fixveh", lafixveh)
setElementData(playerSource, "admin.reply", lareply)
setElementData(playerSource, "admin.pm", lapm)
setElementData(playerSource, "admin.makeveh", lamakeveh)
setElementData(playerSource, "admin.jail", lajail)
setElementData(playerSource, "admin.ban", laban)
fadeCamera(playerSource, true)
requestAccounts(playerSource, id)
local ip = getPlayerIP(playerSource)
local serial = getPlayerSerial(playerSource)
dbExec(connection,"UPDATE `users` SET `ip`=?, serial=? WHERE `id`=?",ip,serial,id)
end
end
end
else
exports.vz_info:showBoxS(playerSource, "Nome de usuário ou senha inválidos", "error")
end
end
)
addEvent("onClientTryToCreateAccount", true)
addEventHandler("onClientTryToCreateAccount", getRootElement(),
function(username, password)
local value = dbQuery(connection, "SELECT * FROM `users`")
local result = dbPoll (value, -1 )
local serial = getPlayerSerial(source)
password = string.reverse((key) .. (password))
if result then
for _, row in ipairs ( result ) do
if string.lower(row["username"]) == username then
exports.vz_info:showBoxS(source, "Esse nome de usuário já existe", "error")
return
end
if row["mtaserial"] == serial then
exports.vz_info:showBoxS(source, "Você já tem uma conta", "error")
return
end
end
end
exports.vz_info:showBoxS(source, "Registro bem sucedido!", "info")
local data = dbExec(connection, "INSERT INTO users SET username = ?, password = ?, mtaserial = ?", username, password, serial)
triggerClientEvent(source,"onRegisterFinish",source)
end
)
addEvent("OnClientTryToCreateCharacter", true)
addEventHandler("OnClientTryToCreateCharacter", getRootElement(),
function(charname, skins, age, sex)
local value = dbQuery(connection, "SELECT `charname` FROM `players` WHERE `charname` = ?", tostring(charname))
local result = dbPoll (value, -1)
local count = 0
local pw
cname = nil
if result then
for _, row in ipairs ( result ) do
cname = string.lower(row["charname"])
end
if cname ~= nil then
exports.vz_info:showBoxS(source, "O nome desse personagem já existe", "error")
return
end
end
dbFree(value)
local accountID = getElementData(source, "char.accountID")
data = dbExec( connection, "INSERT INTO `players` SET charname=?, account=?, intID=0, dimID=0, x=1481.06226, y=-1770.94824, z=18.79576, skin=0, age=?, gender=?", charname, accountID, age, sex)
setPlayerName(source, charname)
triggerClientEvent(source,"onSuccessLogin",source)
requestAccounts(source, accountID)
triggerClientEvent(source, "createCharacterLogin", source)
end
)
function requestAccounts(playerSource, id)
local requestAcc = {}
local query = dbQuery(connection, "SELECT id, charname,money, age, gender, skin, DATEDIFF(NOW(), lastlogin) FROM players WHERE account=?", id)
local result = dbPoll(query, -1)
if (#result>0) then
for k, data in ipairs (result) do
local i = 1
requestAcc = {}
requestAcc[0] = tonumber(data["id"])
requestAcc[1] = tostring(data["charname"])
requestAcc[2] = tonumber(data["skin"])
requestAcc[3] = tonumber(data["money"])
i = i + 1
end
end
triggerClientEvent(playerSource, "createCharacterLogin", playerSource, requestAcc, true, true)
end
addEvent("requestAccounts", true)
addEventHandler("requestAccounts", getRootElement(), requestAccounts)
function saveChar()
if getElementData(source, "CharLoggedIn") then
local x, y, z = getElementPosition(source)
local rot = getPedRotation(source)
local health = getElementHealth(source)
local hunger = getElementData(source, "char.hunger") or 0
local age = getElementData(source, "age")
local gender = getElementData(source, "gender")
local armor = getPedArmor(source)
local interior = getElementInterior(source)
local dimension = getElementDimension(source)
local charname = getElementData(source, "charname")
local skin = getElementData(source, "char.skin")
local playedMinutes = getElementData(source, "char.playedMinutes")
local money = getElementData(source, "char.money")
local npoints = getElementData(source,"char.diamante")
local nsujo = getElementData(source,"char.moneysujo")
local factionID = getElementData(source,"char.factionID")
local factionLeader = getElementData(source,"char.factionLeader")
local factionRank = getElementData(source,"char.factionRank")
local badgeNumber = getElementData(source,"char.badgeNumber")
local dutySkin = getElementData(source,"char.dutySkin")
local bankMoney = getElementData(source, "char.bankMoney")
local adminlevel = getElementData(source, "char.adminlevel")
local jobID = getElementData(source, "char.jobID")
local jobName = getElementData(source, "char.jobName")
local radio = getElementData(source, "char.radio")
local showHUD = getElementData(source, "showHUD")
local showOOC = getElementData(source, "showOOC")
local showRadar = getElementData(source, "showRadar")
local drivingLicense = tostring(getElementData(source, "char.drivingLicense"))
local jailTime = getElementData(source, "char.jailTime")
local jailReason = getElementData(source, "char.jailReason") or "null"
local adminJail = getElementData(source, "char.adminJail")
local payTime = getElementData(source, "char.payTime")
local asethp = getElementData(source, "admin.sethp")
local asetarmor = getElementData(source, "admin.setarmor")
local asethunger = getElementData(source, "admin.sethunger")
local agoto = getElementData(source, "admin.goto")
local agethere = getElementData(source, "admin.gethere")
local agivemoney = getElementData(source, "admin.givemoney")
local agiveitem = getElementData(source, "admin.giveitem")
local asetmoney = getElementData(source, "admin.setmoney")
local aadutyminute = getElementData(source, "admin.adutyminute")
local afuelveh = getElementData(source, "admin.fuelveh")
local afixveh = getElementData(source, "admin.fixveh")
local areply = getElementData(source, "admin.reply")
local apm = getElementData(source, "admin.pm")
local amakeveh = getElementData(source, "admin.makeveh")
local ajail = getElementData(source, "admin.jail")
local aban = getElementData(source, "admin.ban")
local update = dbExec(connection,"UPDATE players SET x=?, y=?, z=?, rot=?, health=?,hunger=?, armor=?, dimID=?, intID=?, money=?, npoints=?, nsujo=?, factionID=?, factionLeader=?, factionRank=?, badgeNumber=?, dutySkin=?, lastlogin=NOW(), playedMinutes=?, skin=?, charname=?, jobID=?, jobName=?, bankMoney=?, drivinglicense=?, radiochannel=?, showHUD=?, showOOC=?, showRadar=?, payTime=?, age=?, gender=? WHERE id=?",x,y,z,rot,health,hunger,armor,dimension,interior,money,npoints,nsujo,factionID,factionLeader,factionRank,badgeNumber,dutySkin,playedMinutes,skin,charname,jobID,jobName,bankMoney,drivingLicense,radio,showHUD,showOOC,showRadar,payTime,age,gender,getElementData(source, "char.UID"))
local update2 = dbExec(connection,"UPDATE users SET lastlogin=NOW(), `admin`=?, adminjail_time=?, adminjail_reason=?, adminjail=? WHERE id = " .. getElementData(source,"char.accountID"),adminlevel, jailTime, jailReason, adminJail)
local update3 = dbExec(connection,"UPDATE users SET asethp=?, asetarmor=?, asethunger=?, agoto=?, agethere=?, agivemoney=?, asetmoney=?, agiveitem=?, adutyminute=?, afuelveh=?, afixveh=?, areply=?, apm=?, amakeveh=? WHERE id = " .. getElementData(source,"char.accountID"), asethp, asetarmor, asethunger, agoto, agethere, agivemoney, asetmoney, agiveitem, aadutyminute, afuelveh, afixveh, areply, apm, amakeveh, ajail, aban)
end
end
addEvent("saveChar", true)
addEventHandler("saveChar",getRootElement(),saveChar)
addEventHandler("onPlayerQuit", getRootElement(), saveChar)
addCommandHandler("ban",
function(playerSource,commandName,targetPlayer,ttime,...)
if getElementData(playerSource, "char.adminlevel") >= 5 then -- Administrador acima do nivel *5 pode banir
local ttime = tonumber ( ttime )
if targetPlayer and ttime then
local targetPlayer, targetPlayerName = exports.vz_main:findPlayerByPartialNick(source, targetPlayer)
if (getElementData(targetPlayer, "char.adminlevel") or 0) < getElementData(playerSource, "char.adminlevel") then
local pSerialC = getPlayerSerial(targetPlayer)
local duration = (ttime*60)*60
local reason = table.concat({...}, " ")
local adminName = getElementData(playerSource,"char.adminnick")
if ttime == 0 then
dbExec(connection ,"INSERT INTO bans SET accountid=?, bannedBy=?, timeZone=?, playerSerial=?, reason = ?, playername=?",getElementData(targetPlayer, "char.accountID"), adminName ,23414590357, pSerialC, reason, targetPlayerName)
else
dbExec(connection ,"INSERT INTO bans SET accountid=?, bannedBy=?, timeZone=?, playerSerial=?, reason = ?, playername=?",getElementData(targetPlayer, "char.accountID"), adminName ,getRealTime()["timestamp"]+duration, pSerialC, reason, targetPlayerName)
end
if ttime == 0 then
text = "Eterno"
else
text = ttime .. " hora"
end
dbExec(connection, "UPDATE users SET banned=1, banned_by=?, banned_reason=? WHERE id=?", adminName, reason, getElementData(targetPlayer, "char.accountID"))
kickPlayer(targetPlayer, adminName, reason )
setElementData(playerSource, "admin.ban", getElementData(playerSource, "admin.ban") + 1)
outputChatBox("#4169E1[Ban]: #ffffff" ..adminName .. " baniu o jogador " .. targetPlayerName .. "", root, 255, 255, 255, true)
outputChatBox("#4169E1[Ban]: #ffffffHora do banimento: " .. text .. " - Motivo: #4169E1" .. reason .. "", root, 255, 255, 255, true)
else
outputChatBox("#ff0000[Error]: #ffffffVocê não pode banir um administrador superior a você", playerSource, 255, 255, 255, true)
outputChatBox("#4169E1[Ban]: #ffffff"..getElementData(playerSource,"char.adminnick").." tentou banir um administrador do servidor", targetPlayer, 255, 255, 255, true)
end
else
outputChatBox("#4169E1[Use]:#ffffff /" .. commandName .. " [ID] [hora (0 - eterno)] [motivo]", playerSource, 208, 101, 29, true)
end
end
end
)
addCommandHandler("offban", -- Administrador acima do nivel *5 pode banir jogadores offline
function (thePlayer, commandName, targetPlayer, tttime, ...)
if getElementData(thePlayer, "char.adminlevel") >= 5 then
local tttime = tonumber(tttime)
if not (targetPlayer) or not (tttime) or not (...) then
outputChatBox("#4169E1[Use]: #ffffff/" .. commandName .. " [Nome Completo] [hora (0 - eterno)] [Motivo]", thePlayer , 255, 255, 255, true)
else
local targetPlayer = targetPlayer:gsub(" ", "_")
local targetPlayerName = targetPlayer:gsub("_", " ")
local adminName = getElementData(thePlayer,"char.adminnick")
local reason = table.concat({...}, " ")
local duration = (tttime*60)*60
if targetPlayer then
if (getElementData(targetPlayer, "char.adminlevel") or 0) < getElementData(thePlayer, "char.adminlevel") then
local qh = dbQuery(connection, "SELECT * FROM players WHERE charname='" .. targetPlayer .. "'")
local result, num = dbPoll (qh, -1)
if num == 0 then outputChatBox("#ff0000[Falha]: #ffffffEsse banimento não existe", thePlayer, 255, 255, 255, true) return end
if result then
for _, row in ipairs ( result ) do
id = tonumber(row["id"])
accountid = tonumber(row["account"])
end
if (accountid) then
local qh2 = dbQuery(connection, "SELECT * FROM users WHERE id='" .. accountid .. "'")
local result2 = dbPoll ( qh2, -1 )
if result2 then
for _2, row2 in ipairs ( result2 ) do
admin = tonumber(row2["admin"])
serial = row2["mtaserial"]
ip = row2["ip"]
end
if (admin) > (getElementData(thePlayer, "char.adminlevel")) then
outputChatBox("#ff0000[Falha]: #ffffffVocê não tem permissão", thePlayer, 255, 255, 255, true)
return
end
if tttime == 0 then
text = "Eterno"
else
text = tttime .. " Hora"
end
if tttime == 0 then
dbExec(connection ,"INSERT INTO bans SET accountid=?, bannedBy=?, timeZone=?, playerSerial=?, reason = ?, playername=?", accountid, adminName ,23414590357, serial, reason, targetPlayer)
else
dbExec(connection ,"INSERT INTO bans SET accountid=?, bannedBy=?, timeZone=?, playerSerial=?, reason = ?, playername=?", accountid, adminName ,getRealTime()["timestamp"]+duration, serial, reason, targetPlayer)
end
setElementData(thePlayer, "admin.ban", getElementData(thePlayer, "admin.ban") + 1)
dbExec(connection, "UPDATE users SET banned=1, banned_by=?, banned_reason=? WHERE id=?", adminName, reason, accountid)
outputChatBox("#4169E1[BAN Offline]: #ffffff" ..adminName .. " baniu " .. targetPlayerName .. "", root, 255, 255, 255, true)
outputChatBox("#4169E1[BAN Offline]: #ffffff" .. text .. " - Motivo: #4169E1" .. reason .. "", root, 255, 255, 255, true)
end
end
else
outputChatBox("#ff0000[Error]: #ffffffNenhum resultado encontrado", thePlayer, 255, 255, 255, true)
end
else
outputChatBox("#ff0000[Error]: #ffffffVocê não pode banir um administrador superior a você", thePlayer, 124, 9, 9, true)
outputChatBox("[BAN]:#ffffff "..adminName.." tentou banir um administrador do servidor", targetPlayer, 124, 9, 9, true) -- Quando um administrador tentar banir outro administrador, então aparece para todos administradores essa mensaguem
end
end
end
end
end)
addCommandHandler( "desbanir",
function (playerSource, cmd, target, ...)
if getElementData(playerSource, "char.adminlevel") >= 5 then
local reason = table.concat ( { ... }, " " )
local acc
local bannedNames = {}
local bannedSerials = {}
local bannedAccs = {}
local bannedBy = {}
if target and reason then
local query = dbQuery ( connection, "SELECT * FROM `bans`" )
local result = dbPoll ( query, -1 )
if result then
for k, rows in ipairs ( result ) do
if string.find( rows["playername"]:lower(), target:lower() ) then
table.insert ( bannedNames, rows["playername"] )
table.insert ( bannedSerials, rows["playerSerial"] )
table.insert ( bannedAccs, rows["accountid"] )
table.insert ( bannedBy, rows["bannedBy"] )
end
end
else
outputChatBox("#ff0000[Error]: #ffffffNão foi possível encontrar uma punição no nome dado", playerSource, 255, 255, 255, true)
end
if #bannedNames > 1 then
outputChatBox("#4169E1[SERVER NAME]: #ffffffTodas punições existentes do servidor", playerSource, 255, 255, 255, true)
for k, bans in ipairs ( bannedNames ) do
outputChatBox(bans, playerSource, 208, 101, 29, true)
end
bannedName = nil
bannedSerial = nil
bannedAccs = nil
bannedBy = nil
return
end
if #bannedNames == 0 then
outputChatBox("#ff0000[Error]: #ffffffNenhuma punição encontrada", playerSource, 124, 9, 9, true)
return
end
local exec = dbExec ( connection, "DELETE FROM bans WHERE playername = ?", bannedNames[1])
local exec = dbExec ( connection, "UPDATE `users` SET banned = 0 WHERE `id` = ?", bannedAccs[1])
outputChatBox("#4169E1[SERVER NAME]: #ffffffVocê desbaniu o jogador com sucesso", playerSource, 255, 255, 255, true)
bannedName = nil
bannedSerial = nil
bannedAccs = nil
bannedBy = nil
else
outputChatBox ("#4169E1[Use]: #ffffff/" .. cmd .. " [Nome Completo] [Motivo]", playerSource, 255, 255, 255, true)
end
end
end
)
ID SYSTEM:
--[[
/\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\/
Curta a Minha Página
https://www.facebook.com/danilinmtascr/
::::::::: ::: :::: ::: ::::::::::: ::: ::::::::::: :::: :::
:+: :+: :+: :+: :+:+: :+: :+: :+: :+: :+:+: :+:
+:+ +:+ +:+ +:+ :+:+:+ +:+ +:+ +:+ +:+ :+:+:+ +:+
+#+ +:+ +#++:++#++: +#+ +:+ +#+ +#+ +#+ +#+ +#+ +:+ +#+
+#+ +#+ +#+ +#+ +#+ +#+#+# +#+ +#+ +#+ +#+ +#+#+#
#+# #+# #+# #+# #+# #+#+# #+# #+# #+# #+# #+#+#
######### ### ### ### #### ########### ########## ########### ### ####
/\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\/
--]]
function Start_Id ( _, acc )
if eventName == "onPlayerLogin" then
setElementData ( source, "ID", getAccountID(acc) or "N/A" )
outputChatBox ( "#00ff00✘ #ffffffLOGIN #00ff00✘➺ #ffffffNick: #00ff00 ( ".. getPlayerName(source) .." #00ff00) #ffffffID: #00ff00( "..(getAccountID(acc) or "N/A") .." )", root, 255,255,255,true)
elseif eventName == "onPlayerLogout" then
removeElementData( source, "ID" )
outputChatBox ( "#00ff00✘ #ffffffLOGIN #00ff00✘➺ #ffffffNick: #00ff00 ( ".. getPlayerName(source) .." #00ff00) #ffffffDeslogou.", root, 255,255,255,true)
elseif eventName == "onResourceStart" then
for _, player in pairs(getElementsByType("player")) do
local acc = getPlayerAccount(player)
if not isGuestAccount(acc) then
setElementData( source, "ID", getAccountID(acc) or "N/A" )
end
end
end
end
addEventHandler("onResourceStart", resourceRoot, Start_Id)
addEventHandler("onPlayerLogout", root, Start_Id)
addEventHandler("onPlayerLogin", root, Start_Id)
function getPlayerID(id)
v = false
for i, player in ipairs (getElementsByType("player")) do
if getElementData(player, "ID") == id then
v = player
break
end
end
return v
end
--============================================================================================================================--
--=============================--
----------- ID PLAYER ------------
--=============================--
function getnick(player, command, id, ...)
if(id) then
local playerID = tonumber(id)
if(playerID) then
local Player2 = getPlayerID(playerID)
if(Player2) then
outputChatBox ( "#00ff00✘ #ffffffINFO #00ff00✘➺ #ffffff Nome do Jogador #00ff00" .. getPlayerName(Player2) .."", player, 255,255,255,true)
else
outputChatBox ( "#00ff00✘ #ffffffERRO #00ff00✘➺ #ffffff O Jogador(a) de ID: #00ff00( " .. id .. " ) #ffffffNão Foi Encontrado!", player, 255,255,255,true)
end
else
outputChatBox ( "#00ff00✘ #ffffffERRO #00ff00✘➺ #ffffff ID: #00ff00( " .. id .. " ) #ffffffInválido!", player, 255,255,255,true)
end
else
outputChatBox ( "#00ff00✘ #ffffffERRO #00ff00✘➺ #ffffffUse /id #00ff00[#ffffffID#00ff00]", player, 255,255,255,true)
end
end
addCommandHandler("id", getnick)