Paul as JC

A refuge for those migrating from the fallen DXEditing.com and a place for general discussion relating to Deus Ex editing (coding, mapping, etc).
User avatar
Paul_Denton
Thug
Posts: 15
Joined: Sat Jan 30, 2010 12:07 am

Paul as JC

Post by Paul_Denton »

Hello, can u help me to replace JC to Paul and Paul to JC ingame on singleplay?
The Texts can be the orginal i only want to play Paul Denton on the main plot.
It this possible? im a nerd on editing
Morpheus
X-51
Posts: 967
Joined: Thu Jan 27, 2005 9:56 am
Location: A planet near mars

Re: Paul as JC

Post by Morpheus »

Your going to need a new player class for this. If you want to know how to play as Paul, see Zodiac mod. You play as Paul Denton in it.
My nature videos: http://www.youtube.com/user/DynamixWarePro
My whistle/flute videos (and some other videos): http://www.youtube.com/user/DXMorpheus
~DJ~
UNATCO
Posts: 277
Joined: Thu Sep 13, 2007 4:15 pm

Re: Paul as JC

Post by ~DJ~ »

OR if you're just working on some personal stuff.. like a video or something..

Using the SET commands might help;

Simply enable cheats, and then type 'set human mesh PaulDenton' (PaulDenton must be summoned/on the map)

and then..

'set PaulDenton mesh JCDentonMale' (But.. summoning JCDentonMale first, then typing that cheat.)
DDL
Traditional Evil Scientist
Traditional Evil Scientist
Posts: 3791
Joined: Mon Oct 17, 2005 10:03 am

Re: Paul as JC

Post by DDL »

Wouldn't work, sadly: they both use the same mesh.

If you're not averse to some hacky hacky mchackstand core file hacking, you could just export your deusex.u code, change the multiskins assignments for paul and JC, and then recompile it. But that's quite hardcore...

Alternatively, if I get the time (probably won't, but hey: can always dream) I could whack a playerclass together: it'd be fairly straightforward.
User avatar
Paul_Denton
Thug
Posts: 15
Joined: Sat Jan 30, 2010 12:07 am

Re: Paul as JC

Post by Paul_Denton »

Change the confg.file from JC to Paul dosnt work. I m noob on editing, but i test and configurate the zodiac player files with the orginal ones; dont work.
thats the reason why i want to ask your, a pro mod team.
DDL wrote:Wouldn't work, sadly: they both use the same mesh.

If you're not averse to some hacky hacky mchackstand core file hacking, you could just export your deusex.u code, change the multiskins assignments for paul and JC, and then recompile it. But that's quite hardcore...

Alternatively, if I get the time (probably won't, but hey: can always dream) I could whack a playerclass together: it'd be fairly straightforward.
thats sounds really to much for my noob experience. the second idea sounds better :)
to be it (maybe) easier, take the paul orginal file, dont the zodiac one with sunglass. i dont understand why its be so hard to change the player model, normaly is getting easy. change skripts or the player txd dont work.

damn i love deus ex, and i like the hdtp mod, but from beginning i can more identify with paul. i like him and want ever to play on the mainplot.
sry for my bad english.
User avatar
Hassat Hunter
Illuminati
Posts: 2182
Joined: Fri Apr 10, 2009 1:20 pm

Re: Paul as JC

Post by Hassat Hunter »

Can somebody tell me how I can get a custom avatar?
Oh wait, I already got one...
nerdenstein
Illuminati
Posts: 1591
Joined: Thu Apr 24, 2008 7:40 pm
Location: Leicester, England, UK.

Re: Paul as JC

Post by nerdenstein »

Or If you really wanted to play as Paul you could use the Shifter Mod :giggle:

Note that this only changes the Player Model Though.. :smile:
The real trouble with reality is that there's no background music.
User avatar
Paul_Denton
Thug
Posts: 15
Joined: Sat Jan 30, 2010 12:07 am

Re: Paul as JC

Post by Paul_Denton »

Damn dude, thats what im looking for. Big Thx =D>
User avatar
Paul_Denton
Thug
Posts: 15
Joined: Sat Jan 30, 2010 12:07 am

Re: Paul as JC

Post by Paul_Denton »

Lol this fu*kn mod works only for multiplayer. thanks for steeling my time, dude.
DDL
Traditional Evil Scientist
Traditional Evil Scientist
Posts: 3791
Joined: Mon Oct 17, 2005 10:03 am

Re: Paul as JC

Post by DDL »

A) you don't need to censor your swearwords: swearing is fine here
B) manners are always welcome, however

