Neverwinter Nights
Menú
Gamersmafia es ahora un archivo de solo lectura.

¿Como se controla el dia y la noche?

He hecho una ciudad para un módulo y he puesto unos postes de luz que pueden estar encendidos y apagados, pero ¿cómo hago para que se enciendan por la noche y se apaguen por el día? Pensé en un script pero no se que comando utilizar para que el script detecte si es de día o de noche. El script tendría la forma: [code:1:da9e0199f6] for (p = 0; p < 8; p++) { object ofarola = GetObjectByTag(“FAR_” + IntToString(p)); AssignCommand(ofarola,ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); DelayCommand(0.4,SetPlaceableIllumination(ofarola, TRUE)); } [/code:1:da9e0199f6] Esto lo he hecho con un desencadenante, pero no se como hacerlo para el día y la noche. ¿Alguien me ayuda? Gracias a todos.

Saludos
La funciones que te determinan si es de noche o de dia, seria GetIsDay o GetIsNight.
Mirando tu script, creo que lo que quieres hacer es que farolas y antorchas de enciendan de noche y se apagen de dia.El script seria el siguiente
[code:1:86794499b2]void TurnOnLight();
void TurnOffLight();
void main()
{

if (GetLocalInt (OBJECT_SELF,"RUNONCE") != 1)
{
SetLocalInt (OBJECT_SELF,"RUNONCE", 1);
PlayAnimation (ANIMATION_PLACEABLE_DEACTIVATE);
SetPlaceableIllumination (OBJECT_SELF, FALSE);
SetLocalInt (OBJECT_SELF,"NW_L_AMION",0);
RecomputeStaticLighting (GetArea(OBJECT_SELF));
}

if (GetLocalInt (OBJECT_SELF,"NW_L_AMION") == 0 && GetIsNight() == TRUE)
{
TurnOnLight();
}
else if (GetLocalInt (OBJECT_SELF,"NW_L_AMION") == 1 && GetIsDay() == TRUE)
{
TurnOffLight();
}
}
void TurnOnLight()
{
PlayAnimation (ANIMATION_PLACEABLE_ACTIVATE);
SetPlaceableIllumination (OBJECT_SELF, TRUE);
SetLocalInt (OBJECT_SELF,"NW_L_AMION",1);
RecomputeStaticLighting (GetArea(OBJECT_SELF));
}
void TurnOffLight()
{
PlayAnimation (ANIMATION_PLACEABLE_DEACTIVATE);
SetPlaceableIllumination (OBJECT_SELF, FALSE);
SetLocalInt (OBJECT_SELF,"NW_L_AMION",0);
RecomputeStaticLighting (GetArea(OBJECT_SELF));
}
[/code:1:86794499b2]
Bueno espero que te sirva, es una variacion del script NW_O2_ONOFF.nss
lo malo es si tienes muchas luce ya que el script funciona en el evento OnHeartBeat, aunque siempre hay maneras de poder reducir este gasto de recursos, variando el script y consiguiendo que te active todas las farolas que desees con un solo script, sin necesidad de incluirlo en cada una de las farolas.

Un saludo de Picudemus.

Saludos
La funciones que te determinan si es de noche o de dia, seria GetIsDay o GetIsNight.
Mirando tu script, creo que lo que quieres hacer es que farolas y antorchas de enciendan de noche y se apagen de dia.El script seria el siguiente
[code:1:fdfc7e6fff]void TurnOnLight();
void TurnOffLight();
void main()
{

if (GetLocalInt (OBJECT_SELF,"RUNONCE") != 1)
{
SetLocalInt (OBJECT_SELF,"RUNONCE", 1);
PlayAnimation (ANIMATION_PLACEABLE_DEACTIVATE);
SetPlaceableIllumination (OBJECT_SELF, FALSE);
SetLocalInt (OBJECT_SELF,"NW_L_AMION",0);
RecomputeStaticLighting (GetArea(OBJECT_SELF));
}

if (GetLocalInt (OBJECT_SELF,"NW_L_AMION") == 0 && GetIsNight() == TRUE)
{
TurnOnLight();
}
else if (GetLocalInt (OBJECT_SELF,"NW_L_AMION") == 1 && GetIsDay() == TRUE)
{
TurnOffLight();
}
}
void TurnOnLight()
{
PlayAnimation (ANIMATION_PLACEABLE_ACTIVATE);
SetPlaceableIllumination (OBJECT_SELF, TRUE);
SetLocalInt (OBJECT_SELF,"NW_L_AMION",1);
RecomputeStaticLighting (GetArea(OBJECT_SELF));
}
void TurnOffLight()
{
PlayAnimation (ANIMATION_PLACEABLE_DEACTIVATE);
SetPlaceableIllumination (OBJECT_SELF, FALSE);
SetLocalInt (OBJECT_SELF,"NW_L_AMION",0);
RecomputeStaticLighting (GetArea(OBJECT_SELF));
}
[/code:1:fdfc7e6fff]
Bueno espero que te sirva, es una variacion del script NW_O2_ONOFF.nss
lo malo es si tienes muchas luce ya que el script funciona en el evento OnHeartBeat, aunque siempre hay maneras de poder reducir este gasto de recursos, variando el script y consiguiendo que te active todas las farolas que desees con un solo script, sin necesidad de incluirlo en cada una de las farolas.

Un saludo de Picudemus.

Gracias otra vez Picudemus. Probaré a ver.

Un saludo.

Los más activos en Aurora Toolset