SKRIPTKURS DAEMONIKA NIGHTFIRE LEKTIONEN 1



Wie versprochen, hier nun der erste Teil von 4 Lektionen
  Lektion [1 / 4 ]
llDetectedLinkNumber(integer Number); ist in folgenden Events verwendbar:
collision, collision_start, collision_end, sensor, touch, touch_start, touch_end

         Code:
     llDetectedLinkNumber(0);
     integer LinkNumber = llDetectedLinkNumber(0); 
         Mit diesem Befehl ist es moeglich, zu erkennen, welcher Prim (Link) im LinkSet geklickt wurde.

llDetectedTouchFace(integer Index); ist in folgenden Events verwendbar:
Code:
  llDetectedTouchFace(0);
  integer LinkFace = llDetectedTouchFace(0);
Dieser Befehl dient dazu, zu ermitteln welche Flaeche (Face) eines Prims (Link) geklickt wurde.


llGetLinkName(integer LinkNumber); verwendbar ueberall, benoetigt jedoch eine aktuelle LinkNummer:
Code:
llGetLinkName(LinkNumber);
string LinkName = llGetLinkName(LinkNumber);
Sobald eine LinkNummer bekannt ist, kann mittels deises Befehls der LinkName ermittelt werden.


Fuer folgendes Script, verlinkt bitte mehrere Wuerfel und benennt jeden mit einen individuellen Namen. Anschliessend erzeugt im HauptPrim (RootLink) ein New Script mit folgenden Befehlen:
Code:
default
{
    state_entry()
    {
      
    }

    touch_start(integer total_number)
    {
        integer LinkNumber = llDetectedLinkNumber(0);
        integer LinkFace = llDetectedTouchFace(0);
        string LinkName = llGetLinkName(LinkNumber);
      
        llSay(0, "\nLinknummer = " + (string)LinkNumber +
                 "\nSeite = " + (string)LinkFace +
                 "\nLinkname = " + LinkName);
    }
}
In diesem Script ist die Reihenfolge sehr wichtig. Ihr koennt niemals den LinkNamen vor der LinkNummer ermitteln.

Wie ihr sehen koennt, habe ich im llSay viele seltsame Zeichen eingebaut, die eigentlich nicht im Chat erscheinen. Da waere das + und die kombination \n im Befehl.
Das \n dient dazu, mitten im Text eine neue Zeile zu beginnen, dabei ist es nicht erforderlich leerzeichen davor oder dahinter anzubringen.

Das + wird verwendet, um veraenderbare Variablen im Text zu aktuallisieren.
Dazu macht man einfach einmal ein Gaensefuesschen an die Stelle wo man den Text fuer die Variable unterbrechen moechte und gleich hinter der variable geht es in umgekehrter Reihenfolge weiter, wenn man dort weitere texte benoetigt.
Bitte denkt daran, saemtliche Variablen die nicht von vornherein schon strings sind, zuerst mittels (string) ohne Leerschritt direkt davor zu einem string umzuwandeln.

Wenn ihr nun das Script im Root liegen habt, klickt einfach mal die jeweiligen Wuerfel auf unterschiedlichen Flaechen und achtet auf den Chat.

LG
Dae



Kommentare