Top Scripts

Signed-off-by: UbitUmarov <ajlduarte@sapo.pt>
This commit is contained in:
StolenRuby
2020-08-15 19:34:20 +01:00
committed by UbitUmarov
parent 1661ee697d
commit 2f0d2db19d
9 changed files with 199 additions and 36 deletions

View File

@@ -3485,29 +3485,83 @@ namespace OpenSim.Region.ClientStack.LindenUDP
public void SendLandStatReply(uint reportType, uint requestFlags, uint resultCount, LandStatReportItem[] lsrpia)
{
LandStatReplyPacket lsrp = new LandStatReplyPacket();
// LandStatReplyPacket.RequestDataBlock lsreqdpb = new LandStatReplyPacket.RequestDataBlock();
LandStatReplyPacket.ReportDataBlock[] lsrepdba = new LandStatReplyPacket.ReportDataBlock[lsrpia.Length];
//LandStatReplyPacket.ReportDataBlock lsrepdb = new LandStatReplyPacket.ReportDataBlock();
// lsrepdb.
lsrp.RequestData.ReportType = reportType;
lsrp.RequestData.RequestFlags = requestFlags;
lsrp.RequestData.TotalObjectCount = resultCount;
for (int i = 0; i < lsrpia.Length; i++)
IEventQueue eq = Scene.RequestModuleInterface<IEventQueue>();
if (eq == null)
{
LandStatReplyPacket.ReportDataBlock lsrepdb = new LandStatReplyPacket.ReportDataBlock();
lsrepdb.LocationX = lsrpia[i].LocationX;
lsrepdb.LocationY = lsrpia[i].LocationY;
lsrepdb.LocationZ = lsrpia[i].LocationZ;
lsrepdb.Score = lsrpia[i].Score;
lsrepdb.TaskID = lsrpia[i].TaskID;
lsrepdb.TaskLocalID = lsrpia[i].TaskLocalID;
lsrepdb.TaskName = Util.StringToBytes256(lsrpia[i].TaskName);
lsrepdb.OwnerName = Util.StringToBytes256(lsrpia[i].OwnerName);
lsrepdba[i] = lsrepdb;
LandStatReplyPacket lsrp = new LandStatReplyPacket();
// LandStatReplyPacket.RequestDataBlock lsreqdpb = new LandStatReplyPacket.RequestDataBlock();
LandStatReplyPacket.ReportDataBlock[] lsrepdba = new LandStatReplyPacket.ReportDataBlock[lsrpia.Length];
//LandStatReplyPacket.ReportDataBlock lsrepdb = new LandStatReplyPacket.ReportDataBlock();
// lsrepdb.
lsrp.RequestData.ReportType = reportType;
lsrp.RequestData.RequestFlags = requestFlags;
lsrp.RequestData.TotalObjectCount = resultCount;
for (int i = 0; i < lsrpia.Length; i++)
{
LandStatReplyPacket.ReportDataBlock lsrepdb = new LandStatReplyPacket.ReportDataBlock();
lsrepdb.LocationX = lsrpia[i].LocationX;
lsrepdb.LocationY = lsrpia[i].LocationY;
lsrepdb.LocationZ = lsrpia[i].LocationZ;
lsrepdb.Score = lsrpia[i].Score;
lsrepdb.TaskID = lsrpia[i].TaskID;
lsrepdb.TaskLocalID = lsrpia[i].TaskLocalID;
lsrepdb.TaskName = Util.StringToBytes256(lsrpia[i].TaskName);
lsrepdb.OwnerName = Util.StringToBytes256(lsrpia[i].OwnerName);
lsrepdba[i] = lsrepdb;
}
lsrp.ReportData = lsrepdba;
OutPacket(lsrp, ThrottleOutPacketType.Task);
}
else
{
StringBuilder sb = eq.StartEvent("LandStatReply");
LLSDxmlEncode.AddArrayAndMap("RequestData", sb);
LLSDxmlEncode.AddElem("ReportType", reportType, sb);
LLSDxmlEncode.AddElem("RequestFlags", requestFlags, sb);
LLSDxmlEncode.AddElem("TotalObjectCount", (uint)lsrpia.Length, sb);
LLSDxmlEncode.AddEndMapAndArray(sb);
if (lsrpia.Length > 0)
{
LLSDxmlEncode.AddArray("ReportData", sb);
foreach (var item in lsrpia)
{
LLSDxmlEncode.AddMap(sb);
LLSDxmlEncode.AddElem("LocationX", item.LocationX, sb);
LLSDxmlEncode.AddElem("LocationY", item.LocationY, sb);
LLSDxmlEncode.AddElem("LocationZ", item.LocationZ, sb);
LLSDxmlEncode.AddElem("OwnerName", item.OwnerName, sb);
LLSDxmlEncode.AddElem("Score", item.Score, sb);
LLSDxmlEncode.AddElem("TaskID", item.TaskID, sb);
LLSDxmlEncode.AddElem("TaskLocalID", item.TaskLocalID, sb);
LLSDxmlEncode.AddElem("TaskName", item.TaskName, sb);
LLSDxmlEncode.AddEndMap(sb);
}
LLSDxmlEncode.AddEndArray(sb);
LLSDxmlEncode.AddArray("DataExtended", sb);
foreach (var item in lsrpia)
{
LLSDxmlEncode.AddMap(sb);
LLSDxmlEncode.AddElem("MonoScore", 0.0f, sb);
LLSDxmlEncode.AddElem("OwnerID", item.OwnerID, sb);
LLSDxmlEncode.AddElem("ParcelName", item.Parcel, sb);
LLSDxmlEncode.AddElem("PublicURLs", item.Urls, sb);
LLSDxmlEncode.AddElem("Size", (float)item.Bytes, sb);
LLSDxmlEncode.AddElem("TimeStamp", item.Time, sb);
LLSDxmlEncode.AddEndMap(sb);
}
LLSDxmlEncode.AddEndArray(sb);
}
OSD ev = new OSDllsdxml(eq.EndEvent(sb));
eq.Enqueue(ev, AgentId);
}
lsrp.ReportData = lsrepdba;
OutPacket(lsrp, ThrottleOutPacketType.Task);
}
public void SendScriptRunningReply(UUID objectID, UUID itemID, bool running)