Aller au contenu


Pnj En Fuite


  • Veuillez vous connecter pour répondre
9 réponses à ce sujet

#1 lnari

lnari

    Chocapic Cortexicus


Posté 07 juillet 2007 - 00:12

Bonsoir.

J'en arrive à ma toute dernière question. Je les avais regroupées, d'où le "flood" de questions ces temps ci... Après je me calme ! :rolleyes:

Bon, cette fois, je veux mettre des PNJs en fuite. Je pensais que la valeur Flee d'AI me suffirait. Je mets donc Flee à 100, le reste à 0. Mon souci, c'est que le PNJ est de base neutre (alors que j'aimerais qu'il fuie à notre approche), et si je tape dessus... il se défend !

Est ce que c'est impossible d'animer un PNJ en fuite à notre approche (je ne vois pas de commande directe), avec du genre un GetDistance Player et un petit script..? Ou est ce que je rêve et que je pourrais pas faire ça ? Sinon, peut être un truc qui s'en approche.

#2 Nasredin

Nasredin

Posté 07 juillet 2007 - 13:24

Voir le messageSouris Cornue, le 07.07.2007 à 00:12, dit :

Bonsoir.

J'en arrive à ma toute dernière question. Je les avais regroupées, d'où le "flood" de questions ces temps ci... Après je me calme ! :huhu:

Bon, cette fois, je veux mettre des PNJs en fuite. Je pensais que la valeur Flee d'AI me suffirait. Je mets donc Flee à 100, le reste à 0. Mon souci, c'est que le PNJ est de base neutre (alors que j'aimerais qu'il fuie à notre approche), et si je tape dessus... il se défend !

Est ce que c'est impossible d'animer un PNJ en fuite à notre approche (je ne vois pas de commande directe), avec du genre un GetDistance Player et un petit script..? Ou est ce que je rêve et que je pourrais pas faire ça ? Sinon, peut être un truc qui s'en approche.


Je suis plus tout à fait sur mais il me semble que pour les cerfs entre autre l'astuce consiste à mettre leur agressivité ainsi que leur flee à 100 de cette manière tu a l'impression qu'il fuie direct sans qu'il s ne t'attaquent vraiment. à vérifier sur un cerfs dans le tesc...

#3 lnari

lnari

    Chocapic Cortexicus


Posté 07 juillet 2007 - 13:47

Les cerfs ? Tu penses au mod des orignaux de Bloodmoon ? Ou autre chose ?

Merci en tous cas, je vais tester ça. :huhu:

#4 Arkhiel

Arkhiel

Posté 08 juillet 2007 - 15:44

A noter que la fuite dans morrowind est loin d'être une réussite malheuresement. J'avais tenté le coup il y a quelque temps en testant sur un modèle de cerf (ou original?), et malgré l'aggressivité et la valeur de fuite à 100, c'était pas super réaliste. Le problème est que le fuyard a tendance à attendre que tu lui colle au derrière pour se décider à fuir, et il s'arrète dès que tu as 1m50 de distance entre toi et lui...  :assassin: ...
(\__/)
(+'.'+) Copie et colle le lapin dans ta signature pour l'aider a envahir le monde

#5 lnari

lnari

    Chocapic Cortexicus


Posté 08 juillet 2007 - 15:46

C'est problématique. Parce ce que je tiens à faire qu'une armée (enfin, 10-15 types) soit mise en fuite au moment de la mort de leur leader... Guère réalisable.

#6 Timalk-Ae

Timalk-Ae

    PoneyMaster !


Posté 08 juillet 2007 - 16:02

Question peut-être bête :
Ne peux-tu pas simuler la fuite en les faisant se déplacer vers une autre cell ou un truck du genre ?

Je n'y connais rien, strictement rien en AI, mais personnellement j'aurais essayé de procéder comme ça.

PS : :assassin:

#7 lnari

lnari

    Chocapic Cortexicus


Posté 08 juillet 2007 - 16:07

Avec un bête Travel, pourquoi pas. :assassin:

Mais faudrait les forcer à courir, ceci dit je crois que la commande existe pour ça.

Edit : Oui, ForceRun.

Je vais faire comme ça sûrement, même si ça va être problématique au niveau des collisions, ou alors de la fin du Travel (c'est en intérieur, donc limité).

Modifié par Souris Cornue, 08 juillet 2007 - 16:10.


#8 abg

abg

    L'ABG pour les civilisés


Posté 01 septembre 2007 - 10:19

Voir le messageArkhiel, le 08.07.2007 à 15:44, dit :

A noter que la fuite dans morrowind est loin d'être une réussite malheuresement. J'avais tenté le coup il y a quelque temps en testant sur un modèle de cerf (ou original?), et malgré l'aggressivité et la valeur de fuite à 100, c'était pas super réaliste. Le problème est que le fuyard a tendance à attendre que tu lui colle au derrière pour se décider à fuir, et il s'arrète dès que tu as 1m50 de distance entre toi et lui...  :coeur: ...
En fait ça devrait fonctionner... s'il y avait des pathgrids partout. Quand il n'y a pas de pathgrid (et Bethesda n'en a mis qu'en ville et en intérieur), on obtient le comportement que tu décris effectivement. En ville l'AI de fuite est déjà plus efficace (même si c'est pas miraculeux non plus). Il y a aussi quelques GMST qui influent sur la fuite (voir dans le MSD)...
Antoninus Bibulus Glaber
Coaching de PNJs chez Morrowind Renaissance

#9 Cogite Stibon

Cogite Stibon

    Théoriquement moddeur


Posté 02 septembre 2007 - 09:25

Bonjour,

Si ça peut aider, voilà le script que j'utilise pour faire fuir des PNJ quand le joueur passe prés d'eux. Je le déclenche à l'aide du résultat d'un "Hello".

begin COG_SKIPPU_fuite

float timer 
short doonce
short monfight
short monflee

if ( menumode )
	return
endif

if ( doonce == 0 )
	set monfight to getfight
	 set monflee to getflee
	 setflee 100
	setfight 100
	set doonce to 1
	 return
endif


if ( doonce == 1 )
	set timer to timer + getsecondspassed
	if ( timer >= 3 )
		stopcombat
		setflee monflee
		setfight monfight
		  set doonce to 0
		set timer to 0
	 	stopscript COG_SKIPPU_fuite
	endif
endif

end COG_SKIPPU_fuite
L'intérêt est qu'il marche avec tous les PNJ du jeu, sans les modifier. Par contre il a un bug que je n'ai pas encore résolu : dans certains cas, les PNJ attaquent avec des sorts à distance au lieu de s'enfuir.

Cogite

Tout droit vers le non-linéaire !
It's not the engine, it's the writing.
HERMA MORA ALTADOON AE


#10 abg

abg

    L'ABG pour les civilisés


Posté 02 septembre 2007 - 09:54

Voir le messageCogite Stibon, le 02.09.2007 à 09:25, dit :

Bonjour,

Si ça peut aider, voilà le script que j'utilise pour faire fuir des PNJ quand le joueur passe prés d'eux. Je le déclenche à l'aide du résultat d'un "Hello".

Bonjour,

Habile  :wink: On oublie trop souvent les possibilités infinies qu'offrent les results de "voice"...

Pas de probléme de stabilité (j'ai le vague souvenir de CDT en série un jour que j'essayais de bidouiller un script avec des setfight/setflee sur un PNJ ) ?
Pour le problème des sorts j'ai déjà vu ça aussi :
à essayer :
Mettre la Magicka à 0 en même temps que le setflee 100, setfight 100 (et la restaurer en même temps que le reste à l'expiration du timer bien entendu)
Autre petit probléme possible : si le joueur sauvegarde/recharge sa partie en cours d'exécution du script, le PNJ ne sera pas correctement restauré à l'expiration du timer (problème connu des "targeted scripts" qui perdent leur cible dans ces conditions)
Antoninus Bibulus Glaber
Coaching de PNJs chez Morrowind Renaissance




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)