Author Topic: [TUTORIAL] faire un objectif à explosion simple  (Read 944 times)

Danker

  • Legomaniaque
  • Posts: 1025
    • http://
[TUTORIAL] faire un objectif à explosion simple
« on: March 25, 2005, 06:37:07 PM »
Ce tutoriel est certainement l'un de ceux qui sera le plus lu, car vous êtes nombreux à vouloir mettre des objectifs sur vos cartes pour les rendre attractives et moins "statiques". Vous allez donc apprendre à mettre un objectif sur une carte MULTIJOUEURS pour faire gagner une équipe en posant une bombe et en attendant son explosion, ou en défendant.

Avant de commencer je vais d'abord vous informer que ce qui est en vert est facultatif, et donc que ce n'est pas obligatoire de le faire si vous voulez que votre objectif fonctionne correctement, cependant je vous recommende fortement de le faire si vous voulez avoir quelquechose de correct. Les propriétés annotées d'une étoile verte (*) sont également des fonctions optionnelles.

I ) La carte

Alors commençons sans plus attendre. Faites une gentille petite carte avec tout le nécessaire (info_player_start, valeurs de lumière dans le worldspawn, etc...). Un peu comme ceci :


Comme c'est une carte à objectif, vous allez l'enregistrer dans le dossier maps/obj et non dans le dossier maps/dm comme vous aviez l'habitude de faire, si vous n'avez jamais fait de carte à objectif. N'oubliez pas de rajouter le préfixe "obj_" devant de le nom de la carte pour pouvoir la lancer (après la compilation) en partie match par objectif dans le menu de lancement de partie ; si vous ne le faites pas, votre carte marchera quand même mais vous ne pourrez la lancer qu'en partie match par équipe, ce qui aura pour conséquence qu'aucune équipe ne gagnera !

1) Définir et placer l'objectif à détruire
Maintenant nous allons placer l'objet qui va exploser. Ce peut être un véhicule, un canon,... enfin tout ce que vous pouvez trouver sous forme de model. Vous avez certainement vu des dizaines de cartes avec objectif : "Détruire le flak88" ou "Faire sauter le canon de 88mm"... alors je suppose que vous commencez à être lassés de ce canon de 88mm qui fit la renommée de l'artillerie allemande pendant la guerre (la famause flak) mais qui, à la longue, est bien monotone. Alors pour varier on va prendre le canon de 150mm, vous voyez le gros canon de Omaha Beach : bien lourd et puissant ! Bien sûr ce n'est qu'un exemple, n'importe quel model ferait l'affaire, même une chaise (mais le problème avec une chaise c'est qu'on ne verrait pas ce qu'il en reste après l'explosion... :P). Trève de plaisanterie, passons aux choses sérieuses : positionnez vous dans l'une des vue 2D et faites clic droit / turretweapon / german / 15cmcannon. Vous devriez obtenir ceci :


Maintenez séléctionné le canon, appellez la console des entités (raccourci : N) et entrez les clé / valeur suivantes :
Quote
targetname / canon1
On définit le nom du canon, et
Quote
$destroyed_model / statweapons/15cmcannon_d.tik
Cela sert à définir le model "détruit" du canon, qui le remplacera après l'explosion. Bien sûr cela dépend du model que vous avez pris au départ. Aussi pour chacun des models non détruits suivants, on associera son model détruit :
- canon de 88mm (flak) : statweapons/flak88turret.tik | statweapons/flak88_d.tik
- canon de 20mm : statweapons/20mmflak.tik | statweapons/20mmflak_d.tik
- nebelwerfer : statweapons/nebelwerfer.tik | statweapons/nebelwerfer_d.tik
- avion fockwulf : vehicles/fockwulf.tik | vehicles/fockwulf_d.tik
- half track Sdkfz : vehicles/sdkfz.tik | vehicles/sdkfz_green_d.tik
- tank sherman : static/vehicle_shermantank.tik | static/vehicle_shermantank_dead.tik
- etc...

