• Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
  • Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
  • Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Sie geben Einwilligung zu unseren Cookies, wenn Sie unsere Webseite weiterhin nutzen.

Wo finde ich den Namen !

Hallo,

ich habe folgendes Problem.
In den folgenden Script (Cycle Textures) soll hinter "Inhalt / Contents" der Name der Textur angezeigt werden die gerade gezeigt wird. Wie mache ich das?
Leider bin ich im scripten nicht so bewandert und bitte euch es so zu erklären das auch ich das verstehe.



default
{
state_entry()
{
llSetText("Inhalt / Contents", <1,1,1>,1);
llSetTimerEvent(10.0);
}
timer()
{
integer number = llGetInventoryNumber(INVENTORY_TEXTURE);
float rand = llFrand(number);
integer choice = (integer)rand;
string name = llGetInventoryName(INVENTORY_TEXTURE, choice);
if (name != "")
llSetTexture(name, 0);
}
}


Vielen Dank schon mal
Victor Clary
 
Code:
string name;

default
{
  state_entry()
  {
    llSetText("Inhalt / Contents\n"+name+"", <1,1,1>,1);
    llSetTimerEvent(10.0);
  }
  timer()
  {
    integer number = llGetInventoryNumber(INVENTORY_TEXTURE);
    float rand = llFrand(number);
    integer choice = (integer)rand;
    name = llGetInventoryName(INVENTORY_TEXTURE, choice);
    if (name != "")
       llSetTexture(name, 0);
  }
}
 
Moin,

das Problem ist, dass llSetText nur im state_entry ausgeführt wird. Dort ist die Variable "name" noch gar nicht definiert.
Setze mal den llSetText in den Timer-Event:
Code:
string name;

default
{
  state_entry()
  {
    llSetText("Inhalt / Contents\n"+name+"", <1,1,1>,1);
    llSetTimerEvent(10.0);
  }
  timer()
  {
    integer number = llGetInventoryNumber(INVENTORY_TEXTURE);
    float rand = llFrand(number);
    integer choice = (integer)rand;
    name = llGetInventoryName(INVENTORY_TEXTURE, choice);
    if (name != "")
       llSetTexture(name, 0);
       //hier noch mal llSetText einfügen
       llSetText("Inhalt / Contents\n"+name+"", <1,1,1>,1);
  }
}
 
Gerne ;)

Wobei ich nachträglich noch anmerken möchte, dass die llSetText Zeile im state_entry auch weggelassen werden kann. So dass es dann so aussieht:
Code:
string name;

default
{
  state_entry()
  {
    llSetTimerEvent(10.0);
  }
  timer()
  {
    integer number = llGetInventoryNumber(INVENTORY_TEXTURE);
    float rand = llFrand(number);
    integer choice = (integer)rand;
    name = llGetInventoryName(INVENTORY_TEXTURE, choice);
    if (name != "")
       llSetTexture(name, 0);
       llSetText("Inhalt / Contents\n"+name+"", <1,1,1>,1);
  }
}
 

Users who are viewing this thread

Zurück
Oben Unten