| Deus Ex Security |
| |
| Download
Tutorial File (19k Zip) |
|
OK, here are the specific in setting up Deus-Ex security. I'm going
to start with the individual components and then show you how they
can all be added together.
First I want to talk a little bit about AI Events.
|
| AI Events |
|
The way that this works is through a number of native functions
(i.e. we can't see inside them).
Any object that wants to 'hear' an event sends the AISetEventCallback
function, with the event type as the first parameter and the function
to be called as the second parameter. AIClearEventCallback stops
the function being called.
Any object can also make events. Some events are sent using AISendEvent
such as loud noises, whereas some events have a start and end period
such as alarm and use AIStartEvent and AIEndEvent.
Most of the security features use the AI event 'Alarm'.
When a NPC hears an 'Alarm' event they first work out who the alarm
is about; For a failed computer hack or a security camera it is
always you, for a laser trigger it is whoever tirggered the laser
and for an alarm unit it is the current enemy of the NPC who triggered
the alarm unit. They then work out their alliance to this player
and attack/do nothing based on how they feel.
|
| |
| Alliances |
|
NPC alliances come into play a lot in alarm situations.
- Each NPC has their own Alliance.
- The can have 3 attitudes to other alliances, -1 - Hostile, 0
- Neutral or 1 - Friendly
- Alliances can either be permanent or not, i.e. do they hate
you if you shoot them.
- You are alliance 'Player'
- An NPC can only use an alarm if it is not Hostile to the Alliance
of the alarm.
Security Robots work in exactly the same way as all other NPCs. |
| |
| SecurityCamera |
|
The security camera is a hackable device, so all the following
properties; bHackable and hackStrength apply.
Security camera send the AI event 'Alarm' when they spot a player.
There are 2 stages to the spotting process, the first is the flashing
low level noise they create, and the second is the constant louder
noise. The Alarm event is actually started on the second stage of
this and ends when the security camera can no longer see the player.
The delay between stage 1 and stage 2 is 4 seconds.
|
| Is the camera 'Live' when the level starts. If it is
not live then nothing will happen, no movement, no alarming. |
| Should the SecurityCamera swing backwards and forwards |
| The complete angle that the camera will move, its initiall
position is in the middle of this angle. 8192 is 90 degrees. |
| Number of seconds to take per swing |
| If this is true then no alarm event is created when
seeing the player. Note - Security cameras are only triggered when
seeing YOU - they cannot be set up to alarm when seeing a NPC. |
| The field of view (FOV) of the camera, defaults to
4096 which equates to 45 degrees. |
| The range the camera can see the player in. If you
switch to Actor->Radii View in UnrealEd then this shows up as a
blue circle. |
| AutoTurret |
|
First of all, please remember to place the AutoTurret and not the
AutoTurretGun.
The AutoTurret sends AI LoudNoise events when it fires, but mainly
it listens for AI Alarm events. If bActive is set to false and a
nearby camera spots a player then it will become active. However
if it is altered through a security panel (more on this later) then
it will either be permenantly active or permenantly disabled.
When looking at the AutoTurret its 'front' is the part with the
angled front. (if that makes any sense)
The gun head is hackable and is disabled if hacking is successful.
This can obviously be reset using a security panel..
|
|
Does the turret start of by shooting, or does it need to be triggered
- either by a normal trigger or by an Alarm AI event.
An Alarm AI Start Event sets bActive to true and a Alarm AI End
Event set bActive to false.
Changing a turrets status to anything other than disbaled in a
security panel sets bActive to true.
|
|
bTrackPlayerOnly = true - Attack the player and allies.
bTrackPlayerOnly = false, bTrackPawnsOnly = true - Attack enemies
bTrackPlayerOnly = false, bTrackPawnOnly = false - Attack everything
(this includes furniture and other decorations, depends on Advanced->bDetectable
being true and Decoration->bInvincible being false)
Unfortunately, if allies or neutrals are hit by an autoturret and
they do not have permenant alliances then they will become hostile
to YOU.
|
| The amount of ammo... |
|
The delay in seconds between firing.
|
| The accuracy of the turrets shots. 0 is perfect, default
is 0.5, go as high as 20 and the thing will never hit you in month
of sundays. |
| damage per hit. |
| The all seeing eye is how big? |
| |
| AlarmUnit |
|
The alarm units just sit there and are triggered, either by a NPC
running up to it or by another trigger. When it is triggered it
emits an Alarm AI Start event and eventually an Alarm AI End event.
If triggered it will trigger its own Event->Event property.
When a NPC sees an enemy they can rush to an AlarmUnit based on
their AI->RaiseAlarm property. The Alarm is raised against that
Enemy.
Note: the AlarmTag field in Orders is no longer used.
|
| Amount of time before the alarm switches itself off. |
| They say this means that only NPCs of this alliance
will react to this alarm, but it doesn't. It means that only NPCs
who are not hostile to this Alliance can trigger the alarm. |
| |
| AcousticSensor |
|
Simply listens for 'WeaponFire' AI Events and triggers its Event.
To set off a loud alarm get it to trigger an AlarmUnit.
It has no properties of its own beyond those for all hackable devices.
|
| |
| RetinalScanner |
| The only way to get through this little so and so is
to hack it. Once hacked it triggers its Event property and displays
the msgUsed string. If the hackStrength is 0 then it can be used just
as a switch. It still has to be used to trigger the event though. |
| |
| ControlPanel |
| Pretty much the same as the retinal scanner, except
no message upon successful hacking. |
| |
| KeyPad |
| Similar to above, except it has a few more properties.
One main difference is that they can unlock doors instead of triggering
them. |
| The valid code which when entered triggers the KeyPad |
| sound to play on successful hack or key entry |
| sound to play upon entering the wrong code |
| event to trigger upon incorrect code entered |
| If this is true then the bLocked status of the DeusExMover
with the Event property will be toggle. If it is false then the event
will be Triggered. |
| |
| BeamTrigger |
|
Triggers its Event when the beam is tripped. Can be Triggered On
and UnTriggered Off.
The bIsOn property is ignored at startup. It is always On.
|
| |
| LaserTrigger |
| Similar to above, but triggers an AI Alarm Start Event
when it is tripped, and a End Event after 30 seconds. |
| If true then no alarm will be sounded. Just use the
trigger to make pretty pictures then! |
| |
| ComputerSecurity |
|
I'm only going to look at those properties and such like that effect
security, but like the other computers this computer can have special
actions attached. See a later tutorial on computers in general for
that maybe.
You can Computer Hack (not a hackable device, uses computer skill
and not multitools) at Trained and above, but you do not have access
to Turret control until you are Advanced or above.
|
|
Each security computer has 3 views, with 4 properties
- titleString - Description on the screen
- camTag - Event->Tag property of the camera for this view
- turretTag - turret tag for this view
- doorTag - mover tag for this view
The SDK Docs say that if you are setting the turret you must have
a camera as well, but i've tested it and you don't seem to have to. |
| The computer node, you can only use in-game options
unless you define your own scripts |
| The amount of time the user is locked out if their
hacking is detected. |
| All these are ignored, the information is got from
the choice of ComputerNode above. |
| A list of users who can log into this terminal. Each
user has three properties, userName, password and accessLevel. The
first 2 are obvious and the third one has no affect whatsoever. |
| |