
Continuons notre l'apprentissage
du script avec l'utilisation maintenant du script,
des script_brushmodel ainsi que des trigger_damage
pour la création de fenêtres cassables. Nous allons donc
modifier les fenêtres de notre maison pour qu'elles se brisent
en cas d'impact.
Avant toute chose, nous allons
filter notre éditeur pour travailler dans de meilleures conditions
à savoir : curves - detail - lights et static (surtout pas
entity, cela ferait disparaître les script_brushmodels
dès leur création).

Chose faite, nous allons donc
reprendre une de nos fenêtres puisqu'elle a la bonne dimension
en hauteur et largeur. Nous allons simplement la rendre moins épaisse
en réduissant son épaiseur à 2 unités.

Dupliquez maintenant le brush
de manière à avoir 4 fenêtres identiques que vous
alignerez de la même manière que sur le screenshot suivant,
ceci est important pour la suite.

A partir d'ici, attention à
bien lire ce qui est dit. Une inversion de texture, de commande ou
de type d'entité, et le résultat ne sera pas au rendez-vous.
Sélectionnez les 2 brushs
de droite et donnez leur la texture (1)
NODRAW. Maintenant sélectionnez les 2 brushs
de gauche et, à partir des textures contenues dans le menu
COMMON, sélectionnez la texture (2)
ORIGIN.

Pour notre brush NODRAW
le plus haut, nous allons appliquer une texture de fenêtre cassée.
Celle-ci se trouve dans le menu AUSTRIA : austria/windows/glass_blend_in@shopwin2broken.
Son nom est d'ailleurs très explicite : @shopwin2broken.
Appliquez donc cette texture uniquement sur les 2 faces (avant et
arrière) du brush. Un FIT (CTRL+ F)
permettra de positionner la texture intégralement sur la face
du brush.

Maintenant, nous allons faire
de même avec le brush NODRAW du bas, mais nous
allons lui appliquer une texture normale à savoir austria/windows/workshopwindow2,
toujours sur les 2 faces (avant et arrière) du brush avec un
FIT. Ces 4 brushs serviront à rendre notre
fenêtre cassable.

Une fois terminé, sélectionnez
ces 4 brushs et dupliquez-les 2 fois, ceci pour faire de même
pour nos 2 autres fenêtres (que vous pouvez d'ailleurs supprimer
de leur emplacement actuel).

Tracez un nouveau brush aux mêmes dimensions
que notre fenêtre à l'exception prêt qu'il doit
avoir une épaisseur de 8 unités. Texturez-le
ensuite avec la texture TRIGGER du menu COMMON.

A partir d'ici, attention à
ne pas vous tromper de manipulation. Nous allons lui attribuer la
fonction trigger_damage. Cette fonction permet de
déclencher des dommages aux joueurs ou aux objets. Le TRIGGER
toujours sélectionné, faites un CDS
et (1) donnez-lui la
fonction trigger_damage. Attention à bien
donner cette fonction en ne sélectionnant qu'un seul TRIGGER
à la fois. Normalement, (2)
cette information doit être indiqué sur les vues
2 D.

Nous allons lui donner un targetname pour le
lier par la suite à notre script. Appelez la fenêtre
ENTITY (touche N) et entrez targetname
window.

Recommencez la procédure
pour les 2 autres fenêtres en créant 2 autres trigger_damage
et en procédant de la même manière avec le même
targetname.

Nous allons maintenant créer nos premiers
script_brushmodel. Un script_brushmodel
permet de donner vie au jeu, grâce à un déclencheur
(trigger), un script_brushmodel permet de modifier
l'apparence d'une construction, c'est dire avant et après un
déclencheur. Cela permet de rendre la map plus réaliste.
(1) A partir de la vue
3D, sélectionnez donc le brush NODRAW
(avec la texture fenêtre) puis (2)
le brush ORIGIN, et avec un CDS,
sélectionnez script_brushmodel. Attention
à bien prendre ces brushs dans cet ordre et de les sélectionnez
tous les deux avant de donner cette fonction. Il ne faut en aucun
cas le faire l'un après l'autre.
Répétez cette opération
pour tous les autres brushs NODRAW et ORIGIN
(normalement 5 fois).

Attention à l'ordre
de sélection ici, inversez la sélection des brushs et
vous constaterez de drôles de choses une fois dans le jeu. Toujours
à partir de la vue 3D, sélectionnez
d'abord (1) le brush
NODRAW (fenêtre intacte) puis (2)
le brush NODRAW (fenêtre cassée). Nous
allons lier ces 2 entités (un script_brushmodel
est une entité) à l'aide du raccourci CTRL +
K. Normalement, une flèche
bleu doit relier ces 2 entités dans le sens
de sélection (c'est-à-dire de notre (1)
fenêtre intacte vers notre (2)
fenêtre cassée).
Pour l'explication, au moment
du déclenchement de notre trigger_damage,
le jeu saura qu'il faut effacer la fenêtre intacte et afficher
la fenêtre cassée.

Il nous faut maintenant relier
notre déclencheur à notre fenêtre intacte. Toujours
la même manipulation dans le bon ordre. Sélectionnez
le trigger_damage puis le brush NODRAW
(fenêtre intacte) et liez les avec les touches CTRL
+ K. Même chose une flèche
bleu doit relier ces 2 entités dans le sens
de sélection (c'est-à-dire de notre (1)
trigger_damage vers notre (2)
fenêtre intacte).

Il ne reste plus qu'à
replacer nos 4 brushs (2 NODRAW + 2 ORIGIN)
à leur place, c'est-à-dire bien au centre de son emplacement.

Placez maintenant le trigger_multiple
dans son emplacement, celui-ci doit être dans le prolongement
des murs intérieurs et extérieurs. Nous en avons fini
avec la première fenêtre, il va donc falloir répéter
ces opérations pour les 2 autres fenêtres.

Si tout va bien, vous devez
vous retrouver avec (1)
(2) (3)
vos 3 trigger_damage à leur place respective,
accompagné des autres brushs. La partie mapping est maintenant
terminée, il va maintenant falloir faire la partie script.

Reprenons notre script principal,
nous allons lui ajouter donc le script nécessaire au fonctionnement
des vitres cassées en multijoueurs. En effet, par défaut
cette fonction n'est pas présente dans le jeu (uniquement en
solo). Un bon scripteur (un certain n00bCODmapper)
a donc apporté au jeu ce dont il avait besoin pour que cela
fonctionne aussi en multijoueurs.
Ouvrez donc votre script, et
ajoutez cette ligne : level thread maps\mp\tuto_fenetre::main();
(après level thread maps\mp\tuto_fx::main();).

Ce script étant assez
long, je vous propose de le télécharger à partir
de ce lien.
Il suffit simplement de le placer au même endroit que votre
script principal.

Vous pouvez maintenant compiler
votre map et tester le fruit de votre travail.
Les fichiers (.map - .gsc)
de notre tuto 19/. se trouve ici.
Pour l'utiliser, à partir du menu FICHIER,
sélectionnez IMPORTEZ (.map) ==> IMPORTEZ NOUVELLE
MAP.

Par
Caskou
- 2005 Copyright © by CaskAmi Prod.
Tout droit réservé.