multi_manager (Half-Life)
Last edited 15 years ago2009-07-09 19:06:09 UTC
- Wiki
- View Page
-
You are viewing an older revision of this wiki page. The current revision may be more detailed and up-to-date.
Click here to see the current revision of this page.
This article was converted from a previous version of TWHL and may need to be reviewed
- The formatting may be incorrect due to differences in the WikiCode processing engine, it needs to be revised and reformatted
- Some information may be out of date
- After the article is re-formatted and updated, remove this notice and the Review Required category.
- Some older articles are no longer useful, or they duplicate information from other pages. In this case, delete the page after merging any relevant information into other pages. Contact an admin to delete a page.
Point EntityThis entity can activate several different events (including itself) at specific times.
Attributes
- Name (targetname) - Property used to identify entities.
Flags
- Multithreaded (1) - See notes below for an explanation.
Inputs
Outputs
Notes
- Maximum of 16 individual targets.
- To add targets, disable SmartEdit, then click Add and enter the Name as the new Key and a delay in seconds as the Value, then click OK.
- Multithreading: Normally, If the multi_manager is called again before it has finished its work-order, it will ignore the new call and will just carry on with its work. However, with the Multithreaded flag enabled, when the manager is called again, it will continue working while another 'copy' of the multi_manager will start up. This solves various problems, mainly related to multiplayer games (where you might want a multi_manager to start up for each player that joins - if one player joins while the multimanager is still going for another player, a new thread needs to be created).
- Naming: When naming a multi_manager, do not call it "multi_manager", as the entity will not function properly. Make sure to give it a name that relates to your entity setup. Ex: "explosion_mm"
6 Comments
You must log in to post a comment.
You can login or register a new account.
If your using an MM as a continuous loop (by having the MM call itself at the end of it's routine), it will only loop if you have the "multithreaded" flag checked!
More like 8, to keep it safe. Check out this thread for more info! = )
Also don't forget to make the start time 0.1 and not 0, as 0 can cause the map to crash and/or other game bugs.
That said, when deactivating something, lets say:
00laser1 0.1
00laser1#1 2.1
00laser1#2 ??
Do NOT start it after it is deactivated (00laser1#2 2.1), give it 0.1 seconds freeze time (or more if you need it):
00laser1 0.1
00laser1#1 2.1
00laser1#2 2.2
And remember not to use long entity names, for example (i use):
0lsrmm (Laser control multi manager)
0expmm (Explosion control multi manager)
Proper looping is done with an env_beam repeatedly shooting through a func_button with health = 1. info_targets must sandwich the button. The button activates the multi.
The env_beam must have damage set to >=1. Change Strike again time to set the loop frequency.
Note: You'll lose the activator (current player) reference.
Add a "#x" at the end of the value, where "x" is the triggerstate value:
"0.001#0" means to trigger via use-type Off after 0.001s
"0.001#1" means to trigger via use-type On after 0.001s
"0.001#2" means to trigger via "killtarget" triggerstate after 0.001s
multi_manager is basically a trigger_relay now with this knowledge!
opens up the code
Yeah, there's nothing in HL SDK that points to the parsing of
#N
there. It is alwaysUSE_TOGGLE
. Either way though, good to know!