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/Textfolder. -
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.ucinside yourDeusEx/MyPackage/Classesfolder 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
DeusExLevelInfoactor to your map, if your haven't already, and set the mission number to 16. - Add a
Decorations > DeusExDecorations > ElectronicDevices > Computers > ComputerPersonalto your map. - Open its properties and add a an account to the
Computers > UserListwith the usernamemyuser. - Set the
TextPackagevalue 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.