Constructible

Un article de Wiki-Mapping.

Version du 10 août 2011 à 17:00 par Mateos (Discuter | contribs)
(diff) ← Version précédente | view current revision (diff) | Version suivante → (diff)
Jump to: navigation, search

Sommaire

[modifier] Description

Nous allons créer une barrière constructible par les axis et du coup dynamitable par les alliés.

Voila le résultat désiré :

Image:constr_vuedanslejeu.jpg

Tout d'abord il nous faut créer le contexte : un mur avec les spawns axis et alliés de chaque côté. N'oubliez pas le scrip_multiplayer !

Image:constr_contexte.jpg


[modifier] Entités

[modifier] func_constructible

Nous allons maintenant dessiner la barrière. Faites là comme bon vous semble !

Il faut maintenant lui ajouter un petit cube avec la texture origin (des textures common).

Séléctionnez les brushs de la barrière plus le cube et cliquez avec le bouton droit dans une vue 2d -> func -> func_constructible.

Image:constr_funcconstr.jpg


Entrez les paramètres suivant :

  • scriptname : barriere (pas d'accent !)
  • targetname : barriere
  • track : barriere

Cochez également la case : axis_constructible.

[modifier] misc_gamemodel

Nous allons maintenant créer les caisses de constructions, ainsi que le drapeau. Pour cela, nous utilisons des modèles qui se trouvent dans le pak0.pk3. Le plus pratique est d'extraire le dossier /model du pak0.pk3 dans /etmain avec un logiciel de type Winrar.

Pour insérer les caisses, cliquez avec le bouton droit dans une fenêtre 2d -> misc -> misc_gamemodel.

Dans la fenêtre qui s'ouvre, allez chercher le fichier : etmain/models/mapobjects/cmarker/cmarker_crates.md3

Vous pouvez aussi cliquer sur annuler et rentrer manuellement dans les paramètres de l'entité :

  • model : models/mapobjects/cmarker/cmarker_crates.md3

Il faut également ajouter le paramètre suivant :

  • skin : models/mapobjects/cmarker/axis_crates.skin

Placez la caisse à proximité de l'objectif à construire.

Image:constr_modelcrates.jpg


Nous allons maintenant créer le piquet qui servira de support au drapeau. Créez un brush allongé verticalement et appliquez lui une texture metallique par exemple.

Pour ajouter le drapeau, c'est le même principe que pour les caisses : clic avec le bouton droit dans une fenêtre 2d -> misc -> misc_gamemodel.

Choisir le fichier : models/mapobjects/cmarker/cmarker_flag.md3

Séléctionnez le drapeau, qui apparait beaucoup trop grand et entrez ces paramètres :

  • modelscale : 0.4
  • frames : 190 (Vitesse d'animation)
  • skin : models/mapobjects/cmarker/axis_cflag.skin


Placez le drapeau de manière à ce qu'il s'accroche sur le piquet.

Image:constr_modelflag.jpg


Séléctionnez maintenant les deux models et entrez les paramètres suivants :

  • scriptname : barriere_caisses
  • targetname : barriere_caisses
  • target : barriere_toi

[modifier] func_static

Tout les models ont besoin d'un "clip" autour sinon on passe à travers.

Créez donc des brushs qui entoure les caisses de construction, la pelle et la pioche (utilisez pour cela la commande "clipper", racourci : Ctrl+bouton droit, pour définir des plans de coupes, validez avec enter).

Appliquez leur la texture clip (des textures common).

Une fois créés, faite disparaitre les caisses de constructions avec H.

Séléctionnez tous les éléments que vous venez de créer ainsi que le piquet et cliquez avec le bouton droit dans une fenêtre 2d -> func -> func_static.

Image:constr_funcstatic.jpg


Paramètrez les comme les modèles, à savoir :

  • scriptname : barriere_caisses
  • targetname : barriere_caisses
  • target : barriere_toi

[modifier] trigger_objective_info (TOI)

L'entité target_objective_info sert à positionner un objectif sur la carte et à délimiter la zone où les ingénieurs peuvent construire des objectifs constructibles.

Créez donc un brush englobant les caisses de construction et appliquez lui la texture trigger (des textures commmon).

Créez également un petit cube avec la texture origin qui définira l'emplacement exacte de l'objectif à afficher sur la command map.

Sélectionnez ces deux éléments et faites un clic avec le bouton droit dans une fenêtre 2d -> triger -> trigger_objective_info.

Image:constr_toi.jpg


Paramétrez le de telle manière :

  • targetname : barriere_toi
  • shortname : Barriere Axis (Le nom affiché sur la command map.)
  • track : la Barriere Axis (Texte servant à afficher dans you are near...)
  • target : barriere

D'autres paramètres optionnels:

  • infoAxis : Texte décrivant l'objectif pour les Axis.
  • infoAllied : Même chose mais pour les Allies.

Cochez également : axis_objective

[modifier] Script

Rappel : Le script est un fichier texte nommé "nom_de_la_map.script" (Attention de bien avoir les extensions affichées dans Windows !). Il est à placer dans le dossier etmain/maps/.

game_manager
{
  spawn
  {
		wm_axis_respawntime 5
		wm_allied_respawntime 5
  }
}

Nous définissons ici les temps de spawn pour les axis et les alliés.

barriere //nom du scriptname du func_constructible
{
	spawn
	{
		wait 200
		constructible_class 3 //Objectif dynamitable + satchel
		setstate barriere invisible
		setstate barriere_caisses default
	}
	
	buildstart //Execute lors du demarrage de la construction
	{
	}
	
	built //Execute lorsque la construction est finie
	{
		wm_announce "La barriere a ete construite par les Axis !"
		setstate barriere_caisses invisible
	}
	
	decayed //Execute lorsque la construction est echoue
	{
	}
	
	death //Execute lorsque la construction est detruite
	{
		wm_announce "La barriere a ete detruite par les Allies !"
		setstate barriere_caisses default
	}
}

[modifier] Commandes et syntaxes

[modifier] constructible_class

Classe staminaXP (contruc) XP Dest. Vie Armes Durée (msec) Icone
1 0.55 5 350 1* 2500 Grenade
2 1 7.5 7.5 N/A 2* 5000 Satchel Charge
3 1.5 10 10 N/A 3* 2500 Dynamite

Armes :

  • 1* = Tous les explosifs (Dynamite, Satchel, Grenades, Panzerfaust, Mortier, Air Strike, etc.)
  • 2* = Dynamite, Satchel
  • 3* = Dynamite

[modifier] wm_announce

wm_announce "Message"

[modifier] Téléchargement

Constructible.map (clic droit -> "enregistrer la cible du lien sous ...")