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 09:29: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 |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
NWScript :
#include "nw_i0_plot" void main() { object oPC = GetPCSpeaker(); int XP = GetXP(oPC); int OR = GetGold(oPC); SetCustomToken(9000, IntToString(XP)); OR = OR; object oItemcheck = GetFirstItemInInventory(oPC); 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) { OR = OR + GetGoldPieceValue(oItemcheck); } oItemcheck = GetNextItemInInventory(oPC); } OR = OR; SetCustomToken(9001, IntToString(OR)); SetCustomToken(9002, IntToString(OR-XP)); int iCalcule = OR-XP; if(iCalcule > 0) { SetCustomToken(9003, "Oh! mais que vois-je, vous avez plus d'argent que vous ne devriez en avoir! Je vous les enleve dessuite!"); iCalcule = iCalcule; TakeGold(iCalcule, oPC, TRUE); } else if(iCalcule < 0) { SetCustomToken(9003, "Apparament vous avez un probleme d'or, je vais vous regler maintenant!"); iCalcule = iCalcule*(-1); GiveGoldToCreature(oPC, iCalcule); } else if(iCalcule == 0) { SetCustomToken(9003, "Non monsieurs, vous etes parfaitement reglo! Allez zoup du vent!"); } } Voila tout est dans le titre... le serveur c'est pas ce qu'il fait, j'ai un équipement de fou, enfin legit, mais dans mon serv ça pourrait être de fou, mais il me dit qu'il vaut "18 pièce d'or" lol. Enfin dites si il y a un probleme svp, j'en vois pas moi, en plus il se compile.. _________________ [http] |
Revenir en haut | |
Semcatala Grand Sage du Conseil Messages: 951 |
ok... seulement ton titre il veut rien dire ......
Et si tu nous disais clairement ou ton script est placé , ce qu'il est censé faire et qu'il ne fait pas plutôt que de nous laisser chercher ? Soit clair , si on ne te comprends pas ce sera impossible de te répondre !!! _________________ " 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 | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
Je ne voudrais pas avoir l'air de m'acharner sur toi Black knight, mais Semcatala a raison : fais un effort stp pour mettre des titres en rapport avec ton problème, et par pitié, fais un effort de lisibilité, d'orthographe, de syntaxe, de grammaire, parce que tes messages donnent pas envie qu'on t'aide, il faut les déchiffrer d'abord...
_________________ » Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine » 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII |
Revenir en haut | |
-MeteZ- Seigneur Messages: 205 Localisation: Région Parisienne (95) |
Juste, ya plein d'instructions bizzares comme :
NWScript :
OR = OR; Elles ont vraiment un interêt ? _________________ "Ne dit pas affronter les ténèbres celui qui n'a jamais connu la tombée de la nuit." |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Bon alors je vais tous vous aidé, même si c'est moi le problème ici (hein finipe...) :
Semcatala : Exacte, je sais pas d'ou vient le rapport avec le titre, je devais être bourré Citation : Et si tu nous disais clairement ou ton script est placé Black Script Citation : object oPC = GetPCSpeaker(); ça reponds pas ça? Dans un dialogue, l'action
Citation : ce qu'il est censé faire il est cencé verifier tout l'or que le PJ a (il compte aussi les items) et doit regarder si il a plus d'or que d'xp, si oui, il retire l'or en trop, sinon, c'est en dessous, il donne de l'or qu'il manque, si c'est egale RAS.
finipe : Citation : Je ne voudrais pas avoir l'air de m'acharner sur toi Black knight J'y crois pas trop...
-MeteZ- Citation : OR = OR; C'est pour que le serveur comprennent que OR n'est pas egale a un autre chiffre que OR (défois si l'on ne met pas ça, ça crée des problèmes, enfin chez moi :s)
Voila _________________ [http] |
Revenir en haut | |
Semcatala Grand Sage du Conseil Messages: 951 |
Citation : Black Script
J'ai dû rater un épisode ...... c'est quoi un " Black Script " ? Parceque là ...... Si quelqu'un veut bien m'expliquer ........ ! Black Knight > au fait t'as encore la possibilité de modifier le titre avec le bouton " éditer " il me semble ... ! _________________ " 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 | |
Fanboy Acolyte Messages: 23 |
tes or = or; ne servent strictement a rien..
une varaible est défini au début suivant sont ype ici intger de type entier donc.. or aura toujouer une valeur et quelques soit la valeur; ton or = or ne fait que dire met ma varaiabbe or avec la valeur que possede ma varaible or.. ce qui ne fera strictemen,t rien changer.. enfin tu peut déja les enlevers... tu gagnera un chouilla en performance.. pareil pour la : iCalcule = iCalcule; Citation : j'ai un équipement de fou, enfin legit, mais dans mon serv ça pourrait être de fou, mais il me dit qu'il vaut "18 pièce d'or" lol. a aucun moment tu ne calcule déja uniquement la valeur en po de tes item total de ton perso.. déja tu ne regarde que l'inventaire et pas les objet porteé !
ensuite tu dit : int OR = GetGold(oPC); puis dans ta boucle OR = OR + GetGoldPieceValue(oItemcheck); donc déja tu calcul l'or possédé du joueur plus la valuer des item de l'inventaire. a voir que si ton script ne rentrer pas dans ton if OR ne renverra que la valeur des po du joueur.. PS: enfin d'aprés moi tu n'est pas loin d'obtenir ce que tu veut, j'ai pas l'éditeur sous le nez pour d'aier plus.. mais déja ton PJ de teste a t-il des objet dans son invetaire (vu que tu ne regarde pas ce qu'il porte) ? si ca te renvois 18 po comme valeur peut etre que ton script ne rentre pas dans ton IF.. enfin combien a-t-il de PO a la base ton PJ ? tu doit d'abord regarder son argent.. puis regarder si ca te renvois plus de po.. _________________ Kikoo |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Erf vraiment désolé de vous avoir déranger, mon erreur été du à comme disé Fanboy, je n'avais pas mis le calcule de l'équipement équipé... j'ai oublier un petit copier coller
voila le script il marche bien, il prend l'or, la remer, ou il fait rien NWScript : #include "nw_i0_plot" void main() { object oPC = GetPCSpeaker(); int XP = GetXP(oPC); int OR = GetGold(oPC); SetCustomToken(9000, IntToString(XP)); OR = OR; object oItemcheck = GetFirstItemInInventory(oPC); 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) { OR = OR + GetGoldPieceValue(oItemcheck); } oItemcheck = GetNextItemInInventory(oPC); } OR = OR; int i; for(i=0;i<=13;i++) { if(GetIsObjectValid(GetItemInSlot(i, oPC))) { OR = OR + GetGoldPieceValue(GetItemInSlot(i, oPC)); } } OR = OR; SetCustomToken(9001, IntToString(OR)); SetCustomToken(9002, IntToString(OR-XP)); int iCalcule = OR-XP; if(iCalcule > 0) { SetCustomToken(9003, "Oh! mais que vois-je, vous avez plus d'argent que vous ne devriez en avoir! Je vous les enleve dessuite!"); iCalcule = iCalcule; TakeGold(iCalcule, oPC, TRUE); } else if(iCalcule < 0) { SetCustomToken(9003, "Apparament vous avez un probleme d'or, je vais vous regler maintenant!"); iCalcule = iCalcule*(-1); GiveGoldToCreature(oPC, iCalcule); } else if(iCalcule == 0) { SetCustomToken(9003, "Non monsieurs, vous etes parfaitement reglo! Allez zoup du vent!"); } } _________________ [http] |
Revenir en haut | |
-MeteZ- Seigneur Messages: 205 Localisation: Région Parisienne (95) |
NWScript : [/quote]
#include "nw_i0_plot" void main() { object oPC = GetPCSpeaker(); int iXP = GetXP(oPC); int iOR = GetGold(oPC); int i = 0; int iCalcule = 0; object oItemcheck = GetFirstItemInInventory(oPC); 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) { iOR += GetGoldPieceValue(oItemcheck); } oItemcheck = GetNextItemInInventory(oPC); } for(i=0;i<=13;i++) { if(GetIsObjectValid(GetItemInSlot(i, oPC))) { iOR += GetGoldPieceValue(GetItemInSlot(i, oPC)); } } SetCustomToken(9001, IntToString(iOR)); SetCustomToken(9002, IntToString(iOR - iXP)); iCalcule = (iOR - iXP); if(iCalcule > 0) { SetCustomToken(9003, "Oh! mais que vois-je, vous avez plus d'argent que vous ne devriez en avoir! Je vous les enleve dessuite!"); TakeGold(iCalcule, oPC, TRUE); } else if(iCalcule < 0) { SetCustomToken(9003, "Apparament vous avez un probleme d'or, je vais vous regler maintenant!"); iCalcule *= (-1); GiveGoldToCreature(oPC, iCalcule); } else if(iCalcule == 0) { SetCustomToken(9003, "Non monsieurs, vous etes parfaitement reglo! Allez zoup du vent!"); } } Je trouve que le code est bien mieux identer comme ca , enfin, il manque toujours les commentaires, sur un code long, sans commentaires, je pense que personne t'aurai aidé. Sinon j'ai enlevé les OR = OR; parce que ca sert à rien, c'est pas possible que ca ne marche pas sans. Sinon c'est que le code est pas bon. _________________ "Ne dit pas affronter les ténèbres celui qui n'a jamais connu la tombée de la nuit." |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
C'pas possible qu'il marche, lol, t'as une erreur :
Citation : iCalcule *= (-1); ou c'est normal?
Black _________________ [http] |
Revenir en haut | |
-MeteZ- Seigneur Messages: 205 Localisation: Région Parisienne (95) |
Enfaite nwscript adopte la même synthaxe que du C, donc ca marche :
NWScript :
int iNombre = 0; iNombre = iNombre + 5 // iNombre vaudra 0 + 5 = 5 iNombre = 0; iNombre += 7; iNombre += 0; // vaudra 7 iNombre -= 2; // vaudra 5 iNombre *= 10; // vaudra 50 iNombre /= 2; // vaudra 25 iNombre %= 5; Enfin bon je suis d'accord que c'est pas trop courant que les scripteurs utilisent ces raccourcis, mais bon perso. et vu ma paresse je les utilisent tout le temps . _________________ "Ne dit pas affronter les ténèbres celui qui n'a jamais connu la tombée de la nuit." |
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