Aller au menu - Aller au contenu

Icône Blesser et soigner

Mise à jour : 22/07/2009
1 414 visites depuis 7 jours, dont 9 sur ce chapitre classé 94/786
C'est un chapitre un peu sadomaso, je reconnais ;)
Nous allons voir comment on peut torturer le joueur dans une map HL (dans une map CS ce genre de manipulations est possible mais pas conseillé).

Nous verrons dans un premier temps comment blesser le joueur, puis comment soigner ses petits bobos. Enfin, pour ajouter une touche de réalisme à la scène, nous verrons comment générer du sang dans votre map !
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Blesser

Entité concernée : trigger_hurt
Type d'entité : entité-bloc
Difficulté : assez facile

Cette entité est une entité-bloc invisible, c'est-à-dire que vous allez devoir créer un bloc avec la texture AAATRIGGER. Dans toute la zone couverte par ce bloc, le joueur subira des dégâts. Placez donc le bloc à l'endroit désiré et transformez-le en entité trigger_hurt.

Il n'y a rien de bien compliqué en ce qui concerne ses propriétés. Les 2 plus importantes à retenir sont "Damage" et "Damage Type".

Voici la liste des propriétés disponibles :
  • Name : nom de l'entité. Utile si vous souhaitez appeler cette entité afin qu'elle soit déclenchée, et non pas active dès le début de la map.
  • Target : nom d'une entité à appeler.
  • Master : indiquez le nom d'un multisource ou game_team_master. On se sert de cet attribut pour infliger des dégâts uniquement à une équipe précise, mais c'est un peu compliqué à utiliser...
  • Damage : dégâts infligés au joueur par seconde. Si vous mettez "5", le joueur perdra 5 points de vie par seconde tant qu'il sera dans la zone du trigger_hurt.
  • Delay before trigger : délai en secondes avant de déclencher la cible définie dans "Target".
  • Damage Type : c'est là qu'on a l'embarras du choix ! En effet, vous devez sélectionner ici le type de dégâts infligés au joueur : sa réaction ne sera pas la même s'il est paralysé, brûlé, gelé etc etc... ;)
    J'ai testé tous ces types de dégâts, et je peux vous dire que la plupart n'ont pas vraiment d'intérêt : ils se ressemblent tous. Je ne vous décrirai donc que ceux qui sont vraiment intéressants :
    • GENERIC : ça c'est le bobo de base. Vraiment rien de spécial à dire : ça fait mal et pis c'est tout. Retenez que "GENERIC" est employé la plupart du temps pour définir quelque chose par défaut.
    • CRUSH
    • BULLET
    • SLASH
    • BURN : brûle le joueur. S'il sort de la zone, il continuera à cramer un petit moment eh eh ;)Voici l'icône qui apparaît en bas à droite de l'écran lorsque le joueur brûle.
    • FREEZE : gêle le joueur. Là il prend froid et se trouve un peu ralenti.Cette icône apparaît lorsque le joueur prend froid...
    • FALL : à utiliser lorsque le joueur tombe de très haut !
    • BLAST
    • CLUB
    • SHOCK : bzzz bzzz... Si le joueur est censé prendre une décharge de 100 000 volts dans les dents, c'est SHOCK qu'il faut utiliser.Un éclair représente la foudre qui s'abat impitoyablement sur Freeman :)
    • SONIC
    • ENERGYBEAM
    • DROWN : si le joueur vient à manquer d'air, utilisez DROWN. A noter que ce dégât s'effectue automatiquement si le joueur reste trop longtemps sous l'eau.O2 : ça évoque ce qu'il manque au joueur... De l'air !!!
    • PARALYSE : sert à paralyser un peu le joueur.
    • NERVEGAS : le joueur respire un gaz dangereux qui lui fait perdre de la vie.Malheureusement, il n'existe pas de masque à oxygène dans Half-Life pour se protéger de ça... Il va donc falloir sortir vite fait de la zone de gaz si le joueur ne veut pas y laisser ses os !
    • POISON : ben c'est du poison ;) Cette fois, si le joueur sort de la zone du trigger_hurt, il continuera quand même à subir des dégâts pendant un certain temps.C'est aussi le symbole utilisé pour dire que quelque chose est dangereux (hazardous).
    • RADIATION : immanquable. Dans tout jeu qui se respecte, il y a forcément des radiations issues de dépôts nucléaires, c'est un minimum ;) Le joueur entend un crissement (krss krss) de plus en plus persistant lorsqu'il s'approche de la zone contaminée.Si vous ne connaissez pas ce symbole, c'est que vous n'avez jamais joué à Half-Life !
    • DROWNRECOVER
    • CHEMICAL : si le joueur piétine (ou nage) dans des substances chimiques et nocives, c'est ce dégât qu'il faut appliquer. A noter que l'on retrouve le même effet si on met Contents=Slime à un func_water.
      Mais pourquoi laisse-t-on traîner des substances chimiques dans les maps de Half-Life !?? Il le font exprès ou quoi ??? ;)
    • SLOWBURN : le comble du sadomasochisme. Là, vous brûlez le joueur à petit feu, histoire qu'il ressente encore plus sa douleur...
    • SLOWFREEZE : idem pour geler lentement le joueur... Perso, je préfère le brûler à petit feu, mais bon chacun ses goûts lol ;)
