Skip to main content

User Experience Features

This page catalogues the miscellanious UI and User Experience settings TAMods provides.

UI Customisation

Damage Numbers

The variables below provide simple damage number customisation; more complex modification can be achieved with the damage number events.

damageNumbersLimitinteger0Hides damage numbers below this amount of damage
damageNumbersOffsetXfloat0.0X offset to apply to damage numbers
damageNumbersOffsetYfloat0.0Y offset to apply to damage numbers
damageNumbersScalefloat1.0Scaling factor to apply to damage numbers
revertOriginalDamageNumbersbooleanfalseUse GOTY (pre-OOTB) damage number positioning
revertOriginalDamageNumbersThresholdinteger150If the above is true, use GOTY positioning below this amount
showDamageNumberStreambooleanfalseShow total damage done rather than damage per shot
showChainBulletHitCountbooleanfalseShow the hit count rather than damage per shot
damageNumberStreamTimeoutfloat0.5Reset the damage/hit stream count after not landing a hit for this many seconds
damageNumberCustomTextstring""Show custom text instead of damage numbers
showRainbowbooleanfalseRainbow damage numbers
damageNumbersColorMinColorrgb(255, 255, 255)The initial colour of the damage number
damageNumbersColorMaxColorrgb(248, 83, 83)The final colour of the damage number

Gameplay and Graphics

showWeaponbooleantrueWhether to show the weapon model
showBodyMeshbooleantrueWhether to show the player body mesh
useFOVScalingbooleantrueWhether to scale sensitivity with FOV; disabling may improve precision with whole number sensitivity
sensfloat10.0Mouse sensitivity for when FOV scaling is disabled
sensZoomfloat5.0First zoom level sensitivity for when FOV scaling is disabled
sensZoooomfloat2.0Second zoom level sensitivity for when FOV scaling is disabled
customWeaponOffsetbooleanfalseWhether to offset the position of the weapon model
weaponOffsetVectorVector(0.0,0.0,0.0)The weapon model offset to use

sensitivity(sens: float)

Modify in-game sensitivity (either FOV-scaled or not) to the given value.

gamma(gamma: float)

Set the in-game graphics gamma to the given value.

Hud Colours

friendlyChatColorColorrgb(158,208,212)Colour for friendly console messages
enemyChatColorColorrgb(255,111,111)Colour for enemy console messages
whisperChatColorColorrgb(207,165,101)Colour for private messages
friendlyHUDChatColorColorrgb(158,208,211)Colour for friendly HUD chat messages
enemyHUDChatColorColorrgb(249,32,32)Colour for enemy HUD chat messages
friendlyColorColorrgb(119,186,255)Colour for friendly UI elements
enemyColorColorrgb(248,83,83)Colour for enemy UI elements
friendlyMarkerColorColorrgb(115,225,255)Colour for friendly player IFF markers
enemyMarkerColorColorrgb(255,23,23)Colour for enemy player IFF markers
friendlyIsFMarkerColorColorrgb(81,250,85)Colour for friended, friendly player IFF markers
enemyIsFMarkerColorColorrgb(239,164,0)Colour for friended, enemy player IFF markers

UI Display


showCrosshairbooleantrueWhether to show default crosshairs (disabling this does not disable hitmarkers!)
showLaserCrosshairbooleanfalseWhen showCrosshair is false, whether the laser targeter crosshair should still be shown (so that e.g. call-in progress appears)
crosshairScalefloat1.0Scaling factor to apply to crosshairs
crosshairColorColorrgb(255,255,255)Colour to apply to crosshairs


showObjectiveIconbooleantrueWhether to show objective icons
showObjectiveTextbooleantrueWhether to show objective text
showFlagBaseIconbooleantrueWhether to show the flag base icon
showFlagHomeBaseIconbooleantrueWhether to show the flag base icon when the flag is home
showCTFBaseIconbooleantrueWhether to show the base icon in CTF
showNuggetIconbooleantrueWhether to show the nugget icon
showPlayerIconbooleantrueWhether to show player icons
showVehicleIconbooleantrueWhether to show the Vehicle Pad icon
showMineIconbooleantrueWhether to show icons for mines
showMineTextbooleantrueWhether to show text for mines
showSensorIconbooleantrueWhether to show sensor icons

Miscellaneous UI

skiBarMininteger30Minimum value to display on the ski bars
skiBarMaxinteger300Maximum value to display on the ski bars
IFFScalefloat1.0Scale factor to apply to IFF markers
showFirstPersonAmmobooleanfalseWhether to always show the floating ammo counter even when disabled in-game
consoleSizefloat0.75The proportion of the screen the full console covers
consoleTransparencyfloat0.8The background transparency of the console


The MagicChain feature allows for user-adjustable latency compensation for automatic weapons.

