La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 02/05/2025 15:22:30


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
yellow submarine
Grand Chevalier
Inscrit le: 24 Oct 2003
Messages: 143
Répondre en citant
Posté le : 17/12/2003 09:17:14 Sujet du message : vêtir d'office un PJ

Bonjour

dans un premier temps l'inventaire total du PJ a été vidé et le PJ a été transformé Cool

puis je lui redonne son état initial et comme il est presque nu je veux le vêtir "vetements"

"vetements" est bien dans l'inventaire mais le PJ ne le porte pas Mad

voilà le script

NWScript :

void main()
{
object oPC = GetFirstPC();
effect eWolf = GetFirstEffect(oPC);

while(GetIsEffectValid(eWolf)==TRUE)
{
if(GetEffectType(eWolf)==EFFECT_TYPE_POLYMORPH)
{
RemoveEffect(oPC, eWolf);
}
eWolf = GetNextEffect(oPC);

object oVet = CreateItemOnObject("vetements", oPC);
AssignCommand(oPC, ActionEquipItem(oVet, INVENTORY_SLOT_CHEST));
}
}
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.


encore une énigme Mad

merci encore de votre aide

amicalement
_________________
Rien ne vaut la recherche lorsqu'on veut trouver quelque chose.

[J. R. R. Tolkien]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Lavok
Légende vivante
Inscrit le: 22 Oct 2002
Messages: 434
Localisation: Sphère planaire
Répondre en citant
Posté le : 17/12/2003 13:21:50 Sujet du message :


yellow submarine a écrit :

NWScript :

void main()
{
object oPC = GetFirstPC();
effect eWolf = GetFirstEffect(oPC);

while(GetIsEffectValid(eWolf)==TRUE)
{
if(GetEffectType(eWolf)==EFFECT_TYPE_POLYMORPH)
{
RemoveEffect(oPC, eWolf);
}
eWolf = GetNextEffect(oPC);

object oVet = CreateItemOnObject("vetements", oPC);
AssignCommand(oPC, ActionEquipItem(oVet, INVENTORY_SLOT_CHEST));
}
}
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.

Il ne faut pas mettre les deux lignes que tu as ajoutées dans le 'while', mais en-dessous :
NWScript :

void main()
{
object oPC = GetFirstPC();
effect eWolf = GetFirstEffect(oPC);

while(GetIsEffectValid(eWolf)==TRUE)
{
if(GetEffectType(eWolf)==EFFECT_TYPE_POLYMORPH)
{
RemoveEffect(oPC, eWolf);
}
eWolf = GetNextEffect(oPC);
}
object oVet = CreateItemOnObject("vetements", oPC);
AssignCommand(oPC, ActionEquipItem(oVet, INVENTORY_SLOT_CHEST));
}
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.

_________________
ToB : Une seule chose semble certaine : tant que le trône de sang de Bhaal restera vide, le chaos règnera.

Moi : Une seule chose semble certaine : tant que la tête de singe de Bush restera vide, le chaos règnera.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
yellow submarine
Grand Chevalier
Inscrit le: 24 Oct 2003
Messages: 143
Répondre en citant
Posté le : 17/12/2003 13:41:41 Sujet du message :

bonjour


Lavok a écrit :

Il ne faut pas mettre les deux lignes que tu as ajoutées dans le 'while', mais en-dessous :
je l'ai fais...mais cela ne change rien Confused

il y a bien création de "vetements", mais le PJ ne le revêt pas

cela doit venir d'autre chose Sad

amicalement
_________________
Rien ne vaut la recherche lorsqu'on veut trouver quelque chose.

[J. R. R. Tolkien]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
lendraste
Grand Maître Chanteur du Conseil
Inscrit le: 20 Fév 2003
Messages: 1403
Localisation: Quelque part ailleurs
Répondre en citant
Posté le : 17/12/2003 14:14:35 Sujet du message :

2 hypothèses :
- Ou bien la création de l'objet n'est pas tout à fait effective au moment ou la commande pour s'équiper est passée.
- Ou bien le PJ a déjà quelque chose dans sa queue d'action et l'action n'est alors pas immédiate.

Ou bien c'est une espèce de mixture des deux. J'ai un script similaire dans lequel je créé un objet sur un PNJ et je l'équipe aussitôt exactement comme tu le fais, et cela marche très bien. Toutefois, j'ai remarqué une chose troublante dans ton script. Tu as inclus la création de l'objet à l'intérieur de la boucle qui retire les effets. Cela signifie qu'à chaque fois qu'un effet est trouvé sur le PJ, un nouveau vêtement est créé dans son inventaire. J'imagine que ce n'est pas le but recherché. Je te suggère fortement de correctement indenter tes lignes de codes afin d'éviter ce genre de soucis. Avec l'indentation on voit immédiatement les ouvertures et fermetures d'acolade et tu aurais immédiatement repéré ce premier problème.
Ensuite je pense que pour s'assurer que le PJ n'est pas occupé à autre chose et que l'objet soit bien dans son inventaire avant de l'équiper, j'ajoute un ClearAllActions et une petite temporisation.
Je te propose donc la rectification suivante :
NWScript :

void main()
{
  object oPC = GetFirstPC();
  effect eWolf = GetFirstEffect(oPC);

  while(GetIsEffectValid(eWolf)==TRUE)
  {
    if(GetEffectType(eWolf)==EFFECT_TYPE_POLYMORPH)
    {
      RemoveEffect(oPC, eWolf);
    }
    eWolf = GetNextEffect(oPC);
  }
  object oVet = CreateItemOnObject("vetements", oPC);
  AssignCommand(oPC, ClearAllActions());
  AssignCommand(oPC, ActionWait(0.1));
  AssignCommand(oPC, ActionEquipItem(oVet, INVENTORY_SLOT_CHEST));
}
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.

_________________
Lendraste de Loreval
Qui cherche la Vérité cherche celui qui la détient, car elle n'existe pas à l'état naturel.
La cité des mensonges - 1
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
yellow submarine
Grand Chevalier
Inscrit le: 24 Oct 2003
Messages: 143
Répondre en citant
Posté le : 17/12/2003 14:25:36 Sujet du message :

salut

toujours le même problème, il y a bien création du "vetements" et une seule fois,
mais le PJ n'est toujours pas équipé.

si je reparle au NPJ et que je lui demande la même chose, l'action polyphorm ne se fait pas,
et mon PJ est bien équipé.

amicalement
_________________
Rien ne vaut la recherche lorsqu'on veut trouver quelque chose.

[J. R. R. Tolkien]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Lavok
Légende vivante
Inscrit le: 22 Oct 2002
Messages: 434
Localisation: Sphère planaire
Répondre en citant
Posté le : 17/12/2003 14:37:46 Sujet du message :

Je dis surement une grosse bêtise mais peut-être que dans une métamophose, pendant un court laps de temps, le personnage ciblé ne sait absolument rien faire Surprised ?
_________________
ToB : Une seule chose semble certaine : tant que le trône de sang de Bhaal restera vide, le chaos règnera.

Moi : Une seule chose semble certaine : tant que la tête de singe de Bush restera vide, le chaos règnera.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
yellow submarine
Grand Chevalier
Inscrit le: 24 Oct 2003
Messages: 143
Répondre en citant
Posté le : 17/12/2003 15:35:45 Sujet du message :

je vais essayer de contourner tout cela Very Happy
amicalement
_________________
Rien ne vaut la recherche lorsqu'on veut trouver quelque chose.

[J. R. R. Tolkien]
 
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 40.784ms