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







La date/heure actuelle est 25/04/2025 00:39:30
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 |
Ballbreaker1 Chevalier Messages: 89 |
bonjour a tous , voila j'ai un problème avec ma banque. Quand les pj y dépose or ou item sa les dupliques et j'aimerais que quelqu'un puisse m'aider a résoudre se problème le script ma l'air bon mais je ne comprend pas pourquoi que sa duplique merci a tous de bien vouloir m'aider.
|
Revenir en haut | ![]() ![]() ![]() |
Black Knight Grand Maître Chanteur du Conseil ![]() Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Bon, je pense que t'as pas dû voir mes messages, mais je t'ai déjà dit de montrer tes scripts, on ne peut RIEN faire sans ça!
Je répondrais plus à tes messages, si il n'y a pas les scripts qui vont avec. _________________ [http] |
Revenir en haut | ![]() ![]() ![]() |
Ballbreaker1 Chevalier Messages: 89 |
bien voila les scripts mais je ne comprend toujours pas pourquoi que sa duplique les item et je ne vois pas ou jai fais une erreur
[/color]void main() { //cela va sauvegarder l'inventaire du coffre du PC //object oPC=GetLastClosedBy(); object oPC=GetLocalObject(OBJECT_SELF,"WHOIS_COFFRE"); bank_Save_inv(oPC,TRUE); DeleteLocalObject(OBJECT_SELF,"WHOIS_COFFRE"); }[/color] mon deuxieme script void main() { // a l'ouverture du coffre on recree tout l'inventaire object oPC=GetLastOpenedBy(); SetLocalObject(OBJECT_SELF,"WHOIS_COFFRE",oPC); bank_Create_inv(oPC,OBJECT_SELF,TRUE); } et pour terminer le 3ieme void main() { //c'est la gestion de poids du coffre object oPC2=GetLastUsedBy(); object oPC=GetLocalObject(OBJECT_SELF,"WHOIS_COFFRE"); if (oPC!=oPC2) ActionCloseDoor(OBJECT_SELF); else TestCapMax(oPC,OBJECT_SELF,500.0); } merci de bien vouloir m'aider |
Revenir en haut | ![]() ![]() ![]() |
P.Patoche Chevalier Messages: 70 Localisation: France 77 |
Bonjour, tien moi j'ai sa en stock.
NWScript :
//: ![]() ![]() //:: Chargement du contenu(a placer dans le onopen du contenant): ![]() //: ![]() ![]() void main() { string sDB = "Coffre_essais_map";// nom de la variable idem au tag du coffre string sTag = GetTag(OBJECT_SELF); int i = GetCampaignInt(sDB,sTag+"_NbreObj"); SetLocalInt(OBJECT_SELF,"NbreObj",i); while(i>-1) { i--; RetrieveCampaignObject(sDB,sTag+"_o"+IntToString(i),GetLocation(OBJECT_SELF),OBJECT_SELF); } } NWScript :
//: ![]() ![]() //:: Sauvegarde du contenu(a placer dans le onclose du contenant): ![]() //: ![]() ![]() void main() { string sDB = "Coffre_essais_map";// nom de la variable idem au tag du coffre string sTag = GetTag(OBJECT_SELF); int i = 0; object oItem = GetFirstItemInInventory(); while(oItem!=OBJECT_INVALID) { StoreCampaignObject(sDB,sTag+"_o"+IntToString(i),oItem); DestroyObject(oItem); oItem = GetNextItemInInventory(); i++; } SetCampaignInt(sDB,sTag+"_NbreObj",i); } et le dernier pour evite de mettre des objets dit 'empilable' NWScript :
//: ![]() ![]() //:: Interdiction des objets de type contenants et empilables(or compris): ![]() //:: a placer dans le ondisturbed du contenant) : ![]() //: ![]() ![]() int GetIsStackable(int BASE_ITEM_TYPE); void main() { int nDisturbType = GetInventoryDisturbType(); object oItem = GetInventoryDisturbItem(); object oCurrentItem; object oContenair; object oDisturber = GetLastDisturbed(); int nBaseItemType = GetBaseItemType(oItem); switch (nDisturbType) { case INVENTORY_DISTURB_TYPE_ADDED : { if(nBaseItemType!=BASE_ITEM_LARGEBOX && !GetIsStackable(nBaseItemType)) { SetLocalInt(OBJECT_SELF, "NbreObj",GetLocalInt(OBJECT_SELF, "NbreObj")+1); } else { if (GetIsObjectValid(oDisturber)) { if(GetBaseItemType(oItem)!=BASE_ITEM_LARGEBOX) { CopyItem(oItem, oDisturber, TRUE); DestroyObject(oItem); } else { oContenair = CreateItemOnObject(GetResRef(oItem),oDisturber); oCurrentItem = GetFirstItemInInventory(oItem); while(oCurrentItem!=OBJECT_INVALID) { CopyItem(oCurrentItem, oContenair, TRUE); oCurrentItem = GetNextItemInInventory(oItem); } DestroyObject(oItem); } if (GetIsPC(oDisturber)) { SendMessageToPC(oDisturber, "Votre coffre ne vous permet pas de stocker cela."); } } else { DestroyObject(oItem); } } }break; case INVENTORY_DISTURB_TYPE_REMOVED : case INVENTORY_DISTURB_TYPE_STOLEN : { SetLocalInt(OBJECT_SELF, "NbreObj",GetLocalInt(OBJECT_SELF, "NbreObj")-1); }break; } } int GetIsStackable(int BASE_ITEM_TYPE) { switch(BASE_ITEM_TYPE) { case 39: case 49: case 54: case 62: case 75: case 77: case 81: case 104: case 105: case 31: case 59: case 63: case 20: case 25: case 27: case 76: return TRUE; break; default: return FALSE; break; } return FALSE; } Voila. Patoche. |
Revenir en haut | ![]() ![]() ![]() |
Black Knight Grand Maître Chanteur du Conseil ![]() Messages: 1031 Localisation: Fin fond du trou du cul du monde |
J'ai pas regarder le script de Pat (enfin à la va vite), mais Ball, pour mettre en script les balise sont :
[*nwscript][*/nwscript] (sans les *) BK _________________ [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