La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 15/05/2024 20:28:05


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Ballbreaker1
Chevalier
Inscrit le: 11 Aoû 2006
Messages: 89
Répondre en citant
Posté le : 21/10/2006 14:07:20 Sujet du message : script pour la banque

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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
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 : 21/10/2006 16:10:24 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ballbreaker1
Chevalier
Inscrit le: 11 Aoû 2006
Messages: 89
Répondre en citant
Posté le : 22/10/2006 06:27:54 Sujet du message : script pour la banque

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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
P.Patoche
Chevalier
Inscrit le: 14 Avr 2006
Messages: 70
Localisation: France 77
Répondre en citant
Posté le : 22/10/2006 09:08:25 Sujet du message :

Bonjour, tien moi j'ai sa en stock.

NWScript :
//:Confused///////////////////////// ////////////////////////////// ////:Confused/
//:: Chargement du contenu(a placer dans le onopen du contenant):Confused/
//:Confused///////////////////////// ////////////////////////////// ////:Confused/
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);
  }
}
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.



NWScript :
//:Confused///////////////////////// ////////////////////////////// /////:Confused/
//:: Sauvegarde du contenu(a placer dans le onclose du contenant):Confused/
//:Confused///////////////////////// ////////////////////////////// /////:Confused/
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);
  }
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 le dernier pour evite de mettre des objets dit 'empilable'

NWScript :
//:Confused///////////////////////// ////////////////////////////// /////////////:Confused/
//:: Interdiction des objets de type contenants et empilables(or compris):Confused/
//:: a placer dans le ondisturbed du contenant)                          :Confused/

//:Confused///////////////////////// ////////////////////////////// /////////////:Confused/

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;
}
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.


Voila.

Patoche.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
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 : 22/10/2006 10:32:53 Sujet du message :

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 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 52.954ms