Freddy Schwartzman
Aktiver Nutzer
Hallo zusammen! Ich habe mir gerade Gartenlaternen gebastelt die beim darauf klicken an- oder ausgehen. Nun wäre es aber auch noch praktisch wenn diese Laternen automatisch bei beginn der Nacht automatisch angehen und bei Tagesanbruch wieder ausgehen würden... also via Lichtindikator. Ein Script für den Lichtindikator habe ich nur weiß ich nicht wie ich das in das bestehende Lichtscript einbauen soll.
Es sind insgesamt zwei Scripts in den Laternen. Einmal das wo man nur auf die Laternen klicken muß:
dann das Script für das Licht in der Laterne:
und das wäre das Lichtindikator Script:
Hat vielleicht hier jemand Vorschläge wie das zu meistern ist? Ich bekomme immer nur Errors wenn ich an den Scripts was "verunstalte".
Besten Dank !
Es sind insgesamt zwei Scripts in den Laternen. Einmal das wo man nur auf die Laternen klicken muß:
Code:
integer an = FALSE;
default
{
touch_start(integer total_number)
{
if(an == TRUE)
{
llSay(-250, "aus");
an = FALSE;
}
else
{
llSay(-250, "an");
an = TRUE;
}
}
}
dann das Script für das Licht in der Laterne:
Code:
vector white = <1,1,1>;
default
{
state_entry()
{
llListen(-250, "","","");
llSetTextureAnim(ANIM_ON | SMOOTH | LOOP, 1 , 1 , 1 , 1.0 , 1 , 0.5);
}
on_rez(integer start)
{
llListen(-250, "","","");
llSetTextureAnim(ANIM_ON | SMOOTH | LOOP, 1 , 1 , 1 , 1.0 , 1 , 0.5);
}
listen(integer channel, string name, key id, string msg)
{
if(msg == "an")
{
llSetPrimitiveParams([PRIM_GLOW, ALL_SIDES, 0.30, PRIM_POINT_LIGHT,TRUE, <.9,.7,.3>,0.10, 8.0, 0.75]); llSetAlpha(0.3, -1);
}
else if(msg == "aus")
{
llSetPrimitiveParams([PRIM_GLOW, ALL_SIDES, 0.0, PRIM_POINT_LIGHT, FALSE, <0,0,0>, 1.0, 0.0, 0.0]);
}
}
}
und das wäre das Lichtindikator Script:
Code:
integer night=0;
default
{
state_entry()
{
llSetTimerEvent(60); // Check every 1 minutes
}
timer()
{
vector sun = llGetSunDirection();
if (sun.z <= 0) night = 1; // Sun is below the horizon
else
if (sun.z > 0) night = 0; // Sun is above the horizon
if (night == 1)
{
llSetPrimitiveParams([PRIM_FULLBRIGHT,ALL_SIDES,TRUE]);
llSetPrimitiveParams ([PRIM_POINT_LIGHT, TRUE, <.9,.7,.3>, 1.0, 10.0, 0.0 ] );
}
else
{
llSetPrimitiveParams([PRIM_FULLBRIGHT,ALL_SIDES,FALSE]);
llSetPrimitiveParams ([PRIM_POINT_LIGHT, FALSE, <1,1,1>, 1.0, 10.0, 0.0] ); ; llSetAlpha(0, -1);
}
}
}
Hat vielleicht hier jemand Vorschläge wie das zu meistern ist? Ich bekomme immer nur Errors wenn ich an den Scripts was "verunstalte".
Besten Dank !