Talk:LlGetGender

From Second Life Wiki
Revision as of 08:22, 22 November 2011 by Innula Zenovka (Talk | contribs)

Jump to: navigation, search

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)

<lsl> //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);
       }
   }

} </lsl>

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 :)

—The preceding unsigned comment was added by Siann Beck

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.

—The preceding unsigned comment was added by Emeline Magic

It's a good idea but it doesn't stop people from using that information against the user. -- Strife (talk|contribs) 19:18, 12 April 2009 (UTC)

Politics of Second Life

Yay! Politics! First of all Strife Onizuka and the others claiming that "this information may be used for gender discrimination" are simply wrong on several levels:

First, and foremost, Strife Onizuka is confusing the user with the avatar itself. The user is a legal entity. The avatar itself, is not a legal entity but rather an expression of the user's desires. More than that, the avatar itself may change sexes at will which defies any incentive of "discrimination" in the first place. There is no permanently enforced link between the avatar's sex and the user's sex. If you are asked in Second Life, what your sex is, the question may be answered in the context of Second Life or in the context of your real life. That is up to you but exposing the avatar's sex through LSL will not infringe the privacy or integrity of the user.

Unless you would like to organize a set of Second Life-laws and perhaps elect a Second Life parliament, Second Life senate and Second Life president, your argument does not hold in the context of Second Life.

Second, you should be aware by now that avatar height is currently being used to "discriminate" and ban people from SIMs. The average Indian male height is 1.645 m (5 ft 5 in) and the average Indian female height is 1.520 m (5 ft 0 in) - from Wikipedia. Given the fact that I cannot even lower an avatar's height to that value and may be banned from SIMs even if I manage to, I follow your reasoning and push forward the argument that avatar height is symmetrical to your argument, a racial discrimination. I am looking forward for you to fix that problem in case "discrimination" is your concern.

Lastly, just as you have group-inviter bots, you can have gender-detecting bots. In fact, the openmetaverse API exposes a bunch of information about an avatar on which further political debates of this nature may be based on in the future. Good luck with that.

Kira Komarov 03:45, 22 November 2011 (PST)

You can already do this with RLV, but few people bother

@getdebug_AvatarSex has been available to scripters using the RLV api for ages.

However, I've never found a practical use for it. There's lots of things I've thought I could do with it, but when I've come to implement my bright ideas, I've always run into unforeseen difficulties by relying on the gender someone's viewer reports for his or her avatar, and I don't, in fact, think I've ever seen anything that uses it successfully. Innula Zenovka 07:22, 22 November 2011 (PST)