Table of Contents

Get Avatar Data

getavatardata (Commands)
TypeCorrade progressive command
Commandgetavatardata
DescriptionThe getavatardata returns fields or properties specified in data of an avatar on the current simulator that Corrade is on.
Permissionsinteract
Parametersgroup, password, data, firstname, lastname (or agent by UUID)
Last Changesnone

The getavatardata returns fields or properties specified in data of an avatar on the current simulator that Corrade is on.

Command Required Parameters Required Corrade Permissions Example
getavatardata group, password, data, firstname, lastname (or agent by UUID) interact
llInstantMessage(CORRADE,
    wasKeyValueEncode(
        [
            // gets the visual parameters of
            // the avatar named Fuzzy Resident
            "command", "getavatardata",
            "group", wasURLEscape(GROUP),
            "password", wasURLEscape(PASSWORD),
            // or "agent", "69ce412b-dffc-436d-86ff-d788bfa66d9d"
            "firstname", "Fuzzy",
            "lastname", "Resident",
            "data", "VisualParameters",
            "callback", wasURLEscape(URL)
        ]
    )
);

The data parameter can be supplied a CSV list of fields or properties from the libopenmetaverse Avatar structure and the libopenmetaverse Primitive structure.

Avatar Visual Parameters

Perhaps, the most interesting field is the VisualParameters field that contains the avatar's visual parameters. Based on the VisualParameters field, we can, for example, determine whether an avatar has a male or a female shape. For example, the following script will determine whether the avatar named Fuzzy Resident has a male or a female shape:

default {
    touch_start(integer num) {
        llInstantMessage(CORRADE,
            wasKeyValueEncode(
                [
                    "command", "getavatardata",
                    "group", wasURLEscape(GROUP),
                    "password", wasURLEscape(PASSWORD),
                    // or "agent", "69ce412b-dffc-436d-86ff-d788bfa66d9d"
                    "firstname", "Fuzzy",
                    "lastname", "Resident",
                    "data", "VisualParameters",
                    "callback", wasURLEscape(URL)
                ]
            )
        );
 
    }
    http_request(key id, string method, string body) {
        llHTTPResponse(id, 200, "Ok");
        // Pop off VisualParameters and fetch only the
        // CSV list of visual parameter values.
        list data = llList2List(
            wasCSVToList(
                wasURLUnescape(
                    wasKeyValueGet(
                        "data",
                        body
                    )
                )
            ),
        1, -1);
        // The 31st corresponds to the SHAPE_MALE
        // visual parameter. If the value is non-zero
        // then the shape is male, otherwise, female.
        if(llList2Integer(data, 31) != 0) {
            llOwnerSay("The avatar has a male shape!");
            return;
        }
        llOwnerSay("The avatar has a female shape!");
    }
}

Once the command is sent to retrieve the visual parameters:

llInstantMessage(CORRADE,
    wasKeyValueEncode(
        [
            // gets the visual parameters of
            // the avatar named Fuzzy Resident
            "command", "getavatardata",
            "group", wasURLEscape(GROUP),
            "password", wasURLEscape(PASSWORD),
            // or "agent", "69ce412b-dffc-436d-86ff-d788bfa66d9d"
            "firstname", "Fuzzy",
            "lastname", "Resident",
            "data", "VisualParameters",
            "callback", wasURLEscape(URL)
        ]
    )
);

The data returned to the callback will contain a CSV sequence of numbers such as:

VisualParameters, 127, 61, 100, 101, ...

Popping off the VisualParameters, we obtain a sequence of values:

127, 61, 100, 101, ...

These values correspond to certain visual parameters of the avatar, the first 217 values correspond to LibOMv's visual parameter list:

// Extracted from OpenSim
 
#region VPElement
 
/// <summary>
/// Viewer Params Array Element for AgentSetAppearance
/// Generated from LibOMV's Visual Params list
/// </summary>
public enum VPElement : int
{
    /// <summary>
    /// Brow Size - Small 0--+255 Large
    /// </summary>
    SHAPE_BIG_BROW = 0,
    /// <summary>
    /// Nose Size - Small 0--+255 Large
    /// </summary>
    SHAPE_NOSE_BIG_OUT = 1,
    /// <summary>
    /// Nostril Width - Narrow 0--+255 Broad
    /// </summary>
    SHAPE_BROAD_NOSTRILS = 2,
    /// <summary>
    /// Chin Cleft - Round 0--+255 Cleft
    /// </summary>
    SHAPE_CLEFT_CHIN = 3,
    /// <summary>
    /// Nose Tip Shape - Pointy 0--+255 Bulbous
    /// </summary>
    SHAPE_BULBOUS_NOSE_TIP = 4,
    /// <summary>
    /// Chin Angle - Chin Out 0--+255 Chin In
    /// </summary>
    SHAPE_WEAK_CHIN = 5,
    /// <summary>
    /// Chin-Neck - Tight Chin 0--+255 Double Chin
    /// </summary>
    SHAPE_DOUBLE_CHIN = 6,
    /// <summary>
    /// Lower Cheeks - Well-Fed 0--+255 Sunken
    /// </summary>
    SHAPE_SUNKEN_CHEEKS = 7,
    /// <summary>
    /// Upper Bridge - Low 0--+255 High
    /// </summary>
    SHAPE_NOBLE_NOSE_BRIDGE = 8,
    /// <summary>
    ///  - Less 0--+255 More
    /// </summary>
    SHAPE_JOWLS = 9,
    /// <summary>
    /// Upper Chin Cleft - Round 0--+255 Cleft
    /// </summary>
    SHAPE_CLEFT_CHIN_UPPER = 10,
    /// <summary>
    /// Cheek Bones - Low 0--+255 High
    /// </summary>
    SHAPE_HIGH_CHEEK_BONES = 11,
    /// <summary>
    /// Ear Angle - In 0--+255 Out
    /// </summary>
    SHAPE_EARS_OUT = 12,
    /// <summary>
    /// Eyebrow Points - Smooth 0--+255 Pointy
    /// </summary>
    HAIR_POINTY_EYEBROWS = 13,
    /// <summary>
    /// Jaw Shape - Pointy 0--+255 Square
    /// </summary>
    SHAPE_SQUARE_JAW = 14,
    /// <summary>
    /// Upper Cheeks - Thin 0--+255 Puffy
    /// </summary>
    SHAPE_PUFFY_UPPER_CHEEKS = 15,
    /// <summary>
    /// Nose Tip Angle - Downturned 0--+255 Upturned
    /// </summary>
    SHAPE_UPTURNED_NOSE_TIP = 16,
    /// <summary>
    /// Nose Thickness - Thin Nose 0--+255 Bulbous Nose
    /// </summary>
    SHAPE_BULBOUS_NOSE = 17,
    /// <summary>
    /// Upper Eyelid Fold - Uncreased 0--+255 Creased
    /// </summary>
    SHAPE_UPPER_EYELID_FOLD = 18,
    /// <summary>
    /// Attached Earlobes - Unattached 0--+255 Attached
    /// </summary>
    SHAPE_ATTACHED_EARLOBES = 19,
    /// <summary>
    /// Eye Bags - Smooth 0--+255 Baggy
    /// </summary>
    SHAPE_BAGGY_EYES = 20,
    /// <summary>
    /// Eye Opening - Narrow 0--+255 Wide
    /// </summary>
    SHAPE_WIDE_EYES = 21,
    /// <summary>
    /// Lip Cleft - Narrow 0--+255 Wide
    /// </summary>
    SHAPE_WIDE_LIP_CLEFT = 22,
    /// <summary>
    /// Bridge Width - Narrow 0--+255 Wide
    /// </summary>
    SHAPE_WIDE_NOSE_BRIDGE = 23,
    /// <summary>
    /// Eyebrow Arc - Flat 0--+255 Arced
    /// </summary>
    HAIR_ARCED_EYEBROWS = 24,
    /// <summary>
    /// Height - Short 0--+255 Tall
    /// </summary>
    SHAPE_HEIGHT = 25,
    /// <summary>
    /// Body Thickness - Body Thin 0--+255 Body Thick
    /// </summary>
    SHAPE_THICKNESS = 26,
    /// <summary>
    /// Ear Size - Small 0--+255 Large
    /// </summary>
    SHAPE_BIG_EARS = 27,
    /// <summary>
    /// Shoulders - Narrow 0--+255 Broad
    /// </summary>
    SHAPE_SHOULDERS = 28,
    /// <summary>
    /// Hip Width - Narrow 0--+255 Wide
    /// </summary>
    SHAPE_HIP_WIDTH = 29,
    /// <summary>
    ///  - Short Torso 0--+255 Long Torso
    /// </summary>
    SHAPE_TORSO_LENGTH = 30,
    SHAPE_MALE = 31,
    /// <summary>
    ///  - Short 0--+255 Long
    /// </summary>
    GLOVES_GLOVE_LENGTH = 32,
    /// <summary>
    ///  - Darker 0--+255 Lighter
    /// </summary>
    EYES_EYE_LIGHTNESS = 33,
    /// <summary>
    ///  - Natural 0--+255 Unnatural
    /// </summary>
    EYES_EYE_COLOR = 34,
    /// <summary>
    ///  - Small 0--+255 Large
    /// </summary>
    SHAPE_BREAST_SIZE = 35,
    /// <summary>
    ///  - None 0--+255 Wild
    /// </summary>
    SKIN_RAINBOW_COLOR = 36,
    /// <summary>
    /// Ruddiness - Pale 0--+255 Ruddy
    /// </summary>
    SKIN_RED_SKIN = 37,
    /// <summary>
    ///  - Light 0--+255 Dark
    /// </summary>
    SKIN_PIGMENT = 38,
    HAIR_RAINBOW_COLOR_39 = 39,
    /// <summary>
    ///  - No Red 0--+255 Very Red
    /// </summary>
    HAIR_RED_HAIR = 40,
    /// <summary>
    ///  - Black 0--+255 Blonde
    /// </summary>
    HAIR_BLONDE_HAIR = 41,
    /// <summary>
    ///  - No White 0--+255 All White
    /// </summary>
    HAIR_WHITE_HAIR = 42,
    /// <summary>
    ///  - Less Rosy 0--+255 More Rosy
    /// </summary>
    SKIN_ROSY_COMPLEXION = 43,
    /// <summary>
    ///  - Darker 0--+255 Pinker
    /// </summary>
    SKIN_LIP_PINKNESS = 44,
    /// <summary>
    ///  - Thin Eyebrows 0--+255 Bushy Eyebrows
    /// </summary>
    HAIR_EYEBROW_SIZE = 45,
    /// <summary>
    ///  - Short 0--+255 Long
    /// </summary>
    HAIR_FRONT_FRINGE = 46,
    /// <summary>
    ///  - Short 0--+255 Long
    /// </summary>
    HAIR_SIDE_FRINGE = 47,
    /// <summary>
    ///  - Short 0--+255 Long
    /// </summary>
    HAIR_BACK_FRINGE = 48,
    /// <summary>
    ///  - Short 0--+255 Long
    /// </summary>
    HAIR_HAIR_FRONT = 49,
    /// <summary>
    ///  - Short 0--+255 Long
    /// </summary>
    HAIR_HAIR_SIDES = 50,
    /// <summary>
    ///  - Short 0--+255 Long
    /// </summary>
    HAIR_HAIR_BACK = 51,
    /// <summary>
    ///  - Sweep Forward 0--+255 Sweep Back
    /// </summary>
    HAIR_HAIR_SWEEP = 52,
    /// <summary>
    ///  - Left 0--+255 Right
    /// </summary>
    HAIR_HAIR_TILT = 53,
    /// <summary>
    /// Middle Part - No Part 0--+255 Part
    /// </summary>
    HAIR_HAIR_PART_MIDDLE = 54,
    /// <summary>
    /// Right Part - No Part 0--+255 Part
    /// </summary>
    HAIR_HAIR_PART_RIGHT = 55,
    /// <summary>
    /// Left Part - No Part 0--+255 Part
    /// </summary>
    HAIR_HAIR_PART_LEFT = 56,
    /// <summary>
    /// Full Hair Sides - Mowhawk 0--+255 Full Sides
    /// </summary>
    HAIR_HAIR_SIDES_FULL = 57,
    /// <summary>
    ///  - Less 0--+255 More
    /// </summary>
    SKIN_BODY_DEFINITION = 58,
    /// <summary>
    /// Lip Width - Narrow Lips 0--+255 Wide Lips
    /// </summary>
    SHAPE_LIP_WIDTH = 59,
    /// <summary>
    ///  - Small 0--+255 Big
    /// </summary>
    SHAPE_BELLY_SIZE = 60,
    /// <summary>
    ///  - Less 0--+255 More
    /// </summary>
    SKIN_FACIAL_DEFINITION = 61,
    /// <summary>
    ///  - Less 0--+255 More
    /// </summary>
    SKIN_WRINKLES = 62,
    /// <summary>
    ///  - Less 0--+255 More
    /// </summary>
    SKIN_FRECKLES = 63,
    /// <summary>
    ///  - Short Sideburns 0--+255 Mutton Chops
    /// </summary>
    HAIR_SIDEBURNS = 64,
    /// <summary>
    ///  - Chaplin 0--+255 Handlebars
    /// </summary>
    HAIR_MOUSTACHE = 65,
    /// <summary>
    ///  - Less soul 0--+255 More soul
    /// </summary>
    HAIR_SOULPATCH = 66,
    /// <summary>
    ///  - Less Curtains 0--+255 More Curtains
    /// </summary>
    HAIR_CHIN_CURTAINS = 67,
    /// <summary>
    /// Rumpled Hair - Smooth Hair 0--+255 Rumpled Hair
    /// </summary>
    HAIR_HAIR_RUMPLED = 68,
    /// <summary>
    /// Big Hair Front - Less 0--+255 More
    /// </summary>
    HAIR_HAIR_BIG_FRONT = 69,
    /// <summary>
    /// Big Hair Top - Less 0--+255 More
    /// </summary>
    HAIR_HAIR_BIG_TOP = 70,
    /// <summary>
    /// Big Hair Back - Less 0--+255 More
    /// </summary>
    HAIR_HAIR_BIG_BACK = 71,
    /// <summary>
    /// Spiked Hair - No Spikes 0--+255 Big Spikes
    /// </summary>
    HAIR_HAIR_SPIKED = 72,
    /// <summary>
    /// Chin Depth - Shallow 0--+255 Deep
    /// </summary>
    SHAPE_DEEP_CHIN = 73,
    /// <summary>
    /// Part Bangs - No Part 0--+255 Part Bangs
    /// </summary>
    HAIR_BANGS_PART_MIDDLE = 74,
    /// <summary>
    /// Head Shape - More Square 0--+255 More Round
    /// </summary>
    SHAPE_HEAD_SHAPE = 75,
    /// <summary>
    /// Eye Spacing - Close Set Eyes 0--+255 Far Set Eyes
    /// </summary>
    SHAPE_EYE_SPACING = 76,
    /// <summary>
    ///  - Low Heels 0--+255 High Heels
    /// </summary>
    SHOES_HEEL_HEIGHT = 77,
    /// <summary>
    ///  - Low Platforms 0--+255 High Platforms
    /// </summary>
    SHOES_PLATFORM_HEIGHT = 78,
    /// <summary>
    ///  - Thin Lips 0--+255 Fat Lips
    /// </summary>
    SHAPE_LIP_THICKNESS = 79,
    /// <summary>
    /// Mouth Position - High 0--+255 Low
    /// </summary>
    SHAPE_MOUTH_HEIGHT = 80,
    /// <summary>
    /// Breast Buoyancy - Less Gravity 0--+255 More Gravity
    /// </summary>
    SHAPE_BREAST_GRAVITY = 81,
    /// <summary>
    /// Platform Width - Narrow 0--+255 Wide
    /// </summary>
    SHOES_SHOE_PLATFORM_WIDTH = 82,
    /// <summary>
    ///  - Pointy Heels 0--+255 Thick Heels
    /// </summary>
    SHOES_HEEL_SHAPE = 83,
    /// <summary>
    ///  - Pointy 0--+255 Square
    /// </summary>
    SHOES_TOE_SHAPE = 84,
    /// <summary>
    /// Foot Size - Small 0--+255 Big
    /// </summary>
    SHAPE_FOOT_SIZE = 85,
    /// <summary>
    /// Nose Width - Narrow 0--+255 Wide
    /// </summary>
    SHAPE_WIDE_NOSE = 86,
    /// <summary>
    /// Eyelash Length - Short 0--+255 Long
    /// </summary>
    SHAPE_EYELASHES_LONG = 87,
    /// <summary>
    ///  - Short 0--+255 Long
    /// </summary>
    UNDERSHIRT_SLEEVE_LENGTH = 88,
    /// <summary>
    ///  - Short 0--+255 Long
    /// </summary>
    UNDERSHIRT_BOTTOM = 89,
    /// <summary>
    ///  - Low 0--+255 High
    /// </summary>
    UNDERSHIRT_COLLAR_FRONT = 90,
    JACKET_SLEEVE_LENGTH_91 = 91,
    JACKET_COLLAR_FRONT_92 = 92,
    /// <summary>
    /// Jacket Length - Short 0--+255 Long
    /// </summary>
    JACKET_BOTTOM_LENGTH_LOWER = 93,
    /// <summary>
    /// Open Front - Open 0--+255 Closed
    /// </summary>
    JACKET_OPEN_JACKET = 94,
    /// <summary>
    ///  - Short 0--+255 Tall
    /// </summary>
    SHOES_SHOE_HEIGHT = 95,
    /// <summary>
    ///  - Short 0--+255 Long
    /// </summary>
    SOCKS_SOCKS_LENGTH = 96,
    /// <summary>
    ///  - Short 0--+255 Long
    /// </summary>
    UNDERPANTS_PANTS_LENGTH = 97,
    /// <summary>
    ///  - Low 0--+255 High
    /// </summary>
    UNDERPANTS_PANTS_WAIST = 98,
    /// <summary>
    /// Cuff Flare - Tight Cuffs 0--+255 Flared Cuffs
    /// </summary>
    PANTS_LEG_PANTFLAIR = 99,
    /// <summary>
    ///  - More Vertical 0--+255 More Sloped
    /// </summary>
    SHAPE_FOREHEAD_ANGLE = 100,
    /// <summary>
    ///  - Less Body Fat 0--+255 More Body Fat
    /// </summary>
    SHAPE_BODY_FAT = 101,
    /// <summary>
    /// Pants Crotch - High and Tight 0--+255 Low and Loose
    /// </summary>
    PANTS_LOW_CROTCH = 102,
    /// <summary>
    /// Egg Head - Chin Heavy 0--+255 Forehead Heavy
    /// </summary>
    SHAPE_EGG_HEAD = 103,
    /// <summary>
    /// Head Stretch - Squash Head 0--+255 Stretch Head
    /// </summary>
    SHAPE_SQUASH_STRETCH_HEAD = 104,
    /// <summary>
    /// Torso Muscles - Less Muscular 0--+255 More Muscular
    /// </summary>
    SHAPE_TORSO_MUSCLES = 105,
    /// <summary>
    /// Outer Eye Corner - Corner Down 0--+255 Corner Up
    /// </summary>
    SHAPE_EYELID_CORNER_UP = 106,
    /// <summary>
    ///  - Less Muscular 0--+255 More Muscular
    /// </summary>
    SHAPE_LEG_MUSCLES = 107,
    /// <summary>
    /// Lip Fullness - Less Full 0--+255 More Full
    /// </summary>
    SHAPE_TALL_LIPS = 108,
    /// <summary>
    /// Toe Thickness - Flat Toe 0--+255 Thick Toe
    /// </summary>
    SHOES_SHOE_TOE_THICK = 109,
    /// <summary>
    /// Crooked Nose - Nose Left 0--+255 Nose Right
    /// </summary>
    SHAPE_CROOKED_NOSE = 110,
    /// <summary>
    ///  - Corner Down 0--+255 Corner Up
    /// </summary>
    SHAPE_MOUTH_CORNER = 111,
    /// <summary>
    ///  - Shear Right Up 0--+255 Shear Left Up
    /// </summary>
    SHAPE_FACE_SHEAR = 112,
    /// <summary>
    /// Shift Mouth - Shift Left 0--+255 Shift Right
    /// </summary>
    SHAPE_SHIFT_MOUTH = 113,
    /// <summary>
    /// Eye Pop - Pop Right Eye 0--+255 Pop Left Eye
    /// </summary>
    SHAPE_POP_EYE = 114,
    /// <summary>
    /// Jaw Jut - Overbite 0--+255 Underbite
    /// </summary>
    SHAPE_JAW_JUT = 115,
    /// <summary>
    /// Shear Back - Full Back 0--+255 Sheared Back
    /// </summary>
    HAIR_HAIR_SHEAR_BACK = 116,
    /// <summary>
    ///  - Small Hands 0--+255 Large Hands
    /// </summary>
    SHAPE_HAND_SIZE = 117,
    /// <summary>
    /// Love Handles - Less Love 0--+255 More Love
    /// </summary>
    SHAPE_LOVE_HANDLES = 118,
    SHAPE_TORSO_MUSCLES_119 = 119,
    /// <summary>
    /// Head Size - Small Head 0--+255 Big Head
    /// </summary>
    SHAPE_HEAD_SIZE = 120,
    /// <summary>
    ///  - Skinny Neck 0--+255 Thick Neck
    /// </summary>
    SHAPE_NECK_THICKNESS = 121,
    /// <summary>
    /// Breast Cleavage - Separate 0--+255 Join
    /// </summary>
    SHAPE_BREAST_FEMALE_CLEAVAGE = 122,
    /// <summary>
    /// Pectorals - Big Pectorals 0--+255 Sunken Chest
    /// </summary>
    SHAPE_CHEST_MALE_NO_PECS = 123,
    /// <summary>
    /// Eye Size - Beady Eyes 0--+255 Anime Eyes
    /// </summary>
    SHAPE_EYE_SIZE = 124,
    /// <summary>
    ///  - Short Legs 0--+255 Long Legs
    /// </summary>
    SHAPE_LEG_LENGTH = 125,
    /// <summary>
    ///  - Short Arms 0--+255 Long arms
    /// </summary>
    SHAPE_ARM_LENGTH = 126,
    /// <summary>
    ///  - Pink 0--+255 Black
    /// </summary>
    SKIN_LIPSTICK_COLOR = 127,
    /// <summary>
    ///  - No Lipstick 0--+255 More Lipstick
    /// </summary>
    SKIN_LIPSTICK = 128,
    /// <summary>
    ///  - No Lipgloss 0--+255 Glossy
    /// </summary>
    SKIN_LIPGLOSS = 129,
    /// <summary>
    ///  - No Eyeliner 0--+255 Full Eyeliner
    /// </summary>
    SKIN_EYELINER = 130,
    /// <summary>
    ///  - No Blush 0--+255 More Blush
    /// </summary>
    SKIN_BLUSH = 131,
    /// <summary>
    ///  - Pink 0--+255 Orange
    /// </summary>
    SKIN_BLUSH_COLOR = 132,
    /// <summary>
    ///  - Clear 0--+255 Opaque
    /// </summary>
    SKIN_OUT_SHDW_OPACITY = 133,
    /// <summary>
    ///  - No Eyeshadow 0--+255 More Eyeshadow
    /// </summary>
    SKIN_OUTER_SHADOW = 134,
    /// <summary>
    ///  - Light 0--+255 Dark
    /// </summary>
    SKIN_OUT_SHDW_COLOR = 135,
    /// <summary>
    ///  - No Eyeshadow 0--+255 More Eyeshadow
    /// </summary>
    SKIN_INNER_SHADOW = 136,
    /// <summary>
    ///  - No Polish 0--+255 Painted Nails
    /// </summary>
    SKIN_NAIL_POLISH = 137,
    /// <summary>
    ///  - Clear 0--+255 Opaque
    /// </summary>
    SKIN_BLUSH_OPACITY = 138,
    /// <summary>
    ///  - Light 0--+255 Dark
    /// </summary>
    SKIN_IN_SHDW_COLOR = 139,
    /// <summary>
    ///  - Clear 0--+255 Opaque
    /// </summary>
    SKIN_IN_SHDW_OPACITY = 140,
    /// <summary>
    ///  - Dark Green 0--+255 Black
    /// </summary>
    SKIN_EYELINER_COLOR = 141,
    /// <summary>
    ///  - Pink 0--+255 Black
    /// </summary>
    SKIN_NAIL_POLISH_COLOR = 142,
    /// <summary>
    ///  - Sparse 0--+255 Dense
    /// </summary>
    HAIR_EYEBROW_DENSITY = 143,
    /// <summary>
    ///  - 5 O'Clock Shadow 0--+255 Bushy Hair
    /// </summary>
    HAIR_HAIR_THICKNESS = 144,
    /// <summary>
    /// Saddle Bags - Less Saddle 0--+255 More Saddle
    /// </summary>
    SHAPE_SADDLEBAGS = 145,
    /// <summary>
    /// Taper Back - Wide Back 0--+255 Narrow Back
    /// </summary>
    HAIR_HAIR_TAPER_BACK = 146,
    /// <summary>
    /// Taper Front - Wide Front 0--+255 Narrow Front
    /// </summary>
    HAIR_HAIR_TAPER_FRONT = 147,
    /// <summary>
    ///  - Short Neck 0--+255 Long Neck
    /// </summary>
    SHAPE_NECK_LENGTH = 148,
    /// <summary>
    /// Eyebrow Height - Higher 0--+255 Lower
    /// </summary>
    HAIR_LOWER_EYEBROWS = 149,
    /// <summary>
    /// Lower Bridge - Low 0--+255 High
    /// </summary>
    SHAPE_LOWER_BRIDGE_NOSE = 150,
    /// <summary>
    /// Nostril Division - High 0--+255 Low
    /// </summary>
    SHAPE_LOW_SEPTUM_NOSE = 151,
    /// <summary>
    /// Jaw Angle - Low Jaw 0--+255 High Jaw
    /// </summary>
    SHAPE_JAW_ANGLE = 152,
    /// <summary>
    /// Shear Front - Full Front 0--+255 Sheared Front
    /// </summary>
    HAIR_HAIR_SHEAR_FRONT = 153,
    /// <summary>
    ///  - Less Volume 0--+255 More Volume
    /// </summary>
    HAIR_HAIR_VOLUME = 154,
    /// <summary>
    /// Lip Cleft Depth - Shallow 0--+255 Deep
    /// </summary>
    SHAPE_LIP_CLEFT_DEEP = 155,
    /// <summary>
    /// Puffy Eyelids - Flat 0--+255 Puffy
    /// </summary>
    SHAPE_PUFFY_LOWER_LIDS = 156,
    /// <summary>
    ///  - Sunken Eyes 0--+255 Bugged Eyes
    /// </summary>
    SHAPE_EYE_DEPTH = 157,
    /// <summary>
    ///  - Flat Head 0--+255 Long Head
    /// </summary>
    SHAPE_HEAD_LENGTH = 158,
    /// <summary>
    ///  - Less Freckles 0--+255 More Freckles
    /// </summary>
    SKIN_BODY_FRECKLES = 159,
    /// <summary>
    ///  - Low 0--+255 High
    /// </summary>
    UNDERSHIRT_COLLAR_BACK = 160,
    JACKET_COLLAR_BACK_161 = 161,
    SHIRT_COLLAR_BACK_162 = 162,
    /// <summary>
    ///  - Short Pigtails 0--+255 Long Pigtails
    /// </summary>
    HAIR_PIGTAILS = 163,
    /// <summary>
    ///  - Short Ponytail 0--+255 Long Ponytail
    /// </summary>
    HAIR_PONYTAIL = 164,
    /// <summary>
    /// Butt Size - Flat Butt 0--+255 Big Butt
    /// </summary>
    SHAPE_BUTT_SIZE = 165,
    /// <summary>
    /// Ear Tips - Flat 0--+255 Pointy
    /// </summary>
    SHAPE_POINTY_EARS = 166,
    /// <summary>
    /// Lip Ratio - More Upper Lip 0--+255 More Lower Lip
    /// </summary>
    SHAPE_LIP_RATIO = 167,
    SHIRT_SLEEVE_LENGTH_168 = 168,
    /// <summary>
    ///  - Short 0--+255 Long
    /// </summary>
    SHIRT_SHIRT_BOTTOM = 169,
    SHIRT_COLLAR_FRONT_170 = 170,
    SHIRT_SHIRT_RED = 171,
    SHIRT_SHIRT_GREEN = 172,
    SHIRT_SHIRT_BLUE = 173,
    PANTS_PANTS_RED = 174,
    PANTS_PANTS_GREEN = 175,
    PANTS_PANTS_BLUE = 176,
    SHOES_SHOES_RED = 177,
    SHOES_SHOES_GREEN = 178,
    /// <summary>
    ///  - Low 0--+255 High
    /// </summary>
    PANTS_WAIST_HEIGHT = 179,
    PANTS_PANTS_LENGTH_180 = 180,
    /// <summary>
    /// Pants Fit - Tight Pants 0--+255 Loose Pants
    /// </summary>
    PANTS_LOOSE_LOWER_CLOTHING = 181,
    SHOES_SHOES_BLUE = 182,
    SOCKS_SOCKS_RED = 183,
    SOCKS_SOCKS_GREEN = 184,
    SOCKS_SOCKS_BLUE = 185,
    UNDERSHIRT_UNDERSHIRT_RED = 186,
    UNDERSHIRT_UNDERSHIRT_GREEN = 187,
    UNDERSHIRT_UNDERSHIRT_BLUE = 188,
    UNDERPANTS_UNDERPANTS_RED = 189,
    UNDERPANTS_UNDERPANTS_GREEN = 190,
    UNDERPANTS_UNDERPANTS_BLUE = 191,
    GLOVES_GLOVES_RED = 192,
    /// <summary>
    /// Shirt Fit - Tight Shirt 0--+255 Loose Shirt
    /// </summary>
    SHIRT_LOOSE_UPPER_CLOTHING = 193,
    GLOVES_GLOVES_GREEN = 194,
    GLOVES_GLOVES_BLUE = 195,
    JACKET_JACKET_RED = 196,
    JACKET_JACKET_GREEN = 197,
    JACKET_JACKET_BLUE = 198,
    /// <summary>
    /// Sleeve Looseness - Tight Sleeves 0--+255 Loose Sleeves
    /// </summary>
    SHIRT_SHIRTSLEEVE_FLAIR = 199,
    /// <summary>
    /// Knee Angle - Knock Kneed 0--+255 Bow Legged
    /// </summary>
    SHAPE_BOWED_LEGS = 200,
    /// <summary>
    ///  - Short hips 0--+255 Long Hips
    /// </summary>
    SHAPE_HIP_LENGTH = 201,
    /// <summary>
    ///  - Fingerless 0--+255 Fingers
    /// </summary>
    GLOVES_GLOVE_FINGERS = 202,
    /// <summary>
    /// bustle skirt - no bustle 0--+255 more bustle
    /// </summary>
    SKIRT_SKIRT_BUSTLE = 203,
    /// <summary>
    ///  - Short 0--+255 Long
    /// </summary>
    SKIRT_SKIRT_LENGTH = 204,
    /// <summary>
    ///  - Open Front 0--+255 Closed Front
    /// </summary>
    SKIRT_SLIT_FRONT = 205,
    /// <summary>
    ///  - Open Back 0--+255 Closed Back
    /// </summary>
    SKIRT_SLIT_BACK = 206,
    /// <summary>
    ///  - Open Left 0--+255 Closed Left
    /// </summary>
    SKIRT_SLIT_LEFT = 207,
    /// <summary>
    ///  - Open Right 0--+255 Closed Right
    /// </summary>
    SKIRT_SLIT_RIGHT = 208,
    /// <summary>
    /// Skirt Fit - Tight Skirt 0--+255 Poofy Skirt
    /// </summary>
    SKIRT_SKIRT_LOOSENESS = 209,
    SHIRT_SHIRT_WRINKLES = 210,
    PANTS_PANTS_WRINKLES = 211,
    /// <summary>
    /// Jacket Wrinkles - No Wrinkles 0--+255 Wrinkles
    /// </summary>
    JACKET_JACKET_WRINKLES = 212,
    /// <summary>
    /// Package - Coin Purse 0--+255 Duffle Bag
    /// </summary>
    SHAPE_MALE_PACKAGE = 213,
    /// <summary>
    /// Inner Eye Corner - Corner Down 0--+255 Corner Up
    /// </summary>
    SHAPE_EYELID_INNER_CORNER_UP = 214,
    SKIRT_SKIRT_RED = 215,
    SKIRT_SKIRT_GREEN = 216,
    SKIRT_SKIRT_BLUE = 217
}
#endregion

So, in the 31st position we will find a value that corresponds to SHAPE_MALE. If this value is non-zero, then the shape of the avatar is male, otherwise the shape of the avatar is female. The same applies to the other positions and their corresponding values.

A full list of parameter IDs can be found by cross-referencing with the avatar_lad.xml file which is found in the character sub-directory of any Second Life-compatible viewer.

Notes