[Plan du site]
Vous êtes ici ---
> Le Site du Zér0
> Les tutoriels
> Non-Officiels
> Mapping
> [HL2] Autres mods
> Lecture du tutoriel
[CS:S] Les armes
Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
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êt ? 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, ben 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'environs 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, clique-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 plus précise des méthode étant celle du
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 ! Aucune balle de rechange

! 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 |
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 ! C'est la fête !
C'est comme les armes, sauf que les entités commencent par
item_.
Voilà une petite liste exhaustive de tous les item dans CS:S :
- item_assaultsuit : kevlar + casque (à confirmer)
- item_defuser : kit de désammorçage de bombe
- item_kevlar : kevlar seul (à confirmer)
- item_nvgs : lunette nocturne
- item_sodacan : une canette de soda
(il semblerait qu'elle redonne 1hp, à vérifier)
Sachez 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 ? C'est diaboliquement simple ! Placez l'entité
game_player_equip et modifiez ses Propriétés.
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 le
Help. Si il y a votre arme, c'est les munitions qui correspondent, sinon, c'est des autres munitions

!
Ah oui : n'oubliez jamais de vérifier que le flag
Use only est décoché. De plus, au début de chaque round, vos armes 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 :
| Via this input |
Use |
| Target entities named |
donner_armes |
| My output named |
OnTrigger/OnStartTouch/OnEndTouch |
Vous compilez, puis testez. Surprise ! Les armes ne sont pas remplacées ! Elles sont juste envoyées par terre.
Que faire ?

Réfléchissez. Si je vous dit de lui
retirer ses armes et ensuite de
lui en redonner. Aha ! Ca vous aide, non

? Donc, vous devez configurer 2 outputs comme ceci :
| Use |
| Via this input |
Strip |
| donner_armes |
| Target entities named |
retirer_armes |
| OnEndTouch |
| My output named |
OnStartTouch |
Et voilà ! Vous aurez vos armes toutes belles !
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 aidez, 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 appeller 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 met à 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 !