RezObjectParcelCenter now supports Z offset
This commit is contained in:
parent
ee29ea46f9
commit
164e464f04
1 changed files with 13 additions and 2 deletions
|
|
@ -118,13 +118,24 @@ namespace SecondBotEvents.Commands
|
||||||
[ReturnHintsFailure("Unable to find item")]
|
[ReturnHintsFailure("Unable to find item")]
|
||||||
[ReturnHintsFailure("Error not in a sim")]
|
[ReturnHintsFailure("Error not in a sim")]
|
||||||
[ReturnHintsFailure("Parcel data not ready")]
|
[ReturnHintsFailure("Parcel data not ready")]
|
||||||
|
[ReturnHintsFailure("Invaild Z offset")]
|
||||||
|
[ReturnHintsFailure("Z offset must be between -2 and 2")]
|
||||||
[ArgHints("item", "what to rez", "UUID")]
|
[ArgHints("item", "what to rez", "UUID")]
|
||||||
public object RezObjectParcelCenter(string item)
|
[ArgHints("zoffset", "Z offset to apply (range -2 to 2)", "Number", "0.5")]
|
||||||
|
public object RezObjectParcelCenter(string item, string zoffset)
|
||||||
{
|
{
|
||||||
if (UUID.TryParse(item, out UUID targetitem) == false)
|
if (UUID.TryParse(item, out UUID targetitem) == false)
|
||||||
{
|
{
|
||||||
return Failure("Invaild item UUID: " + item, [item]);
|
return Failure("Invaild item UUID: " + item, [item]);
|
||||||
}
|
}
|
||||||
|
if(float.TryParse(zoffset, out float zoff) == false)
|
||||||
|
{
|
||||||
|
return Failure("Invaild Z offset: " + zoffset, [item]);
|
||||||
|
}
|
||||||
|
if(zoff < -2 || zoff > 2)
|
||||||
|
{
|
||||||
|
return Failure("Z offset must be between -2 and 2", [item, zoffset]);
|
||||||
|
}
|
||||||
KeyValuePair<bool, string> tests = SetupCurrentParcel();
|
KeyValuePair<bool, string> tests = SetupCurrentParcel();
|
||||||
if (tests.Key == false)
|
if (tests.Key == false)
|
||||||
{
|
{
|
||||||
|
|
@ -150,7 +161,7 @@ namespace SecondBotEvents.Commands
|
||||||
}
|
}
|
||||||
float x = targetparcel.AABBMin.X + ((targetparcel.AABBMax.X - targetparcel.AABBMin.X) / 2);
|
float x = targetparcel.AABBMin.X + ((targetparcel.AABBMax.X - targetparcel.AABBMin.X) / 2);
|
||||||
float y = targetparcel.AABBMin.Y + ((targetparcel.AABBMax.Y - targetparcel.AABBMin.Y) / 2);
|
float y = targetparcel.AABBMin.Y + ((targetparcel.AABBMax.Y - targetparcel.AABBMin.Y) / 2);
|
||||||
Vector3 resat = new Vector3(x, y, GetClient().Self.RelativePosition.Z);
|
Vector3 resat = new Vector3(x, y, GetClient().Self.RelativePosition.Z+zoff);
|
||||||
UUID rezedobject = GetClient().Inventory.RequestRezFromInventory(GetClient().Network.CurrentSim, GetClient().Self.SimRotation, resat, itm);
|
UUID rezedobject = GetClient().Inventory.RequestRezFromInventory(GetClient().Network.CurrentSim, GetClient().Self.SimRotation, resat, itm);
|
||||||
return BasicReply(rezedobject.ToString(), [item]);
|
return BasicReply(rezedobject.ToString(), [item]);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue