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.
| Variable | Type | Default | Description |
|---|---|---|---|
damageNumbersLimit | integer | 0 | Hides damage numbers below this amount of damage |
damageNumbersOffsetX | float | 0.0 | X offset to apply to damage numbers |
damageNumbersOffsetY | float | 0.0 | Y offset to apply to damage numbers |
damageNumbersScale | float | 1.0 | Scaling factor to apply to damage numbers |
revertOriginalDamageNumbers | boolean | false | Use GOTY (pre-OOTB) damage number positioning |
revertOriginalDamageNumbersThreshold | integer | 150 | If the above is true, use GOTY positioning below this amount |
showDamageNumberStream | boolean | false | Show total damage done rather than damage per shot |
showChainBulletHitCount | boolean | false | Show the hit count rather than damage per shot |
damageNumberStreamTimeout | float | 0.5 | Reset the damage/hit stream count after not landing a hit for this many seconds |
damageNumberCustomText | string | "" | Show custom text instead of damage numbers |
showRainbow | boolean | false | Rainbow damage numbers |
damageNumbersColorMin | Color | rgb(255, 255, 255) | The initial colour of the damage number |
damageNumbersColorMax | Color | rgb(248, 83, 83) | The final colour of the damage number |
Gameplay and Graphics
| Variable | Type | Default | Description |
|---|---|---|---|
showWeapon | boolean | true | Whether to show the weapon model |
showBodyMesh | boolean | true | Whether to show the player body mesh |
useFOVScaling | boolean | true | Whether to scale sensitivity with FOV; disabling may improve precision with whole number sensitivity |
sens | float | 10.0 | Mouse sensitivity for when FOV scaling is disabled |
sensZoom | float | 5.0 | First zoom level sensitivity for when FOV scaling is disabled |
sensZoooom | float | 2.0 | Second zoom level sensitivity for when FOV scaling is disabled |
customWeaponOffset | boolean | false | Whether to offset the position of the weapon model |
weaponOffset | Vector | Vector(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
| Variable | Type | Default | Description |
|---|---|---|---|
friendlyChatColor | Color | rgb(158,208,212) | Colour for friendly console messages |
enemyChatColor | Color | rgb(255,111,111) | Colour for enemy console messages |
whisperChatColor | Color | rgb(207,165,101) | Colour for private messages |
friendlyHUDChatColor | Color | rgb(158,208,211) | Colour for friendly HUD chat messages |
enemyHUDChatColor | Color | rgb(249,32,32) | Colour for enemy HUD chat messages |
friendlyColor | Color | rgb(119,186,255) | Colour for friendly UI elements |
enemyColor | Color | rgb(248,83,83) | Colour for enemy UI elements |
friendlyMarkerColor | Color | rgb(115,225,255) | Colour for friendly player IFF markers |
enemyMarkerColor | Color | rgb(255,23,23) | Colour for enemy player IFF markers |
friendlyIsFMarkerColor | Color | rgb(81,250,85) | Colour for friended, friendly player IFF markers |
enemyIsFMarkerColor | Color | rgb(239,164,0) | Colour for friended, enemy player IFF markers |
UI Display
Crosshairs
| Variable | Type | Default | Description |
|---|---|---|---|
showCrosshair | boolean | true | Whether to show default crosshairs (disabling this does not disable hitmarkers!) |
showLaserCrosshair | boolean | false | When showCrosshair is false, whether the laser targeter crosshair should still be shown (so that e.g. call-in progress appears) |
crosshairScale | float | 1.0 | Scaling factor to apply to crosshairs |
crosshairColor | Color | rgb(255,255,255) | Colour to apply to crosshairs |
Icons
| Variable | Type | Default | Description |
|---|---|---|---|
showObjectiveIcon | boolean | true | Whether to show objective icons |
showObjectiveText | boolean | true | Whether to show objective text |
showFlagBaseIcon | boolean | true | Whether to show the flag base icon |
showFlagHomeBaseIcon | boolean | true | Whether to show the flag base icon when the flag is home |
showCTFBaseIcon | boolean | true | Whether to show the base icon in CTF |
showNuggetIcon | boolean | true | Whether to show the nugget icon |
showPlayerIcon | boolean | true | Whether to show player icons |
showVehicleIcon | boolean | true | Whether to show the Vehicle Pad icon |
showMineIcon | boolean | true | Whether to show icons for mines |
showMineText | boolean | true | Whether to show text for mines |
showSensorIcon | boolean | true | Whether to show sensor icons |
Miscellaneous UI
| Variable | Type | Default | Description |
|---|---|---|---|
skiBarMin | integer | 30 | Minimum value to display on the ski bars |
skiBarMax | integer | 300 | Maximum value to display on the ski bars |
IFFScale | float | 1.0 | Scale factor to apply to IFF markers |
showFirstPersonAmmo | boolean | false | Whether to always show the floating ammo counter even when disabled in-game |
consoleSize | float | 0.75 | The proportion of the screen the full console covers |
consoleTransparency | float | 0.8 | The background transparency of the console |
MagicChain
The MagicChain feature allows for user-adjustable latency compensation for automatic weapons.
| Variable | Type | Default | Description |
|---|---|---|---|
useMagicChain | boolean | false | Enables MagicChain compensation |
useSmallBullets | boolean | false | Whether to use smaller chain tracers (a.k.a. 'simulated projectiles off') |
centerBulletSpawn | boolean | false | Spawn bullet tracers in the centre of the screen |
bulletPingMultiplier | float | 1.0 | Latency compensation multiplier (2x will compensate for twice your ping etc.) |
bulletSpawnDelay | float | 0.0 | Delay before spawning bullet tracers |
customBulletSpawnOffset | boolean | false | Whether use a custom spawn offset for bullet tracers |
bulletSpawnOffset | Vector | Vector(180.0, 0.0, 0.0) | The custom spawn offset to use for bullet tracers |
Roam Map
| Variable | Type | Default | Description |
|---|---|---|---|
disableBaseTurrets | boolean | false | Whether to turn off base turrets in roam map |
disablePower | boolean | false | Whether to disable gen power in roam map |
maxSpeedWithFlag | integer | 0 | The flag drag speed cap in roam map (0 = no flag drag) |
decelerationRateWithFlag | integer | 10 | The 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.
toggleTurrets()
Toggles roam map base turrets on / off.
togglePower()
Toggles roam map base power on / off.
returnFlags()
Returns both flags in roam map.
Statistics
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).
| Variable | Type | Default | Description |
|---|---|---|---|
recordStats | boolean | false | Whether to enable individual statistics |
recordTeamStats | boolean | false | If recordStats is enabled, also save team stats |
saveStats | boolean | false | Whether to save individual statistics to file |
saveTeamStats | boolean | false | Whether 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.
Chat
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
| Property | Type | Description |
|---|---|---|
username | string | The user to mute |
muteVGS | boolean | Whether to mute VGS from this user |
muteText | boolean | Whether to mute text chat from this user |
muteDirectMessage | boolean | Whether 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
| Variable | Type | Default | Description |
|---|---|---|---|
muteVGS | boolean | false | Whether to mute all VGS sounds |
hitSoundMode | integer | 1 | What kind of hit sound pitch adjustment to use (1 = normal, 2 = pitch decrease with damage, 3 = pitch increase with damage) |
hitSoundPitchMin | float | 0.4 | Minimum pitch hit sounds can be played at |
hitSoundPitchMax | float | 1.6 | Maximum pitch hit sounds can be played at |
hitSoundDamageRef | integer | 600 | Damage 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
HitHeadshotKillAirMailBluePlateFirstBloodHeadShotKillArtilleryShotMeleeKillRoadKill
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
FastGrabFlagBlueGrabFlagRedGrabFlagBluePickupFlagRedPickupFlagBlueCaptureFlagRedCaptureFlagBlueReturnFlagRedReturnFlagBlueDropFlagRedDrop