La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 09:52:36


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 08/05/2006 19:02:03 Sujet du message : Where is the pb?

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!");
}
}
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.


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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 08/05/2006 20:57:52 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 09/05/2006 13:13:51 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
-MeteZ-
Seigneur
Inscrit le: 19 Mar 2006
Messages: 205
Localisation: Région Parisienne (95)
Répondre en citant
Posté le : 09/05/2006 17:55:35 Sujet du message :

Juste, ya plein d'instructions bizzares comme :
NWScript :
OR = OR;
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.

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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 09/05/2006 20:58:40 Sujet du message :

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é Razz


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 Smile
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 09/05/2006 23:02:27 Sujet du message :


Citation :
Black Script
Surprised

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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Fanboy
Acolyte
Inscrit le: 04 Avr 2006
Messages: 23
Répondre en citant
Posté le : 10/05/2006 08:22:02 Sujet du message :

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..

Confused Embarassed 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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 10/05/2006 12:27:29 Sujet du message :

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 Confused

voila le script il marche bien, il prend l'or, la remer, ou il fait rien Very Happy

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!");
}
}
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.

_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
-MeteZ-
Seigneur
Inscrit le: 19 Mar 2006
Messages: 205
Localisation: Région Parisienne (95)
Répondre en citant
Posté le : 10/05/2006 12:37:23 Sujet du message :

NWScript :
#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!");
    }
}
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.
[/quote]

Je trouve que le code est bien mieux identer comme ca Smile, 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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 10/05/2006 19:05:03 Sujet du message :

C'pas possible qu'il marche, lol, t'as une erreur :


Citation :
iCalcule *= (-1);
ou c'est normal? Razz

Black
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
-MeteZ-
Seigneur
Inscrit le: 19 Mar 2006
Messages: 205
Localisation: Région Parisienne (95)
Répondre en citant
Posté le : 10/05/2006 21:19:29 Sujet du message :

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;
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.


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 Razz.
_________________
"Ne dit pas affronter les ténèbres celui qui n'a jamais connu la tombée de la nuit."
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
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


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 68.14ms