Difference between revisions of "Weapon portalgun"

From Valve Developer Community
Jump to: navigation, search
(cleanup)
(Inputs)
 
(46 intermediate revisions by 20 users not shown)
Line 1: Line 1:
{{wrongtitle|title=weapon_portalgun}}
+
{{portal series point|weapon_portalgun}} This is the entity that is seen before picking up the portal gun, and what shoots portals. It can be used to pick up physics objects that weigh up to 85kg. {{note|In Portal 2, players will spawn already holding a portal gun on all maps with the <code>sp_</code> prefix (including custom ones). This can be avoided in four ways:}}
 
+
[[File:Portal gun shot.png|thumbnail|200px|A weapon_portalgun firing.]]<!---please keep this here, i know it looks odd.--->
[[Category:Entities]]
+
:*Remove the prefix.
 
+
:*Use a {{ent|logic_auto}} to kill <code>failsafe_transition_script</code> at the start of the map. (This entity is added automatically by the game.)
==Entity Description==
+
:*Use a [[trigger_weapon_strip]].
This entity places a portalgun in a map that can be picked up and used as a weapon.
+
:*If you're making a mod, copy <code>common\Portal 2\portal2\scripts\vscripts\transitions\sp_transition_list.nut</code> to <code>scripts\vscripts\transitions</code> inside your mod folder and modify it for your mod.
It's used to open one or two portal in the Portal game.
+
{{note|A weapon_portalgun firing on its own will not target {{ent|info_placement_helper}}s (even ones with Force Placement enabled).}}
  
 
==Keyvalues==
 
==Keyvalues==
* {{kv targetname}}
+
{{KV|Can Fire Portal 1|intn=CanFirePortal1|boolean|Can this portal gun create blue portals?}}
* {{kv angles}}
+
{{KV|Can Fire Portal 2|intn=CanFirePortal2|boolean|Can this portal gun create orange portals?}}
* {{kv newfade}}
+
{{KV|Show PotatOS|boolean|Does this portal gun have PotatOS on the end?|since=P2}}
* '''CanFirePortal1'''
+
{{bug|This key is the opposite of what it does; setting it to NO will show PotatOS.}}
:{{boolean}} Allow the portalgun to open the primary portal type
+
{{KV|Starting Team|choices|Which team this gun originally belongs to.  Will decide which portals it fires before being picked up.|since=P2}}
* '''CanFirePortal2'''
+
:* 0 : Single Player
:{{boolean}} Allow the portalgun to open the secondary portal type
+
:* 2 : Orange
 +
:* 3 : Blue
 +
{{KV Targetname}}
 +
{{KV Angles}}
 +
{{KV NewFade}}
  
 
==Flags==
 
==Flags==
* 1 : Start Constrained
+
{{Fl|1|Start Constrained}}
: Prevents the model from moving.
+
:{{note|Prevents the model from moving.}}
* {{ep1 add|2 : Deny player pickup (reserve for NPC)}}
+
:{{bug|Unparenting unconstrained weapons will corrupt its position.}}
* {{ep1 add|4 : Not puntable by Gravity Gun}}
+
{{Fl|2|Deny player pickup (reserve for NPC)}}
 +
{{Fl|4|Not puntable by Gravity Gun}}
 +
{{Fl|8|Disable pickup sound {{P2CE}}}}
  
 
==Inputs==
 
==Inputs==
* {{i targetname}}
+
{{IO|ChargePortal1|Does charge up effect for mounted portal gun.}}
 +
{{IO|ChargePortal2|Does charge up effect for mounted portal gun.}}
 +
{{IO|FirePortal1|Projects portal 1 (blue) onto a wall in the facing direction of the gun.}}
 +
{{IO|FirePortal2|Projects portal 2 (orange) onto a wall in the facing direction of the gun.}}
 +
{{IO|FirePortalDirection1|Fires the blue portal in the specified direction.|param=angle}}
 +
{{bug|Using this input in [[portal_2|Portal 2]] will crash the game.}}
 +
{{IO|FirePortalDirection2|Fires the orange portal in the specified direction.|param=angle}}
 +
{{bug|Using this input in [[portal_2|Portal 2]] will crash the game.}}
 +
{{I Targetname}}
  
 
==Outputs==
 
==Outputs==
* {{o targetname}}
+
{{IO|OnFiredPortal1|Fires when the first (blue) portal is fired.}}
* {{o weapon}}
+
{{IO|OnFiredPortal2|Fires when the second (orange) portal is fired.}}
*'''OnNPCPickup'''
+
{{O Weapon}}
: Fires when an [[NPC]] picks up this weapon. {{activator|NPC}}
 
 
 
 
 
[[Category:Entities]]
 
 
[[Category:Weapons]]
 
[[Category:Weapons]]

Latest revision as of 03:06, 8 August 2020

[Portal] [Portal 2] weapon_portalgun is a point entity available in the Portal series. This is the entity that is seen before picking up the portal gun, and what shoots portals. It can be used to pick up physics objects that weigh up to 85kg.
Note:In Portal 2, players will spawn already holding a portal gun on all maps with the sp_ prefix (including custom ones). This can be avoided in four ways:
A weapon_portalgun firing.
  • Remove the prefix.
  • Use a logic_auto to kill failsafe_transition_script at the start of the map. (This entity is added automatically by the game.)
  • Use a trigger_weapon_strip.
  • If you're making a mod, copy common\Portal 2\portal2\scripts\vscripts\transitions\sp_transition_list.nut to scripts\vscripts\transitions inside your mod folder and modify it for your mod.
