M_v_M

29/03/2007 20:28:56

Buenas!

Seguro que es una cosa simplísima (poder hacer, supongo que se podrá), pero estoy devanándome los sesos y no encuentro manera. Como scripter, la verdad no soy una joya :cry: .

La pregunta es la siguiente:

¿Cómo hago para que un encuentro aparezca únicamente de día o de noche?

De antemano, gracias por responder, me estoy volviendo mico.

kowalevskaya

30/03/2007 00:09:58

Aquí tienes uno que activa los encuentros sólo por la noche... tienes que enchufar el script en el OnEnter del desencadenante.
Creo recordar que había otra manera con los Puntos de Ruta, poniendo unas iniciales al principio... WPDAY o algo así... esto funciona, lo otro, no lo probé, salvo para situar guardias en murallas o similares.
[code:1:67f6e2b639]const int AMANECE = 6;
const int ANOCHECE = 18;

void main()
{
if (GetIsPC(GetEnteringObject()))
{
int hora = GetTimeHour();
object encuentro = GetFirstInPersistentObject(OBJECT_SELF,OBJECT_TYPE_ENCOUNTER);
while (GetIsObjectValid(encuentro))
{
if ((hora < AMANECE) || (hora >= ANOCHECE))
{SetEncounterActive(TRUE, encuentro);}
else
{SetEncounterActive(FALSE, encuentro);}
encuentro = GetNextInPersistentObject(OBJECT_SELF,OBJECT_TYPE_ENCOUNTER);
}
}
}[/code:1:67f6e2b639]

El script es de Lagarto y se puede ver en varias páginas de las que hablan de estas cosas.

M_v_M

30/03/2007 00:31:09

Gracias, mañana lo probaré, cuando esté más despejado. Probaré a ver si puedo además cambiar algo para que además de que los encuentros salgan solo de noche, que al amanecer no quede ningún bicho de los que han salido.

En plan vampiros, amanece, y se van todos al carajo aparte de sólo salir por la noche :wink: . ¿Por casualidad eso también sabes hacerlo, oh fuente de sabiduría eterna? :P

M_v_M

30/03/2007 14:35:13

He copiado y pegado el script tal cual me lo has puesto en el post de arriba, y no funciona :? . Voy a trastear un poco y ponerlo en otro sitio que no sea el OnEnter, a ver...

AlthorDeMalavir

31/03/2007 00:40:22

este funciona, al menos en neverun 2

[code:1:4cd07feef3]
void main()
{
if(GetIsNight()) SetEncounterActive(TRUE, OBJECT_SELF);
else SetEncounterActive(FALSE, OBJECT_SELF);
}
[/code:1:4cd07feef3]

Es facil y bonito xD

El de Kowa es complicarse un poco existiendo la funcion GetIsNight xd

kowalevskaya

31/03/2007 11:16:53

[quote:dc067c46ee="M_v_M"]He copiado y pegado el script tal cual me lo has puesto en el post de arriba, y no funciona[/quote:dc067c46ee]
Mmmm... en propiedades del módulo viene un ajuste del paso del tiempo en el módulo... si mal no recuerdo, por defecto, venía muuuuuy lento...

Por otro lado, ¿has puesto el punto de generación del encuentro? Te lo digo, porque a mí, me ha funcionado este script... y la verdad es que en el de Althor, los encuentros se activan justo al amanecer o al anochecer del módulo... con éste, puedes permitirte virguerías como salir al alba, al anochecer... en fin, controlas un poco más el margen de horas. (Como poner el conejo asesino en los intervalos de siesta en el bosque)

Ahora puestos a elegir, pondría el de Althor para no marearme con el tema de las horas.