Difference between revisions of "User:Daemonika Nightfire/Scripts/Funktion"
Jump to navigation
Jump to search
(Created page with "==Einfache Beispiele fuer Funktionen== Die Verwendung globaler Funktionen bietet sich immer dann an, wenn identische Befehle oder ganze Befehlsketten mehr als einmal in einem...") |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
==Einfache Beispiele fuer Funktionen== | {{DSNavSchool}} | ||
Die Verwendung globaler Funktionen bietet sich immer dann an, wenn identische Befehle oder ganze Befehlsketten mehr als einmal in einem Script benoetigt werden. Dabei koennen Funktionen von jedem beliebigen Event aus aufgerufen werden. In den nachfolgenden Beispielen verwenden wir den Touch Event um die Funktion auszuloesen. | ==Einfache Beispiele fuer globale Funktionen== | ||
Die Verwendung globaler Funktionen bietet sich immer dann an, wenn identische Befehle oder ganze Befehlsketten mehr als einmal in einem Script benoetigt werden. Dabei koennen Funktionen von jedem beliebigen Event aus aufgerufen werden. In den nachfolgenden Beispielen verwenden wir den Touch Event um die Funktion auszuloesen. Wie bei Variablen koennen auch hier die Namen der Funktionen individuell bestimmt werden. | |||
===Funktion 01=== | |||
{| width="100%" {{Prettytable}} | {| width="100%" {{Prettytable}} | ||
|- {{Hl2}} | |- {{Hl2}} | ||
Line 25: | Line 27: | ||
{ | { | ||
Funktion(); // globale Funktion als Anweisung, beachte das Semikolon | Funktion(); // globale Funktion als Anweisung, beachte das Semikolon | ||
} | |||
on_rez(integer Dae) | |||
{ | |||
llResetScript(); | |||
} | |||
} | |||
</source> | |||
|- | |||
|} | |||
===Funktion 02=== | |||
{| width="100%" {{Prettytable}} | |||
|- {{Hl2}} | |||
! '''Kompletter Touch/Schalter in eine Globale Funktion ausgelagert.''' | |||
|- | |||
||<source lang="lsl2"> | |||
key owner; | |||
integer status = FALSE; | |||
Schalter() // globale Funktion | |||
{ | |||
if(status == FALSE) | |||
{ | |||
status = TRUE; | |||
llSay(0, "STATUS_TRUE"); | |||
} | |||
else if(status == TRUE) | |||
{ | |||
status = FALSE; | |||
llSay(0, "STATUS_FALSE"); | |||
} | |||
} | |||
default | |||
{ | |||
state_entry() | |||
{ | |||
owner = llGetOwner(); | |||
llSetObjectName("Funktion 02 " + llKey2Name(owner)); | |||
} | |||
touch_start(integer total_number) | |||
{ | |||
Schalter(); // globale Funktion als Anweisung, beachte das Semikolon | |||
} | |||
on_rez(integer Dae) | |||
{ | |||
llResetScript(); | |||
} | |||
} | |||
</source> | |||
|- | |||
|} | |||
===Funktion 03=== | |||
{| width="100%" {{Prettytable}} | |||
|- {{Hl2}} | |||
! '''Diese globale Funktion verwendet eine veraenderliche Variable.''' | |||
|- | |||
||<source lang="lsl2"> | |||
key owner; | |||
GetName(key UUID) // globale Funktion mit Variable | |||
{ | |||
llSay(0, llKey2Name(UUID)); | |||
} | |||
default | |||
{ | |||
state_entry() | |||
{ | |||
owner = llGetOwner(); | |||
llSetObjectName("Funktion 03 " + llKey2Name(owner)); | |||
} | |||
touch_start(integer total_number) | |||
{ | |||
key avatar = llDetectedKey(0); | |||
GetName(avatar); // globale Funktion als Anweisung, beachte das Semikolon | |||
} | |||
on_rez(integer Dae) | |||
{ | |||
llResetScript(); | |||
} | |||
} | |||
</source> | |||
|- | |||
|} | |||
===Funktion 04=== | |||
{| width="100%" {{Prettytable}} | |||
|- {{Hl2}} | |||
! '''Diese globale Funktion setzt mehrere dynamische Variablen voraus.''' | |||
|- | |||
||<source lang="lsl2"> | |||
key owner; | |||
integer counter = 0; | |||
Name_Clicks(key UUID, integer number) // globale Funktion | |||
{ | |||
llSay(0, llKey2Name(UUID) + ", clicks total: " + (string)number); | |||
} | |||
default | |||
{ | |||
state_entry() | |||
{ | |||
owner = llGetOwner(); | |||
llSetObjectName("Funktion 04 " + llKey2Name(owner)); | |||
} | |||
touch_start(integer total_number) | |||
{ | |||
key avatar = llDetectedKey(0); | |||
counter++; | |||
Name_Clicks(avatar, counter); // globale Funktion als Anweisung, beachte das Semikolon | |||
} | |||
on_rez(integer Dae) | |||
{ | |||
llResetScript(); | |||
} | |||
} | |||
</source> | |||
|- | |||
|} | |||
===Funktion 05=== | |||
{| width="100%" {{Prettytable}} | |||
|- {{Hl2}} | |||
! '''Globale Funktion als dynamisch verwendete Variable.''' | |||
|- | |||
||<source lang="lsl2"> | |||
key owner; | |||
integer calc(integer num_1, integer num_2) // globale Funktion | |||
{ | |||
return num_1 + num_2; | |||
} | |||
default | |||
{ | |||
state_entry() | |||
{ | |||
owner = llGetOwner(); | |||
llSetObjectName("Funktion 05 " + llKey2Name(owner)); | |||
} | |||
touch_start(integer total_number) | |||
{ | |||
integer number_1 = 2; | |||
integer number_2 = 3; | |||
llSay(0, "Result: " + (string)calc(number_1, number_2)); // globale Funktion als Variable im Befehl | |||
} | } | ||
Latest revision as of 02:47, 3 January 2020
Einfache Beispiele fuer globale Funktionen
Die Verwendung globaler Funktionen bietet sich immer dann an, wenn identische Befehle oder ganze Befehlsketten mehr als einmal in einem Script benoetigt werden. Dabei koennen Funktionen von jedem beliebigen Event aus aufgerufen werden. In den nachfolgenden Beispielen verwenden wir den Touch Event um die Funktion auszuloesen. Wie bei Variablen koennen auch hier die Namen der Funktionen individuell bestimmt werden.
Funktion 01
Einfache globale Funktion |
---|
key owner;
Funktion() // globale Funktion
{
llSay(0, "Touched.");
}
default
{
state_entry()
{
owner = llGetOwner();
llSetObjectName("Funktion 01 " + llKey2Name(owner));
}
touch_start(integer total_number)
{
Funktion(); // globale Funktion als Anweisung, beachte das Semikolon
}
on_rez(integer Dae)
{
llResetScript();
}
}
|
Funktion 02
Kompletter Touch/Schalter in eine Globale Funktion ausgelagert. |
---|
key owner;
integer status = FALSE;
Schalter() // globale Funktion
{
if(status == FALSE)
{
status = TRUE;
llSay(0, "STATUS_TRUE");
}
else if(status == TRUE)
{
status = FALSE;
llSay(0, "STATUS_FALSE");
}
}
default
{
state_entry()
{
owner = llGetOwner();
llSetObjectName("Funktion 02 " + llKey2Name(owner));
}
touch_start(integer total_number)
{
Schalter(); // globale Funktion als Anweisung, beachte das Semikolon
}
on_rez(integer Dae)
{
llResetScript();
}
}
|
Funktion 03
Diese globale Funktion verwendet eine veraenderliche Variable. |
---|
key owner;
GetName(key UUID) // globale Funktion mit Variable
{
llSay(0, llKey2Name(UUID));
}
default
{
state_entry()
{
owner = llGetOwner();
llSetObjectName("Funktion 03 " + llKey2Name(owner));
}
touch_start(integer total_number)
{
key avatar = llDetectedKey(0);
GetName(avatar); // globale Funktion als Anweisung, beachte das Semikolon
}
on_rez(integer Dae)
{
llResetScript();
}
}
|
Funktion 04
Diese globale Funktion setzt mehrere dynamische Variablen voraus. |
---|
key owner;
integer counter = 0;
Name_Clicks(key UUID, integer number) // globale Funktion
{
llSay(0, llKey2Name(UUID) + ", clicks total: " + (string)number);
}
default
{
state_entry()
{
owner = llGetOwner();
llSetObjectName("Funktion 04 " + llKey2Name(owner));
}
touch_start(integer total_number)
{
key avatar = llDetectedKey(0);
counter++;
Name_Clicks(avatar, counter); // globale Funktion als Anweisung, beachte das Semikolon
}
on_rez(integer Dae)
{
llResetScript();
}
}
|
Funktion 05
Globale Funktion als dynamisch verwendete Variable. |
---|
key owner;
integer calc(integer num_1, integer num_2) // globale Funktion
{
return num_1 + num_2;
}
default
{
state_entry()
{
owner = llGetOwner();
llSetObjectName("Funktion 05 " + llKey2Name(owner));
}
touch_start(integer total_number)
{
integer number_1 = 2;
integer number_2 = 3;
llSay(0, "Result: " + (string)calc(number_1, number_2)); // globale Funktion als Variable im Befehl
}
on_rez(integer Dae)
{
llResetScript();
}
}
|