Difference between revisions of "Talk:LlGetGender"

From Second Life Wiki
Jump to navigation Jump to search
(Solutions)
(→‎Neutral solution: new section)
Line 159: Line 159:


  * I've submitted a feature request to GL (God Labs), but no luck yet :)
  * I've submitted a feature request to GL (God Labs), but no luck yet :)
== Neutral solution ==
An option to disable avatar gender into the viewer and an option that return the current sex of the actually used shape.
This will enable custom sit position/animation that lots of item needs (should I prompt boy/boy boy/girl or girl/girl positions ?) and gender specific text on object.
integer llGetGender(key avatar):
- 0 none/hidden/neutral
- 1 actualy wearing a female shape
- 2 actualy wearing a male shape
Of course it's limited to avatar on the current sim, no way to get gender on offline avatar.

Revision as of 01:41, 9 April 2009

This function should not be implement. While this request may be new, this function (in other incarnations) has been suggested before (llDetectedSex). The debate over this proposed functionality is based on the argument that it would facilitate scripted discrimination. Considering that it is easy enough to ask the user what sex they are, it seems to me not worth the dev time and the political fallout. -- Strife Onizuka 09:48, 1 June 2007 (PDT)

I think you are wrong, the payment status is much more discriminating and is pushed by the Lindens. I want to sell female body parts only to females and not to man. And I want to sell tem notrans. Same with cloths and hair. I want to close my Land for Male. It is my Land I pay tears for it and the rule is : Landowners make the rules. If this policy is changed I aske the Lindens to pay my tears Anylyn Hax 13:04, 1 June 2007 (PDT)

Just because there is one form of discrimination supported doesn't mean that we should accept any others. The only reason we have payment info visible is to facilitate discrimination against griefers. I don't consider it a good thing but it does seem to be a necessary evil. The type of sexual discrimination you describe is not necessary nor is it probably legal. Banning male AVs is one thing, but banning male users is another. I think it would be a violation of the Community Standards, Terms Of Service or federal law. To allow this would be a step backwards both socially and morally. In the last century women have gained a more equal footing with men through legislation mandating equality, this goes against the core of that legislation; with the loss of theses protections, women have more to loose then men (after all 84% of congressmen are men). -- Strife Onizuka 14:59, 1 June 2007 (PDT)
I Seen no discrimination in llGetGender() as long you can turn it off by setting itset it to 0 or another number. It is necesary, and absolute legal.
For Exemple:
0 - No Gender (Animals, Robots, Eunuchs, Linden Emploees, Volunteers)
1 - Female
2 - Male
3 - Children
4 - Ghosts, Witches, Vixons ...
Anylyn Hax 21:27, 1 June 2007 (PDT)
It seems you have made the common mistake of confusing agent and avatar. The avatar is the manifestation of the agent in world. You can change avatars but you can't change agents. The sex of the agent would translate into being the users RL sex. Be it the agent or avatar sex, I am against any function that exposes this information (I suspect that the AV sex was intended and not agent). I'd say more but I am heading to bed. I understand the reasons and the ways of implementing it (had this debate at least three times before in the past) and have remained unconvinced. Sorry. -- Strife Onizuka 01:15, 2 June 2007 (PDT)
1) YOUR OPINION DOESNT COUNT. STOP HARASSING ME WITH YOUR OPINIONS!
2) You are wrong as usual.
- To have a gender is legal.
- To ask for someones gender allso legal.
- I make no difference between avatar and agent, as long they use the same brain (because the brain makes the gender).
3) for some applications it is absolute necesar.
I sell female genitals and I sell them NoTrans. Lots of man buy them as a present for theyr wifes, and dont read carefully that the genitals are NoTrans. So I have situations where I must make cullance and give out free genitals them. If I could sensor the user/avatar/agent whatever, and get his gender I could elegantly tell him that this genitals are not for his stomach.
Another exemple: Weapon builders could restrict pointing a gun to a woman.
Or: I could kickban every male that comes to my land without having flowers attached to his right hand.
Anylyn Hax 06:03, 7 July 2007 (PDT)
  1. It saddens me that you would throw away your integrity to say that someone else's opinion doesn't count.
  2. To ask a person would be legal, but to require the answer and use it to discriminate against them flies in the face of the established rules.
    1. That doesn't sound like a problem that needs to be solved by the introduction of a new function, just have a warning box pop-up before sending the user the object (allowing them to cancel the order & get their money back) reminding them that the object is no-trans. Very user friendly and you can then tell the customer they should have read the pop-up warning. See the script below as an example.
    2. I can't imagine a weapons manufacturer in SL wanting to restrict use of their products. Restrictions result in fewer products sold.
    3. How would you detect the flowers? Sensors cannot detect attachments.
-- Strife Onizuka 12:22, 8 July 2007 (PDT)
//A simple quick and dirty vendor that asks the user before finalizing the sale.
//Written by Strife Onizuka
integer price;
string item;

list channels;
list users;//[ handle, time, user, amount, item]

default
{
    state_entry()
    {
        llSetPayPrice(PAY_HIDE, [PAY_HIDE,PAY_HIDE,PAY_HIDE,PAY_HIDE]);
        llRequestPermissions(llGetOwner(), PERMISSION_DEBIT);
    }
    run_time_permissions(integer p)
    {
        if(p & PERMISSION_DEBIT)
            state Money;
    }
}

state Money
{
    state_entry()
    {
        llSetPayPrice(PAY_HIDE, [price,PAY_HIDE,PAY_HIDE,PAY_HIDE]);
    }
    on_rez(integer a)
    {
        state default;
    }
    touch_start(integer a)
    {
        string msg = item+"\nThe cost is: "+(string)price+"\nIt's permissions are:\n";
        string end;
        if(perms & PERM_TRANSFER)   end += "Transfer\n";    else    msg += "NO-TRANSFER\n";
        if(perms & PERM_COPY)       end += "Copy\n";        else    msg += "NO-COPY\n";
        if(perms & PERM_MODIFY)     end += "Modify\n";      else    msg += "NO-MODIFY\n";
        llDialog(llDetectedKey(0),  msg + end, [], -1);
    }
    money(key user, integer amount)
    {
        if(amount == price)
        {
            integer chan;
            do chan = (integer)llFrand(-2147483648.0);while(~llListFindList(channels, (list)chan));
            integer handle = llListen(chan, "", user, "");
            integer perms = llGetInventoryPermMask(item, MASK_NEXT);
            string msg = "Do you really want to buy this?\nIt's permissions are:\n";
            string end;
            if(perms & PERM_TRANSFER)   end += "Transfer\n";    else    msg += "NO-TRANSFER\n";
            if(perms & PERM_COPY)       end += "Copy\n";        else    msg += "NO-COPY\n";
            if(perms & PERM_MODIFY)     end += "Modify\n";      else    msg += "NO-MODIFY\n";
            if(llGetListLength(channels) > 50)
            {
                llGiveMoney(llList2Key(users, 2), llList2Integer(users, 3));
                users = llDeleteSubList(users, 0, 4);
                channels = llDeleteSubList(channels, 0, 0);
                //TODO: appologize for overcrowding
            }
            channels += chan;
            users += [llGetUnixTime() - 1167627600 + 120, handle, user, amount, item];
            llDialog(user,  msg + end, ["Buy", "Refund"], chan);
        }
        else
        {
            llGiveMoney(user, amount);
            //TODO: appologize for the ammount being wrong
        }
    }
    listen(integer chan, string name, key user, string message)
    {
        if(0 <= (chan = llListFindList(channels, (list)chan)))
        {
            channels = llDeleteSubList(channels, chan, chan);
            chan *= 5;
            if(message == "Buy")
            {
                llGiveInventory(user, llList2String(users, chan + 4));
                //TODO: thank user for purchasing
            }
            else
            {
                llGiveMoney(user, llList2Integer(users, chan + 3));
                //TODO: appologize
            }

            llListenRemove(llList2Integer(users, chan));
            users = llDeleteSubList(users, chan, chan + 4);
        }
    }
    timer()
    {
        integer t = llGetUnixTime() - 1167627600;
        integer b = 0;
        while(t > llList2Float(users, b))
        {
            llListenRemove(llList2Integer(users, b + 1));
            llGiveMoney(llList2Key(users, b + 2), llList2Integer(users, b + 3));
            //TODO: add time-out message
            b += 5;
        }
        if(b)
        {
            users = llDeleteSubList(users, 0, b - 1);
            channels = llDeleteSubList(channels, 0, (b / 5) - 1);
        }
    }
}

Solutions

Anylyn, for LL to reveal the user's RL information, including gender, would violate privacy policies and privacy laws unless the user gives consent. I can appreciate your "concern" for males buying female items, thinking they can give it to a female companion. However, anyone who's been in SL for any length of time understands the implications of No Transfer; so long as you make the permissions clear, there is no real problem. The problem you really want to solve – banning RL men from your land – simply isn't going to happen, for reasons of the privacy policies above. Not only that, but it totally goes against the spirit of SL. Second Life is just that – a second life that can be shaped and created and designed according to the person's desires. In SL a person can be whomever and whatever they desire. And they can change that as often as they wish! That freedom, so sorely lacking in RL*, is what makes SL special. Stop focusing on body appendages, and start looking at the person behind them.

Now, avatar gender is another matter. In one of the numerous threads on the subject in the Scripting forum, Milambus Oh suggested a project to develop a protocol for communicating gender and other personal information. I liked the idea, and so developed DataBot and the corresponding Developer Kit. It allows residents to provide extended information about their avatar, including (but not limited to) gender. And of course, in the spirit of SL, it can be changed at will. It is a fundamental right in SL for people to present themselves as they choose – a right which I'm sure you benefit from. Learn to accept people for what they themselves choose to be. Siann Beck 06:41, 2 October 2007 (PDT)

* I've submitted a feature request to GL (God Labs), but no luck yet :)

Neutral solution

An option to disable avatar gender into the viewer and an option that return the current sex of the actually used shape. This will enable custom sit position/animation that lots of item needs (should I prompt boy/boy boy/girl or girl/girl positions ?) and gender specific text on object.

integer llGetGender(key avatar): - 0 none/hidden/neutral - 1 actualy wearing a female shape - 2 actualy wearing a male shape

Of course it's limited to avatar on the current sim, no way to get gender on offline avatar.