useMagicChainbooleanfalseEnables MagicChain compensation
useSmallBulletsbooleanfalseWhether to use smaller chain tracers (a.k.a. 'simulated projectiles off')
centerBulletSpawnbooleanfalseSpawn bullet tracers in the centre of the screen
bulletPingMultiplierfloat1.0Latency compensation multiplier (2x will compensate for twice your ping etc.)
bulletSpawnDelayfloat0.0Delay before spawning bullet tracers
customBulletSpawnOffsetbooleanfalseWhether use a custom spawn offset for bullet tracers
bulletSpawnOffsetVectorVector(180.0, 0.0, 0.0)The custom spawn offset to use for bullet tracers

Roam Map

disableBaseTurretsbooleanfalseWhether to turn off base turrets in roam map
disablePowerbooleanfalseWhether to disable gen power in roam map
maxSpeedWithFlaginteger0The flag drag speed cap in roam map (0 = no flag drag)
decelerationRateWithFlaginteger10The deceleration to use with flag drag in roam map

In addition, the following functions correspond to console commands, and are available via the API to allow for keybinds.


Toggles roam map base turrets on / off.


Toggles roam map base power on / off.


Returns both flags in roam map.


TAMods can display and save player and team statistics at the end of a match.

The team statistics in particular are useful for recording game results (this feature has been used to log results of Australian pickup games for analysis).

recordStatsbooleanfalseWhether to enable individual statistics
recordTeamStatsbooleanfalseIf recordStats is enabled, also save team stats
saveStatsbooleanfalseWhether to save individual statistics to file
saveTeamStatsbooleanfalseWhether to save team statistics to file

Statistics files are saved in comma-separated value (CSV) format to the configuration directory; stats for multiple matches will be appended to the same file.


say(message: string)

Say the given message in global game chat.

teamsay(message: string)

Say the message in team chat.

Global Player Mute

The global player mute allows you to mute chat and direct messages from a player, persisting between game restarts (unlike the in-game mechanism). It is also customisable - you can mute only VGS commands from a given player, for instance.

MutedPlayer Data Type

The MutedPlayer datatype has the following properties

usernamestringThe user to mute
muteVGSbooleanWhether to mute VGS from this user
muteTextbooleanWhether to mute text chat from this user
muteDirectMessagebooleanWhether to mute direct message from this user

Associated Functions

mplayer(username: string): MutedPlayer

Create a MutedPlayer object with all options muted. This does not actually mute the player, it merely creates the object.

mplayer_custom(username: string, muteVGS: boolean, muteText: boolean, muteDirectMessage: boolean)

Create a MutedPlayer object with the given muting options. This does not actually mute the player, it merely creates the object.

mutePlayer(player: MutedPlayer)

Mute a player with the settings defined by the given MutedPlayer.

Sound Customisation

muteVGSbooleanfalseWhether to mute all VGS sounds
hitSoundModeinteger1What kind of hit sound pitch adjustment to use (1 = normal, 2 = pitch decrease with damage, 3 = pitch increase with damage)
hitSoundPitchMinfloat0.4Minimum pitch hit sounds can be played at
hitSoundPitchMaxfloat1.6Maximum pitch hit sounds can be played at
hitSoundDamageRefinteger600Damage number to use as the reference for dynamic pitch hit sounds (i.e. at this amount of damage, the pitch will be 1.0)

Sound Replacement and Volume Adjustment

Adjusting Default Sounds

You can adjust the volume and pitch of any sound in the game by searching their names.

modifySound(name: string, pitch: float, volume: float)

Modify the sound with the exact given name, adjusting its pitch and volume by the multiplicative factors given.

modifySoundRe(regex: string, pitch: float, volume: float)

Modify sounds matching the given regex pattern, adjusting pitch and volume.

searchSoundRe(regex: string)

Search for sounds matching the regex, printing results to the console.

Replacing In-Game Sounds

Certain in-game sounds can be replaced with a custom sound by setting the variable with the form sound<SoundName> (e.g. soundBluePlate) to be the file path to the desired sound. File paths should be relative to the config directory.

Custom sounds can be volume-adjusted by setting the variable with the form volume<SoundName> (e.g. volumeBluePlate) to be the desired float volume level

The following sounds are available for modification:

Hits and Kills

  • Hit
  • Headshot
  • Kill
  • AirMail
  • BluePlate
  • FirstBlood
  • HeadShotKill
  • ArtilleryShot
  • MeleeKill
  • RoadKill

Sprees and Multi-kills

  • Streak1 (Killing Spree)
  • Streak2 (Rampage)
  • Streak3 (Relentless)
  • Streak4 (Unstoppable)
  • Streak5 (The Slayer)
  • MultiKill1 (Double Kill)
  • MultiKill2 (Triple Kill)
  • MultiKill3 (Quatra Kill)
  • MultiKill4 (Ultra Kill)
  • MultiKill5 (Team Kill)

Flag Events

  • FastGrab
  • FlagBlueGrab
  • FlagRedGrab
  • FlagBluePickup
  • FlagRedPickup
  • FlagBlueCapture
  • FlagRedCapture
  • FlagBlueReturn
  • FlagRedReturn
  • FlagBlueDrop
  • FlagRedDrop