Petite question sur ce script

Répondre
Partager Rechercher
Voila c encore moi (vous en avez pas trop marre j'espere).

G créer ce script avec le generateur, mais voila ce kil ce passe :

-le balor aparait juste avant l'effet du tp

serait il possible de le retenir un cour instant juste le tps ke le tp apparaisse svp ?...

Reyan t la ?....

voici la script ki marche :

Code PHP:

void main()
{

object oPC GetPCSpeaker();

object oTarget;
object oSpawn;
oTarget oPC;

oSpawn CreateObject(OBJECT_TYPE_CREATURE"balor"GetLocation(oTarget));

oTarget oSpawn;

ApplyEffectAtLocation(DURATION_TYPE_INSTANTEffectVisualEffect(VFX_FNF_SUMMON_GATE), GetLocation(oTarget));


oulala, l'est tordu ton truc c bien les generateur, mais j'aurais jamais pensé a faire ca lol
malin le lilac
bin, alors, pour retarder, tu fais un "DelayCommand"
voila ce que je te propose :
Code PHP:

void main()
{

object oPC GetPCSpeaker();
location lLoc GetLocation(oPC);
//pas la peine de changer 36 fois de nom d'objet ^_^

DelayCommand(1.0CreateObject(OBJECT_TYPE_CREATURE"balor"lLoc ));
ApplyEffectAtLocation(DURATION_TYPE_INSTANTEffectVisualEffect(VFX_FNF_SUMMON_GATE), lLoc);


la durée du Delay est en seconde, donc si le balorg apparait trop tard ou trop tot tu corrige

le script du generateur est bon, mais je le trouve dangereux, tordu même, voire carrement incustomisable ^_^
heu... je veux pense pas qu'il marche comme ça ton script Reyan
La commande CreateObject te renvoi un objet et le DelayCommand attend une action comme argument..... D'ailleurs, je suis pas sur qu'il te le compile ce script

De cette manière, ça devrait mieux marcher
Code PHP:

#include "nw_i0_2q4luskan"
void main()
{

object oPC GetPCSpeaker();
location lLoc GetLocation(oPC);
//pas la peine de changer 36 fois de nom d'objet ^_^

DelayCommand(1.0CreateObjectVoid(OBJECT_TYPE_CREATURE"balor"lLoc ));
ApplyEffectAtLocation(DURATION_TYPE_INSTANTEffectVisualEffect(VFX_FNF_SUMMON_GATE), lLoc);


Le include du début, c'est pour récupérer la fonction CreateObjectVoid.

Enfin, en tout cas, ce que tu avais fait était nettement plus propre que ce qu'a pondu l'assistant
En rajoutant une invisibilité pendant 1 seconde ... et un WayPoint un peu plus loin pour aérer
Code PHP:

void main()
{
    
object oEntering =GetEnteringObject();

    if (
GetIsPC(oEntering) && GetLocalInt(oEntering,"BalorApparition")==FALSE )
    {
        
object oBalor;
        
location lBalor GetLocation(GetObjectByTag("WP_BALOR"));// il faut creer un WP un peu plus loin pour eviter que le Balor apparaisse sur le joueur

        
ApplyEffectAtLocation(DURATION_TYPE_INSTANTEffectVisualEffect(VFX_FNF_SUMMON_GATE), lBalor);

        
oBalor CreateObject(OBJECT_TYPE_CREATURE"balor"lBalor,TRUE);
        
ApplyEffectToObject(DURATION_TYPE_TEMPORARYEffectInvisibility(INVISIBILITY_TYPE_DARKNESS), oBalor1.0f);// Invisible 1 seconde

        
SetLocalInt(oEntering,"BalorApparition",TRUE); // Histoire de pas le faire apparaitre dix fois par un meme personnage
                                                    // on peut aussi le mettre sur la zone pour qu'il n'apparaisse plus du tout
    
}



[EDIT] euh désolé je ne savais pas qu'on pouvait mettre un delaycommand sur la création d'une créature...
en plus je l'ai fait apparaitre sur l'entrée dans un trigger au lieu de la conversation...pardon
Répondre

Connectés sur ce fil

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