Discuter:Command post

Un article de Wiki-Mapping.

(Différences entre les versions)
Jump to: navigation, search
Version du 28 octobre 2006 à 14:58 (modifier)
Tok (Discuter | contribs)
M (Sauvegade du travail effectué)
← Différence précédente
Version du 28 octobre 2006 à 15:57 (modifier) (défaire)
Tok (Discuter | contribs)

Différence suivante →
Ligne 9: Ligne 9:
Ils permettent d'augmenter le temps de rechargement de l'équipe qui la construite, et peut être utilisé pour d'autres avantages ( ex: donner un spawn). Ils permettent d'augmenter le temps de rechargement de l'équipe qui la construite, et peut être utilisé pour d'autres avantages ( ex: donner un spawn).
- Image Image Image Image+[[Image:Tuto_hq_pres.jpg]]
- Image Image Image Image+
- Image Image Image Image+
- Image Image Image Image+
- Image Image Image Image+
= Command post exclusif = = Command post exclusif =
Ligne 149: Ligne 145:
== Script == == Script ==
 +
 +Le principe est simple on a plusieurs état due à la '''func_constructible''' pour chaque état on va définir l'état de nos entité. Plus donner les temps de charge au début de la carte, plus donner les bonnus pour le cp construit, et aussi le enlever quand le cp est detruit.
<pre> <pre>
Ligne 160: Ligne 158:
} }
-allied_hqradio_damaged_clip +allied_hqradio_damaged_clip
{ {
spawn spawn
Ligne 166: Ligne 164:
wait 200 wait 200
setstate allied_hqradio_damaged_clip invisible setstate allied_hqradio_damaged_clip invisible
- setstate allied_radio_destroyed_model invisible+ setstate allied_hqradio_damaged_model invisible
- }+
- trigger hide+
- {+
- setstate allied_hqradio_damaged_clip invisible+
- setstate allied_radio_destroyed_model invisible+
- }+
- trigger show+
- {+
- setstate allied_hqradio_damaged_clip default+
- setstate allied_hqradio_damaged_model default+
} }
 +
} }
-allied_hdradio_closed_clip+allied_hqradio_closed_clip
{ {
spawn spawn
{ {
wait 200 wait 200
- setstate allied_hdradio_closed_clip default+ setstate allied_hqradio_closed_clip default
setstate allied_hqradio_closed_modell default setstate allied_hqradio_closed_modell default
} }
- trigger hide+
- {+
- setstate allied_hdradio_closed_clip invisible+
- setstate allied_hqradio_closed_model invisible+
- }+
- trigger show+
- {+
- setstate allied_hdradio_closed_clip default+
- setstate allied_hqradio_closed_model default+
- }+
} }
allied_hqradio_openbuilt allied_hqradio_openbuilt
-{+ 
spawn spawn
{ {
Ligne 209: Ligne 189:
} }
- trigger setup //On donne les valeur de base au temps de charge.+ trigger setup
{ {
setchargetimefactor 1 soldier 1 setchargetimefactor 1 soldier 1
Ligne 221: Ligne 201:
buildstart final buildstart final
{ {
- trigger allied_hqradio_openbuilt_model trans+ setstate allied_hqradio_openbuilt_model underconstruction
- trigger allied_hqradio_damaged_clip hide+ setstate allied_hqradio_closed_clip invisible
- trigger allied_hqradio_closed_clip hide+ setstate allied_hqradio_closed_model invisible
 + setstate allied_hqradio_damaged_clip invisible
 + setstate allied_hqradio_damaged_model invisible
 + 
} }
decayed final decayed final
{ {
- trigger allied_hqradio_openbuilt_model hide+ setstate allied_hqradio_openbuilt_model invisible
- trigger allied_hqradio_closed_clip show+ setstate allied_hqradio_closed_clip default
 + setstate allied_hqradio_closed_model default
 + setstate allied_hqradio_damaged_clip invisible
 + setstate allied_hqradio_damaged_model invisible
} }
built final built final
{ {
- trigger allied_hqradio_openbuilt_model show+ setstate allied_hqradio_openbuilt_model default
- trigger allied_hqradio_closed_clip hide+ setstate allied_hqradio_closed_clip invisible
- trigger allied_radio_damaged_clip hide+ setstate allied_hqradio_closed_model invisible
 + setstate allied_hqradio_damaged_clip invisible
 + setstate allied_hqradio_damaged_model invisible
- trigger allied_radio_built_model enable_allied_features // On appel le "boost" des temps de charge.+ trigger allied_hqradio_openbuilt_model enable_allied_features
- enablespeaker alliedhq_sound+
} }
death death
{ {
- trigger allied_hqradio_openbuilt_model hide+ setstate allied_hqradio_openbuilt_model invisible
- trigger allied_radio_destroyed show+ setstate allied_hqradio_closed_clip invisible
 + setstate allied_hqradio_closed_model invisible
 + setstate allied_hqradio_damaged_clip default
 + setstate allied_hqradio_damaged_model default
- trigger allied_hqradio_openbuilt_model disable_allied_features // On appel le "deboost" des temps de charges. + trigger allied_hqradio_openbuilt_model disable_allied_features
- disablespeaker alliedhq_sound+
} }
} }
Ligne 260: Ligne 251:
} }
- +
- trigger show+
- {+
- setstate allied_hqradio_openbuilt_model default+
- }+
- +
- trigger hide+
- {+
- setstate allied_hqradio_openbuilt_model invisible+
- }+
- +
- trigger trans+
- {+
- setstate allied_hqradio_openbuilt_model underconstruction+
- }+
- +
trigger enable_allied_features trigger enable_allied_features
{ {
Ligne 325: Ligne 301:
} }
} }
 +
</pre> </pre>
 +
 +
 +== Téléchargement ==
 +
 +Le script étant ci-dessus voici la map du command post exclusif pour les alliés: [[Media:CP_allie_exclusif.map|CP_allie_exclusif.map]] (clic droit -> "enregistrer la cible du lien sous ..." [dixit Psylo :) ])
 +
 += Command post neutre =
 +== Entitées requises ==
 +== Script ==
 +== Téléchargement ==
 +
 +----
 +
 +N'hésitez pas a faire vos remarques si il n'y a rien d'ici 3/4jours je posterai la première partie, j'ai dejà commencé le command post neutre mais j'ai pas l'envie après avoir fini celui là .

Version du 28 octobre 2006 à 15:57

Note: Je commence la rédaction du tuto sur la partie théorique, je vais tacher de respecter le très bon format proposez par psylopat !

Sommaire

Description

Voilà nous allons nous attaquer au command post, alors il y a 2 types de command post:

  • les command post exclusif à une équipe.
  • les command post "neutre".

Ils permettent d'augmenter le temps de rechargement de l'équipe qui la construite, et peut être utilisé pour d'autres avantages ( ex: donner un spawn).

Image:Tuto_hq_pres.jpg

Command post exclusif

Entitées requises

Pour réaliser notre command post nous allons devoir utilisé une flotte d'entitées, pour ne pas nous y perdre les voici dans un joli organigramme :

image:Tuto_cpex_orga.JPG

Nota: le trigger_objectif_info n'est pa représenté car il n'intervient pas dans le script.

func_constructible

Une fonction contructible qui sera en fait le groupe de clip du command post ouvert, c'est la seule entitée sur laquelle les joueurs peuvent agir depuis le jeu.

Très important elle avoir une construction_class de 2 .

Donc nous allons faire une ensemble de brush avec la texture clip (des textures common) qui représente un command post ouvert, que vous pouvez trouvez dans le fichier .map à la fin. N'oublions surtout pas le brush origine généralement un brush de 16*16*16 avec la texture origin (des textures common)placé hors des clips , au-dessus, qui facilite la selection de l'entité mais surtout qui est obligatoire !

Image:Tuto_hq_func_contructible.jpg

Misc_gammemodel

Les gammemodels sont plus que de simple model car eux on peut les animés et/ou les faire apparaitrent/disparaitrent grâce au script. Nous allons donc avoir besoin de plusieurs model de ce type, les clefs importantes:

  • targetname: (ex:)
  • scriptname: (ex:)
  • model (ex:)
  • skin (ex:)
  • modelscale : 1.5 (Très important sinon vous aurez un command post taille hobbit)

les clefs model & skin peuvent prendre plusieurs valeur selon qu l'on souhaite un command post , neutre,allié ouvert, axis cassé, etc ...

En voici la liste par regroupement:

*models\mapobjects\radios_sd\compostalliedclosed.md3      | Model du 'command post' allié fermé.
*models\mapobjects\radios_sd\compostalliedclosed.skin     | Le 'skin' équivalent .
*models\mapobjects\radios_sd\compostallieddamaged.md3     | Model du 'command post' allié détruit.
*models\mapobjects\radios_sd\compostallieddamaged.skin    | Le 'skin' équivalent .
*models\mapobjects\radios_sd\compostalliedopened.md3      | Model du 'command post' allié ouvert.
*models\mapobjects\radios_sd\compostalliedopened.skin     | Le 'skin' équivalent .
*models\mapobjects\radios_sd\compostaxisclosed.md3        | Model du 'command post' axis fermé.
*models\mapobjects\radios_sd\compostaxisclosed.skin       | Le 'skin' équivalent .
*models\mapobjects\radios_sd\compostaxisdamaged.md3       | Model du 'command post' axis détruit.
*models\mapobjects\radios_sd\compostaxisdamaged.skin      | Le 'skin' équivalent .
*models\mapobjects\radios_sd\compostaxisopened.md3        | Model du 'command post' axis ouvert.
*models\mapobjects\radios_sd\compostaxisopened.skin       | Le 'skin' équivalent .
*models\mapobjects\radios_sd\compostneutralclosed.md3     | Model du 'command post' neutre, toujours fermé.
*models\mapobjects\radios_sd\compostneutralclosed.skin    | Le 'skin' équivalent .

Script_mover

Ici les script_mover nous serviront juste à "clipé" notre command post dans les états détruit, fermé et en construction. On les fera apparaitre et disparaitre pour nos besoin. On aura donc besoin de plusieurs scritp_mover, les clefs importantes:

  • targetname: (ex:)
  • scriptname: (ex:)

Les 'script_mover' seront un groupe de brush de la forme voulue (ex:fermé), ils devront comme la 'func_constructible' possedé un brush origine de 16*16*16 avec la texture origin' (des textures common) placé hors des clips, au-dessus, ce qui facilitera la selection mais il est surtout obligatoire !

Image:Tuto_hqradio_script_mover.jpg

Trigger_objective_info (TOI)

L'entité target_objective_info sert à positionner le command post sur la carte il définit aussi à partir d'où les ingénieurs pourront construire notre command post.

Il doit donc englober nos entitées et posséder un brush origine de 16*16*16 avec la texture origin' (des textures common) placé hors des clips, au-dessus, ce qui est surtout obligatoire !


Image Image Image

  • targetname :
  • shortname : Allied Command Post (Le nom affiché sur la command map.)
  • track : Allied Command Psot (Texte affiché quand vous passer près : "you are near...")
  • target :


Liste des entitées et leur clefs

  • Une func_construcible: de la forme d'un "cp" ouvert.
  1. scriptname:allied_hqradio_openbuilt
  2. targetname:allied_hqradio
  3. spawnflags:8(ce traduit par la case allied_constructible cochée)
  • Un script_mover: de la forme d'un cp fermé.
  1. scriptname:allied_hdradio_closed_clip
  2. targetname:allied_hdradio_closed_clip
  3. spawnflags:2(traduit par la case solid de cochée)
  • Un script_mover: de la forme d'un "cp" cassé.
  1. scriptname:allied_hqradio_damaged_clip
  2. targetname:allied_hqradio_damaged_clip
  3. spawnflags:2(traduit par la case solid de cochée)
  • Un gamemodel:(cp fermé)
  1. model:models/mapobjects/radios_sd/compostalliedclosed.md3
  2. skin:models/mapobjects/radios_sd/compostalliedclosed.skin
  3. targetname:allied_hqradio_closed_model
  4. scriptname:allied_hqradio_closed_model
  5. modelscale:1.5
  • Un gamemodel:(cp ouvert)
  1. model:models/mapobjects/radios_sd/compostalliedopened.md3
  2. skin:models/mapobjects/radios_sd/compostalliedopened.skin
  3. targetname:allied_hqradio_openbuilt_model
  4. scriptname:allied_hqradio_openbuilt_model
  5. modelscale:1.5
  • Un gamemodel:(cp détruit)
  1. model:models/mapobjects/radios_sd/compostallieddamaged.md3
  2. skin:models/mapobjects/radios_sd/compostallieddamaged.skin
  3. targetname:allied_hqradio_damaged_model
  4. scriptname:allied_hqradio_damaged_model
  5. modelscale:1.5
  • Un trigger_objective_info:
  1. scriptname:allied_hqradio_toi
  2. target:allied_hqradio
  3. track:Allied command post
  4. shortname:Allied CP
  5. spawnflags:64(traduit par la case is_commandpost cochée)


Script

Le principe est simple on a plusieurs état due à la func_constructible pour chaque état on va définir l'état de nos entité. Plus donner les temps de charge au début de la carte, plus donner les bonnus pour le cp construit, et aussi le enlever quand le cp est detruit.


game_manager
{
  spawn
  {
		wm_axis_respawntime 5
		wm_allied_respawntime 5
  }
}

allied_hqradio_damaged_clip
{
	spawn
	{
		wait 200
		setstate allied_hqradio_damaged_clip invisible
		setstate allied_hqradio_damaged_model invisible
	}
	
}

allied_hqradio_closed_clip
{
	spawn
	{
		wait 200
		setstate allied_hqradio_closed_clip default
		setstate allied_hqradio_closed_modell default
	}
	
}

allied_hqradio_openbuilt

	spawn
	{
		wait 400
		constructible_class 2
		trigger allied_hqradio_openbuilt setup
	}

	trigger setup
	{
		setchargetimefactor 1 soldier 1
		setchargetimefactor 1 lieutenant 1
		setchargetimefactor 1 medic 1
		setchargetimefactor 1 engineer 1
		setchargetimefactor 1 covertops 1
		sethqstatus 1 0
	}

	buildstart final
	{
		setstate allied_hqradio_openbuilt_model underconstruction
		setstate allied_hqradio_closed_clip invisible
		setstate allied_hqradio_closed_model invisible
		setstate allied_hqradio_damaged_clip invisible
		setstate allied_hqradio_damaged_model invisible

	}

	decayed final
	{
		setstate  allied_hqradio_openbuilt_model invisible
		setstate allied_hqradio_closed_clip default
		setstate allied_hqradio_closed_model default
		setstate allied_hqradio_damaged_clip invisible
		setstate allied_hqradio_damaged_model invisible
	}

	built final
	{
		setstate  allied_hqradio_openbuilt_model default
		setstate allied_hqradio_closed_clip invisible
		setstate allied_hqradio_closed_model invisible
		setstate allied_hqradio_damaged_clip invisible
		setstate allied_hqradio_damaged_model invisible

		trigger allied_hqradio_openbuilt_model enable_allied_features
		
	}

	death
	{
		setstate  allied_hqradio_openbuilt_model invisible
		setstate allied_hqradio_closed_clip invisible
		setstate allied_hqradio_closed_model invisible
		setstate allied_hqradio_damaged_clip default
		setstate allied_hqradio_damaged_model default

		trigger allied_hqradio_openbuilt_model disable_allied_features
		
	}
}

allied_hqradio_openbuilt_model
{
	spawn
	{
		wait 400
		setstate allied_hqradio_openbuilt_model invisible

	}
	
	trigger enable_allied_features
	{
		//-----------------------------------------------------------------------
		// Increase Allies charge times
		//-----------------------------------------------------------------------
		setchargetimefactor 1 soldier 0.75
		setchargetimefactor 1 lieutenant 0.75
		setchargetimefactor 1 medic 0.75
		setchargetimefactor 1 engineer 0.75
		setchargetimefactor 1 covertops 0.75
		sethqstatus 1 1

		// *----------------------------------- vo ------------------------------------------*
		wm_teamvoiceannounce 0 "axis_hq_compost_constructed_allies"

		wm_teamvoiceannounce 1 "allies_hq_compost_constructed"

		wm_removeteamvoiceannounce 1 "allies_hq_compost_construct"
		// *---------------------------------------------------------------------------------*

		wm_objective_status 7 1 1
		wm_objective_status 7 0 2
		wm_announce	"Allied Command Post constructed. Charge speed increased!"

		accum 0 bitset 0
	}

	trigger disable_allied_features
	{
		//-----------------------------------------------------------------------
		// Decrease Allies charge times
		//-----------------------------------------------------------------------
		setchargetimefactor 1 soldier 1
		setchargetimefactor 1 lieutenant 1
		setchargetimefactor 1 medic 1
		setchargetimefactor 1 engineer 1
		setchargetimefactor 1 covertops 1
		sethqstatus 1 1

		// *----------------------------------- vo ------------------------------------------*
		wm_teamvoiceannounce 1 "allies_hq_compost_damaged"

		wm_addteamvoiceannounce 1 "allies_hq_compost_construct"
		// *---------------------------------------------------------------------------------*

		wm_announce	"Axis team has destroyed the Allied Command Post!"
		
	}
}


Téléchargement

Le script étant ci-dessus voici la map du command post exclusif pour les alliés: CP_allie_exclusif.map (clic droit -> "enregistrer la cible du lien sous ..." [dixit Psylo :) ])

Command post neutre

Entitées requises

Script

Téléchargement


N'hésitez pas a faire vos remarques si il n'y a rien d'ici 3/4jours je posterai la première partie, j'ai dejà commencé le command post neutre mais j'ai pas l'envie après avoir fini celui là .