yesterday i buy source with chi but i dont know how to fix chi with command or with something else from navicat database dont have nothing with chi if someone know let me help thanks.
[Only registered and activated users can see links. Click Here To Register...] i want to fix these all to 400 points understand but i dont know how i searched in source but i dont found nothing ?Quote:
Just another post with no explanation what source it is, is it binary, whats the problem in details, i'm guessing trinity. However i won't help you because you didn't explain nothing, so no.
sorry i dont understand alot of this things can you explain me more what to do with these codes?Quote:
[Only registered and activated users can see links. Click Here To Register...]
bro in source i have 4 files, ChiPowerStructure , ChiTable, Chi , ChiPowersQuote:
in ur checkcommand code
search for any existing command like "cps" for example
and put it
#region Melee
else if (attack.AttackType == Attack.Melee)
{
if (attacker.Owner.Screen.TryGetValue(attack.Attacked, out attacked))
{
if (!attacker.Owner.AlternateEquipment)
{
CheckForExtraWeaponPowers(attacker.Owner, attacked);
}
else
{
CheckForExtraWeaponPowers2(attacker.Owner, attacked);
}
if (!CanAttack(attacker, attacked, null, attack.AttackType == Attack.Melee))
return;
pass = false;
if (attacker.OnFatalStrike())
{
if (attacked.EntityFlag == EntityFlag.Monster)
{
pass = true;
}
}
ushort range = attacker.AttackRange;
if (attacker.Transformed)
range = (ushort)attacker.TransformationAttackRange;
if (ServerBase.Kernel.GetDistance(attacker.X, attacker.Y, attacked.X, attacked.Y) <= range || pass)
{
attack.Effect1 = Attack.AttackEffects1.None;
uint damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack);
attack.Damage = damage;
if (attacker.OnFatalStrike())
{
if (attacked.EntityFlag == EntityFlag.Monster)
{
if (!attacker.Owner.AlternateEquipment)
{
bool can = false;
if (!attacker.Owner.Equipment.Free((byte)ConquerItem.RightWeapon))
if (attacker.Owner.Equipment.TryGetItem((byte)ConquerItem.RightWeapon).ID / 1000 == 601)
can = true;
if (!attacker.Owner.Equipment.Free((byte)ConquerItem.LeftWeapon))
if (attacker.Owner.Equipment.TryGetItem((byte)ConquerItem.LeftWeapon).ID / 1000 == 601)
can = true;
if (!attacker.Owner.Equipment.Free((byte)ConquerItem.RightWeapon))
if (attacker.Owner.Equipment.TryGetItem((byte)ConquerItem.RightWeapon).ID / 1000 == 511)
can = true;
if (!attacker.Owner.Equipment.Free((byte)ConquerItem.LeftWeapon))
if (attacker.Owner.Equipment.TryGetItem((byte)ConquerItem.LeftWeapon).ID / 1000 == 511)
can = true;
if (!can)
return;
ushort x = attacked.X;
ushort y = attacked.Y;
Map.UpdateCoordonatesForAngle(ref x, ref y, ServerBase.Kernel.GetAngle(attacked.X, attacked.Y, attacker.X, attacker.Y));
attacker.Shift(x, y);
attack.X = x;
attack.Y = y;
attack.AttackType = Attack.FatalStrike;
}
else
{
bool can = false;
if (!attacker.Owner.Equipment.Free((byte)ConquerItem.AltRightHand))
if (attacker.Owner.Equipment.TryGetItem((byte)ConquerItem.AltRightHand).ID / 1000 == 601)
can = true;
if (!attacker.Owner.Equipment.Free((byte)ConquerItem.AltLeftHand))
if (attacker.Owner.Equipment.TryGetItem((byte)ConquerItem.AltLeftHand).ID / 1000 == 601)
can = true;
if (!attacker.Owner.Equipment.Free((byte)ConquerItem.AltRightHand))
if (attacker.Owner.Equipment.TryGetItem((byte)ConquerItem.AltRightHand).ID / 1000 == 511)
can = true;
if (!attacker.Owner.Equipment.Free((byte)ConquerItem.AltLeftHand))
if (attacker.Owner.Equipment.TryGetItem((byte)ConquerItem.AltLeftHand).ID / 1000 == 511)
can = true;
if (!can)
return;
ushort x = attacked.X;
ushort y = attacked.Y;
Map.UpdateCoordonatesForAngle(ref x, ref y, ServerBase.Kernel.GetAngle(attacked.X, attacked.Y, attacker.X, attacker.Y));
attacker.Shift(x, y);
attack.X = x;
attack.Y = y;
attack.AttackType = Attack.FatalStrike;
}
}
}
//over:
if (!attacker.Owner.AlternateEquipment)
{
if (!attacker.Owner.Equipment.Free((byte)ConquerItem.RightWeapon))
{
Interfaces.IConquerItem rightweapon = attacker.Owner.Equipment.TryGetItem((byte)ConquerItem.RightWeapon);
ushort wep1subyte = (ushort)(rightweapon.ID / 1000), wep2subyte = 0;
bool wep1bs = false, wep2bs = false;
/*if (wep1subyte == 421)
{
wep1bs = true;
wep1subyte = 420;
}
if (wep1subyte == 511)
{
wep1bs = true;
wep1subyte = 601;
}*/
ushort wep1spellid = 0, wep2spellid = 0;
if (Database.SpellTable.WeaponSpells.ContainsKey(wep1subyte))
{
wep1spellid = Database.SpellTable.WeaponSpells[wep1subyte];
}
/*if (wep1subyte == 601 || wep1subyte == 511)
{
if (Database.SpellTable.WeaponSpells.ContainsKey(11230))
{
wep1spellid = 11230;
}
}*/
Database.SpellInformation wep1spell = null, wep2spell = null;
bool doWep1Spell = false, doWep2Spell = false;
if (attacker.Owner.Spells.ContainsKey(wep1spellid) && Database.SpellTable.SpellInformations.ContainsKey(wep1spellid))
{
wep1spell = Database.SpellTable.SpellInformations[wep1spellid][attacker.Owner.Spells[wep1spellid].Level];
if (wep1spell != null)
{
doWep1Spell = ServerBase.Kernel.Rate(wep1spell.Percent);
}
}
if (!doWep1Spell)
{
if (!attacker.Owner.Equipment.Free((byte)ConquerItem.LeftWeapon))
{
Interfaces.IConquerItem leftweapon = attacker.Owner.Equipment.TryGetItem((byte)ConquerItem.LeftWeapon);
wep2subyte = (ushort)(leftweapon.ID / 1000);
/* if (wep2subyte == 421)
{
wep2bs = true;
wep2subyte = 420;
}
if (wep2subyte == 511)
{
wep2bs = true;
wep2subyte=601;
}*/
if (wep2subyte == 900 || leftweapon.ID == 1050002)
{
return;
}
if (Database.SpellTable.WeaponSpells.ContainsKey(wep2subyte))
{
wep2spellid = Database.SpellTable.WeaponSpells[wep2subyte];
}
if (attacker.Owner.Spells.ContainsKey(wep2spellid) && Database.SpellTable.SpellInformations.ContainsKey(wep2spellid))
{
wep2spell = Database.SpellTable.SpellInformations[wep2spellid][attacker.Owner.Spells[wep2spellid].Level];
if (wep2spell != null)
{
doWep2Spell = ServerBase.Kernel.Rate(wep2spell.Percent);
}
}
}
}
if (!attacker.Transformed)
{
if (doWep1Spell)
{
attack.AttackType = Attack.Magic;
attack.Decoded = true;
attack.X = attacked.X;
attack.Y = attacked.Y;
attack.Attacked = attacked.UID;
attack.Damage = wep1spell.ID;
goto restart;
}
if (doWep2Spell)
{
attack.AttackType = Attack.Magic;
attack.Decoded = true;
attack.X = attacked.X;
attack.Y = attacked.Y;
attack.Attacked = attacked.UID;
attack.Damage = wep2spell.ID;
goto restart;
}
if (wep1bs)
wep1subyte++;
if (attacker.EntityFlag == EntityFlag.Player && attacked.EntityFlag != EntityFlag.Player)
if (damage > attacked.Hitpoints)
{
attacker.Owner.IncreaseProficiencyExperience(Math.Min(damage, attacked.Hitpoints), wep1subyte);
if (wep2subyte != 0)
{
if (wep2bs)
wep2subyte++;
attacker.Owner.IncreaseProficiencyExperience(Math.Min(damage, attacked.Hitpoints), wep2subyte);
}
}
else
{
attacker.Owner.IncreaseProficiencyExperience(damage, wep1subyte);
if (wep2subyte != 0)
{
if (wep2bs)
wep2subyte++;
attacker.Owner.IncreaseProficiencyExperience(damage, wep2subyte);
}
}
}
}
else
{
if (!attacker.Transformed)
{
if (attacker.EntityFlag == EntityFlag.Player && attacked.EntityFlag != EntityFlag.Player)
if (damage > attacked.Hitpoints)
{
attacker.Owner.IncreaseProficiencyExperience(Math.Min(damage, attacked.Hitpoints), 0);
}
else
{
attacker.Owner.IncreaseProficiencyExperience(damage, 0);
}
}
}
}
else
{
if (!attacker.Owner.Equipment.Free((byte)ConquerItem.AltRightHand))
{
Interfaces.IConquerItem rightweapon = attacker.Owner.Equipment.TryGetItem((byte)ConquerItem.AltRightHand);
ushort wep1subyte = (ushort)(rightweapon.ID / 1000), wep2subyte = 0;
bool wep1bs = false, wep2bs = false;
/* if (wep1subyte == 421)
{
wep1bs = true;
wep1subyte = 420;
}
if (wep1subyte == 511)
{
wep1bs = true;
wep1subyte = 601;
}*/
ushort wep1spellid = 0, wep2spellid = 0;
if (Database.SpellTable.WeaponSpells.ContainsKey(wep1subyte))
{
wep1spellid = Database.SpellTable.WeaponSpells[wep1subyte];
}
Database.SpellInformation wep1spell = null, wep2spell = null;
bool doWep1Spell = false, doWep2Spell = false;
if (attacker.Owner.Spells.ContainsKey(wep1spellid) && Database.SpellTable.SpellInformations.ContainsKey(wep1spellid))
{
wep1spell = Database.SpellTable.SpellInformations[wep1spellid][attacker.Owner.Spells[wep1spellid].Level];
doWep1Spell = ServerBase.Kernel.Rate(wep1spell.Percent);
}
if (!doWep1Spell)
{
if (!attacker.Owner.Equipment.Free((byte)ConquerItem.AltLeftHand))
{
Interfaces.IConquerItem leftweapon = attacker.Owner.Equipment.TryGetItem((byte)ConquerItem.AltLeftHand);
wep2subyte = (ushort)(leftweapon.ID / 1000);
/* if (wep2subyte == 421)
{
wep2bs = true;
wep2subyte = 420;
}
if (wep2subyte == 511)
{
wep2bs = true;
wep2subyte = 601;
}*/
if (wep2subyte == 900 || leftweapon.ID == 1050002)
{
return;
}
if (Database.SpellTable.WeaponSpells.ContainsKey(wep2subyte))
{
wep2spellid = Database.SpellTable.WeaponSpells[wep2subyte];
}
if (attacker.Owner.Spells.ContainsKey(wep2spellid) && Database.SpellTable.SpellInformations.ContainsKey(wep2spellid))
{
wep2spell = Database.SpellTable.SpellInformations[wep2spellid][attacker.Owner.Spells[wep2spellid].Level];
doWep2Spell = ServerBase.Kernel.Rate(wep2spell.Percent);
}
}
}
if (!attacker.Transformed)
{
if (doWep1Spell)
{
attack.AttackType = Attack.Magic;
attack.Decoded = true;
attack.X = attacked.X;
attack.Y = attacked.Y;
attack.Attacked = attacked.UID;
attack.Damage = wep1spell.ID;
goto restart;
}
if (doWep2Spell)
{
attack.AttackType = Attack.Magic;
attack.Decoded = true;
attack.X = attacked.X;
attack.Y = attacked.Y;
attack.Attacked = attacked.UID;
attack.Damage = wep2spell.ID;
goto restart;
}
if (wep1bs)
wep1subyte++;
if (attacker.EntityFlag == EntityFlag.Player && attacked.EntityFlag != EntityFlag.Player)
if (damage > attacked.Hitpoints)
{
attacker.Owner.IncreaseProficiencyExperience(Math.Min(damage, attacked.Hitpoints), wep1subyte);
if (wep2subyte != 0)
{
if (wep2bs)
wep2subyte++;
attacker.Owner.IncreaseProficiencyExperience(Math.Min(damage, attacked.Hitpoints), wep2subyte);
}
}
else
{
attacker.Owner.IncreaseProficiencyExperience(damage, wep1subyte);
if (wep2subyte != 0)
{
if (wep2bs)
wep2subyte++;
attacker.Owner.IncreaseProficiencyExperience(damage, wep2subyte);
}
}
}
}
else
{
if (!attacker.Transformed)
{
if (attacker.EntityFlag == EntityFlag.Player && attacked.EntityFlag != EntityFlag.Player)
if (damage > attacked.Hitpoints)
{
attacker.Owner.IncreaseProficiencyExperience(Math.Min(damage, attacked.Hitpoints), 0);
}
else
{
attacker.Owner.IncreaseProficiencyExperience(damage, 0);
}
}
}
}
ReceiveAttack(attacker, attacked, attack, damage, null);
attack.AttackType = Attack.Melee;
}
else
{
attacker.AttackPacket = null;
}
}
else if (attacker.Owner.Screen.TryGetSob(attack.Attacked, out attackedsob))
{
// Console.WriteLine("Ss");
if (CanAttack(attacker, attackedsob, null))
{
ushort range = attacker.AttackRange;
if (attacker.Transformed)
range = (ushort)attacker.TransformationAttackRange;
if (ServerBase.Kernel.GetDistance(attacker.X, attacker.Y, attackedsob.X, attackedsob.Y) <= range)
{
attack.Effect1 = Attack.AttackEffects1.None;
uint damage = Game.Attacking.Calculate.Melee(attacker, attackedsob, ref attack);
if (!attacker.Owner.AlternateEquipment)
{
if (!attacker.Owner.Equipment.Free((byte)ConquerItem.RightWeapon))
{
Interfaces.IConquerItem rightweapon = attacker.Owner.Equipment.TryGetItem((byte)ConquerItem.RightWeapon);
ushort wep1subyte = (ushort)(rightweapon.ID / 1000), wep2subyte = 0;
//bool wep1bs = false, wep2bs = false;
/* if (wep1subyte == 421)
{
wep1bs = true;
wep1subyte=420;
}
if (wep1subyte == 511)
{
wep1bs = true;
wep1subyte=601;
}*/
ushort wep1spellid = 0, wep2spellid = 0;
if (Database.SpellTable.WeaponSpells.ContainsKey(wep1subyte))
wep1spellid = Database.SpellTable.WeaponSpells[wep1subyte];
Database.SpellInformation wep1spell = null, wep2spell = null;
bool doWep1Spell = false, doWep2Spell = false;
if (attacker.Owner.Spells.ContainsKey(wep1spellid) && Database.SpellTable.SpellInformations.ContainsKey(wep1spellid))
{
wep1spell = Database.SpellTable.SpellInformations[wep1spellid][attacker.Owner.Spells[wep1spellid].Level];
doWep1Spell = ServerBase.Kernel.Rate(wep1spell.Percent);
}
if (!doWep1Spell)
{
if (!attacker.Owner.Equipment.Free((byte)ConquerItem.LeftWeapon))
{
Interfaces.IConquerItem leftweapon = attacker.Owner.Equipment.TryGetItem((byte)ConquerItem.LeftWeapon);
wep2subyte = (ushort)(leftweapon.ID / 1000);
/* if (wep2subyte == 421)
{
wep2bs = true;
wep2subyte = 420;
}
if (wep2subyte == 511)
{
wep2bs = true;
wep2subyte = 601;
}*/
if (Database.SpellTable.WeaponSpells.ContainsKey(wep2subyte))
wep2spellid = Database.SpellTable.WeaponSpells[wep2subyte];
if (attacker.Owner.Spells.ContainsKey(wep2spellid) && Database.SpellTable.SpellInformations.ContainsKey(wep2spellid))
{
wep2spell = Database.SpellTable.SpellInformations[wep2spellid][attacker.Owner.Spells[wep2spellid].Level];
doWep2Spell = ServerBase.Kernel.Rate(wep2spell.Percent);
}
}
}
if (!attacker.Transformed)
{
if (doWep1Spell)
{
attack.AttackType = Attack.Magic;
attack.Decoded = true;
attack.X = attackedsob.X;
attack.Y = attackedsob.Y;
attack.Attacked = attackedsob.UID;
attack.Damage = wep1spell.ID;
goto restart;
}
if (doWep2Spell)
{
attack.AttackType = Attack.Magic;
attack.Decoded = true;
attack.X = attackedsob.X;
attack.Y = attackedsob.Y;
attack.Attacked = attackedsob.UID;
attack.Damage = wep2spell.ID;
goto restart;
}
if (attacker.MapID == 1039)
{
/* if (wep1bs)
wep1subyte++;*/
if (attacker.EntityFlag == EntityFlag.Player)
if (damage > attackedsob.Hitpoints)
{
attacker.Owner.IncreaseProficiencyExperience(Math.Min(damage, attackedsob.Hitpoints), wep1subyte);
if (wep2subyte != 0)
{
/* if (wep2bs)
wep2subyte++;*/
attacker.Owner.IncreaseProficiencyExperience(Math.Min(damage, attackedsob.Hitpoints), wep2subyte);
}
}
else
{
attacker.Owner.IncreaseProficiencyExperience(damage, wep1subyte);
if (wep2subyte != 0)
{
/*if (wep2bs)
wep2subyte++;*/
attacker.Owner.IncreaseProficiencyExperience(damage, wep2subyte);
}
}
}
}
}
}
else
{
if (!attacker.Owner.Equipment.Free((byte)ConquerItem.AltRightHand))
{
Interfaces.IConquerItem rightweapon = attacker.Owner.Equipment.TryGetItem((byte)ConquerItem.AltRightHand);
ushort wep1subyte = (ushort)(rightweapon.ID / 1000), wep2subyte = 0;
bool wep1bs = false, wep2bs = false;
/*if (wep1subyte == 421)
{
wep1bs = true;
wep1subyte = 420;
}
if (wep1subyte == 511)
{
wep1bs = true;
wep1subyte = 601;
}*/
ushort wep1spellid = 0, wep2spellid = 0;
if (Database.SpellTable.WeaponSpells.ContainsKey(wep1subyte))
wep1spellid = Database.SpellTable.WeaponSpells[wep1subyte];
Database.SpellInformation wep1spell = null, wep2spell = null;
bool doWep1Spell = false, doWep2Spell = false;
if (attacker.Owner.Spells.ContainsKey(wep1spellid) && Database.SpellTable.SpellInformations.ContainsKey(wep1spellid))
{
wep1spell = Database.SpellTable.SpellInformations[wep1spellid][attacker.Owner.Spells[wep1spellid].Level];
doWep1Spell = ServerBase.Kernel.Rate(wep1spell.Percent);
}
if (!doWep1Spell)
{
if (!attacker.Owner.Equipment.Free((byte)ConquerItem.AltLeftHand))
{
Interfaces.IConquerItem leftweapon = attacker.Owner.Equipment.TryGetItem((byte)ConquerItem.AltLeftHand);
wep2subyte = (ushort)(leftweapon.ID / 1000);
/* if (wep2subyte == 421)
{
wep2bs = true;
wep2subyte = 420;
}
if (wep2subyte == 511)
{
wep2bs = true;
wep2subyte = 601;
}*/
if (Database.SpellTable.WeaponSpells.ContainsKey(wep2subyte))
wep2spellid = Database.SpellTable.WeaponSpells[wep2subyte];
if (attacker.Owner.Spells.ContainsKey(wep2spellid) && Database.SpellTable.SpellInformations.ContainsKey(wep2spellid))
{
wep2spell = Database.SpellTable.SpellInformations[wep2spellid][attacker.Owner.Spells[wep2spellid].Level];
doWep2Spell = ServerBase.Kernel.Rate(wep2spell.Percent);
}
}
}
if (!attacker.Transformed)
{
if (doWep1Spell)
{
attack.AttackType = Attack.Magic;
attack.Decoded = true;
attack.X = attackedsob.X;
attack.Y = attackedsob.Y;
attack.Attacked = attackedsob.UID;
attack.Damage = wep1spell.ID;
goto restart;
}
if (doWep2Spell)
{
attack.AttackType = Attack.Magic;
attack.Decoded = true;
attack.X = attackedsob.X;
attack.Y = attackedsob.Y;
attack.Attacked = attackedsob.UID;
attack.Damage = wep2spell.ID;
goto restart;
}
if (attacker.MapID == 1039)
{
if (wep1bs)
wep1subyte++;
if (attacker.EntityFlag == EntityFlag.Player)
if (damage > attackedsob.Hitpoints)
{
attacker.Owner.IncreaseProficiencyExperience(Math.Min(damage, attackedsob.Hitpoints), wep1subyte);
if (wep2subyte != 0)
{
if (wep2bs)
wep2subyte++;
attacker.Owner.IncreaseProficiencyExperience(Math.Min(damage, attackedsob.Hitpoints), wep2subyte);
}
}
else
{
attacker.Owner.IncreaseProficiencyExperience(damage, wep1subyte);
if (wep2subyte != 0)
{
if (wep2bs)
wep2subyte++;
attacker.Owner.IncreaseProficiencyExperience(damage, wep2subyte);
}
}
}
}
}
}
attack.Damage = damage;
ReceiveAttack(attacker, attackedsob, attack, damage, null);
}
else
{
attacker.AttackPacket = null;
}
}
}
else
{
attacker.AttackPacket = null;
}
}
#endregion