Une fiole de poison

Répondre
Partager Rechercher
Complètement novice et déficient mental, je n'arrive pas à créer une fiole de poison avec l'éditeur nwn.
J'ai essayé une recherche sur ce forum, mais en raison du nombre de connectés, la recherche échoue systématiquement.

Donc voilà, je suis sûr que vous savez comment faire ça facilement, il me suffit juste d'un peu d'aide pour me mettre sur la voie.

Ce que j'aimerais, c'est créer une fiole de poison dont je puisse définir les effets via un petit script par exemple, car c'est un poison spécial qui doit affaiblir un adversaire sans le tuer.

Voilà si quelqu'un peut m'aider, ben...heu...ça m'aiderai bien quoi.
Bin a priori tu crées un item personnalisé "potion", tu lui mets "pouvoir unique: sur soi uniquement" comme propriété, tu l'identifies s'il faut, et tu lui mets un tag propre. Ensuite tu crées un script de ce genre :
Code PHP:

void main()
{
    
object oItem GetItemActivated();
    
object oPC GetItemActivator();

    if  (
GetTag(oItem) == "TagDuPoison")
    {
       
ApplyEffectTruc...
    }

Tu mets le script spécifique à la place du ApplyEffectTruc, donc.

Pour conclure, tu places ce script ci-dessus dans le "onActivateItem" du module (edition, propriété du module, événéments).

Si tu veux plus d'explications n'hésite pas à demander.
(Et le premier qui dit que je suis toujours aussi brouillon dans mes réponses, il aura le droit à.. à.. à un EffectDeath(int nSpectacularDeath=TRUE) ! )
Ok je vais essayer ça tout de suite !
En tous cas merci pour ta réponse rapide !

Je suppose que je dois répéter la boucle


Code:
if  (GetTag(oItem) == "TagDuPoison")
    {
       ApplyEffectTruc...
    }
pour chaque objet ayant des effets spécifiques dans mon module (si par exemple j'ai plusieurs fioles différentes avec chacune ses propres effets) ??

En gros, le onActivateItem remplace le OnUsed pour les objets qui n'en ont pas, c'est bien ça ?
Voui, ça dépend un peu comment tu t'y prends, en fait.

Tu peux donner le tag "FiolePoison" à tous tes poisons et des noms différents, auquel cas tu auras un truc comme :
Code PHP:

if  (GetTag(oItem) == "FiolePoison")
    {
       
string sTypePoison GetName(oItem);
       if (
sTypePoison == "Paralysant")
       {
           [
effets du paralysant]
       }
       if (
sTypePoison == "Poison aveuglant")
       {
          [
effets aveuglants]
       }
     
etc..
    } 
Par souci de clarté plutôt que par optimisation, en fait.
Si tu en as vraiment beaucoup, tu peux mettre placer ça dans un script extérieur (pour éviter les onActivateItem de trois kilomètres comme on voit parfois).

Le onActivateItem est un événement qui survient chaque fois qu'un "pouvoir unique" (dans les propriétés d'un item) est appelé par un personnage. Tu trouves cette propriété "pouvoir unique" parmi les sorts, dans la liste. (Nous parlons donc d'items et non de placeables, ici.)
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés