Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local dbType = "SQLite"; --Here set your database type, "MySQL" or "SQLite" <!>
- local dbName = ""; --Your database name <!>
- local dbHost = ""; --Your hostname/IP <!>
- local dbUser = ""; --Username for database <!>
- local dbPass = ""; --Password for database <!>
- local dbPort = 0; --This is an port exemple CHANGE IT <!>
- if (dbType == "MySQL") then
- db = dbConnect("mysql", "dbname="..dbName..";host="..dbHost..";port="..dbPort, dbUser, dbPass, "share=1");
- dbExec(db, "CREATE TABLE IF NOT EXISTS rank(nome,conta,kills,deaths,alivetime,level,exp, clan)");
- elseif (dbType == "SQLite") then
- db = dbConnect("sqlite", "iDB/Ranks.db");
- dbExec(db, "CREATE TABLE IF NOT EXISTS rank(nome,conta,kills,deaths,kdr,alivetime,level,exp, clan)");
- dbExec(db, "CREATE TABLE IF NOT EXISTS ranksemanal(nome,conta,kills,deaths,kdr, clan)");
- dbExec(db, "CREATE TABLE IF NOT EXISTS rankclan(clan,membros,kills,mortes,kdr,level)");
- dbExec(db, "CREATE TABLE IF NOT EXISTS rankclansemanal(clan,membros,kills,mortes,kdr,level)");
- else return end
- function iRankLogin()
- local account = getPlayerAccount(source)
- if account then
- if getElementType(source) == "player" then
- local Name = getPlayerName(source)
- local accountName = getAccountName (account)
- local Totalkills = getElementData(source,"Totalkills") or 0
- local check = dbPoll(dbQuery(db, "SELECT * FROM rank WHERE conta = ?", accountName), -1)
- if type(check) == "table" and #check == 0 or not check then
- dbExec(db, "INSERT INTO rank(nome,conta,kills,deaths,alivetime,level,exp, clan, kdr) VALUES(?,?,?,?,?,?,?,?,?)",
- Name, accountName,Totalkills,getElementData(source, "deaths3"),getElementData(source,"alivetime"),getElementData(source,"level") or 0,getElementData(source,"experience") or 0,getElementData(source,"Group") or "Nenhum", 0);
- else
- for i,res in ipairs (check) do
- dbExec(db, "UPDATE rank SET nome = ?, kills = ?, alivetime = ?, deaths = ?, level = ?, exp = ?, clan = ?, kdr = ? WHERE conta = ?",
- Name,Totalkills, getElementData(source,"alivetime"),getElementData(source,"deaths3"),getElementData(source,"level"),getElementData(source,"experience"),getElementData(source,"Group") or "Nenhum", Totalkills/getElementData(source,"deaths3"), accountName)
- end
- end
- end
- end
- end
- addEventHandler("onPlayerLogin", getRootElement(), iRankLogin)
- function iRankElements()
- for index, player in ipairs ( getElementsByType ( "player" ) ) do
- local account = getPlayerAccount(player)
- if account then
- if getElementData(player, "logedin") then
- if getElementType(player) == "player" then
- local Name = getPlayerName(player)
- local accountName = getAccountName (account)
- local Totalkills = getElementData(player,"Totalkills") or 0
- local check = dbPoll(dbQuery(db, "SELECT * FROM rank WHERE conta = ?", accountName), -1)
- if type(check) == "table" and #check == 0 or not check then
- dbExec(db, "INSERT INTO rank(nome,conta,kills,deaths,alivetime,level,exp, clan, kdr) VALUES(?,?,?,?,?,?,?,?,?)",
- Name, accountName,Totalkills,getElementData(player, "deaths3"),getElementData(player,"alivetime"),getElementData(player,"level") or 0,getElementData(player,"experience") or 0,getElementData(player,"Group") or "Nenhum", 0);
- else
- for i,res in ipairs (check) do
- dbExec(db, "UPDATE rank SET nome = ?, kills = ?, alivetime = ?, deaths = ?, level = ?, exp = ?, clan = ?, kdr = ? WHERE conta = ?",
- Name,Totalkills, getElementData(player,"alivetime"),getElementData(player,"deaths3"),getElementData(player,"level"),getElementData(player,"experience"),getElementData(player,"Group") or "Nenhum", Totalkills/getElementData(player,"deaths3"), accountName)
- end
- end
- end
- end
- end
- end
- end
- setTimer(iRankElements,3600000,0)
- local iDiasDaSemana = { "Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sabado" }
- function iRankSemanalElements()
- local time = getRealTime(timestamp)
- if (iDiasDaSemana[time.weekday+1] == "Segunda-feira" and time.hour == 0 and time.minute == 1 ) then
- dbExec(db, "UPDATE ranksemanal SET kills = ?,deaths = ?,kdr= ?",0,0,0);
- dbExec(db, "UPDATE rankclansemanal SET membros = ?,kills = ?,mortes= ? ,kdr = ?,level = ?",0,0,0,0,0);
- end
- end
- setTimer(iRankSemanalElements,2000,0)
- function iMorreuMizeravi(killer, headshot, weapon)
- if getElementType(source) == "player" or getElementType(killer) == "player" then
- if getElementData(source, "logedin") or getElementData(killer, "logedin") then
- local cMorreu = getElementData(source, "Group")
- local cMatou = getElementData(killer, "Group")
- local acc1 = getPlayerAccount(source)
- local acc2 = getPlayerAccount(killer)
- local accountName1 = getAccountName (acc1)
- local accountName2 = getAccountName (acc2)
- local nameMatou = getPlayerName(killer)
- local nameMorreu = getPlayerName(source)
- local RCMorreu = dbPoll(dbQuery(db, "SELECT * FROM rankclan WHERE clan = ?", cMorreu), -1)
- local RCMorreuS = dbPoll(dbQuery(db, "SELECT * FROM rankclansemanal WHERE clan = ?", cMorreu), -1)
- local RCMatou = dbPoll(dbQuery(db, "SELECT * FROM rankclan WHERE clan = ?", cMatou), -1)
- local RCMatouS = dbPoll(dbQuery(db, "SELECT * FROM rankclansemanal WHERE clan = ?", cMatou), -1)
- local RSemanalMatou = dbPoll(dbQuery(db, "SELECT * FROM ranksemanal WHERE conta = ?", accountName2), -1)
- local RSemanalMorreu = dbPoll(dbQuery(db, "SELECT * FROM ranksemanal WHERE conta = ?", accountName1), -1)
- for i,re in ipairs (RCMorreu) do
- dbExec(db, "UPDATE rankclan SET membros = ?, mortes = ? WHERE clan = ?",
- #exports["group"]:getGroupMembers(cMorreu),re["mortes"]+1, cMorreu)
- end
- for i,re in ipairs (RCMorreuS) do
- dbExec(db, "UPDATE rankclansemanal SET membros = ?, mortes = ? WHERE clan = ?",
- #exports["group"]:getGroupMembers(cMorreu),re["mortes"]+1, cMorreu)
- end
- for i,res in ipairs (RCMorreu) do
- dbExec(db, "UPDATE rankclan SET kdr = ? WHERE clan = ?",
- string.format("%.2f", res["kills"]/res["mortes"]), cMorreu)
- end
- for i,res in ipairs (RCMorreuS) do
- dbExec(db, "UPDATE rankclansemanal SET kdr = ? WHERE clan = ?",
- string.format("%.2f", res["kills"]/res["mortes"]), cMorreu)
- end
- for i,re in ipairs (RCMatou) do
- dbExec(db, "UPDATE rankclan SET membros = ?, kills = ? WHERE clan = ?",
- #exports["group"]:getGroupMembers(cMatou),re["kills"]+1, cMatou)
- end
- for i,re in ipairs (RCMatouS) do
- dbExec(db, "UPDATE rankclansemanal SET membros = ?, kills = ? WHERE clan = ?",
- #exports["group"]:getGroupMembers(cMatou),re["kills"]+1, cMatou)
- end
- for i,res in ipairs (RCMatou) do
- dbExec(db, "UPDATE rankclan SET kdr = ? WHERE clan = ?",
- string.format("%.2f", res["kills"]/res["mortes"]), cMatou)
- end
- for i,res in ipairs (RCMatouS) do
- dbExec(db, "UPDATE rankclansemanal SET kdr = ? WHERE clan = ?",
- string.format("%.2f", res["kills"]/res["mortes"]), cMatou)
- end
- for i,re in ipairs (RSemanalMorreu) do
- dbExec(db, "UPDATE ranksemanal SET nome = ?,deaths = ? WHERE conta = ?",
- nameMorreu,re["deaths"]+1, accountName1)
- end
- for i,re in ipairs (RSemanalMatou) do
- dbExec(db, "UPDATE ranksemanal SET nome = ?, kills = ? WHERE conta = ?",
- nameMatou,re["kills"]+1, accountName2)
- end
- end
- end
- end
- addEvent("kilLDayZPlayer", true)
- addEventHandler("kilLDayZPlayer", getRootElement(), iMorreuMizeravi)
- function iLoginMizeravi(iSanData)
- if ( iSanData == "logedin" or iSanData == "Group") then
- local clan = getElementData(source, "Group")
- local accountName = getAccountName (getPlayerAccount(source))
- local Name = getPlayerName(source)
- local cRCS = dbPoll(dbQuery(db, "SELECT * FROM rankclansemanal WHERE clan = ?", clan), -1)
- local cRC = dbPoll(dbQuery(db, "SELECT * FROM rankclan WHERE clan = ?", clan), -1)
- local pRankSemanal = dbPoll(dbQuery(db, "SELECT * FROM ranksemanal WHERE conta = ?", accountName), -1)
- local pRank = dbPoll(dbQuery(db, "SELECT * FROM rank WHERE conta = ?", accountName), -1)
- if clan == nil or clan == false then
- else
- if type(cRCS) == "table" and #cRCS == 0 or not cRCS then
- dbExec(db, "INSERT INTO rankclansemanal(clan,membros,kills,kdr,level,mortes) VALUES(?,?,?,?,?,?)",
- clan, #exports["group"]:getGroupMembers(clan),0,0,0,0);
- end
- if type(cRC) == "table" and #cRC == 0 or not cRC then
- dbExec(db, "INSERT INTO rankclan(clan,membros,kills,kdr,level,mortes) VALUES(?,?,?,?,?,?)",
- clan, #exports["group"]:getGroupMembers(clan),0,0,0,0);
- end
- end
- if type(pRankSemanal) == "table" and #pRankSemanal == 0 or not pRankSemanal then
- dbExec(db, "INSERT INTO ranksemanal(nome,conta,kills,deaths,kdr,clan) VALUES(?,?,?,?,?,?)",
- Name,accountName,0,0,0,clan);
- else
- dbExec(db, "UPDATE ranksemanal SET nome = ?,clan = ? WHERE conta = ?",
- Name,clan,accountName);
- end
- end
- end
- addEventHandler("onElementDataChange", root, iLoginMizeravi)
- --- Receber nas GUI
- function RankDados()
- local TopRank = {}
- local p = dbPoll(dbQuery(db, "SELECT * FROM rank"), -1)
- if type(p) == "table" and #p == 0 or not p then
- else
- for i = 1,#p do
- table.insert(TopRank,{name = p[i].nome,score = p[i].kills, deaths = p[i].deaths, kdr = p[i].kdr, alivetime = p[i].alivetime, level = p[i].level, expe = p[i].exp, clan = p[i].clan})
- end
- table.sort(TopRank, function(a,b) return (tonumber(a.score)or 0) > (tonumber(b.score)or 0) end)
- for k, data in ipairs(TopRank) do
- if k == 101 then break end
- triggerClientEvent(source, "iRanks.RankTesteOpen", source, tostring(data.name), tostring(data.score),tostring(data.deaths),tostring(data.kdr),tostring(data.alivetime),tostring(data.level),tostring(data.expe),tostring(data.clan), tonumber(k))
- end
- end end
- addEvent("iRanks.ReceberRank",true)
- addEventHandler("iRanks.ReceberRank",root, RankDados)
- function RankDadosSemanal()
- local TopRankSemanal = {}
- local p = dbPoll(dbQuery(db, "SELECT * FROM ranksemanal"), -1)
- if type(p) == "table" and #p == 0 or not p then
- else
- for i = 1,#p do
- table.insert(TopRankSemanal,{name = p[i].nome,score = p[i].kills, kdr = p[i].kdr, clan = p[i].clan})
- end
- table.sort(TopRankSemanal, function(a,b) return (tonumber(a.score)or 0) > (tonumber(b.score)or 0) end)
- for k, data in ipairs(TopRankSemanal) do
- if k == 101 then break end
- triggerClientEvent(source, "iRanks.RankSemanal", source, tostring(data.name), tostring(data.score),tostring(data.kdr),tostring(data.clan), tonumber(k))
- end
- end end
- addEvent("iRanks.ReceberRankSemanal",true)
- addEventHandler("iRanks.ReceberRankSemanal",root, RankDadosSemanal)
- function RankClanDados()
- local TopClan = {}
- local p = dbPoll(dbQuery(db, "SELECT * FROM rankclan"), -1)
- if type(p) == "table" and #p == 0 or not p then
- else
- for i = 1,#p do
- table.insert(TopClan,{name = p[i].clan,membros = p[i].membros, score = p[i].kills,kdr = p[i].kdr,level = p[i].level})
- end
- table.sort(TopClan, function(a,b) return (tonumber(a.score)or 0) > (tonumber(b.score)or 0) end)
- for k, data in ipairs(TopClan) do
- if k == 101 then break end
- triggerClientEvent(source, "iRanks.RankClanOpen", source, tonumber(k), tostring(data.name), tostring(data.membros), tostring(data.score),tostring(data.kdr), tostring(data.level))
- end
- end end
- addEvent("iRanks.RankClan",true)
- addEventHandler("iRanks.RankClan",root, RankClanDados)
- function RankClanSemanal()
- local TopClan = {}
- local p = dbPoll(dbQuery(db, "SELECT * FROM rankclansemanal"), -1)
- if type(p) == "table" and #p == 0 or not p then
- else
- for i = 1,#p do
- table.insert(TopClan,{name = p[i].clan,membros = p[i].membros, score = p[i].kills,kdr = p[i].kdr,level = p[i].level})
- end
- table.sort(TopClan, function(a,b) return (tonumber(a.score)or 0) > (tonumber(b.score)or 0) end)
- for k, data in ipairs(TopClan) do
- if k == 101 then break end
- triggerClientEvent(source, "iRanks.RankClanSemanal", source, tonumber(k), tostring(data.name), tostring(data.membros), tostring(data.score),tostring(data.kdr), tostring(data.level))
- end
- end end
- addEvent("iRanks.RankClanGetSemanal",true)
- addEventHandler("iRanks.RankClanGetSemanal",root, RankClanSemanal)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement