Additions to existing entities: Difference between revisions

From SigMod
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


== point_viewcontrol ==
==Various==


=== Inputs ===
*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


* $EnableAll
==point_viewcontrol==
** 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) ==
===Inputs ===
=== Spawnflags ===
* '''[64]''' - Spawn as mini-sentry


== 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|0" removes damage bonus from primary weapon
** 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
*$OnDamageReceived
*$PlaySequence <string>
**Fires when a player has been damaged. Passes damage taken value as parameter. Damage inflictor is !activator.
**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

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
  • $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

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