Faites votre choix ! Vous voyez maintenant que Half-Life a tout prévu pour faire varier les plaisirs au joueur... enfin, si on peut appeler ça plaisir !

Bon, c'est pas encore fini, il nous faut voir les Flags de cette entité :
  • Target Once : intéressant et pratique. L'entité ne blessera qu'une seule fois, ce qui évite que le joueur perde toute sa vie...
  • Start Off : l'entité ne fait pas mal au joueur avant d'être déclenchée. En clair, au début de la map elle n'est pas active. On l'utilisera parfois de paire avec "Target Once".
  • No clients : n'affectera aucun joueur.
  • FireClientOnly : la cible de "Target" ne sera appelée que lorsqu'un joueur aura été blessé.
  • TouchClientOnly : seuls les joueurs seront blessés (pas les monstres donc).
Voilà maintenant vous savez tout ce qu'il faut pour gratiner le joueur !!!

Soigner

Entités concernées : item_healthkit, env_beverage, item_battery / func_healthcharger, func_recharge
Type d'entités : entités-point / entités-bloc
Difficulté : assez facile

Dans Half-Life, on ne fait pas que se blesser... heureusement ! On peut aussi soigner ses blessures, ou réparer sa combinaison de protection :)

Nous verrons d'abord comment ça fonctionne avec des entités-point, puis avec des entités-bloc.
Le fonctionnement est en effet totalement différent : les entités-point se ramassent et donnent instantanément quelques points de vie, tandis que les entités-bloc s'utilisent et remontent lentement la vie (mais on peut gagner plus de vie grâce à elles).


Trousse de secours



Image utilisateur
La trousse de secours se trouve au sol. Lorsque le joueur passe par là et la ramasse, il reprend instantanément 20 points de vie. Pratique, rapide et efficace :)

Le fonctionnement de cette entité-point est très simple : il vous suffit de poser un item_healthkit où vous le désirez dans votre map. Il est inutile d'éditer ses propriétés car elles sont inintéressantes.
Placer une telle entité ne prend donc que quelques secondes :)

La canette



Image utilisateur

Vous ne le saviez pas ? Une canette redonne 1 point de vie ! C'est pratique et sympa de se servir au distributeur de boissons pour remonter sa vie :)


Vous devez placer une entité-point env_beverage, généralement à côté d'un distributeur de boissons. Voilà comment ça fonctionne la plupart du temps :

Image utilisateur

J'ai placé un env_beverage là où les canettes sortent normalement. Le distributeur est un bouton qui, lorsqu'il est utilisé, appelle une canette.
Je vous recommande de cocher le flag "Touch Activates" du func_button : ainsi une canette sortira automatiquement lorsque le joueur s'approchera du distributeur.

Voici les 3 attributs disponibles pour cette entité :
  • Name : nom de l'entité. Il est important de lui donner un nom pour qu'on puisse faire apparaître une canette lorsqu'on le désire.
  • Capacity : nombre de canettes pouvant être générées. Par exemple, si vous mettez "20", le distributeur pourra sortir 20 canettes (20 points de vie), et après il sera hors-service.
  • Ce nombre est très important, car si vous ne précisez rien le joueur pourra remonter sa vie tant qu'il voudra jusqu'à 100% ! Vous ne voudriez quand même pas que ce soit aussi facile pour lui non ? ;)
  • Beverage Type : hi hi... Bon ok, ça sert à rien, c'est con, mais c'est amusant :) Vous pouvez définir ici le type de boisson qui va sortir du distrib' (choisissez votre marque préférée !).


Image utilisateur
Coca-Cola
Image utilisateur
Sprite
Image utilisateur
Diet Coke
Image utilisateur
Orange
Image utilisateur
Surge
Image utilisateur
Moxie


A noter que "Random" fait apparaître une canette différente à chaque fois au hasard.


La batterie



Image utilisateur

Elle recharge immédiatement votre armure de 15%. N'hésitez pas à en poser 2 ou 3, parce que 15% c'est peu...



Le fonctionnement reste strictement le même que pour la trousse de secours. Cette fois, c'est l'entité item_battery qu'il faut poser au sol. C'est tout !

Borne de secours



Image utilisateur

Ceci est une borne de secours. Le joueur doit s'approcher d'elle et laisser appuyée la touche "Utiliser" jusqu'à ce que la borne soit épuisée. Cette borne peut redonner au maximum 50 points de vie.



Il faut ici créer un bloc avec la texture +0MEDKIT, qui indique que la borne est en service. Lorsqu'elle sera épuisée, la borne aura automatiquement la texture +AMEDKIT (rappelez-vous le cours sur les textures !).

Transformez ensuite le bloc en entité-bloc func_healthcharger. C'est tout, il n'y a pas de propriétés intéressantes à éditer...
Ne vous prenez pas la tête à créer ce bloc : Worldcraft vous livre un prefab tout prêt à être inséré dans votre map !
Celui-ci se trouve dans la catégorie "Usable Objects" et s'appelle "medkit". C'est déjà une entité func_healthcharger, donc tout est prêt vous n'avez rien à toucher :o)


Borne de recharge



Image utilisateur


Voilà une borne de recharge pour votre armure.
Elle peut remonter de 30% votre armure.



La texture à employer ici est +0RECHARGE. De même, celle-ci se transformera en +ARECHARGE lorsqu'elle sera vide.

Il faut cette fois transformer le bloc en entité-bloc de type func_recharge, et vous avez tout bon ! :)
Cette fois encore, il existe un prefab tout prêt livré avec Worldcraft. Il se trouve dans la catégorie "Usable Objects" et s'appelle "recharger".

Du sang !

Entité concernée : env_blood
Type d'entité : entité-point
Difficulté : assez facile

Cette entité rentre parfaitement dans le thème des blessures. Et il faut dire que c'est assez sympa : elle permet de générer du sang dans votre map !

On l'utilisera par exemple dans une map solo, pour le scénario (si votre ami est en train de se faire massacrer par un alien par exemple). Mais on peut aussi générer ce sang à partir du joueur (lorsqu'il passe dans un trigger_hurt !).

Placez une entité-point env_blood à l'endroit désiré, et éditez ses propriétés :
  • Angle : la direction de l'entité est ici très importante. Servez-vous du radar en haut à droite pour indiquer dans quelle direction le sang doit partir.
  • Name : nom de l'entité. Important car cette entité est normalement déclenchée par un trigger...
  • Blood Color : couleur du sang. Bon je sais qu'on est censé avoir le sang rouge, mais n'oubliez pas que dans Half-Life il y a aussi des aliens !
    • Red (Human) : sang rouge, pour un humain.
    • Yellow (Alien) : sang jaune, pour un alien.
  • Amount of blood (damage to simulate) : quantité de sang. Plus la valeur est élevée, plus il y aura de sang (n'en faites pas trop sinon ça va devenir gore ;)
Les flags sont aussi importants que les attributs, alors ne les oubliez pas !
  • Random Direction : le sang partira dans une direction aléatoire. Dans ce cas, la valeur de l'"angle" est ignorée.
  • Blood Stream : envoit des particules de sang (c'est pas mal).
  • On Player : le sang proviendra du joueur et non pas de l'entité. Dans ce cas, la position de l'entité n'a plus aucun intérêt, puisque le sang vient du joueur...
  • Spray Decals : idéal et conseillé, ce flag permet de compléter l'effet en appliquant un decal de sang sur le mur. On s'y croirait presque lol :)
Ne passez pas à côté des flags de cette entité : ils sont très très importants !
Bien, maintenant vous pourrez générer du sang où vous semble comme bon vous semble... Y'a des entités sympas quand même dans Half-Life, vous trouvez pas ? ;)
Avec tout ça, vous allez pouvoir jongler avec la vie du joueur : un coup vous le blessez, un coup vous le soignez etc etc... Mmh, mais ne le prenez pas pour un Tamagoshi, parce qu'il risque de pas apprécier de voir qu'on joue impunément avec sa vie ;)
Chapitre précédent Sommaire Chapitre suivant

Partager

Il n'y a pas encore de commentaire pour ce tuto.