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:20:39
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 |
ansquer Héros Messages: 264 Localisation: MorBihan |
oui, ça peut parraitre simple comme ça mais attendez un peu
(on est sur un serveur multi-joueur) " Un PJ attrape un chien par sa laisse (sous forme de dialogue). Un script lui donne alors l'objet "oCorde" (cela est la preuve que le PJ tient le chien et va le suivre par un autre script (suivre le "GetLastSpeak" s'il a la "oCorde" en fin de dialogue) ... " Mon problème est que lorsque le chien vient à mourir (bouffé par un orque par exemple) il faudrait faire disparaitre la "oCorde" de l'inventaire du PJ ... donc un script à mettre sur le On-Death du chien... mais ... comment "marquer" le PJ ??? merci _________________ L'année de l'île Tome 1 Un roman ecxeptionnel ! Urban Rivals ! Mettez " ansker " en pseudo de votre parrain svp |
Revenir en haut | |
Starkanas Grand Chevalier Messages: 110 |
Dans le script qui donne l'objet au maître du chien, tu sauvegardes en variable le joueur à même le chien. En utilisant SetLocalObject().
Donc quelque chose du genre: 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. Il faudra évidement définir le oChien et le oPC. Et dans le onDeath, tu récupère le joueur avec GetLocalObject(), donc: 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. _________________ LSDA 3ème Âge : Serveur RôlePlay basé sur les écrits de J.R.R.Tolkien ... |
Revenir en haut | |
ansquer Héros Messages: 264 Localisation: MorBihan |
je ne sais pas si j'ai bien compris ... récapitulons ... entre temps mon chien est devenu une vache (style la vache et le prisonnier )
en consequences du dialogue : * vous prenez la corde qui pend à son cou* NWScript :
void main() { object oNPC = OBJECT_SELF ; object oItem = GetObjectByTag("corde001"); // Detruire la corde DestroyObject(oItem); CreateItemOnObject("corde001", GetPCSpeaker(), 1); //donner la valeur maitre au PJ object oPC = GetPCSpeaker() ; SetLocalObject(oNPC, "maitre", oPC); } et dans le On_death ... ben là je sèche ... comment détruire l'objet du PJ concerné NWScript :
void main() { object oPC = GetLocalObject(OBJECT_SELF, "maitre"); object oItem = GetObjectByTag("corde001"); DestroyObject(oItem); } c'est pas bon hein docteur ? _________________ L'année de l'île Tome 1 Un roman ecxeptionnel ! Urban Rivals ! Mettez " ansker " en pseudo de votre parrain svp |
Revenir en haut | |
ansquer Héros Messages: 264 Localisation: MorBihan |
j'ai refait le script pour enlever la "corde001" lorsque le PJ attarpe la vache et pour que cet "corde001" passe dans l'inventaire du PJ ... mais ca ne marche pas ...
La corde ne disparait pas de l'invenatire de la vache et rien n'est créé dans celui du PJ ??? ("corde001" est le TAG de l'objet) NWScript : void main() { // Donner corde au PJ CreateItemOnObject("corde001", GetPCSpeaker(), 1); // Enlever la corde de l'inventaire de la vache object oNPC = OBJECT_SELF ; object oItemToTake; oItemToTake = GetItemPossessedBy(oNPC, "corde001"); if(GetIsObjectValid(oItemToTake) != 0) ActionTakeItem(oItemToTake, oNPC); //donner la valeur maitre au PJ object oPC = GetPCSpeaker() ; SetLocalObject(oNPC, "maitre", oPC); } _________________ L'année de l'île Tome 1 Un roman ecxeptionnel ! Urban Rivals ! Mettez " ansker " en pseudo de votre parrain svp |
Revenir en haut | |
Starkanas Grand Chevalier Messages: 110 |
Attention de ne pas confondre le tag (utilisé pour vérifier la présence d'un objet) et le resref (utilisé pour la création de l'objet).
NWScript :
void main() { string sResrefCorde = "corde001"; // Le resref de la corde string sTagCorde = "corde001"; // Le tag de la corde object oPC = GetPCSpeaker(); object oNPC = OBJECT_SELF; // Donner corde au PJ CreateItemOnObject(sResrefCorde, oPC, 1); // Enlever la corde de l'inventaire de la vache object oCorde = GetItemPossessedBy(oNPC, sTagCorde); DestroyObject(oCorde); //donner la valeur maitre au PJ SetLocalObject(oNPC, "maitre", oPC); } NWScript :
void main() { string sTagCorde = "corde001"; // Le tag de la corde object oPC = GetLocalObject(OBJECT_SELF, "maitre"); object oItem = GetItemPossessedBy(oPC, sTagCorde); DestroyObject(oItem); } Donc adapte le tag et le resref dans les scripts _________________ LSDA 3ème Âge : Serveur RôlePlay basé sur les écrits de J.R.R.Tolkien ... |
Revenir en haut | |
ansquer Héros Messages: 264 Localisation: MorBihan |
Je crois que c'est mon gros problème pour les scripts cette histoire de Tag et de refresh ...
Merci StarKanas encore un script qui va me servir de base pour des tas d'autres _________________ L'année de l'île Tome 1 Un roman ecxeptionnel ! Urban Rivals ! Mettez " ansker " en pseudo de votre parrain svp |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Le probleme des Tags et des Refs seraient résolu si tu lisais les petites informations sur les fonctions tu sais double click sur la fonction, et ta tout d'indiquer en vert, en générale ils precisent si il faut le tag ou la ref
_________________ [http] |
Revenir en haut | |
ansquer Héros Messages: 264 Localisation: MorBihan |
Et moi qui gueule sur mes élèves qui ne lisent pas bien les consignes des problèmes...
Non... en fait j'ai une excuse comme la plupart de mes scripts je les construis à partir d'autres scripts je 'nai pas l'occasion de voir les infos ... faudrait que je clique dessus et c'est que je ferai dès à présent merci _________________ L'année de l'île Tome 1 Un roman ecxeptionnel ! Urban Rivals ! Mettez " ansker " en pseudo de votre parrain svp |
Revenir en haut | |
Viduc de Papironda Grand Chevalier Messages: 119 |
|
Revenir en haut | |
Starkanas Grand Chevalier Messages: 110 |
Tout dépend de comment il gère ses variables. Personnellement je stocke les variables persistantes sur un objet indroppable qui est sauvegardé en même temps que le personnage (puisqu'il est dans son inventaire).
_________________ LSDA 3ème Âge : Serveur RôlePlay basé sur les écrits de J.R.R.Tolkien ... |
Revenir en haut | |
Viduc de Papironda Grand Chevalier Messages: 119 |
oui mais si tu créés une variable sur un objet dans le jeu, cette variable sera supprimée en cas de rebboot non? le seul moyen c'est de créer une variable directement à la création de l'objet, mais il faudra cependant rescanner les joueurs pour savoir qui possède la variable..??? moi je sais que c'est souvent comme ça que je procède, mais je n'utilise ça que pour des quêtes, donc sur des zones spécifiques pour savoir si un joueur en y entrant était ds la quête ou non et ou il en était... sinon faut scanner à l'entrée du serveur...
Viduc _________________ |
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