• 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.

Zufällige Animation ausführen

andera Shermer

Superstar
Immer das gleiche ist doch langweilig.
:wink:

ich verzweifle gerade , ich möchte gerne wie im Titel erwähnt eine zufällige ani aus einer liste von Animationen abspielen.

wenn das nicht möglich ist dann erst ani1 dann 2 und so weiter.

kann mir da jemand weiter Helfen?

vielen dank schon mal andera
 
ich muss mal konkreter werden.

also, mit dem Zao und so kenne ich mich aus, es geht darum das ich in einem waffenspript merere alternative Angriffsanimationen abspielen will.

vielen dank trotzdem schon mal für die hilfe
 
Da es hier um Animationen ging, die umbennenbar waren, gab es eine ziemlich einfach Lösung.
Aufgabe war dann, eine von 5 Animationen auszuwählen, wobei die ersten beiden im Inv NICHT ausgewählt werden durften.

Code:
Integer zufza;
string aname;

   default {

      state_entry() {
         zufza = (integer)llFrand(4.0)+2;
         aname=llGetInventoryName(INVENTORY_ANIMATION,zufza);
         llStartAnimation(aname);
      }
      attach(key attached) {
        if (attached != NULL_KEY) {
            llRequestPermissions(attached, PERMISSION_TRIGGER_ANIMATION);
        } 
    }
}

Ich habe das jetzt schnell aus dem Kopf als Basis-Script hier reingehackt, ist so nicht getestet.
 
Dann die Namen der Animationen in eine Liste schreiben lassen und dann aus dieser Liste eine Auswählen.

Vorher die Listenelemente, die die Namen der Animationen, die Du nicht willst, enthalten, suchen und löschen.


Code:
list my_anims;

Mit

Code:
integer menge = llGetInventoryNumber (INVENTORY_ANIMATION);

Bekommst Du die Menge der Animationen heraus.

Code:
for (x = 0; x < menge; x++) {
   string tempor = llGetInventoryName(INVENTORY_ANIMATION,x);
   if (tempor!="die_nicht" || tempor!="die_auch_nicht") {
      my_anims+=[tempor];
   }
}

Nun hast Du alle Animationen in einer Liste. Mit Ausnahme der beiden, die "die_nicht" und "die_auch_nicht" heißen.

Code:
zufza = (integer)llFrand(4.0);
aname = llList2String (my_anims, zufza);

Das wählt einen zufälligen Eintrag aus der Liste aus.
 

Users who are viewing this thread

Zurück
Oben Unten