ed
This commit is contained in:
parent
78e76690c3
commit
2fd4906414
579 changed files with 6943 additions and 6950 deletions
|
@ -0,0 +1,110 @@
|
|||
local QBCore = exports['qb-core']:GetCoreObject()
|
||||
|
||||
local activeCompetitions = {}
|
||||
|
||||
QBCore.Functions.CreateCallback('qb-shootingrange:getHighscores', function(source, cb)
|
||||
local scores = json.decode(LoadResourceFile(GetCurrentResourceName(), "highscores.json") or "[]")
|
||||
cb(scores)
|
||||
end)
|
||||
|
||||
RegisterNetEvent('qb-shootingrange:saveScore', function(name, score)
|
||||
local scores = json.decode(LoadResourceFile(GetCurrentResourceName(), "highscores.json") or "[]")
|
||||
|
||||
local timestamp = os.date("%d.%m.%Y - %H:%M")
|
||||
|
||||
table.insert(scores, {
|
||||
name = name,
|
||||
score = score,
|
||||
timestamp = timestamp
|
||||
})
|
||||
|
||||
table.sort(scores, function(a, b)
|
||||
return tonumber(a.score) > tonumber(b.score)
|
||||
end)
|
||||
|
||||
while #scores > Config.MaxHighscores do
|
||||
table.remove(scores, #scores)
|
||||
end
|
||||
|
||||
SaveResourceFile(GetCurrentResourceName(), "highscores.json", json.encode(scores, {indent = true}), -1)
|
||||
end)
|
||||
|
||||
RegisterNetEvent("qb-shootingrange:sendInvite")
|
||||
AddEventHandler("qb-shootingrange:sendInvite", function(targetId)
|
||||
local src = source
|
||||
local inviterName = GetPlayerName(src)
|
||||
|
||||
if not activeCompetitions[src] then
|
||||
activeCompetitions[src] = {
|
||||
host = src,
|
||||
players = {},
|
||||
scores = {}
|
||||
}
|
||||
end
|
||||
|
||||
TriggerClientEvent("qb-shootingrange:receiveInvite", targetId, inviterName, src)
|
||||
end)
|
||||
|
||||
RegisterNetEvent("qb-shootingrange:acceptInvite")
|
||||
AddEventHandler("qb-shootingrange:acceptInvite", function(inviterId)
|
||||
local src = source
|
||||
local playerName = GetPlayerName(src)
|
||||
|
||||
if activeCompetitions[inviterId] then
|
||||
activeCompetitions[inviterId].players[src] = true
|
||||
activeCompetitions[inviterId].scores[playerName] = 0
|
||||
|
||||
TriggerClientEvent("qb-shootingrange:playerJoinedCompetition", inviterId, playerName)
|
||||
end
|
||||
end)
|
||||
|
||||
RegisterNetEvent("qb-shootingrange:declineInvite")
|
||||
AddEventHandler("qb-shootingrange:declineInvite", function(inviterId)
|
||||
local src = source
|
||||
local playerName = GetPlayerName(src)
|
||||
TriggerClientEvent("qb-shootingrange:inviteDeclined", inviterId, playerName)
|
||||
end)
|
||||
|
||||
RegisterNetEvent("qb-shootingrange:startCompetition")
|
||||
AddEventHandler("qb-shootingrange:startCompetition", function()
|
||||
local src = source
|
||||
|
||||
if activeCompetitions[src] then
|
||||
for playerId, _ in pairs(activeCompetitions[src].players) do
|
||||
TriggerClientEvent("qb-shootingrange:competitionStarted", playerId)
|
||||
end
|
||||
TriggerClientEvent("qb-shootingrange:competitionStarted", src)
|
||||
end
|
||||
end)
|
||||
|
||||
RegisterNetEvent("qb-shootingrange:cancelCompetition")
|
||||
AddEventHandler("qb-shootingrange:cancelCompetition", function()
|
||||
local src = source
|
||||
|
||||
if activeCompetitions[src] then
|
||||
for playerId, _ in pairs(activeCompetitions[src].players) do
|
||||
TriggerClientEvent("qb-shootingrange:competitionCancelled", playerId)
|
||||
end
|
||||
activeCompetitions[src] = nil
|
||||
end
|
||||
end)
|
||||
|
||||
RegisterNetEvent("qb-shootingrange:updateCompetitionScore")
|
||||
AddEventHandler("qb-shootingrange:updateCompetitionScore", function(score)
|
||||
local src = source
|
||||
local playerName = GetPlayerName(src)
|
||||
|
||||
for _, competition in pairs(activeCompetitions) do
|
||||
if competition.players[src] or competition.host == src then
|
||||
competition.scores[playerName] = score
|
||||
|
||||
for playerId, _ in pairs(competition.players) do
|
||||
TriggerClientEvent("qb-shootingrange:updateCompetition", playerId, competition.scores)
|
||||
end
|
||||
TriggerClientEvent("qb-shootingrange:updateCompetition", competition.host, competition.scores)
|
||||
break
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue