Example #1
0
 protected virtual void OnScriptQuestionReceived(OpenMetaverse.ScriptQuestionEventArgs e)
 {
     if (ScriptQuestionReceived != null)
     {
         ScriptQuestionReceived(this, e);
     }
 }
        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);
                }
                );
        }
Example #3
0
 private void Self_OnDialogQuestion(object sender, OpenMetaverse.ScriptQuestionEventArgs ea)
 {
     try
     {
         if (netcomSync != null)
         {
             netcomSync.BeginInvoke(new OnScriptQuestionRaise(OnScriptQuestionReceived), new object[] { ea });
         }
         else
         {
             OnScriptQuestionReceived(ea);
         }
     }
     catch
     {
         ;
     }
 }
Example #4
0
 /// <summary>Raises the ScriptQuestion event</summary>
 /// <param name="e">A ScriptQuestionEventArgs object containing the
 /// data returned from the data server</param>
 protected virtual void OnScriptQuestion(ScriptQuestionEventArgs e)
 {
     EventHandler<ScriptQuestionEventArgs> handler = m_ScriptQuestion;
     if (handler != null)
         handler(this, e);
 }
Example #5
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;

            instance.MainForm.AddNotification(new ntfPermissions(instance, e.Simulator, e.TaskID, e.ItemID, e.ObjectName, e.ObjectOwnerName, e.Questions));
        }
Example #6
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));
            }
        }
 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();
 }
 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;
 }
Example #9
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);
 }
    void Self_ScriptQuestion(object sender, ScriptQuestionEventArgs e)
    {
        string message;

        switch(e.Questions)
        {
        case ScriptPermission.Attach:
            message="Attach to you";
            break;
        case ScriptPermission.ChangeJoints:
            message="Change joints";
            break;
        case ScriptPermission.ChangeLinks:
            message="Change links";
            break;
        case ScriptPermission.ChangePermissions:
            message="<b>Change permissions<b>";
            break;
        case ScriptPermission.ControlCamera:
            message="Control your camera";
            break;
        case ScriptPermission.Debit:
            message="<b>BE ABLE TO TAKE YOUR MONEY<\b>";
            break;
        case ScriptPermission.ReleaseOwnership:
            message="Release ownership";
            break;
        case ScriptPermission.RemapControls:
            message="Remap controls";
            break;
        case ScriptPermission.TakeControls:
            message="Take controls";
            break;
        case ScriptPermission.TrackCamera:
            message="Track camera";
            break;
        case ScriptPermission.TriggerAnimation:
            message="Trigger animations";
            break;
        default:
            message="I HAVE NO IDEA";
            return;
        }

        Gtk.Application.Invoke(delegate {
            string msg;
            msg="The object : "+e.ObjectName+"Owner by :"+e.ObjectOwnerName+"Would like to \n"+message+"\n Would you like to allow this?";
            MessageDialog md= new Gtk.MessageDialog(this,DialogFlags.DestroyWithParent,MessageType.Question,ButtonsType.YesNo,true,msg);
            md.Response += delegate(object o, ResponseArgs args)
            {
                if (args.ResponseId == ResponseType.Yes)
                {
                    MainClass.client.Self.ScriptQuestionReply(e.Simulator, e.ItemID, e.TaskID, e.Questions);
                }
                else
                {
                    MainClass.client.Self.ScriptQuestionReply(e.Simulator, e.ItemID, e.TaskID, ScriptPermission.None);
                }
                md.Destroy();
            };

            md.ShowAll();
        });
    }
Example #11
0
 public virtual void Self_OnScriptQuestion(object sender, ScriptQuestionEventArgs e) { OnEvent("On-Script-Question", paramNamesOnScriptQuestion, paramTypesOnScriptQuestion,e); }
Example #12
0
        private void netcom_ScriptQuestionReceived(object sender, ScriptQuestionEventArgs e)
        {
            if (instance.IsObjectMuted(e.ItemID, e.ObjectName))
                return;

            if (scriptbuffer.RingBuffer(instance))
            {
                ChatBufferItem dalert = new ChatBufferItem(
                DateTime.Now, "Too many script dialogues are coming in too quickly. Flood Protection is in operation for your security...", ChatBufferTextStyle.Alert);

                ProcessBufferItem(dalert, true);

                return;
            }

            //e.ObjectName.ToString();
            //e.ObjectOwner.ToString();
            //e.Questions.ToString();

            ScriptPermission sperm = ScriptPermission.None;
            string smsg = string.Empty;

            switch (e.Questions)
            {
                case ScriptPermission.Attach:
                    sperm = ScriptPermission.Attach;
                    smsg = "Wants permission to ATTACH.";
                    break;

                case ScriptPermission.Debit:
                    sperm = ScriptPermission.Debit;
                    smsg = "Wants permission to DEBIT.";
                    break;

                case ScriptPermission.TakeControls:
                    sperm = ScriptPermission.TakeControls;
                    smsg = "Wants permission to TAKE CONTROLS.";
                    break;

                case ScriptPermission.TriggerAnimation:
                    sperm = ScriptPermission.TriggerAnimation;
                    smsg = "Wants permission to TRIGGER ANIMATION.";
                    break;

                case ScriptPermission.Teleport:
                    sperm = ScriptPermission.Teleport;
                    smsg = "Wants permission to TELEPORT.";
                    break;
            }

            //DialogResult sret = MessageBox.Show(e.ObjectName.ToString(CultureInfo.CurrentCulture) + " owned by " + e.ObjectOwnerName + ":\n\n" + smsg, "Script permission...", MessageBoxButtons.OKCancel);
            DialogResult sret = MessageBoxEx.Show(e.ObjectName.ToString(CultureInfo.CurrentCulture) + "\nowned by " + e.ObjectOwnerName + ":\n\n" + smsg, "Script permission...", MessageBoxButtons.OKCancel, 15000);

            if (sret == DialogResult.OK)
            {
                // Grant permission
                client.Self.ScriptQuestionReply(client.Network.CurrentSim, e.ItemID, e.TaskID, sperm);
            }
            else
            {
                client.Self.ScriptQuestionReply(client.Network.CurrentSim, e.ItemID, e.TaskID, ScriptPermission.None);
            }
        }