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

Panneau de contrĂŽle

Recherche | Retour aux forums

JOL Archives

Rencontre qui ne s'active que si un bout de quete a été effectué.

Par Morethil le 7/11/2002 Ă  10:08:08 (#2502513)

Hello tous,
Je souhaiterai implĂ©menter des rencontres dans mon module, qui ne s'active que si une quĂȘte est arrivĂ© Ă  un certain stade.
Sauf que je fait face a 2pbm.

1) Je ne sait pas si le tag d'une quete dans le journal est un "LocalInt" que l'on peux verifier.
-- Du genre Verifier si le local int "quete_machin, 4" à été activé avant de lancer la rencontre.

2) Je ne sait pas comment faire en sorte que la rencontre ne se déclanche pas si cette donnée n'est pas verifiée.

J'ai vu Diwell utiliser des LocalInt avec des noms approchant de ses quete dans "Un coin de paradis" (module) ce qui me laisse penser que "quete_machin" je fonctionne pas ?

Par eMRaistlin le 7/11/2002 Ă  11:27:17 (#2502934)

presque par definition, un tag est un string.

Pour ce qui est du journal, je ne l'utilise pour l'instant pas, donc je ne peut te repondre... mais pour ce genre de chose, stocke ta variable sur le module, ce sera aussi simple.

Pour ce qui est de l'activité d'une encoutner, c'est faisable :


SetEncounterActive(int, object)
Sets an encounter to active or inactive.

void SetEncounterActive(
int bNewValue,
object oEncounter = OBJECT_SELF
);
Parameters
bNewValue

TRUE if the encounter is active, otherwise FALSE.

oEncounter

The encounter to set active or inactive. (Default: OBJECT_SELF)



Description
Set oEncounter's active state to nNewValue.




Remarks
From Victor Morales:

I have tried the SetEncounterActive function to spawn creatures at different times of the day. For example, I only wanted the undead in a cemetery to spawn if it was nighttime.

If the encounter active flag is set to FALSE to begin with (in the encounter GUI window when the encounter is created) then the SetEncounterActive function will spawn them properly the first time. It seems that the creatures are set to spawn before the OnEnter event is checked for validity. In addition, once the active flag is set it won't revert until the next time the encounter is triggered.

So I would have undead that would spawn at night properly, but once they spawned - if the time changed to day they would spawn at least one more time during daylight hours. Then the trigger would work properly again.

I tried to make it reset the active flag to active OnEnter, then the creatures would spawn, and to reset it to inactive OnExit. However, that didn't work either and the behavior stayed the same.


mais tu peux constater que le comportement du l'encounter semble particulier.

Je n'ai pas testé, mais je suppose que sur le OnEnter De l'area, tu dois pouvoir activer ou non cette encounter en fonction de la variable de la quete.

Ca peut toujours servir : fonction sur les rencontres :
ActionCreate

GetEncounterActive

GetEncounterDifficulty

GetEncounterSpawnsCurrent

GetEncounterSpawnsMax

GetEnteringObject

GetExitingObject

GetIsEncounterCreature

SetEncounterActive

SetEncounterDifficulty

SetEncounterSpawnsCurrent

SetEncounterSpawnsMax

Par sounéva le 7/11/2002 à 12:03:05 (#2503170)

tu peut rĂ©cupĂ©rĂ© l'etat de ta quĂȘte j'en suis sur(je l'ai fait dans un tuto), recherche les fonctions avec le mot "journal"
je croit que dans le tuto "faire un module de bioware" c'est asser bien Ă©xpliquer.

Par JedaĂŻ le 7/11/2002 Ă  16:57:26 (#2505858)

En fait SounĂ©va c'est possible mais avec un getlocalint() sur une variable qui est crĂ©Ă©e automatiquement. Je ne me souviens jamais de son nom ("QuestEntryID_TagdeLaQuĂȘte", ou un truc cumme ça :monstre: ), donc perso j'utilise un LocalInt que je change moi-mĂȘme en mĂȘme temps que je change l'entrĂ©e du journal.
Au moins je me souviens de son nom.:D

JOL Archives 1.0.1
@ JOL / JeuxOnLine