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


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Attention ! Vous êtes en train de lire un message hors de son contexte. Veuillez lire le sujet Probleme avec un Script de Sous-Race en entier avant de répondre à ce message.
Paiste
Ecuyer
Inscrit le: 25 Mai 2007
Messages: 65
Localisation: Montréal
Répondre en citant
Posté le : 01/12/2007 21:17:09 Sujet du message : Probleme avec un Script de Sous-Race

Je vous explique mon probleme....jai introduit un script de sous-race dans mon module...cela fonctionne tres bien, sauf quand le PJ se repose il perd tout ses pouvoirs....J'aimerais donc trouver une facon de corriger se probleme plutot genant.... Je voudrais aussi preciser que mon script de repos pour l'instant est ceci de nwn par default! voici mon script de sous-race pour vous donner une idee du style de script.

NWScript :
///////////modified by:  AZAZEL 27 oct 2007




#include "god_inc"
#include "cad_detcorps"

void main()
{
GodClientEnter();

////////////////////////////////////////////////////////////////////////////////
//// Subrace OnStart script      //////////////////////////////////////////////
//// Created by: harv711          //////////////////////////////////////////////
//// Created on: October 1, 2003  //////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////


object oPC = GetEnteringObject();
int nLvL1 =  GetLevelByPosition(1, oPC);
int nLvL2 =  GetLevelByPosition(2, oPC);
int nLvL3 =  GetLevelByPosition(3, oPC);
int iSpellResist = 11 + nLvL1 + nLvL2 + nLvL3;
int iGenResit = 5 + ((nLvL1 + nLvL2 + nLvL3)/2);
int iPercentVampyre = 20 + nLvL1 + nLvL2 + nLvL3;
////////////////////////////////////////////////////////////////////////////////
effect eAbilityInCHA2 = ExtraordinaryEffect( SupernaturalEffect(EffectAbilityIncrease(ABILITY_CHARISMA, 2)));
effect eAbilityInCON2 = ExtraordinaryEffect( SupernaturalEffect(EffectAbilityIncrease(ABILITY_CONSTITUTION, 2)));
effect eAbilityInDEX2 = ExtraordinaryEffect( SupernaturalEffect(EffectAbilityIncrease(ABILITY_DEXTERITY, 2)));
effect eAbilityInINT2 = ExtraordinaryEffect( SupernaturalEffect(EffectAbilityIncrease(ABILITY_INTELLIGENCE, 2)));
effect eAbilityInSTR1 = ExtraordinaryEffect( SupernaturalEffect(EffectAbilityIncrease(ABILITY_STRENGTH, 1)));
effect eAbilityInSTR2 = ExtraordinaryEffect( SupernaturalEffect(EffectAbilityIncrease(ABILITY_STRENGTH, 2)));
effect eAbilityInWIS2 = ExtraordinaryEffect( SupernaturalEffect(EffectAbilityIncrease(ABILITY_WISDOM, 2)));
////////////////////////////////////////////////////////////////////////////////
effect eAbilityDeCHA1 = ExtraordinaryEffect( SupernaturalEffect(EffectAbilityDecrease(ABILITY_CHARISMA, 1)));
effect eAbilityDeCHA2 = ExtraordinaryEffect( SupernaturalEffect(EffectAbilityDecrease(ABILITY_CHARISMA, 2)));
effect eAbilityDeCHA4 = ExtraordinaryEffect( SupernaturalEffect(EffectAbilityDecrease(ABILITY_CHARISMA, 4)));
effect eAbilityDeCON2 = ExtraordinaryEffect( SupernaturalEffect(EffectAbilityDecrease(ABILITY_CONSTITUTION, 2)));
effect eAbilityDeCON4 = ExtraordinaryEffect( SupernaturalEffect(EffectAbilityDecrease(ABILITY_CONSTITUTION, 4)));
effect eAbilityDeDEX2 = ExtraordinaryEffect( SupernaturalEffect(EffectAbilityDecrease(ABILITY_DEXTERITY, 2)));
effect eAbilityDeINT1 = ExtraordinaryEffect( SupernaturalEffect(EffectAbilityDecrease(ABILITY_INTELLIGENCE, 1)));
effect eAbilityDeINT2 = ExtraordinaryEffect( SupernaturalEffect(EffectAbilityDecrease(ABILITY_INTELLIGENCE, 2)));
effect eAbilityDeSTR2 = ExtraordinaryEffect( SupernaturalEffect(EffectAbilityDecrease(ABILITY_STRENGTH, 2)));
effect eAbilityDeWIS2 = ExtraordinaryEffect( SupernaturalEffect(EffectAbilityDecrease(ABILITY_WISDOM, 2)));
////////////////////////////////////////////////////////////////////////////////
effect eSkillInAnimal2 = ExtraordinaryEffect( SupernaturalEffect(EffectSkillIncrease(SKILL_ANIMAL_EMPATHY, 2)));
effect eSkillInAppraise2 = ExtraordinaryEffect( SupernaturalEffect(EffectSkillIncrease(SKILL_APPRAISE, 2)));
effect eSkillInHeal2 = ExtraordinaryEffect( SupernaturalEffect(EffectSkillIncrease(SKILL_HEAL, 2)));
effect eSkillInHide2 = ExtraordinaryEffect( SupernaturalEffect(EffectSkillIncrease(SKILL_HIDE, 2)));
effect eSkillInListen2 = ExtraordinaryEffect( SupernaturalEffect(EffectSkillIncrease(SKILL_LISTEN, 2)));
effect eSkillInListen1 = ExtraordinaryEffect( SupernaturalEffect(EffectSkillIncrease(SKILL_LISTEN, 1)));
effect eSkillInMoveSilent4 = ExtraordinaryEffect( SupernaturalEffect(EffectSkillIncrease(SKILL_MOVE_SILENTLY, 4)));
effect eSkillInOpenLock2 = ExtraordinaryEffect( SupernaturalEffect(EffectSkillIncrease(SKILL_OPEN_LOCK, 2)));
effect eSkillInPerform2 = ExtraordinaryEffect( SupernaturalEffect(EffectSkillIncrease(SKILL_PERFORM, 2)));
effect eSkillInSpellCraft2 = ExtraordinaryEffect( SupernaturalEffect(EffectSkillIncrease(SKILL_SPELLCRAFT, 2)));
effect eSkillInSpot2 = ExtraordinaryEffect( SupernaturalEffect(EffectSkillIncrease(SKILL_SPOT, 2)));
effect eSkillInSpot1 = ExtraordinaryEffect( SupernaturalEffect(EffectSkillIncrease(SKILL_SPOT, 1)));
effect eSkillInTumble2 = ExtraordinaryEffect( SupernaturalEffect(EffectSkillIncrease(SKILL_TUMBLE, 2)));
////////////////////////////////////////////////////////////////////////////////
effect eSkillDeAppraise2 = ExtraordinaryEffect( SupernaturalEffect(EffectSkillDecrease(SKILL_APPRAISE, 2)));
effect eSkillDeMoveSilent2 = ExtraordinaryEffect( SupernaturalEffect(EffectSkillDecrease(SKILL_MOVE_SILENTLY, 2)));
effect eSkillDePerform2 = ExtraordinaryEffect( SupernaturalEffect(EffectSkillDecrease(SKILL_PERFORM, 2)));
////////////////////////////////////////////////////////////////////////////////
effect eDarkvision = EffectVisualEffect (VFX_DUR_ULTRAVISION);
effect eAcIncrease = ExtraordinaryEffect( SupernaturalEffect(EffectACIncrease(1, AC_DODGE_BONUS, AC_VS_DAMAGE_TYPE_ALL)));
effect eAcIncrease4 = ExtraordinaryEffect( SupernaturalEffect(EffectACIncrease(4, AC_DODGE_BONUS, AC_VS_DAMAGE_TYPE_ALL)));
effect eAttack = ExtraordinaryEffect( SupernaturalEffect(EffectAttackIncrease(1, ATTACK_BONUS_OFFHAND)));
effect eLink1 = ExtraordinaryEffect( SupernaturalEffect(EffectLinkEffects(eAbilityInWIS2, eAbilityDeCHA2)));
effect eLink2 = ExtraordinaryEffect( SupernaturalEffect(EffectLinkEffects(eAbilityDeINT2, eAbilityDeCHA2)));
effect eSpellResist = ExtraordinaryEffect( SupernaturalEffect(EffectSpellResistanceIncrease(iSpellResist)));
effect eDrowWill = ExtraordinaryEffect( SupernaturalEffect(EffectSavingThrowIncrease(SAVING_THROW_WILL, 2, SAVING_THROW_TYPE_SPELL)));
effect eResistAcis5 = ExtraordinaryEffect( SupernaturalEffect(EffectDamageResistance(DAMAGE_TYPE_ACID, 5, 0)));
effect eResistCold5 = ExtraordinaryEffect( SupernaturalEffect(EffectDamageResistance(DAMAGE_TYPE_COLD, 5, 0)));
effect eResistFire5 = ExtraordinaryEffect( SupernaturalEffect(EffectDamageResistance(DAMAGE_TYPE_FIRE, 5, 0)));
effect eResistElec5 = ExtraordinaryEffect( SupernaturalEffect(EffectDamageResistance(DAMAGE_TYPE_ELECTRICAL, 5, 0)));
effect eResistGenasiElec = ExtraordinaryEffect( SupernaturalEffect(EffectDamageResistance(DAMAGE_TYPE_ELECTRICAL, iGenResit, 0)));
effect eResistGenasiBlunt = ExtraordinaryEffect( SupernaturalEffect(EffectDamageResistance(DAMAGE_TYPE_BLUDGEONING, iGenResit, 0)));
effect eResistGenasiFire = ExtraordinaryEffect( SupernaturalEffect(EffectDamageResistance(DAMAGE_TYPE_FIRE, iGenResit, 0)));
effect eResistGenasiAcid = ExtraordinaryEffect( SupernaturalEffect(EffectDamageResistance(DAMAGE_TYPE_ACID, iGenResit, 0)));
effect eSavingThrowIn2 = ExtraordinaryEffect( SupernaturalEffect(EffectSavingThrowIncrease(SAVING_THROW_ALL, 2, SAVING_THROW_TYPE_ALL)));
effect eSavingThrowDe1 = ExtraordinaryEffect( SupernaturalEffect(EffectSavingThrowDecrease(SAVING_THROW_ALL, 1, SAVING_THROW_TYPE_ALL)));
effect eResistGenasiCold = ExtraordinaryEffect( SupernaturalEffect(EffectDamageResistance(DAMAGE_TYPE_COLD, iGenResit, 0)));
effect eImmuneParalysis = ExtraordinaryEffect( SupernaturalEffect(EffectImmunity(IMMUNITY_TYPE_PARALYSIS)));
effect eImmuneSneak = ExtraordinaryEffect( SupernaturalEffect(EffectImmunity(IMMUNITY_TYPE_SNEAK_ATTACK)));
effect eImmuneSleep = ExtraordinaryEffect( SupernaturalEffect(EffectImmunity(IMMUNITY_TYPE_SLEEP)));
effect eImmuneCharm = ExtraordinaryEffect( SupernaturalEffect(EffectImmunity(IMMUNITY_TYPE_CHARM)));
effect eImmuneFear = ExtraordinaryEffect( SupernaturalEffect(EffectImmunity(IMMUNITY_TYPE_FEAR)));
effect eImmuneDominate = ExtraordinaryEffect( SupernaturalEffect(EffectImmunity(IMMUNITY_TYPE_DOMINATE)));
effect eImmuneSilence = ExtraordinaryEffect( SupernaturalEffect(EffectImmunity(IMMUNITY_TYPE_SILENCE)));
effect eSavingThrowNegative = ExtraordinaryEffect( SupernaturalEffect(EffectSavingThrowIncrease(SAVING_THROW_ALL, 2, SAVING_THROW_TYPE_NEGATIVE)));
effect eSavingThrowPositive5 = ExtraordinaryEffect( SupernaturalEffect(EffectSavingThrowDecrease(SAVING_THROW_ALL, 5, SAVING_THROW_TYPE_POSITIVE)));
effect eNegativeDamageIncrease = ExtraordinaryEffect( SupernaturalEffect(EffectDamageImmunityIncrease(DAMAGE_TYPE_NEGATIVE, iPercentVampyre)));

if(GetLocalInt(oPC, "HasSubRace") != 1)
  {
////////////////////////////////////////////////////////////////////////////////
///////////// Tom's Sub-Races //////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
if(GetSubRace(oPC)== "Vampyre" && GetHasFeat(FEAT_BLOODED, oPC))
  {
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eAbilityInSTR2, oPC);
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eAbilityInDEX2, oPC);
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eAbilityInCHA2, oPC);
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eAbilityDeCON4, oPC);
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eImmuneSneak, oPC);
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eImmuneSleep, oPC);
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eImmuneCharm, oPC);
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eImmuneDominate, oPC);
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSavingThrowNegative, oPC);
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSavingThrowPositive5, oPC);
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eNegativeDamageIncrease, oPC);
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eDarkvision, oPC);
  return;
            }
////////////////////////////////////////////////////////////////////////////////
///////////// Vistani Sub-Races ////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
if(GetHasFeat(FEAT_SKILL_FOCUS_LORE, oPC)  &&
    GetSubRace(oPC)== "Half-Vistani: Canjar" &&
    GetRacialType(oPC)== RACIAL_TYPE_HUMAN)
  {
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink1, oPC);
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSkillInSpellCraft2, oPC);
  return;
    }
////////////////////////////////////////////////////////////////////////////////
if(GetSubRace(oPC)== "Half-Vistani: Corvara" &&
    GetRacialType(oPC)== RACIAL_TYPE_HUMAN    &&
    GetHasFeat(FEAT_SKILL_FOCUS_LORE, oPC))
  {
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink1, oPC);
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSkillInOpenLock2, oPC);
  return;
    }
////////////////////////////////////////////////////////////////////////////////
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é Visiter le site web du posteur
 
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 25.797ms