Eidos Forums

Go Back   Eidos Forums > Eidos Classics > Deus Ex Series > Deus Ex: Invisible War

Reply
 
Thread Tools Display Modes
  #1  
Old 12-05-2003, 03:03 PM
Sloan_Chanston Sloan_Chanston is offline
New Player
 
Join Date: Dec 2003
Location: Oahu, Hawaii
Posts: 22
Default DX:IW PC Console Commands

Ok, so I've found the list of console commands in the DX2Menu.ini file in the game's system directory, but for the life of me I haven't devised a method of opening a console in the game itself, in which to type the following commands. I haven't had any success trying to map T to Talk via .ini files either. Has anyone had any more luck than I with this?

(The following is just a list of the ones I thought to be most interesting.)
GOD OFF
GOD PLAYER

INFINITEBIOENERGY
FULLBIOENERGY

ADDBIOMOD AggressiveDefenseDroneBiomod
ADDBIOMOD BiotoxAttackDroneBiomod
ADDBIOMOD BotDominationBiomod
ADDBIOMOD CloakBiomod
ADDBIOMOD ElectrostaticDischargeBiomod
ADDBIOMOD HazardDroneBiomod
ADDBIOMOD HealthLeechDroneBiomod
ADDBIOMOD MoveSilentBiomod
ADDBIOMOD NeuralInterfaceBiomod
ADDBIOMOD RegenerationBiomod
ADDBIOMOD SpeedBiomod
ADDBIOMOD SpyDroneBiomod
ADDBIOMOD StrengthBiomod
ADDBIOMOD ThermalMaskingBiomod
ADDBIOMOD VisionBiomod
ADDBIOMOD PurpleLightBiomod

SETBIOMODSLEVEL 1
SETBIOMODSLEVEL 2
SETBIOMODSLEVEL 3

INFINITEAMMO
FULLAMMO
ALLWEAPONS

Install Increased Range, installweaponmod IncreasedRange

Install Silencer, installweaponmod Silencer

Install EMP Converter, installweaponmod EMPConverter

Install Fragmentary Round, installweaponmod FragmentaryRound

Install Glass Destabilizer, installweaponmod GlassDestabilizer

Install Refire Rate, installweaponmod RefireRate

Install Tracking Computer, installweaponmod TrackingComputer

Install Ammo Scavenger, installweaponmod AmmoScavenger

Last edited by Sloan_Chanston; 12-05-2003 at 05:33 PM.
Reply With Quote
  #2  
Old 12-06-2003, 05:58 AM
N4rF N4rF is offline
New Player
 
Join Date: Dec 2003
Posts: 1
Default

I would love to know how as well. Nothing like romping thru the game a second time with cheats.
Reply With Quote
  #3  
Old 12-06-2003, 07:07 AM
MasterSnake MasterSnake is offline
New Player
 
Join Date: Dec 2003
Posts: 2
Default

there is actually a debug menu with cheats in the game but the menu doesn't disappear and gets in the way.It cause my game to crash several times.
Reply With Quote
  #4  
Old 10-02-2004, 07:55 PM
m00c0w m00c0w is offline
New Player
 
Join Date: Oct 2004
Posts: 2
Default

Hmmmm.... I've been bored today. Here's some stuff I found interesting:

Postal 2: Share The Pain
File: Default.ini
Code:
[Engine.Engine]
...
Console=FPSGame.FPSConsoleExt
...
Rainbow Six: Raven Shield
File: Default.ini
Code:
[Engine.Engine]
...
Console=Engine.Console
PlayerConsole=R6Game.R6Console
...
Deus Ex: Invisible War
File: Default.ini
Code:
[Engine.Engine]
...
Console=Engine.Console
...
EnterClosesConsole=1
...
What do those have in common? All of the games have the console located at what uncompiled would be: Engine\Classes\Console.uc
And guess what?

DX:IW - Engine.d2u
P2:STP - Engine.u
R6:RS - engine.u

Running With Scissors was nice enough to release the unreal script files and is availible for free (http://www.gopostal.com/postal2support/code.php)- including Engine.u
Let's have a look:
...\Postal2STP\Engine\Classes\Console.uc

Code:
//=============================================================================
// Console - A quick little command line console that accepts most commands.
//
// RWS CHANGE: Merged lots of stuff from UT2003
//=============================================================================
class Console extends Interaction;
	
#exec new TrueTypeFontFactory PACKAGE="Engine" Name=ConsoleFont FontName="Verdana" Height=10 AntiAlias=1 CharactersPerPage=256
#exec TEXTURE IMPORT NAME=ConsoleBK FILE=..\UWindow\TEXTURES\Black.PCX	
#exec TEXTURE IMPORT NAME=ConsoleBdr FILE=..\UWindow\TEXTURES\White.PCX	
	
// Variables

// RWS CHANGE: Don't get this from the ini, let it use key bindings like everything else
var /*globalconfig*/ byte ConsoleKey;			// Key used to bring up the main console
var byte TypingKey;								// Key used to bring up the typing console
var bool						bTypingKey;
var bool						bAlt;

var int HistoryTop, HistoryBot, HistoryCur;
var string TypedStr, History[16];		 	// Holds the current command, and the history
var bool bTyping;							// Turn when someone is typing on the console
var bool bIgnoreKeys;						// Ignore Key presses until a new KeyDown is received							
// RWS CHANGE: Make console use the key bindings like everything else does
var bool bGotKeyBindings;

//-----------------------------------------------------------------------------
// Exec functions accessible from the console and key bindings.

// Begin typing a command on the console.
exec function Type()
{
	local bool bAltDown;

	if (IsConsoleAllowed())
	{
		// Make sure the alt key isn't down (this avoids Alt-Tab bringing up the console)
		bAltDown = bool(Master.BaseMenu.ViewportOwner.Actor.ConsoleCommand("ISKEYDOWN 18"));	// 18 == IK_Alt
		if (!bAltDown)
		{
			TypedStr="";
			TypingOpen();
		}
	}
}

exec function Talk()
{
	if (IsConsoleAllowed())
	{
		TypedStr="Say ";
		TypingOpen();
	}
}

exec function TeamTalk()
{
	if (IsConsoleAllowed())
	{
		TypedStr="TeamSay ";
		TypingOpen();
	}
}

exec function ConsoleOpen();
exec function ConsoleClose();
exec function ConsoleToggle();

function bool IsConsoleAllowed()
{
	return true;
}

//-----------------------------------------------------------------------------
// Message - By default, the console ignores all output.
//-----------------------------------------------------------------------------

event Message( coerce string Msg, float MsgLife);

//-----------------------------------------------------------------------------
// Check for the console key.

function bool KeyEvent( EInputKey Key, EInputAction Action, FLOAT Delta )
{
	local EInputKey tmp;

	if (!bGotKeyBindings)
		UpdateKeyBinding();

	if (IsConsoleAllowed() && Key==ConsoleKey && Action==IST_Release)
	{
		if (!bool(Master.BaseMenu.ViewportOwner.Actor.ConsoleCommand("ISKEYDOWN 18")))	// IK_Alt == 18
		{
			ConsoleOpen();
			return true;
		}
	}
	if (IsConsoleAllowed() && Key==TypingKey && Action==IST_Release)
	{
		Type();
		return true;
	}

	return false;
} 

// RWS CHANGE: Make console use the key bindings like everything else does
function UpdateKeyBinding()
{
	// RWS FIXME: This assumes only one key is bound to each function, we might want to make it an array of keys at some point
	ConsoleKey = int(Master.BaseMenu.ViewportOwner.Actor.ConsoleCommand("BINDING2KEYVAL \"ConsoleToggle\" 0"));
	TypingKey = int(Master.BaseMenu.ViewportOwner.Actor.ConsoleCommand("BINDING2KEYVAL \"Type\" 0"));
	bGotKeyBindings = true;
}

//-----------------------------------------------------------------------------
// State used while typing a command on the console.

function TypingOpen()
{
	bTyping = true;
	
	if( (ViewportOwner != None) && (ViewportOwner.Actor != None) )
		ViewportOwner.Actor.Typing( bTyping );
	
	GotoState('Typing');
}

function TypingClose()
{
	bTyping = false;
	
	if( (ViewportOwner != None) && (ViewportOwner.Actor != None) )
		ViewportOwner.Actor.Typing( bTyping );
	
	TypedStr="";
	
	if( GetStateName() == 'Typing' )
		GotoState( '' );
}

state Typing
{
	exec function Type()
	{
		TypedStr="";
        TypingClose();
	}
	function bool KeyType( EInputKey Key, optional string Unicode )
	{
		if (bIgnoreKeys || bTypingKey)
			return true;
	
		if( Key>=0x20 )
		{
			if( Unicode != "" )
				TypedStr = TypedStr $ Unicode;
			else
				TypedStr = TypedStr $ Chr(Key);
		}
		return true;
	}

	function bool KeyEvent( EInputKey Key, EInputAction Action, FLOAT Delta )
	{
		local string Temp;

		if (!bGotKeyBindings)
			UpdateKeyBinding();

		if (Action== IST_PRess)
		{
			bIgnoreKeys=false;
		}
	
		// RWS CHANGE: The TypingKey closes the console, too
		if (Key == TypingKey)
		{
			if(Action == IST_Press)
				bTypingKey = true;
			else if(Action == IST_Release && bTypingKey)
				TypingClose();
			return true;
		}
		// RWS CHANGE: Made the ESC key work the same as it does in the extended console
		// By only doing things on the release (not the press) it also solves a problem
		// where the old code was closing the console on press, leaving the release
		// unhandled, which screwed up other classes that were looking for the same key.
		else if( Key==IK_Escape )
		{
			if (Action==IST_Release)
			{
				if (TypedStr!="")
				{
					TypedStr="";
					HistoryCur = HistoryTop;
				}
				else
				{
					TypingClose();
				}
			}
			return true;
		}
		else if( Action != IST_Press )
		{
			return false;
		}
		else if( Key==IK_Enter )
		{
			if( TypedStr!="" )
			{
				History[HistoryTop] = TypedStr;
				HistoryTop = (HistoryTop+1) % ArrayCount(History);
				
				if ( ( HistoryBot == -1) || ( HistoryBot == HistoryTop ) )
					HistoryBot = (HistoryBot+1) % ArrayCount(History);

				HistoryCur = HistoryTop;

				// Make a local copy of the string.
				Temp=TypedStr;
				TypedStr="";
				
				if( !ConsoleCommand( Temp ) )
					Message( Localize("Errors","Exec","Core"), 6.0 );
					
				Message( "", 6.0 );
			}

            TypingClose();
				
			return true;
		}
		else if( Key==IK_Up )
		{
			if ( HistoryBot >= 0 )
			{
				if (HistoryCur == HistoryBot)
					HistoryCur = HistoryTop;
				else
				{
					HistoryCur--;
					if (HistoryCur<0)
						HistoryCur = ArrayCount(History)-1;
				}
				
				TypedStr = History[HistoryCur];
			}
			return True;
		}
		else if( Key==IK_Down )
		{
			if ( HistoryBot >= 0 )
			{
				if (HistoryCur == HistoryTop)
					HistoryCur = HistoryBot;
				else
					HistoryCur = (HistoryCur+1) % ArrayCount(History);
					
				TypedStr = History[HistoryCur];
			}			

		}
		else if( Key==IK_Backspace || Key==IK_Left )
		{
			if( Len(TypedStr)>0 )
				TypedStr = Left(TypedStr,Len(TypedStr)-1);
			return true;
		}
		return true;
	}
	
	function PostRender(Canvas Canvas)
	{
		local float xl,yl;
		local string OutStr;
		
		// Blank out a space

		Canvas.Style = 1;
		
		Canvas.Font	 = font'ConsoleFont';
		OutStr = "(>"@TypedStr$"_";
		Canvas.Strlen(OutStr,xl,yl);

		Canvas.SetPos(0,Canvas.ClipY-6-yl);
		Canvas.DrawTile( texture 'ConsoleBk', Canvas.ClipX, yl+6,0,0,32,32);

		Canvas.SetPos(0,Canvas.ClipY-8-yl);	
		Canvas.SetDrawColor(0,255,0);
		Canvas.DrawTile( texture 'ConsoleBdr', Canvas.ClipX, 2,0,0,32,32);

		Canvas.SetPos(0,Canvas.ClipY-3-yl);
		Canvas.bCenter = False;
		Canvas.DrawText( OutStr, false );
	}
	
	function BeginState()
	{
		bTyping = true;
		bVisible= true;
		bIgnoreKeys = true;
		bTypingKey = false;
		HistoryCur = HistoryTop;
	}
	function EndState()
	{
		ConsoleCommand("toggleime 0");
		bTyping = false;
		bVisible = false;
		bTypingKey = false;
	}
}


defaultproperties
{
	bActive=True
	bVisible=False
	bRequiresTick=True
	HistoryBot=-1
}
So........ Now all we'd need to do is decompile or rip code out of the Engine.d2u and we may have a working console.
And if there isn't any code for it, someone should be able to add some in if they right knowledge...
The encoding of the .d2u file is the same as the .u file except it has a differant extention added.

DX:IW -
Code:
Paths__dx=z:\system\*.d2u
...
Paths__d=.\*.d2u
Paths__d=..\..\build\*.d2u
Paths__d=..\Content\System\*.d2u
P2:STP -
Code:
Paths=..\System\*.u
Another idea, is that in the DX:IW Default.ini:
Console=Engine.Console

That you could create a new package and change that to load file created. Since UCC [UnrealOS execution enviorment], which is the 'official' unreal compiler isn't included, there are other tools useful for compiling like WOTgreal (http://www.wotgreal.com/), which is also used to edit script files.

But eh.... These are all general ideas, guesses, etc. running through my head. And yes, I know I bumped an older post up, but I thought this might be helpful to enabling or making a console. Enjoy...

-- m00c0w
Reply With Quote
  #5  
Old 10-12-2004, 05:43 AM
b1000101 b1000101 is offline
New Player
 
Join Date: Aug 2004
Location: Golden
Posts: 12
Default

if you would like to cheat, checkout this link

http://faqs.ign.com//articles/475/475218p1.html

i did what it said to the letter, only i placed the menu in the lower left of my screen. you can see your FPS as well (What i was origionally looking for)
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 06:49 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, vBulletin Solutions, Inc.