Page 1 sur 1

[Script] Activation d'une animation ARE sous conditions

Posté : sam. 08 févr. 2020, 23:07
par Faust
Bonsoir,

Cela fait plusieurs jours que je m'arrache les cheveux afin d'activer une animation en fonction d'une variable, je n'y parviens ni avec "
StaticStart(O:Object*)" ou "StaticStop(O:Object*)" ni avec "AmbientActivate(O:Object*,I:State*BOOLEAN)".

[LEFT][LEFT]Je cherche à faire tourner en continu une animation enregistrée sur le fichier ARE comme animation lorsque la variable qui m'intéresse atteint une valeur précise et se désactive lorsque la valeur est dépassée.

Malheureusement lorsque j'ajoute l'animation dans le fichier ARE les scripts ne fonctionnent plus et les variables ne se crééent, m'empêchant d'obtenir le résultat désiré.

Plus précisément je souhaite faire apparaitre une lumière dans le crâne de mon squelette en même temps qu'une créature invisible apparait afin de lancer un dialogue, si uniquement la créature est ajoutée dans le fichier ARE, tout les scripts fonctionnent correctement, la créature apparait à la variable pour laquelle elle a été programmée.

Le problème surgit lorsque j'ajoute l'animation (qui doit tourner en continu dès que la variable choisie est atteinte et doit s'arrêter lorsque la variable d'origine n'est plus dans la bonne valeur) dans le fichier ARE sous "animation" au lieu d'être désactivées par défaut, la créature invisible et l'animation son déjà actives lorsque mon personnage arrive sur la carte, et les variables ne se créent pas.

voici les codes utilisés dans le fichier BCS de l'AREA concernée:
[/LEFT]
IF
Global("El[r]incrane","GLOBAL",0)
Global("El[r]inDRGCULT","GLOBAL",0)
THEN
RESPONSE #100
Deactivate("C[r]ane") // Crâne
AmbientActivate("Skull light",FALSE)
SetGlobal("El[r]incrane","GLOBAL",1)
END

IF
Global("El[r]incrane","GLOBAL",1)
NumDead("WYVERN",3) // Bébé wyverne
NumDead("X#CORANWYVERN",2) // Wiverne
THEN
RESPONSE #100
SetGlobal("El[r]incrane","GLOBAL",2)
END

IF
AreaCheckObject("AR8501","El[r]in") // Elfe
InParty("El[r]in") // Elfe
Global("El[r]incrane","GLOBAL",2)
THEN
RESPONSE #100
Wait(1)
AmbientActivate("Skull light",TRUE)
Activate("C[r]ane") // Crâne
SetGlobal("El[r]incrane","GLOBAL",3)
END

IF
Global("El[r]incrane","GLOBAL",3)
THEN
RESPONSE #100
SetGlobal("El[r]inDRGCULT","GLOBAL",1)
SetGlobal("El[r]incrane","GLOBAL",4)
END
Fichier DLG de la créature invisible qui passe la variable Global("El[r]inDRGCULT","GLOBAL",1) à Global("El[r]inDRGCULT","GLOBAL",2) à la fin du dialogue
IF
Global("El[r]inDRGCULT","GLOBAL",2)
THEN
RESPONSE #100
AmbientActivate("Skull light",FALSE)
Deactivate("C[r]ane") // Crâne
SetGlobal("El[r]inDRGCULT","GLOBAL",3)
END

IF
Global("El[r]inDRGCULT","GLOBAL",3)
THEN
RESPONSE #100
CreateCreature("EL[M]G",[1257.173],14) // Mage
CreateCreature("bandita",[1263.173],14) // Bandit
CreateCreature("bandita",[1260.173],14) // Bandit
CreateCreature("bandita",[1265.173],14) // Bandit
SetGlobal("El[r]inDRGCULT","GLOBAL",4)
END

La lumière et créature doivent apparaître lorsque les wyvernes sont mortes.

Le fichier joint Wyvernes.jpg n’est plus disponible.
[/font][/LEFT]

Posté : dim. 09 févr. 2020, 06:03
par Freddy_Gwendo
Hello Faust.

J'utilise beaucoup ce genre de codes dans mon mod.
Comme je n'ai pas encore les yeux en face des trous au réveil, et que j'ai du monde à la maison, je ne me sens pas de te pondre un mini tuto pour t'expliquer comment faire.
En revanche, je t'enverrai par MP dans la matinée l'ensemble des fichiers d'une carte qui fonctionne selon ce principe (animations affichées et/ou retirées par variables déclarées soit par dialogues, soit par scripts). Tu pourras donc vérifier de visu comment ça se goupille dans NI ou DLTCEP (notamment les réglages des animations). ;)
Le principe est assez simple et s'inspire de ce tuto.

Posté : dim. 09 févr. 2020, 09:31
par Faust
Freddy_Gwendo a écrit :Hello Faust.

J'utilise beaucoup ce genre de codes dans mon mod.
Comme je n'ai pas encore les yeux en face des trous au réveil, et que j'ai du monde à la maison, je ne me sens pas de te pondre un mini tuto pour t'expliquer comment faire.
En revanche, je t'enverrai par MP dans la matinée l'ensemble des fichiers d'une carte qui fonctionne selon ce principe (animations affichées et/ou retirées par variables déclarées soit par dialogues, soit par scripts). Tu pourras donc vérifier de visu comment ça se goupille dans NI ou DLTCEP (notamment les réglages des animations). ;)
Le principe est assez simple et s'inspire de ce tuto.
Merci Fred 👍