La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 17/05/2024 06:00: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 : 07/04/2007 17:43:17 Sujet du message : String et GetCampaignString ? Marche pas?!

Salut.

Voila j'ai un problème que j'arrive pas à comprendre, j'vous explique :

donc c'est toujours dans mon principe de guilde, j'ai fait en sorte que le joueur choisisse le nom, le tag, et la description de sa guilde. J'utilise le même système pour chaque : J'utilise une variable non-persistante et à la fin on récapitule. Ici tout marche, tout est dit dans un dialogue avec la fonction SetCustomToken.

Quand le joueur crée en revanche, voila le problème. J'utilise toujours le même système : j'prend les variables Non-persistante que je mets dans une variable persistante. Pour le nom et le tag ça marche impec... pour la description ça marche pas !

Pour verifier j'ai fait un baton pour voir "l'actualité" de sa guilde. Et il y a toutes les informations, et j'utilise les variables persistantes pour savoir. Bein dans la rubrique "Description" il y a rien ... donc c'est pas sauvegarder ! Pourtant j'ai re-vu 150 mille fois le script, revu et revu, etc... pas moyen de trouver !

voici le script :

FONCTION: G_CreateGuilde(object oPC, object oPNJ);
NWScript :
void G_CreateGuilde(object oPC, object oPNJ)
{
string sName = GetLocalString(oPNJ, "G_NAME");
string sTag = GetLocalString(oPNJ, "G_TAG");
string sDescription = GetLocalString(oPNJ, "G_DESCRIPTION");
string sChef = GetPCPlayerName(oPC);
int iMaxGuilde = M_GUILDE;
int iGuilde = 1;
int iSTOP = FALSE;
    while(iGuilde <= iMaxGuilde && iSTOP == FALSE)
    {
        if(GetCampaignInt(SYSTEME, W_GUILDE+W_NUMBER+IntToString(iGuilde), GetModule()) == 0)
        {
        SetCampaignInt(SYSTEME, W_GUILDE+W_NUMBER+IntToString(iGuilde), 1, GetModule());
        SetCampaignString(SYSTEME, W_GUILDE+W_NUMBER+IntToString(iGuilde)+"/"+W_NAME, sName, GetModule());
        SetCampaignString(SYSTEME, W_GUILDE+W_NUMBER+IntToString(iGuilde)+"/"+W_NAME+W_TAG, sTag, GetModule());
        SetCampaignString(SYSTEME, W_GUILDE+W_NUMBER+IntToString(iGuilde)+"/"+W_NAME+W_DESCRIPTION, sDescription, GetModule());
        SetCampaignString(SYSTEME, W_GUILDE+W_NUMBER+IntToString(iGuilde)+"/"+W_NAME+W_CHEF, sChef, GetModule());
        //SendMessageToPC(oPC, "Vous venez de crer votre guilde ! Vous etes la guilde numero "+IntToString(iGuilde)+&q uot; !. Vous pouvez visiter le forum pour savoir comment marche les guildes.");
        SetCampaignInt(SYSTEME, W_NUMBER+sChef, iGuilde, GetModule());
        CreateItemOnObject("g_info", oPC);
        CreateItemOnObject("g_invit", oPC);
        CreateItemOnObject("g_kick", oPC);
        CreateItemOnObject("g_modif", oPC);
        DeleteLocalString(oPNJ, "G_NAME");
        DeleteLocalString(oPNJ, "G_TAG");
        DeleteLocalString(oPNJ, "G_DESCRIPTION");
        iSTOP = TRUE;
        }
        else
        {
        //SendMessageToPC(oPC, "Guilde numero "+IntToString(iGuilde)+&q uot; prise. Suivante...");
        }
    iGuilde++;
    }
    if(iSTOP == FALSE)
    {
    SendMessageToPC(oPC, ""+IntToString(M_GUILDE)+"");
    }
}
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.


Ici on prend les variables non persistantes qui ont été stockées sur oPNJ et on les met dans une variable persistante. (Regardez, c'est le même système). Je m'escuse si vous comprenez pas les chemins, mais j'ai utilisé des const string pour m'y retrouver facilement (j'ai fait une sorte de répertoire et ça m'aide fortement).

FONCTION: G_InfoGuilde(object oPC, int iInfo);
NWScript :
string G_InfoGuilde(object oPC, int iInfo)
{
string sPC = GetPCPlayerName(oPC);
int iGuilde = GetCampaignInt(SYSTEME, W_NUMBER+sPC, GetModule());

string sInfo = "ERROR: --source_guilde-- -&gt; G_InfoGuilde : Un chiffre n'a pas ete correctement placer!";
string sName = GetCampaignString(SYSTEME, W_GUILDE+W_NUMBER+IntToString(iGuilde)+"/"+W_NAME, GetModule());
string sTag = GetCampaignString(SYSTEME, W_GUILDE+W_NUMBER+IntToString(iGuilde)+"/"+W_NAME+W_TAG, GetModule());
string sChef = GetCampaignString(SYSTEME, W_GUILDE+W_NUMBER+IntToString(iGuilde)+"/"+W_NAME+W_CHEF, GetModule());
string sMembre = G_NameMembre(oPC);
string sDescription = GetCampaignString(SYSTEME, W_GUILDE+W_NUMBER+IntToString(iGuilde)+"/"+W_NAME+W_DESCRIPTION, GetModule());

    //Nom de guilde
    if(iInfo == 1){sInfo = sName;}
    //Tag de guilde
    else if(iInfo == 2){sInfo = sTag;}
    //Chef de guilde
    else if(iInfo == 3){sInfo = sChef;}
    //Membres de la guilde
    else if(iInfo == 4){sInfo = sMembre;}
    //Description de la guilde
    else if(iInfo == 5){sInfo = sDescription;}
    else{sInfo = sInfo;}
return sInfo;
}
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.


Ici, par rapport a la valeur qu'on met sur iInfo, on retrouve des informations... bein description, pas moyen ça marche pas ! Sad

Quelqu'un peut m'aider?
_________________
[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 41.111ms