local miles = 0 local kilos = 0 local howfast = 1 addHook("PlayerThink", function(p) if p.mo and p.mo.valid and not p.bot miles = (p.speed / FRACUNIT) * (1 + (2 / 5)) kilos = (p.speed / FRACUNIT) * (2 + (1 / 5)) end end) local function TooFast(player, arg) if arg if arg == "1" or arg == "on" or arg == "fracs" or arg == "fracunits" howfast = 1 CONS_Printf(player, "Speed will be displayed in Fracunits per Tic") elseif arg == "miles" or arg == "2" or arg == "mph" howfast = 2 CONS_Printf(player, "Speed will be displayed in miles per hour") elseif arg == "3" or arg == "kilometers" or arg == "kmh" howfast = 3 CONS_Printf(player, "Speed will be displayed in kilometers per hour.") elseif arg == "0" or arg == "off" or arg == "disable" howfast = 4 CONS_Printf(player, "Speedometer is diabled.") end else CONS_Printf(player, "Changes the style of the speed display") end end COM_AddCommand("speedometer", function(player, arg) TooFast(player, arg) end) local function SPEEDHUD(v) local player = displayplayer if v.dupy() == 1 -- lowest resolution v.YOffset = 4 v.InitialY = 6 elseif v.dupy() == 2 -- above lowest v.YOffset = 8 v.InitialY = 9 elseif v.dupy() == 3 -- 720p+ v.YOffset = 13 v.InitialY = 10 elseif v.dupy() == 4 -- ??? seems to work with 1080p numbers v.YOffset = 14 v.InitialY = 5 elseif v.dupy() == 5 -- 1080p? v.YOffset = 20 v.InitialY = 5 end if howfast == 1 v.drawString(20, (v.InitialY+(v.YOffset*40)), ("\x89\Player Speed: \x88" .. tostring(player.speed / FRACUNIT) .. " FU / T"), V_ALLOWLOWERCASE|V_TRANSLUCENT|V_NOSCALESTART | V_SNAPTORIGHT | V_SNAPTOBOTTOM | V_HUDTRANSHALF, "thin") elseif howfast == 2 v.drawString(20, (v.InitialY+(v.YOffset*40)), ("\x89\Player Speed: \x88" .. tostring(miles) .. " mph"), V_ALLOWLOWERCASE|V_TRANSLUCENT|V_NOSCALESTART | V_SNAPTORIGHT | V_SNAPTOBOTTOM | V_HUDTRANSHALF, "thin") elseif howfast == 3 v.drawString(20, (v.InitialY+(v.YOffset*40)), ("\x89\Player Speed: \x88" .. tostring(kilos) .. " kmh"), V_ALLOWLOWERCASE|V_TRANSLUCENT|V_NOSCALESTART | V_SNAPTORIGHT | V_SNAPTOBOTTOM | V_HUDTRANSHALF, "thin") else return end end hud.add(SPEEDHUD)