예제 #1
0
        private void OnLogout(bool fake)
        {
            if (!fake)
            {
                PacketHandlers.Party.Clear();

                SetTitleStr("");
                Engine.MainWindow.UpdateTitle();
                UOAssist.PostLogout();
                m_ConnStart = DateTime.MinValue;
            }

            World.Player = null;
            World.Items.Clear();
            World.Mobiles.Clear();
            Macros.MacroManager.Stop();
            ActionQueue.Stop();
            Counter.Reset();
            GoldPerHourTimer.Stop();
            DamageTracker.Stop();
            BandageTimer.Stop();
            GateTimer.Stop();
            BuffsTimer.Stop();
            StealthSteps.Unhide();
            Engine.MainWindow.OnLogout();
            if (Engine.MainWindow.MapWindow != null)
            {
                Engine.MainWindow.MapWindow.Close();
            }
            PacketHandlers.Party.Clear();
            PacketHandlers.IgnoreGumps.Clear();
            Config.Save();

            //TranslateEnabled = false;
        }
예제 #2
0
        private void OnDisconnected()
        {
            PacketHandlers.Party.Clear();
            //TODO reset window title
            Engine.MainWindow.UpdateTitle();
            UOAssist.PostLogout();

            World.Player = null;
            World.Items.Clear();
            World.Mobiles.Clear();
            Macros.MacroManager.Stop();
            ActionQueue.Stop();
            Counter.Reset();
            GoldPerHourTimer.Stop();
            BandageTimer.Stop();
            GateTimer.Stop();
            BuffsTimer.Stop();
            StealthSteps.Unhide();
            Engine.MainWindow.OnLogout();
            if (Engine.MainWindow.MapWindow != null)
            {
                Engine.MainWindow.MapWindow.Close();
            }
            PacketHandlers.Party.Clear();
            PacketHandlers.IgnoreGumps.Clear();
            Config.Save();
        }
예제 #3
0
 private static void OnLogout(bool fake)
 {
     World.Player = null;
     World.Items.Clear();
     World.Mobiles.Clear();
     Macros.MacroManager.Stop();
     ActionQueue.Stop();
     StealthSteps.Unhide();
     Engine.MainWindow.OnLogout();
     if (Engine.MainWindow.MapWindow != null)
     {
         Engine.MainWindow.MapWindow.Close();
     }
     PacketHandlers.Party.Clear();
     PacketHandlers.IgnoreGumps.Clear();
     Config.Save();
 }
예제 #4
0
        public bool MoveAck(byte seq)
        {
            m_OutstandingMoves--;

            MoveEntry e;

            if (m_MoveInfo.TryGetValue(seq, out e) && e != null)
            {
                if (e.IsStep && !IsGhost)
                {
                    StealthSteps.OnMove();
                }

                return(!e.FilterAck);
            }
            else
            {
                return(true);
            }
        }
예제 #5
0
파일: Player.cs 프로젝트: uotools/razor-1
        public bool MoveAck(byte seq)
        {
            m_OutstandingMoves--;

            MoveEntry e = (MoveEntry)m_MoveInfo[seq];

            if (e != null)
            {
                if (e.IsStep && !IsGhost)
                {
                    StealthSteps.OnMove();
                }

                return(!e.FilterAck);
            }
            else
            {
                return(true);
            }
        }
예제 #6
0
        internal bool MoveAck(byte seq)
        {
            CheckCorpseOpen();

            m_OutstandingMoves--;

            MoveEntry e;

            m_MoveInfo.TryGetValue(seq, out e);
            if (e != null)
            {
                if (e.IsStep && !IsGhost)
                {
                    StealthSteps.OnMove();
                }

                return(!e.FilterAck);
            }
            else
            {
                return(true);
            }
        }