Note:A weapon_portalgun firing on its own will not target info_placement_helpers (even ones with Force Placement enabled).

Keyvalues

Can Fire Portal 1 (CanFirePortal1) <boolean>
Can this portal gun create blue portals?
Can Fire Portal 2 (CanFirePortal2) <boolean>
Can this portal gun create orange portals?
Show PotatOS <boolean> (in all games since [Portal 2])
Does this portal gun have PotatOS on the end?
Bug: This key is the opposite of what it does; setting it to NO will show PotatOS.
Starting Team <choices> (in all games since [Portal 2])
Which team this gun originally belongs to. Will decide which portals it fires before being picked up.
  • 0 : Single Player
  • 2 : Orange
  • 3 : Blue

Targetname:

Name (targetname) <string>
The targetname that other entities refer to this entity by.
Entity Scripts (vscripts) <scriptlist> (in all games since <Left 4 Dead 2>)
Space delimited list of VScript files (without file extension) that are executed after all entities have spawned. The scripts are all executed in the same script scope, later ones overwriting any identical variables and functions.
Script think function (thinkfunction) <string> (in all games since <Left 4 Dead 2>)
Name of a function in this entity's script which will be called automatically every 100 milliseconds (ten times a second) for the duration of the script. It can be used to create timers or to simulate autonomous behavior. The return value (if present) will set the time until the next call.
Note:Try to avoid expensive operations in this function, as it may cause performance problems.

Angles:

Pitch Yaw Roll (Y Z X) (angles) <angle>
This entity's orientation in the world. Pitch is rotation around the Y axis, yaw is the rotation around the Z axis, roll is the rotation around the X axis.

NewFade:

Start Fade Dist/Pixels <float>
Distance at which the prop starts to fade (<0 = use fademaxdist). If 'Screen Space Fade' is selected, this represents the number of pixels wide covered by the prop when it starts to fade.
End Fade Dist/Pixels <float>
Maximum distance at which the prop is visible (0 = don't fade out). If 'Screen Space Fade' is selected, this represents the *minimum* number of pixels wide covered by the prop when it fades.
Fade Scale <float>
If you specify a fade in the worldspawn, or if the engine is running under dx7, then the engine will forcibly fade out props even if fademindist/fademaxdist isn't specified. This scale factor gives you some control over the fade. Using 0 here turns off the forcible fades.

Flags

  •  [1] : Start Constrained
Note:Prevents the model from moving.
Bug: Unparenting unconstrained weapons will corrupt its position.
  •  [2] : Deny player pickup (reserve for NPC)
  •  [4] : Not puntable by Gravity Gun
  •  [8] : Disable pickup sound [Portal 2: Community Edition]

Inputs

ChargePortal1
Does charge up effect for mounted portal gun.
ChargePortal2
Does charge up effect for mounted portal gun.
FirePortal1
Projects portal 1 (blue) onto a wall in the facing direction of the gun.
FirePortal2
Projects portal 2 (orange) onto a wall in the facing direction of the gun.
FirePortalDirection1 <angle>
Fires the blue portal in the specified direction.
Bug: Using this input in Portal 2 will crash the game.
FirePortalDirection2 <angle>
Fires the orange portal in the specified direction.
Bug: Using this input in Portal 2 will crash the game.

Targetname:

Kill
Removes this entity from the world.
KillHierarchy
Removes this entity and its children from the world.
Note:Entities already remove orphaned children upon being removed, but this input removes all children on the same frame, being marginally faster than Kill.
AddOutput <string>
Adds a keyvalue/output to this entity. It can be potentially very dangerous, use with care.
KV Format: <key> <value>
I/O Format: <output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire, -1 means infinite>
FireUser1 to FireUser4
Fire the OnUser outputs; see User Inputs and Outputs.
Use  !FGD
Same as a player invoking +use; may not do anything depending on the entity. Can also be invoked by firing an output that does not specify an input.
RunScriptFile <script> (in all games since <Left 4 Dead 2>)
Execute a VScript file from disk, without file extension. The script contents are merged with the script scope of the receiving entity.
RunScriptCode <string> (in all games since <Left 4 Dead 2>)
Execute a string of VScript source code in the scope of the entity receiving the input. String quotation may be needed when fired via console.
Bug: In <Left 4 Dead 2>, the code is executed in the script scope of the entity that fires the output, not the one receiving the input.
Warning: Never try to pass string parameters to a script function with this input. It will corrupt the VMF structure because of the nested quotation marks, which then must be removed manually with a text editor.
CallScriptFunction <string> (in all games since <Left 4 Dead 2>) !FGD
Execute a VScript function in the scope of the receiving entity.
SetLocalOrigin <coordinates> (in all games since <Alien Swarm>) !FGD
Send this entity to a spot in the map. If the entity is parented to something, it will be offset from the parent by this amount.
SetLocalAngles <angles> (in all games since <Alien Swarm>) !FGD
Set this entity's angles.

Outputs

OnFiredPortal1
Fires when the first (blue) portal is fired.
OnFiredPortal2
Fires when the second (orange) portal is fired.

Weapon:

OnNPCPickup
Fires when an NPC picks up this weapon. (activator is the NPC)
OnPlayerUse
Fires when the player +uses this weapon. (activator is the player)
OnPlayerPickup
Fires when a player picks up this weapon. (activator is the player)
OnCacheInteraction
Fires when the player 'proves' they've found this weapon. Fires on: Player Touch, +USE pickup, Physcannon pickup, Physcannon punt.

Base:

OnUser1 to OnUser4
These outputs each fire in response to the firing of the like-numbered FireUser1 to FireUser4 Input; see User Inputs and Outputs.