Aller au contenu


[resolu] Quête D'infiltration


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

#1 lnari

lnari

    Chocapic Cortexicus


Posté 03 juillet 2007 - 12:21

Bonjour à tous.

Je viens demander conseil à propos de la réalisation d'une quête d'infiltration pour Rahj II qui me dépasse... C'est à la fois TESCS & scripts, j'ai posté ici... Bref.

La quête consiste à traverser une grotte en 3 zones, lesquelles contiennent chacune 3 PNJs hostiles. Jusque là, ça va. Déjà, une complication vient du fait qu'on est accompagné par un PNJ. Lui est placé constamment en ForceSneak avec 80 en discrétion.

Mon souci, c'est que malgré ça, mon PNJ allié se fait automatiquement détecter (pourtant j'ai aussi 80 en discrétion pour le test). Je fais à la console un GetDetected player et un GetDetected ID_PNJ_allié sur l'ennemi qui vient de crier au loup, je suis à 0 et lui 1. Y'a t-il un souci particulier dans la détection des PNJs entre eux ? Une question de niveau ? Je ne comprends pas vraiment... En fait, mon PNJ allié est GetDetected en même temps que GetLOS... :rolleyes:

Bon, du coup, comme mon allié se fait systématiquement remarquer, je dois gérer les ennemis. Je les mets donc à 0 de Wander et hors GetLOS. Mais là c'est plus très drôle, ça passe tout seul. Et Wander est trop aléatoire. Peut on définir une patrouille circulaire qui se répète indéfiniment à l'aide de Travel ? Si oui, uniquement en script ? Le script des PNJs détecteurs est déjà bien chargé... :

Spoiler

Je ne me suis jamais servi d'AiTravel à vrai dire. Ca rendrait la quête intéressante en forcant le joueur à être observateur si on pouvait définir des patrouilles.

Parce qu'actuellement, ma seule solution est d'arrêter le GetDetected depuis les PNJs ennemis sur l'allié, ce qui est d'un coup beaucoup moins RolePlay... :shocked:

Merci de toutes vos idées éventuelles en tous cas ! :cool2:

Modifié par Souris Cornue, 07 juillet 2007 - 01:57.


#2 Nerwal

Nerwal

    SAMU Kalendaarien


Posté 03 juillet 2007 - 12:48

Bonjour

Citation

Mon souci, c'est que malgré ça, mon PNJ allié se fait automatiquement détecter (pourtant j'ai aussi 80 en discrétion pour le test).

Et en invisibilité ou caméléon 100% ?

Citation

Peut on définir une patrouille circulaire qui se répète indéfiniment à l'aide de Travel ? Si oui, uniquement en script ?

Oui et oui.
Avec AItravel en faisant des tests sur GetAIpackageDone on peut définir un parcours à effectuer (AItravel marche aussi bien en extérieur qu'en intérieur)

Si le parcours est simple (par exemple un carré sans obstacle), alors cela suffira en définissant plusieurs étapes successives (dans le cas du carré 4 lignes droites)
Dès que le parcours est fait de courbes, s'il y a des murs, etc. la constitution d'un pathgrid s'impose. Avec un bon pathgrid, on n'est plus obligé de se limiter à de courts trajets en ligne droites pour les AItravel : le PNJ se rend toujours à l'endroit désiré en suivant les lignes du pathgrid (en AIwander, il suit aussi les lignes de pathgrid dans la limite du rayon imposé par l'onglet AI), pourvu qu'il y ait un réseau de pathgrid reliant l'origine et l'arrivée (typiquement, un couloir coudé)
Autre point intéressant (et casse-pied, aussi),  s'ils ont le choix, les PNJs choississent toujours entre deux points de pathgrid possibles celui qui a été posé en premier.

PS : dès qu'on commence à faire de l'AI, 58 lignes c'est pas un script chargé  :rolleyes: .

#3 lnari

lnari

    Chocapic Cortexicus


Posté 05 juillet 2007 - 20:57

Merci pour ta réponse !

Bon, pour le PNJ allié, j'ai arrêté les GetDetected sur lui. Même avec 1000 en Discrétion, il est GetDetected en même temps que GetLOS. D'un côté, ça me surprendrait pas de la logique TES que l'IA s'autodétecte systématiquement.

Donc, plus de test sur le PNJ allié, et comme faire patrouiller 9 PNJs dans une grotte ne me tentait que peu, j'ai mis un simple Package Wander avec une courte durée pour forcer les PNJs au mouvement fréquent. J'avais peur que les Package Travel deviennent sacrément lours à gérer. Ainsi, la quête est aléatoire et toujours nouvelle, même si moins méthodique qu'avec du Travel, elle est plus "au feeling". Et puis ce sont quand même de "rats" dont il s'agit, depuis quand des rats font des patrouilles organisées !?

Sur ce bonne soi... nuit.

________________________________________

Bonsoir à tous.

Bon, j'ai encore un souci avec ça.

J'ai arrêté de tester la détection du PNJ allié par les PNJs ennemis. Mais comme ils le repèrent malgré tout, ils l'attaquent, et du coup ils me détectent. Ai je un quelconque moyen de rendre les ennemis neutres vis à vis de mon PNJ ?

Je pensais à :

If ( GetTarget ID_allié == 1 )
StopCombat ID_allié
Endif

Comment puis je gérer ça ? :green:

Modifié par Souris Cornue, 05 juillet 2007 - 20:57.


#4 Orann

Orann

    Nérévarine de Pertevue


Posté 05 juillet 2007 - 22:06

Ca marche le dernier code que tu postes? Car sinon, tu pourrais rajouter une condition supplémentaire pour empécher cette boucle à partir du moment où le joueur, lui, est détecté...  :blush:

Sinon, ton script pour la détection ou pas du joueur m'interesse beaucoup car j'ai moi aussi une quête de ce genre... Et j'avoue que le résultat de mon côté tiens du bricolage infâme qui empêche toute originalité dans les évènements et le parcours...  :green:
Palme d'honneur 2010 pour le mod Archipel de Pertevue

Entamez votre voyage vers l'Archipel de Pertevue ! Test communautaire en cours.

#5 Nerwal

Nerwal

    SAMU Kalendaarien


Posté 05 juillet 2007 - 22:17

Bonsoir

N'est-ce pas plus simple de mettre les ennemis neutres de base, et de les scripter pour s'énerver lorsqu'ils détectent le PJ ?

#6 lnari

lnari

    Chocapic Cortexicus


Posté 05 juillet 2007 - 22:25

Voir le messageNerwal, le 05.07.2007 à 23:17, dit :

N'est-ce pas plus simple de mettre les ennemis neutres de base, et de les scripter pour s'énerver lorsqu'ils détectent le PJ ?

Forcément, c'est mieux quand on réfléchit... Idée géniale, chapeau, et merci encore. :green:

Désolé pour avoir posté alors qu'il y avait une solution si simple. :blush:

Orann, n'hésite pas à me contacter si t'as besoin d'un p'tit coup d'main pour Pertevue, j'ai du temps libre de côté et je t'aiderai volontiers. :evil:




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

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