JeuxOnLineForumsPlusConnectés : 477 (sites) | 777 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > J'ai un problème de scripts, aidez moi s'il vous plait RSS
   
Répondre
Partager Outils Rechercher
Avatar de MasterRPG
MasterRPG
Roi
 
Avatar de MasterRPG
 
Exclamation

[Ok] J'ai un problème de scripts, aidez moi s'il vous plait

J'ai un problème avec mes scripts

voici le fichier guilde_include.nss :
Code PHP:
#include "aps_include"

// Ajouter un guilde
// sTable = Table MySQL
void SetGuilde(string sTable="guilde");

void SetGuilde(string sTable="guilde")
{
    
int iNum;
    
iNum Random(999999999);
    
iNum SQLEncodeSpecialChars(iNum);
    
sMaitre SQLEncodeSpecialChars(GetPCPlayerName(oObject));

    
string sSQL "SELECT num FROM " sTable " WHERE num='" IntToString(iNum) +
                  
"'";
    
SQLExecDirect(sSQL);

    if (
SQLFirstRow() == SQL_SUCCESS)
    {
        
// Si elle existe déja
        
iNum Random(999999999);
        
iNum SQLEncodeSpecialChars(iNum);
        
sSQL "INSERT INTO " sTable " (num,nom,maitre) VALUES" +
               
"('" IntToString(iNum) + "','Sans Nom','" +
               
sMaitre "')";
        
SQLExecDirect(sSQL);
        return 
iNum;
    }
    else
    {
        
// Si elle n'existe pas
        
sSQL "INSERT INTO " sTable " (num,nom,maitre) VALUES" +
               
"('" IntToString(iNum) + "','Sans Nom','" +
               
sMaitre "')";
        
SQLExecDirect(sSQL);
        return 
iNum;
    }

voici le fichier guilde_crea.nss :
Code PHP:
#include "guilde_include"
void main()
{
SetGuilde("guilde");
sNum IntToString(iNum);
SetCustomToken(10001sNum);

et voici l'erreur :
Code PHP:
10/05/2003 17:52:31 Erreur'guilde_crea' n’est pas compilé.
guilde_crea.nss(17): ERREUR DECLARATION DOES NOT MATCH PARAMETERS 
Je suis qu'un débutant en scriptage et je suis sur que mon erreur est conne mais j'ai vraiment besoin d'aide.
Pour information j'utilise NWNx
Lien direct vers le message - Vieux
Avatar de Tyrion
Tyrion
Roi
 
Avatar de Tyrion
 
une erreur a la ligne 17 du crea

*compte* 7 lignes
Lien direct vers le message - Vieux
Avatar de MasterRPG
MasterRPG
Roi
 
Avatar de MasterRPG
 
C bizarre hein moi aussi j'en et compter que 7 j'ai même pensé un moment que je savait plus compter
Lien direct vers le message - Vieux
Avatar de Zunzun
Zunzun
Alpha & Oméga
 
Avatar de Zunzun
 
Des fois l'erreur est dans l'inc et il fout quand meme le nom du script. Tu pourrais nous dire laquelle c'est la ligne 17 stp ?
Lien direct vers le message - Vieux
Avatar de MasterRPG
MasterRPG
Roi
 
Avatar de MasterRPG
 
Etant donné que g remodifier le fichier (g rajouter des ligne) c plus la ligne 17 mais la ligne 29 et il y a :
iNum = SQLEncodeSpecialChars(iNum);
Lien direct vers le message - Vieux
Avatar de Tyrion
Tyrion
Roi
 
Avatar de Tyrion
 
et c'est normal comment tu peu avoir 2 variable differentes egale ?

utilise plutot

Code PHP:
sNum SQLEncodeSpecialChars(iNum); 
et pense aussi a modifier ce qui en decoule
Lien direct vers le message - Vieux
Avatar de Zunzun
Zunzun
Alpha & Oméga
 
Avatar de Zunzun
 
Ou peut-etre qu'il faut convertir iNum en string avant, vu le nom de la fonction ca m'a l'air possible.
Lien direct vers le message - Vieux
Avatar de MasterRPG
MasterRPG
Roi
 
Avatar de MasterRPG
 
sa ne change rien sa remet toujours la même erreur, ce que je ne comprend pas c que lorsque je compile guilde_include il ne me fait aucune erreur.

Je reposte le nouveau code :

partie d'aps_include sur laquel je me suis basé pour faire mon truc :
Code PHP:
void SetPersistentString(object oObjectstring sVarNamestring sValueint iExpiration=0string sTable="pwdata")
{
    
string sPlayer;
    
string sTag;

    if (
GetIsPC(oObject))
    {
        
sPlayer SQLEncodeSpecialChars(GetPCPlayerName(oObject));
        
sTag SQLEncodeSpecialChars(GetName(oObject));
    }
    else
    {
        
sPlayer "~";
        
sTag GetTag(oObject);
    }

    
sVarName SQLEncodeSpecialChars(sVarName);
    
sValue SQLEncodeSpecialChars(sValue);

    
string sSQL "SELECT player FROM " sTable " WHERE player='" sPlayer +
                  
"' AND tag='" sTag "' AND name='" sVarName "'";
    
SQLExecDirect(sSQL);

    if (
SQLFirstRow() == SQL_SUCCESS)
    {
        
// row exists
        
sSQL "UPDATE " sTable " SET val='" sValue +
               
"',expire=" IntToString(iExpiration) + " WHERE player='"sPlayer +
               
"' AND tag='" sTag "' AND name='" sVarName "'";
        
SQLExecDirect(sSQL);
    }
    else
    {
        
// row doesn't exist
        
sSQL "INSERT INTO " sTable " (player,tag,name,val,expire) VALUES" +
               
"('" sPlayer "','" sTag "','" sVarName "','" +
               
sValue "'," IntToString(iExpiration) + ")";
        
SQLExecDirect(sSQL);
    }

Mon nouveau guilde_include :
Code PHP:
/***********************************/
/* Cree par MasterRPG              */
/* Le 10/05/03                     */
/* Utilise NWNx                    */
/***********************************/

#include "aps_include"

/*****************/
/* Les Fonctions */
/*****************/

// Ajouter un guilde
// sTable = Table MySQL
void SetGuilde(object oObjectstring sTable="guilde");

/**********/
/* Script */
/**********/

void SetGuilde(object oObjectstring sTable="guilde")
{
    
int iNum;
    
string sMaitre;
    
iNum Random(999999999);
    
IntToString(iNum);
    
sNum SQLEncodeSpecialChars(iNum);
    
sMaitre SQLEncodeSpecialChars(GetPCPlayerName(oObject));

    
string sSQL "SELECT num FROM " sTable " WHERE num='" sNum +
                  
"'";
    
SQLExecDirect(sSQL);

    if (
SQLFirstRow() == SQL_SUCCESS)
    {
        
// Si elle existe déja
        
iNum Random(999999999);
        
IntToString(iNum);
        
sNum SQLEncodeSpecialChars(iNum);
        
sSQL "INSERT INTO " sTable " (num,nom,maitre) VALUES" +
               
"('" sNum "','Sans Nom','" +
               
sMaitre "')";
        
SQLExecDirect(sSQL);
        return 
iNum;
    }
    else
    {
        
// Si elle n'existe pas
        
sSQL "INSERT INTO " sTable " (num,nom,maitre) VALUES" +
               
"('" sNum "','Sans Nom','" +
               
sMaitre "')";
        
SQLExecDirect(sSQL);
        return 
iNum;
    }

le fichier guilde_crea :
Code PHP:
#include "guilde_include"
void main()
{
SetGuilde(GetLastUsedBy(), "guilde");
sNum IntToString(iNum);
SetCustomToken(10001sNum);

L'erreur :
Code PHP:
10/05/2003 20:42:58 Erreur'guilde_crea' n’est pas compilé.
guilde_crea.nss(27): ERREUR DECLARATION DOES NOT MATCH PARAMETERS 
Lien direct vers le message - Vieux
Avatar de MasterRPG
MasterRPG
Roi
 
Avatar de MasterRPG
 
Le code si dessus à une erreur, il n'y en a pas dans celle que j'ai le message est le même
Lien direct vers le message - Vieux
Avatar de Jedaï
Jedaï
Alpha & Oméga
 
Avatar de Jedaï
 
sPlayer = SQLEncodeSpecialChars(GetPCPlayerName(oObject));

Cette fonction prend comme paramètre une string, et renvoie une string.
Code PHP:
iNum Random(999999999);
IntToString(iNum);
sNum SQLEncodeSpecialChars(iNum); 
Deux problèmes :
* tu as oublié de déclarer ta string 'sNum',
* iNum est un entier, il n'est pas modifié par IntToString(iNum), aucune fonction NWScript ne modifie directement ses arguments, la façon correcte d'écrire ceci est donc :
Code PHP:
string sNum;
iNum Random(999999999);
sNum SQLEncodeSpecialChars(IntToString(iNum)); 
Lien direct vers le message - Vieux
Avatar de MasterRPG
MasterRPG
Roi
 
Avatar de MasterRPG
 
Jedai > Dans la version que g modifier j'ai fait sa. sa marche toujours pas, il me fou une autre erreur maintenant :

10/05/2003 21:02:54 : Erreur. 'guilde_crea' n’est pas compilé.
guilde_crea.nss(25): ERREUR : VARIABLE DEFINED WITHOUT TYPE

24 string sNum;
25 iNum = Random(999999999);
26 sNum = SQLEncodeSpecialChars(IntToString(iNum));

je rappelle qu'il me met c message que lorsque je compile guilde_crea

Si je met int iNum avant iNum = Random(999999999);
il me met un autre message d'erreur : PARSING VARIABLE LIST

Si j'enleve tout ce qui fait référence à iNum et sNum sa se compile parfaitement, malheuresement c indispensable pour se que je veut faire
Lien direct vers le message - Vieux
Avatar de Taern
Taern
Alpha & Oméga
 
Avatar de Taern
 
Tu n'a pas défini iNum apparemment

Vérifie que tu as ça au début :
Code PHP:
.   int iNum;
    
string sMaitre;
    
iNum Random(999999999);
    
IntToString(iNum);
    
sNum SQLEncodeSpecialChars(IntToString(iNum)); 
Lien direct vers le message - Vieux
Avatar de MasterRPG
MasterRPG
Roi
 
Avatar de MasterRPG
 
avec ce que tu ma mis sa marche mais maintenant il me met un message : RETURN TYPE AND FUNCTION TYPE MISMATCHED
Lien direct vers le message - Vieux
Avatar de Taern
Taern
Alpha & Oméga
 
Avatar de Taern
 
A un moment dans ta fonction tu utilise :
Code PHP:
return iNum
Or ta fonction est de type void, donc elle ne peut rien renvoyer.

Tiens, essaie ça, j'ai corrigé tout ce qui semblait ne pas aller (d'ailleurs ce que j'ai dis dans le post précédent est une grosse ânerie):

Code PHP:
void SetGuilde(object oObjectstring sTable="guilde")
{
    
int iNum;
    
string sMaitre;
    
iNum Random(999999999);
    
string sNum SQLEncodeSpecialChars(IntToString(iNum));
    
sMaitre SQLEncodeSpecialChars(GetPCPlayerName(oObject));

    
string sSQL "SELECT num FROM " sTable " WHERE num='" sNum +"'";
    
SQLExecDirect(sSQL);

    if (
SQLFirstRow() == SQL_SUCCESS)
    {
        
// Si elle existe déja
        
iNum Random(999999999);
        
IntToString(iNum);
        
sNum SQLEncodeSpecialChars(iNum);
        
sSQL "INSERT INTO " sTable " (num,nom,maitre) VALUES" +
               
"('" sNum "','Sans Nom','" +
               
sMaitre "')";
        
SQLExecDirect(sSQL);
    }
    else
    {
        
// Si elle n'existe pas
        
sSQL "INSERT INTO " sTable " (num,nom,maitre) VALUES" +
               
"('" sNum "','Sans Nom','" +
               
sMaitre "')";
        
SQLExecDirect(sSQL);
    }

Lien direct vers le message - Vieux
Avatar de MasterRPG
MasterRPG
Roi
 
Avatar de MasterRPG
 
Si elle peut rien renvoyer ma fonction comment je fait pour récupérer le numéro et le donner dans une conversation alors ?
Comment je doit faire ?
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > J'ai un problème de scripts, aidez moi s'il vous plait
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 10h05.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite