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

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

private GM_RECALLUSER ( string name ) : void
name string
Результат void
        void GM_RECALLUSER(string name)
        {
            lock (Systems.clients)
            {
                foreach (Systems sys in Systems.clients)
                {
                    try
                    {
                        if (sys.Character.Information.Name == name && sys.Character.InGame)
                        {
                            if (sys.Timer.Movement != null) sys.Timer.Movement.Dispose();

                            sys.BuffAllClose();
                            sys.DeSpawnMe();
                            sys.ObjectDeSpawnCheck();
                            sys.client.Send(Packet.TeleportOtherStart());

                            sys.Character.Position.xSec = Character.Position.xSec;
                            sys.Character.Position.ySec = Character.Position.ySec;
                            sys.Character.Position.x = Character.Position.x;
                            sys.Character.Position.z = Character.Position.z;
                            sys.Character.Position.y = Character.Position.y;

                            sys.client.Send(Packet.TeleportImage(Character.Position.xSec, Character.Position.xSec));
                            sys.Character.InGame = false;
                            sys.Character.Teleport = true;
                            break;
                        }
                        else if (name == "testpacket")
                        {
                            slotItem item = GetItem((uint)Character.Information.CharacterID, 13, 0);

                            // add blue
                            Data.ItemBlue[item.dbID].blue.Add(11);
                            Data.ItemBlue[item.dbID].blueamount.Add(2);
                            Data.ItemBlue[item.dbID].totalblue++;

                            client.Send(Packet.AlchemyStoneResponse(true, item));
                        }
                        else if (name == "all")
                        {
                            foreach (Systems all in Systems.clients)
                            {
                                if (all.Character.Information.Name != Character.Information.Name)
                                {
                                    if (all.Timer.Movement != null) all.Timer.Movement.Dispose();

                                    //Close buffs
                                    all.BuffAllClose();
                                    //Send teleport packet #1
                                    all.client.Send(Packet.TeleportStart());
                                    //Despawn objects
                                    all.ObjectDeSpawnCheck();
                                    //Despawn player to other players
                                    all.DeSpawnMe();
                                    //Set state
                                    all.Character.InGame = false;
                                    //Update location
                                    all.Character.Position.xSec = Character.Position.xSec;
                                    all.Character.Position.ySec = Character.Position.ySec;
                                    all.Character.Position.x = Character.Position.x;
                                    all.Character.Position.z = Character.Position.z;
                                    all.Character.Position.y = Character.Position.y;
                                    //Required
                                    all.client.Send(Packet.TeleportStart2());
                                    //Send loading screen image
                                    if (all.Character.Position.xSec != Character.Position.xSec)
                                        all.client.Send(Packet.TeleportImage(Data.PointBase[Convert.ToByte(Character.Position.xSec)].xSec, Data.PointBase[Convert.ToByte(Character.Position.ySec)].ySec));
                                    //Set bool
                                    all.Character.Teleport = true;
                                }
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        Systems.Debugger.Write(ex);
                    }
                }
            }
        }
Systems