Example #1
0
        void RequestObjectPropertiesFamilyHandler(Packet packet, Agent agent)
        {
            RequestObjectPropertiesFamilyPacket request = (RequestObjectPropertiesFamilyPacket)packet;
            ReportType type = (ReportType)request.ObjectData.RequestFlags;

            SimulationObject obj;

            if (server.Scene.TryGetObject(request.ObjectData.ObjectID, out obj))
            {
                ObjectPropertiesFamilyPacket props = new ObjectPropertiesFamilyPacket();
                props.ObjectData.BaseMask      = (uint)obj.Prim.Properties.Permissions.BaseMask;
                props.ObjectData.Category      = (uint)obj.Prim.Properties.Category;
                props.ObjectData.Description   = Utils.StringToBytes(obj.Prim.Properties.Description);
                props.ObjectData.EveryoneMask  = (uint)obj.Prim.Properties.Permissions.EveryoneMask;
                props.ObjectData.GroupID       = obj.Prim.Properties.GroupID;
                props.ObjectData.GroupMask     = (uint)obj.Prim.Properties.Permissions.GroupMask;
                props.ObjectData.LastOwnerID   = obj.Prim.Properties.LastOwnerID;
                props.ObjectData.Name          = Utils.StringToBytes(obj.Prim.Properties.Name);
                props.ObjectData.NextOwnerMask = (uint)obj.Prim.Properties.Permissions.NextOwnerMask;
                props.ObjectData.ObjectID      = obj.Prim.ID;
                props.ObjectData.OwnerID       = obj.Prim.Properties.OwnerID;
                props.ObjectData.OwnerMask     = (uint)obj.Prim.Properties.Permissions.OwnerMask;
                props.ObjectData.OwnershipCost = obj.Prim.Properties.OwnershipCost;
                props.ObjectData.RequestFlags  = (uint)type;
                props.ObjectData.SalePrice     = obj.Prim.Properties.SalePrice;
                props.ObjectData.SaleType      = (byte)obj.Prim.Properties.SaleType;

                server.UDP.SendPacket(agent.AgentID, props, PacketCategory.Transaction);
            }
            else
            {
                Logger.Log("RequestObjectPropertiesFamily sent for unknown object " +
                           request.ObjectData.ObjectID.ToString(), Helpers.LogLevel.Warning);
            }
        }
Example #2
0
        // Processes object properties family packets
        private Packet ProcessObjectPropertiesFamily(Packet packet, IPEndPoint endpoint)
        {
            ObjectPropertiesFamilyPacket properties = (ObjectPropertiesFamilyPacket)packet;

            ObjectPropertiesFamilyPacket.ObjectDataBlock block = properties.ObjectData;
            uint localid = 0;

            if (AvatarUUIDtoID.TryGetValue(block.ObjectID, out localid))
            {
                SayToUser(string.Format("{0}: {1}", block.ObjectID, Utils.BytesToString(block.Name)));
                SetSelectedAvatar(Utils.BytesToString(block.Name));
            }
            return(packet);
        }
Example #3
0
        private void SendPropertiesPacket(LLAgent agent, LLPrimitive prim, ReportType type)
        {
            ObjectPropertiesFamilyPacket props = new ObjectPropertiesFamilyPacket();
            props.ObjectData.BaseMask = (uint)prim.Prim.Properties.Permissions.BaseMask;
            props.ObjectData.Category = (uint)prim.Prim.Properties.Category;
            props.ObjectData.Description = Utils.StringToBytes(prim.Prim.Properties.Description);
            props.ObjectData.EveryoneMask = (uint)prim.Prim.Properties.Permissions.EveryoneMask;
            props.ObjectData.GroupID = prim.Prim.Properties.GroupID;
            props.ObjectData.GroupMask = (uint)prim.Prim.Properties.Permissions.GroupMask;
            props.ObjectData.LastOwnerID = prim.Prim.Properties.LastOwnerID;
            props.ObjectData.Name = Utils.StringToBytes(prim.Prim.Properties.Name);
            props.ObjectData.NextOwnerMask = (uint)prim.Prim.Properties.Permissions.NextOwnerMask;
            props.ObjectData.ObjectID = prim.Prim.ID;
            props.ObjectData.OwnerID = prim.Prim.Properties.OwnerID;
            props.ObjectData.OwnerMask = (uint)prim.Prim.Properties.Permissions.OwnerMask;
            props.ObjectData.OwnershipCost = prim.Prim.Properties.OwnershipCost;
            props.ObjectData.RequestFlags = (uint)type;
            props.ObjectData.SalePrice = prim.Prim.Properties.SalePrice;
            props.ObjectData.SaleType = (byte)prim.Prim.Properties.SaleType;

            m_udp.SendPacket(agent, props, ThrottleCategory.Task, false);
        }