La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 03:40:43


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Inquisiteur-Loh
Acolyte
Inscrit le: 26 Fév 2005
Messages: 22
Répondre en citant
Posté le : 13/11/2006 13:36:28 Sujet du message : Le terrogobelin

Hello,

Je me heurte à un problème avec un script tout bête.

Ce que le script doit faire :
Quand la créature propriétaire du script subit au moins un point de dégât, elle explose (en lançant le sort de "boule de feu" centré sur elle même avec un NLS de 5)

Le script réalisé :
NWScript :
//Terro-gobelin, version de test


void main()
{
object oTarget;
oTarget = OBJECT_SELF;

ActionCastSpellAtObject(SPELL_FIREBALL, oTarget, METAMAGIC_ANY, TRUE, 5, PROJECTILE_PATH_TYPE_DEFAULT, TRUE);
ActionSpeakString("BOOOOOMMMMM !!!");
}
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.


Le problème :
Le gobelin n'explose pas quand je le tabasse Razz
Attention, le gobelin ne doit pas lancer le sort de boule de feu sur l'attaquant, mais bien sur lui même (genre de bestiole à dégommer à l'arc et si possible quand il est au milieu de ses petits copains).

Suppositions :
Un monstre ne peut pas se cibler avec un sort hostile ?
Certains éléments du script par défaut à laisser ? (je dois oublier plein de trucs...)
Utiliser plutot un OnUserDefined ?
Je me met le doigt dans l'oeil ? Sad

Merci d'avance pour vos indices Smile
_________________
Inquisiteur Loh
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Djezebel
Héros
Inscrit le: 29 Sep 2005
Messages: 252
Répondre en citant
Posté le : 13/11/2006 13:49:35 Sujet du message :

Essayes plutôt :

NWScript :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.



Essaye de mettre ça sur le "onDamage" de la créature et normalement ça devrait fonctionner.

Est-ce que ton gobelin dit au moins le BOOOOM ?

Sinon il faudra passer par les effets :
Tu mets un effet de domages, un effet visuel et le tour est joué.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Inquisiteur-Loh
Acolyte
Inscrit le: 26 Fév 2005
Messages: 22
Répondre en citant
Posté le : 13/11/2006 14:11:50 Sujet du message :

Hello,

Le gobelin dit son "BOOOOMMMM" avec ta version.
Mais il a toujours autant d'efficacité qu'un pétard mouillé... lol


Citation :
Sinon il faudra passer par les effets :
Tu mets un effet de domages, un effet visuel et le tour est joué.
Je vais voir ce que je peux bricoler (un effet visuel ca va, mais l'associer à des dégâts je ne sais pas si j'en serais capable). Je vous post mon prochain script si il marche (ou si il ne marche pas pour que vous m'aidiez niarf niarf niarf).

Si ca se trouve je l'ai frappé trop fort ce gobelin...

Merci à toi Smile
_________________
Inquisiteur Loh
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 13/11/2006 18:37:28 Sujet du message :

lol, tu mets un ApplyEffectToObject pour ton effet de Fire Ball, et un autre ApplyEffectToObject qui cette fois est pour le tué (EffectDeath() je crois)... à la place des deux fonctions en dessous du "BOOM".

BK
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
BenGorre
Légende vivante
Inscrit le: 12 Fév 2004
Messages: 301
Répondre en citant
Posté le : 08/01/2007 01:24:16 Sujet du message :

Bonjour bonjour,

Cela marche dans le 1, peut être que dans le 2 aussi. Si non il ne doit y avoir que quelques modifications.

NWScript :
#include "NW_I0_SPELLS"
void main()
{
    //Declare major variables
    object oCaster = OBJECT_SELF;
    int nMetaMagic = GetMetaMagicFeat();
    int nDamage;
    float fDelay;
    effect eExplode = EffectVisualEffect(VFX_FNF_FIREBALL);
    effect eVis = EffectVisualEffect(VFX_IMP_FLAME_M);
    effect eDam;
    location lTarget = GetLocation(OBJECT_SELF);
    //Applique l'effet visuel de l'explosion
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eExplode, lTarget);
    //Prend la premiere cible dans la zone d'explosion (sphere)
    object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_HUGE, lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR);
    while (GetIsObjectValid(oTarget))
    {
        SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_FIREBALL));
       
        fDelay = GetDistanceBetweenLocations(lTarget, GetLocation(oTarget))/20;
        if (!MyResistSpell(OBJECT_SELF, oTarget, fDelay))
        {
           
            nDamage = GetReflexAdjustedDamage(50, oTarget, GetSpellSaveDC(), SAVING_THROW_TYPE_FIRE);
           
            eDam = EffectDamage(nDamage, DAMAGE_TYPE_FIRE);
            if(nDamage > 0)
            {
               
                DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget));
                //Cet effet visuel n'est pas celui de l'explosion mais juste des flammes la cible
                DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
            }
        }
      //Selectionne la prochaine cible dans la zone d'explosion.
      oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_HUGE, lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR);
    }
}
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.

_________________
La mort n'est rien seul le fait de mourir est terrible
Henry Fielding 1745

Le serveur Filandre a été stoppé pour le moment, je on travail à la conversion vers NWN2.
 
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 39.426ms