Ce cours est visible gratuitement en ligne.

J'ai tout compris !
[CS:S] Les armes

[CS:S] Les armes

Mis à jour le mercredi 30 octobre 2013
  • Moyen

Bonjour ! Vous avez envie de mettre des armes dans votre map ? Comment fait-on ? Vous êtes sur la bonne page ! ^^ Vous verrez, c'est super simple ! Vous êtes prêts ? On y va !

Poser des armes au sol

Alors, moi, j'ai créé une map de test donc on s'en fiche si c'est beau ou pas ! ^^ Pour mettre une arme, il suffit de mettre une des entités commençant par weapon_.

Dis, :euh: comment on identifie chaque arme ?

Euh, vous connaissez peut-être les noms « courts » d'armes sous CS:S, non ? Eh bien, c'est cela ! Je veux poser une jolie M4A1, eh bien j'insère un weapon_m4a1, tout simplement ! Dans la vue 3D, que vois-je ? Oh ! L'arme qui correspond à celle que je veux :

Image utilisateur

Ce n'est pas joli ! Je veux que mon arme soit posée n'importe comment, et non pas bien mise et droite en équilibre ! :colere2:

Bon, clic droit sur l'arme > Propriétés. Sélectionnez l'attribut Pich Yaw Roll et puis entrez les valeurs selon vos désirs :

Image utilisateur

Vous pouvez aussi sélectionner l'entité, cliquer une deuxième fois, et faire tourner selon les ronds, comme ceci :

Image utilisateur

La méthode la plus précise est bien évidemment avec l'attribut Picht Yaw Roll. Mais vous faites comme vous voulez ! ^^

Voilà ! Vous avez votre arme ! Vous êtes contents, vous compilez, vous lancez votre map, vous prenez l'arme. Que remarquez-vous ?

Image utilisateur

Oui ! Aucune munition ! Que faire ?

La solution face aux armes sans munitions

Il faut changer de FGD ! Prendre celui qui est modifié ! Où le trouver ? Baissez un peu les yeux ! :D

Page de téléchargement de cstrike-gflyer108b.zip

Prenez ce lien : Counter-Strike Source Entity Definition File 1.0.8b [cstrike-gflyer108b.zip] -- By Groundflyer/Raeven0.

Dézippez le fichier. Prenez le fichier .fgd et placez-le dans :

C:\Program Files\Steam\Steam Apps\votrecompte\sourcesdk\bin\ep1\bin

Dans Hammer, allez dans Tools > Options. Vous devriez avoir ceci :

Image utilisateur

Dans Game Data Files, sélectionnez le fichier, et cliquez sur Remove. Cliquez sur Add et prenez le fichier cstrike-gflyer108b.fgd. Maintenant, cliquez sur OK ! Et voilà ! Vous avez changé le FGD ! Et quand vous mettrez une arme, elle aura des balles !

Image utilisateur

Ce FGD vous ajoute également un certain nombre d'attributs, comme Additional Ammo, qui vous permet de choisir le nombre de chargeurs fournis avec l'arme, par défaut, le maximum.

L'autre méthode pour avoir ces attributs est de les ajouter, comme indiqué dans le tutoriel de Thunderseb concernant les armes sous Half-life 2: Deathmatch. Celle-ci est plus simple, mais la méthode de Thunderseb doit savoir être utilisée sous certains mods, comme Team Fortress 2 car certains attributs ne sont pas dans le FGD de base.

Poser des équipements au sol

C'est comme les armes, sauf que les entités commencent par item_.

Voici une petite liste exhaustive de tous les items dans CS:S :

  • item_assaultsuit : kevlar + casque ;

  • item_defuser : kit de désamorçage de bombe ;

  • item_kevlar : kevlar seul ;

  • item_nvgs : lunette nocturne ;

  • item_sodacan : une canette de soda. :D

Notez que certains items sont invisibles.

Equiper dès le début de la partie

Bien. Maintenant, vous voulez que tous les joueurs aient une arme précise dès le début du round. Placez l'entité game_player_equip et modifiez ses attributs.

Par exemple, voulez-vous donner un deagle au joueur ? Oui ? Allez dans Give Night Hawk .50 C et changez le No en Yes. Ensuite, allez dans Give .50 Action Express Ammo et choisissez le nombre de balles à donner.

Comment on fait pour savoir quelles munitions correspondent à quelles armes ?

C'est simple, prenez n'importe quelles munitions, et regardez l'encadré Help. S'il y a le nom de votre arme, c'est les munitions qui correspondent, sinon, c'est d'autres munitions ! ^^

Ah oui : n'oubliez jamais de vérifier que le flagUse only est décoché. Notez également qu'au début de chaque round, les armes possédées avant le début du round sont remplacées par celles sélectionnées dans le game_player_equip.

Image utilisateur

Retirer les armes du joueur

  1. Insérer une entité player_weaponstrip. Lui donner un nom (exemple : retirer_armes).

  2. Créer un trigger_once ou trigger_multiple.

  3. Créer des outputs du trigger_multiple au player_weaponstrip en suivant ce tableau (plusieurs possibilités vous sont offertes).

Via this input

Strip

Targets entities named

retirer_armes

My output named

OnTrigger/OnStartTouch/OnEndTouch

Donc, cela fera : quand le joueur traverse le trigger (avec OnTrigger), on lui retire les armes.

Remplacer les armes du joueur

Bon, là, si vous réfléchissez un peu, on met un game_player_equip, on choisit les armes à donner à la place, on lui donne un nom (exemple : donner_armes), on coche le flagUse Only et on utilise un trigger_once ou un trigger_multiple avec ces options :

Champs

player_weaponstrip

game_player_equip

My output named

OnStartTouch

OnEndTouch

Targets entities named

retirer_armes

donner_armes

Via this input

Strip

Use

Et voilà ! On peut lire ça comme cela : le joueur commence à toucher au trigger, ses armes sont retirées, il finit de toucher le trigger, il obtient ses armes.

Les distributeurs d'armes

Un distributeur d'armes ? C'est fun et original. L'avantage c'est que les armes sont « illimitées » ! Si vous posez une arme par terre, il n'y en aura qu'une, tandis qu'avec un distributeur, on appuie sur un bouton, et une arme est spawnée ! Pratique, n'est-ce pas ? ^^ Bon, voyons comment ça se monte, ce bazar.

Commencez par créer un distributeur, en blocs, ou avec un model.

N'oubliez pas d'y faire un trou (Carve c'est mal :diable: Clipping c'est bien :ange: ), ainsi qu'une « pente » à l'intérieur. Pour vous aider, regardez le schéma à la fin des explications ! ;)

C'est bon ? Placez le weapon_*** que vous voulez spawner dans le distributeur, ainsi qu'un point_template. Voilà, donnez un nom au weapon_ (exemple : awp), et dans les propriétés du point_template, tapez le nom du weapon_ dans Template 1. N'oubliez pas de donner un nom au template (ex. : template).

Il ne reste plus qu'à créer un output pour appeler le point_template ! Créez un bouton en blocs, ou insérez un model de bouton en plaçant devant un bloc avec la texture « tools/toolsinvisible », et transformez le(s) bloc(s) en func_button. Configurez un output comme ceci :

My output named

OnPressed

Targets entities named

template

Via this input

ForceSpawn

Terminé ! Vous avez votre distributeur ! Besoin d'aide ? Je vous ai fait un schéma. :) (Comme vous pouvez le constater, le graphisme n'est pas mon fort, mais Paint est utile pour mes tutos. :D )

Image utilisateur

Zone d'achat

Je vais vous montrer comment créer une zone d'achat (buyzone pour les intimes ^^ ).
Créez un bloc avec la texture tools/toolstrigger, puis, transformez-le en entité func_buyzone. Modifiez juste un attribut : Team, qui permet de choisir quelle équipe pourra acheter des armes dans la zone d'achat. Et c'est tout ! :)

Je mets à votre disposition une map si vous n'avez pas compris ce cours, faites-en bon usage !

sdk_weapons.vmf

Alors, heureux ? Vous êtes de véritables « boss » et vous pouvez mettre plein de zones d'achat (conseillé pour une bonne map) et plein d'armes (ce qui constitue une map moyennement bien, enfin, faites comme vous voulez) ! :)

À bientôt !

déroulement d'un cours

  • 1

    Dès aujourd'hui, vous avez accès au contenu pédagogique et aux exercices du cours.

  • 2

    Vous progressez dans le cours semaine par semaine. Une partie du cours correspond à une semaine de travail de votre part.

  • !

    Les exercices doivent être réalisés en une semaine. La date limite vous sera annoncée au démarrage de chaque nouvelle partie. Les exercices sont indispensables pour obtenir votre certification.

  • 3

    À l'issue du cours, vous recevrez vos résultats par e-mail. Votre certificat de réussite vous sera également transmis si vous êtes membre Premium et que vous avez au moins 70% de bonnes réponses.

L'auteur

Exemple de certificat de réussite
Exemple de certificat de réussite