Compare commits

..

No commits in common. "14645dbc90af6c02074c64a5e23ec7c4649cfa5f" and "5cecda05f1d52080404bdfab7b8f6a6d660fe94f" have entirely different histories.

View File

@ -12,8 +12,6 @@ local splits = {}
local PATCH = nil local PATCH = nil
local help = true local help = true
local EncoreInitial = nil local EncoreInitial = nil
local cv_teamchange
local scoreTable
-- Tracks if stats have been written or not -- Tracks if stats have been written or not
local StatTrack = false local StatTrack = false
@ -83,24 +81,11 @@ local cv_gui = CV_RegisterVar({
PossibleValue = {Off = GUI_OFF, Splits = GUI_SPLITS, On = GUI_ON} PossibleValue = {Off = GUI_OFF, Splits = GUI_SPLITS, On = GUI_ON}
}) })
local AntiAFK = true local cv_afk = CV_RegisterVar({
CV_RegisterVar({
name = "lb_afk", name = "lb_afk",
defaultvalue = 1, defaultvalue = 1,
flags = CV_NETVAR | CV_CALL, flags = CV_NETVAR,
PossibleValue = CV_OnOff, PossibleValue = CV_OnOff
func = function(v)
-- Set players afkTime and toggle AntiAFK
if v.value then
for p in players.iterate do
p.afkTime = leveltime
end
AntiAFK = true
else
AntiAFK = false
end
end
}) })
local cv_enable = CV_RegisterVar({ local cv_enable = CV_RegisterVar({
@ -254,7 +239,7 @@ if f then
flags = tonumber(t[7]) flags = tonumber(t[7])
end end
scoreTable = getScoreTable(tonumber(t[1]), flags) or {} local scoreTable = getScoreTable(tonumber(t[1]), flags) or {}
local spl = {} local spl = {}
if t[6] != nil then if t[6] != nil then
@ -675,7 +660,7 @@ function ticsToTime(tics, pure)
return string.format( return string.format(
"%d:%02d:%02d", "%d:%02d:%02d",
G_TicsToMinutes(tics, true), G_TicsToMinutes(tics),
G_TicsToSeconds(tics), G_TicsToSeconds(tics),
G_TicsToCentiseconds(tics) G_TicsToCentiseconds(tics)
) )
@ -922,9 +907,9 @@ local function drawScroll(v, player, scoreTable, gui)
local x = 10 local x = 10
if #scoreTable >= 10 then if #scoreTable >= 10 then
x = x + 8 x = x + 8
if #scoreTable >= 100 then end
x = x + 8 if #scoreTable >= 100 then
end x = x + 8
end end
local y = FixedInt(scrollY) local y = FixedInt(scrollY)
@ -976,6 +961,8 @@ local function drawScoreboard(v, player)
cachePatches(v) cachePatches(v)
local scoreTable = getScoreTable(gamemap, Flags)
local gui = cv_gui.value local gui = cv_gui.value
if leveltime < START_TIME or player.exiting or player.lives == 0 then if leveltime < START_TIME or player.exiting or player.lives == 0 then
gui = GUI_ON gui = GUI_ON
@ -1022,7 +1009,7 @@ end
-- Find location of player and scroll to it -- Find location of player and scroll to it
function scroll_to(player) function scroll_to(player)
local m = scoreTable or {} local m = getScoreTable(gamemap, Flags) or {}
scrollToPos = 2 scrollToPos = 2
for pos, score in ipairs(m) do for pos, score in ipairs(m) do
@ -1051,8 +1038,7 @@ local function writeStats()
end end
local function saveTime(player) local function saveTime(player)
local scoreTable = getScoreTable(gamemap, Flags) or {}
scoreTable = $ or {}
local pskin = skins[player.mo.skin] local pskin = skins[player.mo.skin]
local newscore = score_t( local newscore = score_t(
@ -1159,30 +1145,28 @@ local function think()
end end
if disable then if disable then
if AntiAFK then if cv_afk.value and ingame() > 1 then
if ingame() > 1 then for p in players.iterate do
for p in players.iterate do if p.valid and not p.spectator and not p.exiting and p.lives > 0 then
if p.valid and not p.spectator and not p.exiting and p.lives > 0 then if p.cmd.buttons then
if p.cmd.buttons then
p.afkTime = leveltime
end
--Away from kart
if p.afkTime + AFK_BALANCE_WARN == leveltime then
chatprintf(p, "[AFK] \x89You will be moved to spectator in 10 seconds!", false)
S_StartSound(nil, 26, p)
end
if p.afkTime + AFK_BALANCE < leveltime then
p.spectator = true
chatprint("\x89" + p.name + " was moved to the other team for game balance", true)
end
end
end
else
for p in players.iterate do
if p.valid and not p.spectator then
p.afkTime = leveltime p.afkTime = leveltime
end end
--Away from kart
if p.afkTime + AFK_BALANCE_WARN == leveltime then
chatprintf(p, "[AFK] \x89You will be moved to spectator in 10 seconds!", false)
S_StartSound(nil, 26, p)
end
if p.afkTime + AFK_BALANCE < leveltime then
p.spectator = true
chatprint("\x89" + p.name + " was moved to the other team for game balance", true)
end
end
end
else
for p in players.iterate do
if p.valid and not p.spectator then
p.afkTime = leveltime
end end
end end
end end
@ -1233,34 +1217,29 @@ local function think()
end end
if clearcheats then if clearcheats then
clearcheats = false clearcheats = false
for q in players.iterate do for p in players.iterate do
q.SPBAKARTBIG = false p.SPBAKARTBIG = false
q.SPBAjustice = false p.SPBAjustice = false
q.SPBAshutup = false p.SPBAshutup = false
end end
end end
for p in players.iterate do
if p then if not p.spectator then
if p.SPBAKARTBIG then if p.SPBAKARTBIG then
Flags = $ | F_SPBBIG Flags = $ | F_SPBBIG
end end
if p.SPBAjustice then if p.SPBAjustice then
Flags = $ | F_SPBJUS Flags = $ | F_SPBJUS
end
end end
end end
end end
if not (Flags & F_SPBATK) then if not (Flags & F_SPBATK) then
hud.enable("freeplay") hud.enable("freeplay")
end end
end end
scoreTable = getScoreTable(gamemap, Flags) local cv_teamchange = CV_FindVar("allowteamchange")
if not cv_teamchange then
cv_teamchange = CV_FindVar("allowteamchange")
end
if p then if p then
-- Scroll controller -- Scroll controller
-- Spectators can't input buttons so let the gamer do it -- Spectators can't input buttons so let the gamer do it
@ -1285,15 +1264,13 @@ local function think()
p.afkTime = leveltime p.afkTime = leveltime
end end
if not replayplayback then if leveltime > PREVENT_JOIN_TIME and p.afkTime + AFK_TIMEOUT > leveltime then
if leveltime > PREVENT_JOIN_TIME and p.afkTime + AFK_TIMEOUT > leveltime then if cv_teamchange.value then
if cv_teamchange.value then allowJoin(false)
allowJoin(false) end
end elseif p.afkTime + AFK_TIMEOUT < leveltime then
elseif p.afkTime + AFK_TIMEOUT < leveltime then if not cv_teamchange.value then
if not cv_teamchange.value then allowJoin(true)
allowJoin(true)
end
end end
end end
@ -1313,17 +1290,11 @@ local function interThink()
COM_BufInsertText(server, "map " + nextMap) COM_BufInsertText(server, "map " + nextMap)
nextMap = nil nextMap = nil
end end
if not CV_FindVar("allowteamchange").value then
if not cv_teamchange then
cv_teamchange = CV_FindVar("allowteamchange")
end
if not cv_teamchange.value then
allowJoin(true) allowJoin(true)
end end
end end
addHook("IntermissionThinker", interThink) addHook("IntermissionThinker", interThink)
addHook("VoteThinker", interThink)
-- Returns the values clamed between min, max -- Returns the values clamed between min, max
function clamp(min_v, v, max_v) function clamp(min_v, v, max_v)