[script] marche bien a la 2eme fois

Répondre
Partager Rechercher
voilà mon souci, le PC passe sur un declencheur ki fait apparaitre une entité "Spectrejeffrey", mais il en cree une a chaque fois ke le PC entre dans le declencheur puisque j'ai le script en OnEnter pour y pallier je fais un DestroyObject du declencheur .
Voila ce qu'il se produit :
1er entré 1 entité se cree
2nd entré 1 entité se cree
et apres c est bon il en cree plus je pige pas
voila mon script
Code PHP:

void main()
{
    
object oCreature GetNearestCreature(CREATURE_TYPE_PLAYER_CHARPLAYER_CHAR_IS_PC);
    
object oDalle=GetObjectByTag("jeffrey");// declencheur
    
if (GetIsObjectValid(oCreature) == TRUE && GetDistanceToObject(oCreature) < 10.0)
   {
   
DestroyObject(oDalle);// devrait detruire la dalle de suite ????
   
effect eMind EffectVisualEffect(VFX_IMP_GLOBE_USE);
   
object oSpectre CreateObject(OBJECT_TYPE_CREATURE"spectrejeffrey"GetLocation(OBJECT_SELF));// crée mon entité
   
location lLocGetLocation(oSpectre);
   
ApplyEffectAtLocation(DURATION_TYPE_INSTANTeMindlLoc,4.0);

   }

Merci
Code PHP:

void main()
{
    
object oCreature GetEnteringObject();
    
object oDalle=OBJECT_SELF;// declencheur
    
if (GetIsObjectValid(oCreature))
   {
   
DestroyObject(oDalle);// devrait detruire la dalle de suite ????
   
effect eMind EffectVisualEffect(VFX_IMP_GLOBE_USE);
   
object oSpectre   CreateObject(OBJECT_TYPE_CREATURE"spectrejeffrey"GetLocation(oDalle));// crée mon entité
   
location lLocGetLocation(oSpectre);
   
ApplyEffectAtLocation(DURATION_TYPE_INSTANTeMindlLoc,4.0);

   }

Voila puisque c'est sur le OnEnter ca devrait fonctionner
alors j ai reussi en m'ensortir en modifiant mon script de la sorte
Code PHP:

void main()
{
    
object oCreature GetNearestCreature(CREATURE_TYPE_PLAYER_CHARPLAYER_CHAR_IS_PC);
    
object oSpectre CreateObject(OBJECT_TYPE_CREATURE"spectrejeffrey"GetLocation(OBJECT_SELF));
    
location lLocGetLocation(oSpectre);
    if (
GetIsObjectValid(oCreature) == TRUE && GetDistanceToObject(oCreature) < 10.0)
   {
   
SetPlotFlag(OBJECT_SELFFALSE);
   
DestroyObject(OBJECT_SELF0.5);
   
effect eMind EffectVisualEffect(VFX_IMP_GLOBE_USE);
   
ApplyEffectAtLocation(DURATION_TYPE_INSTANTeMindlLoc,6.0);
   }

mais, j ai un autre problem a la fin de mon dialogue l'entité doit disparaitre. J ai essayé JumptoLocation ou DestroyObject mais rien y fait elle reste là
Citation :
mais, j ai un autre problem a la fin de mon dialogue l'entité doit disparaitre. J ai essayé JumptoLocation ou DestroyObject mais rien y fait elle reste là
...

Sur le noeud de la conversation la ou tu veux que ca disparaisse.

Code PHP:

void main()
{
object oSpectre GetNearestObjectByTag("TagDuSpectre");

DestroyObject(oSpectre);

(a mettre dans le action consequente bien sure)
Excusez moi,
*arrive doucement*

Si je peux donner un simple avis comme tu mets le dialogue dans le NPC.
Tu n'as pas besoin de faire tout ça.

Tu as juste besoin de faire un :

Code PHP:


DestroyObject
(OBJECT_SELF); 
à la fin de ton dialogue

Cela vous simplifiera la vie .
Répondre

Connectés sur ce fil

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