La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 21:06:09


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
tonton
Novice
Inscrit le: 26 Avr 2006
Messages: 8
Répondre en citant
Posté le : 26/04/2006 13:27:30 Sujet du message : Supression d'item *besoin d'aide*

voila j'ai une petite question trés simple a résoudre et comme je suis novice en script je compt sur vous pour y répondre , Merci d'avance :

voila il faudrais juste rajouter une ligne dans mon script qui enlève les pierres de rappel,ce script le fais déja mes il enlève qu'une seul foix l'item et les joueurs qui en ons acheters plusieurs voie toujour dans leurs inventaires ces fameuses pierre de Rappel .

d'ou mon problème quand un joueur ce retrouve en prison Confused .

voila le script en question :

Code :
[/code]
#include "nw_i0_spells"

void main()
{
RemoveSpecificEffect(EFFECT_TYPE_SANCTUARY, GetEnteringObject());
{

object oPC= GetEnteringObject();
if (GetIsPC(oPC))
{
if (GetItemPossessedBy(oPC, "pierre_univ")!= OBJECT_INVALID)
{
DestroyObject (GetItemPossessedBy(oPC, "pierre_univ"));
SendMessageToPC(oPC, "on vient de vous voler votre pierre de rappel");
}

}
}
}
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 26/04/2006 13:52:44 Sujet du message :

NWScript :
#include "nw_i0_spells"

void main()
{
RemoveSpecificEffect(EFFECT_TYPE_SANCTUARY, GetEnteringObject());


object oPC= GetEnteringObject();
if (!GetIsPC(oPC)) return;

object oPierre = GetFirstItemInInventory(oPC);
while (oPierre != OBJECT_INVALID)
{
  if (GetTag(oPierre) == "pierre_univ")
  {
      SendMessageToPC(oPC, "on vient de vous voler votre pierre de rappel");
      DestroyObject(oPierre);
  }
  oPierre = GetNextItemInInventory(oPC);
}

}
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.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
tonton
Novice
Inscrit le: 26 Avr 2006
Messages: 8
Répondre en citant
Posté le : 26/04/2006 15:17:09 Sujet du message :

Merci pour ta réponce aussi rapide SITH .

mes j'ai un autre petit problème car j'ai oublier d'y ajouter d'autre pierre que les joueurs save utiliser .

peux tu me refaire le script si cela nes pas trop te demander stp avec le script suivant:

NWScript :

#include "nw_i0_spells"

