La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
FAQ
Rechercher
Liste des Membres
Groupes d'utilisateurs
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
La date/heure actuelle est 16/11/2024 00:36:18
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
petitjuju Acolyte Messages: 25 |
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 | |
Bloutiouf Chevalier Messages: 70 |
marque le script tel que tu l'a modifié, et indique quels changements tu voulais effectuer
|
Revenir en haut | |
petitjuju Acolyte Messages: 25 |
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. */ //:///////////////////////// //////////////////// //:: Created By: Marvin Kosh //:: Modified By: Tuyen //:///////////////////////// //////////////////// 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); } 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 | |
Tuyen Demi-dieu Messages: 460 Localisation: Chez moi |
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! ) |
Revenir en haut | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
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