コード例 #1
0
ファイル: PacketHandlers.cs プロジェクト: Skinny1001/PlayUO
 private static void Prompt_Unicode(PacketReader pvSrc)
 {
     int serial = pvSrc.ReadInt32();
     int prompt = pvSrc.ReadInt32();
     int num3 = pvSrc.ReadInt32();
     pvSrc.Seek(4, SeekOrigin.Current);
     string text = "";
     if (pvSrc.ReadInt16() != 0)
     {
         pvSrc.Trace();
         pvSrc.Seek(-2, SeekOrigin.Current);
         text = pvSrc.ReadUnicodeLEString();
     }
     Engine.Prompt = new UnicodePrompt(serial, prompt, text);
 }
コード例 #2
0
ファイル: PacketHandlers.cs プロジェクト: Skinny1001/PlayUO
        private static void Message_Localized(PacketReader pvSrc)
        {
            int serial = pvSrc.ReadInt32();
            int num2 = pvSrc.ReadInt16();
            byte type = pvSrc.ReadByte();
            IHue hue = Hues.Load(pvSrc.ReadInt16());
            IFont uniFont = Engine.GetUniFont(pvSrc.ReadInt16());
            int number = pvSrc.ReadInt32();
            string name = pvSrc.ReadString(30);
            string str2 = pvSrc.ReadUnicodeLEString();
            string input = Localization.GetString(number);
            switch (number)
            {
                case 0x7a1a6:
                    Engine.m_Meditating = false;
                    break;

                case 0x7a4b4:
                case 0x7a4e3:
                case 0x7a4e4:
                case 0x7a4e5:
                case 0x7a4e6:
                case 0x7a4e7:
                case 0x7a4e8:
                case 0x7a4e9:
                case 0x7add5:
                case 0x7add6:
                case 0x7adda:
                case 0x7addb:
                case 0xfe68a:
                case 0xfe68c:
                    GBandageTimer.Stop();
                    Engine.m_Healing = false;
                    break;

                case 0x7a4dc:
                case 0x7a4dd:
                case 0x7a4de:
                case 0x7a4df:
                case 0x7a4e0:
                    m_HealStart = DateTime.Now;
                    GBandageTimer.Start();
                    Engine.m_Healing = true;
                    break;

                case 0x7a856:
                case 0x7a85b:
                    Engine.m_Meditating = true;
                    break;

                case 0x7abc5:
                case 0x7abc6:
                case 0x7abc7:
                case 0x7abc8:
                case 0x7abc9:
                case 0x7abcb:
                    Engine.m_Stealth = false;
                    Engine.m_StealthSteps = 0;
                    break;

                case 0x7abca:
                    Engine.m_Stealth = true;
                    if (!Engine.Features.AOS)
                    {
                        Engine.m_StealthSteps = (int) (Engine.Skills[SkillName.Stealth].Value / 10f);
                        break;
                    }
                    Engine.m_StealthSteps = (int) (Engine.Skills[SkillName.Stealth].Value / 5f);
                    break;
            }
            if (str2.Length > 0)
            {
                string[] strArray = str2.Split(new char[] { '\t' });
                for (int i = 0; i < strArray.Length; i++)
                {
                    if ((strArray[i].Length > 1) && strArray[i].StartsWith("#"))
                    {
                        try
                        {
                            strArray[i] = Localization.GetString(Convert.ToInt32(strArray[i].Substring(1)));
                        }
                        catch
                        {
                        }
                    }
                }
                m_Args = strArray;
                input = m_ArgReplace.Replace(input, new MatchEvaluator(PacketHandlers.ArgReplace_Eval));
            }
            AddMessage(serial, uniFont, hue, type, name, input, number);
        }