diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs | 57 |
1 files changed, 54 insertions, 3 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs index 93de3b4..1434f8a 100644 --- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs | |||
@@ -3722,14 +3722,65 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
3722 | public int llGetObjectPermMask(int mask) | 3722 | public int llGetObjectPermMask(int mask) |
3723 | { | 3723 | { |
3724 | m_host.AddScriptLPS(1); | 3724 | m_host.AddScriptLPS(1); |
3725 | NotImplemented("llGetObjectPermMask"); | 3725 | |
3726 | return 0; | 3726 | int permmask = 0; |
3727 | |||
3728 | if (mask == BuiltIn_Commands_BaseClass.MASK_BASE)//0 | ||
3729 | { | ||
3730 | permmask = (int)m_host.BaseMask; | ||
3731 | } | ||
3732 | |||
3733 | else if (mask == BuiltIn_Commands_BaseClass.MASK_OWNER)//1 | ||
3734 | { | ||
3735 | permmask = (int)m_host.OwnerMask; | ||
3736 | } | ||
3737 | |||
3738 | else if (mask == BuiltIn_Commands_BaseClass.MASK_GROUP)//2 | ||
3739 | { | ||
3740 | permmask = (int)m_host.GroupMask; | ||
3741 | } | ||
3742 | |||
3743 | else if (mask == BuiltIn_Commands_BaseClass.MASK_EVERYONE)//3 | ||
3744 | { | ||
3745 | permmask = (int)m_host.EveryoneMask; | ||
3746 | } | ||
3747 | |||
3748 | else if (mask == BuiltIn_Commands_BaseClass.MASK_NEXT)//4 | ||
3749 | { | ||
3750 | permmask = (int)m_host.NextOwnerMask; | ||
3751 | } | ||
3752 | |||
3753 | return permmask; | ||
3727 | } | 3754 | } |
3728 | 3755 | ||
3729 | public void llSetObjectPermMask(int mask, int value) | 3756 | public void llSetObjectPermMask(int mask, int value) |
3730 | { | 3757 | { |
3731 | m_host.AddScriptLPS(1); | 3758 | m_host.AddScriptLPS(1); |
3732 | NotImplemented("llSetObjectPermMask"); | 3759 | |
3760 | if (mask == BuiltIn_Commands_BaseClass.MASK_BASE)//0 | ||
3761 | { | ||
3762 | m_host.BaseMask = (uint)value; | ||
3763 | } | ||
3764 | |||
3765 | else if (mask == BuiltIn_Commands_BaseClass.MASK_OWNER)//1 | ||
3766 | { | ||
3767 | m_host.OwnerMask = (uint)value; | ||
3768 | } | ||
3769 | |||
3770 | else if (mask == BuiltIn_Commands_BaseClass.MASK_GROUP)//2 | ||
3771 | { | ||
3772 | m_host.GroupMask = (uint)value; | ||
3773 | } | ||
3774 | |||
3775 | else if (mask == BuiltIn_Commands_BaseClass.MASK_EVERYONE)//3 | ||
3776 | { | ||
3777 | m_host.EveryoneMask = (uint)value; | ||
3778 | } | ||
3779 | |||
3780 | else if (mask == BuiltIn_Commands_BaseClass.MASK_NEXT)//4 | ||
3781 | { | ||
3782 | m_host.NextOwnerMask = (uint)value; | ||
3783 | } | ||
3733 | } | 3784 | } |
3734 | 3785 | ||
3735 | public void llGetInventoryPermMask(string item, int mask) | 3786 | public void llGetInventoryPermMask(string item, int mask) |