Ejemplo n.º 1
0
 private static void StopSound(SceneObjectPart m_host)
 {
     m_host.Sound      = UUID.Zero;
     m_host.SoundFlags = (byte)SoundFlags.STOP;
     m_host.SoundGain  = 0;
     m_host.ScheduleFullUpdate();
     m_host.SendFullUpdateToAllClients();
 }
Ejemplo n.º 2
0
        public void osSetInventoryDesc(UUID hostID, UUID scriptID, String name, String newDesc)
        {
            SceneObjectPart   part = base.World.GetSceneObjectPart(hostID);
            TaskInventoryItem item = part.Inventory.GetInventoryItems().Find(x => x.Name.Equals(name));

            if (item == null)
            {
                return;
            }

            item.Description = newDesc;
            part.Inventory.AddInventoryItemExclusive(item, false);
            part.SendFullUpdateToAllClients();
        }
Ejemplo n.º 3
0
 private static void StopSound(SceneObjectPart m_host)
 {
     m_host.AdjustSoundGain(0);
     // Xantor 20080528: Clear prim data of sound instead
     if (m_host.ParentGroup.LoopSoundSlavePrims.Contains(m_host))
     {
         if (m_host.ParentGroup.LoopSoundMasterPrim == m_host)
         {
             foreach (SceneObjectPart part in m_host.ParentGroup.LoopSoundSlavePrims)
             {
                 part.Sound       = UUID.Zero;
                 part.SoundFlags  = 1 << 5;
                 part.SoundRadius = 0;
                 part.ScheduleFullUpdate();
                 part.SendFullUpdateToAllClients();
             }
             m_host.ParentGroup.LoopSoundMasterPrim = null;
             m_host.ParentGroup.LoopSoundSlavePrims.Clear();
         }
         else
         {
             m_host.Sound       = UUID.Zero;
             m_host.SoundFlags  = 1 << 5;
             m_host.SoundRadius = 0;
             m_host.ScheduleFullUpdate();
             m_host.SendFullUpdateToAllClients();
         }
     }
     else
     {
         m_host.Sound       = UUID.Zero;
         m_host.SoundFlags  = 1 << 5;
         m_host.SoundRadius = 0;
         m_host.ScheduleFullUpdate();
         m_host.SendFullUpdateToAllClients();
     }
 }
Ejemplo n.º 4
0
        public int osSaveBitmap(UUID hostID, UUID scriptID, String bitmapID, String name)
        {
            SceneObjectPart part = base.World.GetSceneObjectPart(hostID);

            if (UUID.TryParse(bitmapID, out UUID imageID))
            {
                if (m_bitmaps.TryGetValue(imageID, out Bitmap image))
                {
                    byte[] imageArray = OpenMetaverse.Imaging.OpenJPEG.EncodeFromImage(image, true);

                    AssetBase asset = new AssetBase();
                    asset.CreatorID = part.OwnerID.ToString();
                    asset.FullID    = UUID.Random();

                    asset.Name        = "Image from LSLBitmap Module.";
                    asset.Description = "https://github.com/Sahrea/Chris.OS.Additions";
                    asset.Temporary   = false;
                    asset.Type        = (int)AssetType.Texture;
                    asset.Data        = imageArray;
                    String assetID = base.World.AssetService.Store(asset);

                    if (assetID == String.Empty)
                    {
                        return(0);
                    }

                    TaskInventoryItem item = new TaskInventoryItem();
                    item.Name        = name;
                    item.AssetID     = UUID.Parse(assetID);
                    item.OwnerID     = part.OwnerID;
                    item.CreatorID   = part.OwnerID;
                    item.LastOwnerID = part.OwnerID;

                    item.Type                = 0;
                    item.PermsMask           = 581639;
                    item.NextPermissions     = 581639;
                    item.CurrentPermissions  = 581639;
                    item.EveryonePermissions = 581639;

                    part.Inventory.AddInventoryItemExclusive(item, false);
                    part.SendFullUpdateToAllClients();

                    return(1);
                }
            }

            return(0);
        }
Ejemplo n.º 5
0
        private void growTrees()
        {
            foreach (UUID tree in m_trees)
            {
                if (m_scene.Entities.ContainsKey(tree))
                {
                    SceneObjectPart s_tree = ((SceneObjectGroup)m_scene.Entities[tree]).RootPart;

                    // 100 seconds to grow 1m
                    s_tree.Scale += new Vector3(0.1f, 0.1f, 0.1f);
                    s_tree.SendFullUpdateToAllClients();
                    //s_tree.ScheduleTerseUpdate();
                }
                else
                {
                    m_trees.Remove(tree);
                }
            }
        }