Index: InventoryManager.cs =================================================================== --- InventoryManager.cs (revision 2580) +++ InventoryManager.cs (working copy) @@ -1153,6 +1153,56 @@ "inventory-lib-owner", "inventory-skel-lib"}); } + + + #region RezScript(To Run Script) + /// + /// To Run Script + /// + /// The item local ID (unit) + /// Inventory Item (class) + /// TransactionID(UUID) of this process + /// + + public UUID RezScript(uint objectLocalID, InventoryItem item) + { + UUID transactionID = UUID.Random(); + + RezScriptPacket ScriptPacket = new RezScriptPacket(); + ScriptPacket.AgentData.AgentID = _Client.Self.AgentID; + ScriptPacket.AgentData.SessionID = _Client.Self.SessionID; + + ScriptPacket.UpdateBlock.ObjectLocalID = objectLocalID; + + ScriptPacket.InventoryBlock.ItemID = item.UUID; + ScriptPacket.InventoryBlock.FolderID = item.ParentUUID; + ScriptPacket.InventoryBlock.CreatorID = item.CreatorID; + ScriptPacket.InventoryBlock.OwnerID = item.OwnerID; + ScriptPacket.InventoryBlock.GroupID = item.GroupID; + ScriptPacket.InventoryBlock.BaseMask = (uint)item.Permissions.BaseMask; + ScriptPacket.InventoryBlock.OwnerMask = (uint)item.Permissions.OwnerMask; + ScriptPacket.InventoryBlock.GroupMask = (uint)item.Permissions.GroupMask; + ScriptPacket.InventoryBlock.EveryoneMask = (uint)item.Permissions.EveryoneMask; + ScriptPacket.InventoryBlock.NextOwnerMask = (uint)item.Permissions.NextOwnerMask; + ScriptPacket.InventoryBlock.GroupOwned = item.GroupOwned; + ScriptPacket.InventoryBlock.TransactionID = transactionID; + ScriptPacket.InventoryBlock.Type = (sbyte)item.AssetType; + ScriptPacket.InventoryBlock.InvType = (sbyte)item.InventoryType; + ScriptPacket.InventoryBlock.Flags = (uint)item.Flags; + ScriptPacket.InventoryBlock.SaleType = (byte)item.SaleType; + ScriptPacket.InventoryBlock.SalePrice = item.SalePrice; + ScriptPacket.InventoryBlock.Name = Utils.StringToBytes(item.Name); + ScriptPacket.InventoryBlock.Description = Utils.StringToBytes(item.Description); + ScriptPacket.InventoryBlock.CreationDate = (int)Utils.DateTimeToUnixTime(item.CreationDate); + ScriptPacket.InventoryBlock.CRC = ItemCRC(item); + + _Client.Network.SendPacket(ScriptPacket); + + return transactionID; + } + + #endregion RezScript(To Run Script) + #region Fetch ///