COM_AddCommand("srb2tpmctimer", function(player, arg) if arg == "1" then CONS_Printf(player, "Set metal timer to Classic.") player.metaltimemode = 1 elseif arg == "2" then CONS_Printf(player, "Set metal timer to Centiseconds/Mania.") player.metaltimemode = 2 elseif arg == "3" then CONS_Printf(player, "Set metal timer to Tics.") player.metaltimemode = 3 elseif not arg CONS_Printf(player, "srb2rpmctimer: Changes the timer mode. (1 - classic, 2 - mania/centiseconds, 3 - tics.") elseif not (arg == "1" or arg == "2" or arg == "3") CONS_Printf(player, "Invalid timer mode.") end end) addHook("PlayerThink", function(player) if not (player.metaltimemode == 1 or player.metaltimemode == 2 or player.metaltimemode == 3) player.metaltimemode = 1 end if gamemap >= 604 and gamemap <= 624 hud.disable("time") if gamemap == 604 player.metaltimer = 1958 elseif gamemap == 605 player.metaltimer = 2396 elseif gamemap == 606 player.metaltimer = 2133 elseif gamemap == 607 player.metaltimer = 3253 elseif gamemap == 608 player.metaltimer = 3007 elseif gamemap == 609 player.metaltimer = 2203 elseif gamemap == 610 player.metaltimer = 3113 elseif gamemap == 611 player.metaltimer = 2448 elseif gamemap == 612 player.metaltimer = 3761 elseif gamemap == 613 player.metaltimer = 3428 elseif gamemap == 614 player.metaltimer = 5843 elseif gamemap == 615 player.metaltimer = 2133 elseif gamemap == 616 player.metaltimer = 7208 elseif gamemap == 617 player.metaltimer = 3708 elseif gamemap == 618 player.metaltimer = 2712 elseif gamemap == 619 player.metaltimer = 2308 elseif gamemap == 620 player.metaltimer = 5231 elseif gamemap == 621 player.metaltimer = 10449 elseif gamemap == 622 player.metaltimer = 3707 elseif gamemap == 623 player.metaltimer = 4872 elseif gamemap == 624 player.metaltimer = 18476 end if player.realtime >= 3*TICRATE player.metalactualtimer = (player.metaltimer-(player.realtime-3*TICRATE)) else player.metalactualtimer = player.metaltimer end player.metaltimermins = player.metalactualtimer/(TICRATE*60) player.metaltimersecs = (player.metalactualtimer/TICRATE)%60 player.metaltimercents = (((player.metalactualtimer*100)%3500)/35) else hud.enable("time") end end) local function metalthing(v,player) if gamemap >= 604 and gamemap <= 624 if (leveltime % 10 == 5 or leveltime % 10 > 5) and player.metalactualtimer <= 30*TICRATE and not player.exiting v.draw(hudinfo[HUD_TIME].x, hudinfo[HUD_TIME].y, v.cachePatch("STTRTIME"),V_SNAPTOTOP|V_SNAPTOLEFT|V_PERPLAYER) else v.draw(hudinfo[HUD_TIME].x, hudinfo[HUD_TIME].y, v.cachePatch("STTTIME"),V_SNAPTOTOP|V_SNAPTOLEFT|V_PERPLAYER) if player.metaltimemode == 1 or player.metaltimemode == 2 if player.metaltimemode == 2 v.draw(hudinfo[HUD_TIMETICCOLON].x, hudinfo[HUD_TIMETICCOLON].y, v.cachePatch("STTPERIO"),V_SNAPTOTOP|V_SNAPTOLEFT|V_PERPLAYER) end v.draw(hudinfo[HUD_TIMECOLON].x, hudinfo[HUD_TIMECOLON].y, v.cachePatch("STTCOLON"),V_SNAPTOTOP|V_SNAPTOLEFT|V_PERPLAYER) end if player.metaltimemode == 3 v.drawNum(hudinfo[HUD_TICS].x, hudinfo[HUD_TICS].y, player.metalactualtimer,V_SNAPTOTOP|V_SNAPTOLEFT|V_PERPLAYER) else if player.metaltimemode == 2 v.drawNum(hudinfo[HUD_TIMETICCOLON].x+24, hudinfo[HUD_TIMETICCOLON].y, player.metaltimercents%10,V_SNAPTOTOP|V_SNAPTOLEFT|V_PERPLAYER) v.drawNum(hudinfo[HUD_TIMETICCOLON].x+16, hudinfo[HUD_TIMETICCOLON].y, player.metaltimercents/10,V_SNAPTOTOP|V_SNAPTOLEFT|V_PERPLAYER) end v.drawNum(hudinfo[HUD_SECONDS].x, hudinfo[HUD_SECONDS].y, player.metaltimersecs%10,V_SNAPTOTOP|V_SNAPTOLEFT|V_PERPLAYER) v.drawNum(hudinfo[HUD_SECONDS].x-8, hudinfo[HUD_SECONDS].y, player.metaltimersecs/10,V_SNAPTOTOP|V_SNAPTOLEFT|V_PERPLAYER) v.drawNum(hudinfo[HUD_MINUTES].x, hudinfo[HUD_MINUTES].y, player.metaltimermins,V_SNAPTOTOP|V_SNAPTOLEFT|V_PERPLAYER) end end end end hud.add(metalthing,"game")