Dexx Magic
Superstar
Nach langer Zeit mal eine Frage - und wie man sicher sieht habe ich leider absolut NULL Ahnung vom Scripten und verwende nur vorgefertigte Scripts.
Ich will ein HUD basteln. Im HUD Prim sind Knöpfe (also verlinkte Child Prims) zum Anklicken und die lösen eine bestimmte Aktion aus. Hier z.B. einen Sound abspielen:
Jetzt soll aber beim Klicken auch noch die Textur wechseln, denn der Benutzer soll sehen welcher Knopf des HUDs gerade aktiv ist. Also konkret: Der eine Knopf hat eine Textur mit Beschriftung "Sound on" und die andere Textur heisst "Sound off".
Wie kombiniert man diese beiden Scripts zu einem Einzigen (das dann in jeweils in dem Child-Prim aktiv ist?
Wenn man es ganz genau machen wollte, dann müsste das anklicken eines "neuen" Knopfes sogar noch die Textur vom vorher gedrückten Knopf auf "off" stellen - aber ich denke damit würde es viel zu kompliziert.
Ich will ein HUD basteln. Im HUD Prim sind Knöpfe (also verlinkte Child Prims) zum Anklicken und die lösen eine bestimmte Aktion aus. Hier z.B. einen Sound abspielen:
default
{
touch_start(integer num)
{
integer n = llGetInventoryNumber(INVENTORY_SOUND);
integer i = llFloor(llFrand(n));
llTriggerSound(llGetInventoryName(INVENTORY_SOUND, i), 0.5);
}
}
Jetzt soll aber beim Klicken auch noch die Textur wechseln, denn der Benutzer soll sehen welcher Knopf des HUDs gerade aktiv ist. Also konkret: Der eine Knopf hat eine Textur mit Beschriftung "Sound on" und die andere Textur heisst "Sound off".
Wie kombiniert man diese beiden Scripts zu einem Einzigen (das dann in jeweils in dem Child-Prim aktiv ist?
string texture1 = "UUID of texture 1";//UUID of texture 1 (or inventory name if in inventorY)
string texture2= "UUID of texture 2";//UUID of texture2
float time = 0.0;//time to sleep in seconds
integer side = ALL_SIDES;//which side to change texture on
{
llSetTexture(texture, side);
currentstate = ~currentstate;//swith states
llSleep(time);
}
default
{
touch_start(integer total_number)
{
if(currentstate)
switch(texture1);
else
switch(texture2);
}
Wenn man es ganz genau machen wollte, dann müsste das anklicken eines "neuen" Knopfes sogar noch die Textur vom vorher gedrückten Knopf auf "off" stellen - aber ich denke damit würde es viel zu kompliziert.