La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 22/09/2024 17:38:51


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
dadoune
Novice
Inscrit le: 26 Avr 2004
Messages: 19
Localisation: 74
Répondre en citant
Posté le : 11/05/2004 20:20:43 Sujet du message : quen on passe une potre certaine arme son suprimé

Cool Salut à tous je veu un scripte qui fais que quen une persone passe cette porte tous les objet haké sois suprimer
Mai que les arme et armure hak,pas tout!
c'est pour que les haké ne bute pas les légite dans mon arene
Car sinon sa fai sa: Gun ou encore: Combat jedi
fin bon je pensse que vous avez comprit
Bon ba a+ Cool
_________________
Censuré par les admins
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
lalilo
Acolyte
Inscrit le: 18 Avr 2004
Messages: 35
Localisation: quelques par en france
Répondre en citant
Posté le : 12/05/2004 17:31:44 Sujet du message :

Salut à toi Dadoune voila se que j'ai dans ma petite réserve :

Script à mettre dans "OnClientEnter" du module...

Je n'est pas tester si ça marchais pour une zone défini mais essaye toujours,Tu le place dans "OnEnter" de la zone...

NWScript :
void ItempropCheck(object oInv, int nPCLvl);
int FindItemLevel(object oItem);
int ArmourProperties(object oItem);
int AmmoProperties(object oItem);
int WeaponProperties(object oItem);
int ThrowingProperties(object oItem);
int GloveProperties(object oItem);
int ArmourType(object oItem);
int AmmoType(object oItem);
int ThrowingType(object oItem);
int GloveType(object oItem);
int MiscType(object oItem);
int CreatureType(object oItem);
int ItemProperties(object oItem);

//added by Thaelson - converter for item level
int FindItemLevel(object oItem)
{
  int iGoldValue;
  int nIDd = GetIdentified(oItem);
  if(nIDd == FALSE) {
      SetIdentified(oItem, TRUE);
      iGoldValue = GetGoldPieceValue(oItem);
      SetIdentified(oItem, FALSE);
  } else {
      iGoldValue = GetGoldPieceValue(oItem);
  }
  if(iGoldValue <= 1000) return 1;
  if(iGoldValue > 1000 && iGoldValue <= 1500) return 2;
  if(iGoldValue > 1500 && iGoldValue <= 2500) return 3;
  if(iGoldValue > 2500 && iGoldValue <= 3500) return 4;
  if(iGoldValue > 3500 && iGoldValue <= 5000) return 5;
  if(iGoldValue > 5000 && iGoldValue <= 6500) return 6;
  if(iGoldValue > 6500 && iGoldValue <= 9000) return 7;
  if(iGoldValue > 9000 && iGoldValue <= 12000) return 8;
  if(iGoldValue > 12000 && iGoldValue <= 15000) return 9;
  if(iGoldValue > 15000 && iGoldValue <= 19500) return 10;
  if(iGoldValue > 19500 && iGoldValue <= 25000) return 11;
  if(iGoldValue > 25000 && iGoldValue <= 30000) return 12;
  if(iGoldValue > 30000 && iGoldValue <= 35000) return 13;
  if(iGoldValue > 35000 && iGoldValue <= 40000) return 14;
  if(iGoldValue > 40000 && iGoldValue <= 50000) return 15;
  if(iGoldValue > 50000 && iGoldValue <= 65000) return 16;
  if(iGoldValue > 60000 && iGoldValue <= 75000) return 17;
  if(iGoldValue > 75000 && iGoldValue <= 90000) return 18;
  if(iGoldValue > 90000 && iGoldValue <= 110000) return 19;
  if(iGoldValue > 110000 && iGoldValue <= 130000) return 20;
  if(iGoldValue > 250000) return 21;
  return 0;
}



void NukeBadItem(object oItem)
{
  object oPlayer=GetEnteringObject();
  string sName=GetName(oItem);
  string sReason=GetLocalString(oItem,"ITEMPROP");
  string sMessage="Player " + GetName(oPlayer) + "(" +
GetPCPlayerName(oPlayer) + ") ItemProp filter destruction of " + sName + ":"
+ sReason;
  WriteTimestampedLogEntry(sMessage);
  DelayCommand(10.0,FloatingTextStringOnCreature("Item " + sName + "destroyed due to " + sReason + "!",oPlayer));
  DestroyObject(oItem);
}

void ItempropCheck(object oInv, int nPCLvl)
{
if (CreatureType(oInv))
      NukeBadItem(oInv);
else
if(ArmourType(oInv) && ArmourProperties(oInv))
      NukeBadItem(oInv);
else
if(AmmoType(oInv) && AmmoProperties(oInv))
      NukeBadItem(oInv);
else
if(GloveType(oInv) && GloveProperties(oInv))
      NukeBadItem(oInv);
else
if (ThrowingType(oInv) && ThrowingProperties(oInv))
      NukeBadItem(oInv);
//added by Thaelson - nuke item if adjusted lvl > PC lvl
else
if (FindItemLevel(oInv) > nPCLvl)
      NukeBadItem(oInv);


}


