Christmas Patriarch

Как создать нестандартные скины игроков

Здесь описано, как создать нестандартные скины игроков, которые можно использовать на сервере.

#1: Необходимые моды

Вам нужен мод, который позволяет выбирать нестандартные скины игроков:

#2: Базовые знания

Вам нужно изучить основы настройки и компиляции модов в Killing Floor.

#3: Именование мода

Назовите ваш мод в следующем формате: <CharacterName>Mod (например, если у вас есть скин под названием ‘Trader’, имя мода должно быть TraderMod).

#4: Создание класса персонажа

Создайте класс с именем персонажа (например, Trader.uc).

#5: Написание скрипта

Напишите скрипт (на примере ‘Trader’):

unrealscript
class Trader extends PlayerRecordClass;
#exec obj load file="TraderAnims.ukx" // Загрузите все необходимые анимации или файлы текстур, используя эти строки.
simulated static function xUtil.PlayerRecord FillPlayerRecord()
{
	local xUtil.PlayerRecord PRE;
	PRE.Species = Class'PoliceSpecies'; // Species (можно использовать для замены звуков или прочего)
	PRE.MeshName = string(Mesh'TraderM'); // Имя меша.
	PRE.BodySkinName = string(Shader'TraderSkin'); // Имя скина тела (Material #0)
	PRE.FaceSkinName = string(Material'TraderFaceSkin'); // Имя скина лица (Material #1)
	PRE.Portrait = Texture'TraderPortrait'; // Текстура портрета
	PRE.TextName = "This lady has seen her better days."; // Описательный текст.
	PRE.VoiceClassName = string(Class'KFVoicePack'); // Голосовой пакет
	PRE.Sex = "F"; // M = Мужской, F = Женский
	PRE.Menu = "SP"; // Не нужно изменять.
	PRE.Skeleton = string(Mesh'TraderM'); // Не используется в KF
	PRE.Ragdoll = "British_Soldier1"; // Должно быть только это.
	return PRE;
}

Настройка ServerPerks

Если вы используете ServerPerks, вам нужно отредактировать ServerPerksV5.ini и добавить строку:

CustomCharacters=Trader

Опционально: нестандартные таунты (taunts)

Если вы хотите добавить нестандартные таунты, вам также нужно создать класс VoicePack (и указать его в VoiceClassName выше):

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'
}

Опционально: Замена звуков боли/смерти

Если вы хотите заменить звуки боли/смерти, вам также нужно создать класс Species (и указать его как ‘Species’ выше):

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

Также нужен 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'
}

Вот так это делается. Надеюсь, это было полезно.