"Lol this mod works only for multiplayer. thanks for steeling my time, dude." -a bit rude

"Ah, fucksticks, this mod works only for multiplayer. Oh well: thanks anyway, dude." -features swearing, but is nevertheless a more polite sentence.
User avatar
Paul_Denton
Thug
Posts: 15
Joined: Sat Jan 30, 2010 12:07 am

Re: Paul as JC

Post by Paul_Denton »

i forget my polite, this kind of shit make me angry. i have wrote i want to play paul in singleplayer on the main game.
pls dont give me a answer if someone have no a idea how it is to do. thats senseless.
DDL
Traditional Evil Scientist
Traditional Evil Scientist
Posts: 3791
Joined: Mon Oct 17, 2005 10:03 am

Re: Paul as JC

Post by DDL »

I doubt they realised it was MP specific: Hell, I didn't know either.

Still, worth employing a wee bit more patience before going crazy about it. :)


Anyway, the code is actually straightforward, it's just the implementation that's hard: the unreal engine is actually quite mod-friendly, but only if you know what you're doing.

Gimme a sec and I'll whip up a playerclass.
User avatar
Paul_Denton
Thug
Posts: 15
Joined: Sat Jan 30, 2010 12:07 am

Re: Paul as JC

Post by Paul_Denton »

DDL wrote:I doubt they realised it was MP specific: Hell, I didn't know either.

Still, worth employing a wee bit more patience before going crazy about it. :)


Anyway, the code is actually straightforward, it's just the implementation that's hard: the unreal engine is actually quite mod-friendly, but only if you know what you're doing.

Gimme a sec and I'll whip up a playerclass.
if u can do a magicfile how i can put in the deus folder and play as paul then i give you so much seconds u will need.
DDL
Traditional Evil Scientist
Traditional Evil Scientist
Posts: 3791
Joined: Mon Oct 17, 2005 10:03 am

Re: Paul as JC

Post by DDL »

Ok, now I'm assuming you probably won't have the resources to compile this yourself (or are unwilling :)) so I'm mostly just posting this code up for general editing purposes (also so anyone who spots mistakes can point them out). But I shall compile it tonight when I finish work, and then post up the package.

Turns out to be a bit more complicated, since carcasses of paul and JC reskin themselves according to internally saved references based on the playerskin value, which means you need not just a new playerclass, but also a new carcass and a new carcass for paul (pretty sure we can just reassign that one though). Hopefully this should adress any problems with the paul carcass in the MJ12 labs (if present) but we'll see.

I've gone for a straight swap, as requested (I hope?) so you won't have sunglasses, but paul (who now looks like JC) will.

Everyone will still, of course, call you JC and him paul, coz there's no way that's changable. But hey.

Code: Select all

Class PlayerPaulDenton extends JCDentonMale;


event TravelPostAccept()
{
	local DeusExLevelInfo info;
	
	//travelpostaccept calls updateplayerskin, so we need to set our proper skins
	//before that, or it all goes horribly wrong

	switch(PlayerSkin)
	{
		case 0:	MultiSkins[0] = Texture'PaulDentonTex0'; MultiSkins[3] = Texture'PaulDentonTex0'; break;
		case 1:	MultiSkins[0] = Texture'PaulDentonTex4'; MultiSkins[3] = Texture'PaulDentonTex4'; break;
		case 2:	MultiSkins[0] = Texture'PaulDentonTex5'; MultiSkins[3] = Texture'PaulDentonTex5'; break;
		case 3:	MultiSkins[0] = Texture'PaulDentonTex6'; MultiSkins[3] = Texture'PaulDentonTex6'; break;
		case 4:	MultiSkins[0] = Texture'PaulDentonTex7'; MultiSkins[3] = Texture'PaulDentonTex7'; break;
	}

	Super(human).TravelPostAccept();

	
}

// ----------------------------------------------------------------------
// UpdatePlayerSkin()
// ----------------------------------------------------------------------