int ArmourProperties(object oItem)
{
int iAPro = FALSE;
iAPro = GetItemHasItemProperty(oItem, ITEM_PROPERTY_ATTACK_BONUS)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_ATTACK_BONUS_VS_ALIGNMENT_GROUP)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_ATTACK_BONUS_VS_RACIAL_GROUP)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_ATTACK_BONUS_VS_SPECIFIC_ALIGNMENT)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_BOOMERANG)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_DANCING )+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_DAMAGE_BONUS_VS_ALIGNMENT_GROUP)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_DAMAGE_BONUS_VS_RACIAL_GROUP)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_DAMAGE_BONUS_VS_SPECIFIC_ALIGNMENT)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_DOUBLE_STACK)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_ENHANCEMENT_BONUS)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_ALIGNMENT_GROUP)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_RACIAL_GROUP)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_SPECIFIC_ALIGNEMENT)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_EXTRA_MELEE_DAMAGE_TYPE)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_EXTRA_RANGED_DAMAGE_TYPE)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_HOLY_AVENGER)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_KEEN)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_MASSIVE_CRITICALS)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_MIGHTY)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_ON_HIT_PROPERTIES)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_ON_MONSTER_HIT)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_MONSTER_DAMAGE)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_POISON)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_REGENERATION_VAMPIRIC)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_TURN_RESISTANCE)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_UNLIMITED_AMMUNITION)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_VORPAL)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_WOUNDING);

if (iAPro > 0)
{
  iAPro = TRUE;
  SetLocalString(oItem,"ITEMPROP","Armor Property Violation");
}
return iAPro;
}

int ThrowingProperties(object oItem)
{
int iThrow = FALSE;
iThrow =GetItemHasItemProperty(oItem, ITEM_PROPERTY_AC_BONUS)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_AC_BONUS_VS_ALIGNMENT_GROUP)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_AC_BONUS_VS_SPECIFIC_ALIGNMENT)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_BOOMERANG)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_DAMAGE_RESISTANCE)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_DAMAGE_REDUCTION)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_DANCING)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_KEEN)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_EXTRA_MELEE_DAMAGE_TYPE)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_DOUBLE_STACK)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_FREEDOM_OF_MOVEMENT)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_IMPROVED_EVASION)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_MIND_BLANK)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_MONSTER_DAMAGE)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_ON_MONSTER_HIT)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_SAVING_THROW_BONUS)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_REGENERATION)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_SAVING_THROW_BONUS_SPECIFIC)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_TRUE_SEEING)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_TURN_RESISTANCE);

if(iThrow > 0)
{
  iThrow = TRUE;
  SetLocalString(oItem,"ITEMPROP","Throwing Weapon Property Violation");
}
return iThrow;
}

int AmmoProperties(object oItem)
{
int iWPro = FALSE;
iWPro = GetItemHasItemProperty(oItem, ITEM_PROPERTY_ABILITY_BONUS)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_AC_BONUS)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_AC_BONUS_VS_ALIGNMENT_GROUP)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_AC_BONUS_VS_SPECIFIC_ALIGNMENT)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_ATTACK_BONUS)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_ATTACK_BONUS_VS_ALIGNMENT_GROUP)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_ATTACK_BONUS_VS_RACIAL_GROUP)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_ATTACK_BONUS_VS_SPECIFIC_ALIGNMENT)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_BOOMERANG)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_DAMAGE_RESISTANCE)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_DAMAGE_REDUCTION)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_DANCING)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_KEEN)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_DOUBLE_STACK)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_FREEDOM_OF_MOVEMENT)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_IMPROVED_EVASION)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_MIND_BLANK)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_MONSTER_DAMAGE)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_ON_MONSTER_HIT)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_REGENERATION)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_SAVING_THROW_BONUS)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_SAVING_THROW_BONUS_SPECIFIC)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_SPELL_RESISTANCE)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_TRUE_SEEING)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_TURN_RESISTANCE)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_BONUS_FEAT)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_BONUS_SPELL_SLOT_OF_LEVEL_N);

if(iWPro > 0)
{
  iWPro = TRUE;
  SetLocalString(oItem,"ITEMPROP","Ammo Property Violation");
}
return iWPro;
}


int GloveProperties(object oItem)
{
int iGPro = FALSE;
iGPro = GetItemHasItemProperty(oItem, ITEM_PROPERTY_BOOMERANG)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_DANCING)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_DOUBLE_STACK)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_ENHANCEMENT_BONUS)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_ALIGNMENT_GROUP)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_RACIAL_GROUP)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_SPECIFIC_ALIGNEMENT)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_EXTRA_MELEE_DAMAGE_TYPE)+
      GetItemHasItemProperty(oItem,
ITEM_PROPERTY_EXTRA_RANGED_DAMAGE_TYPE)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_HOLY_AVENGER)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_KEEN)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_MASSIVE_CRITICALS)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_MIGHTY)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_MIND_BLANK)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_MONSTER_DAMAGE)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_ON_MONSTER_HIT)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_TURN_RESISTANCE)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_REGENERATION_VAMPIRIC)+
      GetItemHasItemProperty(oItem, ITEM_PROPERTY_UNLIMITED_AMMUNITION);

