Fin d'hostilité

Répondre
Partager Rechercher
Hello

Ne trouvant pas malgré des recherches sur ce forum, je pose directement ma question: je cherche un script qui ferait qu'un personnage portant un anneau spécifique, ne soit pas attaqué par des créatures en faction hostile qui le voye.
J'avais un script de ce genre sur nwn1 mais il ne semble pas fonctionner sur nwn2 - changement de fonction sans doute... - le personnage n'était pas attaqué s'il avait un objet dans son inventaire.

Donc si une bonne âme charitable voulait bien m'aider

D'avance merci
Si tu veux que ce soit juste porter l'item : Je vois deux choses, m'y connaissant peu (trèèès très peu =).

D'abord le plus logique : les factions. Tu définies une faction spécifique pour ton mob, puis tu fais un script qui à l'entrée du PJ définit cette faction crée comme non-hostile au pj selon un critère : portant un item par exemple (à chaque connexion je crois). C'est pas moi qui m'occupe du détail du script chez nous donc je sais pas non plus grand chose. Juste comment créer les factions et les attribuer, pas comment faire le script de "relation avec le pj ciblé".

Beaucoup plus théorique et sûrement que les techniciens trouveront ça stupide et inapproprié : Je dirais que tu reprends le script de comportement d'attaque (devrait y'avoir un truc du genre dans les propriétés de la créature) et tu rajoutes la conditions "sauf si le PJ porte tel item" avant de définir l'attaque. Aucune idée de si c'est réalisable, judicieux, optimisé ni rien... ce sont juste des pistes.

Si tu veux que ce soit sur activation de l'item, je sais que IDC (îles du couchant) a un item qui permet aux druides et rôdeurs d'apaiser les animaux, mais aucune idée de comment ça marche.

Laissons les pro s'exprimer avant que je dise trop de conneries .
Sur nwn1 j'avais une série de scripts gérant des factions via variable locale. Mais j'ai pas testé la compatibilité sur nwn2... Là c'est plus simple (enfin je suis peintre sur map d'éditeur, pas scripteur lol^^), le fait ne porter ou non un objet ferait cesser l'hostilité. Je vais voir pour retrouver un script de ce genre que j'avais sur nwn1, il pourrait servir de base
Il faut en premier lieu passé ton serveur en mode campagne (je ne sais pas t'expliquer comment mais il faut le faire) puis ensuite je pense qu'il faut sur le on perceive de tes mobs mettre un script qui change la réputation du PJ vis à vis du mob :
AdjustReputation(oPC, oNPC, 100);

avec 100 les mobs serons amicaux et défendront le PJ
Il te faut un script qui, lorsqu'un personnage possède un item, empêche des créatures hostiles de l'attaquer.

Avec ça tu as la condition, posséder l'item.
Ce qui se passe si la condition est vraie n'est pas très clair : tu veux que les mobs ignorent ? tous les mobs du module ? tu veux qu'ils soient amicaux ?
Sur quel évènement tu veux que ça se passe n'est pas très clair non plus : lorsqu'un mob voit le PJ ? dès qu'il entre sur le module ? une fois qu'il active l'item ?

Avec ça répondu tu as déjà la moitié de ton script.
Bon j'ai compris pourquoi mon script ne marchait pas
En le relisant je me suis aperçu que l'hostilité est déclenchée SI le pj n'a pas l'objet - donc mon incroyable cerveau laser (lol ) s'est dit: "mais faut alors que de base la créature ne soit pas hostile"
Donc en mettant la créature en faction non-hostile, elle devient hostile si on a pas l'objet.
Bon c'est incomplet car si on a l'objet après coup, la créature reste hostile: je pense qu'il faudrait amorcer un test de possession de l'objet (qui se fait par la perception de la créature) avec un délai régulier.
Enfin merci pour votre aide, ça m'a permit de relire ce qui était sous mes yeux
Il y a un évènement qui se déclenche lorsque l'on récupère un item ou qu'on le drop. Tu devrais utiliser ça, ce sera plus efficace. Lors de la récupération, la créature passe non hostile, et par exemple s'il l'enlève tu peux repasser la créature en hostile.
Répondre

Connectés sur ce fil

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