Also, the code that I have
ONIKonokoFsrv.uc
[inlinecode]//=============================================================================
// ONI KonokoFsrv.
//=============================================================================
class ONIKonokoFsrv extends SkeletalPlayer;
#exec MESH MODELIMPORT MESH=KonokoFsrv MODELFILE=models\KonokoFsrv.PSK LODSTYLE=12
#exec MESH ORIGIN MESH=KonokoFsrv X=0 Y=0 Z=135 YAW=192
#exec MESH WEAPONATTACH MESH=KonokoFsrv BONE="Bip01 R Hand"
#exec MESH WEAPONPOSITION MESH=KonokoFsrv YAW=0 PITCH=0 ROLL=128 X=1.0 Y=0.0 Z=0.0
#exec MESHMAP SCALE MESHMAP=KonokoFsrv X=0.3125 Y=0.3125 Z=0.3125
#exec MESH DEFAULTANIM MESH=KonokoFsrv ANIM=SoldierAnim
//#exec TEXTURE IMPORT NAME=KonokoFsrvDoll FILE=TEXTURES\KonokoFsrvSDoll.PCX GROUP="Icons" MIPS=OFF
//#exec TEXTURE IMPORT NAME=KonokoFsrvBelt FILE=TEXTURES\KonokoFsrvSBelt.PCX GROUP="Icons" MIPS=OFF
static function SetMultiSkin(Actor SkinActor, string SkinName, string FaceName, byte TeamNum)
{
local string MeshName, SkinItem, SkinPackage;
MeshName = SkinActor.GetItemName(string(SkinActor.Mesh));
SkinItem = SkinActor.GetItemName(SkinName);
SkinPackage = Left(SkinName, Len(SkinName) - Len(SkinItem));
if(SkinPackage == "")
{
SkinPackage="KonokoFsrvSkins.";
SkinName=SkinPackage$SkinName;
}
if( TeamNum != 255 )
{
if(!SetSkinElement(SkinActor, 0, SkinName$"1T_"$String(TeamNum), default.DefaultSkinName$"1T_"$String(TeamNum)))
{
if(!SetSkinElement(SkinActor, 0, SkinName$"1", default.DefaultSkinName$"1"))
{
SetSkinElement(SkinActor, 0, default.DefaultSkinName$"1T_"$String(TeamNum), default.DefaultSkinName$"1T_"$String(TeamNum));
SkinName=default.DefaultSkinName;
}
}
SetSkinElement(SkinActor, 1, SkinName$"2T_"$String(TeamNum), SkinName$"2T_"$String(TeamNum));
SetSkinElement(SkinActor, 2, SkinName$"3T_"$String(TeamNum), SkinName$"3T_"$String(TeamNum));
SetSkinElement(SkinActor, 3, SkinName$"4T_"$String(TeamNum), SkinName$"4T_"$String(TeamNum));
}
else
{
if(!SetSkinElement(SkinActor, 0, SkinName$"1", default.DefaultSkinName))
SkinName=default.DefaultSkinName;
SetSkinElement(SkinActor, 1, SkinName$"2", SkinName$"2");
SetSkinElement(SkinActor, 2, SkinName$"3", SkinName$"3");
SetSkinElement(SkinActor, 3, SkinName$"4", SkinName$"4");
}
if( Pawn(SkinActor) != None )
Pawn(SkinActor).PlayerReplicationInfo.TalkTexture = Texture(DynamicLoadObject(SkinName$"3Face", class'Texture'));
}
defaultproperties
{
DefaultSkinName="KonokoFsrvSkins.KonF"
DefaultPackage="KonokoFsrvSkins."
SelectionMesh="ONIKonokoFsrv.KonokoFsrv"
Mesh=SkeletalMesh'ONIKonokoFsrv.KonokoFsrv'
MenuName="ONI KonokoFsrv"
}
[/inlinecode]
ONIKonokoFsrvBot
[inlinecode]//=============================================================================
// ONIKonokoFsrv Bot.
//=============================================================================
class ONIKonokoFsrvBot extends SkeletalBot;
static function SetMultiSkin(Actor SkinActor, string SkinName, string FaceName, byte TeamNum)
{
local string MeshName, SkinItem, SkinPackage;
MeshName = SkinActor.GetItemName(string(SkinActor.Mesh));
SkinItem = SkinActor.GetItemName(SkinName);
SkinPackage = Left(SkinName, Len(SkinName) - Len(SkinItem));
if(SkinPackage == "")
{
SkinPackage="KonokoFsrvSkins.";
SkinName=SkinPackage$SkinName;
}
if( TeamNum != 255 )
{
if(!SetSkinElement(SkinActor, 0, SkinName$"1T_"$String(TeamNum), ""))
{
if(!SetSkinElement(SkinActor, 0, SkinName$"1", ""))
{
SetSkinElement(SkinActor, 0, "KonokoFsrvSkins.KonF1T_"$String(TeamNum), "KonokoFsrvSkins.KonF1");
SkinName="KonokoFsrvSkins.KonF";
}
}
SetSkinElement(SkinActor, 1, SkinName$"2T_"$String(TeamNum), SkinName$"2");
SetSkinElement(SkinActor, 2, SkinName$"3T_"$String(TeamNum), SkinName$"3");
SetSkinElement(SkinActor, 3, SkinName$"4T_"$String(TeamNum), SkinName$"4");
}
else
{
if(!SetSkinElement(SkinActor, 0, SkinName$"1", "KonokoFsrvSkins.KonF1"))
SkinName="KonokoFsrvSkins.KonF";
SetSkinElement(SkinActor, 1, SkinName$"2", "");
SetSkinElement(SkinActor, 2, SkinName$"3", "");
SetSkinElement(SkinActor, 3, SkinName$"4", "");
}
if( Pawn(SkinActor) != None )
Pawn(SkinActor).PlayerReplicationInfo.TalkTexture = Texture(DynamicLoadObject(SkinName$"3Face", class'Texture'));
}
defaultproperties
{
DefaultSkinName="KonokoFsrvSkins.KonF"
DefaultPackage="KonokoFsrvSkins."
SelectionMesh="ONIKonokoFsrv.KonokoFsrv"
Mesh=SkeletalMesh'ONIKonokoFsrv.KonokoFsrv'
MenuName="ONI KonokoFsrv"
}
[/inlinecode]
SelectONIKonokoFsrv
[inlinecode]//=============================================================================
// Select ONI KonokoFsrv.
//=============================================================================
class SelectONIKonokoFsrv extends SelectionDude;
#exec ANIM IMPORT ANIM=KonokoFsrvSelectAnim ANIMFILE=models\KonokoFsrvSelect.PSA COMPRESS=0.5 IMPORTSEQS=0
#exec ANIM SEQUENCE ANIM=KonokoFsrvSelectAnim SEQ=All STARTFRAME=0 NUMFRAMES=48 RATE=15
#exec ANIM SEQUENCE ANIM=KonokoFsrvSelectAnim SEQ=Breath3 STARTFRAME=0 NUMFRAMES=26 RATE=15
#exec ANIM SEQUENCE ANIM=KonokoFsrvSelectAnim SEQ=Breath2 STARTFRAME=26 NUMFRAMES=31 RATE=15
#exec ANIM SEQUENCE ANIM=KonokoFsrvSelectAnim SEQ=Breath1 STARTFRAME=57 NUMFRAMES=31 RATE=15
#exec MESH MODELIMPORT MESH=SelectionKonokoFsrv MODELFILE=models\KonokoFsrv.PSK LODSTYLE=12
#exec MESH ORIGIN MESH=SelectionKonokoFsrv X=0 Y=0 Z=135 YAW=192
#exec MESHMAP SCALE MESHMAP=SelectionKonokoFsrv X=0.3125 Y=0.3125 Z=0.3125
#exec MESH DEFAULTANIM MESH=SelectionKonokoFsrv ANIM=KonokoFsrvSelectAnim
defaultproperties
{
}
[/inlinecode]
This is a backup folder. The using folder has no "Unreal" text in the name.
aaaaaaaaaaaaa.png