Additions to existing entities: Difference between revisions

From SigMod
Jump to navigation Jump to search
Line 33: Line 33:


== Medic shield (entity_medigun_shield) ==
== Medic shield (entity_medigun_shield) ==
If you set spawnflags keyvalue to 1, the shield will stay if spawned manually
If you set spawnflags keyvalue to 1, the shield will stay if spawned manually. Setting spawnflags keyvalue to 3 creates a lvl 2 shield


== logic_case ==
== logic_case ==

Revision as of 12:20, 18 August 2021

Targeting

  • You can target parent of specified entity by adding @p@ prefix. @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

point_viewcontrol

Inputs

  • $EnableAll
    • Enable the camera for all players on the map. Start At Player, Interruptable by Player spawnflags will not work properly
  • $DisableAll
    • Disable the camera for all players on the map
  • $SetTarget <entity>
    • Set current target to entity

Sentry Gun (obj_sentrygun)

  • You can spawn mini sentry by adding spawnflags 64 keyvalue

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
  • If the ParticleEffect keyvalue is set to "Callback", "OnUser4" output is activated whenever a projectile is fired, with the projectile being the !activator
  • Added projectile type 4 - Bullet. SpeedMax keyvalue determines max distance (infinite if not specified). SplashRadius determines knockback force

Tank (tank_boss)

  • When tank starts deploying, and there is at least one PointTemplate assigned to it, "OnUser4" output is activated

Medic shield (entity_medigun_shield)

If you set spawnflags keyvalue to 1, the shield will stay if spawned manually. Setting spawnflags keyvalue to 3 creates a lvl 2 shield

logic_case

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:

Case
{
	OnSpawnOutput
	{
		Target "casetest"
		Action "$Format"
		Delay 1
	}
	logic_case
	{
		"targetname" "casetest"
		"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

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

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

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
  • $TakeDamage <int>
    • Take specified amount of damage
  • $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)