Oyez, oyez !

Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !

Merci à toutes et à tous pour votre participation !

N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...

[Script] Déclenchement d'un dialogue après la mort de plusieurs créatures

Répondre
Avatar du membre
Faust
Adepte de Grondemarteau
Loup noir
Messages : 291
Enregistré le : mer. 15 avr. 2009, 12:04
Localisation : Wherever I may roam
Statut : Hors ligne

[Script] Déclenchement d'un dialogue après la mort de plusieurs créatures

.

Message par Faust »

Bonsoir,

Je suis parvenu à déclencher un dialogue suite à la mort de plusieurs créature dans la carte AR8501, tout en tenant compte du fait que les créatures présentes aient une deathvar commune aux autre créatures apparaissant ailleurs dans BGT.

IF
Global("El[r]incrane","GLOBAL",0)
Global("El[r]inCULT","GLOBAL",0)
THEN
RESPONSE #100
Deactivate("C[r]ane") // Crâne
AmbientActivate("Skull",FALSE)
SetGlobal("El[r]incrane","GLOBAL",1)
END

IF
Global("El[r]incrane","GLOBAL",1)
!InMyArea("WYVERN") // Lucy
!InMyArea("X#CORANWYVERN") // Wiverne
THEN
RESPONSE #100
SetGlobal("El[r]incrane","GLOBAL",2)
END


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

IF
Global("El[r]inCULT","GLOBAL",2)
THEN
RESPONSE #100
SetCursorState(TRUE)
PlaySound("EFF_M84")
PlaySound("EFF_M84")
PlaySound("EFF_M84")
PlaySound("EFF_M84")
PlaySound("EFF_P19")
CreateVisualEffectObject("DIE[gld]","C[r]ane") // Crâne
ScreenShake([1160.415],20)
Wait(1)
ActionOverride("C[r]ane",ApplySpellRES("el1","El[r]in")) // No such index
CreateVisualEffectObject("DSL[gld]","El[r]in") // Elfe
SmallWait(0)
CreateVisualEffectObject("Drg[gld]","El[r]in") // Elfe
SetGlobal("El[r]inSPL","GLOBAL",1)
AmbientActivate("Skull",FALSE)
Deactivate("C[r]ane") // Crâne
SetGlobal("El[r]inCULT","GLOBAL",3)
END

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

IF
Global("El[r]incrane","GLOBAL",0)
Global("El[r]inCULT","GLOBAL",0)
THEN
RESPONSE #100
Deactivate("C[r]ane") // Crâne
AmbientActivate("Skull",FALSE)
SetGlobal("El[r]incrane","GLOBAL",1)
END

IF
Global("El[r]incrane","GLOBAL",1)
!IsActive("WYVERN") // Lucy
NumDead("X#CORANWYVERN",2) // Wiverne
THEN
RESPONSE #100
SetGlobal("El[r]incrane","GLOBAL",2)
END

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

IF
Global("El[r]inCULT","GLOBAL",2)
THEN
RESPONSE #100
SetCursorState(TRUE)
PlaySound("EFF_M84")
PlaySound("EFF_M84")
PlaySound("EFF_M84")
PlaySound("EFF_M84")
PlaySound("EFF_P19")
CreateVisualEffectObject("DIE[gld]","C[r]ane") // Crâne
ScreenShake([1160.415],20)
Wait(1)
ActionOverride("C[r]ane",ApplySpellRES("el1","El[r]in")) // No such index
CreateVisualEffectObject("DSL[gld]","El[r]in") // Elfe
SmallWait(0)
CreateVisualEffectObject("Drg[gld]","El[r]in") // Elfe
SetGlobal("El[r]inSPL","GLOBAL",1)
AmbientActivate("Skull",FALSE)
Deactivate("C[r]ane") // Crâne
SetGlobal("El[r]inCULT","GLOBAL",3)
END

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


Le problème étant que ce code nécessite une phase de repos afin que le script se rafraichisse, or j'aurai souhaité que celui-ci se déclenche une fois que les créatures aient été tuées (wivernes). J'ai essayé d'attribuer ce script à un personnage via un sort pour voir si celui-ci déclenchait le rafraichissement du script, malheureusement c'est sans succès, une phase de repos est toujours nécessaire.

Pour info j'ai utilisé le code NumDead("Wyverne",2) cependant comme mentionné précédemment la deathvar de la wiverne dans la caverne est identique à celle dans tout le jeu, et je ne souhaite pas modifier la créature spécifique sur cette carte (pour éviter un conflit avec d'autre modes modifiant les éléments sur la carte).

Des recommandations?
Modifié en dernier par Faust le sam. 29 avr. 2023, 20:57, modifié 1 fois.
Répondre

Retourner vers « Scripts »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité