i would like to give player item with a comand and i can make it bound and have effect like ( /give player item heartnecklace super 12 7 255 13 13 1 HP )
this wil give player +12 -7 255 HP , 2dragon gem bound item and it have health regan
here my give code can you help me with it please
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 "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.V alues)
{
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;
{
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 "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.V alues)
{
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;