combine allié


alex0812

Messages recommandés

Posté(e)

dans hl2 les combine (sorte de militaire) se sont nos enemy,et je sais qu' on peux les rendre allié mais je ne sais pa comment!

p.s: bien sur je ne veux pas les rendre allié dans hl2 mais dans un mods

merci!d' avance

Posté(e)

changer les skin par exemple sans + et ça c'est +- simple :-)

EDIT :: c'est plus dure que je le pensais :s

POUR LES NPC MECHANT

voire npc_metropolice.cpp

 
void CNPC_MetroPolice::Precache( void )
{
if ( HasSpawnFlags( SF_NPC_START_EFFICIENT ) )
{
	SetModelName( MAKE_STRING("models/police_cheaple.mdl" ) );
}
else
{
	SetModelName( MAKE_STRING("models/police.mdl") );
}

PrecacheModel( STRING( GetModelName() ) );

UTIL_PrecacheOther( "npc_manhack" );

PrecacheScriptSound( "NPC_Metropolice.Shove" );
PrecacheScriptSound( "NPC_MetroPolice.WaterSpeech" );
PrecacheScriptSound( "NPC_MetroPolice.HidingSpeech" );

BaseClass::Precache();
}

POUR LES NPC GENTILES ( donc les alliés )

voire npc_citizen17.cpp

//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------

//---------------------------------------------------------
// Citizen models
//---------------------------------------------------------

static const char *g_ppszRandomHeads[] = 
{
"male_01.mdl",
"male_02.mdl",
"female_01.mdl",
"male_03.mdl",
"female_02.mdl",
"male_04.mdl",
"female_03.mdl",
"male_05.mdl",
"female_04.mdl",
"male_06.mdl",
"female_06.mdl",
"male_07.mdl",
"female_07.mdl",
"male_08.mdl",
"male_09.mdl",
};

static const char *g_ppszModelLocs[] =
{
"Group01",
"Group01",
"Group02",
"Group03%s",
};

Quelques lignes plus bas

void CNPC_Citizen::Precache()
{
SelectModel();
SelectExpressionType();

PrecacheAllOfType( m_Type );

if ( NameMatches( "matt" ) )
	PrecacheModel( "models/props_canal/mattpipe.mdl" );
PrecacheModel( INSIGNIA_MODEL );

PrecacheScriptSound( "NPC_Citizen.FootstepLeft" );
PrecacheScriptSound( "NPC_Citizen.FootstepRight" );
PrecacheScriptSound( "NPC_Citizen.Die" );

PrecacheInstancedScene( "scenes/Expressions/CitizenIdle.vcd" );
PrecacheInstancedScene( "scenes/Expressions/CitizenAlert_loop.vcd" );
PrecacheInstancedScene( "scenes/Expressions/CitizenCombat_loop.vcd" );

for ( int i = 0; i < STATES_WITH_EXPRESSIONS; i++ )
{
	for ( int j = 0; j < ARRAYSIZE(ScaredExpressions[i].szExpressions); j++ )
	{
		PrecacheInstancedScene( ScaredExpressions[i].szExpressions[j] );
	}
	for ( j = 0; j < ARRAYSIZE(NormalExpressions[i].szExpressions); j++ )
	{
		PrecacheInstancedScene( NormalExpressions[i].szExpressions[j] );
	}
	for ( j = 0; j < ARRAYSIZE(AngryExpressions[i].szExpressions); j++ )
	{
		PrecacheInstancedScene( AngryExpressions[i].szExpressions[j] );
	}
}

BaseClass::Precache();
}

Posté(e)

ouais enfin je vois pas trop comment on fait pour changer les skins. De plus un fichier source il faut le recompiler. Donc bon ta méthode est bien mignonne mais innapplicable dans un cas réel a mon sens. De plus changer de skins via directement les fichiers source nécessitent une certaine maitrise :)

Posté(e)

oui mais j'essaye de jouer sur la façon qu'ils tirent now :-) les skin sa me prend trop la tete xD car la variable g_ppszRandomHeads est trop solicitée :s alors pourquoi pas inverser la façon de tirer... mais dure aussi :$

Posté(e)

"etre" un combine et des que tu passe en "chase_cam" tu as le skin gordon XD

je cherchais a trifouiller la source pour voire comment ils choisissent leur cible :-) ce que j'ai trouvé :D :d :D :d

mais je confond tout leur terme "combine" "citizen" "police" "..." alors c'est galere xD et la map de test que j'avais fait deconne :s pourtant il n'y as que 3prefab

prefab de la box

prefab du info_playerstart

prefad avec les alliers

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.