Premiers Scripts

Un article de Wiki-Mapping.

Jump to: navigation, search

Cette page ne decrit pas les entités nécessaire au fonctionnement de ces scripts. Consultez les tutos correspondant dans la section GtkRadiant.

Sommaire

[modifier] Func_destructible

Les Allies doivent detruire une porte.

door_script
{
 spawn
 {
  wait 200
  constructible_class 3 //Destructible uniquement avec une dynamite
 }
 death //Execute lors de la destruction de la porte
 {
  wm_announce "Allies breached the Axis door"
  setstate door invisible //Fait disparaitre la porte
 }
}

[modifier] Func_constructible

Les Allies doivent dynamiter une porte reconstructible par les Axis ...

door_r_script
{
 spawn
 {
  wait 200
  constructible_class 2 //Peut etre detruit par une satchel
 }

 buildstart final
 {
 }

 built final //Fin de la construction
 {
  setstate door default //Afficher la porte
  setstate door_materials invisible //Rendre invisible les materiaux (generalement les caisses de construction)
  wm_announce "The Axis door has been constructed"
 }

 decayed final //Pour revenir à la position initiale si la porte n'est pas finie de construire
 {
  trigger self startup //Appel le sous-bloc startup du bloc actuel (door_r_script)
 }

 death //Appellé lors de la destruction de la porte
 {
  trigger self startup //Idem que ci-dessus
  wm_announce "The Axis door has been breached"
  setstate door_materials default //Euh, je doute de l'utilité de cette ligne puisqu'elle existe plus bas ...
 }
 
 trigger startup //Etat de la porte non construite ou detruite
 {
  setstate door invisible //Porte invisible
  setstate door_materials default //Affiche les matériaux de construction
 }
}

[modifier] Team_CTF_redflag

Radar. Les Axis doivent capturer et rapporter un module de radar ...

allied_radar //Ceci correspond à l'entree 'scriptname' de l'entite team_CTF_red/blueflag 
{
 spawn
 {
  wait 200
  setstate allied_radar_captured invisible //L'objectif dans le camion est invisible
 }

 trigger stolen //Execute lorsque les Axis prennent le radar set
 {
  wm_announce 0 "Return the Allied radar set to the getaway truck" //Annonce pour les Axis
  wm_announce 1 "The Axis have stolen the Allied radar set" //Annonce pour les Allies
  setstate allied_radar_cm_marker invisible
 }

 trigger returned //Execute lorsque les Allies recupere le radar set
 {
  wm_announce 0 "The Allies have retrieved the radar set"
  wm_announce 1 "Radar set returned! Protect the radar set"
  setstate allied_radar_cm_marker default
 }

 trigger captured //Execute lorsque les Axis securise le radar set
 {
  wm_announce "The Axis have secured the Allied radar components"
  setstate allied_radar_red invisible //Rend la trace du radar non capture invisible
  setstate allied_radar_captured default //Affiche le radar capture
 }
}

[modifier] Compteur d'objectif

A placer dans game_manager

 trigger objective_counter //Compte le nombre d'objectifs que les Allies ont completes
 {
  accum 1 inc 1 //Augmente de 1 la valeur precedente de l'accum 1
  trigger game_manager checkgame //Appelle la fonction checkgame de game_manager qui determine si la partie est gagnee
 }

[modifier] Script pour déterminer si la partie est gagnée

A placer dans game_manager

 trigger checkgame
 {
  accum 1 abort_if_not_equal 1 //Est-ce que les objectifs sont completes ?
  wm_setwinner 0 //Les Axis gagnent (Allies=1)
  wait 1500
  wm_endround //Fin de la partie
 }