Beispiel #1
0
        void Self_ScriptQuestion(object sender, ScriptQuestionEventArgs e)
        {
            // Is this object muted
            if (null != client.Self.MuteList.Find(m => (m.Type == MuteType.Object && m.ID == e.TaskID) || // muted object by id
                                                  (m.Type == MuteType.ByName && m.Name == e.ObjectName) // object muted by name
                                                  ))
            {
                return;
            }

            if (instance.GlobalSettings["on_script_question"] == "Auto Decline" ||
                instance.RLV.RestictionActive("denypermission"))
            {
                instance.Client.Self.ScriptQuestionReply(e.Simulator, e.ItemID, e.TaskID, 0);
            }
            else if (instance.GlobalSettings["on_script_question"] == "Auto Accept" ||
                     instance.RLV.RestictionActive("acceptpermission"))
            {
                instance.Client.Self.ScriptQuestionReply(e.Simulator, e.ItemID, e.TaskID, e.Questions);
            }
            else
            {
                instance.MainForm.AddNotification(new ntfPermissions(instance, e.Simulator, e.TaskID, e.ItemID, e.ObjectName, e.ObjectOwnerName, e.Questions));
            }
        }
Beispiel #2
0
 protected override void PermissionsHandler(object sender, ScriptQuestionEventArgs e)
 {
     if (e.ObjectOwnerName == Client.Self.Name)
     {
         Client.Self.ScriptQuestionReply(Client.Network.CurrentSim, e.ItemID, e.TaskID, e.Questions);
     }
     else if (accept_animation_request_from_users.Contains(e.ObjectOwnerName) == true)
     {
         Client.Self.ScriptQuestionReply(Client.Network.CurrentSim, e.ItemID, e.TaskID, ScriptPermission.TriggerAnimation);
     }
     else if ((e.ObjectOwnerName == myconfig.Security_MasterUsername) && (myconfig.Security_MasterUsername != ""))
     {
         Client.Self.ScriptQuestionReply(Client.Network.CurrentSim, e.ItemID, e.TaskID, e.Questions);
     }
     else if (Client.Self.SittingOn > 0)
     {
         if (Client.Network.CurrentSim.ObjectsPrimitives.ContainsKey(Client.Self.SittingOn))
         {
             Primitive obj = GetClient.Network.CurrentSim.ObjectsPrimitives[Client.Self.SittingOn];
             if (obj.ID == e.ItemID)
             {
                 Client.Self.ScriptQuestionReply(Client.Network.CurrentSim, e.ItemID, e.TaskID, ScriptPermission.TriggerAnimation);
             }
         }
     }
     else
     {
         Client.Self.ScriptQuestionReply(Client.Network.CurrentSim, e.ItemID, e.TaskID, ScriptPermission.None);
     }
 }
        public override void Self_OnScriptQuestion(object sender, ScriptQuestionEventArgs e)
        {
            UUID taskID      = e.TaskID;
            UUID itemID      = e.ItemID;
            var  objectName  = e.ObjectName;
            var  objectOwner = e.ObjectOwnerName;
            var  simulator   = e.Simulator;
            var  questions   = e.Questions;

            EventQueue.Enqueue(
                () =>
            {
                /*
                 *  TaskID: 552f9165-0dd8-9124-f9bb-20fa3cb18382
                 *  ItemID: 8fe015cb-bf46-5e1c-8975-f2cbca4762d9
                 *  Questions: 16
                 *  ObjectName: DanceBall
                 *  ObjectOwner: Serena Vale
                 */

                client.SendPersonalEvent(SimEventType.SCRIPT, "On-Script-Question", simulator, taskID, itemID, objectName, objectOwner,
                                         questions);

                /*
                 *   TaskID: 552f9165-0dd8-9124-f9bb-20fa3cb18382
                 *   ItemID: 8fe015cb-bf46-5e1c-8975-f2cbca4762d9
                 *   Questions: 16
                 */
                if (AcceptOffersAnimationsObjects)
                {
                    client.Self.ScriptQuestionReply(simulator, itemID, taskID, questions);
                }
            }
                );
        }
Beispiel #4
0
        protected virtual void TriggerAnimation(ScriptQuestionEventArgs e)
        {
            bool accept_invite;

            if (Is_avatar_master(e.ObjectOwnerName) == true)
            {
                accept_invite = true;
            }
            else if (e.ObjectOwnerName == Client.Self.Name)
            {
                accept_invite = true;
            }
            else if (IsSittingOnUUID(e.ItemID) == true)
            {
                accept_invite = true;
            }
            else
            {
                accept_invite = Accept_action_from("animation", e.ItemID);
                if (accept_invite == true)
                {
                    Remove_action_from("animation", e.ItemID);
                }
            }
            if (accept_invite == true)
            {
                Client.Self.ScriptQuestionReply(Client.Network.CurrentSim, e.ItemID, e.TaskID, ScriptPermission.TriggerAnimation);
            }
        }
 public PermissionRequest(ScriptQuestionEventArgs q)
 {
     objID    = q.ItemID;
     scrID    = q.TaskID;
     scr_uuid = q.ItemID.ToString();
     obj_uuid = q.TaskID.ToString();
     obj_name = q.ObjectName;
     perms    = (int)q.Questions;
     regionID = q.Simulator.RegionID;
 }
Beispiel #6
0
        public void Self_ScriptQuestion(object sender, ScriptQuestionEventArgs e)
        {
            Hashtable item = new Hashtable();

            item.Add("MessageType", "ScriptPermissionRequest");
            item.Add("TaskID", e.TaskID);
            item.Add("ItemID", e.ItemID);
            item.Add("ObjectName", e.ObjectName);
            item.Add("ObjectOwner", e.ObjectOwnerName);
            item.Add("Permissions", (int)e.Questions);
            enqueue(item);
        }
 private void _Self_Permission_Request(object sender, ScriptQuestionEventArgs e)
 {
     if (permissionRequests.ContainsKey(e.ItemID.ToString()))
     {
         permissionRequests[e.ItemID.ToString()] = new PermissionRequest(e);
     }
     else
     {
         permissionRequests.Add(e.ItemID.ToString(), new PermissionRequest(e));
     }
     httpCallback(CallBackEvent.permissions, e.ItemID.ToString(), permissionRequests[e.ItemID.ToString()]);
     permission_requests = permissionRequests.Count;
     //riptPermission.
     //Client.Self.ScriptQuestionReply();
 }
Beispiel #8
0
 protected override void PermissionsHandler(object sender, ScriptQuestionEventArgs e)
 {
     if (e.Questions == ScriptPermission.TriggerAnimation)
     {
         TriggerAnimation(e);
     }
     else
     {
         if (e.ObjectOwnerName == Client.Self.Name)
         {
             Client.Self.ScriptQuestionReply(Client.Network.CurrentSim, e.ItemID, e.TaskID, e.Questions);
         }
         else
         {
             Client.Self.ScriptQuestionReply(Client.Network.CurrentSim, e.ItemID, e.TaskID, ScriptPermission.None);
         }
     }
 }
Beispiel #9
0
 protected virtual void PermissionsHandler(object sender, ScriptQuestionEventArgs e)
 {
     ConsoleLog.Debug("PermissionsHandler proc not overridden");
 }