Additions to existing entities: Difference between revisions
Jump to navigation
Jump to search
(new I/O's from rafradek https://discord.com/channels/415522947789488129/480416823695638578/921196132552572950) |
No edit summary |
||
Line 5: | Line 5: | ||
* You can target children of specified entity by adding @c@ prefix. @c@!activator would target children of the activator entity | * You can target children of specified entity by adding @c@ prefix. @c@!activator would target children of the activator entity | ||
*Target all entities in a box by adding @bbxmin ymin zmin xmax ymax zmax@ prefix. @bb-100 -100 -100 100 100 100@prop_dynamic would target prop_dynamic entities inside -100 -100 -100 100 100 100 box | *Target all entities in a box by adding @bbxmin ymin zmin xmax ymax zmax@ prefix. @bb-100 -100 -100 100 100 100@prop_dynamic would target prop_dynamic entities inside -100 -100 -100 100 100 100 box | ||
*Target entities matching the filter by adding @f@ prefix. @f@filtername@entityname would target all entityname that pass the filtername filter | |||
*Target entity from datamap/sendprop by adding @e@ prefix. @e@m_hOwnerEntity@!activator would target the owner entity of !activator | |||
== | ==Various== | ||
*You can execute an input immediately rather than with at least 1 tick delay by setting input delay to -1. This allows you to access !activator of $OnKilled entity | |||
==point_viewcontrol== | |||
== | ===Inputs === | ||
== | |||
== Weapon Mimic (tf_point_weapon_mimic) == | *$EnableAll | ||
* Fired projectiles can have their team assigned with teamnum keyvalue (2 for RED and 3 for BLU). Previously all fired projectiles always belonged to the BLU team | **Enable the camera for all players on the map. Spawnflag [512] may not work properly. (''Start At Player, Interruptable by Player'') | ||
* If the player owner is set with $SetOwner or $InheritOwner, fired projectiles are assigned to the owner | *$DisableAll | ||
**Disable the camera for all players on the map | |||
*$SetTarget <entity> | |||
**Set current target to entity | |||
== Sentry Gun (obj_sentrygun)== | |||
===Spawnflags=== | |||
*'''[64]''' - Spawn as mini-sentry | |||
==Weapon Mimic (tf_point_weapon_mimic)== | |||
*Fired projectiles can have their team assigned with teamnum keyvalue (2 for RED and 3 for BLU). Previously all fired projectiles always belonged to the BLU team | |||
*If the player owner is set with $SetOwner or $InheritOwner, fired projectiles are assigned to the owner | |||
* Fired stickybombs are automatically removed if the mimic is removed | * Fired stickybombs are automatically removed if the mimic is removed | ||
* Added projectile type 4 - Bullet. SpeedMax keyvalue determines max distance (infinite if not specified). SplashRadius determines knockback force | *Added projectile type 4 - Bullet. SpeedMax keyvalue determines max distance (infinite if not specified). SplashRadius determines knockback force | ||
=== Key Values=== | |||
*$preventshootparent <1/0> | |||
**If set, bullets fired from the mimic cannot hit the parent entity | |||
*$dmgtype <int> | |||
**Set custom damage type | |||
*$killicon <string> | |||
**Set custom kill icon | |||
===Outputs=== | |||
*$OnFire | |||
**Called when the projectile is being fired, with the projectile as <code>!activator</code> | |||
=== Spawnflags === | ===Spawnflags=== | ||
* '''[4]''' - Fire "OnUser4" output when projectile is fired, with the projectile as <code>!activator</code>. | * '''[4]''' - Fire "OnUser4" output when projectile is fired, with the projectile as <code>!activator</code>. | ||
== Tank (tank_boss) == | == Tank (tank_boss)== | ||
* 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 | ||
=== Outputs === | === Outputs=== | ||
* OnStartDeploy | *$OnStartDeploy | ||
** Fired when the tank is deploying the bomb | **Fired when the tank is deploying the bomb | ||
== Medic shield (entity_medigun_shield) == | ==Medic shield (entity_medigun_shield)== | ||
=== Spawnflags === | ===Spawnflags=== | ||
* '''[1]''' - Don't expire and don't block LOS | *'''[1]''' - Don't expire and don't block LOS | ||
* '''[2]''' - Use the LV2 Shield model | *'''[2]''' - Use the LV2 Shield model | ||
== logic_case == | ==logic_case== | ||
=== Text formatter === | ===Text formatter=== | ||
With the use of the added inputs, logic_case can be transformed into a text formatter, replacing % in the format string into format parameters. | With the use of the added inputs, logic_case can be transformed into a text formatter, replacing % in the format string into format parameters. | ||
Line 70: | Line 90: | ||
</syntaxhighlight>This would display "You have 6 out of 12 coins left. 50 % done" to all players | </syntaxhighlight>This would display "You have 6 out of 12 coins left. 50 % done" to all players | ||
=== Menu === | === Menu=== | ||
You can use $DisplayMenu input to display a menu for the player, up to 15 entries<syntaxhighlight lang="php"> | You can use $DisplayMenu input to display a menu for the player, up to 15 entries<syntaxhighlight lang="php"> | ||
Menu | Menu | ||
Line 94: | Line 114: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Inputs === | ===Inputs=== | ||
* $FormatString <string> | *$FormatString <string> | ||
** Sets formatting string, then fires OnDefault output, with formatted string as parameter | **Sets formatting string, then fires OnDefault output, with formatted string as parameter | ||
* $FormatStringNoFire <string> | *$FormatStringNoFire <string> | ||
** Sets formatting string | **Sets formatting string | ||
* $FormatInput1 <string> | *$FormatInput1 <string> | ||
** Sets formatting input argument 1, then fires OnDefault output, with formatted string as parameter | **Sets formatting input argument 1, then fires OnDefault output, with formatted string as parameter | ||
* $FormatInput2-15 <string> | *$FormatInput2-15 <string> | ||
** Sets formatting input argument 2-15, then fires OnDefault output, with formatted string as parameter | ** Sets formatting input argument 2-15, then fires OnDefault output, with formatted string as parameter | ||
* $FormatInputNoFire1 <string> | *$FormatInputNoFire1 <string> | ||
** Sets formatting input argument 1 | **Sets formatting input argument 1 | ||
* $Format | *$Format | ||
** Fires OnDefault output, with formatted string as parameter | **Fires OnDefault output, with formatted string as parameter | ||
* $TestSigsegv | *$TestSigsegv | ||
** Fires OnUser1 output. Can be used to test if sigsegv extension is active | **Fires OnUser1 output. Can be used to test if sigsegv extension is active | ||
* $ToInt <any> | *$ToInt <any> | ||
** Fires OnDefault output, converts parameter value from string/float to integer | **Fires OnDefault output, converts parameter value from string/float to integer | ||
* $ToFloat <any> | *$ToFloat <any> | ||
** Fires OnDefault output, converts value from string/int to real number | **Fires OnDefault output, converts value from string/int to real number | ||
* $CallerToActivator <any> | *$CallerToActivator <any> | ||
** Fires OnDefault output, but the !caller entity is converted to !activator | **Fires OnDefault output, but the !caller entity is converted to !activator | ||
* $GetKeyValueFromActivator <string> | * $GetKeyValueFromActivator <string> | ||
** Fires OnDefault output, the key value from the !activator entity is the parameter | **Fires OnDefault output, the key value from the !activator entity is the parameter | ||
* $GetConVar <string> | *$GetConVar <string> | ||
** Fires OnDefault output, the convar (console variable) number value is the parameter | **Fires OnDefault output, the convar (console variable) number value is the parameter | ||
* $GetConVarString <string> | *$GetConVarString <string> | ||
** Fires OnDefault output, the convar (console variable) string value is the parameter | **Fires OnDefault output, the convar (console variable) string value is the parameter | ||
*$DisplayMenu <entity> | *$DisplayMenu <entity> | ||
**Display menu at player | **Display menu at player | ||
Line 127: | Line 147: | ||
**Hide menu at player | **Hide menu at player | ||
== tf_gamerules == | ==tf_gamerules == | ||
=== Inputs === | ===Inputs=== | ||
* $StopVO <string> | *$StopVO <string> | ||
** Stops sound that was started with PlayVO input | ** Stops sound that was started with PlayVO input | ||
* $StopVORed <string> | *$StopVORed <string> | ||
** Stops sound that was started with PlayVORed input | **Stops sound that was started with PlayVORed input | ||
* $StopVOBlue <string> | *$StopVOBlue <string> | ||
** Stops sound that was started with PlayVOBlue input | **Stops sound that was started with PlayVOBlue input | ||
*$SetBossHealthPercentage <float> | *$SetBossHealthPercentage <float> | ||
**Set Halloween boss bar percentage to a value between 0 and 1. 0 hides the health bar, any other value makes the bar appear | **Set Halloween boss bar percentage to a value between 0 and 1. 0 hides the health bar, any other value makes the bar appear | ||
Line 148: | Line 168: | ||
== player == | == player == | ||
=== Inputs === | ===Inputs=== | ||
* $AllowClassAnimations <0|1> | * $AllowClassAnimations <0|1> | ||
** Allow class animations instead of using refpose when UseCustomModel input is fired to change player model | **Allow class animations instead of using refpose when UseCustomModel input is fired to change player model | ||
* $SwitchClass <string> | *$SwitchClass <string> | ||
** Switch player class. The parameter can be either a class name (heavyweapons for example), or class index | **Switch player class. The parameter can be either a class name (heavyweapons for example), or class index | ||
*$SwitchClassInPlace <string> | *$SwitchClassInPlace <string> | ||
**Switch player class in current position. The parameter can be either a class name (heavyweapons for example), or class index | **Switch player class in current position. The parameter can be either a class name (heavyweapons for example), or class index | ||
* $ForceRespawn | *$ForceRespawn | ||
** The player instantly respawns | ** The player instantly respawns | ||
* $ForceRespawnDead | *$ForceRespawnDead | ||
** The player instantly respawns, but only if they are dead | **The player instantly respawns, but only if they are dead | ||
* $DisplayTextCenter <string> | *$DisplayTextCenter <string> | ||
** Display text in the middle of the screen | ** Display text in the middle of the screen | ||
* $DisplayTextChat <string> | *$DisplayTextChat <string> | ||
** Display text to the player's chat | ** Display text to the player's chat | ||
* $Suicide | *$Suicide | ||
** Kill the player | **Kill the player | ||
* $ChangeAttributes <string> | *$ChangeAttributes <string> | ||
** If the player is a bot, this can be used to change active EventChangeAttributes | ** If the player is a bot, this can be used to change active EventChangeAttributes | ||
* $RollCommonSpell | *$RollCommonSpell | ||
** Roll common spell | **Roll common spell | ||
* $SetSpell <string> | *$SetSpell <string> | ||
** Set player current spell to one of the following: | **Set player current spell to one of the following: | ||
*** Fireball | ***Fireball | ||
*** Ball O' Bats | ***Ball O' Bats | ||
*** Healing Aura | ***Healing Aura | ||
*** Pumpkin MIRV | ***Pumpkin MIRV | ||
*** Superjump | *** Superjump | ||
*** Invisibility | ***Invisibility | ||
*** Teleport | ***Teleport | ||
*** Tesla Bolt | ***Tesla Bolt | ||
*** Minify | ***Minify | ||
*** Meteor Shower | ***Meteor Shower | ||
*** Summon Monoculus | ***Summon Monoculus | ||
*** Summon Skeletons | ***Summon Skeletons | ||
* $AddSpell <string> | *$AddSpell <string> | ||
** Adds spell to the number of spells. If the spell is different than the current one, it replaces the spell. The parameter is the same as in $SetSpell | **Adds spell to the number of spells. If the spell is different than the current one, it replaces the spell. The parameter is the same as in $SetSpell | ||
* $AddCond <int> [int] | *$AddCond <int> [int] | ||
** Add condition to player. If a second argument is present, the condition will only run for a specified duration | ** Add condition to player. If a second argument is present, the condition will only run for a specified duration | ||
* $RemoveCond <int> | *$RemoveCond <int> | ||
** Remove condition from player | **Remove condition from player | ||
* $AddPlayerAttribute <string> | *$AddPlayerAttribute <string> | ||
** Add attribute to player, the parameter should be passed in this way: attribute|value. Example: "move speed bonus|1.2" | **Add attribute to player, the parameter should be passed in this way: attribute|value. Example: "move speed bonus|1.2" | ||
* $RemovePlayerAttribute <string> | *$RemovePlayerAttribute <string> | ||
** Remove attribute from player. Example: "move speed bonus" | **Remove attribute from player. Example: "move speed bonus" | ||
* $GetPlayerAttribute <string> | *$GetPlayerAttribute <string> | ||
**Sends attribute from player as the parameter. | **Sends attribute from player as the parameter. | ||
**parameter format: attribute|entity|input|default value | **parameter format: attribute|entity|input|default value | ||
**example: fire rate bonus|!activator|$DisplayTextChat|0 | **example: fire rate bonus|!activator|$DisplayTextChat|0 | ||
*$AddItemAttribute <string> | *$AddItemAttribute <string> | ||
** Add attribute to item in slot, the parameter should be passed in this way: attribute|value|slot. Example "damage bonus|2|0" adds 100% damage bonus to primary weapon | **Add attribute to item in slot, the parameter should be passed in this way: attribute|value|slot or item name. Example "damage bonus|2|0" adds 100% damage bonus to primary weapon, "damage penalty|0.5" adds 50% damage penalty to active weapon | ||
* $RemoveItemAttribute <string> | *$RemoveItemAttribute <string> | ||
** Remove attribute from item in slot, the parameter should be passed in this way: attribute|slot. Example "damage bonus | ** Remove attribute from item in slot, the parameter should be passed in this way: attribute|slot or item name. Example "damage bonus" removes damage bonus from primary weapon, "damage penalty" removes damage penalty from active weapon | ||
*$GetItemAttribute <string> | *$GetItemAttribute <string> | ||
**Sends item attribute value as the parameter. | **Sends item attribute value as the parameter. | ||
**parameter format: slot|attribute|entity|input|default value | ** parameter format: slot or item name|attribute|entity|input|default value | ||
**example to grab primary slot item's fire rate bonus value: 0|fire rate bonus|!activator|$DisplayTextChat|0 | **example to grab primary slot item's fire rate bonus value: 0|fire rate bonus|!activator|$DisplayTextChat|0 | ||
**You can also type -1 for active weapon or the item name. | **You can also type -1 for active weapon or the item name. | ||
* $PlaySoundToSelf <string> | *$PlaySoundToSelf <string> | ||
** Play sound to the player | ** Play sound to the player | ||
*$IgnitePlayerDuration <float> | *$IgnitePlayerDuration <float> | ||
**Ignite the player for a specified duration in seconds | **Ignite the player for a specified duration in seconds | ||
*$WeaponSwitchSlot <int> | *$WeaponSwitchSlot <int> | ||
**Forcibly switches to weapon in slot | **Forcibly switches to weapon in slot | ||
*$WeaponStripSlot <int> | * $WeaponStripSlot <int> | ||
**Removes weapon from a slot (-1 = current slot) | **Removes weapon from a slot (-1 = current slot) | ||
*$GiveItem <string> | *$GiveItem <string> | ||
Line 220: | Line 240: | ||
**Add currency to the player | **Add currency to the player | ||
*$RemoveCurrency <int> | *$RemoveCurrency <int> | ||
**Remove currency from the player | ** Remove currency from the player | ||
*$SetCurrency <int> | *$SetCurrency <int> | ||
**Set currency to specified value | ** Set currency to specified value | ||
*$CurrencyOutputX <string> | * $CurrencyOutputX <string> | ||
**Fires input if player currency is above specified value (the X in input name), the attribute should be passed in this way: target,input,parameter. | **Fires input if player currency is above specified value (the X in input name), the attribute should be passed in this way: target,input,parameter. | ||
*$CurrencyInvertOutputX<string> | *$CurrencyInvertOutputX<string> | ||
Line 229: | Line 249: | ||
*$DropItem <int> | *$DropItem <int> | ||
**Drop item in slot (-1 = current slot) | **Drop item in slot (-1 = current slot) | ||
*$RemoveItem <string> | * $RemoveItem <string> | ||
**Remove item with a name | ** Remove item with a name | ||
*$Regenerate | *$Regenerate | ||
**Regenerate the player, as if touching resupply cabinet | **Regenerate the player, as if touching resupply cabinet | ||
*$RefillAmmo | *$RefillAmmo | ||
**Restore player ammo | ** Restore player ammo | ||
*$ | *$PlaySequence <string> | ||
** | **Play animation sequence with specified name | ||
*$ResetInventory | |||
**Reset loadout items, as if touching the resupply cabinet | |||
*$BotCommand <string> | |||
**Forces the bot to perform an action. Examples: | |||
***interrupt_action -posent targetmove -lookposent targetlook -duration 10 -waituntildone -ondoneattributes AfterDone | |||
****Move to entity targetmove, while looking at entity targetlook. Wait 10 seconds after moving to the target entity, then ChangeAttributes to AfterDone | |||
***interrupt_action -posent targetkill -lookposent targetkill -killlook | |||
****Move to entity targetkill and try to destroy it | |||
***interrupt_action -pos 0 0 0 -lookpos 100 100 100 | |||
****Move to position 0 0 0 while looking at position 100 100 100 | |||
***despawn | |||
****Forces to bot to despawn | |||
***taunt | |||
****Forces the bot to taunt | |||
***cloak | |||
****Forces the spy bot to cloak | |||
***uncloak | |||
****Forces the spy bot to uncloak | |||
***disguise | |||
****Forces the spy bot to disguise as something | |||
***build sentry at nearest sentry hint | |||
== trigger_hurt == | ==trigger_hurt== | ||
If entity owner is set with $SetOwner or $InheritOwner, the owner will become the damage inflictor | If entity owner is set with $SetOwner or $InheritOwner, the owner will become the damage inflictor | ||
== Filter entities == | ==Filter entities== | ||
The server will no longer crash if the activator entity got removed the time TestActivator is called | The server will no longer crash if the activator entity got removed the time TestActivator is called | ||
=== Inputs === | ===Inputs=== | ||
* $TestEntity <entity> | *$TestEntity <entity> | ||
** Test any entity, rather than only the !activator | **Test any entity, rather than only the !activator | ||
== Trigger entities == | ==Trigger entities== | ||
The server will no longer crash if the caller entity got removed the time StartTouch or EndTouch is called | The server will no longer crash if the caller entity got removed the time StartTouch or EndTouch is called | ||
=== Inputs === | ===Inputs=== | ||
* $StartTouchEntity <entity> | *$StartTouchEntity <entity> | ||
** StartTouch any entity, rather than only the !caller | **StartTouch any entity, rather than only the !caller | ||
* $EndTouchEntity <entity> | *$EndTouchEntity <entity> | ||
** EndTouch any entity, rather than only the !caller | **EndTouch any entity, rather than only the !caller | ||
== game_ui == | ==game_ui== | ||
The server will no longer crash if the player using the entity disconnected from the server | The server will no longer crash if the player using the entity disconnected from the server | ||
== All entities == | ==All entities == | ||
=== Inputs === | ===Inputs=== | ||
* $FireUserAsActivator1-4 <string> | *$FireUserAsActivator1-4 <string> | ||
** Acts like FireUser1-4, but the entity becomes the !activator, and the parameter is passed in OnUser1-4 output | ** Acts like FireUser1-4, but the entity becomes the !activator, and the parameter is passed in OnUser1-4 output | ||
*$FireUser5-8 <string> | *$FireUser5-8 <string> | ||
** Fires custom $onuser5-8 output | **Fires custom $onuser5-8 output | ||
* $TakeDamage <int> | *$TakeDamage <int> | ||
** Take specified amount of damage. Does not support negative values. | **Take specified amount of damage. Does not support negative values. | ||
* $TakeDamageFromActivator <int> | *$TakeDamageFromActivator <int> | ||
** Take specified amount of damage, the !activator is the damage inflictor | ** Take specified amount of damage, the !activator is the damage inflictor | ||
* $SetModel <string> | *$SetModel <string> | ||
** Set custom model | ** Set custom model | ||
* $SetModelOverride <string> | *$SetModelOverride <string> | ||
** Set custom model, only changes the appearence | **Set custom model, only changes the appearence | ||
* $SetModelSpecial <string> | *$SetModelSpecial <string> | ||
** Set custom model, in a special way, it does less additional changes to the entity | **Set custom model, in a special way, it does less additional changes to the entity | ||
* $SetOwner <entity> | *$SetOwner <entity> | ||
** Set entity owner | ** Set entity owner | ||
* $InheritOwner <entity> | *$InheritOwner <entity> | ||
** Set entity owner to the passed entity owner | **Set entity owner to the passed entity owner | ||
* $InheritParent <entity> | *$InheritParent <entity> | ||
** Set entity parent to the passed entity parent | **Set entity parent to the passed entity parent | ||
* $GetKeyValue <string> | *$GetKeyValue <string> | ||
** Fire OnUser1 output, with key value as a parameter | **Fire OnUser1 output, with key value as a parameter | ||
* $MoveType <int>,<int> | *$MoveType <int>,<int> | ||
** Set move type | **Set move type | ||
* $PlaySound <string> | *$PlaySound <string> | ||
** Play sound from this entity | **Play sound from this entity | ||
* $StopSound <string> | *$StopSound <string> | ||
** Stop playing sound from this entity | **Stop playing sound from this entity | ||
* $SetLocalOrigin <vector> | *$SetLocalOrigin <vector> | ||
** Set origin relative to parent | **Set origin relative to parent | ||
* $SetLocalAngles <vector> | *$SetLocalAngles <vector> | ||
** Set angles relative to parent | **Set angles relative to parent | ||
* $SetLocalVelocity <vector> | *$SetLocalVelocity <vector> | ||
** Set velocity relative to parent | **Set velocity relative to parent | ||
* $TeleportToEntity <entity> | *$TeleportToEntity <entity> | ||
** Teleport to specified entity | **Teleport to specified entity | ||
* $MoveRelative <vector> | *$MoveRelative <vector> | ||
** Move relative to parent (world) | **Move relative to parent (world) | ||
* $RotateRelative <vector> | *$RotateRelative <vector> | ||
** Rotate relative to parent (world) | **Rotate relative to parent (world) | ||
*$SetKey$(keyvalue name) <string> | *$SetKey$(keyvalue name) <string> | ||
**Set keyvalue to specified value | **Set keyvalue to specified value | ||
Line 311: | Line 352: | ||
**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) | ** 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> | ||
Line 335: | Line 376: | ||
**Trigger the input of an entity, with send prop as a paramer (default value if not found) | **Trigger the input of an entity, with send prop as a paramer (default value if not found) | ||
=== Outputs === | ===Outputs=== | ||
* $OnUser5-8 <string> | *$OnUser5-8 <string> | ||
** Called when $FireUser5-8 input is used | **Called when $FireUser5-8 input is used | ||
* $OnKilled | *$OnKilled | ||
** Fired when the entity is killed. The calling entity no longer exist and cannot be accessed | **Fired when the entity is killed (removed from the world). The calling entity no longer exist and cannot be accessed unless input delay is set to -1 | ||
*$OnDamageReceived <int> | |||
**Fired when the entity is damaged. Parameter is the damage received by the entity. !activator is the damage inflictor | |||
*$OnDamageBlocked <int> | |||
**Fired when damage was blocked by the entity. Parameter is the amount of damage blocked by the entity. !activator is the damage inflictor | |||
*$OnDeath <int> | |||
**Fired when the entity died. Parameter is the damage of the fatal blow. !activator is the damage inflictor | |||
[[Category:Misc Additions]] | [[Category:Misc Additions]] |
Revision as of 09:41, 5 March 2022
Targeting
- You can target parent of specified entity by adding @p@. @p@!activator would target parent of the activator entity
- You can target children of specified entity by adding @c@ prefix. @c@!activator would target children of the activator entity
- Target all entities in a box by adding @bbxmin ymin zmin xmax ymax zmax@ prefix. @bb-100 -100 -100 100 100 100@prop_dynamic would target prop_dynamic entities inside -100 -100 -100 100 100 100 box
- Target entities matching the filter by adding @f@ prefix. @f@filtername@entityname would target all entityname that pass the filtername filter
- Target entity from datamap/sendprop by adding @e@ prefix. @e@m_hOwnerEntity@!activator would target the owner entity of !activator
Various
- You can execute an input immediately rather than with at least 1 tick delay by setting input delay to -1. This allows you to access !activator of $OnKilled entity
point_viewcontrol
Inputs
- $EnableAll
- Enable the camera for all players on the map. Spawnflag [512] may not work properly. (Start At Player, Interruptable by Player)
- $DisableAll
- Disable the camera for all players on the map
- $SetTarget <entity>
- Set current target to entity
Sentry Gun (obj_sentrygun)
Spawnflags
- [64] - Spawn as mini-sentry
Weapon Mimic (tf_point_weapon_mimic)
- Fired projectiles can have their team assigned with teamnum keyvalue (2 for RED and 3 for BLU). Previously all fired projectiles always belonged to the BLU team
- If the player owner is set with $SetOwner or $InheritOwner, fired projectiles are assigned to the owner
- Fired stickybombs are automatically removed if the mimic is removed
- Added projectile type 4 - Bullet. SpeedMax keyvalue determines max distance (infinite if not specified). SplashRadius determines knockback force
Key Values
- $preventshootparent <1/0>
- If set, bullets fired from the mimic cannot hit the parent entity
- $dmgtype <int>
- Set custom damage type
- $killicon <string>
- Set custom kill icon
Outputs
- $OnFire
- Called when the projectile is being fired, with the projectile as
!activator
- Called when the projectile is being fired, with the projectile as
Spawnflags
- [4] - Fire "OnUser4" output when projectile is fired, with the projectile as
!activator
.
Tank (tank_boss)
- When tank starts deploying, and there is at least one PointTemplate assigned to it, "OnUser4" output is activated
Outputs
- $OnStartDeploy
- Fired when the tank is deploying the bomb
Medic shield (entity_medigun_shield)
Spawnflags
- [1] - Don't expire and don't block LOS
- [2] - Use the LV2 Shield model
logic_case
Text formatter
With the use of the added inputs, logic_case can be transformed into a text formatter, replacing % in the format string into format parameters.
Example point template usage:
Formatter
{
OnSpawnOutput
{
Target "formattest"
Action "$Format"
Delay 1
}
logic_case
{
"targetname" "formattest"
"case16" "You have % out of % coins left. % %% done" // Formatter string
"case01" "6" //First argument
"case02" "12" //Second argument
"case03" "50" //Third argument
"ondefault" "player,$DisplayTextCenter,,0,-1"
}
}
This would display "You have 6 out of 12 coins left. 50 % done" to all players
Menu
You can use $DisplayMenu input to display a menu for the player, up to 15 entries
Menu
{
OnSpawnOutput
{
Target "menutest"
Action "$DisplayMenu"
Delay 1
Param "player"
}
logic_case
{
"targetname" "menutest"
"case16" "Menu title|30|Cancel" // Title, menu duration (0 for infinite), display optional cancel button
"case01" "option1" //First argument
"case02" "!disabled option" //Second argument, disabled
"case03" "suicide" //Third argument
"oncase03" "!activator,sethealth,0,0,-1" // Selected 3rd option
"ondefault" "player,$DisplayTextCenter,he,0,-1" // No option selected
}
}
Inputs
- $FormatString <string>
- Sets formatting string, then fires OnDefault output, with formatted string as parameter
- $FormatStringNoFire <string>
- Sets formatting string
- $FormatInput1 <string>
- Sets formatting input argument 1, then fires OnDefault output, with formatted string as parameter
- $FormatInput2-15 <string>
- Sets formatting input argument 2-15, then fires OnDefault output, with formatted string as parameter
- $FormatInputNoFire1 <string>
- Sets formatting input argument 1
- $Format
- Fires OnDefault output, with formatted string as parameter
- $TestSigsegv
- Fires OnUser1 output. Can be used to test if sigsegv extension is active
- $ToInt <any>
- Fires OnDefault output, converts parameter value from string/float to integer
- $ToFloat <any>
- Fires OnDefault output, converts value from string/int to real number
- $CallerToActivator <any>
- Fires OnDefault output, but the !caller entity is converted to !activator
- $GetKeyValueFromActivator <string>
- Fires OnDefault output, the key value from the !activator entity is the parameter
- $GetConVar <string>
- Fires OnDefault output, the convar (console variable) number value is the parameter
- $GetConVarString <string>
- Fires OnDefault output, the convar (console variable) string value is the parameter
- $DisplayMenu <entity>
- Display menu at player
- $HideMenu <entity>
- Hide menu at player
tf_gamerules
Inputs
- $StopVO <string>
- Stops sound that was started with PlayVO input
- $StopVORed <string>
- Stops sound that was started with PlayVORed input
- $StopVOBlue <string>
- Stops sound that was started with PlayVOBlue input
- $SetBossHealthPercentage <float>
- Set Halloween boss bar percentage to a value between 0 and 1. 0 hides the health bar, any other value makes the bar appear
- $SetBossState <int>
- If set to 1, makes the health bar green, like if Merasmus is hiding. If set to 0, the bar goes back to normal
- $AddCurrencyGlobal <int>
- Add currency to all players
player
Inputs
- $AllowClassAnimations <0|1>
- Allow class animations instead of using refpose when UseCustomModel input is fired to change player model
- $SwitchClass <string>
- Switch player class. The parameter can be either a class name (heavyweapons for example), or class index
- $SwitchClassInPlace <string>
- Switch player class in current position. The parameter can be either a class name (heavyweapons for example), or class index
- $ForceRespawn
- The player instantly respawns
- $ForceRespawnDead
- The player instantly respawns, but only if they are dead
- $DisplayTextCenter <string>
- Display text in the middle of the screen
- $DisplayTextChat <string>
- Display text to the player's chat
- $Suicide
- Kill the player
- $ChangeAttributes <string>
- If the player is a bot, this can be used to change active EventChangeAttributes
- $RollCommonSpell
- Roll common spell
- $SetSpell <string>
- Set player current spell to one of the following:
- Fireball
- Ball O' Bats
- Healing Aura
- Pumpkin MIRV
- Superjump
- Invisibility
- Teleport
- Tesla Bolt
- Minify
- Meteor Shower
- Summon Monoculus
- Summon Skeletons
- Set player current spell to one of the following:
- $AddSpell <string>
- Adds spell to the number of spells. If the spell is different than the current one, it replaces the spell. The parameter is the same as in $SetSpell
- $AddCond <int> [int]
- Add condition to player. If a second argument is present, the condition will only run for a specified duration
- $RemoveCond <int>
- Remove condition from player
- $AddPlayerAttribute <string>
- Add attribute to player, the parameter should be passed in this way: attribute|value. Example: "move speed bonus|1.2"
- $RemovePlayerAttribute <string>
- Remove attribute from player. Example: "move speed bonus"
- $GetPlayerAttribute <string>
- Sends attribute from player as the parameter.
- parameter format: attribute|entity|input|default value
- example: fire rate bonus|!activator|$DisplayTextChat|0
- $AddItemAttribute <string>
- Add attribute to item in slot, the parameter should be passed in this way: attribute|value|slot or item name. Example "damage bonus|2|0" adds 100% damage bonus to primary weapon, "damage penalty|0.5" adds 50% damage penalty to active weapon
- $RemoveItemAttribute <string>
- Remove attribute from item in slot, the parameter should be passed in this way: attribute|slot or item name. Example "damage bonus" removes damage bonus from primary weapon, "damage penalty" removes damage penalty from active weapon
- $GetItemAttribute <string>
- Sends item attribute value as the parameter.
- parameter format: slot or item name|attribute|entity|input|default value
- example to grab primary slot item's fire rate bonus value: 0|fire rate bonus|!activator|$DisplayTextChat|0
- You can also type -1 for active weapon or the item name.
- $PlaySoundToSelf <string>
- Play sound to the player
- $IgnitePlayerDuration <float>
- Ignite the player for a specified duration in seconds
- $WeaponSwitchSlot <int>
- Forcibly switches to weapon in slot
- $WeaponStripSlot <int>
- Removes weapon from a slot (-1 = current slot)
- $GiveItem <string>
- Gives an item to the player
- $AddCurrency <int>
- Add currency to the player
- $RemoveCurrency <int>
- Remove currency from the player
- $SetCurrency <int>
- Set currency to specified value
- $CurrencyOutputX <string>
- Fires input if player currency is above specified value (the X in input name), the attribute should be passed in this way: target,input,parameter.
- $CurrencyInvertOutputX<string>
- Fires input if player currency is below specified value(the X in input name), the attribute should be passed in this way: target,input,parameter
- $DropItem <int>
- Drop item in slot (-1 = current slot)
- $RemoveItem <string>
- Remove item with a name
- $Regenerate
- Regenerate the player, as if touching resupply cabinet
- $RefillAmmo
- Restore player ammo
- $PlaySequence <string>
- Play animation sequence with specified name
- $ResetInventory
- Reset loadout items, as if touching the resupply cabinet
- $BotCommand <string>
- Forces the bot to perform an action. Examples:
- interrupt_action -posent targetmove -lookposent targetlook -duration 10 -waituntildone -ondoneattributes AfterDone
- Move to entity targetmove, while looking at entity targetlook. Wait 10 seconds after moving to the target entity, then ChangeAttributes to AfterDone
- interrupt_action -posent targetkill -lookposent targetkill -killlook
- Move to entity targetkill and try to destroy it
- interrupt_action -pos 0 0 0 -lookpos 100 100 100
- Move to position 0 0 0 while looking at position 100 100 100
- despawn
- Forces to bot to despawn
- taunt
- Forces the bot to taunt
- cloak
- Forces the spy bot to cloak
- uncloak
- Forces the spy bot to uncloak
- disguise
- Forces the spy bot to disguise as something
- build sentry at nearest sentry hint
- interrupt_action -posent targetmove -lookposent targetlook -duration 10 -waituntildone -ondoneattributes AfterDone
- Forces the bot to perform an action. Examples:
trigger_hurt
If entity owner is set with $SetOwner or $InheritOwner, the owner will become the damage inflictor
Filter entities
The server will no longer crash if the activator entity got removed the time TestActivator is called
Inputs
- $TestEntity <entity>
- Test any entity, rather than only the !activator
Trigger entities
The server will no longer crash if the caller entity got removed the time StartTouch or EndTouch is called
Inputs
- $StartTouchEntity <entity>
- StartTouch any entity, rather than only the !caller
- $EndTouchEntity <entity>
- EndTouch any entity, rather than only the !caller
game_ui
The server will no longer crash if the player using the entity disconnected from the server
All entities
Inputs
- $FireUserAsActivator1-4 <string>
- Acts like FireUser1-4, but the entity becomes the !activator, and the parameter is passed in OnUser1-4 output
- $FireUser5-8 <string>
- Fires custom $onuser5-8 output
- $TakeDamage <int>
- Take specified amount of damage. Does not support negative values.
- $TakeDamageFromActivator <int>
- Take specified amount of damage, the !activator is the damage inflictor
- $SetModel <string>
- Set custom model
- $SetModelOverride <string>
- Set custom model, only changes the appearence
- $SetModelSpecial <string>
- Set custom model, in a special way, it does less additional changes to the entity
- $SetOwner <entity>
- Set entity owner
- $InheritOwner <entity>
- Set entity owner to the passed entity owner
- $InheritParent <entity>
- Set entity parent to the passed entity parent
- $GetKeyValue <string>
- Fire OnUser1 output, with key value as a parameter
- $MoveType <int>,<int>
- Set move type
- $PlaySound <string>
- Play sound from this entity
- $StopSound <string>
- Stop playing sound from this entity
- $SetLocalOrigin <vector>
- Set origin relative to parent
- $SetLocalAngles <vector>
- Set angles relative to parent
- $SetLocalVelocity <vector>
- Set velocity relative to parent
- $TeleportToEntity <entity>
- Teleport to specified entity
- $MoveRelative <vector>
- Move relative to parent (world)
- $RotateRelative <vector>
- Rotate relative to parent (world)
- $SetKey$(keyvalue name) <string>
- Set keyvalue to specified value
- $GetKey$(keyvalue name) <string>
- parameter format: entity|input|default value
- example: !activator|$DisplayTextCenter|def
- Trigger the input of an entity, with keyvalue as a paramer (default value if not found)
- $SetVar$(variable name) <string>
- Set custom entity variable
- $GetVar$(variable name) <string>
- parameter format: entity|input|default value
- example: !activator|$DisplayTextCenter|def
- Trigger the input of an entity, with variable as a paramer (default value if not found)
- $SetData$(datamap prop name) <string>
- Set datamap property to specified value
- $GetData$(datamap prop name) <string>
- parameter format: entity|input|default value
- example: !activator|$DisplayTextCenter|def
- Trigger the input of an entity, with datamap prop as a paramer (default value if not found)
- $SetProp$(send prop name)[$(array)] <string>
- Set send property to specified value. Can also set arrays.
- example without array: $SetProp$m_bInUpgradeZone
- sets player state if player is visiting an upgrade station
- example with array: $SetProp$m_iAmmo$3
- sets player ammo type array to 3, which is metal carried
- $GetProp$(send prop name)[$(array)] <string>
- parameter format: entity|input|default value
- example: !activator|$DisplayTextCenter|def
- Trigger the input of an entity, with send prop as a paramer (default value if not found)
Outputs
- $OnUser5-8 <string>
- Called when $FireUser5-8 input is used
- $OnKilled
- Fired when the entity is killed (removed from the world). The calling entity no longer exist and cannot be accessed unless input delay is set to -1
- $OnDamageReceived <int>
- Fired when the entity is damaged. Parameter is the damage received by the entity. !activator is the damage inflictor
- $OnDamageBlocked <int>
- Fired when damage was blocked by the entity. Parameter is the amount of damage blocked by the entity. !activator is the damage inflictor
- $OnDeath <int>
- Fired when the entity died. Parameter is the damage of the fatal blow. !activator is the damage inflictor