DarkEmu_GameServer.Systems.HandleReverse C# (CSharp) Метод

HandleReverse() приватный Метод

private HandleReverse ( int itemid, byte select, int objectlocationid ) : void
itemid int
select byte
objectlocationid int
Результат void
        void HandleReverse(int itemid ,byte select, int objectlocationid)
        {
            try
            {
                //Remove loc // add loc to case 7
                if (Character.Position.Walking) StopMovementTimer();
                if (Character.Action.PickUping) return;
                if (Character.Stall.Stallactive) return;
                Character.Information.Scroll = true;
                StopTimers();
                switch (select)
                {
                    //Move to return point
                    case 2:
                        Send(Packet.StatePack(Character.Information.UniqueID, 0x0B, 0x01, false));
                        StartScrollTimer(1000);
                        SavePlayerReturn();
                        break;
                    //Move to last recall point
                    case 3:
                        MsSQL ms = new MsSQL("SELECT * FROM character_rev WHERE charname='" + Character.Information.Name + "'");
                        using (SqlDataReader reader = ms.Read())
                        {
                            while (reader.Read())
                            {
                                byte xSec = reader.GetByte(2);
                                byte ySec = reader.GetByte(3);
                                float x = reader.GetInt32(4);
                                float z = reader.GetInt32(6);
                                float y = reader.GetInt32(5);

                                BuffAllClose();
                                DeSpawnMe();
                                ObjectDeSpawnCheck();
                                client.Send(Packet.TeleportOtherStart());
                                //Set state
                                this.Character.InGame = false;
                                Character.Position.xSec = xSec;
                                Character.Position.ySec = ySec;
                                Character.Position.x = x;
                                Character.Position.z = z;
                                Character.Position.y = y;

                                client.Send(Packet.TeleportImage(xSec, ySec));
                                Character.Teleport = true;
                                Timer.Scroll = null;
                                Character.Information.Scroll = false;
                            }
                        }
                        ms.Close();
                        break;
                    //Teleport to map location
                    case 7:
                        BuffAllClose();
                        ObjectDeSpawnCheck();
                        DeSpawnMe();

                        client.Send(Packet.TeleportOtherStart());

                        Character.Position.xSec = Data.ReverseData[objectlocationid].xSec;
                        Character.Position.ySec = Data.ReverseData[objectlocationid].ySec;
                        Character.Position.x = (float)Data.ReverseData[objectlocationid].x;
                        Character.Position.z = (float)Data.ReverseData[objectlocationid].z;
                        Character.Position.y = (float)Data.ReverseData[objectlocationid].y;
                        //Set state
                        this.Character.InGame = false;

                        client.Send(Packet.TeleportImage(Data.ReverseData[objectlocationid].xSec, Data.ReverseData[objectlocationid].ySec));
                        Character.Teleport = true;
                        Timer.Scroll = null;
                        Character.Information.Scroll = false;
                        break;
                }
            }

            catch (Exception ex)
            {
                Systems.Debugger.Write(ex);
            }
        }
Systems