La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 22/11/2024 22:06:13


  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 : 22/11/2006 20:31:18 Sujet du message : Randon & Campaign ont des bugs?

Salut.

Voila, je crois qu'il y a 2 bugs sur deux fonctions de NWN 2 :

Random();
SetCampaign*(); // GetCampaign* (où "*" est soit Int, String, etc...);

Voila les bugs que j'ai trouvé :

Random() : Je sais que le random c'est Nombre-1. Donc en génerale, je mets Random(Nombre)+1; pour que le nombre ne soit pas à -1. Bref, mon nombre ici est 10, c'est le nombre maximum de carte que j'ai dans mon module. Cependant, le random n'a pas l'air de donner un chiffre aléatoire. Je mets la fonction de cette manière :

NWScript :
int iRandom = Random(10)+1;
if(iRandom >= 11)
{
iRandom = 1;
}
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.


Le problème, c'est que je crois que ça fait juste : 10+1 et non pas nombre entre 0 et 10 + 1, car à chaque fois je tombe sur 1. Je me suis dis, pourquoi il fait que des chiffres aléatoires de 1 (en gros je pensais qu'il ne s'occupait pas de 10), donc j'ai modifier le script comme ça :

NWScript :
int iRandom = Random(10)+1;
if(iRandom >= 11)
{
SendMessageToPC(oPC, IntToString(iRandom));
iRandom = 1;
}
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.


Enfaite non, il fait toujours des 11 et non pas des 1. J'ai fait quand même plusieurs testent, et toujours pareil, vous avez le même problème que moi? Il y a une solution?

Campaign : bein enfaite, je me sert de ça pour mettre le joueur dans la bonne équipe, et pour pas avoir de problème au cas où il y aurait un bug (crash, ou reboot). Donc je mets à 1 pour l'équipe du bien, et 2 pour l'équipe du mal. Et je vois que il ne le prend pas en compte, enfin dans mon dialogue :


Citation :
-Voulez vous entré dans votre camps, adepte du Bien?(1)
--Oui
--Non
-Choisissez une équipe s'il vous plaît.
--Bien(2)
--Pas maintenant
Voila, donc normalement, en (1) je regarde si il est dans le bien avec ce script :

NWScript :
int StartingConditional()
{

    if(GetCampaignInt("Teams", "Team_"+GetName(GetPCSpeaker()), GetPCSpeaker()) == 1)
        return TRUE;

    return FALSE;
}
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 en (2) j'active donc cette fonction :

NWScript :
SetCampaignInt("Team", "Team_"+GetName(GetPCSpeaker()), 1, GetPCSpeaker());
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, mais le problème, c'est qu'il ne vois pas que cette fonction est à 1... j'ai pas fait de test ici, mais ça marche pas chez moi, donc j'en conclue que ça bug pour moi, et pour vous? Ici j'ai une solution, c'est d'utiliser l'alignement, donc ça presse pas trop Wink

Black Knight
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
omega
Grand Chevalier
Inscrit le: 09 Jan 2004
Messages: 116
Répondre en citant
Posté le : 15/04/2007 02:48:03 Sujet du message :

Voila ce que j'utilise :

NWScript :
int iRandom = Random(10);
int iRandom2 = iRandom + 1;

if(iRandom2 >= 11)
{
iRandom2 = 1;
}
SendMessageToPC(oPC, IntToString(iRandom2));

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 ca marche nikel
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Anthraxcite
Légende vivante
Inscrit le: 12 Juin 2004
Messages: 372
Localisation: Belgique
Répondre en citant
Posté le : 15/04/2007 08:38:10 Sujet du message :

Heu faut bien lire la notice, Random(10) ça donne jamais 10, donc les codes précités ne donnent jamais 11.
int iRandom = Random(10); //De 0 à 9(0 et 9 compris)
iRandom++; //Notre plage de nombre vient de passer de 1 à 10(compris)

Random tire un nombre aléatoire sur une plage allant de 0 à la valeur du nombre passer en paramètre -1. L'une des façon de voir c'est qu'on passe au Random le nombre de possibilités que l'on veut voir sortir. Exemple si je veux 4 cas :
Random(4)
Ce qui donne une valeur retournée de 0 à 3. Je peux pas être plus clair.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Ashram
Acolyte
Inscrit le: 19 Nov 2006
Messages: 36
Répondre en citant
Posté le : 15/04/2007 09:52:27 Sujet du message :

Pour la fonction GetCampaign, tu n'as pas la même database : "teams" et "team".

Moi je l'utilise pour les quêtes et cette fonction marche très bien.
_________________
CTM 2 module pour nwn2 dans le monde de Tolkien
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur 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 : 15/04/2007 11:33:29 Sujet du message :

Hola ce topic date Embarassed

Heu j'crois que j'ai plus de problème pour le random o_O ni pour les campaigns, mais merci de vos réponses. Et effectivement, j'avais pas vu l'erreur "Team" et "Teams". Je suis pas doué -_-'

Merci Wink

BK
_________________
[http]
 
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 30.727ms