Help with Chi

05/26/2014 00:06 Balce2#1
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.
05/26/2014 00:09 Wolfy.#2
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.
05/26/2014 00:27 Balce2#3
Quote:
Originally Posted by Wolfy. View Post
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.
[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 ?
05/26/2014 02:43 Aceking#4
Someone has to be making a killing off selling these half asses sources left and right....
05/26/2014 03:23 abdoumatrix#5
[Only registered and activated users can see links. Click Here To Register...]
05/29/2014 01:52 Balce2#6
Quote:
Originally Posted by abdoumatrix View Post
[Only registered and activated users can see links. Click Here To Register...]
sorry i dont understand alot of this things can you explain me more what to do with these codes?
05/29/2014 03:43 abdoumatrix#7
Quote:
Originally Posted by Balce2 View Post
sorry i dont understand alot of this things can you explain me more what to do with these codes?
this commands used to edit chi points

make it 400
05/31/2014 02:54 Balce2#8
Quote:
Originally Posted by abdoumatrix View Post
this commands used to edit chi points

make it 400
but where to put they codes ?
05/31/2014 11:57 abdoumatrix#9
in ur checkcommand code

search for any existing command like "cps" for example
and put it
05/31/2014 17:20 Balce2#10
Quote:
Originally Posted by abdoumatrix View Post
in ur checkcommand code

search for any existing command like "cps" for example
and put it
bro in source i have 4 files, ChiPowerStructure , ChiTable, Chi , ChiPowers
first code i put it in ChiTable others two codes i dont know where to put it in @name 1 2 3 4 and this code
public enum ChiPowerType
{
None = 0 ,
Dragon = 1 ,
Phoenix ,
Tiger ,
Turtle
} [/CODE] i dont know where to put this codes..
06/07/2014 15:29 arneljan#11
i have source 5735 with chi but the problem on it is the handle of one handed and two handed weapon pure warrior the one handed weapon if you use shield it wont dmg or hit in monster and the two handed weapon cant wear shield it will take off if you try right click the shield to use.

PM Me if You want It ill give some.
06/07/2014 16:54 abdoumatrix#12
then u had to check ur handle attack codes


what the hell the chi had to do with attacking problem?
06/07/2014 17:10 arneljan#13
PHP Code:
#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 
Thats the Handle hard to fixe i dont know what to do.
06/07/2014 18:08 abdoumatrix#14
just breakpoint the first part of the code and trace the codes with F11
that is much better than we trace it with own eyes

[Only registered and activated users can see links. Click Here To Register...]
use it, it is very usefull.
06/07/2014 22:04 arneljan#15
ok ill chick it