Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrĂ´le

Recherche | Retour aux forums

JOL Archives

Invocation Scriptée.

Par mickmils le 11/7/2002 Ă  22:08:12 (#1793561)

Salut,

J'essaie de créer un NPC qui invoque deux bestioles que j'ai crée avec les wizards (donc pas le spell d'invocation par défaut).
Une fois qu'elles se font buter, le NPC initie un nouveau dialogue.

C'est en théorie assez simple, mais étant moi même une quiche, je n'y arrive pas :p

Quelqu'un peut aider ?

Aussi, serait il possible du customizer ou bidouiller le systeme
de scripts afin qu'il utilise des points de Mana ? Ou de créer
un spell qui ne fait que modifier une variable ?

Mickmils

une quiche répond ...

Par izuall le 12/7/2002 Ă  1:27:23 (#1794368)

haaaaaaaaaa le mana *leve les yeux a ciel * c'est bien le mana ... et comme on dis chez moi pa'd'mana ; pa'd'chocolat ...:mdr:
sinon pour le script désolé mais je sais pas du tout , mais ca serait super intéréssent qu'un des "pro" nous ponde ca ...

Par Kray le 12/7/2002 Ă  1:31:19 (#1794380)

Je le fais demain si personne ne le fait avant moi... Mais lĂ , dodo :baille::)

Par Dilandau le 12/7/2002 Ă  10:05:54 (#1795170)

Salut si tu sait faie des script utilise pour ton NPC une variante de celui-ci :

il te faut deux waypoint a coter de ton NPC.

void main()
{

object NPC = GetObjectByTag("Tag de ton NPC");
location loc = GetLocation(GetObjectByTag("Tag Waypoint 1");
location loc1 = GetLocation(GetObjectByTag("Tag Waypoint 2");
AssignCommand(NPC,ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_III,loc,METAMAGIC_ANY,TRUE));
AssignCommand(NPC,ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_III,loc1,METAMAGIC_ANY,TRUE));


}

bien celui la il crée deux créature, mais je ne sais pas détecter si elle sont morte, a moins de ne pas utiliser un sort mais juste de faire un jump au creature plaquer dans le niveau avec un effet en dessous.

void main()
{
object NPC = GetObjectByTag("tag du NPC");
object crea = GetObjectByTag("tag créature");
object crea2 = GetObjectByTag("tag creature 2");
location loc =GetLocation(GetObjectByTag("tag way 1"));
location loc1 =GetLocation(GetObjectByTag("Tag way 2"));

ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_2),loc);
AssignCommand(crea,ActionJumpToLocation(loc));

ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_2),loc1);
AssignCommand(crea2,ActionJumpToLocation(loc1));

While (GetIsDead(crea) && GetIsDead(crea2)) {;}
AssignCommand(NPC,ActionStartConversation(cible));
}

Par Adalorn le 12/7/2002 Ă  10:39:36 (#1795331)

fait plutĂ´t
While (GetIsDead(crea) && GetIsDead(crea2)) {DelayComand(6.0);}
sinon, tu auras une boucle infinie trops rapide (là, il vérifie déja tout les round, je sait pas si DelayComand marche sans actions, sinon,
DelayComand (6.0, ActionWait(6.0));

va aussi regarder les gestes que fait le lanceur pour lancer le sort

autre solution pour les créatures, placer dans Ondead des créatures:
if (GetIsdead(GetObjectByTag("tag creature")) && GetIsDead(GetObjectByTag("tag creature 2")))
ActionStartConversation(oPlayer,"conversation_qui_à_lieu_aprés_la_mort_des_deux_créatures_appelées_crea_et_crea2",TRUE);

Edit:// je pense que c'est mieu :
effect invoc = EffectSummonCreature("tag creature")+ EffectSummonCreature("tag creature 2 ") + EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_3)
puis AplyEffectAtLocation.....

Par Dilandau le 12/7/2002 Ă  13:23:09 (#1796108)

Ouias il a raison mon truc est trop compliqué ;)

JOL Archives 1.0.1
@ JOL / JeuxOnLine