
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.







La date/heure actuelle est 24/04/2025 15:58:31
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 |
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)+""); } } 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-- -> 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; } Ici, par rapport a la valeur qu'on met sur iInfo, on retrouve des informations... bein description, pas moyen ça marche pas ! ![]() Quelqu'un peut m'aider? _________________ [http] |
Revenir en haut | ![]() ![]() ![]() |


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