예제 #7
0
파일: Player.cs 프로젝트: dissident76/Razor
        public override void OnPositionChanging(Point3D oldPos)
        {
            if (!IsGhost)
            {
                StealthSteps.OnMove();
            }

            AutoOpenDoors(false);

            List <Mobile> mlist = new List <Mobile>(World.Mobiles.Values);

            for (int i = 0; i < mlist.Count; i++)
            {
                Mobile m = mlist[i];
                if (m != this)
                {
                    if (!Utility.InRange(m.Position, Position, VisRange))
                    {
                        m.Remove();
                    }
                    else
                    {
                        Targeting.CheckLastTargetRange(m);
                    }
                }
            }

            mlist = null;


            List <Item>    ilist = new List <Item>(World.Items.Values);
            ScavengerAgent s     = ScavengerAgent.Instance;

            for (int i = 0; i < ilist.Count; i++)
            {
                Item item = ilist[i];
                if (item.Deleted || item.Container != null)
                {
                    continue;
                }

                int dist = Utility.Distance(item.GetWorldPosition(), Position);
                if (item != DragDropManager.Holding && (dist > MultiVisRange || (!item.IsMulti && dist > VisRange)))
                {
                    item.Remove();
                }
                else if (!IsGhost && Visible && dist <= 2 && s.Enabled && item.Movable)
                {
                    s.Scavenge(item);
                }
            }

            ilist = null;

            if (Engine.MainWindow != null && Engine.MainWindow.MapWindow != null)
            {
                Engine.MainWindow.SafeAction(f => f.MapWindow.PlayerMoved());
            }

            base.OnPositionChanging(oldPos);
        }
예제 #8
0
        private void OnLogout(bool fake)
        {
            if (!fake)
            {
                PacketHandlers.Party.Clear();

                Engine.MainWindow.UpdateTitle();
                // Felix Fix
                //foreach (WndRegEnt t in m_WndReg)
                //	DLLImport.Win.PostMessage((IntPtr)((WndRegEnt)t).Handle, (uint)Assistant.UOAssist.UOAMessage.LOGOUT, IntPtr.Zero, IntPtr.Zero);
                m_ConnectionStart = DateTime.MinValue;
            }

            Assistant.Client.Instance.SetTitleStr("");             // Restore titlebar standard

            if (World.Player != null)
            {
                // Stop forzato di tutti i thread agent
                RazorEnhanced.AutoLoot.AutoMode    = false;
                RazorEnhanced.Scavenger.AutoMode   = false;
                RazorEnhanced.BandageHeal.AutoMode = false;

                if (RazorEnhanced.Scripts.Timer != null)
                {
                    RazorEnhanced.Scripts.Timer.Close();
                }

                if (Assistant.Engine.MainWindow.AutolootCheckBox.Checked == true)
                {
                    Assistant.Engine.MainWindow.AutolootCheckBox.Checked = false;
                }

                if (Assistant.Engine.MainWindow.BandageHealenableCheckBox.Checked == true)
                {
                    Assistant.Engine.MainWindow.BandageHealenableCheckBox.Checked = false;
                }

                if (Assistant.Engine.MainWindow.ScavengerCheckBox.Checked == true)
                {
                    Assistant.Engine.MainWindow.ScavengerCheckBox.Checked = false;
                }

                if (Assistant.Engine.MainWindow.OrganizerStop.Enabled == true)
                {
                    Assistant.Engine.MainWindow.OrganizerStop.PerformClick();
                }

                if (Assistant.Engine.MainWindow.DressStopButton.Enabled == true)
                {
                    Assistant.Engine.MainWindow.DressStopButton.PerformClick();
                }

                if (Assistant.Engine.MainWindow.RestockStop.Enabled == true)
                {
                    Assistant.Engine.MainWindow.RestockStop.PerformClick();
                }

                if (Assistant.Engine.MainWindow.SellCheckBox.Checked == true)
                {
                    Assistant.Engine.MainWindow.SellCheckBox.Checked = false;
                }

                if (Assistant.Engine.MainWindow.BuyCheckBox.Checked == true)
                {
                    Assistant.Engine.MainWindow.BuyCheckBox.Checked = false;
                }

                if (RazorEnhanced.ToolBar.ToolBarForm != null)
                {
                    RazorEnhanced.ToolBar.ToolBarForm.Close();
                }

                if (RazorEnhanced.SpellGrid.SpellGridForm != null)
                {
                    RazorEnhanced.SpellGrid.SpellGridForm.Close();
                }

                //Stop video recorder
                Assistant.MainForm.StopVideoRecorder();
            }

            PlayerData.ExternalZ   = false;
            World.Player           = null;
            PlayerData.FastWalkKey = 0;
            World.Items.Clear();
            World.Mobiles.Clear();
            ActionQueue.Stop();
            StealthSteps.Unhide();

            PacketHandlers.Party.Clear();
            PacketHandlers.IgnoreGumps.Clear();
        }