[Tutorial] How to make custom player skins

  • Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

xlzqwerty1

FNG / Fresh Meat
Jan 29, 2012
44
0
0
Do this but this will have to be in a custom Species file for that character.

What about having custom fp models? Instead of replacing the texture, say I wanted to replace the entire fp hand model. Is this possible?
 

xlzqwerty1

FNG / Fresh Meat
Jan 29, 2012
44
0
0
You will have to redo the first person model for the gun as it's made with the model on it.

That's fine, but how would one reference it to the mutator? Also, since I'm redoing the first person models, would a different bone name be fine?
 

FluX

Grizzled Veteran
Oct 26, 2010
5,392
233
63
www.fluxiserver.co.uk
That's fine, but how would one reference it to the mutator? Also, since I'm redoing the first person models, would a different bone name be fine?
Change a bone name would break the animations for it. For the mutator part, you will have to make a mutator and put this inside:

Code:
function PostBeginPlay()
{             
     Class'KFMod.ZombieFleshPoundBase'.Default.Mesh = SkeletalMesh'YourMeshPackage.YourMesh';
}

Do make sure you have at the top of this:
Code:
#exec OBJ LOAD FILE=YourMeshPackage.uax
 
Last edited:

xlzqwerty1

FNG / Fresh Meat
Jan 29, 2012
44
0
0
Reanimating everything with a new set of FP arms (with different fp bone names)...

Would this still break the animations (does KF weapons look for specific bone names to play animations and function)?
 

FluX

Grizzled Veteran
Oct 26, 2010
5,392
233
63
www.fluxiserver.co.uk
Reanimating everything with a new set of FP arms (with different fp bone names)...

Would this still break the animations (does KF weapons look for specific bone names to play animations and function)?
Each animation looks for the animation names are some other bits that im not too familiar with yet. The functions go by the bone names so you're probably looking at recoding this ;)

P.S. If you really need help recoding it for your new bones etc, contact us and i'll try and help.
 

xlzqwerty1

FNG / Fresh Meat
Jan 29, 2012
44
0
0
Each animation looks for the animation names are some other bits that im not too familiar with yet. The functions go by the bone names so you're probably looking at recoding this ;)

P.S. If you really need help recoding it for your new bones etc, contact us and i'll try and help.

Hmm, if this is too much trouble I guess I'll rename the custom fp model bone names to the KF bone names. I'll have to compensate for the number of bones however.
 

FluX

Grizzled Veteran
Oct 26, 2010
5,392
233
63
www.fluxiserver.co.uk
You can alter skins within Species class, for example:
Code:
static function bool Setup(Pawn P, xUtil.PlayerRecord rec)
{
    P.Skins.Length = 3;
    P.Skins[2] = SomeTexture;
    return Super.Setup(P,rec); // Base function sets Skins[0] and [1]
}
Marco any chance for some help with the custom characters? Basically if I do this, it breaks my perks like the whitelist is checking it and not liking it. When I load KF it loads like normal and if I tried to play in a whitelisted server or check the profile page (main menu) it will give me an error of not being able to connect. This is caused from the thing above. Any chance of a way around having to remove the file from system folder for perks to still be usable?
 

meteo

FNG / Fresh Meat
Sep 12, 2010
74
0
0
I am testing your mod and Marcos.


I then ADDED Mechacarnivore by renaming the upl file to Merchacarnivore.upl so it does not overwrite Security_Officer_Thorne.upl, then added the line

CustomCharacters=Mechacarnivore
brother i do the same with some skins and works fine..., but how do u change the original name of the char on game play???
 

slavek

Grizzled Veteran
May 4, 2006
3,075
943
113
UnrealEd: Viewport #1
I'm trying to make a pack for Half Dead's replacement pack but I'm having trouble compiling.

Code:
Soldier_1 extends PlayerRecordClass;

#exec obj load file="HalfDead_Soldiers.ukx"
#exec obj load file="HDSoldiers.utx" 

simulated static function xUtil.PlayerRecord FillPlayerRecord()
{
    local xUtil.PlayerRecord PRE;

    PRE.Species = Class'SoldierSpecies'; // Species (can be used to replace sounds or misc stuff)
    PRE.MeshName = string(Mesh'HalfDead_Soldiers.soldier1_2'); // Name of the mesh.
    PRE.BodySkinName = string(Texture'HDSoldiers.brit_soldier_I_diff'); // Body skin name (Material #0)
    PRE.FaceSkinName = string(Texture'HDSoldiers.head_1'); // Face skin name (Material #1)
    PRE.Portrait = Texture'KFPortraits.Gasmask_Portrait'; // Portrait texture
    PRE.TextName = "KF Soldiers By Half-Dead."; // Description text.
    PRE.VoiceClassName = string(Class'KFVoicePack'); // Voice pack
    PRE.Sex = "M"; // M = Male, F = Female
    PRE.Menu = "SP"; // Not needed to modify.
    PRE.Skeleton = string(Mesh'TraderM'); // Unused in KF
    PRE.Ragdoll = "British_Soldier1"; // Should be this only.
    return PRE;
}

