|
RvS Mapping Tutorials |
Building Your First
Raven Shield Map |
Creating an RvS Map
Info (.INI) File |
Building Skyboxes
in Raven Shield |
RvS Mapping: Doors,
Ladders, and Damage Models |
Customizing RvS Terrorist
Equipment and Behavior |
Creating Terrain
in Raven Shield Maps |
RvS Game Types
and Mission Objectives |
Importing Static Meshes
into your Raven Shield Map |
Zones, Portals, and
Anti-Portals |
|
Nudist Videos |
|
|
Zones, Portals, and
Anti-Portals |
Ambient Sounds
in Raven Shield Maps |
|
|
Odds & Ends |
|
F.A.Q. |
|
Tips & Tricks |
|
Shortcut Keys |
|
Common Errors |
|
Geometry Dimensions |
|
Troubleshooting Checklist |
|
|
Navigation |
|
Home |
|
Tools |
|
Links |
|
Contact |
|
|
|
Customizing RvS Terrorist Equipment
and Behavior
-by Beckett, last updated March 27, 2003
|
|
This tutorial will teach you how to customize
terrorist equipment and orchestrate terrorist behavior.
This tutorial assumes that you are already
familiar with UnrealED and know how to load a simple custom map into
Raven Shield. If this is not the case, take a look at my earlier
tutorial,
Building Your First Raven Shield Map, and then come back to this
one. I'm not going to spend much time in this tutorial dealing with
textures, lighting, or insertion points. I'll assume you know what
you're doing and can improvise these as you go along.
To start out, let's build a simple 4 room map. Set
your grid to 128 units. Select any wall texture you like, and then carve
out a cube sized Height=256,Width=768,Breadth=768. Now drag the builder
brush and carve out a second room exactly 128 units to the North and 128
units to the West of the first room. Repeat this procedure two more
times, so that you have four rooms, spaced out in a diagonal line. Now
let's connect the rooms, but we don't want a direct line of sight
between the rooms so we'll create right angle hallways. Carve out a
hallway to the North of the very first room, sized
Height=256,Width=640,Breadth=256. Carve identical hallways North of the
2nd and 3rd rooms. Now carve out a hallway to the East of the 2nd room,
sized Height=256,Width=256,Breadth=384 (this should connect the 1st room
to the 2nd). Carve identical hallways East of the 3rd and 4th rooms.
Now, all four rooms are connected, and we'll be able to design one
encounter (to use a role-playing term) at a time. Your map should look
like this:
Add an insertion zone in the first room (click
here if you need instructions for this). Open the Actor Classes
browser, expand "Info" and select "ZoneInfo". Right click anywhere in
the first room, and choose "Add ZoneInfo here". Reposition the icon if
necessary, making sure it isn't embedded in any floors or walls. Open
the properties for the ZoneInfo icon, expand "ZoneLight", and set
AmbientBrightness to "128" and AmbientHue to "64". (This is a lazy way
to light a level, but lazy is good for testing and tutorials.)
Path Nodes
We need to add path nodes so that terrorists and operatives can find
their way around the map. The insertion point itself serves as one path
node. The rule for path nodes is very simple: each path node must be
visible from at least one other path node, and they should not be over
1000 units apart. Right click in the hallway corner between the 1st and
2nd rooms and choose "Add Path Node Here". An apple icon will appear.
The icon should sit about 40 units above the floor (if you add it from
the 3d perspective view, it will place itself at the proper height). Add
a path node in each hallway corner and in the direct center of each room
(except room 1, which has the insertion zone). Now, rebuild your map,
using the "Rebuild Paths" button, or the "Build All" button (assuming
you have "Build Paths" turned on in the build settings). If any of your
path nodes is isolated from the others, an error message will appear. If
this happens, select the Actor name, click the "Go to Actor" button, and
then reposition that path node, making sure that it is within visible
range of another path node.
You do not need to go overboard with placing path nodes. The AI is
pretty smart, it just needs help finding it's way around corners and
across long distances. But keep in mind that the AI does think for
itself, so it will wander off the beaten path sometimes. If you've got a
broom closet that you think will never be used... it's a still good idea
to drop a path node outside it just in case a terrorist flees into the
closet in a moment of cowardice, so he can later find his way back out.
Without path nodes, if you leave your team a room or two behind and then
call them to rejoin you, they will object because they don't know how to
get to you. And without path nodes, you will need to place waypoints
every few feet in the planning stage; whereas if you have good path
nodes on your map, you can place a waypoint on the far side of the map
and the engine will auto calculate the best path to get there.
Placing Tangos and Hostages
Let's place some terrorists. Open the actor class browser, expand
"R6DeploymentZone", and select "R6DZonePoint". Right click somewhere in
the 2nd room and choose "Add R6DZonePoint Here". Place two R6DZonePoints
anywhere in the 3rd room, and place two in the 4th room as well. Open
the properties for the very last R6DZonePoint you added (in the 4th
room). We're going to make this guy a hostage. Expand "R6DZoneHostage".
Set m_iMaxHostage to "1", and m_iMinHostage to "1". Expand
"R6DZoneTerrorist". Set m_iMaxTerrorist to "0", and m_iMinTErrorist to
"0". We haven't setup the proper hostage rescue mission objectives (I'll
cover this in a future tutorial), so we won't be able to extract/rescue
this guy, but the terrorists will be able to interact with him (in other
words menace and kill him).
Let's throw in one random terrorist for tango hunt and lone wolf
missions. (Note that by default, random tangos will appear in "mission"
game types, however fixed tangos will not appear in tango hunts. Random
tangos can be removed from fixed missions using the R6Availability
settings.) Open the actor class browser, expand "R6DeploymentZone", and
select "R6DZoneRandomPoints". Right click near the center of the hostage
room and choose "Add R6DZoneRandomPoints Here". Two new icons will
appear. The larger icon represents the random tango who will spawn, and
the smaller icon represent a RandomPointNode, one possible position
where he could spawn. Open the properties for the R6DZoneRandomPoints
(the larger icon) and expand "R6DZone". Select m_aNode and then click
the "New" button. Reselect m_aNode and click the "New" button two more
times to create four random nodes in all. Drag each random node to a
separate corner of the room. Now, each tango hunt game, a single
terrorist will spawn in one random corner of this room. (well, in theory
that's how it works... however I've noticed that if you don't place 35+
random points when playing a 35 hunt, a tango will spawn in every node
available--in this case a tango will spawn in each corner of the room).
Kits/Templates
At this point, rebuild and run through the map once in-game if you'd
like (choose "Practice Mission"). You'll see that all five terrorists
are identical twins, they all carry silenced MP5s, and they all have
Spanish accents. Let's adjust those accents first. From the "View" menu
in the editor, select "Level Properties". Expand "R6Sound" and set
m_eTerroristVoices to "TN_German1". Close the level properties window.
Now open the properties for the lone tango in the 2nd room. Expand
"R6ZoneTerrorist". At the bottom, expand "m_Template" and then expand
"[0]". These settings show us that by default, there is a 100% chance to
load a template named "Normal". Leave the properties window for a
moment, open the "View" menu in the editor, and select "Show Template
Browser". Scroll down in the left column of Terrorist Templates, and
double click on "Normal". As we can see, the default terrorist has a
100% chance to wear the R6TParamilitary01 skin, and a 100% chance to
carry a silencedSubMP5SD5. We could modify this template if we wanted
to, but I think it would be better if we created our own template
instead. Change the Template name from "Normal" to "Abnormal". Set
Assault to "100". Under Pawn chance, select "100%, R6TParamilitary01"
and click the "Remove" button. Now, in the Pawn chance dropdown box,
select "R6TSkinhead1" and change "100" to "50". Click the "Add" button.
Next, select "R6TTropical1" from the dropdown box, keep the percentage
set to "50", and click the "Add" button again. In the "Weapon" section,
select "100%, SilencedSubMP5SD5" and click the "Remove" button. Now, in
the Weapon dropdown box, select "NormalPistolP228", keep the percentage
set to "100", and Click the "Add" button. Finally, set Flashlight to
"80". Click the "Create" button at the bottom. This will create a new
terrorist template option named "Abnormal" without modifying the
"Normal" kit. Back in the properties window, with "m_Template | [0]"
still expanded, change m_szName to "Abnormal". Now our terrorist friend
will have a 50% chance of being a skinhead and 50% chance of being a
Miami Vice hood. He will usually carry a flashlight, and will only be
armed with a pistol. He'll also be a pretty good shot. Note that
templates are stored in the "\RavenShield\template\" folder (".tpt" for
tango kits and ".tph" for hostage kits). If you create custom templates,
it is very important that you distribute the new ".tpt" and ".tph" files
along with your map.
Let's change the kits of the other three terrorists as well. Open the
properties for each one, expand "R6ZoneTerrorist", "m_Template", and
"[0]", and then assign an existing template from the Template Browser
("Alpines-3", "Garage-5", etc., but make sure the template actually
exists). On the last guy, change m_iChance to "30" and keep m_szName set
to "Normal". Then, expand "[1]" and set m_iChance to "70" and m_szName
t0 "Abnormal". This tango will now have a 30% chance to appear as the
familiar clone with the MP5SD and a 70% chance to be born with our
custom pistol and flashlight kit. Of course, this also means that there
is a 35% chance he'll appear as a skinhead, and a 35% chance he'll
appear as a beach bum. So between the percentages you specify in the
editor, and those you specify in the template file, you can easily add a
large random element to exactly who the Rainbow team will be fighting
each time.
You should know how to assign kits/templates now. Go ahead and assign a
new template to the hostage in the 4th room (make sure it's a hostage
kit and not a tango kit, for obvious reasons).
Patrols
Let's add another tango to the 2nd room and give this one a patrol
route. Open the actor class browser, expand "R6DeploymentZone", and
select "R6DZonePath". Right click in any corner of the 2nd room and
choose "Add R6DZonePath Here". Three icons will appear, one large
gingerbread man symbolizing the tango, and two smaller icons identifying
nodes in his patrol path. The position of the larger icon really doesn't
matter. Let's reposition the smaller icons so that each is in a
different corner of the room. Select the larger icon, open the
R6DZonePath properties, and expand "R6DZone". Select m_aNode and then
click the "New" button. A third node in this path, will be created on
the map. Drag this node to a third corner of the room and open it's
properties. Expand "R6DZone". Set m_AnimChance to "100" and set
m_AnimToPlay to "RelaxWaitLookFar". This terrorist will pace slowly
between the three nodes. When he reaches the third, he will peer into
the distance and then retrace his steps, continuing to patrol until the
enemy is spotted.
Reactions
Move to the 3rd room, open up the properties for one of the tangos, and
expand "R6DZoneTerrorist". Change m_eDefCon to "DEFCON_0" (highest alert
status--kudos to the developer who named this setting) and and
m_eEngageReaction to "EREACT_AimedFire". Switch to the other tango in
that room and set m_eDefCon to "DEFCON_5" and and m_eEngageReaction to "EREACT_RunAway".
Rebuild and save the map. Load the map in-game and immediately type "PlayerInvisible"
into the console (open and close the console with the "~" key). Now,
hold your fire, and walk around the map to observe the behavior of the
terrorists. Notice that the tango in DefCon_5 mode is pretty laid back:
yawning, picking gum off his shoe, and looking pretty bored with his
assignment. Meanwhile, the tango in DefCon_0 mode is aiming at the
doorway with his eye to the gun sights. You can switch out of invisible
mode if you'd like, but at this point the bad guys' reactions upon
spotting you will be pretty standard.
Action Spots
Return to the editor. Open the actor class browser and select
"R6ActionSpot". Right click near the center of the 2nd room and choose
"Add R6ActionSpot Here". A question mark icon will appear. (For some
inexplicable reason, I couldn't add an action spot on this map by right
clicking; it worked on other maps, so I ended up copying the object from
another map... I only mention it in case anyone encounters the same
problem.) Open the properties for the R6ActionSpot and expand
"R6ActionSpot". Set m_blInvestigate to "True", m_eCover to "STAN_Crouching",
and m_eFire to "STAN_Crouching". Rotate the R6ActionSpot icon so that
the red arrow points toward the 1st room. Note, that unless you tell the
terrorists to stay put, they will make a beeline for your position (or
where they think they heard you) regardless of any action spots. So open
the properties for our original "Abnormal" fellow in the 1st room,
expand "R6DZoneTerrorist" and set m_bAllowLeave to "False". Now, if that
tango hears trouble from the 1st room, he'll take position on that
action spot. However, once he spots you, his survival instinct will take
over and his behavior may change...
Reinforcements
That 2nd room will be pretty easy to clear, so let's allow the tangos to
call in reinforcements. Select both tangos in the 3rd room, open their
properties, and expand "R6DZoneTerrorist" again. Set m_iGroupID to "1".
This of course, assigns these two to an AI group named "1". Now, select
the patrolling terrorist in the first room. We're going to make him a
scout. Open his properties, and expand "R6DZoneTerrorist". Change
m_eEngageReaction to "EREACT_Surrender". Select m_iGroupIDsToCall and
then click the "Add" button. Set [0] to "1", telling the scout to call
in reinforcements at the first sign of trouble.
Guarding Hostages
Finally, move to the 4th room and open up properties for the fixed (not
the random) terrorist in that room. Set m_bAllowLeave to "False",
m_eDefCon to "DEFCON_0", and m_eEngageReaction to "EREACT_AimedFire".
Change m_HostageShootChance to "100". Select m_HostagZoneToCheck and
click the "Add" button. Next, click the "Pick" button. Left click the
eyedropper on the hostage icon (the pink gingerbread man) to identify
the hostage that we want this terrorist to shoot.
Conclusion
Play the map again, and don't go invisible this time. As soon as the
scout spots you, he will surrender, but not before first calling for his
associates, who will immediately come running to kill you. (Mr. DefCon_5
will humorously come to his friend's aid but then run away as soon as he
sees you.) Notice that the EngageReactions and GroupIDsToCall do not
kick in until the terrorist has spotted you with his own eyes.
Once you've cleared the outer defenses, move into position outside the
hostage room. Be careful, because as soon as the terrorist inside sees
you he will focus all of his efforts on immediately killing the poor
hostage. (Luckily, if he spawns using the "abnormal" template we
created, he will only have a pistol and it may take him a few shots.)
|
|
|