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 22:43:03
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 |
Yan the salor Seigneur Messages: 151 |
Je voudrais que mes pjs respawn a un endroit différent selon le nom de leur dieu (emplacement deity choisi à la création du perso).
via la fonction getdeity surement. |
Revenir en haut | |
Harmelyo Chevalier Messages: 84 |
bon... je ne suis pas trop en état de répondre à ta requête mais je te conseille plutôt de faire remplir ce champs par un script à la première création des pjs pour éviter le chaos des fautes de frappes et autres erreur de recopiage... Sinon tu risque de voir ton script cafouiller quand un joueur aura saii de manière incorrecte le nom du dieu.
|
Revenir en haut | |
Enki Légende vivante Messages: 432 |
Bonsoir Yan et bonne année !
Je souscris tout à fait à la remarque de Harmelyo, il vaut mieux attribuer la divinité de tes PJs dans un dialogues. Et après tu les fais marcher sur un trigger par exemple, qui les envoie à l'endroit voulu. Pour cet exemple, jai pris comme nom de dieu : Enki et Enlil, deux dieux sumériens. Le tag des Waypoints où le PJ se rend doit être "WP_" + le nom du dieu. Cela t'évite de marquer le nom du waypoint pour chaque nom de dieu. Le script que tu demandes est très simple, tu peux le mettre sur le onClient enter du module ou sur le OnEnter d'un trigger (recommandé). Si tu veux le mettre sur un dialogue, change GetEnteringObject(); par GetPCSpeaker(); : NWScript :
void main() { object oPC=GetEnteringObject(); string sEnlil="Enlil"; string sEnki="Enki"; string sDieu= GetDeity(oPC); object oWaypoint=GetWaypointByTag("WP_"+ sDieu); if (sDieu== sEnlil ) { AssignCommand(oPC,ActionJumpToObject(oWaypoint)); } else if (sDieu== sEnki ) { AssignCommand(oPC,ActionJumpToObject(oWaypoint)); } } Pour choisir le dieu dans un dialogue, évitant ainsi les fautes de frappes, Dans le dialogue où le PJ choisi son dieu, tu mets par example : 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. Et voilà ! |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
C'est quoi SetDeity, elle sert a quoi cette fonction, je là connais pas lol.
Citation : NWScript :
void main() { object oPC=GetEnteringObject(); string sEnlil="Enlil"; string sEnki="Enki"; string sDieu= GetDeity(oPC); object oWaypoint=GetWaypointByTag("WP_"+ sDieu); if (sDieu== sEnlil ) { AssignCommand(oPC,ActionJumpToObject(oWaypoint)); } else if (sDieu== sEnki ) { AssignCommand(oPC,ActionJumpToObject(oWaypoint)); } } Et je ne vois trop pas a quoi sa sert de mettre sa. . . . _________________ [http] |
Revenir en haut | |
Enki Légende vivante Messages: 432 |
Bonsoir à tous !
> Black Knight : SetDeity est une fonction qui permet de remplir le champ /Divinité/ d'une feuille de perso. Cela permet de changer la divinité d'un Perso pendant le jeu, s'il décide par exemple de se convertir à l'islam ou au christianisme dans un module où la religion a une importance. Cela permet également, ce que je suggerai dans mon message précédent, d'éviter les "fottes d'aurtograffes" lorsque le joueur choisi son dieu à la création d'un perso. Ce qui invaliderait tous les scripts et les dialogues qui font appel à la divinité d'un joueur. Tu as écrit : Citation : Houla j'ai du mal a comprendre ton script. Si sDieu est egale a sEnlil il se téléporte, si il est egale a sEnki il se téléporte... Déjà autemps les réunirs tout les deux (if(sDieu == sEnlil || sDieu == sEnki)) Effectivement, on peut écrire le script de cette façon, mais je pensais que cela serait plus lisible, ou du moins plus clair pour Yan de bien séparer les conditions.
> Yan : Je te fais mes excuses car j'ai mal lu ton message (c'était le lendemain du jour de l'an, j'ai de bonnes excuses). En le relisant, j'ai vu que tu voulais que tes PJs réapparaissent aprés leur mort dans un lieu différent selon leur dieu, alors que je croyais que tu voulais qu'ils apparaissent à un lieu différent selon leur dieu à l'entrée du module. Donc voici le bon script, à mettre sur le OnPlayerRespawn du Module : NWScript :
#include "nw_i0_plot" void main() { object oPC=GetLastRespawnButtonPresser(); string sEnlil="Enlil"; string sEnki="Enki"; string sDieu= GetDeity(oPC); object oWaypoint=GetWaypointByTag("WP_"+ sDieu); ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oPC); ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oPC)), oPC); RemoveEffects(oPC); if (sDieu== sEnlil ) { AssignCommand(oPC,JumpToObject(oWaypoint)); } else if (sDieu== sEnki ) { AssignCommand(oPC,JumpToObject(oWaypoint)); } } Et voilà, à bientôt ! |
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