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


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
KIMOUNET
Héros
Inscrit le: 19 Oct 2003
Messages: 256
Localisation: Au pays des reves
Répondre en citant
Posté le : 13/04/2006 20:26:22 Sujet du message : Torches qui s'usent

Je recherche un script ou un indice afin de faire des torches qui s'eteinent au bout d'un certain moment Very Happy, pas la peine de me dire le bouton rechercher je l'ai deja et je n'ais point trouver ma réponse Embarassed
_________________
Le savoir est comme un tresor il se partage
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Argyl
Grand Sage du Conseil
Inscrit le: 09 Fév 2005
Messages: 704
Répondre en citant
Posté le : 13/04/2006 20:32:32 Sujet du message :

Un indice : une torche s'allume quand on la sort parce-qu'il y a activation de "l'ensemble flamme-fumée" et il y a un état désactivé qui lui correspond.

Par contre, il n'est pas forcément possible de désactiver la torche de Bioware ...

Cela fait 2 indices Wink

Enjoy !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Aladar
Chevalier
Inscrit le: 15 Déc 2004
Messages: 96
Localisation: Tours
Répondre en citant
Posté le : 13/04/2006 20:54:11 Sujet du message :

Dans le OnEquip, si c'est une torche qui est equipée, un Delay du temp de la durée de la torche, et lui assigner l'animation eteinte Smile
 
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 : 13/04/2006 21:21:05 Sujet du message :

Hmmm

Sauf qu'avec un delai, tu n'es pas sur que la torche a pas été déséquipée.

A mon avis il vaut mieux une variable locale sur la torche.
Dans le OnEquip tu lance un pseudo heartbeat qui vérifie si la torche est toujours équipée et qui décrémente la variable le cas échéant. Quand la variable atteint 0, tu détruis la torche (ou tu l'éteins, d'ailleurs heu... vous faites comment ?).
 
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 : 14/04/2006 22:32:43 Sujet du message :

bon la torche c'est un item avec une propriété "Lumière", une fois le compteur à 0 on peu virer la propriété donc la torche ne produira plus de lumière (on pourait même penser à varier la propriété de 20 m pui 10 pui 5 et enfin 0 selon le compteur !) mais même dans ce cas la torche serait toujour une torche qui brule et qui fumme mais qui produit rien.

Ce que je propose :
1 Lors du premier OnEquipeItem on fixe une variable sur la torche qui aura biensur une propriété lumière 20m et on fait partir le compteur (p.e. 100)
2 chaque fois que la toorche est déséquipée, on stope le compteur et on fixe ssa valeur sur l'item torche(UnEquipeItem)
3 Lors d'un Nouvel EquipeItem, on reprend le compteur là où il en etait
4 le pseudo HB proposer par Sith contrôle le compteur et selon les palier où le compteur se trouve, on réduit la puissance de la torche (on remplace la propriété lumière 20 m par lumière 10 m puis à 5m).
5 Une fois que le compteur est à 0 on détruit simplement et purement la torche...

Bon reste plus qu'a trouver le system de compteur de vie de la torche ! Very Happy
_________________
De Tenebris Lumen Fulget.......
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Argyl
Grand Sage du Conseil
Inscrit le: 09 Fév 2005
Messages: 704
Répondre en citant
Posté le : 15/04/2006 07:26:32 Sujet du message :

C'est une chouette idée le coup de la variation de lumière au fur et à mesure de l'utilisation (enfin pour le final), mais pour la destruction, si c'est satisfaisant visuellement pour certaines torches (les "basiques" de Bio), pour les lanternes ce n'est pas très intéressant.

Mieux vaut désactiver l'ensemble flamme-fumée.
 
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 : 15/04/2006 18:04:14 Sujet du message :

le soucis c'est qu'il ny a pas de fonction "On/Off" sur les items.
J'avoue ma limite de scripteur pour ce topic (bien que si je m'y mettait à 100 % Very Happy) mais je pense que le system est viable :

La torche bioware et celle du CEP où on voit des flemmes, on les détruit c'est tout.
POur les lanterne, je propose de réduire la lumière à 0 (donc on suprime la propriété lumière sur l'item) et un message signal qu'il faut remettre de l'huile dans la lanterne. On crée un item "Flasque d'huile à Lampe" avec une propriété cible, quand on active la flasque, si la cible est un item de type lanterne (contrôle des tag item) on remet la variable du compteur à son maxi).
Pour les bougies et chandelier, on fait la mêmem chose avec un item bougie.

JE pense que ce topic est un chalenge à relever non ? Qui peux donner une piste pour la portion de script compteur ?
_________________
De Tenebris Lumen Fulget.......
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Starkanas
Grand Chevalier
Inscrit le: 14 Mai 2004
Messages: 110
Répondre en citant
Posté le : 17/04/2006 22:09:43 Sujet du message :

Voici ce que je propose :

On crée un item de tag "torche", avec comme propriété une lumière jaune de 20 mètres.
On crée ensuite ce script, que l'on sauvegarde sous le nom "torche".
NWScript :

// Le 17/04/06
#include "x2_inc_switches"
void Lumiere(object oTorche, int iLumiere)
{
  itemproperty Prop = GetFirstItemProperty(oTorche);
  while(GetIsItemPropertyValid(Prop))
  {
    if(GetItemPropertyType(GetFirstItemProperty(oTorche)) == ITEM_PROPERTY_LIGHT)
    {
      RemoveItemProperty(oTorche, Prop);
    }
    Prop = GetNextItemProperty(oTorche);
  }
  itemproperty NouvelleLumiere;
  if(iLumiere == 15){ NouvelleLumiere = ItemPropertyLight(IP_CONST_LIGHTBRIGHTNESS_NORMAL, IP_CONST_LIGHTCOLOR_YELLOW); }
  else if(iLumiere == 10){ NouvelleLumiere = ItemPropertyLight(IP_CONST_LIGHTBRIGHTNESS_LOW, IP_CONST_LIGHTCOLOR_YELLOW); }
  else if(iLumiere == 5){ NouvelleLumiere = ItemPropertyLight(IP_CONST_LIGHTBRIGHTNESS_DIM, IP_CONST_LIGHTCOLOR_YELLOW); }
  AddItemProperty(DURATION_TYPE_PERMANENT, NouvelleLumiere, oTorche);
}
void Torche(object oPC)
{
  object oTorche = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC);
  if(GetTag(oTorche) == "torche")
  {
    int iCompteur = GetLocalInt(oTorche, "utilisation");
    iCompteur--;
    SetLocalInt(oTorche, "utilisation", iCompteur);
    switch(iCompteur)
    {
      case 60:
      Lumiere(oTorche, 15);
      break;
      case 30:
      Lumiere(oTorche, 10);
      break;
      case 10:
      Lumiere(oTorche, 5);
      break;
      case 0:
      DestroyObject(oTorche);
      break;
    }
    DelayCommand(5.0, Torche(oPC));
  }
}

void main()
{
  object oPC = GetPCItemLastEquippedBy();
  object oItem = GetPCItemLastEquipped();
  int Event = GetUserDefinedItemEventNumber();
  if(GetTag(oItem) == "torche" && Event == X2_ITEM_EVENT_EQUIP)
    {
    int iCompteur = GetLocalInt(oItem, "utilisation");
    if(iCompteur == 0)
      {
      SetLocalInt(oItem, "utilisation", 100);
      }
    Torche(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.


A noter que le TagBasedScript (me sembe que c'est ça ^^) doit être activé sur votre module. Il l'est par défaut si vous venez de créer votre module avec Hordes of The Underdark.
_________________
LSDA 3ème Âge : Serveur RôlePlay basé sur les écrits de J.R.R.Tolkien ...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger 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 30.521ms