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

Posestand

Hi zusammen,

Ich war ein wenig auf der "Jagd" nach Posen und nun ist mein Rucksack voll mit Einzelposen, die ich nun per Klick "in Welt" oder Lokal wieder geben kann.
(Teilweise Freebie, aber auch gekaufte)

Besteht die Möglichkeit, die nun in ein Objekt (ähnlich Posestand) zu integrieren, damit ich die per nacheinander (per klick wählbar) abspielen kann?
(hab doch hier meinen Hang zur Fotografie entdeckt :p)

Wär klasse wenn mit einer helfen könnte

LG,
Crazy
 
ja den hab ich auch mal getestet..aber da muss man unten an den pfeilen klicken um position zu ändern.ich finds schöner über das menü weil man dann nicht ständig die kameraposition ändern muss um in ne andere pose zu wechseln.

der von dir genannte ist doch fullperm..kannst du denn da nicht die scripte rausnehmen und für deine zwecke verwenden?


lg

nada
 
ich hab Dir mal so ein Teil ( einfache Box ) rübergeschoben.
Alles ist FullPerm - auch das Script.
Die enthaltenen Posen kannst Du einfach rauslöschen und Deine Eigenen reintun.
Am Script selber ist eigentlich keine Änderung nötig.
Es liest die Posen selbstständig, wenn Du entweder das Script resettest
- oder das Prim neu reezt.

Das Script ist relativ einfach geschrieben.
Du kannst es Dir ja mal ansehen, bzw. in einem "schöneren" Prim verwenden.

Gruss
Tom
 
Hab ich mal gehäkelt, geht sicher auch schöner und komfortabler. Auf Schaltflächen für Vor und Zurück habe ich verzichtet, ist aber auch leicht zu realisieren.

Code:
integer     animation_qty;                          // Number of animations available
integer     animation_current;                      // Inventory number of current animation
string      animation_name;                         // Name of current animation
string      new_animation_name;                     // Name of next animation.
integer     is_sitting;
integer     offline;
key         avatar;

out() {
    llWhisper(0, "play: " + animation_name + " (" + (string)(animation_current + 1) + " of " + (string)animation_qty + ")");
}

update_inventory() {
    offline = TRUE;
    animation_qty = llGetInventoryNumber(INVENTORY_ANIMATION);
    if (animation_qty > 0) {
        llOwnerSay("Total animations loaded in this stand: " + (string)animation_qty);
        animation_current = 0;
        llSitTarget(<0.0, 0.0, 1.0>, ZERO_ROTATION);
        animation_name = llGetInventoryName(INVENTORY_ANIMATION, animation_current);
        set_anim(animation_current);
        offline = FALSE;
    } else {
        llOwnerSay("No Animations Found.. Offline");
    }
}

set_anim(integer inventory_number) {
    new_animation_name = llGetInventoryName(INVENTORY_ANIMATION,inventory_number);
    avatar = llAvatarOnSitTarget();
    if (avatar != NULL_KEY) {
        llStopAnimation(animation_name);
        llStartAnimation(new_animation_name);
        out();
    }
    animation_name = new_animation_name;
}

default {
    state_entry() {
        llSetSitText( "Stand" );
        is_sitting = FALSE;
        update_inventory();
    }
    touch_start(integer num) {
        if(avatar == llDetectedKey(0)) {
            animation_current++;
            if ((animation_current + 1) > animation_qty) {
                animation_current = 0;
            }
            set_anim(animation_current);
        }
    }
    on_rez(integer start_param) {
        llResetScript();
    }
    changed(integer change) {
        if(change & CHANGED_LINK) {
            if (!offline) {
                avatar = llAvatarOnSitTarget();
                if(avatar != NULL_KEY) {
                    llRequestPermissions(avatar, PERMISSION_TRIGGER_ANIMATION);
                } else {
                    if((llGetPermissions() & PERMISSION_TRIGGER_ANIMATION) && is_sitting) {
                        is_sitting = FALSE;
                        llStopAnimation(animation_name);
                    }
                    avatar = NULL_KEY;
                }
            }
        }
        if(change & CHANGED_INVENTORY) { update_inventory(); }
        if(change & CHANGED_OWNER)     { llResetScript(); }
    }
    run_time_permissions(integer perm) {
        if(perm & PERMISSION_TRIGGER_ANIMATION) {
            is_sitting = TRUE;
            llStopAnimation("sit");
            llStopAnimation("sit_generic");
            llStopAnimation("sit_female");
            set_anim(animation_current);
        }
    }
}
 

Users who are viewing this thread

Zurück
Oben Unten