Vous trouverez tous les autres en allant soit dans vehicle/... soit dans static/vehicle/...

(Note : Pour utiliser directement ces models sans aller les rechercher dans la liste, faites un script_model (clic droit / script / model) auquel vous donnerez comme clé / valeur : model / nom_du_model_non_détruit (l'un de ceux que je viens de vous donner) et reprenez le tutoriel au début du paragraphe : 1) Définir et placer l'objectif à détruire )

2) Faire la bombe
Maintenant déséléctionnez le canon et faites un script_model (clic droit / script / model[/font]). Vous obtenez une espèce de cube bleu, comme ceci :


Positionnez le un peu éloigné du canon pour pouvoir le séléctionner et le désélectionner sans problème, on le placera à sa position finale plus tard. Ce script_model va servir à faire la bombe ; maintenez le séléctionné et appellez la console des entités pour lui donner les clé / valeur suivantes :
Quote
model / items/pulse_explosive.tik
targetname / bombe1
target / canon1
#exploder_set / 1
$trigger_name / bombe1_trigger
$explosion_fx / animate/fx_explosion_flak88.tik
$explosion_sound / explo_hallway1 (*)
Ce qui devrait au final vous donner ceci :


Bon, je vous dois quelques explications :

¤ model / items/pulse_explosive.tik
   On définit le model de la bombe : Sous Mohradiant ça ressemble à une bombe normale, mais dans le jeu ce sera rouge transparent et clignotera (pour indiquer où poser la bombe). Vous n'êtes pas obligé de mettre cette fonction car c'est fait automatiquement dans le script (obj_dm.scr).

¤ targetname / bombe1
   On définit le nom de la bombe qui sera ensuite utilisé dans le script.

¤ target / canon1
   On définit l'objet lié la bombe, c'est à dire l'objet qui sera remplacé par son model détruit lors de l'explosion. Vous pouvez vérifier :  canon1 est bien le nom qu'on a donné au canon précédemment. Lorsque vous introduisez cette valeur, une flèche bleue doit se tracer entre la bombe et le canon ; c'est tout à fait normal, cela prouve que les 2 entités sont bien "connectées" entre elles. (au passage, target veut dire cible en Français)

¤ #exploder_set / 1
   Ici, c'est un peu plus compliqué : Lors de l'explosion de la bombe, le script qui gère l'amorçage et le désamorçage de la bombe : obj_dm.scr va commander une explosion au exploder.scr et ceci se fait avec des valeurs de groupes numériques (1, 2, 3, 4, ...) qui sont communes à toutes les entités impliquée dans une explosion (objet intact, objet détruit, model de l'explosion, débris dus à l'explosion, ...). Donc ici la bombe a pour valeur de groupe 1, et comme elle est liée au canon, lui aussi interviendra dans l'explosion du groupe 1. On va rajouter plus tard un model d'explosion (l'explosion elle-même) pour le canon et des débris, auxquels on donnera aussi comme valeur de groupe 1.

¤ $trigger_name / bombe1_trigger
   Là on donne le nom du trigger qui servira pour amorcer et désamorcer la bombe. On n'a pas encore fait le trigger, mais c'est la prochaine étape.

¤ $explosion_fx / animate/fx_explosion_flak88.tik
   On définit le model d'explosion de la BOMBE, et non du canon ! Pour le canon, comme je vous l'ai dit juste avant, on va créer un model d'explosion qui aura pour valeur de groupe 1.

¤ $explosion_sound / explo_hallway1 (*)
   Le son qui sera joué lors de l'explosion. on va le déclarer dans le script...

3) Faire le déclancheur pour poser la bombe
Maintenant qu'on en a fini avec la bombe elle-même, on va faire le trigger qui servira à l'amorcer et à la désamorcer.
Faites donc un petit brush englobant le model de votre bombe, et transformez le en trigger_use (clic droit / trigger / use[/font]). Normalement, lors de la manipulation, le brush doit prendre automatiquement la texture trigger. Vous devriez obtenir quelquechose comme ça :

Maintenez le trigger séléctionné, et donnez lui comme clé / valeur :
Quote
targetname / bombe1_trigger
Voilà notre trigger est créé. Vous voyez on l'a appelé bombe1_trigger, ce qui coïncide bien avec le nom du trigger qu'on avait défini dans les paramètres de la bombe ($trigger_name). Maintenant séléctionnez la bombe et le trigger, et placez les où bon vous semble sur le canon.
(Note : Petite astuce pour séléctionner la bombe qui est située à l'intérieur du trigger : Désélectionnez tout, faites CTRL + T pour filtrer les triggers. Séléctionnez votre bombe, puis refaites CTRL + T pour enlever le filtre "trigger", donc votre trigger doit réapparaitre et vous pouvez maintenant le séléctionner lui aussi.)

Comme ceci par exemple :


Nous avons fait la charpente de notre système d'objectif ; maintenant on va y rajouter certaines choses pour le rendre plus réaliste et esthétique.

4) Préparer l'explosion du canon
Tout d'abord faisons le model de l'explosion du canon (dont je vous ai parlé plus haut). Faites un [span style=\\\'color:blue\\\']script_model, positionnez le en plein milieu du canon (là ou l'explosion aura lieu) et donnez lui les clé / valeur suivantes :[/span]
Quote
model / animate/fx_explosion_tank.tik
targetname / exploderfire
#set / 1
Vous reconnaissez la valeur de groupe [span style=\\\'color:blue\\\']#set : 1 dont je vous ai parlé tout à l'heure. On nomme ce model d'explosion exploderfire et il ne faut surtout pas en changer car c'est le nom utilisé dans le script exploder.scr.
Vous devriez avoir à peu près ceci :


Vous pouvez créer d'autres models d'explosions en changeant le model. Mais les valeurs targetname / exploderfire et #set / 1 doivent toujours être les même, du temps que vous travaillez sur la même explosion. Par exemple on va en rajouter un autre pour que ça fasse une jolie gerbe de flamme : Donc faites à nouveau un script_model auquel vous donnerez les valeurs suivantes :[/span]
Quote
model / animate/fx_mortar_higgins.tik
targetname / exploderfire
#set / 1
#pause / 0.2
Vous vous demandez certainement ce que c'est que ce [span style=\\\'color:blue\\\']#pause ! Et bien c'est tout simplement le temps de latence (en secondes) qu'il y aura entre l'explosion (du canon) et l'apparition de ce model d'explosion, ceci afin d'avoir une explosion en plusieurs temps. Et l'effet est vraiment très joli croyez-moi ! Alors vous pouvez remercier le créateur du script, parceque cette idée de créer des explosions à "multi-stades" était vraiment intelligente. Vous pouvez mettre des valeurs #pause pour les models d'explosion : exploderfire (c'est ce qu'on vient de faire), pour les débris : exploderchunk (vous allez voir ça juste après). Une dernière chose : si vous ne mettez aucune valeur de #pause, il n'y aura pas de délai.[/span]

5) Préparer les débris-projectiles de l'explosion
Aussi nous allons rajouter des débris de canon qui vont voler lors de l'explosion, afin de donner plus de réalisme à l'ensemble.
Pour cela faites un brush de forme quelconque (vraiment très simple, on ne verra presque pas la forme dans le jeu) d'environ 24 unités de côté et 6 d'épaisseur, que vous placerez parallèlement à la surface du canon contre laquelle il se trouve, appliquez lui une texture métallique (j'ai bien dit métallique et pas clip metal), qui se rapproche le plus possible de celle du canon, et faites-en un [span style=\\\'color:blue\\\']script_object
(clic droit / <span style='font-family:Courier'>script[/span] / object) auquel vous donnerez les clé / valeur suivantes :</span>
Quote
targetname / exploderchunk
target / t1
#set / 1
Placez ce [span style=\\\'color:blue\\\']script_object où vous voulez autour du canon, mais attention : IL NE DOIT EN AUCUN CAS TOUCHER LE POLYGONE SYMBOLISANT LE CANON (le polygone qui se colore en rouge lorsque vous séléctionnez le canon) ![/span]
Puis faites un [span style=\\\'color:blue\\\']script_origin (clic droit / <span style='font-family:Courier'>script[/span] / origin[/font]) que vous placerez là où vous voulez que le débris vole, et donnez lui cette clé / valeur :</span>
Quote
targetname / t1
Vous devez donc voir une flèche bleu entre le débris et le [span style=\\\'color:blue\\\']script_origin. Cela prouve que les 2 entités sont bien liées entre elles.

Vous pouvez reproduire ce couple débris/destination autant de fois que vous voulez, pour avoir plusieurs débris qui volent en même temps, mais en respectant certaines règles :
- Le débris doit TOUJOURS avoir comme targetname : exploderchunk
- Tant que vous travaillez sur la même explosion, le débris aura comme valeur de groupe (#set), la même valeur numérique que les autres entités du groupe ; donc en locurence : 1.
- Dans chacun des couples débris/destination : la cible (target) du débris [script_object] doit être identique au nom (targetname) de la destination [script_origin]. Bien sûr, le nom utilisé va changer entre les différents couples (t1, t2, t3, ...)

Donc au final ça devrait vous donner ceci :

(J'ai laissé l'image en grande résolution pour que vous puissiez bien observer dans les détails ce que j'ai fait)

Ou encore ceci :

(Vous avez vu j'en ai mis un paquet, mais c'est ce qu'il faut si vous voulez vraiment que votre explosion soit super réaliste)[/span]

6) Faire sauter les objets aux alentour du canon
[en construction ...]

Voilà, on a fini au niveau mapping ! C'est sympa hun ! Tous ces script_models, script_objects, script_origins, trigger_uses,... toutes ces couleurs, ces flèches : c'est super interressant :D mais il ne faut pas en abuser...  Alors juste avant de passer au script on va faire une dernière vérification pour voir si vous n'avez rien oublié :

(Vous voyez que j'ai fait faire une rotation de 45° au canon (depuis le début du tutoriel), c'est pour bien vous montrer que, une fois que le canon aura explosé, son model détruit sera bien dans la même position que le canon initial.)

Vous devez donc avoir :
- Le canon de 150mm
- La bombe jaune et noire à l'intérieur du trigger
- Le trigger vert translucide
- Le ou les model(s) d'explosion du canon, en bleu, à l'intérieur de ce dernier
- Des débris [script_object] de la couleur du canon reliés par des flèches bleues à des destinations [script_origin] plus éloignés du canon.


II ) Le script

Nous voici maintenant dans la partie script, qui est assez simple. Enfin je dis simple pour moi... :P Bon j'arrête de faire le malin, et je vous donne tout de suite le script que vous allez enregistrer comme ceci : obj_nomdevotrecarte.scr, et que vous allez placer lui aussi dans le dossier maps/obj, tout comme le fichier *.map et les autres fichiers de compile (*.bsp, *.vis, *.prt).

Quote
[size=8]//==========================================//
//|Nom de la carte : obj_tutorial_objectif |//
//|Architecture :                          |//
//|Script : Danker [Emilien]               |//
//==========================================//
main:

   setcvar "g_obj_alliedtext1" "-< Détruire >-"
   setcvar "g_obj_alliedtext2" "-< le canon de 150mm >-"
   setcvar "g_obj_alliedtext3" ""
   setcvar "g_obj_axistext1" "-< Défendre >-"
   setcvar "g_obj_axistext2" "-< le canon de 150mm >-"
   setcvar "g_obj_axistext3" ""

   setcvar "g_scoreboardpic" "none"

   local.master = spawn ScriptMaster

   local.master aliascache explo_hallway1 sound/weapons/explo/explo_hallway1.wav soundparms 2.4 0.4 0.8 0.5 550 6500 auto loaded maps "dm obj"

//-----------------------------//
level waittill prespawn
//-----------------------------//

   level.script = maps/obj/obj_tutorial_objectif.scr

   exec global/exploder.scr

   level.dmrespawning = 1
   level.dmroundlimit = 4
   level.clockside = "axis"

   level.defusing_team = "axis"
   level.planting_team = "allies"

//-----------------------------//
level waittill spawn
//-----------------------------//

   level.bomb_damage = 200
   level.bomb_explosion_radius = 1048

//-----------------------------//
//level waittill roundstart
//-----------------------------//

   $bombe1 thread global/obj_dm.scr::bomb_thinker
   $bombe1 thread victoire_axe
   thread victoire_allies $bombe1

end

//===========================//
//*** Victoire des Alliés ***//
//===========================//
victoire_allies local.bombe:

   while (local.bombe.exploded != 1)
   {
  wait 0.1
   }
   wait 1.5

   teamwin allies

end

//===========================//
//*** Victoire des Allemands ***//
//===========================//
victoire_axe:

   level waittill axiswin

end[/size]

Très bien. Donc maintenant je vais vous expliquer comment ça marche : (commentaires en violet, à ne pas recopier donc ! Ne recopiez que ce que je vous ai mis juste au dessus ;))

[size=8]//==========================================//
//|Nom de la carte : obj_tutorial_objectif |//
//|Architecture :                          |//
//|Script : Danker [Emilien]               |//
//==========================================//
main:

   setcvar "g_obj_alliedtext1" "-< Détruire >-" //on définit les objectifs alliés
   setcvar "g_obj_alliedtext2" "-< le canon de 150mm >-"
   setcvar "g_obj_alliedtext3" ""
   setcvar "g_obj_axistext1" "-< Défendre >-" //pareil pour les Allemands
   setcvar "g_obj_axistext2" "-< le canon de 150mm >-"
   setcvar "g_obj_axistext3" ""

   setcvar "g_scoreboardpic" "none"

   local.master = spawn ScriptMaster //création d'une variable permettant de déclarer les sons

   local.master aliascache explo_hallway1 sound/weapons/explo/explo_hallway1.wav soundparms 2.4 0.4 0.8 0.5 550 6500 auto loaded maps "dm obj"
   //déclaration du son de l'explosion (pour plus d'info, allez voir le tuto ajouter des sons localisés)

//-----------------------------//
level waittill prespawn
//-----------------------------//

   level.script = maps/obj/obj_tutorial_objectif.scr //ce qui est en bleu est à changer en fonction du nom de votre map ! Mais le préfixe "obj_" doit toujours être présent vu que c'est une carte à objectif (je vous ai expliqué ça au début)

   exec global/exploder.scr //initialisation du système d'explosion

   level.dmrespawning = 1 //Réapparition des joueurs durant la partie : 0 = non ; 1 = oui
   level.dmroundlimit = 4 //limite de temps pour poser la bombe
   level.clockside = "axis" //équipe qui gagne si la bombe n'est pas posée au bout de la limite de temps. Valeurs possibles : "axis" = allemands ; "allies" = alliés ; "kills" ; "draw"

   level.defusing_team = "axis" //équipe qui désamorce la bombe (donc qui protège l'objectif)
   level.planting_team = "allies" //équipe qui pose la bombe (autrement dit l'équipe qui attaque !)

//-----------------------------//
level waittill spawn
//-----------------------------//

   level.bomb_damage = 200 //dégats provoqués lors de l'explosion de la bombe
   level.bomb_explosion_radius = 1048 //rayon d'action des dégats provoqués par la bombe

//-----------------------------//
//level waittill roundstart //enlever les 2 slashs (//) devant la ligne si vous jouez à plusieurs
//-----------------------------//

   $bombe1 thread global/obj_dm.scr::bomb_thinker //Appelle le système de gestion (amorçage/désamorçage) de la bombe
   $bombe1 thread victoire_axe //permet au round de continuer même si les attaquants sont morts et qu'ils ont posé la bombe (en attendant qu'elle explose ou qu'elle soit désamorcée)
   thread victoire_allies $bombe1 //On appelle le thread qui va attendre l'explosion de la bombe pour faire gagner les attaquants
//Pour cela on fait passer la bombe sous forme de variable qu'on va récupérer dans le thread appelé (ici le thread est en rouge). La bombe est en vert.

end

//===========================//
//*** Victoire des Alliés ***//
//===========================//
victoire_allies local.bombe: //vous voyez qu'on récupère la bombe sous forme de variable "locale" et qu'on va l'utiliser comme un objet normal...

   while (local.bombe.exploded != 1) //tant  que la bombe n'a PAS explosé...
   {
      wait 0.1 //...on attend !
   }
   // quand la bombe explose, la boucle while s'arrète et la suite du thread est exécutée
   wait 1.5 // on attend un petit peu pour bien profiter de l'explosion qu'on s'est déchiré à faire ! Ce serait dommage d'avoir fait tout ça pour rien :D

   teamwin level.planting_team //l'équipe qui attaque gagne !

end //fin du thread

//===========================//
//*** Victoire des Allemands ***//
//===========================//
victoire_axe:

   level waittill axiswin

end[/size]

Maintenant il ne nous reste plus qu'à faire le fichier precache : obj_nomdelacarte_precache.scr :

Quote
[size=8]//==========================================//
//|Nom de la carte : obj_tutorial_objectif |//
//|***     fichier de préchargement     ***|//
//==========================================//

exec global/DMprecache.scr

cache models/items/pulse_explosive.tik
cache models/items/explosive.tik

cache statweapons/15cmcannon.tik
cache statweapons/15cmcannon_d.tik

cache models/animate/fx_explosion_flak88.tik
cache models/animate/fx_explosion_tank.tik
cache models/animate/fx_mortar_higgins.tik

aliascache explo_hallway1 sound/weapons/explo/explo_hallway1.wav soundparms 2.4 0.4 0.8 0.5 550 6500 auto loaded maps "dm obj"[/size]

Placez ce fichier dans le même répertoire que les autres fichiers de la map (*.map ; *.scr ; etc)


Et Ben voilà, ça c'est fait ! On a donc fini de faire notre système d'objectif à explosion simple. Ca a du vous paraître un peu long certes, mais c'est parceque j'ai bien pris le temps de tout vous détailler et de tout vous expliquer. Entrainez vous à le faire et à le refaire et vous verrez que c'est un vrai jeu d'enfant ! En attendant je vous laisse gouter à la joie de faire exploser VOTRE canon que VOUS avez créé.
Et aussi pour ceux qui n'ont pas suivi le cours (faut prendre des notes hun ! :D), voici le fichier User_objectif.pk3 comprenant :
- le fichier *.map
- la carte compilée
- les fichiers scripts
« Last Edit: March 28, 2005, 10:46:41 AM by Danker »
De l'éducation les racines sont amères... Mais le fruit est doux !


Caskou

  • Actionnaire chez un fabricant de claviers
  • Posts: 1596
    • http://
[TUTORIAL] faire un objectif à explosion simple
« Reply #1 on: March 25, 2005, 06:42:27 PM »
Alors là, moi je dis CHAPEAU  :bav  

Danker

  • Legomaniaque
  • Posts: 1025
    • http://
[TUTORIAL] faire un objectif à explosion simple
« Reply #2 on: March 25, 2005, 06:46:29 PM »
Moi je dis chapeau à Caskou qui a réussi a lire ça en moins de 5 minutes chrono  :lol:  :lol: !!
De l'éducation les racines sont amères... Mais le fruit est doux !


Danker

  • Legomaniaque
  • Posts: 1025
    • http://
[TUTORIAL] faire un objectif à explosion simple
« Reply #3 on: March 27, 2005, 12:21:44 PM »
Les autres ? Vous en pensez quoi ?  hummm  
De l'éducation les racines sont amères... Mais le fruit est doux !


jules

  • Squatteur de forum
  • Posts: 2182
    • http://
[TUTORIAL] faire un objectif à explosion simple
« Reply #4 on: March 27, 2005, 12:26:42 PM »
Chais pô... Y a plus de dix lignes donc je lis pas  :huh:

Non, je deconne, bon boulot ;)  
Veni, vidi, vici (un autre Jules)
Alors que moi, je suis venu, j'ai vu et... ils m'ont vaincu...

N'oubliez pas de cliquer là!

snaky

  • Squatteur de forum
  • ****
  • Posts: 3332
    • http://profparty.forumpro.fr
[TUTORIAL] faire un objectif à explosion simple
« Reply #5 on: March 27, 2005, 12:48:03 PM »
En survol, ça a l'air bien dit!
Après, pour ceux qui maitrisent, lancez-vous dans vos propres systèmes d'objetifs pour créer des multi-objs-croisés (2objs axe + 2 obj alliés).
Commande teamwin permet de faire gagner l'une ou l'autre équipe (allied ou axis). Ca, ca vous sera utile.
« Last Edit: March 27, 2005, 02:57:15 PM by raf »

Danker

  • Legomaniaque
  • Posts: 1025
    • http://
[TUTORIAL] faire un objectif à explosion simple
« Reply #6 on: March 27, 2005, 03:04:27 PM »
Je vais faire un autre tuto, plus court bien sur au niveau mapping et technique, vu que TOUT est expliqué dans celui ci, où il sera expliqué comment faire des objectifs croisés,  des objectifs double, triples, ou plus encore.

Donc ce tuto est en fait la base (c'est pour cela qu'il s'appelle Tutorial Objectif Simple) pour comprendre le système d'explosion qui combine exploser.scr / obj_dm.scr. Et ensuite je prendrais plusieurs cas assez généraux d'objectifs pour expliquer comment ça marche au niveau script... et ensuite chacun fera comme il a envie. Et donc fini les questions du genre : "comment mettre un objectif sur une carte ?"

 :) Bon et ben j'ai du boulot devant moi B)  :D  
De l'éducation les racines sont amères... Mais le fruit est doux !


dermax

  • Poseur de brushs
  • **
  • Posts: 210
    • http://jeuxdivers.easyforum.fr/
[TUTORIAL] faire un objectif à explosion simple
« Reply #7 on: March 28, 2005, 03:07:03 PM »
merci Danker pour ce tutorial B)  
« Last Edit: March 28, 2005, 03:07:25 PM by dermax »
j'éspère que mes maps auront toujours du succès

M0rt@l

  • Tailleur de maps (expérimenté)
  • Posts: 979
    • http://
[TUTORIAL] faire un objectif à explosion simple
« Reply #8 on: March 28, 2005, 09:24:12 PM »
Chapo danker ;)
Moi qui me prépare a faire une map qui représente mon collège ...
  :D  IL VA PETER !!! MOUAHAHAHAH  :D

//================================//
Mais une question :

Bonjour all !
Bon j'ai suivi le tutoriel de danker sur l'objectif (très bien réalisé, encore merci à lui).
Ma cible est un bureau que l'on trouve dans static/furniture/desk
Bon l'objectif marche nikel (trop heureux :D)
Mais c'est la destruction du bureau qui me pose problème , vu qu'il n'y a pas de furniture/desk destroy, je fait un brush moi même détruit , mais après je bloque , je ne sais plus comment faire pour qu'il apparaisse quand le desk explose, et pour lui donner les valeurs...
Si quelqu'un pouvait m'aider svp , merci d'avance  ;)

(merci de poser sa question à la suite du tuto ^^/)
« Last Edit: March 31, 2005, 05:40:27 PM by Danker »




Danker

  • Legomaniaque
  • Posts: 1025
    • http://
[TUTORIAL] faire un objectif à explosion simple
« Reply #9 on: March 31, 2005, 05:50:50 PM »
Comme je l'ai dit : merci de poser ses questions à la suite ;)

Alors ce que tu demandes c'est précisement la partie que je n'ai pas encorer faite : Détruire les objets aux alentours de l'explosion ! :D  B) Donc il va falloir attendre un peu pour avoir tous les détails !

Mais sache que si tu ne mets pas de $destroyed_model pour ton objet à faire sauter... rien ne le remplacera après l'explosion. C'est ce qui se passe je suppose hummm (d'ailleurs il faudra que je mette fonction en "optionnelle" car si on ne la met pas, le système d'objectif marche mais il n'y a pas de model détruit !)

Donc le principe c'est de faire des brushs que tu transformes en script_object et auquel tu donnes comme clé / valeur :
Quote
targetname / explodersmashed

Ainsi ton script_object qui représente l'objet détruit apparaitra juste après l'explosion  ;)

Mais bon la je t'ai expliqué les bases du truc (et encore...), mais on peut faire des choses beaucoup plus complexes... seulement faut le temps de les faire les tuto :D
De l'éducation les racines sont amères... Mais le fruit est doux !


M0rt@l

  • Tailleur de maps (expérimenté)
  • Posts: 979
    • http://
[TUTORIAL] faire un objectif à explosion simple
« Reply #10 on: March 31, 2005, 06:12:34 PM »
Ok désolé pour la question qui n'était pas a la suite...

Ok j'attendrai  :bav  :bav  :bav  :bav  




gros molard

  • Poseur de brushs
  • Posts: 174
    • http://
[TUTORIAL] faire un objectif à explosion simple
« Reply #11 on: January 21, 2007, 07:19:41 PM »
Bonjour a tous.

J'ai une question.
Voila j'ai suivi de tres pres le tuto (tres bien fait je tiens a le dire).
Alors j'ai fais mon objectif avec un camion, celui la
model / static/vehicle_opeltruck.tik

Voila donc nikel j'ai fini le tuto, le script ect...
ensuite compile => nikel
lancement de la parti => nikel
Pose de la bombe => nikel

et c'est la que ya le probleme : apres explosion pas de dommage meme en etant sur la bombe et mon model ne changeait pas (restait intact alors que la commande $destroyed_model est bien presente)

Alors j'ai cherché niveau script, tout etait a priori bon.
Puis j'ai repri le tuto mais en faisant exactement pareil => j'ai mis le model du canon
Et la paf ça marchait tout bon. Je me fesais allumer la face en etant trop pres et le model changait bien. Alors tout content j'ai remis mon model et ça marchait pas.

comme commande de destoyed j'ai
$destroyed_model / vehicles/opeltruck_d.tik

Alors j'en conclu que je n'ai pas le bon model de destroy car j'ai remarqué que tout les debut d'entite comence de la meme façon (par couple)
Alors que moi en model bon j'ai un "static" et en detruit j'ai un "vehicles"

Je ne sais pas si ça a un rapport mais ma question est : pouvez vous m'indiquer quel est le model detruit de mon canon qui marche avec mon explosion???
voila parce que j'ai chercher mais j'en est pas trouver qui marchais.

Merci de m'aider ;) ;)
« Last Edit: January 22, 2007, 02:57:12 PM by raf »
heu.... Salut!!!

Ang3^

  • Tailleur de maps (expérimenté)
  • Posts: 807
    • http://www.nccteam.com
[TUTORIAL] faire un objectif à explosion simple
« Reply #12 on: January 21, 2007, 08:27:27 PM »
Model de Base : vehicles/opeltruck.tik
Model détruit : vehicles/opeltruck_d.tik

;)
Signé Ang3^
Map (Crashed) : Rebooting...

gros molard

  • Poseur de brushs
  • Posts: 174
    • http://
[TUTORIAL] faire un objectif à explosion simple
« Reply #13 on: January 21, 2007, 08:59:05 PM »
O-o  O-o  O-o  :halala:  excusez moi pour ma question un peu idiote.
Je te remercie ang3^
heu.... Salut!!!