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


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
trenim
Ecuyer
Inscrit le: 24 Aoû 2005
Messages: 64
Localisation: DANS TON C** !!!!
Répondre en citant
Posté le : 06/09/2005 18:52:07 Sujet du message : detruire l'inventaire a 1er connexion et sauver le journal

je ne trouve pas comment detruire l'invantaire d'un PJ. j'ai bien trouver comment dtruire les objet equiper, mais pour le reste...

De plus, est ce qu'il est possible de sauver les données du journal de quetes ?
_________________
ON EST DES MARINES !!
ON EST NAIT POUR TUER !!

C'EST QUOI NOTRE METIER ?
TUER TUER TUER !!!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 06/09/2005 22:03:48 Sujet du message :

Pour détruire l'inventaire, il faut faire une boucle dans ce genre là :

NWScript :

object oPC = GetEnteringObject();
object oItem = GetFirstItemInInventory(oPC);
while(GetIsObjectValid(oItem))
{
    DestroyObject(oItem);
    oItem = 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.

_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
trenim
Ecuyer
Inscrit le: 24 Aoû 2005
Messages: 64
Localisation: DANS TON C** !!!!
Répondre en citant
Posté le : 06/09/2005 22:16:03 Sujet du message :

ok, merci, je testerais ca demain ^^
_________________
ON EST DES MARINES !!
ON EST NAIT POUR TUER !!

C'EST QUOI NOTRE METIER ?
TUER TUER TUER !!!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
trenim
Ecuyer
Inscrit le: 24 Aoû 2005
Messages: 64
Localisation: DANS TON C** !!!!
Répondre en citant
Posté le : 07/09/2005 13:45:54 Sujet du message :

Ca ne marche pas, sur la ligne "while" il me dit : "INVALID DECLARATION TYPE"
Deplus, ca va vider l'equipement des PJs a chaque fois qu'ils vont entrer sur le serveur...
_________________
ON EST DES MARINES !!
ON EST NAIT POUR TUER !!

C'EST QUOI NOTRE METIER ?
TUER TUER TUER !!!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 07/09/2005 14:14:06 Sujet du message :

Ben oui ça va détruire à chaque fois. Il faudrait que tu précises dans quelles conditions exactes tu souhaiterais détruire l'inventaire, je ne peux pas le deviner Laughing

Sinon chez moi ça marche très bien... As-tu bien mis ce script après le "void main()" ? Comme ceci :

NWScript :
void main()
{
 
  object oPC = GetEnteringObject();
  object oItem = GetFirstItemInInventory(oPC);
  while(GetIsObjectValid(oItem))
  {
    DestroyObject(oItem);
    oItem = 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.

_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
trenim
Ecuyer
Inscrit le: 24 Aoû 2005
Messages: 64
Localisation: DANS TON C** !!!!
Répondre en citant
Posté le : 07/09/2005 14:44:23 Sujet du message :

En fait, je voudrait vider tout l'equipement d'un joueur la premiére fois qu'il entre sur le serveur.

Pour le script, je me suis juste planter ^^
_________________
ON EST DES MARINES !!
ON EST NAIT POUR TUER !!

C'EST QUOI NOTRE METIER ?
TUER TUER TUER !!!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Seth de Sombrelune
Seigneur
Inscrit le: 10 Jan 2005
Messages: 156
Répondre en citant
Posté le : 07/09/2005 17:12:51 Sujet du message :

quand ton pj se connecte, il a 0 xp tu peu t'en servir comme condition pour lancer le script, sinon tu peu aussi essayer la variable locale mais en setcampagne (bdd)...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
trenim
Ecuyer
Inscrit le: 24 Aoû 2005
Messages: 64
Localisation: DANS TON C** !!!!
Répondre en citant
Posté le : 07/09/2005 18:45:39 Sujet du message :

voila le script final que j'utilise :

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 probléme, c'est que si je veux donner un objet aux PJ, il est tout de suite detruit...
_________________
ON EST DES MARINES !!
ON EST NAIT POUR TUER !!

C'EST QUOI NOTRE METIER ?
TUER TUER TUER !!!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Seth de Sombrelune
Seigneur
Inscrit le: 10 Jan 2005
Messages: 156
Répondre en citant
Posté le : 07/09/2005 19:59:14 Sujet du message :

toute les commande se font quasiment instantanément, donc quand tu donne ton item, il sera intégré aux items de la boucle destroy item. J'ai pas l'éditeur sous la main, je te suggère de temporiser le don des items que tu souhaite en utilisant un delaycomand...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 08/09/2005 17:51:19 Sujet du message :

Sinon si tu veux quelque chose avec des équipements selon la classe il y a [ça].
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
BenGorre
Légende vivante
Inscrit le: 12 Fév 2004
Messages: 301
Répondre en citant
Posté le : 08/09/2005 19:48:36 Sujet du message :

Piour pas que ton objet soit detruit quand tu lui donne au debut de la partie met juste un DelayCommand() ou plus simplement tu fais un ExecuteScript() avec le nom du script qui donne des objets à la fin de ton script qui détruit. en clair il fau les faire les un apres les autres et pas en même temps je te conseil de mettre ton script qui donne les objets pour voir ce qu'on peus faire.
_________________
La mort n'est rien seul le fait de mourir est terrible
Henry Fielding 1745

Le serveur Filandre a été stoppé pour le moment, je on travail à la conversion vers NWN2.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
lylver
Héros
Inscrit le: 08 Avr 2005
Messages: 274
Répondre en citant
Posté le : 10/09/2005 02:34:39 Sujet du message :

Voilà une lib de fonctions qui ... fonctionnent, ajustez le délai pour les machines lentes, ActionUnequipItem ben c'est une action : c'est pas instantané.
Mettez en lib ou en tête de votre script avant void main(){}
et appelez CleanThePc au moment ou vous souhaitez faire le ménage.

NWScript :
// Unequip for Destroy the Item in Slot
void UnequipSlotItem(int iSlot, object oPC) {
  object oItem = GetItemInSlot(iSlot, oPC) ;
  if (oItem != OBJECT_INVALID) { // mieux dans ce cas que GetIsObjectValid(oItem)
      AssignCommand(oPC, ActionUnequipItem(oItem)) ;
  }
}

void DestroyInventory(object oPC) {
  object oItem = GetFirstItemInInventory(oPC);
  while( GetIsObjectValid(oItem) ){
      DestroyObject(oItem) ;
      oItem = GetNextItemInInventory(oPC);
  }
}

void CleanThePc(object oPC) {
  int i;
  for( i=INVENTORY_SLOT_HEAD ; i<=INVENTORY_SLOT_CARMOUR ; i++ ){
      UnequipSlotItem(i, oPC) ;
  }
  DelayCommand(0.2, DestroyInventory(oPC));
  // il faut separer creation/destruction dans un script a part
  //create inventory
    //Because of timing problems this had to be moved to
    //its own function and delayed for 0.2 seconds.
    //Thanks to fendis_khan.
}
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
 
trenim
Ecuyer
Inscrit le: 24 Aoû 2005
Messages: 64
Localisation: DANS TON C** !!!!
Répondre en citant
Posté le : 10/09/2005 20:41:48 Sujet du message :

la commande DestroyInventory n'est pas reconnue par Aurora...
il n'y a pas de commande detruisant l'in ventaire, par contre, la commande ActionUnequipItem
marche au poil ^^
_________________
ON EST DES MARINES !!
ON EST NAIT POUR TUER !!

C'EST QUOI NOTRE METIER ?
TUER TUER TUER !!!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 10/09/2005 21:49:11 Sujet du message :

La commande DestroyInventory() est une fonction écrite par Lylver juste avant de l'utiliser, donc ça devrait fonctionner.

Tu devrais faire quelques Tutoriaux sur les scripts avant de venir poser des questions, ça éviterait bien des pertes de temps (parce que c'est un peu lourd de devoir à chaque fois réexpliciter le b-a-ba).
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
lylver
Héros
Inscrit le: 08 Avr 2005
Messages: 274
Répondre en citant
Posté le : 12/09/2005 20:23:31 Sujet du message :

comme quoi faut sortir un élément de son contexte en connaissance de cause, et ce surtout pour les citations et les bouts de scripts, merci pour le commentaire que j'aurais du mettre finipe, c'était extrait d'une bibliothèque de fonction et l'ordre de codage compte.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 12/09/2005 21:52:44 Sujet du message :

Oui, c'est aussi pour ça que quand on répond faut essayer de se forcer à bien préciser les circonstances, car on oublie que nous aussi au début, on ne comprenait rien Laughing

Enfin ceci dit, ça ne retire en rien le fait qu'avant de venir poser une question ou dire "ça marche pas", il faut regarder un peu tout seul, faire quelques tutoriaux, ou utiliser la RECHERCHE du forum Cool
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur 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 51.368ms