end round
This commit is contained in:
@@ -8,8 +8,12 @@ traitormod.gamemodes = {}
|
|||||||
|
|
||||||
traitormod.disableRadioChat = false
|
traitormod.disableRadioChat = false
|
||||||
|
|
||||||
|
local endingRound = false
|
||||||
|
local roundEndDelay = 0
|
||||||
|
|
||||||
local traitorAssignDelay = 0
|
local traitorAssignDelay = 0
|
||||||
local traitorsAssigned = true
|
local traitorsAssigned = true
|
||||||
|
local traitorsRoundStartAssigned = false
|
||||||
local warningClients = {}
|
local warningClients = {}
|
||||||
|
|
||||||
local config = dofile("lua/traitormod/traitorconfig.lua")
|
local config = dofile("lua/traitormod/traitorconfig.lua")
|
||||||
@@ -203,10 +207,11 @@ traitormod.assignNormalTraitors = function(amount)
|
|||||||
for key, va in pairs(traitormod.selectedCodeResponses) do
|
for key, va in pairs(traitormod.selectedCodeResponses) do
|
||||||
mess = mess .. "\"" .. va .. "\" "
|
mess = mess .. "\"" .. va .. "\" "
|
||||||
end
|
end
|
||||||
|
|
||||||
mess = mess .. "\n(You can type in local chat !traitor, to check this information again.)"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
mess = mess .. "\n(You can type in local chat !traitor, to check this information again.)"
|
||||||
|
|
||||||
|
|
||||||
Game.Log(value.name ..
|
Game.Log(value.name ..
|
||||||
" Was assigned to be traitor, his first mission is to kill " ..
|
" Was assigned to be traitor, his first mission is to kill " ..
|
||||||
traitormod.roundtraitors[value].objectiveTarget.name, 6)
|
traitormod.roundtraitors[value].objectiveTarget.name, 6)
|
||||||
@@ -353,6 +358,8 @@ Hook.Add("roundEnd", "traitor_end", function()
|
|||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
traitorsRoundStartAssigned = false
|
||||||
|
endingRound = false
|
||||||
traitormod.roundtraitors = {}
|
traitormod.roundtraitors = {}
|
||||||
traitormod.selectedCodeResponses = {}
|
traitormod.selectedCodeResponses = {}
|
||||||
traitormod.selectedCodePhrases = {}
|
traitormod.selectedCodePhrases = {}
|
||||||
@@ -366,8 +373,32 @@ Hook.Add("think", "traitor_think", function()
|
|||||||
traitormod.assignNormalTraitors(amount)
|
traitormod.assignNormalTraitors(amount)
|
||||||
|
|
||||||
traitorsAssigned = true
|
traitorsAssigned = true
|
||||||
|
traitorsRoundStartAssigned = true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if endingRound == true and roundEndDelay < Timer.GetTime() then
|
||||||
|
Game.ExecuteCommand('endgame')
|
||||||
|
|
||||||
|
endingRound = false
|
||||||
|
end
|
||||||
|
|
||||||
|
if traitorsRoundStartAssigned and config.endRoundWhenAllTraitorsDie then
|
||||||
|
local num = 0
|
||||||
|
|
||||||
|
for key, value in pairs(traitormod.roundtraitors) do
|
||||||
|
if key.IsDead == false then num = num + 1 end
|
||||||
|
end
|
||||||
|
|
||||||
|
if num == 0 then
|
||||||
|
Game.SendMessage('All traitors died! Ending round in ' .. config.endRoundDelayInSeconds .. ' seconds.', 1)
|
||||||
|
|
||||||
|
endingRound = true
|
||||||
|
roundEndDelay = Timer.GetTime() + config.endRoundDelayInSeconds
|
||||||
|
traitorsRoundStartAssigned = false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
for key, value in pairs(Player.GetAllCharacters()) do
|
for key, value in pairs(Player.GetAllCharacters()) do
|
||||||
|
|
||||||
if warningClients[value] == nil then
|
if warningClients[value] == nil then
|
||||||
|
|||||||
@@ -15,6 +15,9 @@ config.amountCodewords = 2
|
|||||||
config.traitorSpawnDelay = 60
|
config.traitorSpawnDelay = 60
|
||||||
config.nextMissionDelay = 60
|
config.nextMissionDelay = 60
|
||||||
|
|
||||||
|
config.endRoundWhenAllTraitorsDie = false
|
||||||
|
config.endRoundDelayInSeconds = 60
|
||||||
|
|
||||||
config.traitorShipEnabled = true -- set this to false for the respawn shuttles to work
|
config.traitorShipEnabled = true -- set this to false for the respawn shuttles to work
|
||||||
config.traitorShipChance = 15
|
config.traitorShipChance = 15
|
||||||
config.traitorShipGodModeDistance = 4000
|
config.traitorShipGodModeDistance = 4000
|
||||||
|
|||||||
Reference in New Issue
Block a user