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 20:49:52


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Gagate
Voyageur
Inscrit le: 20 Aoû 2004
Messages: 2
Répondre en citant
Posté le : 20/08/2004 23:47:49 Sujet du message : un petit conseil sur un script

bonsoir à tous..

je me suis interessée sur un script.. et je ne sais pas quoi en faire bien qu'il ait l'air super sympa.

comment il agit ? eu comment se déclenche t-il ?

je vous le mets ci dessous et merci de votre aide.

NWScript :
////////////////////////////////////////////////////////////////////////////////
////////////////////////SCRIPT TO SLIP ON ICE///////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// Created by Whitemage                                                      //
// On 15th, march 2004                                                        //
//                                                                            //
// Its a very simple script that uses some commands from MotoTsume.          //
// I've added some lines to take in consideration some magic effects,        //
// item properties, feats and skills.                                        //
// Feel free to modify any of those lines.                                    //
////////////////////////////////////////////////////////////////////////////////

void SlipOnIce(object oPC, int nDC)
{

if (!GetIsPC(oPC)) return;

if (ReflexSave(oPC, nDC))
{
  FloatingTextStringOnCreature("Whoa! - Slow down! You almost fell!", oPC);
}

else
{
  FloatingTextStringOnCreature("You slipped on the ice!", oPC);
  effect eEffect = EffectDamage(d4(2), DAMAGE_TYPE_BLUDGEONING, DAMAGE_POWER_NORMAL);
  ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oPC);
  AssignCommand(oPC, SetCutsceneMode(oPC, TRUE));
  DelayCommand(0.1, AssignCommand(oPC, ClearAllActions(TRUE)));
  DelayCommand(0.2, AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_DEAD_BACK, 1.0, 2.5)));
  DelayCommand(3.0, AssignCommand(oPC, SetCutsceneMode(oPC, FALSE)));
}
}

/////////////////////////////////MAIN SCRIPT/////////////////////////////////////
// A MALUS represents a more difficult roll, so MALUS variables will be added. //
// Also, BONUS variables will be removed from the roll to be made.            //
// These commands simply add or remove points on the DC dependant on if the    //
// player has a certain effect, skill or feat.                                //
/////////////////////////////////////////////////////////////////////////////////

void main()
{
// For safe purposes only Smile
int nDC = 16;

// Major Variables
object oPC=GetEnteringObject();

// Please feel free to modify this entry: Its the main DC to be done and this is the float
// variable that will be modified trough the script. To make the DC more difficult just raise
// this variable. To make the DC more easy just lower it. The default is 16.

float fDC= 16.0;

//DEBUG AssignCommand(GetEnteringObject(), SpeakString("In the start..."+FloatToString(fDC)));

// Check to see if the player has already stepped on this ice
if ((GetLocalLocation(OBJECT_SELF, "NoMoreSlipOnThisIce") == GetLocation(OBJECT_SELF))&&
    GetLocalInt(oPC, "nNoMoreSlipOnIce") ==1) return;
/*
  Check if there's a movement speed alteration (weight is not taken in consideration
  yet and it only return effects created with a spell script.
  - Magic items effects are NOT returned with these commands
*/

effect eEffect= GetFirstEffect(oPC);
int nType;
int nHaste;

while (GetIsEffectValid(eEffect))
  {
    nType= GetEffectType(eEffect);

    // check if any spell effects are active on the entering object that might alter the DC
    if (nType == EFFECT_TYPE_MOVEMENT_SPEED_DECREASE)
    {
      // "BONUS" variable
      fDC-= 1.0;
    }
    if (nType == EFFECT_TYPE_ELEMENTALSHIELD)
    {
      // "BONUS" variable
      fDC-= 2.0;
    }
    if (nType == EFFECT_TYPE_SLOW)
    {
      // "BONUS" variable
      fDC-= 3.0;
    }
    if (nType == EFFECT_TYPE_MOVEMENT_SPEED_INCREASE)
    {
      // "MALUS" variable
      fDC+= 1.0;
    }
    if (nType == EFFECT_TYPE_HASTE)
    {
      // "MALUS" variable
      fDC+= 3.0;
      nHaste= 1;
    }
    if (nType == EFFECT_TYPE_BLINDNESS)
    {
      // "MALUS" variable
      fDC+= 3.0;
    }
    if (nType == EFFECT_TYPE_CONFUSED)
    {
      // "MALUS" variable
      fDC+= 1.0;
    }
    if (nType == EFFECT_TYPE_DAZED)
    {
      // "MALUS" variable
      fDC+= 1.0;
    }
    if (nType == EFFECT_TYPE_FRIGHTENED)
    {
      // "MALUS" variable
      fDC+= 1.0;
    }

    eEffect= GetNextEffect(oPC);
  }
//DEBUG AssignCommand(GetEnteringObject(), SpeakString("After Spell effects..."+FloatToString(fDC)));
/////// These commands check on some magic effects placed on equipped items


  int nCount=0;
  object oItem1= GetItemInSlot(INVENTORY_SLOT_HEAD, oPC);
  object oItem2= GetItemInSlot(INVENTORY_SLOT_NECK, oPC);
  object oItem3= GetItemInSlot(INVENTORY_SLOT_CLOAK, oPC);
  object oItem4= GetItemInSlot(INVENTORY_SLOT_CARMOUR, oPC);
  object oItem5= GetItemInSlot(INVENTORY_SLOT_CHEST, oPC);
  object oItem6= GetItemInSlot(INVENTORY_SLOT_ARMS, oPC);
  object oItem7= GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC);
  object oItem8= GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
  object oItem9= GetItemInSlot(INVENTORY_SLOT_BELT, oPC);
  object oItem10= GetItemInSlot(INVENTORY_SLOT_LEFTRING, oPC);
  object oItem11= GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oPC);
  object oItem12= GetItemInSlot(INVENTORY_SLOT_CWEAPON_L, oPC);
  object oItem13= GetItemInSlot(INVENTORY_SLOT_CWEAPON_R, oPC);
  object oItem14= GetItemInSlot(INVENTORY_SLOT_CWEAPON_B, oPC);
  object oItem15= GetItemInSlot(INVENTORY_SLOT_BOOTS, oPC);

      if (GetItemHasItemProperty(oItem1, ITEM_PROPERTY_TRUE_SEEING))
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem1, ITEM_PROPERTY_DARKVISION)&&GetIsNight())
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem1, ITEM_PROPERTY_HASTE) && nHaste != 1)
        {
        // "MALUS" variable
        fDC+= 3.0;
        }
      if (GetItemHasItemProperty(oItem1, ITEM_PROPERTY_MASSIVE_CRITICALS))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem1, ITEM_PROPERTY_SPECIAL_WALK))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem1, ITEM_PROPERTY_WEIGHT_INCREASE))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem2, ITEM_PROPERTY_TRUE_SEEING))
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem2, ITEM_PROPERTY_DARKVISION)&&GetIsNight())
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem2, ITEM_PROPERTY_HASTE)&& nHaste != 1)
        {
        // "MALUS" variable
        fDC+= 3.0;
        }
      if (GetItemHasItemProperty(oItem2, ITEM_PROPERTY_MASSIVE_CRITICALS))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem2, ITEM_PROPERTY_SPECIAL_WALK))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem2, ITEM_PROPERTY_WEIGHT_INCREASE))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem3, ITEM_PROPERTY_TRUE_SEEING))
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem3, ITEM_PROPERTY_DARKVISION)&&GetIsNight())
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem3, ITEM_PROPERTY_HASTE)&& nHaste != 1)
        {
        // "MALUS" variable
        fDC+= 3.0;
        }
      if (GetItemHasItemProperty(oItem3, ITEM_PROPERTY_MASSIVE_CRITICALS))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem3, ITEM_PROPERTY_SPECIAL_WALK))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem3, ITEM_PROPERTY_WEIGHT_INCREASE))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem4, ITEM_PROPERTY_TRUE_SEEING))
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem4, ITEM_PROPERTY_DARKVISION)&&GetIsNight())
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem4, ITEM_PROPERTY_HASTE)&& nHaste != 1)
        {
        // "MALUS" variable
        fDC+= 3.0;
        }
      if (GetItemHasItemProperty(oItem4, ITEM_PROPERTY_MASSIVE_CRITICALS))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem4, ITEM_PROPERTY_SPECIAL_WALK))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem4, ITEM_PROPERTY_WEIGHT_INCREASE))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem5, ITEM_PROPERTY_TRUE_SEEING))
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem5, ITEM_PROPERTY_DARKVISION)&&GetIsNight())
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem5, ITEM_PROPERTY_HASTE)&& nHaste != 1)
        {
        // "MALUS" variable
        fDC+= 3.0;
        }
      if (GetItemHasItemProperty(oItem5, ITEM_PROPERTY_MASSIVE_CRITICALS))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem5, ITEM_PROPERTY_SPECIAL_WALK))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem5, ITEM_PROPERTY_WEIGHT_INCREASE))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem6, ITEM_PROPERTY_TRUE_SEEING))
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem6, ITEM_PROPERTY_DARKVISION)&&GetIsNight())
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem6, ITEM_PROPERTY_HASTE)&& nHaste != 1)
        {
        // "MALUS" variable
        fDC+= 3.0;
        }
      if (GetItemHasItemProperty(oItem6, ITEM_PROPERTY_MASSIVE_CRITICALS))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem6, ITEM_PROPERTY_SPECIAL_WALK))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem6, ITEM_PROPERTY_WEIGHT_INCREASE))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem7, ITEM_PROPERTY_TRUE_SEEING))
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem7, ITEM_PROPERTY_DARKVISION)&&GetIsNight())
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem7, ITEM_PROPERTY_HASTE)&& nHaste != 1)
        {
        // "MALUS" variable
        fDC+= 3.0;
        }
      if (GetItemHasItemProperty(oItem7, ITEM_PROPERTY_MASSIVE_CRITICALS))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem7, ITEM_PROPERTY_SPECIAL_WALK))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem7, ITEM_PROPERTY_WEIGHT_INCREASE))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem8, ITEM_PROPERTY_TRUE_SEEING))
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem8, ITEM_PROPERTY_DARKVISION)&&GetIsNight())
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem8, ITEM_PROPERTY_HASTE)&& nHaste != 1)
        {
        // "MALUS" variable
        fDC+= 3.0;
        }
      if (GetItemHasItemProperty(oItem8, ITEM_PROPERTY_MASSIVE_CRITICALS))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem8, ITEM_PROPERTY_SPECIAL_WALK))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem8, ITEM_PROPERTY_WEIGHT_INCREASE))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem9, ITEM_PROPERTY_TRUE_SEEING))
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem9, ITEM_PROPERTY_DARKVISION)&&GetIsNight())
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem9, ITEM_PROPERTY_HASTE)&& nHaste != 1)
        {
        // "MALUS" variable
        fDC+= 3.0;
        }
      if (GetItemHasItemProperty(oItem9, ITEM_PROPERTY_MASSIVE_CRITICALS))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem9, ITEM_PROPERTY_SPECIAL_WALK))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem9, ITEM_PROPERTY_WEIGHT_INCREASE))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem10, ITEM_PROPERTY_TRUE_SEEING))
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem10, ITEM_PROPERTY_DARKVISION)&&GetIsNight())
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem10, ITEM_PROPERTY_HASTE)&& nHaste != 1)
        {
        // "MALUS" variable
        fDC+= 3.0;
        }
      if (GetItemHasItemProperty(oItem10, ITEM_PROPERTY_MASSIVE_CRITICALS))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem10, ITEM_PROPERTY_SPECIAL_WALK))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem10, ITEM_PROPERTY_WEIGHT_INCREASE))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem11, ITEM_PROPERTY_TRUE_SEEING))
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem11, ITEM_PROPERTY_DARKVISION)&&GetIsNight())
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem11, ITEM_PROPERTY_HASTE)&& nHaste != 1)
        {
        // "MALUS" variable
        fDC+= 3.0;
        }
      if (GetItemHasItemProperty(oItem11, ITEM_PROPERTY_MASSIVE_CRITICALS))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem11, ITEM_PROPERTY_SPECIAL_WALK))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem11, ITEM_PROPERTY_WEIGHT_INCREASE))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem12, ITEM_PROPERTY_TRUE_SEEING))
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem12, ITEM_PROPERTY_DARKVISION)&&GetIsNight())
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem12, ITEM_PROPERTY_HASTE)&& nHaste != 1)
        {
        // "MALUS" variable
        fDC+= 3.0;
        }
      if (GetItemHasItemProperty(oItem12, ITEM_PROPERTY_MASSIVE_CRITICALS))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem12, ITEM_PROPERTY_SPECIAL_WALK))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem12, ITEM_PROPERTY_WEIGHT_INCREASE))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem13, ITEM_PROPERTY_TRUE_SEEING))
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem13, ITEM_PROPERTY_DARKVISION)&&GetIsNight())
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem13, ITEM_PROPERTY_HASTE)&& nHaste != 1)
        {
        // "MALUS" variable
        fDC+= 3.0;
        }
      if (GetItemHasItemProperty(oItem13, ITEM_PROPERTY_MASSIVE_CRITICALS))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem13, ITEM_PROPERTY_SPECIAL_WALK))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem13, ITEM_PROPERTY_WEIGHT_INCREASE))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem14, ITEM_PROPERTY_TRUE_SEEING))
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem14, ITEM_PROPERTY_DARKVISION)&&GetIsNight())
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem14, ITEM_PROPERTY_HASTE)&& nHaste != 1)
        {
        // "MALUS" variable
        fDC+= 3.0;
        }
      if (GetItemHasItemProperty(oItem14, ITEM_PROPERTY_MASSIVE_CRITICALS))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem14, ITEM_PROPERTY_SPECIAL_WALK))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem14, ITEM_PROPERTY_WEIGHT_INCREASE))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem15, ITEM_PROPERTY_TRUE_SEEING))
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem15, ITEM_PROPERTY_DARKVISION)&&GetIsNight())
        {
        // "BONUS" variable
        fDC-= 1.0;
        }
      if (GetItemHasItemProperty(oItem15, ITEM_PROPERTY_HASTE)&& nHaste != 1)
        {
        // "MALUS" variable
        fDC+= 3.0;
        }
      if (GetItemHasItemProperty(oItem15, ITEM_PROPERTY_MASSIVE_CRITICALS))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem15, ITEM_PROPERTY_SPECIAL_WALK))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }
      if (GetItemHasItemProperty(oItem15, ITEM_PROPERTY_WEIGHT_INCREASE))
        {
        // "MALUS" variable
        fDC+= 1.0;
        }

//DEBUG AssignCommand(GetEnteringObject(), SpeakString("After item properties..."+FloatToString(fDC)));
//////////////FEATS////////////////
////////////variables//////////////

  if (GetHasFeat(FEAT_LIGHTNING_REFLEXES,oPC))
  {
    // "BONUS" variable
    fDC-= 1.0;
  }
  if (GetHasFeat(FEAT_IMPROVED_EVASION,oPC))
  {
    // "BONUS" variable
    fDC-= 2.0;
  }
  if (GetHasFeat(FEAT_EVASION,oPC))
  {
    // "BONUS" variable
    fDC-= 1.0;
  }
  if (GetHasFeat(FEAT_STEALTHY,oPC))
  {
    // "BONUS" variable
    fDC-= 1.0;
  }
  if (GetHasFeat(FEAT_SKILL_FOCUS_SPOT,oPC))
  {
    // "BONUS" variable
    fDC-= 1.0;
  }
  if (GetHasFeat(FEAT_SKILL_AFFINITY_SPOT,oPC))
  {
    // "BONUS" variable
    fDC-= 1.0;
  }
  if (GetHasFeat(FEAT_EPIC_SKILL_FOCUS_SPOT,oPC))
  {
    // "BONUS" variable
    fDC-= 1.0;
  }
  if (GetHasFeat(FEAT_BLIND_FIGHT,oPC))
  {
    // "BONUS" variable
    fDC-= 1.0;
  }
  if (GetHasFeat(FEAT_ALERTNESS,oPC))
  {
    // "BONUS" variable
    fDC-= 1.0;
  }
  if (GetHasFeat(FEAT_EPIC_REFLEXES,oPC))
  {
    // "BONUS" variable
    fDC-= 2.0;
  }
  if (GetHasFeat(FEAT_KEEN_SENSE,oPC))
  {
    // "BONUS" variable
    fDC-= 1.0;
  }
  if (GetHasFeat(FEAT_EPIC_SUPERIOR_INITIATIVE,oPC))
  {
    // "MALUS" variable
    fDC+= 2.0;
  }
  if (GetHasFeat(FEAT_EPIC_TOUGHNESS_1,oPC))
  {
    // "MALUS" variable
    fDC+= 1.0;
  }
  if (GetHasFeat(FEAT_EPIC_TOUGHNESS_2,oPC))
  {
    // "MALUS" variable
    fDC+= 1.0;
  }
  if (GetHasFeat(FEAT_TOUGHNESS,oPC))
  {
    // "MALUS" variable
    fDC+= 0.5;
  }
  if (GetHasFeat(FEAT_THUG,oPC))
  {
    // "MALUS" variable
    fDC+= 0.5;
  }
//DEBUG AssignCommand(GetEnteringObject(), SpeakString("After feats..."+FloatToString(fDC)));
//////////////SKILLS////////////////
/////////// variables //////////////

  // "BONUS" variable
  if (GetStealthMode(oPC)== STEALTH_MODE_ACTIVATED) fDC-= 2.0;

  // "BONUS" variables
  int nTumble= GetSkillRank(SKILL_TUMBLE, oPC);
  if (nTumble >=1 && nTumble <= 5) fDC-= 0.5;
  else if (nTumble >= 6 && nTumble <=10) fDC-= 1.0;
  else if (nTumble >= 11 && nTumble <=15) fDC-= 1.5;
  else if (nTumble >= 16) fDC-= 2.0;

  // "BONUS" variables
  int nSpot= GetSkillRank(SKILL_SPOT, oPC);
  if (nSpot <= 1 && nSpot <= 5) fDC-= 0.5;
  else if (nSpot >= 6 && nSpot <=10) fDC-= 1.0;
  else if (nSpot >= 11 && nSpot <=15) fDC-= 1.5;
  else if (nSpot >= 20) fDC-= 2.0;

  // "BONUS" variables
  int nDisc= GetSkillRank(SKILL_DISCIPLINE, oPC);
  if (nDisc <= 1 && nDisc <= 5) fDC-= 0.5;
  else if (nDisc >= 6 && nDisc <=10) fDC-= 1.0;
  else if (nDisc >= 11 && nDisc <=15) fDC-= 1.5;
  else if (nDisc >= 20) fDC-= 2.0;

  // "BONUS" & "MALUS" variables
  int nDex= GetAbilityScore(oPC, ABILITY_DEXTERITY);
  if (nDex <= Cool fDC+= 1.0;
  else if (nDex <= 9 && nDex <= 10) fDC+= 0.5;
  else if (nDex <= 11 && nDex <= 14) fDC-= 0.5;
  else if (nDex >= 15 && nDex <=1Cool fDC-= 1.0;
  else if (nDex >= 19 && nDex <=22) fDC-= 1.5;
  else if (nDex >= 23) fDC-= 2.0;


//DEBUG AssignCommand(GetEnteringObject(), SpeakString("After skills..."+FloatToString(fDC)));
////////////////////////////// FINAL COMMANDS ////////////////////////////////////
// These commands just handle the final DC to be made                          //
//////////////////////////////////////////////////////////////////////////////////


// Transfer to int and output the final DC to obtain
nDC= FloatToInt(fDC);

// If the DC is way below 0 don't bother the player with it again
if (nDC <= -6)
  {
  FloatingTextStringOnCreature("Whoa - Almost fell! This ice spot is tricky, but you're smarter! It will bother you no more!", oPC);
  SetLocalLocation(OBJECT_SELF, "NoMoreSlipOnThisIce", GetLocation(OBJECT_SELF));
  SetLocalInt(oPC, "nNoMoreSlipOnIce", 1);
  return;
  }

// Also, we don't want the DC to be below 0
if (nDC <= 0) nDC = 0;

// Don't bother the player doing a DC this time if the DC is 0
if (nDC == 0) return;

//DEBUG AssignCommand(GetEnteringObject(), SpeakString("On the end..."+FloatToString(fDC)));

// Run the SCRIPT TO SLIP ON ICE with the variable nDC
SlipOnIce(oPC, nDC);

}
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.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Gagate
Voyageur
Inscrit le: 20 Aoû 2004
Messages: 2
Répondre en citant
Posté le : 21/08/2004 17:32:41 Sujet du message :

merci quand même, j'ai trouvé...... Confused
......
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Valmoer
Novice
Inscrit le: 01 Sep 2004
Messages: 19
Répondre en citant
Posté le : 03/09/2004 18:48:47 Sujet du message :

Si tu as trouvé, ce serait sympa de nous en faire profiter les autres.
Ca pourrait intéresser quelqu'un. (Moi, par exemple ) Wink
 
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 36.75ms