La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 15/11/2024 21:25:13


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
petitjuju
Acolyte
Inscrit le: 17 Juin 2004
Messages: 25
Répondre en citant
Posté le : 24/06/2004 13:12:46 Sujet du message : probleme avec le script tutu_tanse

j'ai utilisé se scipt en le modifiant pour un anneu mais il ne marche pas alors qu'est ce que je sois modifier

ps/pour se ki ne connaisse ps c'est tuyen qi la modifié et on peut le trouvé dans le Post:Vos script vers le début du forum
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Bloutiouf
Chevalier
Inscrit le: 18 Jan 2004
Messages: 70
Répondre en citant
Posté le : 24/06/2004 17:56:01 Sujet du message :

marque le script tel que tu l'a modifié, et indique quels changements tu voulais effectuer Smile
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
petitjuju
Acolyte
Inscrit le: 17 Juin 2004
Messages: 25
Répondre en citant
Posté le : 29/06/2004 10:51:26 Sujet du message :

désolé du retard pour se post mais j'étais occupé avec tout plein d'autre probleme voici le script modifié:
NWScript :
////////////////////////////// ///////////////////
//Name    tutu_transe
//FileName
//Copyright (c) 2001 Bioware Corp.
////////////////////////////// //////////////////
/*mettez ce script sous le nom de "tutu_transe" dans votre liste de scripts du module
Modifier le script NW_C2_DEFAULT3 ( c'est le script de fin de round ). Ensuite creez
une arme quelconque et donnez lui le tag de trance_01, trance_02 ou trance_99. Lorsque
vous utiliserez une de ces armes dans votre module, au bout d'un certain nombre de combats,
votre perso va entrer en transe et devenir beaucoup plus fort. Cette periode dure un court
instant et apres il perd beaucoup plus de puissance qu'avant la transe. Cette periode
des effets secondaires dure 90sec (modifiable).
Je me suis inspire d'un script deja poste sur NW Vault :
http://nwvault.ign.com/Files /scripts/data/1040734959970.sh tml

A noter que lorsque le PJ quitte un combat pendant la transe, lorsqu'il rencontrera
de nouveau un ennemi il reviendra a l'etat de transe, tandis que les effets de la
contretranse sont predefinis.
*/

//:Confused///////////////////////// ////////////////////
//:: Created By:  Marvin Kosh
//:: Modified By:  Tuyen
//:Confused///////////////////////// ////////////////////
void main()
{
    // ***********************DEFINIT ION DES VARIABLES********************* ******
    object oTranse = OBJECT_SELF;
    int iTemps = GetLocalInt(oTranse, "temps");

    // Definir le nombre de Hit Point max et actuel du perso
    int iMaxHP = GetMaxHitPoints(oTranse);
    int iCurHP = GetCurrentHitPoints(oTranse);
    string sRing = GetTag(GetItemInSlot(INVENTORY_SLOT_LEFTRING, oTranse));

    // Definir le type de transe
    int iTranceProcess = StringToInt(GetSubString(sRing, 7, 2));

    // Definir les dialogues d'entree et de sortie de transe
    string sTranceStart = "*Transe!*";
    string sTranceEnd = "Vous sentez les effets de la transe vous quitter.";

    // Definir la duree du temps de transe et de contretranse
    float fEffectDur = 10.0;//Ne pas changer cette valeur
    float fSideEffectDur = 10.0; /*Changez cette valeur si vous voulez que
    les effets negatifs durent plus longtemps*/


    // Definir les effets de transe et de contretranse
    effect TranceEffect1;
    effect TranceEffect2;
    effect TranceEffect3;
    effect TranceEffect4;
    effect TranceEffect5;
    effect TranceEffect6;
    effect TranceSideEffect1;
    effect TranceSideEffect2;
    effect TranceSideEffect3;

    /* Definir les effets pour chaque type de transe : Chaque cas correspond a
    un type de transe different. Vous pouvez creer des transes qui ameliorent
    les capacites de combat ou plutot ceux de magie, et aussi modifier leurs
    puissances. Pour cela utiliser les fonctions de type 'Effect***' et ajouter
    cases entre case 1 et case 99 ne pas oublier de les declater en haut si vous
    voulez ajoutez plus de 4 effets pour un type de transe. */


    switch(iTranceProcess)
        {
        case 1:
        TranceEffect1 = EffectAbilityIncrease(ABILITY_STRENGTH, 10);
        TranceEffect2 = EffectHaste();
        TranceEffect3 = EffectDamageReduction(10,DAMAGE_POWER_PLUS_TWO, 100);
        TranceEffect4 = EffectSpellResistanceIncrease(25);
        TranceEffect5 = EffectAbilityDecrease(ABILITY_DEXTERITY,5 );
        TranceEffect6 = EffectVisualEffect(VFX_IMP_POLYMORPH, TRUE);
        break;
        case 2:
        TranceEffect1 = EffectSpellResistanceIncrease(25);
        TranceEffect2 = EffectDamageReduction(10, DAMAGE_POWER_PLUS_TWO, 100);
        TranceEffect3 = EffectVisualEffect(VFX_IMP_HARM, FALSE);
        TranceEffect4 = EffectVisualEffect(VFX_DUR_SANCTUARY, FALSE);
        break;
        case 99:
        TranceEffect1 = EffectDamageIncrease(DAMAGE_BONUS_2d6, DAMAGE_TYPE_NEGATIVE);
        TranceEffect2 = EffectAttackIncrease(10, ATTACK_BONUS_MISC);
        TranceEffect3 = EffectVisualEffect(VFX_DUR_PROTECTION_EVIL_MAJOR, FALSE);
        TranceEffect4 = EffectVisualEffect(VFX_DUR_PROTECTION_ELEMENTS, FALSE);
        break;
        }

    // Definir les effets de contretranse pour chaque type de transe
    switch (iTranceProcess)
        {
        case 1:
        TranceSideEffect1 = EffectAbilityDecrease(ABILITY_STRENGTH, 14);
        TranceSideEffect2 = EffectSlow();
        TranceSideEffect3 = EffectVisualEffect(VFX_IMP_POLYMORPH, FALSE);
        break;
        case 2:
        TranceSideEffect1 = EffectSpellResistanceDecrease(25);
        TranceSideEffect2 = EffectDispelMagicAll(20);
        TranceSideEffect3 = EffectVisualEffect(VFX_IMP_DISPEL, FALSE);
        break;
        case 99:
        TranceSideEffect1 = EffectVisualEffect(VFX_IMP_DEATH, FALSE);
        TranceSideEffect2 = EffectSkillDecrease (SKILL_ALL_SKILLS, 20);
        TranceSideEffect3 = EffectVisualEffect(VFX_FNF_PWKILL, FALSE);
        break;
        }


    //************** C'EST LA QUE LES CHOSES SERIEUSES COMMENCENT **************
    //Incrementation de la variable temps d'un point
    iTemps = iTemps + 1;
    SetLocalInt(oTranse, "temps", iTemps);
    //Enlevez les commentaires de la ligne ci-dessous pour avoir le decompte des rounds
    FloatingTextStringOnCreature(IntToString(iTemps), oTranse, FALSE);


    //Pendant 40 rounds, il ne se passe rien

    //A partir du 40ieme round et jusqu'au 47ieme round, le perso entre en transe
    if ((iTemps == 40) && (GetIsInCombat(oTranse)==TRUE))
      {
        FloatingTextStringOnCreature(sTranceStart, oTranse, FALSE);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, TranceEffect3, oTranse, fEffectDur);
      }
    //Application de divers effets
    if ((iTemps >= 40) && (iTemps < 47) && (GetIsInCombat(oTranse)==TRUE))
      {
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, TranceEffect1, oTranse, fEffectDur);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, TranceEffect2, oTranse, fEffectDur);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, TranceEffect4, oTranse, fEffectDur);
      }
    //Au 47ieme round, c'est la fin de la transe, le perso se trouve sous des effets de
    //contretranse, qui le rabaissent. Ces effets durent
    if (iTemps == 47)
      {
        SendMessageToPC(oTranse, sTranceEnd);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, TranceSideEffect1, oTranse, fSideEffectDur);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, TranceSideEffect2, oTranse, fSideEffectDur);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, TranceSideEffect3, oTranse, fSideEffectDur);
      }
    //Lorsque le compteur atteint 55, le remettre a 0
    if (iTemps == 55)
      {
        iTemps = 0;
      }
    SetLocalInt(oTranse, "temps", iTemps);

}
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 moi j'ais implement modifié tout les ring et leur localistion dans l'équipenment et j'ai mis 6 effect ddans la premiére trance mais je sait pas se que sa donne puisque j'arrive pas avoir si la trance s'effectue
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Tuyen
Demi-dieu
Inscrit le: 23 Nov 2002
Messages: 460
Localisation: Chez moi
Répondre en citant
Posté le : 30/06/2004 10:34:02 Sujet du message :

Tout d'abord, si tu veux créer plusiers items qui donnent des effets de transe différents, il faut que tous les items donnent le MEME nombre d'effets ( donc il faudrait que tu ajoutes dans deux autres effets dans les deux cas restants )
Ensuite tu as bien déclaré les effets mais tu les as pas appliqué par la suite. Dans la partie nommée :
Code :

//************** C'EST LA QUE LES CHOSES SERIEUSES COMMENCENT
... bla bla bla....
//Pendant 40 rounds, il ne se passe rien
... bla bla...
//Application de divers effets
 if ((iTemps >= 40) && (iTemps < 47) && (GetIsInCombat(oTranse)==TRUE))
{
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, TranceEffect1, oTranse, fEffectDur);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, TranceEffect2, oTranse, fEffectDur);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, TranceEffect3, oTranse, fEffectDur);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, TranceEffect4, oTranse, fEffectDur);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, TranceEffect5, oTranse, fEffectDur);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, TranceEffect6, oTranse, fEffectDur);
}
etc....


De plus est ce que t'as pensé à modifier le script NW_C2_DEFAULT3 ?
parce que si tu veux que ce soit un anneau au lieu d'une arme, il faut changer le INVENTORY_SLOT_RIGHTHAND en INVENTORY_SLOT_LEFTRING
Si tu veux voir si ca marche, enlève les commentaires sur une ligne (chais plus où mais je l'ai indiqué dans le script), et cela fera le décompte des rounds (au 40ième round il entre en transe)

Au fait ce script a deux ou trois petites choses à améliorer.
chose 1 : lorsque le perso s'attaque à deux ennemis en même temps, il met deux fois moins de temps à entrer en transe (problématique! lol mais réparable en tripottant une ptite variable!)
chose 2 : les effets de la transe se cumulent pendant quelques secondes à chaque passage de round... (ca par contre j'ai déjà réparé).
Je posterai la nouvelle version dès que ce sera prêt.

remarque : tu peux en faire une capacité permanente pour ton perso en changeant INVENTORY_SLOT_RIGHTHAND en INVENTORY_SLOT_CARMOUR et en donnant une "peau" à ton perso dès le début du module.... (c'est ce que j'ai fait! Very Happy)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé 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 51.413ms