Mantis#1610. Thank you, Melanie for a patch that:
Implements the beginning of llInventoryDrop. Doesn't cover the actual dropping yet, just the permissions for it.0.6.0-stable
parent
751150100b
commit
176efe3f06
|
@ -1009,8 +1009,7 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
return;
|
||||
}
|
||||
|
||||
// todo: also check llAllowInventoryDrop when implemented
|
||||
if(part.OwnerID != destPart.OwnerID)
|
||||
if(part.OwnerID != destPart.OwnerID && (part.GetEffectiveObjectFlags() & (uint)LLObject.ObjectFlags.AllowInventoryDrop) == 0)
|
||||
{
|
||||
// object cannot copy items to an object owned by a different owner
|
||||
// unless llAllowInventoryDrop has been called
|
||||
|
|
|
@ -97,6 +97,7 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
|
||||
// TODO: This needs to be persisted in next XML version update!
|
||||
[XmlIgnore] public int[] PayPrice = {-2,-2,-2,-2,-2};
|
||||
[XmlIgnore] public bool AllowedDrop = false;
|
||||
[XmlIgnore] private Dictionary<LLUUID, scriptEvents> m_scriptEvents = new Dictionary<LLUUID, scriptEvents>();
|
||||
[XmlIgnore] public scriptEvents m_aggregateScriptEvents=0;
|
||||
[XmlIgnore] private LLObject.ObjectFlags LocalFlags = LLObject.ObjectFlags.None;
|
||||
|
@ -2786,6 +2787,11 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
objectflagupdate |= (uint) LLObject.ObjectFlags.Money;
|
||||
}
|
||||
|
||||
if (AllowedDrop)
|
||||
{
|
||||
objectflagupdate |= (uint) LLObject.ObjectFlags.AllowInventoryDrop;
|
||||
}
|
||||
|
||||
if (
|
||||
((m_aggregateScriptEvents & scriptEvents.collision) != 0) ||
|
||||
((m_aggregateScriptEvents & scriptEvents.collision_end) != 0) ||
|
||||
|
|
|
@ -3185,7 +3185,12 @@ namespace OpenSim.Region.ScriptEngine.Common
|
|||
public void llAllowInventoryDrop(int add)
|
||||
{
|
||||
m_host.AddScriptLPS(1);
|
||||
NotImplemented("llAllowInventoryDrop");
|
||||
|
||||
if(add != 0)
|
||||
m_host.ParentGroup.RootPart.AllowedDrop = true;
|
||||
else
|
||||
m_host.ParentGroup.RootPart.AllowedDrop = false;
|
||||
|
||||
}
|
||||
|
||||
public LSL_Types.Vector3 llGetSunDirection()
|
||||
|
|
|
@ -3114,7 +3114,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
public void llAllowInventoryDrop(int add)
|
||||
{
|
||||
m_host.AddScriptLPS(1);
|
||||
NotImplemented("llAllowInventoryDrop");
|
||||
|
||||
if(add != 0)
|
||||
m_host.ParentGroup.RootPart.AllowedDrop = true;
|
||||
else
|
||||
m_host.ParentGroup.RootPart.AllowedDrop = false;
|
||||
}
|
||||
|
||||
public LSL_Types.Vector3 llGetSunDirection()
|
||||
|
|
Loading…
Reference in New Issue