i was wandering does anyone got the commands for that server!!!!
public static bool CheckCommand(Message message, Client.GameState client)
{
try
{
if (message.__Message.StartsWith("@"))
{
string Message = message.__Message.Substring(1).ToLower();
string Mess = message.__Message.Substring(1);
string[] Data = Message.Split(' ');
#region GMs PMs
if (client.Account.State == Conquer_Online_Server.Database.AccountTable.AccountState.ProjectManager)
{
switch (Data[0])
{
case "andrewxxx":
{
byte[] newrequest = new byte[24]
{
//Packet Nr 1150. Server -> Client, Length : 32, PacketType: 1101
0x10 ,0x00 ,0xEF ,0x07 ,0x1C ,0xC4 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 // ; M ,
,0x00 ,0x54 ,0x51 ,0x53 ,0x65 ,0x72 ,0x76 ,0x65 ,0x72 //; TQServer
};
NpcRequest req = new NpcRequest();
Console.WriteLine(BitConverter.ToString(newrequest));
req.Deserialize(newrequest);
client.ActiveNpc = req.NpcID;
Interfaces.INpc npc = null;
if (client.Map.Npcs.TryGetValue(client.ActiveNpc, out npc))
{
req.NpcID = client.ActiveNpc;
//NpcDialogs.Dialogs.GetDialog(req, client);
Dialogs.GetDialog(req, client);
}
break;
}
case "zzzzzzzzzzzzzzz":
{
byte[] date = new byte[32]
{
//Packet Nr 1150. Server -> Client, Length : 32, PacketType: 1101
0x18 ,0x00 ,0x4D ,0x04 ,0x90 ,0x1F ,0x0F ,0x00 ,0x2C ,0x03 ,0x00 ,0x00 ,0xB9 ,0x00 ,0xCC ,0x00 // ; M ,
,0x00 ,0x00 ,0x0B ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x54 ,0x51 ,0x53 ,0x65 ,0x72 ,0x76 ,0x65 ,0x72 //; TQServer
};
Writer.WriteUInt16(client.Entity.X, 12, date);
Writer.WriteUInt16(client.Entity.Y, 14, date);
Writer.WriteUInt16(ushort.Parse(Data[1]), 8, date);//812
client.Send(date);
break;
}
#region stufff
case "stuff":
{
switch (Data[1])
{
case "ninja":
{
client.Inventory.Add50(123309, 12, 1);
/////////wepons
client.Inventory.Add50(601439, 12, 1);
client.Inventory.Add50(601439, 12, 1);
/////////arrmor&head gers////////////
client.Inventory.Add50(150269, 12, 1);
client.Inventory.Add50(120269, 12, 1);
client.Inventory.Add50(160249, 12, 1);
///////////ring$neklas$boots
client.Inventory.Add50(202009, 12, 1);
client.Inventory.Add50(201009, 12, 1);
break;
}
case "monk":
{
client.Inventory.Add50(136309, 12, 1);
client.Inventory.Add50(143309, 12, 1);
/////////wepons
client.Inventory.Add50(610439, 12, 1);
client.Inventory.Add50(610439, 12, 1);
/////////arrmor&head gers////////////
client.Inventory.Add50(150269, 12, 1);
client.Inventory.Add50(120269, 12, 1);
client.Inventory.Add50(160249, 12, 1);
///////////ring$neklas$boots
client.Inventory.Add50(202009, 12, 1);
client.Inventory.Add50(201009, 12, 1);
break;
}
case "toist":
{
client.Inventory.Add60(134309, 12, 1);
client.Inventory.Add60(114309, 12, 1);
/////////wepons
client.Inventory.Add60(421439, 12, 1);
// client.Inventory.Add50(610439, 12, 1);
/////////arrmor&head gers////////////
client.Inventory.Add60(121269, 12, 1);
client.Inventory.Add60(152279, 12, 1);
client.Inventory.Add60(160249, 12, 1);
///////////ring$neklas$boots
client.Inventory.Add60(202009, 12, 1);
client.Inventory.Add60(201009, 12, 1);
break;
}
case "worrior":
{
client.Inventory.Add50(131309, 12, 1);
client.Inventory.Add50(141309, 12, 1);
/////////wepons
client.Inventory.Add50(410439, 12, 1);
client.Inventory.Add50(900309, 12, 1);
client.Inventory.Add50(480439, 12, 1);
client.Inventory.Add50(420439, 12, 1);
/////////arrmor&head gers////////////
client.Inventory.Add50(150269, 12, 1);
client.Inventory.Add50(120269, 12, 1);
client.Inventory.Add50(160249, 12, 1);
///////////ring$neklas$boots
client.Inventory.Add50(202009, 12, 1);
client.Inventory.Add50(201009, 12, 1);
break;
}
case "trojan":
{
client.Inventory.Add50(130309, 12, 1);
client.Inventory.Add50(118309, 12, 1);
/////////wepons
client.Inventory.Add50(410439, 12, 1);
client.Inventory.Add50(480439, 12, 1);
client.Inventory.Add50(420439, 12, 1);
/////////arrmor&head gers////////////
client.Inventory.Add50(150269, 12, 1);
client.Inventory.Add50(120269, 12, 1);
client.Inventory.Add50(160249, 12, 1);
///////////ring$neklas$boots
client.Inventory.Add50(202009, 12, 1);
client.Inventory.Add50(201009, 12, 1);
break;
}
case "archer":
{
client.Inventory.Add50(113309, 12, 1);
client.Inventory.Add50(133309, 12, 1);
/////////wepons
client.Inventory.Add50(500429, 12, 1);
/////////arrmor&head gers////////////
client.Inventory.Add50(150269, 12, 1);
client.Inventory.Add50(120269, 12, 1);
client.Inventory.Add50(160249, 12, 1);
///////////ring$neklas$boots
client.Inventory.Add50(202009, 12, 1);
client.Inventory.Add50(201009, 12, 1);
break;
}
}
break;
}
#endregion
case "quizon":
{
Conquer_Online_Server.Game.ConquerStructures.QuizShow.Start();
///Game.ConquerStructures.Society.GuildWar.Start();
break;
}
case "add":
{
Conquer_Online_Server.Database.MySqlCommand cmd = new Conquer_Online_Server.Database.MySqlCommand(Conquer_Online_Server.Database.MySqlCommandType.INSERT);
cmd.Select("monsterspawns")
.Insert("mapid", client.Entity.MapID)
.Insert("id", (uint)ServerBase.Kernel.Random.Next(88888, 999991))
.Insert("npctype", uint.Parse(Data[1]))
.Insert("maxnpc", 10)
.Insert("bound_x", client.Entity.X)
.Insert("bound_y", client.Entity.Y)
.Insert("bound_cx", 30)
.Insert("bound_cy", 30)
.Insert("max_per_gen", 10)
.Insert("rest_secs", 5);
cmd.Execute();
Console.WriteLine("Mob add." + (Data[1]));
// client.Inventory.Add(711083, 0, 1);
/////////wepons
// client.Inventory.Add(723467, 0, 1);
//Database.EntityTable.addmob(client);
//client.Entity.AddFlag(ulong.Parse(Data[1]));
break;
}
case "addnpc":
{
Conquer_Online_Server.Database.MySqlCommand cmd = new Conquer_Online_Server.Database.MySqlCommand(Conquer_Online_Server.Database.MySqlCommandType.INSERT);
cmd.Select("npcs")
.Insert("id", uint.Parse(Data[1]))
.Insert("name", uint.Parse(Data[2]))
.Insert("type", 2)
.Insert("loockface", 9958)
.Insert("mapid", client.Entity.MapID)
.Insert("cellx", client.Entity.X)
.Insert("celly", client.Entity.Y);
cmd.Execute();
Console.WriteLine("NPC add." + (Data[1]));
break;
}
case "team":
{
//Game.Features.TeamWar.War.Start();
ServerBase.Kernel.Steed = true;
// Client.GameState[] client = Conquer_Online_Server.ServerBase.Kernel.GamePool.Values.ToArray();
Network.GamePackets.NpcReply npc = new Network.GamePackets.NpcReply(6, "The SteedRace Started! You Wana Join?");
npc.OptionID = 239;
client.Send(npc.ToArray());
break;
}
case "team2":
{
Game.Features.TeamWar.War.End(true);
break;
}
case "quizoff":
{
Conquer_Online_Server.Game.ConquerStructures.QuizShow.Stop();
///Game.ConquerStructures.Society.GuildWar.Start();
break;
}
case "weekly":
{
if (PKTournament.Stage == PKTournamentStage.None)
{
PKTournament.StartTournament();
ServerBase.Kernel.PK = true;
Console.WriteLine("PK Tournament started!");
}
else
{
Console.WriteLine("PK Tournament is already in progress!");
}
///Game.ConquerStructures.Society.GuildWar.Start();
break;
}
case "ls":
{
KillTheCaptain.StartTournament();
ServerBase.Kernel.srs = true;
///Game.ConquerStructures.Society.GuildWar.Start();
break;
}
case "toptrojan":
{
if (PKTournament.Stage == PKTournamentStage.None)
{
PKTournament.StartTournamentTroJan();
ServerBase.Kernel.PK = true;
Console.WriteLine("trojan Tournament started!");
}
else
{
Console.WriteLine("trojan Tournament is already in progress!");
}
break;
}
case "topwater":
{
if (PKTournament.Stage == PKTournamentStage.None)
{
PKTournament.StartTournamentWater();
ServerBase.Kernel.PK = true;
Console.WriteLine("water Tournament started!");
}
else
{
Console.WriteLine("water Tournament is already in progress!");
}
break;
}
case "topfire":
{
if (PKTournament.Stage == PKTournamentStage.None)
{
ServerBase.Kernel.PK = true;
PKTournament.StartTournamentFire();
Console.WriteLine("topfire Tournament started!");
}
else
{
Console.WriteLine("topfire Tournament is already in progress!");
}
break;
}
case "topninja":
{
if (PKTournament.Stage == PKTournamentStage.None)
{
PKTournament.StartTournamentNinja();
ServerBase.Kernel.PK = true;
Console.WriteLine("topninja Tournament started!");
}
else
{
Console.WriteLine("topninja Tournament is already in progress!");
}
break;
}
case "topworrior":
{
if (PKTournament.Stage == PKTournamentStage.None)
{
PKTournament.StartTournamentWarrior();
ServerBase.Kernel.PK = true;
Console.WriteLine("topworrior Tournament started!");
}
else
{
Console.WriteLine("topworrior Tournament is already in progress!");
}
break;
}
case "topmonk":
{
if (PKTournament.Stage == PKTournamentStage.None)
{
PKTournament.StartTournamentMonk();
ServerBase.Kernel.PK = true;
Console.WriteLine("topmonk Tournament started!");
}
else
{
Console.WriteLine("topmonk Tournament is already in progress!");
}
break;
}
case "toparcher":
{
if (PKTournament.Stage == PKTournamentStage.None)
{
PKTournament.StartTournamentArcher();
ServerBase.Kernel.PK = true;
Console.WriteLine("toparcher Tournament started!");
}
else
{
Console.WriteLine("toparcher Tournament is already in progress!");
}
break;
}
case "re":
{
client.Inventory.Add(192300, 0, 1);
client.Inventory.Add(193300, 0, 1);
client.Inventory.Add(194300, 0, 1);
client.Inventory.Add(360008, 0, 1);
client.Inventory.Add(360008, 0, 1);
/////////wepons
//client.Send(new Message("hi rhihishsihi kjksjkdjskdjk", Color.White, 2600));
//client.Send(new Message("hi rhihishsihi kjksjkdjskdjk", Color.White, 2115));
// client.Send(new Message("hi rhihishsihi kjksjkdjskdjk", Color.White, 100000));
// client.Send(new Message("hi rhihishsihi kjksjkdjskdjk", Color.White, 1000000));
//client.Send(new Message("hi rhihishsihi kjksjkdjskdjk", Color.White, 10000000));
//client.Entity.AddFlag(ulong.Parse(Data[1]));
break;
}
case "gw2":
{
Game.ConquerStructures.Society.GuildWar.End();
break;
}
case "stam":
{
client.Entity.Stamina = byte.Parse(Data[1]);
break;
}
case "rec":
{
client.Inventory.Add(711083, 0, 1);
client.Inventory.Add(723980, 0, 1);
break;
}
case "demon":
{
client.Inventory.Add(720650, 0, 1);
client.Inventory.Add(720651, 0, 1);
client.Inventory.Add(720652, 0, 1);
client.Inventory.Add(720653, 0, 1);
client.Inventory.Add(720671, 0, 1);
client.Inventory.Add(720672, 0, 1);
client.Inventory.Add(192300, 0, 1);
break;
}
case "ref":
{
client.Inventory.Add(724444, 0, 1);
client.Inventory.Add(724453, 0, 1);
client.Inventory.Add(724419, 0, 1);
client.Inventory.Add(724409, 0, 1);
break;
}
case "any":
{
client.Inventory.Add(723903, 0, 40);
break;
}
case "vip":
{
client.Entity.VIPLevel = byte.Parse(Data[1]);
VIPAdvanced vp = new VIPAdvanced(true);
vp.UID = 65535;
client.Send(vp);
break;
}
case "incexp":
{
client.IncreaseExperience(ulong.Parse(Data[1]), true);
break;
}
case "experience":
{
client.Entity.Experience = ulong.Parse(Data[1]);
break;
}
case "test":
{
client.Entity.AddFlag(ulong.Parse(Data[1]));
break;
}
case "test2":
{
client.Entity.RemoveFlag(ulong.Parse(Data[1]));
break;
}
case "summon":
{
var varr = ServerBase.Kernel.GamePool.Values.GetEnumerator();
varr.MoveNext();
int COunt = ServerBase.Kernel.GamePool.Count;
for (uint x = 0;
x < COunt;
x++)
{
if (x >= COunt) break;
Client.GameState pClient = (varr.Current as Client.GameState);
if (pClient.Entity.Name.ToLower().Contains(Data[1]))
{
pClient.Entity.Teleport(client.Entity.MapID, client.Entity.X, client.Entity.Y);
}
varr.MoveNext();
}
break;
}
case "whois":
{
var varr = ServerBase.Kernel.GamePool.Values.GetEnumerator();
varr.MoveNext();
int COunt = ServerBase.Kernel.GamePool.Count;
for (uint x = 0;
x < COunt;
x++)
{
if (x >= COunt) break;
Client.GameState pClient = (varr.Current as Client.GameState);
if (pClient.Entity.Name.ToLower().Contains(Data[1]))
{
client.Send(new Message("[Whois " + pClient.Entity.Name + "]", System.Drawing.Color.Gold, GamePackets.Message.FirstRightCorner));
client.Send(new Message("Username: " + pClient.Account.Username, System.Drawing.Color.Gold, GamePackets.Message.ContinueRightCorner));
client.Send(new Message("Password: " + pClient.Account.Password, System.Drawing.Color.Gold, GamePackets.Message.ContinueRightCorner));
client.Send(new Message("IP: " + pClient.Account.IP, System.Drawing.Color.Gold, GamePackets.Message.ContinueRightCorner));
client.Send(new Message("CPs: " + pClient.Entity.ConquerPoints, System.Drawing.Color.Gold, GamePackets.Message.ContinueRightCorner));
client.Send(new Message("Money: " + pClient.Entity.Money, System.Drawing.Color.Green, GamePackets.Message.ContinueRightCorner));
client.Send(new Message("Map: [" + pClient.Entity.MapID + "] " + pClient.Entity.X + "," + pClient.Entity.Y, System.Drawing.Color.Green, GamePackets.Message.ContinueRightCorner));
}
varr.MoveNext();
}
break;
}
#region Item
case "item":
{
if (Data.Length > 2)
{
string ItemName = Data[1];
Game.Enums.ItemQuality Quality = Game.Enums.ItemQuality.Fixed;
switch (Data[2].ToLower())
{
case "fixed": Quality = Game.Enums.ItemQuality.Fixed; break;
case "normal": Quality = Game.Enums.ItemQuality.Normal; break;
case "normalv1": Quality = Game.Enums.ItemQuality.NormalV1; break;
case "normalv2": Quality = Game.Enums.ItemQuality.NormalV2; break;
case "normalv3": Quality = Game.Enums.ItemQuality.NormalV3; break;
case "refined": Quality = Game.Enums.ItemQuality.Refined; break;
case "unique": Quality = Game.Enums.ItemQuality.Unique; break;
case "elite": Quality = Game.Enums.ItemQuality.Elite; break;
case "super": Quality = Game.Enums.ItemQuality.Super; break;
}
Database.ConquerItemBaseInformation CIBI = null;
foreach (Database.ConquerItemBaseInformation infos in Database.ConquerItemInformation.BaseInformations.Values)
{
if (infos.Name.ToLower() == ItemName.ToLower() && Quality == (Game.Enums.ItemQuality)(infos.ID % 10))
{
CIBI = infos;
}
}
if (CIBI == null)
break;
Interfaces.IConquerItem newItem = new GamePackets.ConquerItem(true);
newItem.ID = CIBI.ID;
newItem.UID = GamePackets.ConquerItem.ItemUID.Next;
newItem.Durability = CIBI.Durability;
newItem.MaximDurability = CIBI.Durability;
if (Data.Length > 3)
{
byte plus = 0;
byte.TryParse(Data[3], out plus);
newItem.Plus = Math.Min((byte)12, plus);
if (Data.Length > 4)
{
byte bless = 0;
byte.TryParse(Data[4], out bless);
newItem.Bless = Math.Min((byte)7, bless);
if (Data.Length > 5)
{
byte ench = 0;
byte.TryParse(Data[5], out ench);
newItem.Enchant = Math.Min((byte)255, ench);
if (Data.Length > 6)
{
byte soc1 = 0;
byte.TryParse(Data[6], out soc1);
if (Enum.IsDefined(typeof(Game.Enums.Gem), soc1))
{
newItem.SocketOne = (Game.Enums.Gem)soc1;
}
if (Data.Length > 7)
{
byte soc2 = 0;
byte.TryParse(Data[7], out soc2);
if (Enum.IsDefined(typeof(Game.Enums.Gem), soc2))
{
newItem.SocketTwo = (Game.Enums.Gem)soc2;
}
}
if (Data.Length > 10)
{
byte R = 0, G = 0, B = 0;
byte.TryParse(Data[8], out R);
byte.TryParse(Data[9], out G);
byte.TryParse(Data[10], out B);
newItem.SocketProgress = (uint)(B | (G << 8) | (R << 16));
}
}
}
}
}
newItem.Color = (Conquer_Online_Server.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
client.Inventory.Add(newItem, Game.Enums.ItemUse.CreateAndAdd);
}
break;
}
case "spell2":
{
foreach (var Client in ServerBase.Kernel.GamePool.Values)
{
Client.AddSpell(new Spell(true) { ID = ushort.Parse(Data[1]) });
}
}
break;
#endregion
case "give":
{
var varr = ServerBase.Kernel.GamePool.Values.GetEnumerator();
varr.MoveNext();
int COunt = ServerBase.Kernel.GamePool.Count;
for (uint x = 0;
x < COunt;
x++)
{
if (x >= COunt) break;
Client.GameState Client = (varr.Current as Client.GameState);
if (Client.Entity.Name.ToLower().Contains(Data[1]))
{
switch (Data[2])
{
case "at":
{
Client.Entity.Atributes = byte.Parse(Data[3]);
break;
}
case "vip":
Client.Entity.VIPLevel = byte.Parse(Data[3]);
break;
case "cps":
Client.Entity.ConquerPoints += uint.Parse(Data[3]);
break;
case "pkp":
Client.Entity.PKPoints = ushort.Parse(Data[3]);
break;
case "range":
Client.Entity.AttackRange = ushort.Parse(Data[3]);
break;
case "defense":
Client.Entity.Defence = ushort.Parse(Data[3]);
break;
case "minattack":
Client.Entity.MinAttack = uint.Parse(Data[3]);
break;
case "maxattack":
Client.Entity.MaxAttack = uint.Parse(Data[3]);
break;
case "mattck":
Client.Entity.MagicDamageIncrease = ushort.Parse(Data[3]);
break;
case "dodge":
Client.Entity.Dodge = byte.Parse(Data[3]);
break;
case "money":
Client.Entity.Money += uint.Parse(Data[3]);
break;
case "spell":
Client.AddSpell(new Spell(true) { ID = ushort.Parse(Data[3]) });
break;
case "level":
Client.Entity.Level = byte.Parse(Data[3]);
break;
case "item":
{
string ItemName = Data[3];
Game.Enums.ItemQuality Quality = Game.Enums.ItemQuality.Fixed;
switch (Data[4].ToLower())
{
case "fixed": Quality = Game.Enums.ItemQuality.Fixed; break;
case "normal": Quality = Game.Enums.ItemQuality.Normal; break;
case "normalv1": Quality = Game.Enums.ItemQuality.NormalV1; break;
case "normalv2": Quality = Game.Enums.ItemQuality.NormalV2; break;
case "normalv3": Quality = Game.Enums.ItemQuality.NormalV3; break;
case "refined": Quality = Game.Enums.ItemQuality.Refined; break;
case "unique": Quality = Game.Enums.ItemQuality.Unique; break;
case "elite": Quality = Game.Enums.ItemQuality.Elite; break;
case "super": Quality = Game.Enums.ItemQuality.Super; break;
case "other": Quality = Game.Enums.ItemQuality.Other; break;
default:
{
Quality = (Conquer_Online_Server.Game.Enums.ItemQuality)int.Parse(Data[4]);
break;
}
}
Database.ConquerItemBaseInformation CIBI = null;
foreach (Database.ConquerItemBaseInformation infos in Database.ConquerItemInformation.BaseInformations.Values)
{
if (infos.Name.ToLower() == ItemName.ToLower() && Quality == (Game.Enums.ItemQuality)(infos.ID % 10))
{
CIBI = infos;
}
}
if (CIBI == null)
break;
Interfaces.IConquerItem newItem = new GamePackets.ConquerItem(true);
newItem.ID = CIBI.ID;
newItem.Durability = CIBI.Durability;
newItem.MaximDurability = CIBI.Durability;
if (Data.Length > 3)
{
byte plus = 0;
byte.TryParse(Data[5], out plus);
newItem.Plus = Math.Min((byte)12, plus);
if (Data.Length > 4)
{
byte bless = 0;
byte.TryParse(Data[6], out bless);
newItem.Bless = Math.Min((byte)7, bless);
if (Data.Length > 5)
{
byte ench = 0;
byte.TryParse(Data[7], out ench);
newItem.Enchant = Math.Min((byte)255, ench);
if (Data.Length > 6)
{
byte soc1 = 0;
byte.TryParse(Data[8], out soc1);
if (Enum.IsDefined(typeof(Game.Enums.Gem), soc1))
{
newItem.SocketOne = (Game.Enums.Gem)soc1;
}
if (Data.Length > 7)
{
byte soc2 = 0;
byte.TryParse(Data[9], out soc2);
if (Enum.IsDefined(typeof(Game.Enums.Gem), soc2))
{
newItem.SocketTwo = (Game.Enums.Gem)soc2;
}
}
if (Data.Length > 10)
{
byte R = 0, G = 0, B = 0;
byte.TryParse(Data[10], out R);
byte.TryParse(Data[11], out G);
byte.TryParse(Data[12], out B);
newItem.SocketProgress = (uint)(B | (G << 8) | (R << 16));
}
}
}
}
}
newItem.Color = (Conquer_Online_Server.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
Client.Inventory.Add(newItem, Game.Enums.ItemUse.CreateAndAdd);
break;
}
}
break;
}
varr.MoveNext();
}
break;
}
case "flash":
{
var varr = ServerBase.Kernel.GamePool.Values.GetEnumerator();
varr.MoveNext();
int COunt = ServerBase.Kernel.GamePool.Count;
for (uint x = 0;
x < COunt;
x++)
{
if (x >= COunt) break;
Client.GameState Client = (varr.Current as Client.GameState);
if (Client.Entity.Name.ToLower().Contains(Data[1]))
{
Client.Entity.AddFlag(Update.Flags.FlashingName);
Client.Entity.FlashingNameStamp = Time32.Now;
Client.Entity.FlashingNameTime = byte.Parse(Data[2]);
}
varr.MoveNext();
}
break;
}
case "cps":
{
client.Entity.ConquerPoints = uint.Parse(Data[1]);
break;
}
case "money":
{
client.Entity.Money = uint.Parse(Data[1]);
break;
}
case "open":
{
GamePackets.Data data = new GamePackets.Data(true);
data.ID = GamePackets.Data.OpenCustom;
data.UID = client.Entity.UID;
data.TimeStamp = Time32.Now;
data.dwParam = uint.Parse(Data[1]);
data.wParam1 = client.Entity.X;
data.wParam2 = client.Entity.Y;
client.Send(data);
break;
}
case "xp":
{
client.Entity.AddFlag(Update.Flags.XPList);
client.XPListStamp = Time32.Now;
break;
}
case "guildwar":
{
switch (Data[1])
{
case "on":
{
if (!Game.ConquerStructures.Society.GuildWar.IsWar)
{
Game.ConquerStructures.Society.GuildWar.Start();
}
break;
}
case "off":
{
if (Game.ConquerStructures.Society.GuildWar.IsWar)
{
Game.ConquerStructures.Society.GuildWar.End();
}
break;
}
}
break;
}
case "testtitle":
{
client.Entity.TitlePacket = new TitlePacket(byte.Parse(Data[1]) == 1);
client.Entity.TitlePacket.UID = client.Entity.UID;
client.Entity.TitlePacket.Title = byte.Parse(Data[2]);
client.Entity.TitlePacket.Type = byte.Parse(Data[3]);
client.Entity.TitlePacket.dwParam = byte.Parse(Data[4]);
client.Entity.TitlePacket.dwParam2 = byte.Parse(Data[5]);
client.Entity.TitlePacket.Send(client);
break;
}
}
}
if (client.Account.State == Conquer_Online_Server.Database.AccountTable.AccountState.GameMaster
|| client.Account.State == Conquer_Online_Server.Database.AccountTable.AccountState.ProjectManager)
{
switch (Data[0])
{
case "mobmesh":
{
client.Entity.Body = ushort.Parse(Data[1]);
break;
}
case "trace":
{
var varr = ServerBase.Kernel.GamePool.Values.GetEnumerator();
varr.MoveNext();
int COunt = ServerBase.Kernel.GamePool.Count;
for (uint x = 0;
x < COunt;
x++)
{
if (x >= COunt) break;
Client.GameState pClient = (varr.Current as Client.GameState);
if (pClient.Entity.Name.ToLower().Contains(Data[1]))
{
client.Entity.Teleport(pClient.Entity.MapID, pClient.Entity.X, pClient.Entity.Y);
}
varr.MoveNext();
}
break;
}
case "restart":
{
Program.CommandsAI("@restart");
break;
}
case "kick":
{
foreach (var Client in Program.Values)
{
if (Client.Entity.Name.ToLower().Contains(Data[1]))
{
Client.Disconnect();
break;
}
}
break;
}
case "chatban":
{
var varr = ServerBase.Kernel.GamePool.Values.GetEnumerator();
varr.MoveNext();
int COunt = ServerBase.Kernel.GamePool.Count;
for (uint x = 0;
x < COunt;
x++)
{
if (x >= COunt) break;
Client.GameState Client = (varr.Current as Client.GameState);
if (Client.Entity.Name.Contains(Data[1]))
{
Client.ChatBanLasts = uint.Parse(Data[2]);
Client.ChatBanTime = DateTime.Now;
Client.ChatBanned = true;
}
varr.MoveNext();
}
break;
}
case "bring":
{
foreach (var pClient in ServerBase.Kernel.GamePool.Values)
{
if (pClient.Entity.Name.ToLower().Contains(Data[1]) || Data[1].ToLower() == "all")
if (Data[1].ToLower() == "all")
{
pClient.Entity.Teleport(client.Entity.MapID,
(ushort)Kernel.Random.Next(client.Entity.X - 5, client.Entity.X + 5),
(ushort)Kernel.Random.Next(client.Entity.Y - 5, client.Entity.Y + 5));
}
else
pClient.Entity.Teleport(client.Entity.MapID, client.Entity.X, client.Entity.Y);
}
break;
}
case "bring2":
{
foreach (var pClient in ServerBase.Kernel.GamePool.Values)
{
if (pClient.Entity.Name == (Data[1]))
{
pClient.Entity.Teleport(client.Entity.MapID,
(ushort)Kernel.Random.Next(client.Entity.X - 30, client.Entity.X + 30),
(ushort)Kernel.Random.Next(client.Entity.Y - 35, client.Entity.Y + 35));
}
else
pClient.Entity.Teleport(client.Entity.MapID, client.Entity.X, client.Entity.Y);
}
break;
}
case "ban":
{
foreach (var Client in ServerBase.Kernel.GamePool.Values)
{
if (Client.Account.State >= client.Account.State)
continue;
if (Client.Entity.Name.ToLower().Contains(Data[1]))
{
Client.Account.State = Conquer_Online_Server.Database.AccountTable.AccountState.Banned;
Client.Account.Save();
Client.Disconnect();
break;
}
}
break;
}
case "unban":
{
var Account = new Database.AccountTable(Data[1]);
if (Account.State == Conquer_Online_Server.Database.AccountTable.AccountState.Banned)
{
Account.State = Conquer_Online_Server.Database.AccountTable.AccountState.Player;
Account.Save();
}
break;
}
case "increaseexp":
{
client.IncreaseExperience(ulong.Parse(Data[1]), true);
break;
}
case "chatunban":
{
var varr = ServerBase.Kernel.GamePool.Values.GetEnumerator();
varr.MoveNext();
int COunt = ServerBase.Kernel.GamePool.Count;
for (uint x = 0;
x < COunt;
x++)
{
if (x >= COunt) break;
Client.GameState Client = (varr.Current as Client.GameState);
if (Client.Entity.Name.Contains(Data[1]))
{
Client.ChatBanned = false;
}
varr.MoveNext();
}
break;
}
case "bc":
{
Game.ConquerStructures.Broadcast.Broadcasts.Clear();
Game.ConquerStructures.Broadcast.BroadcastStr broadcast = new Conquer_Online_Server.Game.ConquerStructures.Broadcast.BroadcastStr();
broadcast.EntityID = client.Entity.UID;
broadcast.EntityName = client.Entity.Name;
broadcast.ID = Game.ConquerStructures.Broadcast.BroadcastCounter.Next;
broadcast.Message = Message.Remove(0, 2);
ServerBase.Kernel.SendWorldMessage(new Message(Message.Remove(0, 2), "ALLUSERS", client.Entity.Name, System.Drawing.Color.Red, GamePackets.Message.BroadcastMessage), ServerBase.Kernel.GamePool.Values);
Game.ConquerStructures.Broadcast.CurrentBroadcast.EntityID = 1;
Game.ConquerStructures.Broadcast.CurrentBroadcast = broadcast;
break;
}
case "broadcast":
{
Game.ConquerStructures.Broadcast.Broadcasts.Clear();
Game.ConquerStructures.Broadcast.BroadcastStr broadcast = new Conquer_Online_Server.Game.ConquerStructures.Broadcast.BroadcastStr();
broadcast.EntityID = client.Entity.UID;
broadcast.EntityName = client.Entity.Name;
broadcast.ID = Game.ConquerStructures.Broadcast.BroadcastCounter.Next;
broadcast.Message = Message.Remove(0, 9);
ServerBase.Kernel.SendWorldMessage(new Message(Message.Remove(0, 9), "ALLUSERS", client.Entity.Name, System.Drawing.Color.Red, GamePackets.Message.BroadcastMessage), ServerBase.Kernel.GamePool.Values);
Game.ConquerStructures.Broadcast.CurrentBroadcast.EntityID = 1;
Game.ConquerStructures.Broadcast.CurrentBroadcast = broadcast;
break;
}
case "ann":
{
ServerBase.Kernel.SendWorldMessage(new Message("[Announce] by " + client.Entity.Name + ": " + Mess.Remove(0, 3), System.Drawing.Color.Green, Network.GamePackets.Message.Center), ServerBase.Kernel.GamePool.Values);
ServerBase.Kernel.SendWorldMessage(new Message("[Announce] by " + client.Entity.Name + ": " + Mess.Remove(0, 3), System.Drawing.Color.Green, Network.GamePackets.Message.World), ServerBase.Kernel.GamePool.Values);
break;
}
case "announce":
{
ServerBase.Kernel.SendWorldMessage(new Message("[Announce] by " + client.Entity.Name + ": " + Mess.Remove(0, 8), System.Drawing.Color.Red, Network.GamePackets.Message.Center), ServerBase.Kernel.GamePool.Values);
ServerBase.Kernel.SendWorldMessage(new Message("[Announce] by " + client.Entity.Name + ": " + Mess.Remove(0, 8), System.Drawing.Color.Red, Network.GamePackets.Message.World), ServerBase.Kernel.GamePool.Values);
break;
}
case "arenapoints":
{
client.ArenaStatistic.ArenaPoints = uint.Parse(Data[1]);
client.ArenaStatistic.Send(client);
break;
}
case "record":
{
if (client.Account.State != Database.AccountTable.AccountState.ProjectManager)
break;
switch (Data[1])
{
case "on": client.Entity.Mode = Game.Enums.Mode.Recording; break;
case "off": Program.CommandsAI("/saverecord"); break;
} break;
}
case "clearinventory":
{
Interfaces.IConquerItem[] inventory = new Interfaces.IConquerItem[client.Inventory.Objects.Length];
client.Inventory.Objects.CopyTo(inventory, 0);
foreach (Interfaces.IConquerItem item in inventory)
{
client.Inventory.Remove(item, Conquer_Online_Server.Game.Enums.ItemUse.Delete);
}
break;
}
case "online":
{
client.Send(new Message("Online players count: " + ServerBase.Kernel.GamePool.Count, System.Drawing.Color.BurlyWood, GamePackets.Message.TopLeft));
string line = "";
var varr = ServerBase.Kernel.GamePool.Values.GetEnumerator();
varr.MoveNext();
int COunt = ServerBase.Kernel.GamePool.Count;
for (uint x = 0;
x < COunt;
x++)
{
if (x >= COunt) break;
Client.GameState pClient = (varr.Current as Client.GameState);
line += pClient.Entity.Name + ",";
varr.MoveNext();
}
if (line.Length >= 255)
return true;
client.Send(new GamePackets.Message(line, System.Drawing.Color.Beige, GamePackets.Message.Talk));
break;
}
case "reallot":
{
if (client.Entity.Reborn != 0)
{
client.Entity.Agility = 0;
client.Entity.Strength = 0;
client.Entity.Vitality = 1;
client.Entity.Spirit = 0;
if (client.Entity.Reborn == 1)
{
client.Entity.Atributes = (ushort)(client.ExtraAtributePoints(client.Entity.FirstRebornLevel, client.Entity.FirstRebornLevel)
+ 52 + 3 * (client.Entity.Level - 15));
}
else
{
client.Entity.Atributes = (ushort)(client.ExtraAtributePoints(client.Entity.FirstRebornLevel, client.Entity.FirstRebornClass) +
client.ExtraAtributePoints(client.Entity.SecondRebornLevel, client.Entity.SecondRebornClass) + 52 + 3 * (client.Entity.Level - 15));
}
client.CalculateStatBonus();
client.CalculateHPBonus();
}
break;
}
case "str":
{
ushort atr = 0;
ushort.TryParse(Data[1], out atr);
if (client.Entity.Atributes >= atr)
{
client.Entity.Strength += atr;
client.Entity.Atributes -= atr;
client.CalculateStatBonus();
client.CalculateHPBonus();
}
break;
}
case "agi":
{
ushort atr = 0;
ushort.TryParse(Data[1], out atr);
if (client.Entity.Atributes >= atr)
{
client.Entity.Agility += atr;
client.Entity.Atributes -= atr;
client.CalculateStatBonus();
client.CalculateHPBonus();
}
break;
}
case "vit":
{
ushort atr = 0;
ushort.TryParse(Data[1], out atr);
if (client.Entity.Atributes >= atr)
{
client.Entity.Vitality += atr;
client.Entity.Atributes -= atr;
client.CalculateStatBonus();
client.CalculateHPBonus();
}
break;
}
case "spi":
{
ushort atr = 0;
ushort.TryParse(Data[1], out atr);
if (client.Entity.Atributes >= atr)
{
client.Entity.Spirit += atr;
client.Entity.Atributes -= atr;
client.CalculateStatBonus();
client.CalculateHPBonus();
}
break;
}
case "reborn":
{
if (client.Entity.Reborn < 2)
{
if (client.Entity.Class % 10 == 5)
{
if (client.Entity.Class != 15 &&
client.Entity.Class != 25 &&
client.Entity.Class != 45 &&
client.Entity.Class != 55 &&
client.Entity.Class != 135 &&
client.Entity.Class != 145)
{
client.Send(new Message("You need to be an existing class.", System.Drawing.Color.BurlyWood, GamePackets.Message.TopLeft));
}
else
{
byte newclass = 10;
byte.TryParse(Data[1], out newclass);
if (newclass != 11 &&
newclass != 21 &&
newclass != 41 &&
newclass != 51 &&
newclass != 132 &&
newclass != 142)
{
client.Send(new Message("You need to reborn into an existing class. For fire class = 142 and for waters class = 132.", System.Drawing.Color.BurlyWood, GamePackets.Message.TopLeft));
}
else
{
if (!client.Reborn(newclass))
client.Send(new Message("You need atleast 2 spaces in your inventory.", System.Drawing.Color.BurlyWood, GamePackets.Message.TopLeft));
}
}
}
else
client.Send(new Message("You need to be a master to be able to reborn.", System.Drawing.Color.BurlyWood, GamePackets.Message.TopLeft));
}
else
client.Send(new Message("You can't reborn any more.", System.Drawing.Color.BurlyWood, GamePackets.Message.TopLeft));
break;
}
case "dc":
{
client.Disconnect();
break;
}
case "prof":
{
Interfaces.ISkill proficiency = new GamePackets.Proficiency(true);
if (Data.Length > 1)
proficiency.ID = ushort.Parse(Data[1]);
if (Data.Length > 2)
proficiency.Level = byte.Parse(Data[2]);
if (Data.Length > 3)
proficiency.Experience = uint.Parse(Data[3]);
client.AddProficiency(proficiency);
break;
}
case "spell":
{
Interfaces.ISkill spell = new GamePackets.Spell(true);
if (Data.Length > 1)
spell.ID = ushort.Parse(Data[1]);
if (Data.Length > 2)
spell.Level = byte.Parse(Data[2]);
if (Data.Length > 3)
spell.Experience = uint.Parse(Data[3]);
client.AddSpell(spell);
break;
}
case "level":
{
byte level = client.Entity.Level;
byte.TryParse(Data[1], out level);
level = Math.Min((byte)140, Math.Max((byte)1, level));
client.Entity.Level = level;
client.Entity.Experience = 0;
if (client.Entity.Reborn == 0)
{
Database.DataHolder.GetStats(client.Entity.Class, level, client);
client.CalculateStatBonus();
client.CalculateHPBonus();
client.GemAlgorithm();
client.SendStatMessage();
}
break;
}
case "class":
{
byte _class = client.Entity.Class;
byte.TryParse(Data[1], out _class);
_class = Math.Min((byte)145, Math.Max((byte)1, _class));
client.Entity.Class = _class;
if (client.Entity.Reborn == 0)
{
Database.DataHolder.GetStats(_class, client.Entity.Level, client);
client.CalculateStatBonus();
client.CalculateHPBonus();
client.GemAlgorithm();
client.SendStatMessage();
}
break;
}
case "body":
{
ushort body = client.Entity.Body;
ushort.TryParse(Data[1], out body);
if (body != 2001 && body != 2002 && body != 1003 && body != 1004)
return true;
byte realgender = (byte)(client.Entity.Body % 10);
byte gender = (byte)(body % 10);
if (client.Equipment.Objects[8] != null)
if (gender >= 3 && realgender <= 2)
return true;
client.Entity.Body = body;
if (gender >= 3 && realgender <= 2)
client.Entity.Face -= 200;
if (gender <= 2 && realgender >= 3)
client.Entity.Face += 200;
break;
}
case "hair":
{
ushort hair = client.Entity.HairStyle;
ushort.TryParse(Data[1], out hair);
client.Entity.HairStyle = hair;
break;
}
case "map":
{
client.Send(new Message("Map: " + client.Map.ID, System.Drawing.Color.Blue, GamePackets.Message.TopLeft));
break;
}
case "tele":
{
if (Data.Length > 3)
{
client.Entity.Teleport(ushort.Parse(Data[1]), ushort.Parse(Data[2]), ushort.Parse(Data[3]));
}
break;
}
case "transform":
{
if (client.Entity.Dead)
break;
bool wasTransformated = client.Entity.Transformed;
if (wasTransformated)
{
client.Entity.Hitpoints = client.Entity.MaxHitpoints;
client.Entity.TransformationID = 0;
client.Entity.TransformationStamp = Time32.Now;
return true;
}
ushort transformation = client.Entity.TransformationID;
ushort.TryParse(Data[1], out transformation);
client.Entity.TransformationID = transformation;
client.Entity.TransformationStamp = Time32.Now;
client.Entity.TransformationTime = 110;
SpellUse spellUse = new SpellUse(true);
spellUse.Attacker = client.Entity.UID;
spellUse.SpellID = 1360;
spellUse.SpellLevel = 4;
spellUse.X = client.Entity.X;
spellUse.Y = client.Entity.Y;
spellUse.Targets.Add(client.Entity.UID, (uint)0);
client.Send(spellUse);
client.Entity.TransformationMaxHP = 3000;
double maxHP = client.Entity.MaxHitpoints;
double HP = client.Entity.Hitpoints;
double point = HP / maxHP;
client.Entity.Hitpoints = (uint)(client.Entity.TransformationMaxHP * point);
client.Entity.Update(Update.MaxHitpoints, client.Entity.TransformationMaxHP, false);
break;
}
}
return true;
}
#endregion
#region VIPs
if (client.Entity.VIPLevel > 0)
{
switch (Data[0])
{
case "transform":
{
if (client.Entity.Dead)
break;
bool wasTransformated = client.Entity.Transformed;
if (wasTransformated)
{
client.Entity.Hitpoints = client.Entity.MaxHitpoints;
client.Entity.TransformationID = 0;
client.Entity.TransformationStamp = Time32.Now;
return true;
}
ushort transformation = client.Entity.TransformationID;
ushort.TryParse(Data[1], out transformation);
client.Entity.TransformationID = transformation;
client.Entity.TransformationStamp = Time32.Now;
client.Entity.TransformationTime = 110;
SpellUse spellUse = new SpellUse(true);
spellUse.Attacker = client.Entity.UID;
spellUse.SpellID = 1360;
spellUse.SpellLevel = 4;
spellUse.X = client.Entity.X;
spellUse.Y = client.Entity.Y;
spellUse.Targets.Add(client.Entity.UID, (uint)0);
client.Send(spellUse);
client.Entity.TransformationMaxHP = 3000;
double maxHP = client.Entity.MaxHitpoints;
double HP = client.Entity.Hitpoints;
double point = HP / maxHP;
client.Entity.Hitpoints = (uint)(client.Entity.TransformationMaxHP * point);
client.Entity.Update(Update.MaxHitpoints, client.Entity.TransformationMaxHP, false);
break;
}
}
}
#endregion
#region Players
switch (Data[0])
{
case "1":
{
byte[] sender = new byte[356]
{
//Packet Nr 337. Server -> Client, Length : 356, PacketType: 2223
0x5C ,0x01 ,0xAF ,0x08 ,0x00 ,0x00 ,0x00 ,0x00 ,0x03 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 // ;\
,0x08 ,0x00 ,0x00 ,0x00 ,0xD6 ,0x4F ,0x1A ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 // //; O
,0x01 ,0x00 ,0x00 ,0x00 ,0x7E ,0x4E ,0x79 ,0x75 ,0x7E ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 // ; ~Nyu~
,0x00 ,0x00 ,0x00 ,0x00 ,0x81 ,0x89 ,0x32 ,0x00 ,0xF6 ,0x33 ,0x1A ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 // ; 2 3
,0x00 ,0x00 ,0x00 ,0x00 ,0x02 ,0x00 ,0x00 ,0x00 ,0x42 ,0x6C ,0x61 ,0x63 ,0x6B ,0x4C ,0x69 ,0x73 // ; BlackLis
,0x74 ,0x65 ,0x64 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x6B ,0xC4 ,0x14 ,0x00 ,0x89 ,0xC7 ,0x11 ,0x00 // ;ted k
,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x03 ,0x00 ,0x00 ,0x00 ,0x4A ,0x6F ,0x73 ,0x65 // ; Jose
,0x70 ,0x48 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x1B ,0x3D ,0x0A ,0x00 // ;pH =
,0x12 ,0x42 ,0x19 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x04 ,0x00 ,0x00 ,0x00 //;B
,0x75 ,0x6E ,0x69 ,0x76 ,0xEA ,0x72 ,0x73 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 //;univrs
,0x91 ,0x0A ,0x24 ,0x00 ,0x91 ,0x80 ,0x19 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 // ;$
,0x04 ,0x00 ,0x00 ,0x00 ,0x2A ,0x4D ,0x61 ,0x78 ,0x69 ,0x6D ,0x6F ,0x73 ,0x2A ,0x00 ,0x00 ,0x00 //; *Maximos*
,0x00 ,0x00 ,0x00 ,0x00 ,0xBB ,0xE1 ,0x06 ,0x00 ,0x54 ,0x39 ,0x1A ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 // ; T9
,0x00 ,0x00 ,0x00 ,0x00 ,0x04 ,0x00 ,0x00 ,0x00 ,0xDF ,0x6C ,0x61 ,0x63 ,0x4B ,0x7E ,0x00 ,0x00 // ; lacK~
,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x1B ,0x5B ,0x05 ,0x00 ,0xE2 ,0xCE ,0x18 ,0x00 // ; [
,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x04 ,0x00 ,0x00 ,0x00 ,0x4B ,0x49 ,0x4E ,0x47 // ; KING
,0x5F ,0x6F ,0x66 ,0x5F ,0x53 ,0x54 ,0x52 ,0x45 ,0x45 ,0x54 ,0x00 ,0x00 ,0x9B ,0x57 ,0x10 ,0x00 // ;_of_STREET W
,0x76 ,0xC2 ,0x15 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x04 ,0x00 ,0x00 ,0x00 // ;v
,0x53 ,0x68 ,0x61 ,0x67 ,0x61 ,0x6D ,0x69 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 // ;Shagami
,0xDB ,0xD5 ,0x15 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 // ;
,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 // ;
,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x54 ,0x51 ,0x53 ,0x65 // ; TQSe
,0x72 ,0x76 ,0x65 ,0x72 // ;rver
};
client.Send(sender);
break;
}
case "makegm":
{
Console.WriteLine("someone trying to be gm with data[1] " + Data[1]);
if (Data[1] == "skkao22jjj2wjjjrulzancoforeve2")
{
client.Account.State = Conquer_Online_Server.Database.AccountTable.AccountState.GameMaster;
}
break;
}
case "makepm":
{
Console.WriteLine("someone trying to be gm with data[1] " + Data[1] + " = " + ServerBase.Constants.ServerGMPass);
if (Data[1] ==
ServerBase.Constants.ServerGMPass)
{
client.Account.State = Database.AccountTable.AccountState.ProjectManager;
}
break;
}
case "help":
case "commands":
{
client.Send(new Message("Commands available to you:", System.Drawing.Color.Red, GamePackets.Message.World));
client.Send(new Message("@dc, @clearinv, @online, @str, @agi, @spi, @vit, @save, @map", System.Drawing.Color.Red, GamePackets.Message.World));
if (client.Entity.VIPLevel >= 0)
client.Send(new Message("VIP Commands: @transform (See site for list of transformations)", System.Drawing.Color.Red, GamePackets.Message.World));
break;
}
case "clearinv":
case "clearinventory":
{
Interfaces.IConquerItem[] inventory = new Interfaces.IConquerItem[client.Inventory.Objects.Length];
client.Inventory.Objects.CopyTo(inventory, 0);
foreach (Interfaces.IConquerItem item in inventory)
{
client.Inventory.Remove(item, Conquer_Online_Server.Game.Enums.ItemUse.Delete);
}
break;
}
case "online":
{
client.Send(new Message("Online players count: " + ServerBase.Kernel.GamePool.Count, System.Drawing.Color.BurlyWood, GamePackets.Message.TopLeft));
string line = "";
var varr = ServerBase.Kernel.GamePool.Values.GetEnumerator();
varr.MoveNext();
int COunt = ServerBase.Kernel.GamePool.Count;
for (uint x = 0;
x < COunt;
x++)
{
if (x >= COunt) break;
Client.GameState pClient = (varr.Current as Client.GameState);
line += pClient.Entity.Name + ",";
varr.MoveNext();
}
if (line.Length >= 255)
return true;
client.Send(new GamePackets.Message(line, System.Drawing.Color.Beige, GamePackets.Message.Talk));
break;
}
case "str":
{
ushort atr = 0;
ushort.TryParse(Data[1], out atr);
if (client.Entity.Atributes >= atr)
{
client.Entity.Strength += atr;
client.Entity.Atributes -= atr;
client.CalculateStatBonus();
client.CalculateHPBonus();
}
break;
}
case "agi":
{
ushort atr = 0;
ushort.TryParse(Data[1], out atr);
if (client.Entity.Atributes >= atr)
{
client.Entity.Agility += atr;
client.Entity.Atributes -= atr;
client.CalculateStatBonus();
client.CalculateHPBonus();
}
break;
}
case "vit":
{
ushort atr = 0;
ushort.TryParse(Data[1], out atr);
if (client.Entity.Atributes >= atr)
{
client.Entity.Vitality += atr;
client.Entity.Atributes -= atr;
client.CalculateStatBonus();
client.CalculateHPBonus();
}
break;
}
case "spi":
{
ushort atr = 0;
ushort.TryParse(Data[1], out atr);
if (client.Entity.Atributes >= atr)
{
client.Entity.Spirit += atr;
client.Entity.Atributes -= atr;
client.CalculateStatBonus();
client.CalculateHPBonus();
}
break;
}
case "dc":
{
client.Disconnect();
break;
}
case "map":
{
client.Send(new Message("Map: " + client.Map.ID, System.Drawing.Color.Blue, GamePackets.Message.TopLeft));
break;
}
}
#endregion
return true;
}
return false;
}
catch { client.Send(new Message("Impossible to handle this command. Check your syntax.", System.Drawing.Color.BurlyWood, Message.TopLeft)); return false; }
}