Natives peds
La plupart des mécaniques GTA tiennent en une ligne de code. Le dur, ce sont les acteurs qui se comportent mal — qui s'arrêtent pour fumer en pleine scène, se font renverser pendant qu'on scripte une arrestation, ou prennent la fuite. Voici les natives qui reviennent encore et encore dans le code de mods pour garder les acteurs d'une scène sous contrôle.
Faire d'un ped un vrai personnage
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(ped, true) dit au jeu de ne pas interrompre le ped avec des réactions ambiantes — il ne s'arrêtera pas d'avancer pour admirer une bagarre ni ne fuira une scuffle déclenchée par votre script.
Quand en avoir besoin : tout moment chorégraphié où le ped doit obéir à votre file de tâches et à rien d'autre : traîner un corps, tenir une position pendant la mise en place de la scène, escorter un suspect. C'est la native la plus fréquente du code de mods réel, et pour cause — sans elle, chaque scène est un tirage à pile ou face.
Function.Call(Hash.SET_BLOCKING_OF_NON_TEMPORARY_EVENTS, ped.Handle, true);
Function.Call(Hash.SET_PED_KEEP_TASK, ped.Handle, true);
SET_PED_KEEP_TASK(ped, true) est la seconde moitié : une fois la scène terminée, remettez les deux à faux, sinon le ped reste figé pour toujours.
Les flags de configuration
SET_PED_CONFIG_FLAG(ped, flagId, value) active ou désactive des dizaines de comportements intégrés. Les vrais projets l'utilisent massivement — par exemple pour donner à un ped une précision parfaite, le rendre insensible aux attaques ou le garder tourné vers le joueur.
Quand en avoir besoin : les flags « couper les comportements superflus » (comme déjouer les attaques longue portée ou être ciblable) et « verrouiller le ped dans sa tâche ». Chaque flag doit avoir une raison — ne basculez pas de flags au hasard.
Santé, blessures et le sol
SET_PED_HEALTH, ADD_ARMOUR_TO_PED et SET_PED_CAN_RAGDOLL gèrent la survie ; SET_PED_TO_RAGDOLL(ped, time1, time2, ragdollType, ...) déclenche un effondrement scripté.
Quand en avoir besoin : au moment où une scène bascule au mauvais endroit dans les dégâts. Un suspect qu'on veut menotter mais pas tuer a besoin de santé bornée et de ragdoll contrôlé ; un takedown nécessite une vraie chute, pas une téléportation au sol. Vérifiez IS_PED_RAGDOLL(ped) avant d'empiler des tâches sur un tas de membres.
Function.Call(Hash.SET_PED_TO_RAGDOLL, player.Handle, 1000, 1000, 0, false, false, false);
Les vérifications avant d'agir
GET_PED_TYPE(ped), IS_PED_HUMAN(ped), IS_PED_GETTING_UP(ped) décident si vous avez le droit d'agir.
Quand en avoir besoin : garder votre propre chorégraphie. Vous ne pouvez pas escorter un ped en train de se relever d'un takedown, et vous ne devriez pas engager une conversation avec un ped policier. Chaque machine d'état réelle conditionne son prochain état à ce que le ped fait réellement — jamais à une supposition.
Ce qu'il ne faut pas faire
Les mission peds (SET_ENTITY_AS_MISSION_ENTITY — traité dans sa propre fiche) sont puissants mais « collants » : il faut les libérer explicitement, sinon votre scène fuit des peds dans le monde. Et ne touchez jamais à des peds que vous n'avez pas spawnés ou revendiqués — l'acteur d'un autre mod est le problème d'un autre mod.