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 19:11:32
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
Harpie Acolyte Messages: 22 |
Bon, je progresse ! Mais j'ai encore quelques questionnements et je suis sûr que vous pourrez m'aider.
Voilà, je cherche à faire un nuage de brouillard qui puisse téléporter un joueur SI et SEULEMENT SI le joueur a, au préalable, bu la potion apropriée. Dans le cas contraire, le nuage doit blesser le joueur tant qu'il reste à l'intérieur de celui-ci. Mon problème concerne principalement la potion... J'ai trouvé comment faire des potions "custom", mais je n'ai aucune possibilité d'y ajouter mes scripts ! Tout ce qui m'est offert, c'est d'y insérer des sorts déjà présents, ce qui n'est pas mon but. Ensuite, le fameux nuage... J'ai pensé mettre dans le OnHeartBeat du trigger une petite fonction qui fait le tour des créatures présentes et de leur enlever un nombre aléatoire de points de vie. Si quelqu'un connait une meilleure façon qui prendrait moins de ressource, je suis preneur. Mon problème est que je n'arrive pas à infliger des dégâts aux créatures. La seule fonction que j'ai trouvée qui peut peut-être correspondre, je ne trouve pas la façon de l'attribuer à la créature. Avez-vous des idées ? Merci ! _________________ Life's tough. It's tougher if you're stupid. |
Revenir en haut | |
Longbow Grand Sage du Conseil Messages: 638 Localisation: Orléans |
Hum, hum...
Pour une potion avec des effets gérés par un script, il te faut créer un script dans [propriétés du module/évènements/OnActiveItem] du type: si tu veux que l'action ai lieu juste après avoir bu... sinon remplace les effets désirés par un SetLocalInt(GetModule(), "potionbue", 10); et un test dans le script du trigger de téléportation... if (GetLocalInt(GetModule(), "potionbue") >= 10 ) { // effets désirés } else {effets en cas de non ingestion de la potion } NWScript :
void main() { object oPC = GetItemActivator();// celui active un objet (pour toi qui boit la potion) object oItem = GetItemActivated(); object oCibleStase = GetItemActivatedTarget(); // inutile pour ta potion if(GetTag(oItem) == "mettre ici le tag de ta potion") { SendMessageToPC(oPC, ""); DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_UNSUMMON), oPC)); DelayCommand(1.5, AssignCommand (oPC, ActionJ umpToObject(GetWaypointByTag("WP_Passerelle")))); } } Je ne sais pas si j'ai été très clair.... _________________ Rex illeteratus Quasi Asinus Coronatus Jean de Salisbury |
Revenir en haut | |
Harpie Acolyte Messages: 22 |
Je crois avoir bien compris, d'accord... Je vais essayer ça, merci.
Maintenant, pour le nuage qui inflige des dégâts, tu as des idées ? Merci encore _________________ Life's tough. It's tougher if you're stupid. |
Revenir en haut | |
Longbow Grand Sage du Conseil Messages: 638 Localisation: Orléans |
Hum, hum...
Dans le Dernier Outrage, j'utilise l'effet de zone suivant: NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
As-toi de modifier AOE_PER_FOGACID...AOE_PER_FOGMIND... etc... C'est donc un nuage qui crée des dégats spécifiques pendant une durée donnée. _________________ Rex illeteratus Quasi Asinus Coronatus Jean de Salisbury |
Revenir en haut | |
Harpie Acolyte Messages: 22 |
Hum je vais tester ça, merci.
Cependant, pour la potion, je me retrouve encore avec le même problème : je suis forcé d'assigner un sort à la potion via le panneau des propriétés. D'accord, je peux scripter quelques trucs par-dessus, mais il serait plus intéressant que la potion ne fasse pas d'autres effets que celui désiré, c'est-à-dire assigner la variable pour indiquer que le Pc l'a bue et un petit effet visuel. Ce doit être possible, forcément.. Merci encore pour ton aide. _________________ Life's tough. It's tougher if you're stupid. |
Revenir en haut | |
Harpie Acolyte Messages: 22 |
Je vais te montrer les scripts que j'ai fait à date, et t'expliquer ce qui ne marche pas, peut-être que ça ira mieux pour le coup de main et ainsi tu sauras peut-être me dire si mon scripts est optimal, ce dont je doute.
NWScript :
//Dans le OnEnter du nuage void main() { if (GetIsPC(GetEnteringObject())) { SetLocalInt(GetEnteringObject(), "vBrume", 1); } //Dans le OnExit du nuage void main() { if (GetIsPC(GetExitingObject())) { SetLocalInt(GetExitingObject(), "vBrume", 0); } } //Dans le HeartBeat du nuage void main() { int iCounterCreature; iCounterCreature = 1; // On set l'objet sur la creature la plus proche qui soit vivante object oCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, GetObjectByTag("tr_myst"), iCounterCreature); object oVictime; while (GetIsPC(oCreature)) { // On applique les degats a la creature if (oCreature != oVictime && vBrume != 0) //Ici, il ne reconnait pas ma variable vBrume { ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(1, DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_NORMAL), oCreature); } iCounterCreature = iCounterCreature++; oVictime = oCreature; oCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, GetObjectByTag("tr_myst"), iCounterCreature); } } /* warning: 1 unclosed block {} */ Si tu es capable de me dire ce qui ne fonctionne pas.. Ça serait grandement aprécié. Merci ! _________________ Life's tough. It's tougher if you're stupid. |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
Et si tu remplace ta ligne :
if (oCreature != oVictime && vBrume != 0) par : if (oCreature != oVictime && GetLocalInt(oCreature,"vBrume") != 0) C pas mieux??? _________________ http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin! |
Revenir en haut | |
Harpie Acolyte Messages: 22 |
Non, le compilateur me répond : "ERROR: UNKNOWN STATE IN COMPILER"
_________________ Life's tough. It's tougher if you're stupid. |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
Attend, je comprend pas, ça compile chez moi!
NWScript : //Dans le OnEnter du nuage void main() { int iCounterCreature; iCounterCreature = 1; // On set l'objet sur la creature la plus proche qui soit vivante object oCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, GetObjectByTag("tr_myst"), iCounterCreature); object oVictime; while (GetIsPC(oCreature)) { // On applique les degats a la creature if (oCreature != oVictime && GetLocalInt(oCreature,"vBrume") != 0) { ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(1, DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_NORMAL), oCreature); } iCounterCreature = iCounterCreature++; oVictime = oCreature; oCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, GetObjectByTag("tr_myst"), iCounterCreature); } } _________________ http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin! |
Revenir en haut | |
Harpie Acolyte Messages: 22 |
Oui, tu as raison, ça compile... Je ne comprends pas... Ou plutôt, je ne vois pas la différence entre ton code et le mien... Enfin, au moins maintenant, ça compile. Mais j'ai encore une erreur, à l'exécution du script dans le module cette fois-ci. Il me lance un message disant "TOO MANY INSTRUCTIONS". Tu as une idée pourquoi il me dit ça ? Se pourrait-il que ce soit mon while qui ne soit pas interprété correctement ?
_________________ Life's tough. It's tougher if you're stupid. |
Revenir en haut | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
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