[CS:S] Les armes
Bonjour ! Vous avez envie de mettre des armes dans votre map ? Comment on fait ? Vous êtes sur la bonne page

! Vous verrez, c'est super simple ! Vous êtes prêts ? On y va !
Alors, moi, j'ai créé une map de test donc on s'en fiche si c'est beau ou pas

! Donc, pour mettre une arme, il suffit de mettre une des entités commençant par
weapon_.
Dis,

comment on identifie chaque arme ?
Euh, vous connaissez peut-être les noms "courts" d'armes sous CS:S non ? Et bien, c'est cela ! J'veux poser une jolie M4A1, et 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 :
N'oubliez jamais de surélever d'environ 8 unités votre arme, sinon, il pourrait y avoir des bugs !
C'est pas joli ! Je veux que mon arme soit posée n'importe comment, et non pas bien mise et droite en équilibre

!
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 :
Vous pouvez aussi sélectionner l'entité, cliquer une deuxième fois, et faire tourner selon les ronds, comme ceci :
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 content, vous compilez, vous lancez votre map, vous prenez l'arme. Que remarquez-vous ?
Oui ! Auncune munition ! Que faire ?
Il faut changer de FGD ! Prendre celui qui est modifié ! Où le trouver ? Baissez un peu les yeux

!
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 :
Code : Autre1
| C:\Program Files\Steam\Steam Apps\votrecompte\sourcesdk\bin\ep1\bin |
Dans Hammer, allez dans
Tools > Options. Vous devez avoir ceci :
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 !
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.
C'est comme les armes, sauf que les entités commencent par
item_.
Voilà 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
Notez que certains items sont invisibles.
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. Si 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 flag
Use 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.
- Insérer une entité player_weaponstrip. Lui donner un nom (exemple: retirer_armes)
- Créer un trigger_once ou trigger_multiple
- Créer des Output 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.
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 Flag
Use 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 |
| Target 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.
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 bloc, ou avec un models.
Je vous conseille de créer en blocs. En effet, les models ont des trous si petits qu'une grenade passe tout juste !
N'oubliez pas d'y faire un trou (Carve c'est mal

Clipping c'est bien

), 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).
Vous pouvez spawner plusieurs armes en même temps ! Il suffit de créer les armes correspondantes, puis d'écrire leur nom dans chacun des Templates !
Il ne reste plus qu'à créer un output pour appeler le
point_template ! Créez un bouton en bloc, 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

) :
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 !
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) !

A bientôt !
Informations sur le tutoriel
Retour en haut
Créé : Le 05/05/2007 à 15:38:14
Modifié : Le 15/04/2009 à 09:59:33
Avancement : 100%
Licence : Copie non autorisée
7 commentaires