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 14:27:24
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 |
Semcatala Grand Sage du Conseil Messages: 951 |
Bonjour , de nouveau là pour un nouveau pb !
Sauriez vous comment faire pour detecter quand un joueur perds ou gagne de l'argent , et SEULEMENT de l'argent ?! Pour tous les autres objets j'y arrive , mais pour le fric ..... je cale un poil ! Par exemple , un joueur pose 1 Po par terre , et là , un message serveur apparait , et il y a marqué " tu es un peu moins riche maintenant ". ou alors il ramasse 1 Po , et il y a marqué " tu es un peu plus riche maintenant ". Merci d'avance ! _________________ " La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG " La véritable école du Commandement est la culture générale. " CdG " Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F " La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG " La fin de l'espoir est le commencement de la mort. " CdG |
Revenir en haut | |
Anthraxcite Légende vivante Messages: 372 Localisation: Belgique |
Tu as essayé NW_IT_GOLD001 pour le tag de l'objet déposé ou ramassé?
|
Revenir en haut | |
Semcatala Grand Sage du Conseil Messages: 951 |
Anthraxite> Non , en revanche , j'ai constaté une chose curieuse avec les " onacquiereditem " et le " onunacquiereditem" du mod ....
J'ai fait 2 scripts , un pour la perte , et l'autre pour le gain d'un objet , ces scrios servent a afficher dans le message serveur les resref et le tag de l'objet gagné ou perdu dans l'inventaire. Pour tous les objets ça marche nikel , ça te donne le resref et le tag de tout objet gagné ou perdu. En revanche , quand on gagne de l'argent , le script de " onacquireditem " se déclenche bien , mais n'argent semble n'avoir ni tag ni resref , ni quantité , car rien ne s'affiche. Pire encore ...... car lorsque l'on dépose de l'argent par terre , là , le script de "onunacquieritem" ne se déclenche même pas ! De retour chez moi j'essaierais avec ton tag pour voir ce que ça donne. _________________ " La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG " La véritable école du Commandement est la culture générale. " CdG " Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F " La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG " La fin de l'espoir est le commencement de la mort. " CdG |
Revenir en haut | |
Elandil2 Chevalier Messages: 97 Localisation: sur mon ordi loir-et-cher |
Je n'en sais rien mais je te propose de regarde si l'argnt n'est pas une variable stockée sur le PJ ... En tout cas c'est ce qu'il me semble ... Quant à son nom alors là je ne sais pas ...
_________________ Rejoignez nous sur notre forum Aelor, module en construction Vive Gimli |
Revenir en haut | |
lylver Héros Messages: 274 |
La perte/gain d'or ne déclenche pas d'évênement module
cf http://www.nwnlexicon.com/compiled/event.onunacquireitem.html http://www.nwnlexicon.com/compiled/event.onacquireitem.html J'ai eu l'occasion de le vérifier sur le pacth 1.66 |
Revenir en haut | |
Semcatala Grand Sage du Conseil Messages: 951 |
bon , j'ai réussi a mettre en place une solution assez satisfaisante sur mon mod avec le ohb du module , les mises a jour ne sont pas instantannes , il faut attendre une fin de ohb pour que ce soit fait , mais bon .... ça marche et ça nbe consomme pas grand chose.
_________________ " La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG " La véritable école du Commandement est la culture générale. " CdG " Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F " La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG " La fin de l'espoir est le commencement de la mort. " CdG |
Revenir en haut | |
Seth de Sombrelune Seigneur Messages: 156 |
Semcatala a écrit : bon , j'ai réussi a mettre en place une solution assez satisfaisante sur mon mod avec le ohb du module , les mises a jour ne sont pas instantannes , il faut attendre une fin de ohb pour que ce soit fait , mais bon .... ça marche et ça nbe consomme pas grand chose. Ben explique ! Je suis currieux de savoir comment tu procedes. Mon Agrégé en Script étant absent encore 1 semaine, je pourait lui soumettre le problème et ta solution
Il me semble qu'il m'avait pondu un truc sur la gestion de l'Or mais j'en suis pas sur... A chaque evenement d'aquisition et de perte d'item, on comparait avec une variable locale stockée sur le pj. Pour les récompenses ou perte en po via des quetes, cela se reglais dans les scripts, mais je sait plus ce qu'il a fait pour les drops de po et l'argent obtenu via une récompense MD:o |
Revenir en haut | |
Semcatala Grand Sage du Conseil Messages: 951 |
Seth de Sombrelune> Ben c'est simple , j'ai placé un objet ridiculement petit , indroppable sur le joueur.
Et avec le ohb , toutes les 6 secondes je vérifie le nombre de piéces d'or du joueur , et en fonction de lui , je modifie le poids de l'objet ( une petite feuille d'arbre sur mon mod ). Au final , ça simule le poids de l'or ! J'aurais largement aimé pouvoir détecter la perte de Po pour éviter d'avoir a utiliser le OHB , mais c'est impossible avec nwn !!! Du moins detecter la perte d'or est impossible , car quand on ramasse de l'or , ça déclenche le script de gain d'objet. _________________ " La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG " La véritable école du Commandement est la culture générale. " CdG " Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F " La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG " La fin de l'espoir est le commencement de la mort. " CdG |
Revenir en haut | |
castorus Acolyte Messages: 23 |
Bien j'ai à mon avis une meilleur solution, car elle n'utilise pas le OnHeartBeat ^^ . Bien comme l'avais évoqué Evandil apparement l'or est une variable stockée dans le .BIF de votre personnage, alors voila comment j'ai procédé :
Quand le joueur entre sur le mod on enregistre son taux d'or dans une variable int locale situé en lui même. Ensuite, des que le joueur ramasse un item on compare cette variable Locale avec le taux d'or actuel. Si le taux d'or actuel est strictement supérieur alors cela signifie que l'item qu'a ramassé le joueur est de l'or. voici les listing des scripts : Listing du OnClientEnter: 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. Listing du OnAcquireItem: NWScript :
//OnAcquireItem : void main() { object oItem = GetModuleItemAcquired(); string TagItem = GetTag(oItem); object oPossesor = GetModuleItemAcquiredBy(); int VariableOr = GetLocalInt(oPossesor,"OR"); int TauxOrActuel = GetGold(oPossesor); if(VariableOr < TauxOrActuel) { SendMessageToPC(oPossesor,"Vous avez gagner "+IntToString(TauxOrActuel-VariableOr)+" Pieces d'or."); SetLocalInt(oPossesor,"OR",GetGold(oPossesor)); } } Chose confirmant la Thèse que c'est une variable. lorsque vous entrez dans le module observez que le script se déclenche en indiquant que vous avez gagner exactement le nombre de pièce d'or que vous êtes censé avoir , Exemple : Je joue sur un serveur RP j'ai 50 pièces d'or en tout, je me Deco/Reco puis lorsque je reviens, le script se déclenche en me disant, vous avez gagner 50 pièces d'or. Donc c'est effectivement une variable .Mais je ne sais pas quel est son nom. ^^ voila en espérant que cela vous viendra en aide. |
Revenir en haut | |
Ivellios Légende vivante Messages: 447 Localisation: Poitiers |
Je crois que le problème c'est que justement l'event ne se déclenche pas pour l'or...
Autant utiliser GetGold à ce momment là -si ça marche-. _________________ Scripts, systèmes, fonctions,... c'est par ici... Pyjama pour castor, une vocation, un avenir sûr |
Revenir en haut | |
castorus Acolyte Messages: 23 |
Je comprend pas trop ce que tu veux dire puisque je viens de résoudre le problème en vous soummmetant les script pour l'aquisition de l'or, le truc qui y'a c'est que lorsque vous ramassez de l'or, l'objet n'est pas créer dans votre inventaire. donc la fonction pour trouver l'objet qui a été aquis renvoi OBJECT_INVALID car l'item representant l'or a été detruit au moment ou vous l'avez ramassé pour être converti en donnée numérique entières destinée à incrémenté votre variable d'or dont je ne connais pas le nom.
Donc le OnAcquireItem est bien déclenché, je pensais que vous auriez la présence d'esprit de déduire cela pour des scripteurs en herbe.... |
Revenir en haut | |
Ivellios Légende vivante Messages: 447 Localisation: Poitiers |
J'avais cru comprendre que l'évènement OnAcquireItem ne marchais pas pour l'or (plus haut).
Mais apparament c'est bon. _________________ Scripts, systèmes, fonctions,... c'est par ici... Pyjama pour castor, une vocation, un avenir sûr |
Revenir en haut | |
Sith Vicious Grand Sage du Conseil Messages: 693 |
Ivellios scripteur en herbe huhu
Bon 30 secondes et demi de test pour voir que effectivement il n'y a pas d'événément OnUnAcquireItem à la perte d'or. Donc ta solution est bien jolie, mais si un gars décide de poser par terre des pieces pour s'alleger, ben tant qu'il aura pas pris un autre objet il pesera toujours le même poids. Donc ça résoud pas grand chose, la solution de Semcatala est la plus sùre (en attendant mieux hein, on sait jamais, ça pousse les scripteurs en herbe ! ) Et au passage, il n'y a pas que l'or qui est filé à la connection, tous les items du PJ aussi, le perso arrive a poil et on lui file tout son équipement et on l'habille. |
Revenir en haut | |
lylver Héros Messages: 274 |
lylver a écrit : La perte/gain d'or ne déclenche pas d'évênement module
Une autre solution : sur le module SoW, nous avons imaginé la gestion de l'or façon différente.
cf http://www.nwnlexicon.com/compiled/event.onunacquireitem.html http://www.nwnlexicon.com/compiled/event.onacquireitem.html J'ai eu l'occasion de le vérifier sur le pacth 1.66 Tu changes ton or en objets de valeur ou en gemmes sinon tu te le vois remis à l'équivalent d'une petite bourse (scouic perdu) pour ton argent de poche à chaque reboot du serveur. Bien entendu le système n'est pas que cela, il y a une gestion des prix associées, réputation etc... Nous avions pris le pas de faire de l'économie est un sujet à part. |
Revenir en haut | |
Semcatala Grand Sage du Conseil Messages: 951 |
Castorus> Je n'ai JAMAIS dit qu'il était impossible de detecter le GAIN d'or , au contraire ( voir mes post précédents ) !
Ce que j'ai dit c'est qu'il était impossible de detecter la " perte " d'or avec les scripts prévus pour la perte d'objets . Quand on gagne de l'or , le script de " onacquireditem " se déclenche. Quand on perds de l'or , le script de " onunacquireditem " ne se déclenche pas. Le problême final que j'évoquais concerne uniquement la detection de la perte d'or , pas le gain( ça c'est réglé finalement ! ). _________________ " La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG " La véritable école du Commandement est la culture générale. " CdG " Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F " La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG " La fin de l'espoir est le commencement de la mort. " CdG |
Revenir en haut | |
Ivellios Légende vivante Messages: 447 Localisation: Poitiers |
Sith Vicious a écrit : Ivellios scripteur en herbe huhu _________________ Scripts, systèmes, fonctions,... c'est par ici... Pyjama pour castor, une vocation, un avenir sûr |
Revenir en haut | |
Sith Vicious Grand Sage du Conseil Messages: 693 |
Bon petite tentative pour expliquer le pourquoi du pas de OnUnAcquire avec l'or.
De l'or, on est bien d'accord on en a pas dans l'inventaire (pas d'icone) donc c'est pas un item. MAIS quand on en met dans un coffre, ça en devient un (le tas de pièces). En fait il y a un espèce de OnAcquireItem caché, qui fait que lorsqu'on acquiert de l'or (item) l'item est détruit et converti en une variable. Donc, si le OnUnAcquire marchait pour l'or, il se déclancherait aussi à l'acquisition d'or : en effet, il y a un moment ou l'or est stocké dans l'inventaire sous forme d'item. La preuve remplissez completement votre inventaire, posez de l'or par terre et essayez de le ramasser : c'pas possible. Donc quand cet item est détruit, il déclancherait l'évenement de perte d'item. En revanche, lorsqu'on pose de l'or par terre ou dans un coffre, l'item n'est pas crée dans l'inventaire, mais directement à sa destination, donc l'evenement ne peut pas se déclancher (on peut poser de l'or même avec un inventaire plein). De plus, l'or n'est pas forcément convertit en item : lors des transactions tout se passe au niveau virtuel (variables) donc si on vend un objet à un marchand, pas de OnAcquire puisque pas d'item, l'item n'existe que pour l'or dans les contenants et à terre. Ca vaut ce que ça vaut comme théorie. |
Revenir en haut | |
Ivellios Légende vivante Messages: 447 Localisation: Poitiers |
Non mais c'est ça, sur le OnUnacquireItem comme l'or est une icône à part on ne l'as "jamais eu dans l'inventaire" donc on ne risque pas de déclencher l'event.
_________________ Scripts, systèmes, fonctions,... c'est par ici... Pyjama pour castor, une vocation, un avenir sûr |
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