[Débutant] Faire courrir une bestiole vers un WP

Répondre
Partager Rechercher
Bonjour,

Bon voila je suis depuis peu de temps sur un mod perso et dans ce mod, a un moment j'ai inséré une fôret... Comme dans beaucoup de mod d'ailleurs mais ce que j'aimerai c'est faire affronter 2 factions de monstres... En gros les gentils contre les méchants.

Ce que j'aimerai pour apporter du style à cette bataille sans fin c'est que les bestioles, monstres, humanoïdes de chaque groupe puisse courrir vers un WayPoint.

J'ai utilisé la fonction recherche mais je n'ai rien trouvé donc si quelqu'un connait une petit script car j'ai regardé dans le menu déroulant de l'éditeur de script mais j'ai rien vu de tel.

Sinon j'ai un autre probléme c'est avec un Effet (tout autre sujet), en fait c'est dans l'arrivé dans une zone que l'effet se lance mais je ne le vois jamais alors qu'il se compile... Pour tout vous dire je suis mauvais en script et avant j'avais ceci :

Code PHP:

void main()
{
object oEnter GetEnteringObject ();
effect eHarm EffectVisualEffect(VFX_FNF_DISPEL_GREATER);
ApplyEffectToObject(eHarm oEnter);

Et ca ne compilait pas... Je ne comprenais pas alors j'ai regardé la fonction et j'ai vu un truc du genre "int nDurationType" donc j'me suis dit : "Duration <=> Durée = Temps = chiffre" alors j'ai fais ca :

Code PHP:

void main()
{
object oEnter GetEnteringObject ();
effect eHarm EffectVisualEffect(VFX_FNF_DISPEL_GREATER);
ApplyEffectToObject(5eHarm oEnter);

Maintenant ca compile mais quand je le fais en mode Joueur dans NWN et bien rien ne se passe... En fait j'arrive d'un portail et a l'entrée dans la zone l'effet devrait s'appliquer... Mais rien

Si vous avez une suggestion et me dire quelle est mon erreur

Merci pour vos réponses

Miyu
Première question:

Il y a exactement ce que tu cherches dans un mini module de démonstration fourni avec le jeu dont voici le nom: "DEMO - Goblins vs Kobolds"
Commence par le jouer, puis ouvre le et décortique le. Il est intéressant et instructif. C'est sans doute pour ça que tu n'as pas trouvé ça sur un forum ou dans un tutoriel



Deuxième question: L'effet

Un effet peut être de plusieurs natures. Celui que tu appliques ici est un effet visuel simple. Il n'aura pas d'autre effet que de créer une animation visuelle.

Ensuite, on applique un effet soit à un objet (ApplyEffectAtObject() ) soit à un endroit (ApplyEffectAtLocation() ).
Certains effets ne fonctionnent que sur des objets, d'autres uniquement à des positions.


Rappel sur les paramètres des fonctions citées:
Code PHP:

     // Apply eEffect to oTarget.
     
void ApplyEffectToObject(int nDurationTypeeffect eEffectobject oTargetfloat fDuration=0.0f)
     
// nDuration peut prendre 3 valeurs:
     // int    DURATION_TYPE_INSTANT durée instantanée
     // int    DURATION_TYPE_PERMANENT durée permanente
     // int    DURATION_TYPE_TEMPORARY durée remporaire utilisant le dernier
    // paramètre comme durée.
    // tu peux trouver ces constantes dans la partie CONSTANTES de l'éditeur de scripts
     
     // eEffect: l'effet souhaité, là tu as tout bon.
     
     // oTarget: objet sur lequel l'effet devrait être appliqué
     
     // fDuration: ne sert que si on utilise un effet temporaire. Il s'agit d'un nombre à
// virgule flotante définissant la durée de l'effet: exemple: 30.0 = 30 secondes
     
     // Apply eEffect at lLocation.
     
void ApplyEffectAtLocation(int nDurationTypeeffect eEffectlocation lLocationfloat fDuration=0.0f)
     
     
// Ici oTarget est remplacé par une position (vectorielle) donnée par
     // GetLocation() en général 
Pour ton problème particulier, en admettant que ton script fonctionne après correction, il se peut fort bien que ton effet s'applique mais que tu ne le voies pas parce que le chargement de zone le cache. Il peut apparaître pendant que tu vois l'écran de chargement. Ton personnage entre avant que tu ne voies la zone. Essaie de décaler l'application de l'effet avec un DelayCommand() par exemple.


Bon courage et reviens nous voir si tu as toujours des soucis.


PS: si en fait, comme je le soupçonne, tu veux jeter un sort sur le personnage entrant, ça va être un peu plus compliqué qu'un simple effet visuel mais on en reparlera plus tard dans ce cas.
Tu peux déjà regarder par là pour te donner une idée du problème.
Content
D'accord merci. Je viens d'y jouer et je pense que tu as mal compris... En fait faire la bataille ce n'est pas le probléme mais ce que j'aimerai c'est que malgrés la distance les bestioles de chaque côté cours vers leur adversaire... Sans le voir. Comme lorsque qu'une armée se déplace (imaginez les cavaliers romains dans la fôret au début dans le film Gladiator).

La j'ai fait la zone avec les WP associé pour chaque unité et toute les X secondes il y a un spawn de monstre.


Par exemple, dans une zone 6 * 9, j'ai d'un côté les humains défendant leur camp et de l'autre les méchants orcs. Et ce que j'aimerai bien faire c'est comme si les orcs chargeaient sur le camp. Mon projet c'est d'ensuite faire plus tard un script pour une sorte de mission d'aller tuer le chef orc d'en face et que le commandant humain doit rester en vie, sinon la mission échoue.

Mais mon premier probléme c'est juste un effet de style : Faire en sorte qu'un groupe Charge ses adversaires.
Oui, je dois avoir mal compris.
Les deux camps ne se chargent pas, ils courent les uns vers les autres et s'affrontent au milieu de la carte. Ils se déciment et il y a un spawn aléatoire à chaque fois qu'une des créatures meurt d'un côté ou de l'autre et qui repart aussitôt au combat au centre. Donc, ce n'est pas ça que tu veux ?
Alors explique mieux parce que si ce n'est pas la même chose que ce que tu cherches, il y a un truc qui effectivement m'échappe.
Et bien, je pense que la manière simple, c'est de créer tes créatures à l'entrée dans la zone et dans leur Onspawn, tu leur met d'aller vers un WayPoint que tu auras placé dans le camp humain. Si tu as bien paramétré tes factions, ils se taperont dessus en arrivant à portée de perception.

Après, si tu veux que ça respawn, tu ouvres le module dont t'a parlé Azmathiel et tu arranges ça à ta sauce (j'avais fais une scène de bataille du genre, si je la retrouve, je te mets les scripts, mais n'aies pas trop d'espoir ^^).
__________________
Journaleux psycho-rigide.
Citation :
Publié par Mastokk
Et bien, je pense que la manière simple, c'est de créer tes créatures à l'entrée dans la zone et dans leur Onspawn, tu leur met d'aller vers un WayPoint que tu auras placé dans le camp humain. Si tu as bien paramétré tes factions, ils se taperont dessus en arrivant à portée de perception.

Après, si tu veux que ça respawn, tu ouvres le module dont t'a parlé Azmathiel et tu arranges ça à ta sauce (j'avais fais une scène de bataille du genre, si je la retrouve, je te mets les scripts, mais n'aies pas trop d'espoir ^^).
C'est exactement ce que font les kobolds et les gobelins dans ce mini-module. Donc, je ne comprends toujours pas ce qui ne lui convient pas.
Oui mais ils ne courent pas... Ils marchent avant de se rencontrer à une certaine distance, ils courent ^^, vous voyez ce que je veux dire ?

Sinon j'ai un autre petit probléme.
A la fin d'un dialogue je veux que le Joueur soit téléporter à un certain WayPoint nommé "arrivee"

Code PHP:


void main
()

{
     
object oPC GetLastSpeaker ();
     
object oWP GetNearestObjectByTag ("arrivee");
     
ActionWait (0.5);
     
AssignCommand (oPCActionJumpToObject (oWP));


Mais rien ne se passe.
Si vous voyez mon erreur j'aimerai savoir ou elle est

Sinon j'ai un autre probléme (encore), j'aimerai que lorsque que le joueur avance sur une bestiole, qu'elle ne bouge pas.
J'ai essayé en supprimant les scripts de la bestiole mais ca ne marche pas

Merci d'avance.

Miyu
Dans un dialogue, utilise GetPCSpeaker() et non pas GetLastSpeaker().
Évite d'utiliser des empilements d'actions quand tu veux forcer des choses ou alors vide la pile avant avec un ClearallActions(). Donc utilise plutôt JumpToObject() ou JumpToLocation().
En plus, ActionWait() utilisé comme ça ne donnera pas grand chose. Plus généralement, tous les ActionXXX s'appliquent à un objet. Si tu ne spécifies pas lequel, ça ira s'empiler n'importe où et au mieux, ça ne fera rien, au pire, ça mettra le souk dans ton module.

Quand tu ôtes tous les scripts d'une créature elle devient un légume. Maintenant, tout dépend ce que tu appelles "ne pas bouger".
Aucune créature n'est complètement immobile. Il y a des animations codées en dur (mouvement de tête automatique, geste d'ennui, par exemple) qu'il est impossible de supprimer sauf en pétrifiant la créature.


Si tu veux faire courir une créature par défaut, c'est possible, mais il faut entrer dans les scripts "internes" du jeu.
Regarde dans NW_I0_GENERIC. Dedans, il y a des appels à d'autres bibliothèques dont une est:
Code PHP:

   //:://////////////////////////////////////////////////
   //:: X0_I0_WALKWAY
   /*
     Include library holding the code for WalkWayPoints.
   
    */
   //:://////////////////////////////////////////////////
   //:: Copyright (c) 2002 Floodgate Entertainment
   //:: Created By: Naomi Novik
   //:: Created On: 12/07/2002
   //:://////////////////////////////////////////////////
   //:: Updated On : 2003/09/03 - Georg Zoeller
   //::                           * Added code to allow area transitions if global integer
   //::                             X2_SWITCH_CROSSAREA_WALKWAYPOINTS set to 1 on the module
   //::                           * Fixed Night waypoints not being run correcty
   //::                           * XP2-Only: Fixed Stealth and detect modes spawnconditions
   //::                             not working
   //::                           * Added support for SleepAtNight SpawnCondition: if you put
   //::                             a string on the module called X2_S_SLEEP_AT_NIGHT_SCRIPT,
   //::                             pointing to a script, this script will fire if it is night
   //::                             and your NPC has the spawncondition set
   //::                           * Added the ability to make NPCs turn to the facing of
   //::                             a waypoint when setting int X2_L_WAYPOINT_SETFACING to 1 on
   //::                             the waypoint 
et qui contient ceci:
Code PHP:

   // HEAVILY REVISED!
   // The previous version of this function was too little
   // bang-for-the-buck, as it set up an infinite loop and
   // made creatures walk around even when there was no one
   // in the area.
   //
   // Now, each time this function is called, the caller
   // will move to their next waypoint. The OnHeartbeat and
   // OnPerception scripts have been modified to call this
   // function as appropriate.
   //
   // However, also note that the mobile ambient animations
   // have been heavily revised. For most creatures, those
   // should now be good enough, especially if you put down
   // some "NW_STOP" waypoints for them to wander among.
   // Specific waypoints will now be more for creatures that
   // you really want to patrol back and forth along a pre-set
   // path.
   
void WalkWayPoints(int nRun FALSEfloat fPause 1.0); 
Tu noteras que par défaut, les PNJ marchent, il suffit de changer la variable nRun de FALSE à TRUE à l'appel de la fonction pour qu'ils courent.
Voilà, bon courage.
Et comment faire pour l'assigner à une seule créature ?
Car si je comprend bien c'est pour faire courir les créatures "par défaut" c'est ça ?
Or ce que je voudrais c'est juste les faire courir dans cette zone... Autrement dit durant la bataille.
Ma question principale est de savoir ce que je fais du script Walkwaypoint.
Je le mets où ?
Car j'ai essayer de l'integrer dans les scripts de bases de la créature mais elle ne coure toujours pas.
Donc si jamais Azmathiel, vous pourriez expliquer comment faire... Car c'est du neuf pour moi NWN, et les scripts, et tout ce qui va avec. Bien que j'ai déjà fait un module donc scripter un peu, mais ca date de quelques années avec NWN sans ses extensions donc moins de possibilités.

Please Help

Mimi
Je réponds ici aussi, comme ça tu verras plus clair dans les scripts par défaut.

Tous les objets-PNJ ont des scripts par défaut qui ont été créés et placés par les développeurs de Bioware. Sinon, nos PNJ seraient des légumes, comme je te l'ai déjà dit.
La fonction dont nous parlons ici "WalkWayPoints()" est appelée dans l'un d'entre eux qui est le script OnSpawn, ou de son nom de script, le script "NW_C2_DEFAULT9" dont tu as la copie intégrale ci-dessous. En le parcourant, tu peux voir la fonction dont nous parlons. Elle est appelée sans aucun paramètre, ce qui veut dire que les développeurs laissent tout par défaut, ce qui veut encore dire que les créatures MARCHENT par défaut.
Si tu veux qu'un type de créature, en particulier, coure, tu copies ce script dans son OnSpawn et tu remplaces dedans

WalkWayPoints() par WalkWayPoints(TRUE, 0.0)

tu le compiles, tu l'enregistres en lui donnant un nom significatif et toutes les créatures ayant ce script dans leur évènement OnSpawn devraient en théorie courir toute leur vie si rien ne vient interférer.

Code PHP:

     //:://////////////////////////////////////////////////
     //:: NW_C2_DEFAULT9
     /*
      * Default OnSpawn handler with XP1 revisions.
      * This corresponds to and produces the same results
      * as the default OnSpawn handler in the OC.
      *
      * This can be used to customize creature behavior in three main ways:
      *
      * - Uncomment the existing lines of code to activate certain
      *   common desired behaviors from the moment when the creature
      *   spawns in.
      *
      * - Uncomment the user-defined event signals to cause the
      *   creature to fire events that you can then handle with
      *   a custom OnUserDefined event handler script.
      *
      * - Add new code _at the end_ to alter the initial
      *   behavior in a more customized way.
      */
     //:://////////////////////////////////////////////////
     //:: Copyright (c) 2002 Floodgate Entertainment
     //:: Created By: Naomi Novik
     //:: Created On: 12/11/2002
     //:://////////////////////////////////////////////////
     //:: Updated 2003-08-20 Georg Zoeller: Added check for variables to active spawn in conditions without changing the spawnscript
     
     
     #include "x0_i0_anims"
     // #include "x0_i0_walkway" - in x0_i0_anims
     #include "x0_i0_treasure"
     
     #include "x2_inc_switches"
     
     
void main()
     {
         
// ***** Spawn-In Conditions ***** //
     
         // * REMOVE COMMENTS (// ) before the "Set..." functions to activate
         // * them. Do NOT touch lines commented out with // *, those are
         // * real comments for information.
     
         // * This causes the creature to say a one-line greeting in their
         // * conversation file upon perceiving the player. Put [NW_D2_GenCheck]
         // * in the "Text Seen When" field of the greeting in the conversation
         // * file. Don't attach any player responses.
         // *
         // SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION);
     
         // * Same as above, but for hostile creatures to make them say
         // * a line before attacking.
         // *
         // SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION);
     
         // * This NPC will attack when its allies call for help
         // *
         // SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET);
     
         // * If the NPC has the Hide skill they will go into stealth mode
         // * while doing WalkWayPoints().
         // *
         // SetSpawnInCondition(NW_FLAG_STEALTH);
     
         //--------------------------------------------------------------------------
         // Enable stealth mode by setting a variable on the creature
         // Great for ambushes
         // See x2_inc_switches for more information about this
         //--------------------------------------------------------------------------
         
if (GetCreatureFlag(OBJECT_SELFCREATURE_VAR_USE_SPAWN_STEALTH) == TRUE)
         {
             
SetSpawnInCondition(NW_FLAG_STEALTH);
         }
         
// * Same, but for Search mode
         // *
         // SetSpawnInCondition(NW_FLAG_SEARCH);
     
         //--------------------------------------------------------------------------
         // Make creature enter search mode after spawning by setting a variable
         // Great for guards, etc
         // See x2_inc_switches for more information about this
         //--------------------------------------------------------------------------
         
if (GetCreatureFlag(OBJECT_SELFCREATURE_VAR_USE_SPAWN_SEARCH) == TRUE)
         {
             
SetSpawnInCondition(NW_FLAG_SEARCH);
         }
         
// * This will set the NPC to give a warning to non-enemies
         // * before attacking.
         // * NN -- no clue what this really does yet
         // *
         // SetSpawnInCondition(NW_FLAG_SET_WARNINGS);
     
         // * Separate the NPC's waypoints into day & night.
         // * See comment on WalkWayPoints() for use.
         // *
         // SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING);
     
         // * If this is set, the NPC will appear using the "EffectAppear"
         // * animation instead of fading in, *IF* SetListeningPatterns()
         // * is called below.
         // *
         //SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION);
     
         // * This will cause an NPC to use common animations it possesses,
         // * and use social ones to any other nearby friendly NPCs.
         // *
         // SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);
     
         //--------------------------------------------------------------------------
         // Enable immobile ambient animations by setting a variable
         // See x2_inc_switches for more information about this
         //--------------------------------------------------------------------------
         
if (GetCreatureFlag(OBJECT_SELFCREATURE_VAR_USE_SPAWN_AMBIENT_IMMOBILE) == TRUE)
         {
             
SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);
         }
         
// * Same as above, except NPC will wander randomly around the
         // * area.
         // *
         // SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);
     
     
         //--------------------------------------------------------------------------
         // Enable mobile ambient animations by setting a variable
         // See x2_inc_switches for more information about this
         //--------------------------------------------------------------------------
         
if (GetCreatureFlag(OBJECT_SELFCREATURE_VAR_USE_SPAWN_AMBIENT) == TRUE)
         {
             
SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);
         }
         
// **** Animation Conditions **** //
         // * These are extra conditions you can put on creatures with ambient
         // * animations.
     
         // * Civilized creatures interact with placeables in
         // * their area that have the tag "NW_INTERACTIVE"
         // * and "talk" to each other.
         // *
         // * Humanoid races are civilized by default, so only
         // * set this flag for monster races that you want to
         // * behave the same way.
         // SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
     
         // * If this flag is set, this creature will constantly
         // * be acting. Otherwise, creatures will only start
         // * performing their ambient animations when they
         // * first perceive a player, and they will stop when
         // * the player moves away.
         // SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);
     
         // * Civilized creatures with this flag set will
         // * randomly use a few voicechats. It's a good
         // * idea to avoid putting this on multiple
         // * creatures using the same voiceset.
         // SetAnimationCondition(NW_ANIM_FLAG_CHATTER);
     
         // * Creatures with _immobile_ ambient animations
         // * can have this flag set to make them mobile in a
         // * close range. They will never leave their immediate
         // * area, but will move around in it, frequently
         // * returning to their starting point.
         // *
         // * Note that creatures spawned inside interior areas
         // * that contain a waypoint with one of the tags
         // * "NW_HOME", "NW_TAVERN", "NW_SHOP" will automatically
         // * have this condition set.
         // SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);
     
     
         // **** Special Combat Tactics *****//
         // * These are special flags that can be set on creatures to
         // * make them follow certain specialized combat tactics.
         // * NOTE: ONLY ONE OF THESE SHOULD BE SET ON A SINGLE CREATURE.
     
         // * Ranged attacker
         // * Will attempt to stay at ranged distance from their
         // * target.
         // SetCombatCondition(X0_COMBAT_FLAG_RANGED);
     
         // * Defensive attacker
         // * Will use defensive combat feats and parry
         // SetCombatCondition(X0_COMBAT_FLAG_DEFENSIVE);
     
         // * Ambusher
         // * Will go stealthy/invisible and attack, then
         // * run away and try to go stealthy again before
         // * attacking anew.
         // SetCombatCondition(X0_COMBAT_FLAG_AMBUSHER);
     
         // * Cowardly
         // * Cowardly creatures will attempt to flee
         // * attackers.
         // SetCombatCondition(X0_COMBAT_FLAG_COWARDLY);
     
     
         // **** Escape Commands ***** //
         // * NOTE: ONLY ONE OF THE FOLLOWING SHOULD EVER BE SET AT ONE TIME.
         // * NOTE2: Not clear that these actually work. -- NN
     
         // * Flee to a way point and return a short time later.
         // *
         // SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN);
     
         // * Flee to a way point and do not return.
         // *
         // SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE);
     
         // * Teleport to safety and do not return.
         // *
         // SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE);
     
         // * Teleport to safety and return a short time later.
         // *
         // SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN);
     
     
     
         // ***** CUSTOM USER DEFINED EVENTS ***** /
     
     
         /*
           If you uncomment any of these conditions, the creature will fire
           a specific user-defined event number on each event. That will then
           allow you to write custom code in the "OnUserDefinedEvent" handler
           script to go on top of the default NPC behaviors for that event.
     
           Example: I want to add some custom behavior to my NPC when they
           are damaged. I uncomment the "NW_FLAG_DAMAGED_EVENT", then create
           a new user-defined script that has something like this in it:
     
           if (GetUserDefinedEventNumber() == 1006) {
               // Custom code for my NPC to execute when it's damaged
           }
     
           These user-defined events are in the range 1001-1007.
         */
     
         // * Fire User Defined Event 1001 in the OnHeartbeat
         // *
         // SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT);
     
         // * Fire User Defined Event 1002
         // *
         // SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT);
     
         // * Fire User Defined Event 1005
         // *
         // SetSpawnInCondition(NW_FLAG_ATTACK_EVENT);
     
         // * Fire User Defined Event 1006
         // *
         // SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT);
     
         // * Fire User Defined Event 1008
         // *
         // SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT);
     
         // * Fire User Defined Event 1003
         // *
         // SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT);
     
         // * Fire User Defined Event 1004
         // *
         // SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT);
     
     
     
         // ***** DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) ***** //
     
         // * Goes through and sets up which shouts the NPC will listen to.
         // *
         
SetListeningPatterns();
     
         
// * Walk among a set of waypoints.
         // * 1. Find waypoints with the tag "WP_" + NPC TAG + "_##" and walk
         // *    among them in order.
         // * 2. If the tag of the Way Point is "POST_" + NPC TAG, stay there
         // *    and return to it after combat.
         //
         // * Optional Parameters:
         // * void WalkWayPoints(int nRun = FALSE, float fPause = 1.0)
         //
         // * If "NW_FLAG_DAY_NIGHT_POSTING" is set above, you can also
         // * create waypoints with the tags "WN_" + NPC Tag + "_##"
         // * and those will be walked at night. (The standard waypoints
         // * will be walked during the day.)
         // * The night "posting" waypoint tag is simply "NIGHT_" + NPC tag.
         
WalkWayPoints();
     
         
//* Create a small amount of treasure on the creature
         
if ((GetLocalInt(GetModule(), "X2_L_NOTREASURE") == FALSE)  &&
             (
GetLocalInt(OBJECT_SELF"X2_L_NOTREASURE") == FALSE)   )
         {
             
CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTEROBJECT_SELF);
         }
     
     
         
// ***** ADD ANY SPECIAL ON-SPAWN CODE HERE ***** //
     
         // * If Incorporeal, apply changes
         
if (GetCreatureFlag(OBJECT_SELFCREATURE_VAR_IS_INCORPOREAL) == TRUE)
         {
             
effect eConceal EffectConcealment(50MISS_CHANCE_TYPE_NORMAL);
             
eConceal ExtraordinaryEffect(eConceal);
             
effect eGhost EffectCutsceneGhost();
             
eGhost ExtraordinaryEffect(eGhost);
             
ApplyEffectToObject(DURATION_TYPE_PERMANENTeConcealOBJECT_SELF);
             
ApplyEffectToObject(DURATION_TYPE_PERMANENTeGhostOBJECT_SELF);
     
         }
     
     } 
Là aussi, si j'écris pour rien, merci de me le faire savoir.
Citation :
Publié par MiyuSephyroth
Non non ne croyez pas ça.
Vous êtes comme mes profs au lycée, dés qu'on assimile pas quelque chose tout de suite, c'est pas bon... Mais comme j'ai déjà dis, c'est pas si facile pour quelqu'un qui débute .
Merci encore, sujet clos ^^
Répondre

Connectés sur ce fil

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