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

Suche Vendor oder Script, das nur ein Objekt pro Person hergibt

Carla Collazo

Aktiver Nutzer
Hallo zusammen,

ich möchte zur Neueröffnung meines Katzenladens gerne Katzennachwuchs sehr billig abgeben - als Werbe-Dollarbie sozusagen.

Dazu brauche ich aber ein Script oder einen Vendor, der die Anzahl pro Person limitiert, sonst klaubt der erste gleich alle auf.

Ich suche jetzt schon sehr lange auf dem Marketplace und finde nichts geeignetes. Kennt jemand so etwas?
 
Mmmmh, so ein Script kenne ich zwar nicht, aber du könntest doch auch per Zufall an die im Laden Anwesenden ein Kätzchen als Geschenk ausgeben.

Barerose hat so was, unter den im Laden Anwesenden werden per Zufall Geschenke verteilt.
 
Hier wäre mal ein Skript, dass nur einmal pro Person verkauft ... bis es resettet wird oder neu gerezzt, dann wird mit frischer Käuferliste angefangen.

Jeder kann nur ein mal kaufen, und falls es no copy - Objekte sind, schaut das Skript nach jeder Transaktion auf die Anzahl und macht zu, wenn nichts mehr da ist.

Wo Preise und Texte zu ändern sind, dürfte auch einem Skript-Anfänger klar sein.

Skript und Katzen in eine Kiste tun und fertig ist der Vendor.

Code:
integer iPreis = 100;
list lKaeufer = [];  

default
{
    state_entry()
    {
        llSetText("Kauf ne Katze fuer 100 L\naber nur eine.",<1.,1.,1.>,1.);
        llRequestPermissions( llGetOwner(), PERMISSION_DEBIT );
    }
    run_time_permissions(integer perms)
    {
        if (perms & PERMISSION_DEBIT) state verkaufen;
    }
}

state verkaufen
{
    state_entry() 
    { 
        llSetPayPrice(PAY_HIDE, [iPreis, PAY_HIDE, PAY_HIDE, PAY_HIDE]);
        lKaeufer = []; 
    } 
    
    on_rez (integer n)
    {
        llResetScript(); 
    }  
   
    money(key id, integer amount)
    {
        if (amount == iPreis)
        {
            if (llListFindList(lKaeufer, [id]) == -1)
            {
                llGiveInventory(id,llGetInventoryName(INVENTORY_OBJECT, 0)); 
                lKaeufer += [id]; 
                llWhisper(0,"Behandle das Kaetzchen gut."); 
            }
            else
            {
                llWhisper(0,"Du hast schon eine, Geld kommt zurueck"); 
                llGiveMoney(id,amount);                 
            } 
        }
        else
        {
            llWhisper(0,"Falscher Betrag, Geld kommt zurueck"); 
            llGiveMoney(id,amount);                 
        }
        integer iAnzahl = llGetInventoryNumber(INVENTORY_OBJECT);
        if ( iAnzahl <= 0 ) state ausverkauft;    
    }
}

state ausverkauft
{
    state_entry() 
    {
        llSetText("Ausverkauft",<1.,1.,1.>,1.); 
    }
}
 
Wow!

Herzlichen Dank, Danziel, das ist genau, was ich gesucht habe.
ich bin beeindruckt.

Ja, die Katzenjungen sind no copy, genauso wie der Pferdenachwuchs.
Und Preise und Text ändern, ist wirklich kein Problem.

Vielen Dank, dass Du das mir und der Community das einfach so zur Verfügung stellst, ich weiß das sehr zu schätzen.

Carla
 
Hehe, ich hab das Skript schon zwei mal verschenkt ... bei mir läuft es also als Freebie oder Werbegeschenk. :)

Alles, was ich getan hab ist, es auf Katzen zu ändern.
Damit ist das schon ok, mit dem kostenlos abgeben.
 
Denk dran das du nur etwa 560 UUIDs (Avatar keys) in der liste speichern kannst, bis das das script den Memory voll hat, dann musst zwangs resetten.

LG
Dae
 
Stimmt, da hat Dae recht, und das ist auch der Grund, warum bei den Pferdeleuten mein Raffle-Board so gut geht, das eben mehr kann als die 560 Einträge. Wenn die ein Pferd für 80000 als 100 L - Raffle anbieten, dann crashen die alten Raffles.

Aber ich denke, bis Carla hunderte von Kätzchen in die Kiste tut, wird sie den Vendor neu rezzen, und dann sind ja die alten Verkäufe vergessen.

Übrigens: das Skript hat keinen Change-Event, damit man einfach nachlegen kann, ohne dass die Käuferliste resettet wird.
Muss man aber vor dem Ausverkauf machen, aus dem letzten State kommt die Kiste nur per Reset oder Rezzen raus, und damit mit leerer Käuferliste.
 
So viele Katzen hab ich gar nicht, das ist wirklich kein Problem in diesem Fall. :)

Der Tiermarkt ist wirklich ein bisschen anders als andere Second Life Märkte, weil man es ja immer mit begrenzten Mengen zu tun hat. 560 Tiere ist ziemlich viel, da bin ich weit davon entfernt.
 
Und wenn ich es resetten müsste, und jemand bekommt zwei, wäre das auch kein Problem. Mir geht es im Grunde nicht darum, ob jemand eins oder zwei hat.

Es ist nur zu erwarten, wenn ich sie einfach hinlege, dass sie der erste, zweite oder dritte einfach alle mitnimmt (und zum 300-fachen Preis weiterverkauft). Das will ich natürlich nicht.
 

Users who are viewing this thread

Zurück
Oben Unten