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);
}
}
}
}