defaultproperties
{
}
It gives me an error: Script vs Class name mismatch (Soldier_1/KFMod.SoldierSpecies; )

Also tried KFmod.SoldierSpecies.

I'm not sure what I'm doing wrong or I'm just missing something right in front of me and I don't see it. Anyone know what I'm missing/doing wrong?
 

KF-Argentina

FNG / Fresh Meat
Oct 18, 2010
226
57
0
Argentina
Avoid the underscore and other simbols in the names.

I have this PRE.Species=class'KFmod.SoldierSpecies' maybe you must use "class" instead of "Class"
 

Marco

Active member
May 23, 2009
645
232
43
Finland
I'm trying to make a pack for Half Dead's replacement pack but I'm having trouble compiling.

Code:
...
It gives me an error: Script vs Class name mismatch (Soldier_1/KFMod.SoldierSpecies; )

Also tried KFmod.SoldierSpecies.

I'm not sure what I'm doing wrong or I'm just missing something right in front of me and I don't see it. Anyone know what I'm missing/doing wrong?

That error comes when you have .uc file name different than in the script code (Class ABC extends DEF; ). But in your code you do have 'Class' keyword in front (Class Soldier_1 extends PlayerRecordClass; )?
 

Stay at Hell

FNG / Fresh Meat
Apr 15, 2013
22
0
0
Texture?

Texture?

I can't find the texture creation tutorial, any link? this seems easy but what about the textures, I WANT MYSELF IN KILLING FLOOR!!! ( sorry for caps )
 

DMN666

Active member
Jun 14, 2012
2,569
12
38
Brooklyn, NY
I can't find the texture creation tutorial, any link? this seems easy but what about the textures, I WANT MYSELF IN KILLING FLOOR!!! ( sorry for caps )

What do you mean textures? Like a new model or one of the characters already in the game and you are just gonna retexture it? Like a Shadow Furret with green cloths.

Well what i do is download DXTBmp so you can convert the texture file KF SDK dumps out (a .dds file). I use Gimp to retexture so...use that as your Editor. Do whatever to the texture and hit save. Hit Reload after edit, and DXTB should now load your new texture you edited in Gimp. Save it as a different name and import the file in SDK to who ever you retexture.
 
Last edited:

FluX

Grizzled Veteran
Oct 26, 2010
5,392
233
63
www.fluxiserver.co.uk
Hey so I got a problem that for some reason isn't working (when it use to when I first did it when this thread was made).

When I use my custom character to change the textures, it wont change.

Code:
class Char_MechaCarnivoreSpecies_Blue extends MutantHorzineSpecies;

static function bool Setup(Pawn P, xUtil.PlayerRecord rec)
{
	P.Skins.Length = 6;
	P.Skins[2] = Combiner'KF_Specimens_Trip_T.fleshpound_cmb';
	P.Skins[3] = Shader'FluXiCharactersV9_T.FPBloomBlueShader'; // Chest bloom
	P.Skins[4] = Shader'KF_Specimens_Trip_T_Two.burns.burns_shdr';
	P.Skins[5] = Shader'FluXiCharactersV9_T.FPBloomAmberShader'; // Face bloom
	return Super.Setup(P,rec); // Base function sets Skins[0] and [1]
}

For some reason, this takes no effect. Any suggestions?
 

Dr_Killjoy

FNG / Fresh Meat
Sep 30, 2012
260
0
0
You need two things:

1. Go to Goodwin.
2. Change code to this:
Code:
class Char_MechaCarnivoreSpecies_Blue extends MutantHorzineSpecies;

static function bool Setup(Pawn P, xUtil.PlayerRecord rec)
{
	local bool result;
	result = Super.Setup(P,rec);
	if (result)
	{
		P.Skins.Length = 6;
		P.Skins[2] = Combiner'KF_Specimens_Trip_T.fleshpound_cmb';
		P.Skins[3] = Shader'FluXiCharactersV9_T.FPBloomBlueShader';
		P.Skins[4] = Shader'KF_Specimens_Trip_T_Two.burns.burns_shdr';
		P.Skins[5] = Shader'FluXiCharactersV9_T.FPBloomAmberShader';
		return true;
	}
	return false;
}