OnPlayerDying

Répondre
Partager Rechercher
Depuis la version 1.30, les monstres ne regardent plus stupidement leur victime récupérer en attendant qu'elle revienne les occire, et c'est tant mieux.

Par contre du coup, tous ces scripts de récupération ne sont plus très utiles. Si tu veux donner une chance au PJ qui se la joue solo de revivre sur place, il te faut contourner le problème en supprimant, par exemple, les spawns qui l'ont vaincu. Ca va se gérer dans le OnPlayerDying() en scrutant toute la zone et en les supprimant ou en baissant l'IA des monstres au niveau de celle d'un légume. A toi de voir si ces choix t'intéressent.
Ou peut être en les faisant s'éloigner du PJ une fois qu'il agonise. Il me semble qu'il y a une fonction qui permet de faire ça. Je crois qu'on peut s'en servir pour faire fuir des animaux sauvages.

Voilà, je l'ai trouvé sur le Lexicon :

Code PHP:

    void ActionMoveAwayFromLocation(
    
location locMoveAwayFrom,
    
int bRun FALSE,
    
float fMoveAwayRange 40.0f
); 
A voir si ça fonctionne en combat (au pire tu passes un coup de ClearAllActions avant).
Je crois que le monstre considère un cadavre ayant 0 points de vie ou moins, comme inintéressant s'il s'est arrêté de le taper pour une raison ou une autre. Un ClearAllActions() avant de le faire partir pourrait résoudre ce problème.

Cependant, un joueur agonisant en dessous de 0 points de vie, qui n'en perd ni n'en regagne, se verrait condamné à agoniser un très long moment. Mais alors... très long. Il faut donc lui mettre le panneau de mort, au moment de son décès théorique, c'est à dire 0 points de vie, soit dans le OnPlayerDying. Si le joueur se sent d'attendre une après-midi qu'un autre joueur vienne le rez, il ne pourra s'en prendre qu'à lui-même.
Citation :
Publié par Garrath
A mon avis cela ne suffira pas...
Il faut aussi rendre la creature neutre vis a vis du mourant... sinon son IA le fera reattaquer...
En modifiant le fMoveAwayRange, on doit pouvoir le faire s'éloigner suffisamment pour qu'il sorte du range de perception (bon bien sûr, si on est dans un espace clos, de faible surface, ça ne fonctionnera pas ), il y a peut être moyen de l'empêcher de ré-attaquer.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés