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


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
xelone
Acolyte
Inscrit le: 21 Aoû 2003
Messages: 39
Répondre en citant
Posté le : 11/01/2004 13:04:42 Sujet du message : [prob script] eboueurs

voici un script que j'ai trouvé pour un éboueur! il vire les drops des pjs mais pas ceux des monstres ! pouvez vous me dire où est le problème ?

il se mets dans le onexit de la zone. il a un peu été modifié car celui qui l'utilisais faisais disparaitre les drops en utilisant un syst de lootable corpse ! ce que je n'utilise pas. il a donc rajouté la partie "case OBJECT_TYPE_PLACEABLE:" pour moi ! mais ca ne fonctionne pas

NWScript :

int GetIsPCInArea (object oArea)
{
object oIntru = GetFirstObjectInArea(oArea);
while(GetIsObjectValid(oIntru))
{
  if(GetIsPC(oIntru))
  {
  return TRUE;
  }
  oIntru = GetNextObjectInArea(oArea);
}
return FALSE;
}

void main()
{
object oArea = OBJECT_SELF;
//Si il n'y a plus de PJ dans la zone
if(!GetIsPCInArea(oArea))
{
  object oIntru = GetFirstObjectInArea(oArea);
  //Tant que l'objet est valide et n'est pas un PJ
  while(GetIsObjectValid(oIntru) && !GetIsPC(oIntru))
  {
  int nType = GetObjectType(oIntru);
  switch(nType)
  {
    case OBJECT_TYPE_CREATURE:
    //Si la creature n'est pas en combat
    if(!GetIsInCombat(oIntru))
    {
      //Si elle provient d'une rencontre, elle est detruite
      if(GetIsEncounterCreature(oIntru))
      {
      DestroyObject(oIntru);
      }
      //Sinon elle se repose et se soigne
      else
      {
      AssignCommand(oIntru, ActionRest());
      ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectHeal(GetMaxHitPoints(oIntru)), oIntru);
      }
    }
    break;
    case OBJECT_TYPE_ITEM:
    //Si l'objet n'est pas un objet de quete et qu'il n'est pas possede par un PJ
    if(!GetPlotFlag() && !GetIsPC(GetItemPossessor(oIntru)))
    {
      //DeleteLocalFloat(oIntru, "Durabilite");
      DestroyObject(oIntru);
    }
    break;
    case OBJECT_TYPE_PLACEABLE:
int nN = 1;
for(nN = 1; nN > 6; nN++)
{
  if(GetTag(oIntru) == "LootBag"+IntToString(nN))
  {
  DestroyObject(oIntru);
  }
}
break;
  }
  oIntru = GetNextObjectInArea(oArea);
  }
}
}
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
 
kiky.le.magnifique
Homme très gay
Inscrit le: 19 Sep 2003
Messages: 907
Localisation: Camping de la nation martienne...
Répondre en citant
Posté le : 11/01/2004 16:54:38 Sujet du message :

C'est normale, puisque la définition de GetIsPCInArea montre qu'on ne cherche que les joueurs, pas les monstres!


NWScript :
int GetIsPCInArea (object oArea)
{
object oIntru = GetFirstObjectInArea(oArea);
while(GetIsObjectValid(oIntru))
{

  if(GetIsPC(oIntru))
  {
  return TRUE;
  }
  oIntru = GetNextObjectInArea(oArea);
//si non il zappe et en cherche un autre
}
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.


Donc il suffit surement (mais pas sûr) de modifier ce passage.
En le remplaçant par :
NWScript :
int GetIsPCInArea (object oArea)
{
object oIntru = GetFirstObjectInArea(oArea);
while(GetIsObjectValid(oIntru))
{
  return TRUE;
  oIntru = GetNextObjectInArea(oArea);
}
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.

ça devrait tourner.
A confirmer tout de même, j'ai pas regarder en détail...
_________________
http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin!
 
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 54.023ms