function UpdatePlayerSkin()
{
	local PaulDenton paul;
	local PaulDentonCarcass paulCarcass;
	local JCDentonMaleCarcass jcCarcass;
	local JCDouble jc;
	local int i;

	// Paul Denton
	foreach AllActors(class'PaulDenton', paul)
	{
		SetPaulSkin(Paul);
		Paul.Carcasstype = class'ZOMGPaul.PaulJCCarcass';
	}

	// Paul Denton Carcass
	foreach AllActors(class'PaulDentonCarcass', paulCarcass)
	{
		SetPaulskin(paulcarcass);

	}
	//Make sure other JCs look like us (seriously, wtf for carcasses?)
	// JC Denton Carcass
	foreach AllActors(class'JCDentonMaleCarcass', jcCarcass)
	{
		for(i=0;i<8;i++)
			jcCarcass.multiskins[i] = multskins[i];
	}

	// JC's stunt double
	foreach AllActors(class'JCDouble', jc)
	{
		for(i=0;i<8;i++)
			jc.multiskins[i] = multskins[i];
	}

}

//new slightly crappy function to reassign paul to look like JC

function SetPaulSkin(actor A)
{
	switch(PlayerSkin)
	{
		case 0:	A.MultiSkins[0] = Texture'JCDentonTex0';
				break;
		case 1:	A.MultiSkins[0] = Texture'JCDentonTex4';
				break;
		case 2:	A.MultiSkins[0] = Texture'JCDentonTex5';
				break;
		case 3:	A.MultiSkins[0] = Texture'JCDentonTex6';
				break;
		case 4:	A.MultiSkins[0] = Texture'JCDentonTex7';
				break;
	}

	A.MultiSkins[1]=Texture'DeusExCharacters.Skins.JCDentonTex2'
	A.MultiSkins[2]=Texture'DeusExCharacters.Skins.JCDentonTex3'
	A.MultiSkins[3]=Texture'DeusExCharacters.Skins.JCDentonTex0'
	A.MultiSkins[4]=Texture'DeusExCharacters.Skins.JCDentonTex1'
	A.MultiSkins[5]=Texture'DeusExCharacters.Skins.JCDentonTex2'
	A.MultiSkins[6]=Texture'DeusExCharacters.Skins.FramesTex4'
	A.MultiSkins[7]=Texture'DeusExCharacters.Skins.LensesTex5'
}

defaultproperties
{
     CarcassType=Class'ZOMGPaul.PlayerPaulDentonCarcass'
     MultiSkins(0)=Texture'DeusExCharacters.Skins.PaulDentonTex0'
     MultiSkins(1)=Texture'DeusExCharacters.Skins.PaulDentonTex2'
     MultiSkins(2)=Texture'DeusExCharacters.Skins.PantsTex8'
     MultiSkins(3)=Texture'DeusExCharacters.Skins.PaulDentonTex0'
     MultiSkins(4)=Texture'DeusExCharacters.Skins.PaulDentonTex1'
     MultiSkins(5)=Texture'DeusExCharacters.Skins.PaulDentonTex2'
     MultiSkins(6)=Texture'DeusExItems.Skins.GrayMaskTex'
     MultiSkins(7)=Texture'DeusExItems.Skins.BlackMaskTex''
}
and the carcasses

Code: Select all

class PlayerpauldentonCarcass extends JCDentonMaleCarcass;

// ----------------------------------------------------------------------
// PostPostBeginPlay()
// ----------------------------------------------------------------------

function PostPostBeginPlay()
{
	local DeusExPlayer player;

	Super(deusexcarcass).PostPostBeginPlay();

	foreach AllActors(class'DeusExPlayer', player)
		break;

	SetSkin(player);
}

// ----------------------------------------------------------------------
// SetSkin()
// ----------------------------------------------------------------------

function SetSkin(DeusExPlayer player)
{
	if (player != None)
	{
		switch(player.PlayerSkin)
		{
			case 0:	MultiSkins[0] = Texture'PaulDentonTex0'; MultiSkins[3] = Texture'PaulDentonTex0'; break;
			case 1:	MultiSkins[0] = Texture'PaulDentonTex4'; MultiSkins[3] = Texture'PaulDentonTex4'; break;
			case 2:	MultiSkins[0] = Texture'PaulDentonTex5'; MultiSkins[3] = Texture'PaulDentonTex5'; break;
			case 3:	MultiSkins[0] = Texture'PaulDentonTex6'; MultiSkins[3] = Texture'PaulDentonTex6'; break;
			case 4:	MultiSkins[0] = Texture'PaulDentonTex7'; MultiSkins[3] = Texture'PaulDentonTex7'; break;
		}
	}
}

// ----------------------------------------------------------------------
// ----------------------------------------------------------------------

defaultproperties
{
     Mesh2=LodMesh'DeusExCharacters.GM_Trench_CarcassB'
     Mesh3=LodMesh'DeusExCharacters.GM_Trench_CarcassC'
     Mesh=LodMesh'DeusExCharacters.GM_Trench_Carcass'
     MultiSkins(0)=Texture'DeusExCharacters.Skins.PaulDentonTex0'
     MultiSkins(1)=Texture'DeusExCharacters.Skins.PaulDentonTex2'
     MultiSkins(2)=Texture'DeusExCharacters.Skins.PantsTex8'
     MultiSkins(3)=Texture'DeusExCharacters.Skins.PaulDentonTex0'
     MultiSkins(4)=Texture'DeusExCharacters.Skins.PaulDentonTex1'
     MultiSkins(5)=Texture'DeusExCharacters.Skins.PaulDentonTex2'
     MultiSkins(6)=Texture'DeusExItems.Skins.GrayMaskTex'
     MultiSkins(7)=Texture'DeusExItems.Skins.BlackMaskTex'
     CollisionRadius=40.000000
}

Code: Select all

class PaulJCCarcass extends PaulDentonCarcass;

// ----------------------------------------------------------------------
// PostPostBeginPlay()
// ----------------------------------------------------------------------

function PostPostBeginPlay()
{
	local DeusExPlayer player;

	Super(deusexcarcass).PostPostBeginPlay();

	foreach AllActors(class'DeusExPlayer', player)
		break;

	SetSkin(player);
}

// ----------------------------------------------------------------------
// SetSkin()
// ----------------------------------------------------------------------

function SetSkin(DeusExPlayer player)
{
	if (player != None)
	{
		switch(player.PlayerSkin)
		{
			case 0:	MultiSkins[0] = Texture'JCDentonTex0';
					break;
			case 1:	MultiSkins[0] = Texture'JCDentonTex4';
					break;
			case 2:	MultiSkins[0] = Texture'JCDentonTex5';
					break;
			case 3:	MultiSkins[0] = Texture'JCDentonTex6';
					break;
			case 4:	MultiSkins[0] = Texture'JCDentonTex7';
					break;
		}
	}
}

// ----------------------------------------------------------------------
// ----------------------------------------------------------------------

defaultproperties
{
     Mesh2=LodMesh'DeusExCharacters.GM_Trench_CarcassB'
     Mesh3=LodMesh'DeusExCharacters.GM_Trench_CarcassC'
     Mesh=LodMesh'DeusExCharacters.GM_Trench_Carcass'
     MultiSkins(0)=Texture'DeusExCharacters.Skins.JCDentonTex0'
     MultiSkins(1)=Texture'DeusExCharacters.Skins.JCDentonTex2'
     MultiSkins(2)=Texture'DeusExCharacters.Skins.JCDentonTex3'
     MultiSkins(3)=Texture'DeusExCharacters.Skins.JCDentonTex0'
     MultiSkins(4)=Texture'DeusExCharacters.Skins.JCDentonTex1'
     MultiSkins(5)=Texture'DeusExCharacters.Skins.JCDentonTex2'
     MultiSkins(6)=Texture'DeusExCharacters.Skins.FramesTex4'
     MultiSkins(7)=Texture'DeusExCharacters.Skins.LensesTex5'
     CollisionRadius=40.000000
}
But as noted, I'll try and compile this for you tonight. :)
User avatar
Paul_Denton
Thug
Posts: 15
Joined: Sat Jan 30, 2010 12:07 am

Re: Paul as JC

Post by Paul_Denton »

Hmm i dont understand this code but i know what u mean.
dont make you more work if we´ll need, im very happy if i can play paul. dont need to call him paul, or change the paul npc to jc. thats okey what u do.
damn my english very suck, speak someone here polish or german?^^

if you really finish this today, then u can give me a cool presend, yeah today´s my birthsday.
i hope thats not to much work for you
Post Reply