
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.







La date/heure actuelle est 01/05/2025 05:35:45
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 |
Black Knight Grand Maître Chanteur du Conseil ![]() Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Voici un script que j'ai fait il y a pas lontemps pour évité les tricheurs dans les arène PvP légit.
NWScript :
if (sTag == "CheckXP_GP") { int iXPw = GetXP(oTarget); int iGPw = GetGold(oTarget); object oItemcheck = GetFirstItemInInventory(oTarget); while (GetIsObjectValid(oItemcheck)) { if(GetBaseItemType(oItemcheck) != BASE_ITEM_HEALERSKIT || GetBaseItemType(oItemcheck) != BASE_ITEM_ARROW || GetBaseItemType(oItemcheck) != BASE_ITEM_BULLET || GetBaseItemType(oItemcheck) != BASE_ITEM_TRAPKIT || GetBaseItemType(oItemcheck) != BASE_ITEM_BOLT) { iGPw = iGPw + GetGoldPieceValue(oItemcheck); } oItemcheck = GetNextItemInInventory(oTarget); } int i; for(i=0;i<=13;i++) { if(GetIsObjectValid(GetItemInSlot(i, oTarget))) { iGPw = iGPw + GetGoldPieceValue(GetItemInSlot(i, oTarget)); } } int ibalance = iXPw-iGPw; int iTake = abs(ibalance); SendMessageToPC(oPC, "XP = " + IntToString(iXPw) + " Gold = " + IntToString(iGPw) + " Difference (xp-gp): " + IntToString(ibalance)); if ( ibalance >0 ){ GiveGoldToCreature(oTarget, iXPw-iGPw); } else if ( ibalance <0 ) { AssignCommand(oTarget, TakeGoldFromCreature(GetGold(oTarget)-GetXP(oTarget), oTarget, TRUE)); } } Ce script est placé dans le OnActivated du module c'est un objet pour verifier l'xp et l'or du joueur. Normalement si le joueur a plus d'xp que d'or, celui-ci gagne de l'or jusqu'à qu'il soit au même niveau que l'xp. Si en revanche le joueur a moins d'xp que d'or alors le script enlève de l'or pour revenir au même niveau que l'xp. Bref... mon probleme, plutôt mes deux problemes, c'est qu'il n'enlève pas l'or, et que dans mon arène les objets comme fleches, billes, traps, et kits de soin sont soit obtenu par un objet en l'utilisant, soit gratuitement quand ils gagnent le round, et donc le script calcule l'or que vaux ces objets, et je ne veux pas. Pourtant j'ai bien placé les scripts j'ai mit les "IF", mais rien à faire. Quelqu'un pourrait m'aidé svp? c'est urgent. Merci _________________ [http] |
Revenir en haut | ![]() ![]() ![]() |
Shamrodia Novice ![]() Messages: 13 |
Dans ton script, je lis :
NWScript :
if(GetBaseItemType(oItemcheck) != BASE_ITEM_HEALERSKIT || GetBaseItemType(oItemcheck) != BASE_ITEM_ARROW || GetBaseItemType(oItemcheck) != BASE_ITEM_BULLET || GetBaseItemType(oItemcheck) != BASE_ITEM_TRAPKIT || GetBaseItemType(oItemcheck) != BASE_ITEM_BOLT) Tu ne devrais pas mettre des "&&" à la place des "||" ? Le type de ton objet doit être différent de tel type et de tel type et de tel autre type... ![]() Et pour l'or qui n'est pas retiré, je cite le Lexicon (http://nwnlexicon.com/compiled/function.takegoldfromcreature.html), à propos de la fonction TakeGoldFromCreature : Citation : The taker needs to be a non-area and non-module for it to work correctly. "Celui qui prend l'or ne doit pas être une zone ou le module pour que cela fonctionne correctement."
Tu aurais dû utiliser la fonction TakeGold (http://nwnlexicon.com/compiled/function.takegold.html) : Citation : Removes nAmount gold from oGoldHolder and removes it from the game world. "Retire nAmount pièces d'or à oGoldHolder et les retire du monde du jeu."
J'espère t'avoir aidé ![]() _________________ Shamrodia, scripteuse un peu folle. |
Revenir en haut | ![]() ![]() ![]() |
Sith Vicious Grand Sage du Conseil ![]() Messages: 693 |
Pour l'or je voudrais pas dire mais quand même ^^
|
Revenir en haut | ![]() ![]() ![]() |
Shamrodia Novice ![]() Messages: 13 |
Oups, navrée Sith
![]() _________________ Shamrodia, scripteuse un peu folle. |
Revenir en haut | ![]() ![]() ![]() |
Sith Vicious Grand Sage du Conseil ![]() Messages: 693 |
Ah non c'était pas à toi que je m'adressais !! Mais à Black Knight, je lui avais déjà répondu là dessus, il aurait pu faire l'effort de lire
![]() |
Revenir en haut | ![]() ![]() ![]() |
Black Knight Grand Maître Chanteur du Conseil ![]() Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Ok j'avais pas revu mes messages qui date de 4 mois aussi... bref, je vais essayé et je vous dit dessuite si cela marche
![]() _________________ [http] |
Revenir en haut | ![]() ![]() ![]() |


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