void main()
{
RemoveSpecificEffect(EFFECT_TYPE_SANCTUARY, GetEnteringObject());
{

object oPC= GetEnteringObject();
if (GetIsPC(oPC))
    {
    if (GetItemPossessedBy(oPC, "pierre_univ")!= OBJECT_INVALID)
        {
        DestroyObject (GetItemPossessedBy(oPC, "pierre_univ"));
        SendMessageToPC(oPC, "on vient de vous voler votre pierre de rappel");
        }
    if (GetItemPossessedBy(oPC, "bouteille_de_ricard")!= OBJECT_INVALID)
        {
        DestroyObject (GetItemPossessedBy(oPC, "bouteille_de_ricard"));
        SendMessageToPC(oPC, "on vient de vous voler votre pierre de rappel");
        }
    if (GetItemPossessedBy(oPC, "pierre_sacree2")!= OBJECT_INVALID)
        {
        DestroyObject (GetItemPossessedBy(oPC, "pierre_sacree2"));
        SendMessageToPC(oPC, "on vient de vous voler votre pierre de rappel");
        }
    if (GetItemPossessedBy(oPC, "ba_pierre_dragon")!= OBJECT_INVALID)
        {
        DestroyObject (GetItemPossessedBy(oPC, "ba_pierre_dragon"));
        SendMessageToPC(oPC, "on vient de vous voler votre pierre de rappel");
        }
    if (GetItemPossessedBy(oPC, "ba_pierre_apo")!= OBJECT_INVALID)
        {
        DestroyObject (GetItemPossessedBy(oPC, "ba_pierre_apo"));
        SendMessageToPC(oPC, "on vient de vous voler votre pierre de rappel");
        }
    if (GetItemPossessedBy(oPC, "ba_pierre_chaos")!= OBJECT_INVALID)
        {
        DestroyObject (GetItemPossessedBy(oPC, "ba_pierre_chaos"));
        SendMessageToPC(oPC, "on vient de vous voler votre pierre de rappel");
        }
    if (GetItemPossessedBy(oPC, "ba_pierre_temple")!= OBJECT_INVALID)
        {
        DestroyObject (GetItemPossessedBy(oPC, "ba_pierre_temple"));
        SendMessageToPC(oPC, "on vient de vous voler votre pierre de rappel");
        }

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


Merci encore pour ton aide et ta rapidité .
Bonne journée .
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 26/04/2006 17:15:27 Sujet du message :

suffit de rajouter les tags dans la condition :
NWScript :
#include "nw_i0_spells"

void main()
{
RemoveSpecificEffect(EFFECT_TYPE_SANCTUARY, GetEnteringObject());


object oPC= GetEnteringObject();
if (!GetIsPC(oPC)) return;

object oPierre = GetFirstItemInInventory(oPC);
string sTag;
while (oPierre != OBJECT_INVALID)
{
sTag = GetTag(oPierre);
if ( sTag == "pierre_univ"
    || sTag == "bouteille_de_ricard"
    || sTag == "pierre_sacree2"
    || sTag == /*TAG de tes objets*/) //autant de fois que necessaire
{
SendMessageToPC(oPC, "on vient de vous voler votre pierre de rappel");
DestroyObject(oPierre);
}
oPierre = GetNextItemInInventory(oPC);
}

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


Bon c'est un peu lourd, mais bon ça doit tenir. Enfin c'est bien si les objets peuvent être présents plusieurs fois dans l'inventaire, sinon ton script de départ est mieux.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
tonton
Novice
Inscrit le: 26 Avr 2006
Messages: 8
Répondre en citant
Posté le : 26/04/2006 19:17:19 Sujet du message :

Merci de ton aide.



Apres vérification j'ai une petite hereur sur ton script a la ligne 23 :
NWScript :

#include "nw_i0_spells"

void main()
{
RemoveSpecificEffect(EFFECT_TYPE_SANCTUARY, GetEnteringObject());


object oPC= GetEnteringObject();
if (!GetIsPC(oPC)) return;

object oPierre = GetFirstItemInInventory(oPC);
string sTag;
while (oPierre != OBJECT_INVALID)
{
sTag = GetTag(oPierre);
if ( sTag == "pierre_univ"
    || sTag == "pierre_sacree2"
    || sTag == "ba_pierre_dragon"
    || sTag == "ba_pierre_apo"
    || sTag == "ba_pierre_chaos"
    || sTag == "ba_pierre_temple"
{ ///////////////////l'hereur et sur cette ligne ci.////////////////
SendMessageToPC(oPC, "on vient de vous voler votre pierre de rappel");
DestroyObject(oPierre);
}
oPierre = GetNextItemInInventory(oPC);
}

}

/* warning: 1 unclosed parenthesis () */
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.
Dernière édition par tonton le 26/04/2006 19:20:08; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
tonton
Novice
Inscrit le: 26 Avr 2006
Messages: 8
Répondre en citant
Posté le : 26/04/2006 19:17:43 Sujet du message :


tonton a écrit :
Merci de ton aide.



Apres vérification j'ai une petite hereur sur ton script a la ligne 23 :
NWScript :

#include "nw_i0_spells"

void main()
{
RemoveSpecificEffect(EFFECT_TYPE_SANCTUARY, GetEnteringObject());


object oPC= GetEnteringObject();
if (!GetIsPC(oPC)) return;

object oPierre = GetFirstItemInInventory(oPC);
string sTag;
while (oPierre != OBJECT_INVALID)
{
sTag = GetTag(oPierre);
if ( sTag == "pierre_univ"
    || sTag == "pierre_sacree2"
    || sTag == "ba_pierre_dragon"
    || sTag == "ba_pierre_apo"
    || sTag == "ba_pierre_chaos"
    || sTag == "ba_pierre_temple"
{ ///////////////////l'hereur et sur cette ligne ci.////////////////
SendMessageToPC(oPC, "on vient de vous voler votre pierre de rappel");
DestroyObject(oPierre);
}
oPierre = GetNextItemInInventory(oPC);
}

}

/* warning: 1 unclosed parenthesis () */
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.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
tonton
Novice
Inscrit le: 26 Avr 2006
Messages: 8
Répondre en citant
Posté le : 26/04/2006 19:26:28 Sujet du message :

bon j'ai trouver d'ou venez le problème je devais juste rajouter une parentèse a la fin
de
|| sTag == "ba_pierre_temple" )

encore merci pour ton aide , et désoler pour le double poste .
bonne continuation .
 
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 107.784ms