Ejemplo n.º 1
0
        //---------------------------------------------------------------------------------------------

        private void IngameConsoleOverride_AsciiSpeechBeforeOverride(object sender, EventArgs e)
        {
            AsciiSpeech packet   = (AsciiSpeech)sender;
            string      textSafe = packet.Text + String.Empty;

            bool hideRess = textSafe.Contains("Resurrect narusil celistvost tveho ukryti v stinech");

            if (hideRess && World.Player.Hidden)
            {
                if (TimerThread != null)
                {
                    TimerThread.Abort();
                }

                timerStop    = 35;
                timerCounter = 0;
                TimerThread  = new Thread(new ThreadStart(StartTimer));
                TimerThread.Start();
            }

            if (TimerThread != null)
            {
                if (textSafe.Contains("You have been revealed") || textSafe.Contains("You have hidden yourself well"))
                {
                    TimerThread.Abort();

                    int remain = timerStop - timerCounter;
                    if (remain > 1)
                    {
                        Game.PrintMessage(String.Format("Hid reset v {0}", timerStop - timerCounter));
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private static CallbackResult OnAsciiSpeech(byte[] data, CallbackResult prevResult)
        {
            AsciiSpeech packet = new AsciiSpeech(data);

            Print(new JournalEntry(DateTime.Now, packet.Serial, packet.Name, packet.Text, packet.Color, (SpeechType)packet.Type, (SpeechFont)packet.Font, JournalEntrySource.Server));
            return(CallbackResult.Normal);
        }
Ejemplo n.º 3
0
        CallbackResult onVoodoo(byte[] data, CallbackResult prev)//0x1C
        {
            AsciiSpeech ass = new AsciiSpeech(data);

            if (ass.Text.Contains("Nepovedlo se"))
            {
                done = VoodooState.Fail;
            }
            if (ass.Text.Contains("Cil podlehl "))
            {
                done = VoodooState.Success;
            }
            if (ass.Text.Contains("Jeste nelze pouzit."))
            {
                done = VoodooState.Redo;
            }
            if (ass.Text.Contains("prokleti voodoo seslano uspesne"))
            {
                done = VoodooState.Wait;
            }
            if (ass.Text.Contains("prokleti nenalezlo cil."))
            {
                done = VoodooState.NoTarget;
            }
            return(CallbackResult.Normal);
        }
Ejemplo n.º 4
0
        static CallbackResult OnAsciiSpeech(byte[] data, CallbackResult prevResult)
        {
            lock (World.SyncRoot) {
                AsciiSpeech packet = new AsciiSpeech(data);

                RealObject obj = World.FindRealObject(packet.Serial);
                if (obj == null)
                {
                    // System speech
                    return(CallbackResult.Normal);
                }

                if (obj.Name != packet.Name)
                {
                    obj.Name = packet.Name;
#if WORLDDEBUG
                    Trace.WriteLine(String.Format("Object name upadted: {0}", obj.Description), "World");
#endif

                    if (obj is RealItem)
                    {
                        itemUpdated.InvokeAsync(null, new ObjectChangedEventArgs(obj.Serial, ObjectChangeType.ItemUpdated));
                        ObjectChanged(obj.Serial, ObjectChangeType.ItemUpdated);
                    }
                    else
                    {
                        ObjectChanged(obj.Serial, ObjectChangeType.CharUpdated);
                    }
                }

                return(CallbackResult.Normal);
            }
        }
Ejemplo n.º 5
0
        public CallbackResult textFilter(byte[] data, CallbackResult prevResult)
        {
            AsciiSpeech speech = new AsciiSpeech(data);

            foreach (string s in TextFilterarr)
            {
                if (speech.Text.ToLowerInvariant().Contains(s))
                {
                    return(CallbackResult.Eat);
                }
            }
            return(CallbackResult.Normal);
        }
Ejemplo n.º 6
0
        CallbackResult OnCalls(byte[] data, CallbackResult prev)
        {
            AsciiSpeech speech = new AsciiSpeech(data);

            foreach (string s in ressurectionCalls)
            {
                if (speech.Text.ToLowerInvariant().Contains(s))
                {
                    ResDone = true;
                    return(CallbackResult.Normal);
                }
            }
            return(CallbackResult.Normal);
        }
Ejemplo n.º 7
0
        CallbackResult onHeal(byte[] data, CallbackResult prevResult)
        {
            AsciiSpeech packet = new AsciiSpeech(data);

            if (packet.Text.Contains(" byl uspesne osetren.") || packet.Text.Contains("Osetreni se ti nepovedlo."))
            {
                healed = true;
            }
            if (packet.Text.Contains(" neni zranen."))
            {
                healed = true;
                harmed = false;
            }
            return(CallbackResult.Normal);
        }
Ejemplo n.º 8
0
        public CallbackResult onExp(byte[] data, CallbackResult prevResult)
        {
            AsciiSpeech packet = new AsciiSpeech(data);

            if (packet.Text.Contains(" zkusenosti."))
            {
                //string[] numbers = Regex.Split(packet.Text, @"\D+");
                string number = Regex.Match(packet.Text, @"-?\d+").Value;
                if (!string.IsNullOrEmpty(number))
                {
                    Exp += int.Parse(number);
                }
            }
            return(CallbackResult.Normal);
        }
Ejemplo n.º 9
0
        static CallbackResult OnHitVete(byte[] data, CallbackResult prevResult)
        {
            AsciiSpeech packet = new AsciiSpeech(data);

            foreach (string s in onHitCalls)
            {
                if (packet.Text.Contains(s) && Veterinary.healed)
                {
                    Core.UnregisterServerMessageCallback(0x1C, OnHitVete);
                    UO.Say(",healpet");
                    Core.RegisterServerMessageCallback(0x1C, OnHitVete);
                    return(CallbackResult.Normal);
                }
            }
            return(CallbackResult.Normal);
        }
Ejemplo n.º 10
0
        static CallbackResult OnHitBand(byte[] data, CallbackResult prevResult)
        {
            AsciiSpeech packet = new AsciiSpeech(data);

            foreach (string s in onHitCalls)
            {
                if (packet.Text.Contains(s) && World.Player.Hits < World.Player.MaxHits - 10)
                {
                    Core.UnregisterServerMessageCallback(0x1C, OnHitBand);
                    UO.Say(",bandage");
                    Core.RegisterServerMessageCallback(0x1C, OnHitBand);
                    return(CallbackResult.Normal);
                }
            }
            return(CallbackResult.Normal);
        }
Ejemplo n.º 11
0
        CallbackResult OnCalls(byte[] data, CallbackResult prev)
        {
            AsciiSpeech speech = new AsciiSpeech(data);


            foreach (string s in musicDoneCalls)
            {
                if (speech.Text.ToLowerInvariant().Contains(s))
                {
                    MusicDone = true;
                    Core.UnregisterServerMessageCallback(0x1C, OnCalls);
                    return(CallbackResult.Normal);
                }
            }
            return(CallbackResult.Normal);
        }
Ejemplo n.º 12
0
        static CallbackResult OnParaCalls(byte[] data, CallbackResult prev)
        {
            AsciiSpeech speech = new AsciiSpeech(data);

            foreach (string s in onParaCalls)
            {
                if (speech.Text.ToLowerInvariant().Contains(s))
                {
                    if (OnParalyze != null)
                    {
                        OnParalyze.BeginInvoke(null, new EventArgs(), null, null);
                    }
                    return(CallbackResult.Normal);
                }
            }
            return(CallbackResult.Normal);
        }
Ejemplo n.º 13
0
        CallbackResult onWallSpeech(byte[] data, CallbackResult prevResult) // 0x1C
        {
            AsciiSpeech packet = new AsciiSpeech(data);

            if (packet.Text.Contains("Anna Tir Kemen"))
            {
                WallCall = DateTime.Now;
                new WallTimer((int)WallTime.Stone, packet.Name);
            }
            if (packet.Text.Contains("Anna Tir Esgal"))
            {
                WallCall = DateTime.Now;
                new WallTimer((int)WallTime.Energy, packet.Name);
            }

            return(CallbackResult.Normal);
        }
Ejemplo n.º 14
0
        public CallbackResult OnAsciiSpeech(byte[] data, CallbackResult prevState)
        {
            AsciiSpeech packet = new AsciiSpeech(data);

            if (AsciiSpeechBeforeOverride != null)
            {
                AsciiSpeechBeforeOverride(packet, new EventArgs());
            }

            ConsoleOverrideItem item = GetOverrideItem(packet);

            if (item != null)
            {
                item.Print();
                return(item.CallbackResult);
            }

            return(CallbackResult.Normal);
        }
Ejemplo n.º 15
0
        //---------------------------------------------------------------------------------------------

        protected ConsoleOverrideItem GetOverrideItem(AsciiSpeech packet)
        {
            XmlDocument doc = CalebConfig.GlobalDocument;

            if (doc != null)
            {
                XmlElement items = doc.DocumentElement.SelectSingleNode("IngameConsoleOverride/Items") as XmlElement;
                if (items != null && items != null)
                {
                    foreach (XmlNode node in items.ChildNodes)
                    {
                        XmlElement item = node as XmlElement;
                        if (item == null)
                        {
                            continue;
                        }

                        ConsoleOverrideItem oItem = new ConsoleOverrideItem();

                        string attrValue = item.GetAttribute("CompareType");
                        if (!String.IsNullOrEmpty(attrValue))
                        {
                            oItem.CompareType = attrValue;
                        }

                        attrValue = item.GetAttribute("PrintType");
                        if (!String.IsNullOrEmpty(attrValue))
                        {
                            oItem.PrintType = attrValue;
                        }

                        attrValue = item.GetAttribute("CallbackResult");
                        if (!String.IsNullOrEmpty(attrValue))
                        {
                            try { oItem.CallbackResult = (CallbackResult)Enum.Parse(typeof(CallbackResult), attrValue); }
                            catch { }
                        }

                        attrValue = item.GetAttribute("PrintColor");
                        if (!String.IsNullOrEmpty(attrValue))
                        {
                            if (attrValue.StartsWith("Color_"))
                            {
                                oItem.PrintColor = CalebConfig.GetUOColorOrDefault(attrValue, oItem.PrintColor);
                            }
                            else
                            {
                                try { oItem.PrintColor = UOColor.Parse(attrValue); }
                                catch { }
                            }
                        }

                        attrValue = item.GetAttribute("IgnoreCase");
                        if (!String.IsNullOrEmpty(attrValue))
                        {
                            try { oItem.IgnoreCase = Boolean.Parse(attrValue); }
                            catch { }
                        }

                        attrValue = item.GetAttribute("Active");
                        if (!String.IsNullOrEmpty(attrValue))
                        {
                            try { oItem.Active = Boolean.Parse(attrValue); }
                            catch { }
                        }

                        oItem.Text      = item.GetAttribute("Text");
                        oItem.AlterText = item.GetAttribute("AlterText");

                        string itemText    = oItem.Text + String.Empty;
                        string compareText = packet.Text + String.Empty;

                        if (oItem.IgnoreCase)
                        {
                            itemText    = itemText.ToLower();
                            compareText = compareText.ToLower();
                        }

                        bool success = false;
                        if (oItem.CompareType == "Equal")
                        {
                            success = itemText == compareText;
                        }
                        else if (oItem.CompareType == "Contains")
                        {
                            success = compareText.Contains(itemText);
                        }
                        else if (oItem.CompareType == "StartsWith")
                        {
                            success = compareText.StartsWith(itemText);
                        }
                        else if (oItem.CompareType == "EndsWith")
                        {
                            success = compareText.EndsWith(itemText);
                        }

                        if (success && oItem.Active)
                        {
                            return(oItem);
                        }
                    }
                }
                else if (Game.Debug)
                {
                    Notepad.WriteLine("GetOverrideItem !/IngameConsoleOverride/Items");
                }
            }


            return(null);
        }