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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// todo: also check llAllowInventoryDrop when implemented
|
if(part.OwnerID != destPart.OwnerID && (part.GetEffectiveObjectFlags() & (uint)LLObject.ObjectFlags.AllowInventoryDrop) == 0)
|
||||||
if(part.OwnerID != destPart.OwnerID)
|
|
||||||
{
|
{
|
||||||
// object cannot copy items to an object owned by a different owner
|
// object cannot copy items to an object owned by a different owner
|
||||||
// unless llAllowInventoryDrop has been called
|
// 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!
|
// TODO: This needs to be persisted in next XML version update!
|
||||||
[XmlIgnore] public int[] PayPrice = {-2,-2,-2,-2,-2};
|
[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] private Dictionary<LLUUID, scriptEvents> m_scriptEvents = new Dictionary<LLUUID, scriptEvents>();
|
||||||
[XmlIgnore] public scriptEvents m_aggregateScriptEvents=0;
|
[XmlIgnore] public scriptEvents m_aggregateScriptEvents=0;
|
||||||
[XmlIgnore] private LLObject.ObjectFlags LocalFlags = LLObject.ObjectFlags.None;
|
[XmlIgnore] private LLObject.ObjectFlags LocalFlags = LLObject.ObjectFlags.None;
|
||||||
|
@ -2786,6 +2787,11 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
objectflagupdate |= (uint) LLObject.ObjectFlags.Money;
|
objectflagupdate |= (uint) LLObject.ObjectFlags.Money;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (AllowedDrop)
|
||||||
|
{
|
||||||
|
objectflagupdate |= (uint) LLObject.ObjectFlags.AllowInventoryDrop;
|
||||||
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
((m_aggregateScriptEvents & scriptEvents.collision) != 0) ||
|
((m_aggregateScriptEvents & scriptEvents.collision) != 0) ||
|
||||||
((m_aggregateScriptEvents & scriptEvents.collision_end) != 0) ||
|
((m_aggregateScriptEvents & scriptEvents.collision_end) != 0) ||
|
||||||
|
|
|
@ -3185,7 +3185,12 @@ namespace OpenSim.Region.ScriptEngine.Common
|
||||||
public void llAllowInventoryDrop(int add)
|
public void llAllowInventoryDrop(int add)
|
||||||
{
|
{
|
||||||
m_host.AddScriptLPS(1);
|
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()
|
public LSL_Types.Vector3 llGetSunDirection()
|
||||||
|
|
|
@ -3114,7 +3114,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
public void llAllowInventoryDrop(int add)
|
public void llAllowInventoryDrop(int add)
|
||||||
{
|
{
|
||||||
m_host.AddScriptLPS(1);
|
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()
|
public LSL_Types.Vector3 llGetSunDirection()
|
||||||
|
|
Loading…
Reference in New Issue