Editing Additions to existing entities

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
__NOEDITSECTION__
__NOEDITSECTION__
This page lists a number of additions to existing entities, including inputs, outputs, and keyvalues, as well as changes to the Input/Output system as a whole. Not to be confused with [[Custom Entities]], which are entirely new entities.
== Targeting ==
== Targeting ==


Line 37: Line 34:
===Spawnflags===
===Spawnflags===
*'''[64]''' - Spawn as mini-sentry
*'''[64]''' - Spawn as mini-sentry
=== Keyvalues ===
* $attributeoverride <1/0>
** Ignores player attributes and uses keyvalues below instead
*$fireratemult <float>
**Bullet fire rate multiplier
*$rangemult <float>
**range multiplier
*$damagemult <float>
**Damage multiplier
*$maxlevel <int>
**Maximum level
*$rapidfire <1/0>
**Allow firing every tick, rather than after every 3rd tick
*$ammomult <float>
**Ammo multiplier
*$rocketfireratemult <float>
**Rocket fire rate multiplier
*$bulletweapon <string>
**Use a specific weapon name as bullet attack, can be a custom weapon
*$rocketweapon <string>
**Use a specific weapon name as rocket attack, can be a custom weapon
*$allowplayerattributes <1/0>
**Fix for player dependent attributes not working on custom weapon
*$weaponnosound <1/0>
**Disable fire sounds of custom weapon
*$sentrymodelprefix <string>
**Sentry model prefix
**Example: models/buildables/sentry
*$projspeedmult <float>
**Sentry rocket speed multiplier
*$cannotbesapped <1/0>
**This building cannot be sapped
=== Outputs ===
*$OnShootBullet
**Called when the sentry shoots a bullet, the sentry is  <code>!activator</code>
*$OnShootRocket
**Called when the sentry shoots a rocket, the projectile is  <code>!activator</code>
*$OnShootWeaponBullet
**Called when the sentry shoots a bullet weapon, the projectile is <code>!activator</code>
*$OnShootWeaponRocket
**Called when the sentry shoots a rocket weapon, the projectile is  <code>!activator</code>


== Teleporter (obj_teleporter) ==
== Teleporter (obj_teleporter) ==
Line 89: Line 40:
*$TeleportWhere <string>
*$TeleportWhere <string>
**Teleport bots from specified botspawn name. It is possible to add multiple TeleportWhere keys. "all" name will teleport all bots, "small" will teleport all small bots, "giants" will teleport giants and their squad
**Teleport bots from specified botspawn name. It is possible to add multiple TeleportWhere keys. "all" name will teleport all bots, "small" will teleport all small bots, "giants" will teleport giants and their squad
*$attributeoverride <1/0>
** Ignores player attributes and uses keyvalues below instead
*$bidirectional <1/0>
**If the teleport can be used in both directions
*$maxlevel <int>
**Maximum level
*$rechargeratemult <float>
**Recharge rate multiplier
*$speedboost <1/0>
**Apply 4s speed boost after exiting teleporter
*$teleportermodelprefix <string>
**Teleporter model prefix
**Example: models/buildables/teleporter
*$cannotbesapped <1/0>
**This building cannot be sapped
=== Outputs ===
*$OnTeleportReceive
**Teleport exit calls this when it receives a player, the player is  <code>!activator</code>
== Dispenser (obj_dispenser) ==
===Keyvalues===
* $attributeoverride <1/0>
** Ignores player attributes and uses keyvalues below instead
*$radiusmult <float>
**Dispenser radius multiplier
*$maxlevel <int>
**Maximum level
*$ratemult <float>
**Dispenser provided health/ammo multiplier
*$dispensermodelprefix<string>
**Dispenser model prefix
**Example: models/buildables/dispenser
*$cannotbesapped <1/0>
**This building cannot be sapped


==Weapon Mimic (tf_point_weapon_mimic)==
==Weapon Mimic (tf_point_weapon_mimic)==
Line 144: Line 57:
**Set custom kill icon
**Set custom kill icon
*$weaponname <string>
*$weaponname <string>
**Set mimic weapon name, custom weapon names are allowed.  
**Set mimic weapon name, custom weapon names are allowed. example: The Righteous Bison
**Example: The Righteous Bison
**Some weapons (flamethrowers) will not work.
**If the mimic owner is not set, some weapons (The Dragon's Fury) will crash the game, or break in other ways
*$firetime <float>
*$firetime <float>
**Delay between shots for $StartFiring input
**Delay between shots for $StartFiring input
Line 175: Line 85:


*When tank starts deploying, and there is at least one PointTemplate assigned to it, "OnUser4" output is activated
*When tank starts deploying, and there is at least one PointTemplate assigned to it, "OnUser4" output is activated
=== Inputs ===
*$SetGravity <float>
**Set tank gravity. Only for wave spawned tanks
*$SetImmobile <1/0>
**Set if the tank is immobile. Only for wave spawned tanks
*$SetOffsetZ <1/0>
**Set tank offset Z. Only for wave spawned tanks
*$SetTurnRate <1/0>
**Set tank turn rate. Only for wave spawned tanks


=== Outputs===
=== Outputs===
Line 416: Line 316:
***stop interrupt action
***stop interrupt action
****Stops current interrupt action
****Stops current interrupt action
***switch_action action
****switch to different action. Sometimes this may fail (such as when the bot is carrying the bomb):
*****Default
*****FetchFlag
*****EscortFlag
*****PushToCapturePoint
*****Mobber
*****Spy
*****Sniper
*****SuicideBomber
*****Idle
*****Passive
*****Medic
***despawn
***despawn
****Forces to bot to despawn
****Forces to bot to despawn
Line 456: Line 343:
*$ResetExtraItems
*$ResetExtraItems
**Strips all extra loadout items from the player
**Strips all extra loadout items from the player
*$Stun <float>
**Stun player for specified duration in seconds
*$Slowdown <string>
**Slowdowns player by specified amount for specified duration
**Parameter format: slowdown|duration
*$SetFOV <int>
**Sets player FOV to specified amount. 0 FOV restores original fov
*$SetFOVDuration <string>
**Sets player FOV with zoom in duration and starting FOV
**Parameter format: fov|duration|start fov


=== Outputs ===
=== Outputs ===
Line 504: Line 381:
* $Param(name) <string>
* $Param(name) <string>
** Sets PointTemplate template param to a specified value
** Sets PointTemplate template param to a specified value
== item_teamflag ==
=== Keyvalues ===
* $filter <entity>
** Targetname of a filter that defines if player can pick up the flag
*$disablebuffs <1/0>
**If bomb buffs should be disabled
=== Outputs ===
*$OnPickup
**OnPickup but with player as activator
*$OnDrop
**OnDrop but with player as activator
*$OnBombUpgradeLevel1
**Called when the bomb is upgraded to level 1
*$OnBombUpgradeLevel2
**Called when the bomb is upgraded to level 2
*$OnBombUpgradeLevel3
**Called when the bomb is upgraded to level 3
== func_flagdetectionzone ==
=== Keyvalues ===
* $filter <entity>
** Targetname of a filter that defines if flag triggers the zone
*$filterplayer <entity>
** Targetname of a filter that defines if player with flag triggers the zone
== point_push ==
=== Keyvalues ===
* $filter <entity>
** Targetname of a filter that defines if entity should be pushed
== Health kits / ammo packs ==
=== Keyvalues ===
* $ratio <float>
** Custom health/ammo restore ratio, instead of default 0.2/0.5/1
== point_populator_interface ==
=== Inputs ===
* $CollectCash
** Collects all dropped cash
*$FinishWave
**Finishes current wave immediately
*$FinishWaveNoUnspawnedMoney
**Finishes current wave and does not give money for unspawned bots
*$JumpToWave <int>
**Jumps to specified wave
*$JumpToWaveCalculateMoney <int>
**Jumps to specified wave and calculates wave money, without giving bonuses
*$PauseWavespawn <string>
**Pauses WaveSpawns with given name. Paused wave spawns don't consume bot slots
*$ResumeWavespawn <string>
**Resumes WaveSpawns with given name.
*$ReduceFromWavespawn$(wavespawn name) <int>
**Reduces specified amount of unspawned bots from given WaveSpawns and distributes its money
*$FinishWavespawn <string>
**Removes all unspawned bots from given WaveSpawns and distributes money
*$KillWavespawn <string>
**Removes all entities spawned by given WaveSpawns


==All entities ==
==All entities ==
Line 627: Line 434:
**Rotate relative to parent (world)
**Rotate relative to parent (world)
*$GetEntIndex <string>
*$GetEntIndex <string>
**Triggers the input of an entity, with entity index as parameter
**parameter format: entity|input
**parameter format: entity|input
**example: !activator|$DisplayTextCenter
**example: !activator|$DisplayTextCenter
**Triggers the input of an entity, with entity index as parameter
*$RemoveOutput <string>
*$RemoveOutput <string>
**remove outputs with given name
**remove outputs with given name
Line 641: Line 448:
**Set keyvalue to specified value
**Set keyvalue to specified value
*$GetKey$(keyvalue name) <string>
*$GetKey$(keyvalue name) <string>
**Trigger the input of an entity, with keyvalue as a parameter (default value if not found)
**example: $GetKey$startdisabled
**parameter format: entity|input|default value
**parameter format: entity|input|default value
**example: !activator|$DisplayTextCenter|def
**example: !activator|$DisplayTextCenter|def
** Trigger the input of an entity, with keyvalue as a paramer (default value if not found)
*$SetVar$(variable name) <string>  
*$SetVar$(variable name) <string>  
**Set custom entity variable
**Set custom entity variable
*$GetVar$(variable name) <string>
*$GetVar$(variable name) <string>
**Trigger the input of an entity, with custom variable as set with $SetVar as a parameter (default value if not found)
**example: $GetVar$customvar
**parameter format: entity|input|default value
**parameter format: entity|input|default value
**parameter example: !activator|$DisplayTextCenter|def
**example: !activator|$DisplayTextCenter|def
**Trigger the input of an entity, with variable as a paramer (default value if not found)
*$SetData$([https://raw.githubusercontent.com/powerlord/tf2-data/master/datamaps.txt datamap] prop name) <string>
*$SetData$([https://raw.githubusercontent.com/powerlord/tf2-data/master/datamaps.txt datamap] prop name) <string>
**Set datamap property to specified value
**Set datamap property to specified value
*$GetData$([https://raw.githubusercontent.com/powerlord/tf2-data/master/datamaps.txt datamap] prop name) <string>
*$GetData$([https://raw.githubusercontent.com/powerlord/tf2-data/master/datamaps.txt datamap] prop name) <string>
**Trigger the input of an entity, with datamap prop as a parameter (default value if not found)
**example: $GetData$m_szNetname
***Unlike send props, datamaps do not have arrays.
**parameter format: entity|input|default value
**parameter format: entity|input|default value
**parameter example: !activator|$DisplayTextCenter|def
**example: !activator|$DisplayTextCenter|def
***Default value is not required to be defined, but can be useful for debugging.
**Trigger the input of an entity, with datamap prop as a paramer (default value if not found)
*$SetProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)] <string>
*$SetProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)] <string>
**Set send property to specified value. Can also set arrays.
**Set send property to specified value. Can also set arrays.
Line 668: Line 470:
***sets player ammo type array to 3, which is metal carried
***sets player ammo type array to 3, which is metal carried
*$GetProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)] <string>
*$GetProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)] <string>
**Trigger the input of an entity, with the specified send prop's value as a parameter (default value if not found)
**example without array: $GetProp$m_bInUpgradeZone
**example with an array: $GetProp$m_iAmmo$3
**parameter format: entity|input|default value
**parameter format: entity|input|default value
**parameter example: !activator|$DisplayTextCenter|def
**example: !activator|$DisplayTextCenter|def
***Default value is not required to be defined, but can be useful for debugging.
**Trigger the input of an entity, with send prop as a paramer (default value if not found)
*$SetClientProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)] <string>
*$SetClientProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)] <string>
**Set fake send prop value only seen by players. Can also set arrays. Useful for setting fake mission name or wave number, as $SetProp would trigger unwanted behavior  
**Set fake send prop value only seen by players. Can also set arrays. Useful for setting fake mission name or wave number, as $SetProp would trigger unwanted behavior  
Line 696: Line 495:
*$ShowToAll
*$ShowToAll
**Shows previously hidden entity to all players
**Shows previously hidden entity to all players
*$VScriptFunc$function <string>
**Executes a VScript function with a single parameter, equivalent to <code>runscriptcode function(param)</code> input
*$StopParticleEffects
**Stops attached particle effects, some effects are not stoppable
*$SetSolidFlags <int>
**Set solid flags
*$SetSolid <int>
**Set solid type


===Outputs===
===Outputs===
Please note that all contributions to SigMod are considered to be released under the Creative Commons Attribution-NonCommercial-ShareAlike (see SigMod:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!
Cancel Editing help (opens in new window)