[cherche] Script vendor

Répondre
Partager Rechercher
Bonjour à tous

Voilà, je recherche un script qui offirait la possibilité d'acheter un vêtement, soit au prix spécial group, soit au prix normal.

J'ai souvent vu ce genre d'option sur des vendors, où s'affichent 2 prix. Le prix en réduction pour ceux qui active leur group tag, et le prix normal pour ceux qui ne le porte pas.

Mais comme je ne sais pas le nom de ce script, je tourne en rond depuis quelques jours.

Est-ce que quelqu'un peut m'aider, s'il vous plait

Merci d'avance
Bonsoir Lilou,

Il a dans la Bibliothèque de script de la section SL un article qui évoque comment limiter la vente à un groupe:

https://forums.jeuxonline.info/showthread.php?t=1063833

Cela peut te servir de base pour un vendor qui fait ce que tu veux si tu sais un peu scripter, ou alors tu fais un vendor normal pour tout le monde et un vendor limité au groupe qui vend le même truc moins cher ^_^
Merci beaucoup DD,
Je ne sais pas du tout scripter mais grâce à ce forum, j'ai déjà ce script ^^
Je fais des vendors pour le groupe et d'autre ordinaires, mais comme je commence à être limitée côté prims, je me demandais si il n'y avait pas un moyen de mixer les deux options (prix de groupe et prix normal) sur un seul vendor
Merci beaucoup pour ton aide.
Bonne soirée
Voilà je t'ai adapté le script de xanork
Code:
integer iPrixVente = 12; // mettre le bon prix ici
string NomDossier =    "NOM DU DOSSIER DANS l'inventaire"; // a changer
integer ristourne = 20;//ristourne en % pour le groupe


key kOwner;
list lVetements;
init()    {
    kOwner = llGetOwner();
    llRequestPermissions(kOwner, PERMISSION_DEBIT);
}
creatList()    {
    integer i;
    integer nbClothes = llGetInventoryNumber(INVENTORY_ALL); //au cas ou y'aurait des attachements
    lVetements = [];
    for(; i<nbClothes; ++i)    {
        string nom = llGetInventoryName(INVENTORY_ALL, i);
        if (llGetInventoryType(nom) != INVENTORY_SCRIPT) // je donne pas les scripts
            lVetements += [nom];
    }

    // si list vide, je mets pas en vente
    if (llGetListLength(lVetements))
        llSetPayPrice(PAY_HIDE, [iPrixVente, PAY_HIDE, PAY_HIDE, PAY_HIDE]);
    else
        llSetPayPrice(PAY_HIDE, [PAY_HIDE, PAY_HIDE, PAY_HIDE, PAY_HIDE]);
        
}
default
{
    money(key giver, integer amount)
    {
        if (amount != iPrixVente) return; // tentative d'arnaque, on sait jamais
        if (llSameGroup(giver))    { //giver meme group que objet
            llSay(0, "Merci de ton achat, livraison ...");
            llSay(0, "Et voilà ta ristourne ...");
            llGiveMoney(giver, (integer)((float)amount*(float)ristourne/100.0));
            llGiveInventoryList(giver, NomDossier, lVetements);
            llInstantMessage(kOwner, "Vente de la tenue machin à " + llKey2Name(giver));
        }
        else    {
            llSay(0, "Merci de votre achat. Livraison ...");
            llInstantMessage(kOwner, "Vente à un non membre" + llKey2Name(giver));
            llGiveInventoryList(giver, NomDossier, lVetements);
        }
    }
    run_time_permissions(integer p)
    {
        if (!(p & PERMISSION_DEBIT))
            llRequestPermissions(kOwner, PERMISSION_DEBIT);
    }
    state_entry()
    {
        init();
        creatList();
    }
    changed(integer c)
    {
        if(c & CHANGED_OWNER)        llResetScript();
        if(c & CHANGED_INVENTORY)    creatList();
    }
}  

Pas testé hein
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés