MEINOPENSIM
Das Listing für OS Regionen

Statistiken (beziehend auf die gelisteten SIMs)

SIMs im Listing 30
User online 1
SIM Likes 139
Das Script wandelt einen normalen Prim in einen "Vendor" um.
Nach dem das Script eingefügt ist und man auf den Prim klickt, hatt man folgende Optionen:

DEMO
Hier wird ein NPC gerezzt und auf einen Postand gestellt (nicht inbegriffen, dieser muss von Euch gerezzt werden)

DEREZ
Der NPC wird entfernt

BUY
Hiermit wird der Kaufprozess eingeleitet Nach klicken der Option ist der Vendor / Würfel bezahlbar und kennt bereits den geforderten Preis. Wenn der Käufer den geforderten Betrag bezahlt hat, wird das Outfit ausgeliefert.

SAVE OUTFIT
Diese Option steht nur dem Verkäufer zur Verfügung. Nach klicken auf diese Option wird eine Apperance von Eurem aktuellen Avatar erstellt und als Notecarte in dem Vendor /Würfel gespeichert.

Vorgehensweise
Prim rezzen
Script in den Prim einfügen
im Script folgende Variablen angleichen
key target="de0953e6-988f-4477-95b4-006a5fd81938";
In die Gänsefüßchen muss die UUID des Objekts hinein, auf die der Avatar gesetzt werden soll.
integer price=100;
//Script ist mit diesem Copyright Hinweis frei kopierbar. Änderungen bitte an dark.wolf @virual-life.eu:8002 senden
//(c) by Dark Wolf @virtual-life.eu


key target="de0953e6-988f-4477-95b4-006a5fd81938"; // UUID eines Posestand oder Prims auf den der NPC gesetzt wird
integer price=100; //Kosten für das Outfit


// Ab hier nichts mehr ändern


list keys = [];
key npc;
string toucher;
key toucherkey;
vector toucherPos;
integer npc_on = FALSE;
integer channelDialog;
string message = "\nPlease make a choice.";
list options;
integer listenId;
default
{
       touch_start(integer x)
        {  
            toucherkey = llDetectedKey(0);
            if (llGetOwner() == toucherkey)
                {
                    options = ["-", "DEMO", "BUY", "DEREZ", "SAVE OUTFIT"];
                }

            if (llGetOwner() != toucherkey)
                {
                    options = ["-", "DEMO", "BUY", "DEREZ"] ;
                }

        channelDialog = -1 - (integer)("0x" + llGetSubString( (string)llGetKey(), -7, -1) );
        llDialog(toucherkey, message, options, channelDialog);
        listenId = llListen(channelDialog, "", toucherkey, "");
    }  
   
   
        sensor(integer num)
            {  
                keys = [];
                integer i = 0;
                for(i; i < num; i++)
                    {  
                        keys += llDetectedKey(i);
                    }  
                }  
 
    no_sensor()
    {  
        keys = [];  
    }    
   

     listen(integer channel, string name, key toucherkey, string message)
        {
            toucherPos = llDetectedPos(0);
            vector npcPos = llGetPos() + <1,1,1>;
       
       if(message=="DEMO" && npc_on==FALSE)
        {   
            npc = osNpcCreate("Fred", "Flintstone", npcPos, "modell",OS_NPC_OBJECT_GROUP);
            osNpcSit( npc, target,0);
            npc_on = TRUE;
            llSensor("", "", AGENT | NPC, 96.0, PI);
            return;
        }  

        if(message=="DEREZ")
        {  
            osNpcRemove(npc);
            npc_on= FALSE;
        }

        if (message=="SAVE OUTFIT") {
            osOwnerSaveAppearance("modell");
        }
       
        if (message=="BUY")
        {
            llSetClickAction(CLICK_ACTION_BUY);
             llSetPayPrice(PAY_DEFAULT, [price, PAY_HIDE, PAY_HIDE, PAY_HIDE]);
         }
    }
   
     money(key id, integer amount)
        {
            if (amount==price)
            {
                llInstantMessage(toucherkey,llKey2Name(toucherkey)+", danke für Deinen Einkauf. Eine Auslieferung Deines Artikels findet bald statt. Bis dahin nicht die SIM verlassen");  
                llGiveInventory(toucherkey, llGetInventoryName(INVENTORY_OBJECT, 0) );
                llSetClickAction(CLICK_ACTION_TOUCH);
            }

            if (amount !=price)
            {
                llGiveMoney(toucherkey, amount);
                llInstantMessage(toucherkey,llKey2Name(toucherkey)+", der von Dir gezahlte Betrag is nicht korrekt und wurde Dir zurück erstattet. Führe den Kaufvorgang erneut durch!");  
                llSetClickAction(CLICK_ACTION_TOUCH);
            }

    }
}

In Vorbereitung

Wir erweitern unser Listing in den kommenden Tagen. Gepant sind
* Kommentarfunktion
* grafische Aufwertung der Seite