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 21:37:00
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 |
tails_2 Acolyte Messages: 33 Localisation: A gauche après le rond point (Lyon) |
Voi, j'ai trouvé trois scripts fort intéressant. Mais le problème,c'est que les trois utilise le OnAcquireItem du module. Alors es-ce que je suis obliger de choisir lequel je vais utiliser ou es-ce que je peux les mettres tous. Si je peux tous les mettres j'aimerais savoir comment faire.
Je vous remercie d'avance. _________________ AH AH AH Je reigne sur tout !! Merde où sont mes clefs ?????? [http] |
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
J'ai pas tout très bien compris mais si je résume :
tu as trouvé 3 scripts qui t'interessent mais les 3 doivent se mettre dans le OnAquireItem du module mais comme il n'y a qu'une place tu te demandes comment faire. J'ai bien compris ? Si c'est ça il te suffit de faire un mix de tes trois scripts pour n'en faire plus qu'un seul. Comme ça sans avoir tes scripts je ne peux te dire comment faire mais le script résultant sera de la forme : void main() { script 1 script 2 script 3 } en supprimant ce qui est en double... _________________ Mon site NWN nouvelle version et mon module Boisperdu en ligne ! Et maintenant un FORUM La première version française de la doc du NPC Activities (version 2.0) |
Revenir en haut | |
tails_2 Acolyte Messages: 33 Localisation: A gauche après le rond point (Lyon) |
Si tu peux m'aider. Les scripts sont les suivants
1- Pour ma pierre de rappel NWScript :
void main() { //enregistre dans oActivated le dernier objet utilise object oActivated=GetItemActivated(); // si l'objet est la pierre de retour on prend l'utilisateur et on le teleporte au portail if (GetTag(oActivated)=="PierreDeRetour") { // enregistre dans oUser l'utilisateur de l'objet object oUser=GetItemActivator(); // On verifie que l'utilisateur est un PJ if (GetIsPC(oUser)) { AssignCommand(oUser, JumpToObject(GetObjectByTag("PortailDeRappel"))); } } } 2- Pour un système de portail qui te téléporte là où tu es mort NWScript :
///////debut////////////////// // #include "NW_i0_plot" void main() { IsRecall(); } //////fin///////////////////// //// 3 - Pour qu'un PNJ compte le nombre d'objet que possède le PJ NWScript :
void main() { object oTest = GetModuleItemAcquired(); object oPossesseur = GetModuleItemAcquiredBy(); if (GetTag(oTest) == "cristalderoche") { ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_FORTITUDE_SAVING_THROW_USE),oPossesseur); SetLocalInt(oPossesseur,"cristalquest",GetLocalInt(oPossesseur,"cristalquest") + 1); FloatingTextStringOnCreature("En voila un de plus", oPossesseur, TRUE); } // else if (GetTag(oTest) == "????") // { } } Voila les trois scripts _________________ AH AH AH Je reigne sur tout !! Merde où sont mes clefs ?????? [http] |
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
Pour le 1 et 2, pas de problème, il suffit de faire une "fusion".
void main() { //enregistre dans oActivated le dernier objet utilise // Là on teste l'activation d'un objet object oActivated=GetItemActivated(); // si l'objet est la pierre de retour on prend l'utilisateur et on le teleporte au portail // Il faudra bien que ta pierre de rappel ait le tag : "PierreDeRetour" et qu'elle soit utilisable if (GetTag(oActivated)=="PierreDeRetour") { // enregistre dans oUser l'utilisateur de l'objet object oUser=GetItemActivator(); // On verifie que l'utilisateur est un PJ if (GetIsPC(oUser)) { // Il faut bien avoir un WayPoint ou un objet avec le tag "PortailDeRappel", c'est là que sera téléporté le joueur AssignCommand(oUser, JumpToObject(GetObjectByTag("PortailDeRappel"))); } } // Là on test le fait que le joueur obtient un objet // oTest est l'objet obtenu, oPossesseur est le personnage qui obtient l'objet object oTest = GetModuleItemAcquired(); object oPossesseur = GetModuleItemAcquiredBy(); // Ton objet devra bien avoir le tag "cristalderoche" // Là ton script va juste comptabiliser le nombre de cristaux obtenus (avec quelques effets) if (GetTag(oTest) == "cristalderoche") { ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_FORTITUDE_SAVING_THROW_USE),oPossesseur); SetLocalInt(oPossesseur,"cristalquest",GetLocalInt(oPossesseur,"cristalquest") + 1); FloatingTextStringOnCreature("En voila un de plus", oPossesseur, TRUE); } // pour d'éventuels autres objets... // else if (GetTag(oTest) == "????") // { } } Pour le script n°2, je sais pas trop se qu'il fait et dans le Lexicon ils disent de ne pas l'utiliser !! Tu es sûr d'ailleurs qu'il faille le mettre dans le OnAquire du module ? Je suis pas sûr moi j'aurais plutôt tendance à le mettre dans le OnUse du portail mais comme je sais pas trop ce qu'il fait !! D'ailleurs en y refléchissant, ça me paraît bizarre de mettre le script n°1 dans le OnAcquire du module, car ce n'est pas un objet acquis mais un objet "utilisé", j'ai pas NWN sous là main mais il n'y a pas un événement plus approprié dans les propriétés du module ? Du genre OnActiveItem non ? J'essayerai de regarder ça ce soir. _________________ Mon site NWN nouvelle version et mon module Boisperdu en ligne ! Et maintenant un FORUM La première version française de la doc du NPC Activities (version 2.0) |
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
Désolé, j'ai oublié de mettre les balises de NWNScript pour que ce soit tout beau...
_________________ Mon site NWN nouvelle version et mon module Boisperdu en ligne ! Et maintenant un FORUM La première version française de la doc du NPC Activities (version 2.0) |
Revenir en haut | |
tails_2 Acolyte Messages: 33 Localisation: A gauche après le rond point (Lyon) |
LOOOOOL C'est pas grave
Pour la pierre de rappel j'utilise ce script dans le onacquier et ca marche bien dc voila. Pour le portail j'utilise le script qu'à donnée cette personne regarde [http] Et pour le script trois j'utilise ce message [http] Voila voila, Donc on ne peut pas mettre le script 2 ???? _________________ AH AH AH Je reigne sur tout !! Merde où sont mes clefs ?????? [http] |
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
Bon, la personne qui donne l'exemple semble dire qu'il faut le mettre dans le OnAquire... 9a doit donner ça alors :
NWScript :
#include "NW_i0_plot" void main() { // Le recall IsRecall(); //enregistre dans oActivated le dernier objet utilise object oActivated=GetItemActivated(); // si l'objet est la pierre de retour on prend l'utilisateur et on le teleporte au portail // Il faudra bien que ta pierre de rappel ait le tag : "PierreDeRetour" et qu'elle soit utilisable if (GetTag(oActivated)=="PierreDeRetour") { // enregistre dans oUser l'utilisateur de l'objet object oUser=GetItemActivator(); // On verifie que l'utilisateur est un PJ if (GetIsPC(oUser)) { AssignCommand(oUser, JumpToObject(GetObjectByTag("PortailDeRappel"))); } } // oTest est l'objet obtenu, oPossesseur est le personnage qui obtient l'objet object oTest = GetModuleItemAcquired(); object oPossesseur = GetModuleItemAcquiredBy(); // Ton objet devra bien avoir le tag "cristalderoche" if (GetTag(oTest) == "cristalderoche") { ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_FORTITUDE_SAVING_THROW_USE),oPossesseur); SetLocalInt(oPossesseur,"cristalquest",GetLocalInt(oPossesseur,"cristalquest") + 1); FloatingTextStringOnCreature("En voila un de plus", oPossesseur, TRUE); } // else if (GetTag(oTest) == "????") // { } } Voilà, tu me diras si ça marche. _________________ Mon site NWN nouvelle version et mon module Boisperdu en ligne ! Et maintenant un FORUM La première version française de la doc du NPC Activities (version 2.0) |
Revenir en haut | |
tails_2 Acolyte Messages: 33 Localisation: A gauche après le rond point (Lyon) |
Un grand merci à toi, je te tien au courant dès que j'aurais tester ce script !!!!!!
_________________ AH AH AH Je reigne sur tout !! Merde où sont mes clefs ?????? [http] |
Revenir en haut | |
spidernono Novice Messages: 17 |
Bonjour à tous,
Je risque d'être un peu hors sujet concernant ce topic, mais bon... Personnellement, depuis HOTU, je n'utilise plus le OnAquireItem du module pour utiliser des objets du type pierre de rappel... Je procède comme ça : 1/ Je laisse les scripts par défaut dans les propriétés du module 2/ Je créé ma pierre de rappel, avec un tag spécifique (of course) 3/ Je créé un script qui a comme nom le TAG de l'objet (ex : TAG de la pierre : pr ; NOM du script qui fait la téléportation : pr) C'est tout, et ça marche nikel quand j'utilise la pierre out tout autre objet. |
Revenir en haut | |
Jaheira 007 Seigneur Messages: 223 |
Mais attends un peu, tu le place où ton script pour ta pierre de rappel? Il faut bien le placer dans un endroit spécifique pour qu'il marche.
_________________ La nature reprendra ses droits ici, aprés notre passage. |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
Non, depuis HoU le simple fait de nommer ton script comme le tag de l'objet suffit.
_________________ 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 | |
spidernono Novice Messages: 17 |
Je confirme... A partir du momment où ton script se nomme comme le tag de ton objet, le script n'est placé nulle part, et il marche tout seul !!
Le nom du script par défaut est celui-ci : x2_mod_def_equ (a mettre dans les evènements OnplayerEquipItem) Et voici un bout du code de ce script : NWScript : // ------------------------------ ------------------------------ ------------- // Generic Item Script Execution Code // If MODULE_SWITCH_EXECUTE_TAGBASED _SCRIPTS is set to TRUE on the module, // it will execute a script that has the same name as the item's tag // inside this script you can manage scripts for all events by checking against // GetUserDefinedItemEventNumber( ). See x2_it_example.nss // ------------------------------ ------------------------------ ------------- if (GetModuleSwitchValue(MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS) == TRUE) { SetUserDefinedItemEventNumber(X2_ITEM_EVENT_EQUIP); int nRet = ExecuteScriptAndReturnInt(GetUserDefinedItemEventScriptName(oItem),OBJECT_SELF); if (nRet == X2_EXECUTE_SCRIPT_END) { return; } } |
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
Ca marche comment ton truc ? Le script est lancé à quel moment ? Lorsque l'objet est "obtenu", équipé ou utilisé ? Je vois pas bien comment ça marche.
_________________ Mon site NWN nouvelle version et mon module Boisperdu en ligne ! Et maintenant un FORUM La première version française de la doc du NPC Activities (version 2.0) |
Revenir en haut | |
spidernono Novice Messages: 17 |
Ca marche quand l'objet est utilisé par exemple, lorsque tu crée ton objet "pierre de rappel" , tu lui assigne le pouvoir unique, sur soi, le script s'exécutera lors de son utilisation.
|
Revenir en haut | |
tails_2 Acolyte Messages: 33 Localisation: A gauche après le rond point (Lyon) |
Donc je peux génerer autant de script que je veux je ne les places pas dans onacquier mais je les appels du meme nom que le script de base de onacuier dans le module et ca devrait marcher ?
_________________ AH AH AH Je reigne sur tout !! Merde où sont mes clefs ?????? [http] |
Revenir en haut | |
spidernono Novice Messages: 17 |
Oui si tu remplis ces conditions :
1/ Dans les évènements du module, le champ OnplayerEquipItem possède le script x2_mod_def_equ 2/ Tes objets on un pouvoir unique 3/ Le nom de ton script est le même (attention à la casse) que le tag de ton objet. |
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