Natives armes
Les natives d'armes font la différence entre « un ped qui semble armé » et « un ped qui est une menace ». La vérité récurrente du code réel : donner est bon marché, lire est la compétence, retirer est du timing dramatique.
Armer un ped
GIVE_WEAPON_TO_PED(ped, weaponHash, ammo, hidden, equipNow) — les deux derniers booléens comptent :
hidden = false: l'arme est dans l'étui et visible sur le modèle.equipNow = true: le ped la dégaine immédiatement.
Quand en avoir besoin : les moments à poids — le malfrat qui doit déjà tenir son pistolet avant de parler, l'escouade ennemie qui doit être visiblement armée dès la première frame. Les munitions font partie de la déclaration : les vraies scènes donnent des chargeurs exacts (12, 60, 99), pas des abstractions.
Function.Call(Hash.GIVE_WEAPON_TO_PED, ped.Handle, (uint)WeaponHash.MicroSMG, 99, false, true);
Function.Call(Hash.SET_PED_CAN_SWITCH_WEAPON, ped.Handle, false);
SET_PED_CAN_SWITCH_WEAPON(ped, bool) verrouille le ped sur l'arme que vous avez choisie — combinez-le avec equipNow pour les scènes où une silhouette définie compte (un flic au taser, un sniper sur le toit).
Lire l'équipement
GET_SELECTED_PED_WEAPON(ped) retourne l'arme du slot actif (même rangée) ; HAS_PED_GOT_WEAPON(ped, weaponHash, bool) répond à « est-ce qu'il l'a sur lui, quelque part ».
Quand en avoir besoin : de la décision, pas de la décoration. Le code réel lit ça à chaque fois qu'il doit brancher : le mod qui vérifie qui dans une foule est réellement porteur, l'officier qui décide si une menace discrète est réelle, la logique de loot qui enregistre ce qu'un corps laisse tomber. Un commentaire dans la source d'un mod connu résume tout : on veut ce que le ped porte, pas ce qu'il a dans la main.
Désarmer
REMOVE_ALL_PED_WEAPONS(ped, bool) retire tout ; aucune suppression par-arme que les vraies scènes préfèrent.
Quand en avoir besoin : la reddition, le menottage, la confiscation. Le code de détention réel fait marcher le suspect jusqu'à la ligne exacte — retirez les armes après qu'il soit à portée, jamais avant que l'arrestation tombe, pour que la menace reste crédible jusqu'au moment où elle meurt. Désarmer le joueur en pleine détention est le même motif vu de l'autre côté.
Ce qu'il ne faut pas faire
- N'armez pas les peds à la main si la scène n'est pas arrivée au bon moment — une menace à l'étui est plus crédible qu'un pistolet qui regarde.
- Ne confondez pas
SET_CURRENT_PED_WEAPON(sélectionner le slot) etGET_SELECTED_PED_WEAPON(lire le slot) ; le vrai noyau des échanges d'armes, c'est lire avant d'écrire. - Ne donnez jamais d'arme à un ped que vous ne possédez pas pour la scène ; vous modifiez l'acteur d'un autre mod.