La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
FAQ
Rechercher
Liste des Membres
Groupes d'utilisateurs
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
La date/heure actuelle est 23/11/2024 17:02:48
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
flmg Novice Messages: 13 |
J'aimerais bien qu'on m'explique comment faire des coffres persistants pour les joueurs... désolée si pour vous ca parais simple pour moi ca l'est moin...
Merci d'avance |
Revenir en haut | |
Blackblood Chevalier Messages: 80 Localisation: France |
Je crois que c'est assez compliqué à réaliser. Tu devrais en trouver des tout prêts sur le Vault. Ainsi tu n'auras plus qu'à essayer et si tu veux savori comment cela fonctionne, il te suffira de jeter un oeil aux scripts.
Bonne recherche |
Revenir en haut | |
pierrot laLune Acolyte Messages: 22 |
Alors j'ai fait un script pour cela si tu veux.
Mais il a quelque defauts: voila la bibliotheque. NWScript :
//:///////////////////////// ///////////////////// //:: pier_lib_inv //:: Copyright (c) 2001 Bioware Corp. //:///////////////////////// //////////////////// /* cette bibliotheque permet de gerer la sauvegarde de l'inventaire d'un objet dans la database. ainsi l'inventaire du coffre par exemple reste le meme d'un reboot du module a l'autre. */ //:///////////////////////// //////////////////// //:: Created By: pierre Chabiland aka "pierrot laLune" //:: Created On: 7 septembre 2004 //:///////////////////////// //////////////////// //:///////////////////////// ///////////////////// //:: saveInventory //:: Copyright (c) 2001 Bioware Corp. //:///////////////////////// //////////////////// /* cette fonction permet de sauver le contenu d'un inventaire dans la base de donnee. A placer sur l'evenement onClose du coffre - string sCampaignName: le nom de la campagne. - object oPlacable: l'objet contenant l'inventaire - return int: retourne TRUE si l'inventaire est sauvegarder FALSE sinon. */ //:///////////////////////// //////////////////// //:: Created By: pierre Chabiland aka "pierrot laLune" //:: Created On: 7 septembre 2004 //:///////////////////////// //////////////////// int saveInventory(string sCampaignName,object oPlacable){ if(GetHasInventory(oPlacable)){ int iCounter = 0; string sTagPlacable = GetTag(oPlacable); // on supprime toute les reference dans la base au item mis dans l'inventaire string sItem = GetCampaignString(sCampaignName,sTagPlacable+IntToString(iCounter)); while (!(sItem == "")) { DeleteCampaignVariable(sCampaignName,sTagPlacable+IntToString(iCounter)); DeleteCampaignVariable(sCampaignName,"int"+sTagPlacable+IntToString(iCounter)); iCounter++; sItem = GetCampaignString(sCampaignName,sTagPlacable+IntToString(iCounter)); } // puis on inscrit dans la base les blueprint des objet de l'inventaire object oItem = GetFirstItemInInventory(oPlacable); iCounter = 0; while (!(oItem == OBJECT_INVALID)) { SetCampaignString(sCampaignName,sTagPlacable+IntToString(iCounter),GetResRef(oItem)); SetCampaignInt(sCampaignName,"int"+sTagPlacable+IntToString(iCounter),GetItemStackSize(oItem)); oItem = GetNextItemInInventory(oPlacable); iCounter++; } return TRUE; }else{ return FALSE; } } //:///////////////////////// ///////////////////// //:: loadInventory //:: Copyright (c) 2001 Bioware Corp. //:///////////////////////// //////////////////// /* permet de charger le contenu d'un inventaire sauvgarder dans la base de donnee. a placer dans l'evenement OnModuleLoad du module - string sCampaignName: le nom de la campagne. - object oPlacable: le conteneur - return int: TRUE si l'inventaires est charger FALSE sinon. */ //:///////////////////////// //////////////////// //:: Created By: pierre Chabiland aka "pierrot laLune" //:: Created On: 7 septembre 2004 //:///////////////////////// //////////////////// int loadInventory(string sCampaignName,object oPlacable){ if(GetHasInventory(oPlacable)){ string sTagPlacable = GetTag(oPlacable); int iCounter = 0; string sItem = GetCampaignString(sCampaignName,sTagPlacable+IntToString(iCounter)); while (!(sItem == "")) { CreateItemOnObject(sItem,oPlacable,GetCampaignInt(sCampaignName,"int"+sTagPlacable+IntToString(iCounter))); SendMessageToPC(GetFirstPC(),sItem); iCounter++; sItem = GetCampaignString(sCampaignName,sTagPlacable+IntToString(iCounter)); } return TRUE; }else{ return FALSE; } } voila il suffit d'ecrire des script assez simple du genre ça pour le onClose: NWScript :
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 ça pour le OnModuleLoad: NWScript :
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 principe est simple. a la fermeture du coffre. le contenu du coffre est sauvegarder dans la base de donnée. au charment du module on recupere les objet contenu dans la base et on les met da,s le coffre alors le point noire c'est quoi? il y en a un. je n'ai pas trouver comment stocker un objet dans la base de donnée de campagne. donc je ne stock que le blueprint de l'objet et son nombre d'exmplaire. ce qui signifie au chargmenet du module le coffre ne contiendra que des objets prevu initialement dans le module. (qui ont un blueprint reconnu). les autres seront mal interpreter voir non interpreté. autre point noir. si le server plante alors que le coffre n'est pas fermer les objet ne seront pas sauvegarder. donc adieu les items nouvellement mis dans le coffre. le probleme pourrais etre resolu en activant la sauvegarde a chaque item ajouter ou retirer. mais je ne connais pas l'evenement associer. si quelqu'un connais je suis preneur voila |
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