mercredi 9 avril 2008

llGetParcelPrimOwners


La fonction du jour permet de recupèrer une list de personne utilisant des prim sur une parcelle.
Notre exemple permet de dire combien d'objet possède la personne qui touche l'objet

La liste de retour à ce format [Key Av1, Integer PrimAv1,Key Av2, Integer PrimAv2,....]

default
{
    touch_start(integer total_number)
    {
        integer count=0;

        // identifie l'avatar qui touche
        key av=llDetectedKey(0);

        // la fonction du jour
        list OwnPrim=llGetParcelPrimOwners(llGetPos());

        // recherche dans la list l'avatar detecté
        integer i=llListFindList(OwnPrim,[av]);

        // recupère dans la liste les prims utiliser par l'avatar
        if(i!=0)count=llList2Integer(OwnPrim,i+1);

        // affiche un message du nombre de prim de l'avatar
        llSay(0, llKey2Name(av) + ", vous possedez sur cette parcelle " + (string)count + " prims");
    }
}

mardi 8 avril 2008

llGetParcelPrimCount


Désolé pour mon absence prolongée, mais LslToday est de retour.

La fonction du jour, llGetParcelPrimCount, permet de determiner le nombre de prim utilisés sur un terrain.
Elle prend trois paramètres:
- Un vecteur qui determine quelle parcelle de la sim doit être comptée.
- Une constante determinant qu'es ce que l'on doit compter
Category
Value
Meaning
PARCEL_COUNT_TOTAL 0 All prims on the parcel(s). Does not include temp on rez objects.
PARCEL_COUNT_OWNER 1 Prims owned by the parcel owner.
PARCEL_COUNT_GROUP 2 Prims not owned by the owner, but set to or owned by the group of the parcel.
PARCEL_COUNT_OTHER 3 Prims not set to group or owned by the owner.
PARCEL_COUNT_SELECTED 4 All prims selected or sat on.
PARCEL_COUNT_TEMP 5 All temp on rez objects.


- et un paramètre TRUE/FALSE  si on compte la sim en entier

default
{
    touch_start(integer total_number)
    {
        llSay(0, (string)llGetParcelPrimCount(llGetPos(), PARCEL_COUNT_TOTAL,FALSE));
    }
}