General Half-Life 2/Scripting
description
Create the sweeping voriguant slave from the intro levels.
keywords
sweep, npc, sweeping, vortigaunt, npc_vortigaunt.
Ok this will show you how to make a vortigaunt slave hold a broom and randomly pick scripted sequences to go to and sweep.
You can just used a simple room for this tutorial or you can place it in your map
Lets start straight from the beginning, make a brush covered with the trigger texture, and tie it to a trigger_once,
it needs 2 outputs all which
will become clearer later on. just call the trigger trigger1 for now
Output 1: My Output named: OnTrigger
Target Entities: vort_template
Target Input: ForceSpawn
Output 2: My Output Named: OnTrigger
Target Entites: sweepspots
target Input: PickRandom
Next comes making the vortigaunt, definitly the easiest thing to do, create an entity : npc_vortigaunt and name it vort, go to world model,
then browse and find the vortigaunt_slave.mdl . You now need to create a prop_dynamic, set the parent to vort, the name to broom and world
model to pushbroom.mdl
Now here come the more complicated bits, make a point_template, (can be anywhere but
closer to the vortigaunt makes it easier to recognise).
Name it Vort_template and set
Template 1: Broom
Template 2: vort
You need to add more to this list later but for now this should do. on the templates
output tab, go to add and put in:
My Output Named: OnEntitySpawned
Target Entities: Broom
Target Input: SetParentAttachment
Parameter: Cleaver_attachment
You can also make sure on the input tab that the entity is being spawned when the
trigger1 is triggered.
Now you need 2 entites created: a Logic_choreographed_scene, and a logic_case
Go to the choreo_scene and name it vortsweepy. scenefile: go to trainyard/vort_sweep2.vcd and set Target 1: vort
now go to the ouputs tab on the choreo_scene and click add with these properties:
My Output Named: OnCompletion
Target Entities: sweepspots
Target Input: PickRandom
Now to set the Logic_case up. name it: sweepspots then go to the outputs tab and
add in the following 3 things
Ouput 1: Output: OnCase01
Target: vortsweep1
Input: BeginSequence
Ouput 2: Output: OnCase02
Target: vortsweep2
Input: BeginSequence
Ouput 3: Output: OnCase03
Target: vortsweep3
Input: BeginSequence
A lot of the text may be showing in red, ignore this for now since this should be remedied
now,
create 3 scripted_sequence's.
name 1: vortsweep1
name 2: vortsweep2
and name 3: vortsweep3
You can now place them where you want your vortigaunt to sweep, and be sure to make plenty of info_node's
for the vortigaunt to get there (this is described in many other tutorials so i won't go into them here).
Now select all 3 scripted_sequences and make them all have the following things:
target npc: vort
pre-action idle animation: (leave blank)
action animation: sweep_idle
post-action idle animation: sweep_idle
Custom move animation Walk_All_HoldBroom
move to position: custom movement
Now they can all have the same output aswell click add and put in:
Output: OnBeginSequence
Target: vortsweepy
Input: Start
Delay: .20
Also on flags make sure override AI, and Repeatable is checked. Now only one more thing to do.
Go back to your point_template and add in this:
Template 3: vortsweep1
Template 4: Vortsweep2
Template 5: vortsweep3
Now compile and test him!
The finished thing
Example map can be found here:
http://www.verzend.be/v/2491808/slavevo ... e.vmf.html
Plus: the example map uses 4 scripted_sequences, so is slightly different to using 3 in the tutorial above, but no new entities are required just some new outputs
- EduCatEd rOdeNt