if(iGPro > 0)
{
  iGPro = TRUE;
  SetLocalString(oItem,"ITEMPROP","Glove Property Violation");
}
return iGPro;
}

int ArmourType(object oItem)
{
int iIBA=GetBaseItemType(oItem);
if (iIBA == BASE_ITEM_AMULET ||
  iIBA == BASE_ITEM_ARMOR  ||
  iIBA == BASE_ITEM_BELT  ||
  iIBA == BASE_ITEM_BOOTS  ||
  iIBA == BASE_ITEM_CLOAK  ||
  iIBA == BASE_ITEM_HELMET ||
  iIBA == BASE_ITEM_BRACER  ||
  iIBA == BASE_ITEM_SMALLSHIELD ||
  iIBA == BASE_ITEM_TOWERSHIELD ||
  iIBA == BASE_ITEM_LARGESHIELD ||
  iIBA == BASE_ITEM_TORCH ||
  iIBA == BASE_ITEM_BELT ||
  iIBA == BASE_ITEM_BOOTS ||
  iIBA == BASE_ITEM_RING)
  return TRUE;
else
  return FALSE;
}

int AmmoType(object oItem)
{
int iIBW=GetBaseItemType(oItem);
if (iIBW == BASE_ITEM_ARROW ||
  iIBW == BASE_ITEM_BOLT ||
  iIBW == BASE_ITEM_BULLET ||
  iIBW == BASE_ITEM_TORCH)
  return TRUE;
  else
  return FALSE;
}

int ThrowingType(object oItem)
{
int iIBW=GetBaseItemType(oItem);
if (iIBW == BASE_ITEM_THROWINGAXE ||
  iIBW == BASE_ITEM_DART ||
  iIBW == BASE_ITEM_SHURIKEN)
  return TRUE;
  else
  return FALSE;
}


int GloveType(object oItem)
{
int iIBG=GetBaseItemType(oItem);
if (iIBG == BASE_ITEM_GLOVES)
  return TRUE;
else

return FALSE;
}


int CreatureType(object oItem)
{
int iIBC=GetBaseItemType(oItem);
if (iIBC == BASE_ITEM_CBLUDGWEAPON ||
  iIBC == BASE_ITEM_CPIERCWEAPON ||
  iIBC == BASE_ITEM_CSLASHWEAPON ||
  iIBC == BASE_ITEM_CSLSHPRCWEAP ||
  iIBC == BASE_ITEM_CREATUREITEM)
  {
      SetLocalString(oItem,"ITEMPROP","Creature Item");
      return TRUE;
  }
else

return FALSE;
}




void main()
{
  object oPC = GetEnteringObject();
  object oItem = GetFirstItemInInventory(oPC);
  int    iSlot;
  int    nLevel = GetHitDice(oPC);

  while (GetIsObjectValid(oItem))
  {
      ItempropCheck(oItem, nLevel);
      oItem = GetNextItemInInventory(oPC);
  }

  for (iSlot=0; iSlot<17; iSlot++)
  {
      oItem = GetItemInSlot(iSlot, oPC);
      ItempropCheck(oItem, nLevel);
  }
}
Le code a colorer syntaxiquement est trop long (plus de 10240 caractères) et risque de ne pas s'afficher du tout. Vous pouvez le voir en version colorée ici.


Voila c'est tout @++ Ca, c'est Youpi !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger 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 : 12/05/2004 17:48:02 Sujet du message : Re: quen on passe une potre certaine arme son suprimé


dadoune a écrit :
Cool Salut à tous je veu un scripte qui fais que quen une persone passe cette porte tous les objet haké sois suprimer
Mai que les arme et armure hak,pas tout!
c'est pour que les haké ne bute pas les légite dans mon arene
Car sinon sa fai sa: Gun ou encore: Combat jedi
fin bon je pensse que vous avez comprit
Bon ba a+ Cool
On ne dit pas "je veu", on dit :
- Je voudrais...
- Je souhaite...
- Je sollicite...
- J'aimerais avoir...
- J'apprécierais avoir...
- J'implore votre assistance sur...
- Je vous saurais gré de m'assister à propos de...
- Quelqu'un aurait-il l'extrême amabilité de me donner...
- Je ne saurais vous remercier assez si vous me donniez l'immense plaisir de bien vouloir ma prêter la main sur...

Bref, la formule que tu préfères pourvu qu'on ait l'impression d'avoir le choix de ne pas te répondre poliment.

Et puis, ça ne serait pas trop mal de dire "s'il vous plait" ou "merci d'avance" pour accompagner. Les émoticones, tout le monde n'y est pas sensible.

Merci de tenir compte de cette remarque.
_________________
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
 
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 35.811ms