Rainbow Six 3 is a tactical shooter game DEVELOPED by UBI. The game is a first person shooter based on Tom Clancy's best selling novel by the same name. The game has two expansion packs, Athena Sword and Iron Wrath. The plot of Ravenshield is fully explained by Wikipedia (Tom Clancy's Rainbow Six 3). Basically it is all about an elite anti-terrorist group called Rainbow Six, a team bent on foiling the Neo-Facist terrorists doing damages on South American oil interests and European financial institutions.

Post tutorial Report RSS Create your own skin and play COOP game on dedicated server

Here is the code how to create a Pawn class what can realize your own skin mod for COOP game on dedicated server. You can set some conditions... gender, PlayerName, and UbiID etc.

Posted by on - Basic Server Side Coding

class YourPawn extends R6RainbowPawn(YourPawnConfig);

var config bool TPSkin;

replication
{
	reliable if ( Role == ROLE_Authority )
		TPSkin;
}

simulated function SetRainbowFaceTexture()
{
	Super.SetRainbowFaceTexture();

	if ( Level.NetMode == NM_StandAlone )
		return;

	if ( IsA('R6PilotPawn') )
		return;

	//Cannot change Mesh
	if ( (PlayerReplicationInfo.PlayerName == "nohel") || (PlayerReplicationInfo.PlayerName == "NoHel") )
	{
		if ( (Mesh == SkeletalMesh'R6Rainbow_UKX.HeavyMesh') || (Mesh == SkeletalMesh'R6Rainbow_UKX.MediumMesh') )
		{
			if ( m_Helmet != none )
			{
				m_Helmet.destroy();
				m_Helmet = none;
			}
			m_HelmetClass=Class<R6AbstractHelmet>(DynamicLoadObject("None", class'Class'));
			Skins[1]=Texture(DynamicLoadObject("R6Characters_T.Rainbow.R6RLightHead", class'Texture'));
		}
		if ( (Mesh == SkeletalMesh'R6Rainbow_UKX.HeavyWinterMesh') || (Mesh == SkeletalMesh'R6Rainbow_UKX.MediumWinterMesh') )
		{
			if ( m_Helmet != none )
			{
				m_Helmet.destroy();
				m_Helmet = none;
			}
			m_HelmetClass=Class<R6AbstractHelmet>(DynamicLoadObject("None", class'Class'));
			Skins[1]=Texture(DynamicLoadObject("R6Characters_T.Rainbow.R6RLightWinterHead", class'Texture'));
		}
	}
	if ( (PlayerReplicationInfo.PlayerName == "mediumhel") || (PlayerReplicationInfo.PlayerName == "MediumHel") )
	{
		if ( Mesh == SkeletalMesh'R6Rainbow_UKX.HeavyMesh' )
		{
			if ( m_Helmet != none )
			{
				m_Helmet.destroy();
				m_Helmet = none;
			}
			if ( m_Helmet == none )
			{
				m_HelmetClass=Class<R6AbstractHelmet>(DynamicLoadObject("R6RMediumHelmet", class'Class'));
				m_Helmet = spawn(class'R6RMediumHelmet' );
				AttachToBone(m_Helmet,'R6 Head');
			}
			if ( bIsFemale )
				m_Helmet.DrawScale = 1.000000;
			else
				m_Helmet.DrawScale = 1.100000;
		}
	}
	if ( (PlayerReplicationInfo.PlayerName == "pilothel") || (PlayerReplicationInfo.PlayerName == "PilotHel") )
	{
		if ( Mesh == SkeletalMesh'R6Rainbow_UKX.HeavyMesh' )
		{
			if ( m_Helmet != none )
			{
				m_Helmet.destroy();
				m_Helmet = none;
			}
			if ( m_Helmet == none )
			{
				m_HelmetClass=Class<R6AbstractHelmet>(DynamicLoadObject("R6RPilotHelmet", class'Class'));
				m_Helmet = spawn( class'R6RPilotHelmet' );
				AttachToBone(m_Helmet,'R6 Head');
				Skins[1] = Texture'R6Characters_T.Rainbow.R6RLightHead';
			}
			if ( bIsFemale )
				m_Helmet.DrawScale = 1.000000;
			else
				m_Helmet.DrawScale = 1.100000;
		}
	}
	else if ( (PlayerReplicationInfo.PlayerName == "hwinter") || (PlayerReplicationInfo.PlayerName == "HWinter") )
	{
		if ( Mesh == SkeletalMesh'R6Rainbow_UKX.HeavyWinterMesh' )
		{
			Skins[0]=Texture(DynamicLoadObject("R6Characters_T.Rainbow.R6RHeavyWinter", class'Texture'));
			m_Helmet.Skins[0]=Texture(DynamicLoadObject("R6Characters_T.Rainbow.R6RHeavyWinterHelm", class'Texture'));
		}
	}
	else if ( (PlayerReplicationInfo.PlayerName == "hwintercamo") || (PlayerReplicationInfo.PlayerName == "HWinterCamo") )
	{
		if ( Mesh == SkeletalMesh'R6Rainbow_UKX.HeavyWinterMesh' )
		{
			Skins[0]=Texture(DynamicLoadObject("R6Characters_T.RainbowSkins.R6RHeavyWinterCamo", class'Texture'));
			m_Helmet.Skins[0]=Texture(DynamicLoadObject("R6Characters_T.Rainbow.R6RWinterHelm", class'Texture'));
		}
	}
	if ( TPSkin )
	{
		if ( Mesh == SkeletalMesh'R6Rainbow_UKX.HeavyMesh' )
		{
			if ( (!bIsFemale) && (PlayerReplicationInfo.PlayerName == "Tequila") )
			{
				Skins[0]=Texture(DynamicLoadObject("R6Characters_T.RainbowSkins.R6RHeavyTan", class'Texture'));
				Skins[5]=Texture(DynamicLoadObject("R61stWeapons_T.Hands.R61stHandsTan", class'Texture'));
				m_Helmet.Skins[0]=Texture(DynamicLoadObject("R6Characters_T.Rainbow.R6RHeavyHelm", class'Texture'));
			}
			else
				return;
		}
	}	
}

defaultproperties
{
	TPSkin=True
	Begin Object Class=KarmaParamsSkel Name=KarmaParamsSkel300
		KConvulseSpacing=(Max=2.200000)
		KSkeleton="terroskel"
		KStartEnabled=True
		bHighDetailOnly=False
		KLinearDamping=0.500000
		KAngularDamping=0.500000
		KBuoyancy=1.000000
		KVelDropBelowThreshold=50.000000
		KFriction=0.600000
		KRestitution=0.300000
		KImpactThreshold=150.000000
		Name="KarmaParamsSkel300"
	End Object
	KParams=KarmaParamsSkel'YourPawn.KarmaParamsSkel300'
}
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: