Gaming Zone Communautes Battlefield PiTrust Communautes Mods
SommairemapstutorielsforumtétéchargementsdiversLes liensLivre d'Or
23/. Détruire un mur au Panzerfaust

 

Nous allons voir dans ce tutorial qu'il est facile d'exploser des murs sans pour autant être obligé de passer par du script. En fait, le script existe déjà dans le jeu, il suffit simplement de savoir utiliser les commandes. Première chose à faire, choisir l'endroit où ce mur sera détruit. Nous choisirons le mur entre notre maison et notre cabane à bois.

Commencez par filtrer les MODELES STATICS (ALT + CTRL + B) pour faciliter les vues. Ensuite, coupez le mur en deux à l'aide de l'outil pour CLIPPER et écartez le mur comme sur le screenshot.

Ensuite, dans l'espace ainsi ouvert, recréez le mur et appliquez lui la texture SHADOW CASTER. En effet, pour détruire un mur, nous allons utiliser des script_brushmodels. Le problème de ces script_brushmodels est qu'à la compilation, ils ne bloquent par la lumière, ils sont autrement dit invisibles au processus FLARE. Votre mur créé, mettez le en DETAIL. Une fois terminé, votre mur toujours sélectionné, appuyez sur la touche H (votre brush va disparaître). Cette commande n'efface pas les brushs, il filtre simplement. Si vous voulez reprendre vos brushs, appuyez sur la touche SHIFT ou MAJ + H.

Nous allons créer ici notre mur avant l'explosion. Une fois terminé, nous allons le transformer en script_brushmodel (CDS sur une des vues 2D).

Ouvrez la fenêtre ENTITY, nous allons enregistrer un paramètre qui le rattachera au déclenchement de notre TRIGGER. Dans la fenêtre, tapez : script_exploder 1. En fait, nous allons déclencher un ensemble de chose sous la chaine exploder 1. Si nous voulions créer un second mur à exploser avec un autre TRIGGER, nous utiliserions la fonction script_exploder 2 et ainsi de suite. Chose faite, appuyez sur la touche H pour filtrer les brushs.

Ici, nous allons maintenant créer notre mur de la manière qu'il sera une fois l'explosion, faites fonctionner votre immagination pour donner à votre mur un aspect détruit, avec quelques morceaux de mur à terre, un mesh au pied imitera les débris. Une fois que vous avez terminé, sélectionnez tous les brushs (mesh compris) et transformez l'ensemble de ces brushs en script_brushmodel. Ajoutez toujours le script_exploder 1 pour rattacher ces modification à la chaine exploder 1.

Pour différencier ce qui doit être afficher avant d'après un déclenchement, il suffit d'ajouter une ligne supplémentaire à nos script_brushmodels à savoir : targetname exploder. Ce targetname indique au moteur du jeu que ces brushs doivent rester invisible avant le déclenchement du TRIGGER, et qu'une fois activé, ces brushs doivent être affichés (l'inverse est effectué lorsque les script_brushmodels n'ont pas de targetname exploder. Chose faite, appyez sur la touche H.

Nous allons maintenant ajouter des FX pour notre explosions, plus précisément 2 FX. Créez un script_model (CDS sur vue 2D) et fermez la fenêtre qui vous demande d'ouvrir un fichier. Dans la fenêtre ENTITY, enregistrez model model/fx. Théoriquement, votre cube rouge prend la forme d'un nom FX comme sur le screenshot suivant :

Nous allons ici rattacher notre FX à notre chaine exploder 1 en saisissant script_exploder 1. Nous allons d'autre part lui désigner le type de FX que nous voulons lancer au moment du déclenchement du TRIGGER. Ici, nous allons prendre un FX de débris de poussière (dust) simplement en saisissant script_fx dust. Cette ligne le rattachement au FX que nous allons déclarer en precache dans notre fichier tuto_fx.

Pour terminer l'opération de ce premier FX, nous allons lui indiquer une direction, à l'aide d'un script_origin. Faites donc un CDS sur une vue 2D et prenez un script_origin. Placez-le en hauteur et face à notre script_model FX et désélectionnez-le. Sélectionnez d'abord le FX (1) puis l'origine (2), et reliez-les avec un CTRL + K (3). Normalement la flèche rouge doit indiquer la direction du script_origin.

Créez maintenant 3 autres FX de manière à avoir 2 FX de chaque côté du mur au moment de l'explosion.

Nous allons maintenant créer notre deuxième type de FX, une projection de pierre. Comme pour les FX dust, créez 2 FX avec comme paramètre :

script_exploder 1
script_fx stone

Puis rattachez-les chacun à un script_origin de chaque côté du mur.

Nous allons maintenant utiliser les 2 bidons déjà en place. Pour cela, refaites appaître les modèles statiques (ALT + CTRL + B). Copiez les 2 bidons pour en mettre 2 autres de l'autre côté du mur, cela pourra laisser comprendre qu'ils contiennent de l'essence pour l'explosion du mur.

Maintenant, nous allons faire en sorte qu'ils disparaissent au moment de l'explosion du mur. Pour cela, nous allons créer des script_model. Pour chacun d'eux, transformez les en script_model puis ajouter la ligne script_exploder 1.

Le problème du script_model a contrario du misc_model est qu'il ne dispose pas de collmap (ou de COLLISION), c'est-à-dire qu'on peut le traverser. Pour corriger cela, nous allons devoir créer un CLIP pour bloquer les joueurs lorsque celui-ci est encore présent sur la map (avant l'explosion). Pour cela, recréez un clip avec la texture CLIP NOSIGHT METAL ou bien reprennez le modèle et son CLIP à partir du répertoire collmaps de UO (fichier .map). Ensuite, sélectionnez les 4 brushs CLIP en même temps et transformez-les en script_brushmodel. Ajoutez ensuite la ligne script_exploder 1, le tour est joué. Il nous reste une dernière étape à faire, le déclencheur.

Nous allons terminer cette fastidieuse création par notre déclancheur, un TRIGGER_DAMAGE. Appuyez sur la touche SHIFT ou MAJ + H pour faire réaparaître tous les brushs que nous avions filtrés jusqu'alors. Créez un brush de part et d'autre du mur et texturez-le avec la texture TRIGGER (n'oubliez pas de lui donner la fonction TRIGGER_DAMAGE). Faites en sorte qu'il dépasse à droite et à gauche du mur et qu'il englobe bien les bidons de chaque côté.

Le TRIGGER toujours sélectionné, ajoutez la ligne script_exploder 1. Puis cochez les cases PISTOL_NO - RIFLE_NO - MELEE_NO - FLAME_NO. Ceci empêchera le TRIGGER d'être déclenché par un impact de pistolet, de fusil, de lance-flamme ou de bash. Ceci engendre un Spawnflags de 99 dans la fenêtre ENTITY.

Chose à ne pas oublier, ajouter des panzerfaust pour détruire le mur. Prenez donc le model mpweapon_panzerfaust. Celui-ci ne doit pas être en misc_model (model fixe) mais être en :

classname mpweapon_panzerfaust
model xmodel/weapon_panzerfaust_ammo

Pour mettre un modèle sur un autre ou le long d'un mur, utiliser la coche SUSPENDED, sinon le modèle tombera jusqu'à ce qu'il rencontre un brush dans le jeu.

Au final, voici à peu de choses prêts ce à quoi devrait ressembler le mapping dans la vue 3D de Graydiant.

Voilà pour le mapping, dernière chose à régler, charger nos FX (DUST et STONE) en precache dans notre fichier tuto_fx.gsc. Pour cela reprennez le fichier et ajouter les lignes en rouges :

main()
{
precacheFX();
Feu();
Fumee();
}

precacheFX()
{
level._effect["stone"] = loadfx ("fx/cannon/stone.efx");
level._effect["dust"] = loadfx ("fx/cannon/dust.efx");
}

Feu()
{
level._effect["feu"] = loadfx("fx/map_mp/mp_fireplace_fire.efx");
org = getent ("feu","targetname");
maps\mp\_fx::loopfx("feu", org.origin, 1);

}

Fumee()
{
level._effect["fumee"] = loadfx("fx/map_mp/mp_smokemist_chimney.efx");
org = getent ("fumee","targetname");
maps\mp\_fx::loopfx("fumee", org.origin, 1);
}

Vous pouvez maintenant compiler votre map et tester le fruit de votre travail.

Les fichiers (.map - .gsc - csv) de notre tuto 23/. 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é.

 

Page générée en

Design / concept Amigos3D - Copyright ©2006 CaskAmi Prod. Tous droits réservés.
Caskami.com est hébergé; par Eliott-Ness.