Christmas Patriarch

How to Make Custom Player Skins

Here’s how you can make your custom player skins that can be used on a server.

#1: Required Mods

You need a mod that lets you select custom player skins:

#2: Basic Knowledge

You need to learn the basics in setting up and compiling mods in Killing Floor.

#3: Naming Your Mod

Name your mod in following format: <CharacterName>Mod (i.e: you have a skin called ‘Trader’, the mod’s name must be TraderMod).

#4: Creating Character Class

Create a class with the name of the character (i.e: Trader.uc).

#5: Scripting

Script it (with the ‘Trader’ as example):

unrealscript
class Trader extends PlayerRecordClass;
#exec obj load file="TraderAnims.ukx" // Load up all needed animations or texture files using these lines.
simulated static function xUtil.PlayerRecord FillPlayerRecord()
{
	local xUtil.PlayerRecord PRE;
	PRE.Species = Class'PoliceSpecies'; // Species (can be used to replace sounds or misc stuff)
	PRE.MeshName = string(Mesh'TraderM'); // Name of the mesh.
	PRE.BodySkinName = string(Shader'TraderSkin'); // Body skin name (Material #0)
	PRE.FaceSkinName = string(Material'TraderFaceSkin'); // Face skin name (Material #1)
	PRE.Portrait = Texture'TraderPortrait'; // Portrait texture
	PRE.TextName = "This lady has seen her better days."; // Description text.
	PRE.VoiceClassName = string(Class'KFVoicePack'); // Voice pack
	PRE.Sex = "F"; // 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;
}

ServerPerks Configuration

Now if you use ServerPerks, you have to edit ServerPerksV5.ini and add line:

CustomCharacters=Trader

Optional: Custom Taunts

If you want to add custom taunts, you will also need to create a VoicePack class (and specify it in VoiceClassName above):

unrealscript
class TraderVoicePack extends KFVoicePack;
defaultproperties
{
	NumInsults=3
	InsultAbbrev(0)="Insult Specimens"
	InsultAbbrev(1)="Insult Players"
	InsultAbbrev(2)="The taunt text shown in voice menu"
	InsultString(0)="Insult Specimens"
	InsultString(1)="Insult Players"
	InsultString(2)="The broadcasted taunt message..."
	InsultSound(0)=Sound'KF_MaleVoiceOne.INSULT.Insult_Specimens'
	InsultSound(1)=Sound'KF_MaleVoiceOne.INSULT.Insult_players'
	InsultSound(2)=Sound'TheTauntSoundFX'
}

Optional: Replacing Pain/Death Sounds

If you want to replace pain/death sounds, you’ll also need to create a Species class (and fill as ‘Species’ in above):

unrealscript
class TraderSpecies extends PoliceSpecies;
defaultproperties
{
	MaleSoundGroup="TraderMod.TraderSoundGroup"
	MaleVoice="TraderMod.TraderVoicePack"
	FemaleVoice="TraderMod.TraderVoicePack"
	FemaleSoundGroup="TraderMod.TraderSoundGroup"
}

Also a SoundGroup:

unrealscript
class TraderSoundGroup extends KFMaleSoundGroup;
defaultproperties
{
	DeathSounds(0)=Sound'TraderDeath1'
	DeathSounds(1)=Sound'TraderDeath2'
	DeathSounds(2)=Sound'TraderDeath3'
	DeathSounds(3)=Sound'TraderDeath4'
	DeathSounds(4)=Sound'TraderDeath5'
	PainSounds(0)=Sound'TraderPain1'
	PainSounds(1)=Sound'TraderPain2'
	PainSounds(2)=Sound'TraderPain3'
	PainSounds(3)=Sound'TraderPain4'
	PainSounds(4)=Sound'TraderPain5'
	PainSounds(5)=Sound'TraderPain6'
}

And that’s how it’s done. Hope this was of any help.