Computers
This guide will cover adding personal computers, security consoles and public terminals to your map. You will find these actors in the Actor Class Browser
under Decoration > DeusExDecoration > ElectronicDevices > Computers
.
Prerequisites
-
Computers
- ComputerNode
- lockoutDelay
- nodeName
-
specialOptions
- bTriggerOnceOnly
- Text
- TriggerEvent
- TriggerText
- UnTriggerEvent
- userName
- TextPackage
- titleString
- titleTexture
-
UserList
- accessLevel
- Password
- userName
Personal computers
Emails
- Create a file called
16_Email01.txt
(mission number + "Email" + number, it's a convention) in theDeusEx/MyPackage/Text
folder. -
Write in something like this. Unlike with information devices, only the
<P>
and<COMMENT>
tags work here.<P>Hi, <P> <P>This is a test email <P> <P>Peace, <P>Jordan Shea
-
Create another text file called
16_EmailMenu_myuser.txt
(another convention) like this:<EMAIL=16_Email01,Test email,JordanShea,myuser,>
Note
The structure is email filename, subject, sender, username (several can be added)
-
Create/modify a file called
TextImport.uc
inside yourDeusEx/MyPackage/Classes
folder with this content:class TextImport expands Object abstract; #exec DEUSEXTEXT IMPORT FILE=Text\16_Email01.txt #exec DEUSEXTEXT IMPORT FILE=Text\16_EmailMenu_myuser.tx
-
Rebuild your package.
- Add a
DeusExLevelInfo
actor to your map, if your haven't already, and set the mission number to 16. - Add a
Decorations > DeusExDecorations > ElectronicDevices > Computers > ComputerPersonal
to your map. - Open its properties and add a an account to the
Computers > UserList
with the usernamemyuser
. - Set the
TextPackage
value to the name of your package.
Nodes
Computer nodes are unfortunately hardcoded in Deus Ex, so we need to do a bit of monkey wrenching to define our own. Create a new class called ComputerNodeDistributor.uc
and paste this:
class ComputerNodeDistributor extends KeyPoint;
var() string NodeName;
var() string NodeDesc;
var() string NodeAddress;
var() Texture NodeTexture;
function PostBeginPlay()
{
local Computers aComputer;
if(Event == '')
return;
foreach AllActors(class'Computers', aComputer, Event)
{
aComputer.SetPropertyText("ComputerNode", "CN_UNATCO");
aComputer.SetPropertyText("NodeInfo", "(nodeName=\"" $ NodeName $ "\",nodeDesc=\"" $ NodeDesc $ "\",nodeAddress=\"" $ NodeAddress $ "\",nodeTexture=Texture'" $ NodeTexture $ "')");
}
}
Then add this actor to your map, set its Event
to the Tag
of the computers you want to modify, and fill in the values of ComputerNodeDistributor
's properties as you like.