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)
Pour créer une mitrailleuse il nous faut:
- du courage et de l'aspirine
- un support sur lequel poser la mitrailleuse
- le modèle animé de la mitrailleuse
- un bloc func_tank
- un bloc trigger_multiple
- un info_target pour les NPC
- un autre bloc trigger_multiple qui sera utilisé en option
Tout d'abord le support:
Je vous recommande de prendre un
prop_static et de lui attribuer le modèle de barrière des combines:
models/props_combine/combine_barricade_short01a.mdl
Pour des raisons de lisibilité sur les images je n'ai pris qu'un bloc simple au lieu du modèle mais vous pouvez prendre n'importe quel support pour la mitrailleuse.
Pour le modèle animé de l'arme:
Il faut utiliser un
prop_dynamic et lui attribuer le modèle de mitrailleuse :
models/props_combine/bunker_gun01.mdl et le placer sur le support à environ 40 unités du sol.
La hauteur doit être comprise entre 32 et 48 sinon les NPC ne pourront pas l'utiliser.
Pour le
func_tank:
Créez un bloc de 16 unités de côté et utilisez de préférence la texture
tools/toolsinvisible.
Comme un dessin vaut mieux qu'un long discours (je suis surtout un gros paresseux

), placer votre
func_tank comme sur le dessin qui suit:
Son rôle est primordial: lorsque le joueur voit la mitrailleuse, il se met en position pour tirer et utilise la touche "utiliser", il va ainsi activer le
func_tank qui est en fait la commande de la mitrailleuse.
Ensuite il faut créer un
trigger_multiple et le placer juste derrière la mitrailleuse ainsi qu'un
info_target sur le sol, celui-ci indique au NPC un endroit spécial où il doit se rendre pour utiliser la mitrailleuse.
On a fini de placer les entités, il suffit juste maintenant d'éditer leurs propriétés

.
Il y un bon paquet de propriétés à éditer:
Pour le modèle de la mitrailleuse:
Dans le premier onglet en partant de la gauche:
Class Info
Code : Autre1
2
3
| Name: tourelle1_model
Default Animation: idle_inactive |
Passons maintenant au
func_tank:
Toujours dans l'onglet
Class Info:
Les proriétés de base :
- le nom
- le nom du prop_dynamic de la mitrailleuse
- le nom du trigger_multiple utilisé pour entendre le son de la mtrailleuse
- le nom du target_info
Code : Autre1
2
3
4
5
6
7
| Name: tourelle1
Parent: tourelle1_model
Control Volume: tourelle1_control_volume
NPC Man Point: tourelle1_place |
Les propriétés pour le combat:
- la cadence de tir
- les dégats
- la précision
- la distance maximale de tir
- les munitions (-1 pour illimitées)
- l'effet de l'arme
- le type de munition tirée
Code : Autre1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| Rate of Fire: 15
Damage Per Bullet: 26
Damage Per Bullet Vs Player: 5
Bullet Accurary: "au choix"
Maximum target range: 1650
Ammunition Count: -1
Effect Handing: AR2
Ammo Type: AR2 |
Ensuite il faut rentrer une clef manuellement, pour cela on va utiliser la commande
SmartEdit:
Cliquez sur Add et rentrez les valeurs suivantes:
- Dans la case Key : bullet
- Dans la case Value : 3 (pour le type de projectile envoyé)
Ensuite ces propriétés sont plus compliquées:
Les propriétés de déplacement latéral:
Code : Autre1
2
3
4
5
| Yaw Rate:200
Yaw Range: 60
Yaw Tolerance: 15 |
Les propriétés de déplacement vertical:
Code : Autre1
2
3
4
5
| Pitch Rate: 120
Pitch Range: 80
Pitch Tolerance: 15 |
Les propriétés du canon:
Code : Autre1
2
3
4
5
| Barrel Length: 31
Barrel Horizontal: 0
Barrel Vertical 8 |
Et enfin quelques propriétés indispensables au fonctionnement de l'arme

:
Code : Autre1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| Gun Base Attachment: aimrotation
Gun Barrel Attachment: muzzle
Gun Yaw Pose Param: aim_yaw
Gun Pitch Pose Param: aim_pitch
Gun Pitch Pose Center: 7.5
Firing Persitence: 3
Ignore Grace Upto: 768
Player Lock Time: 1.5 |
Tiens il y a moins de monde tout d'un coup

.
Passons maintenant à l'édition des
Outputs, qui permettent d'envoyer des instructions à d'autres entités.
Tout d'abord un petit screenshot pour vous montrer à quoi ça ressemble:
Pour ajouter une nouvelle d'instruction, cliquez sur
Add puis remplissez les différentes cases avec les instructions présentes dans le cadre suivant de la manière suivante:
Code : Autre1
| My output name / Targets entites named / Via this input / With a parameter override of/ After a delay in seconds |
C'est long à remplir

mais ca vaut le coup.
Code : Autre1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| OnFire / tourelle1_model / SetAnimation / fire / 0.00
OnGotController / tourelle1_model / SetAnimation / activate / 0.00
OnGotController / tourelle1_model / SetDefaultAnimation / idle / 0.10
OnGotPlayerController / tourelle1_model / SetAnimation / activate / 0.00
OnGotPlayerController / tourelle1 / SetDamage / 15
OnGotPlayerController / tourelle1_model / SetDefaultAnimation / idle / 0.10
OnLostController / tourelle1_model / SetAnimation / retract / 0.00
OnLostController / tourelle1_model / SetDefaultAnimation / idleinactive / 0.10
OnLostPlayerController / tourelle1_model / SetAnimation / retract / 0.00
OnLostPlayerController / tourelle1l / SetDamage / 26 / 0.00
OnLostPlayerController / tourelle1_model / SetDefaultAnimation / idleinactive / 0.10 |
Alors là il y a plus personne
Il nous reste plus (pour cette entités) qu'a cocher quelques cases dans l'onglet
Flags:
Code : Autre1
2
3
4
5
6
7
| Aiming Assistance
Active
NPC Controllable
Controllable |
Maintenant le
trigger_multiple utilisé pour entendre le son de la mitrailleuse quand on tire:
Dans l'onglet
Class Info
Code : Autre1
| Name: tourelle1_control_volume |
Et dans l'onglet
Flags:
Code : Autre
Ensuite le
info_target
Dans l'onglet
Class Info
Code : Autre
A ce niveau la mitrailleuse est parfaitement utilisable par le joueur et par les NPC, mais il y a un probleme: Le combine ne lâche plus la mitrailleuse même si on est juste derrière elle.
On va donc créer un
trigger_multiple et on le placera de façon à ce que lorsque le joueur arrive près du combine, celui-ci lâche la mitrailleuse pour vous tirer dessus avec son arme

.
Dans l'onglet
Outputs:
Code : Autre1
| OnStartTouch / tourelle1 / ForceNPCOff / 0.00 |
Et voilà c'est fini, y'a plus qu'à appuyer sur le bouton et tirer (ou se faire tirer dessus).