Il est sûr d'une chose : Les joueurs n'ont pas d'évènement "OnPhysicalAttacked", comme celui existant sur les PNJs ou la plupart des objets en général. L'efficacité réelle d'une détection de points de vie est donc fortement aléatoire. L'évènement "OnHeartBeat" agit toutes les 6 secondes, le joueur peut prendre un coup fatal entre deux activations de cet évènement.
Tu peux éventuellement utiliser une peau spéciale que tu équipes aux joueurs, en lui rajoutant une propriété "OnHit", via le très connu système "TagBased Script". Mais là aussi c'est du domaine de l'aléatoire, et il est difficile ou impossible (à ma connaissance) de détecter un état de santé sans passer par des moyens détournés. Tu devras donc te baser sur le pourcentage de points de vie restants, la commande existant dans l'éditeur, pour définir si un personnage est agonisant ou pas. Mais là aussi, un coup critique peut éventuellement faire passer le joueur de "sérieusement blessé" à "agonisant".
Le moyen le plus sûr, je pense, est de définir au moment de la mort du joueur, via l'évènement "OnPlayerDying", quel est le PNJ qui l'a tué, si ce PNJ était l'adversaire d'un duel, et utiliser un rappel à la vie si ces conditions sont remplies.
Voila voila.
|