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 16:48:07


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Harmelyo
Chevalier
Inscrit le: 06 Oct 2005
Messages: 84
Répondre en citant
Posté le : 06/10/2005 16:05:13 Sujet du message : Summon: problème set de script

Bien le bonjour, voila mon problème:

En découvrant le spell hooking, j'ai eu envie de tenter quelques petites entreprises. J'ai voulu tenter de modifier les invocations en les remplaçant par des bestioles à ma sauce. Mon script fonctionne correctement après quelques tentatives mais voila... une fois tester, les invocations modifiés sont aussi active que des legumes...

Elles ne repondent pas aux ordres, ne suive pas l'invocateur, bref elle joue le pied de grue jusqu'à ce qu'une créature hostile entre dans leur champs de vision, elle se précipite alors pour lui peter les dents mais ne font rien de plus...

Après quelques tests(vérification en comparant avec les scripts de summon générique), j'en suis arrivé à la conclusion que mon soucis viendrait en réalité du jeu de script affecté aux créatures que j'ai créé... Je m'en suis convaincu en remplaçant ma créature par une bête créature qu'invoque normalement une autre invocation.


Bref tout cela pour demander si une ame charitable pourrait m'indiquer comment récupérer les differents jeux de scripts des invocations (ceux que l'on spécifie dans l'onglet script de la créature: on_heartbeat, on_attacked, on_death...)


Merci d'avance

Ps: si cela interesse quelqu'un je fournirais le model de code une fois debugger.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Harmelyo
Chevalier
Inscrit le: 06 Oct 2005
Messages: 84
Répondre en citant
Posté le : 08/10/2005 16:31:54 Sujet du message :

*up*

Si quelqu'un voit une autre solution à mon problème, je ne dit pas non.Surprised
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 08/10/2005 17:44:52 Sujet du message :

Je sais plus si c'est pareil que les henchmen mais si c'est le cas :

Citation :
OnBlocked : nw_ch_ace
OnCombatRoundEnd : nw_ch_ac3
OnConversation : nw_ch_ac4
OnDamaged : nw_ch_ac6
OnDeath : nw_ch_ac7
OnDisturbed : nw_ch_ac8
OnHeartBeat : nw_ch_ac1
OnPerception : nw_ch_ac2
OnPhysicalAttacked : nw_ch_ac5
OnRested : nw_ch_aca
OnSpawn : nw_ch_ac9
OnSpellCastAt : nw_ch_acb
OnUserDefined : nw_ch_acd

_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Harmelyo
Chevalier
Inscrit le: 06 Oct 2005
Messages: 84
Répondre en citant
Posté le : 08/10/2005 18:07:59 Sujet du message :

hélas non :s
J'ai eu l'idée de tenter de repiquer les scripts des henchman pour voir mais le seul résultat a été de planter mes invocations et foutre un joyeux foutoir à l'invocation

Bref si quelqu'un a déjà fait une modification sur les créatures des sorts d'invocations je crois que je vais avoir besoin de ses lumières Very Happy


Merci Ivellios
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 08/10/2005 20:19:04 Sujet du message :

Pour la plupart des créatures invoquées apparament ça suit le même shema mis à par

Citation :
OnSpawn : nw_ch_summon_9
Je dit bien dans une grande majoritée, sinon certains monstres on un script sur le OnSpawn "persos" ou carrément la palette personnalisée.
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Harmelyo
Chevalier
Inscrit le: 06 Oct 2005
Messages: 84
Répondre en citant
Posté le : 08/10/2005 21:00:05 Sujet du message :

J'ai eu beau mettre ce script dans le onspawn cela ne semble pas suffir, je suppose que je passe à coté de quelque chose, si quelqu'un a la patience de me redonner les grandes étapes et/ou de jeter un oeil à ce code, je lui en serais très reconnaissant.

Merci à toi Ivellios

NWScript :

#include "x2_inc_spellhook"
#include "x2_inc_switches"

void main()
{

  int nSpell = GetSpellId(); // retourne la constante SPELL_* du
                                           

  int nLevel = GetCasterLevel(OBJECT_SELF); // retourne le niveau du lanceur

  int nClass = GetLastSpellCastClass(); // retourne la classe du lanceur

  int nSpellDC = GetSpellSaveDC(); // retourne le jet de svg requis pour
                                           

  location lLoc = GetSpellTargetLocation(); // si elle est valide, retourne la
                                           

  object oCible = GetSpellTargetObject(); // s'il est valide, retourne l'objet
                                           

  object oItemUsed = GetSpellCastItem(); // si un objet lance le sort, cette
                                            //fonction retourne l'objet en question
  int nMetaMagic = GetMetaMagicFeat();
 

      switch(nSpell)
      {


case SPELL_SUMMON_CREATURE_I :
            if (nMetaMagic == METAMAGIC_EXTEND)
                {
                    nLevel = nLevel *2; //Duration is +100%
                }
            if (GetAlignmentGoodEvil(OBJECT_SELF) == ALIGNMENT_EVIL)
            {
                SetModuleOverrideSpellScriptFinished();//met fin au sort generique
                //ApplyEffectAtLocation(DURATI ON_TYPE_INSTANT
                //,EffectSummonCreature(" zep_dracolich",VFX_IMP_HA RM),lLoc);

                effect eVis = EffectVisualEffect(VFX_IMP_HARM);
                effect eSummon = EffectSummonCreature("duergara001"); //duergara001 etant bien rsref
                ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eVis,lLoc);
                ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,eSummon,lLoc
                , TurnsToSeconds(nLevel));

            }
            break;
    }
}

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 seul modification apporté au duergar est le script:

Citation :
OnSpawn : nw_ch_summon_9
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ailesnoires
Grand Chevalier
Inscrit le: 21 Oct 2004
Messages: 110
Localisation: Vendée
Répondre en citant
Posté le : 09/10/2005 01:10:07 Sujet du message :

A approffondir mais j'ai remarqué que dans les scripts de summon de NWN ils invoquaient des créature avec pour tag :
NW_S_EARTHHUGE
alors que dans la palettes elles existent sous le tag
NW_EARTHHUGE

Je n'arrive pas a mettre la mains sur les premiers


en attendant essaye ça :
NWScript :
#include "x2_inc_spellhook"
#include "x2_inc_switches"
#include "Nw_I0_GENERIC"
void main()
{

int nSpell = GetSpellId(); // retourne la constante SPELL_* du


int nLevel = GetCasterLevel(OBJECT_SELF); // retourne le niveau du lanceur

int nClass = GetLastSpellCastClass(); // retourne la classe du lanceur

int nSpellDC = GetSpellSaveDC(); // retourne le jet de svg requis pour


location lLoc = GetSpellTargetLocation(); // si elle est valide, retourne la


object oCible = GetSpellTargetObject(); // s'il est valide, retourne l'objet


object oItemUsed = GetSpellCastItem(); // si un objet lance le sort, cette
//fonction retourne l'objet en question
int nMetaMagic = GetMetaMagicFeat();


switch(nSpell)
{


case SPELL_SUMMON_CREATURE_I :
if (nMetaMagic == METAMAGIC_EXTEND)
{
nLevel = nLevel *2; //Duration is +100%
}
if (GetAlignmentGoodEvil(OBJECT_SELF) == ALIGNMENT_EVIL)
{
SetModuleOverrideSpellScriptFinished();//met fin au sort generique
//ApplyEffectAtLocation(DURATI ON_TYPE_INSTANT
//,EffectSummonCreature(" zep_dracolich",VFX_IMP_HA RM),lLoc);

effect eVis = EffectVisualEffect(VFX_IMP_HARM);
effect eSummon = EffectSummonCreature("duergara001"); //duergara001 etant bien rsref
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eVis,lLoc);
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,eSummon,lLoc
, TurnsToSeconds(nLevel));
object oSummon = GetNearestObjectByTag("duergara001");
GetLastAttacker(OBJECT_SELF);
DetermineCombatRound(oSummon);
}
break;
}
}
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.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Harmelyo
Chevalier
Inscrit le: 06 Oct 2005
Messages: 84
Répondre en citant
Posté le : 09/10/2005 16:34:07 Sujet du message :

moue pas très concluant non plus... Je n'ai pas noté de différence dans le comportement du duergar, il va peut être un peu plus vite au combat lors de la premiere entré d'un hostile dans son champs de vision mais ensuite il se contente de répondre aux baffes des suivants...

Bref toujours le même soucis: mettre la main sur les créatures invoqué par défaut et surtout sur leur jeu de scripts...

Merci Ailesnoires
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ailesnoires
Grand Chevalier
Inscrit le: 21 Oct 2004
Messages: 110
Localisation: Vendée
Répondre en citant
Posté le : 09/10/2005 18:34:05 Sujet du message :

tu utilises quel set de script?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Harmelyo
Chevalier
Inscrit le: 06 Oct 2005
Messages: 84
Répondre en citant
Posté le : 10/10/2005 16:18:32 Sujet du message :

le set de base appliqué à la créature, sauf pour le script:

Citation :
OnSpawn : nw_ch_summon_9
 
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 44.6ms