LlGetObjectPermMask/fr
Jump to navigation
Jump to search
| LSL Portail Francophone | LSL Portail Anglophone | Fonctions | Évènements | Types | Operateurs | Constantes | Contrôle d'exécution | Bibliothèque | Tutoriels |
Description
Fonction: integer llGetObjectPermMask( integer masque );| 287 | N° de fonction |
| 0.0 | Delais |
| 10.0 | Energie |
Renvoie un integer qui est le masque de droits demandé pour l'objet racine auquel le script est attaché.
| • integer | masque | – | cf. valeurs MASK_* |
|
|
Exemples
Ce script fait disparaitre le texte flottant au dessus d'un objet puis fait apparaître un message du type :
Affichage des droits
---
par Anonymous
---
Ouvert/ Oui Mod/ Oui Copie/ Oui Transfert
Glissez ce script depuis votre inventaire dans un objet :
// Fait apparaitre un message au dessus d'un objet : son nom, sa description et les droits le concernant.
// http://wiki.secondlife.com/wiki/llGetObjectPermMask/fr
string perms2String(integer everyonePerms, integer nextPerms)
{
integer PERMS_OPEN = (PERM_MODIFY | PERM_COPY | PERM_TRANSFER);
string line = "Ferme";
if ((nextPerms & PERMS_OPEN) == PERMS_OPEN)
{
if (everyonePerms & PERM_COPY)
{
line = "Ouvert";
}
}
if (nextPerms & PERM_MODIFY)
{
line += "/ Oui Mod";
}
if (nextPerms & PERM_COPY)
{
line += "/ Oui Copie";
}
if (nextPerms & PERM_TRANSFER)
{
line += "/ Oui Transfert";
}
return line;
}
list getLabels()
{
string name = llGetObjectName();
if (name == "Object") { name = "(Pas de nom)"; }
string description = llGetObjectDesc();
if (description == "") { description = "(Pas de description)"; }
integer everyonePerms = llGetObjectPermMask(MASK_EVERYONE);
integer nextPerms = llGetObjectPermMask(MASK_NEXT);
string permissions = perms2String(everyonePerms, nextPerms);
return [name, description, permissions];
}
floatLabels(list lines)
{
string label = llDumpList2String(lines, "\n---\n");
vector color = <1.0, 1.0, 1.0>; // couleur= <rouge, vert, bleu>
float opacity = 1.0; // opacity = alpha = 1.0 - transparency
llSetText(label, color, opacity);
}
default
{
state_entry()
{
llSetText("", <0.0, 0.0, 0.0>, 0.0);
llSleep(0.1);
floatLabels(getLabels());
llRemoveInventory(llGetScriptName());
}
}
Notes
Les droits d'un objet rqui vient d'être créé sont souvent : Droits de base = PERM_ALL, Propriétaire = PERM_ALL, Prochain propriétaire= PERM_MOVE or PERM_TRANSFER, droit du groupe = 0 (aucun groupe), Tout le monde = 0 (Rien). Le script perms2String décrit ces options avec la mention "Fermé/ Oui Transfert".
Voir également
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.