JointVenture Resident
Aktiver Nutzer
Warum funktioniert mein script nicht? Und ist das überhaupt richtig geschrieben?
Das script lässt sich speichern, also gibt keine Fehlermeldung.
Geklaubt von: http://community.secondlife.com/t5/LSL-Scripting/Basic-HUD-Local-Rotation-problems/td-p/1465401
Das script lässt sich speichern, also gibt keine Fehlermeldung.
Code:
//Es passiert nichts!
list links = ["rotator","buttons","rahmen"];//Namen der verlinkten Prims überhaupt benötigt? , wenn:
integer Linked(string Needle) {
while(--Prims) if(llGetLinkName(Prims) == Needle) return Prims;//
return 0;
}
//Globale Var
integer dreh = TRUE;
integer rotationsButtons;
integer Buttons;
integer Rahmen;
///
integer Prims; //??? als global richtig?
Dreh_funktion()//??? funktioniert nicht!
{
llSay(0,(string)Prims);//Test. geht nicht
dreh = !dreh;
rotation prim_rot = llEuler2Rot(<16.4, 0.0, 0.0> * DEG_TO_RAD); // rotation zu dem nächsten Button ca 16.4°
list get_child_rot = llGetLinkPrimitiveParams(rotationsButtons, [PRIM_ROT_LOCAL,
PRIM_LINK_TARGET, Buttons, PRIM_ROT_LOCAL,
PRIM_LINK_TARGET, Rahmen, PRIM_ROT_LOCAL]);
list params;
integer i = 0;
for(i; i < Prims; ++i) // integer Prims ??
{
if(i)
{
params += [PRIM_LINK_TARGET, i + Prims]; // Linknummern
if (dreh)
{
params += [PRIM_ROT_LOCAL, prim_rot * llList2Rot(get_child_rot, i)]; // Dreht...
}
else
{
params += [PRIM_ROT_LOCAL, llList2Rot(get_child_rot, i) / prim_rot]; // ...oder ander herum.
}
}
}
llSetLinkPrimitiveParams(Prims, params);
}
default
{
state_entry()
{
integer Prims = llGetNumberOfPrims()+1; //Nummern der Prims
rotationsButtons = Linked("rotator");
Buttons = Linked("buttons");
Rahmen = Linked("rahmen");
}
touch_start(integer num)
{
llSay(0,"klick");//sagt nichts!
Dreh_funktion();
}
}
Geklaubt von: http://community.secondlife.com/t5/LSL-Scripting/Basic-HUD-Local-Rotation-problems/td-p/1465401