La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
FAQ
Rechercher
Liste des Membres
Groupes d'utilisateurs
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
La date/heure actuelle est 23/11/2024 06:21:07
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
zelmir1337 Novice Messages: 5 |
Bonjour, Je débute avec l'éditeur de nwn2 et je bloque sur la création d'un garde.
j'ai voulu créer un pnj garde teste pour mon module ainsi qu'une faction, cette faction et quasi identique que la faction defender seule différence est que la faction que j'ai créer a 50 point en ver un player au lieu de 100 comme pour le defender. Quand je teste mon garde avec un pj je peu attaquer le le garde c'est ce que je recherchais par contre ce que je comprend pas c'est pourquoi mon garde ne ce défend pas. Je ne trouve pas l'astuce pour régler ce souci et je n'est pas trouvé de poste a ce sujet alors je viens demander de l'aide, si vous pouvez m'éclairer sur ce sujet je vous serais très reconnaissant. |
Revenir en haut | |
Claudius33 Grand Sage du Conseil Messages: 547 |
50 est neutre.
Il faut agir par script (éventuellement depuis une conversation) et soit changer le garde de faction, le passer HOSTILE (fonction ChangeStandardFaction), par exemple dans un script attaché à l'évènement "script déclenché en cas de dégâts". On peut aussi changer la valeur 50 par script et la remplacer par 0, je ne me rappelle plus la fonction exacte mais en filtrant sur "faction" on la retrouve facilement. L'avantage c'est que toute la faction change d'un coup envers le joueur. |
Revenir en haut | |
zelmir1337 Novice Messages: 5 |
merci de t'as réponse je vais essayé sa au plus vite encore merci:smile:
|
Revenir en haut | |
zelmir1337 Novice Messages: 5 |
j'aimerais déclencher une conversation au moment d'une attaque physique j'ai donc placé le script ga_conversation_self mais je ne sais pas si c'est le bon script et comment le modifier pour qu'il lance la conversation choisi .
voici le script NWScript :
// ga_conversation_self /* start a conversation file with yourself. Parameters: string sConversation = Conversation file to start. */ // ChazM 2/25/06 // #include "ginc_param_const" void main(string sConversation) { object oPC = (GetPCSpeaker()==OBJECT_INVALID?OBJECT_SELF:GetPCSpeaker()); AssignCommand(oPC, ActionStartConversation(oPC, sConversation, TRUE, FALSE)); } merci d'avance pour votre aide |
Revenir en haut | |
Claudius33 Grand Sage du Conseil Messages: 547 |
Je suppose qu'il s'agit du garde précédent.
Pour que ça marche, il faut : - repasser le garde dans une faction amie (DEFENDER, COMMONER, ...) - terminer la situation de combat - lancer la conversation Dans l'évènement 'dégats' du garde : NWScript :
void main() { object oPC = GetLastDamager(OBJECT_SELF); // celui qui vient de taper sur le garde if (!GetIsPC(oPC)) return; // sort si ce n'est pas le PC ChangeToStandardFaction(OBJECT_SELF, STANDARD_FACTION_COMMONER); // passe le garde en faction amie AssignCommand(oPC, ClearAllActions(TRUE)); // stoppe la situation de combat DelayCommand(0.2f, AssignCommand(oPC, ActionStartConversation(oPC, "ma_convo"))); } NB : pour un mod solo, on identifie le PC à coup sûr par object oPC = GetFirstPC() plutôt que de se prendre la tête entre les différentes façons de l'identifier en fonction des situations. Par contre cela irrite les puristes } |
Revenir en haut | |
zelmir1337 Novice Messages: 5 |
Merci pour t'as réponse , sa marche mais j'ai encore un petit souci. Quand je l'attaque la conversation ce lance comme prévu mais après la conversation je reprend le combat et si tôt que je lui refais des dégats sa relance la conversation. comment faire pour que le script qui lance la conversation au moment ou le pnj ce prend des dégats ne s'enclenche pas à chaque foi?
Et suis-je obliger de faire passer le pnj en hostile pour faire attaquer le joueur? parce-que sa me pose quelque problème du genre après le combat il reste hostile et ces potes garde l'attaque, je préférerais faire passer le joueur en hostile jusque à sa mort ou pendant un certain temps si c'etais possible. encore merci pour ton aide |
Revenir en haut | |
Claudius33 Grand Sage du Conseil Messages: 547 |
Le plus simple est d'attacher une variable au garde. Dans le toolset( sous les scripts. Par exemple "Fait", initialisée à 0.
Puis dans le script : NWScript :
.... if (!GetIsPC(oPC)) return; // sort si ce n'est pas le PC if (GetLocalInt(OBJECT_SELF, "Fait")) return; SetLocalInt(OBJECT_SELF, "Fait", 1); ... Si COMMONER ne suffit pas (bizarre?) repasses le en DEFENDER. Ou vérifies que ta faction spéciale pour les gardes n'est pas hostile à COMMONER. |
Revenir en haut | |
Page 1 sur 1 ¤
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum