forked from Simnation/Main
Update server.lua
This commit is contained in:
parent
0686dcdea2
commit
7fb00900b0
1 changed files with 84 additions and 0 deletions
|
@ -361,3 +361,87 @@ AddEventHandler('onResourceStop', function(resourceName)
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
-- In server.lua hinzufügen
|
||||||
|
RegisterNetEvent('tdm:requestScoreUpdate', function(gameId)
|
||||||
|
local src = source
|
||||||
|
|
||||||
|
if activeGames[gameId] then
|
||||||
|
local game = activeGames[gameId]
|
||||||
|
|
||||||
|
-- Score an alle Spieler senden
|
||||||
|
for _, playerId in pairs(game.team1) do
|
||||||
|
TriggerClientEvent('tdm:updateScore', playerId, game.team1Score, game.team2Score, {
|
||||||
|
hits = game.playerStats[playerId] and game.playerStats[playerId].hits or 0,
|
||||||
|
deaths = game.playerStats[playerId] and game.playerStats[playerId].deaths or 0
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
for _, playerId in pairs(game.team2) do
|
||||||
|
TriggerClientEvent('tdm:updateScore', playerId, game.team1Score, game.team2Score, {
|
||||||
|
hits = game.playerStats[playerId] and game.playerStats[playerId].hits or 0,
|
||||||
|
deaths = game.playerStats[playerId] and game.playerStats[playerId].deaths or 0
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- Erweiterte playerWasHit Event
|
||||||
|
RegisterNetEvent('tdm:playerWasHit', function(gameId, victimTeam, attackerId)
|
||||||
|
local victim = source
|
||||||
|
|
||||||
|
if not activeGames[gameId] then return end
|
||||||
|
|
||||||
|
local game = activeGames[gameId]
|
||||||
|
|
||||||
|
-- Spieler Stats initialisieren falls nicht vorhanden
|
||||||
|
if not game.playerStats then
|
||||||
|
game.playerStats = {}
|
||||||
|
end
|
||||||
|
|
||||||
|
if not game.playerStats[victim] then
|
||||||
|
game.playerStats[victim] = {hits = 0, deaths = 0}
|
||||||
|
end
|
||||||
|
|
||||||
|
if attackerId and not game.playerStats[attackerId] then
|
||||||
|
game.playerStats[attackerId] = {hits = 0, deaths = 0}
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Stats updaten
|
||||||
|
game.playerStats[victim].deaths = game.playerStats[victim].deaths + 1
|
||||||
|
|
||||||
|
if attackerId then
|
||||||
|
game.playerStats[attackerId].hits = game.playerStats[attackerId].hits + 1
|
||||||
|
TriggerClientEvent('tdm:hitRegistered', attackerId)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Team Score erhöhen
|
||||||
|
if victimTeam == 'team1' then
|
||||||
|
game.team2Score = game.team2Score + 1
|
||||||
|
else
|
||||||
|
game.team1Score = game.team1Score + 1
|
||||||
|
end
|
||||||
|
|
||||||
|
TriggerClientEvent('tdm:deathRegistered', victim)
|
||||||
|
|
||||||
|
-- Score an alle Spieler senden
|
||||||
|
local allPlayers = {}
|
||||||
|
for _, playerId in pairs(game.team1) do
|
||||||
|
table.insert(allPlayers, playerId)
|
||||||
|
end
|
||||||
|
for _, playerId in pairs(game.team2) do
|
||||||
|
table.insert(allPlayers, playerId)
|
||||||
|
end
|
||||||
|
|
||||||
|
for _, playerId in pairs(allPlayers) do
|
||||||
|
TriggerClientEvent('tdm:updateScore', playerId, game.team1Score, game.team2Score, {
|
||||||
|
hits = game.playerStats[playerId] and game.playerStats[playerId].hits or 0,
|
||||||
|
deaths = game.playerStats[playerId] and game.playerStats[playerId].deaths or 0
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Spiel beenden prüfen
|
||||||
|
if game.team1Score >= Config.maxHits or game.team2Score >= Config.maxHits then
|
||||||
|
local winnerTeam = game.team1Score >= Config.maxHits and 'team1' or 'team2'
|
||||||
|
endGame(gameId, winnerTeam)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue