[SCRIPT] Apparition d'une trappe et synchronisation de la chute

Répondre
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne

[SCRIPT] Apparition d'une trappe et synchronisation de la chute

.

Message par Cocrane »

J'ai crée une trappe où le sol se dérobe sous les pieds du pnj. On descend d'un niveau et on se fait mal à la réception. ^^ (la suite étant de pouvoir utiliser la corde).

Globalement ça marche bien:
- la door trappe apparait à l'écran.
- le PNJ tombe (change de carte)
- le pnj est couché au sol et se fait mal.


Il reste deux points qui me gène:
- si plusieurs PNJ passent sur la même trappe presque en même temps, un seul tombe et l'autre continue sa route.
- parfois, il y a un décalage de temps entre l'apparition de la trappe et la chute (en gros 1 à 2 sec). Du coup, le PNJ qui se déplaçait n'est plus sur la trappe lorsqu'il disparait. Ca fait moche. ^^

Cocrane
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

Sans ton script, ça va être coton de te répondre. ;)
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Cocrane »

IF
Entered([0])
THEN
RESPONSE #100

// Apparition du trou
CloseDoor("TROU_1")

// Piège déclenché
SetGlobal("Chute_trou_1","GLOBAL",1)

//ClearActions(LastTrigger)

// Chûte de la créature
ActionOverride(LastTrigger,LeaveAreaLUA("COM018","",[418.545],10))
END


Voilà pour le coton. ^^

Cocrane
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

Essaie ceci :

Code : Tout sélectionner

IF
  ...
THEN
  RESPONSE #100
    SetInterrupt(FALSE)

    ....

    SetInterrupt(TRUE)
END
Sinon, tu peux toujours ajouter des Wait(n) entre plusieurs actions.


Par ailleurs, as-tu coché la case rendant le piège réutilisable dans le fichier .ARE ?
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Cocrane »

Pas encore testé avec l'interruption.

Pas de RESET car le trou reste présent une fois activé.


Question:
Comment expliquer qu'une créature ennemie de type élémentaire passe sur le trou mais ne tombe pas?
C'est stylé pour un élémental d'air mais pas une élémental de terre c'est plus dure à justifier. :-)

A noter, je n'ai pas encore testé avec un ennemie autre.

Je pense qu'on est sur le même problème que sur mon trigger de porte. Entered n'est pas adapté pour des créatures autre que le groupe.

Cocrane
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Cocrane »

Je relance le sujet.

Si c'est une créature du groupe, le code agit et elle déplacée dans l'autre carte.

Si on est en plein combat, la créature ennemie avance sur le trou (on peut même la laisser sur la trappe), le code se déclenche (j'ai un mi un témoin) mais le déplacement ne se produit pas.
IF
//Entered([0])
IsOVerMe([0])
THEN
RESPONSE #100

SetInterrupt(FALSE)
// Chûte de la créature
ActionOverride(LastTrigger,LeaveAreaLUA("COM020","",[131.665],10))

// Apparition du trou
CloseDoor("TROU_1")
SetInterrupt(TRUE)

// Piège déclenché
SetGlobal("Chute_trou_1","GLOBAL",1)


// témoin
CreateCreature("COSTATL",[574.685],6)
END

De ce que je comprends, LastTrigger n'a pas l'air de fonctionner avec ce code. "ActionOverride(LastTrigger,LeaveAreaLUA("COM020","",[131.665],10)) "

Ce problème est il connu?


Je vais adapter un de mes sorts. A priori, j'ai bon espoir.

Je viens de tester et c'est le même résultat. J'ai l'impression qu'il faut le nom en dur de la créature.

A voir en testant avec un RANGE(nom d'une créature potentiellement présente,1) mais ça ne me semble pas fiable...


Cocrane
Répondre

Retourner vers « Scripts »

Qui est en ligne

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