المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : مطلوب شرح حماية اللعبة من الهاك


ahmedfathy
2019-07-20, 09:44 PM
مطلوب شرح حماية اللعبة من الهاك
يا رجاله الناس عندي بردوه بتشغل هاك في اللعبة ومش لقي حل

معني شغال بي لودر اكس ميجوا وبيشغله هاك بدروه
ياريت حل

Hassan Emprator
2019-07-20, 09:57 PM
لو انت بي لودر ميجو عا النت هيشغلو هاك لو انت شاري بتاع ميجو المدفوع مش هتلاقي الهاك واي هاك تعرفه هتكتبه في السورس كدا الهاك اتمنع حاول تتشري لودر ميجو الاصلي

Rider
2019-07-20, 10:46 PM
للاسف مفيش لودر كامل 100% حتي كونكر اونلاين فيها هاك

ايه نوع الهاك الي بيشتغل عندك عشان نشوفله حل ؟

ahmedfathy
2019-07-20, 11:56 PM
للاسف مفيش لودر كامل 100% حتي كونكر اونلاين فيها هاك

ايه نوع الهاك الي بيشتغل عندك عشان نشوفله حل ؟
شكرآ علي ردك وانت راجل محترم الاتو كليكر بيشتغل علي لودر ميجوا والكليكر ومش لقي حل

Rider
2019-07-21, 05:48 AM
حبيبي العفو

في حل مش فعال بس اهو يقضي الغرض
بسم الله و الصلاة و السلام علي رسول الله
هتيجي عند الاسكله الي عايز تشيل منها الاوتو كلكر

ف الشرح هنشتغل ع اسكلة النينجا

#region SuperTwofoldBlade
case 12080:
{
if (CanUseSpell(spell, attacker.Owner))
{
//var dis = spell.Distance;
//if (Kernel.GetDistance(attacker.X, attacker.Y, X, Y) <= dis)
if (Kernel.GetDistance(attacker.X, attacker.Y, X, Y) <= spell.Distance)
{
PrepareSpell(spell, attacker.Owner);

SpellUse suse = new SpellUse(true);
suse.Attacker = attacker.UID;
suse.SpellID = spell.ID;
suse.SpellLevel = spell.Level;
suse.X = X;
suse.Y = Y;
//suse.SpellLevelHu = client_Spell.UseSpell;
Game.Attacking.InLineAlgorithm ila = new KhaledMohamed.Game.Attacking.InLineAlgorithm(attac ker.X,
X, attacker.Y, Y, (byte)spell.Range, InLineAlgorithm.Algorithm.DDA);
bool aaAttack = false;
var Array = attacker.Owner.Screen.Objects;
foreach (Interfaces.IMapObject _obj in Array)
{
if (_obj.MapObjType == MapObjectType.Monster)
{
attacked = _obj as Entity;
if (Kernel.GetDistance(attacker.X, attacker.Y, attacked.X, attacked.Y) <= 7)
{
if (attacked.UID == Target)
{
if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee))
{
aaAttack = true;
var damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack, client_Spell.LevelHu2);
damage = (uint)(damage * 1.4);
ReceiveAttack(attacker, attacked, attack, ref damage, spell);

suse.AddTarget(attacked, damage, attack);
}
}
else if (ila.InLine(attacked.X, attacked.Y))
{
if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee))
{
aaAttack = true;
var damage = Game.Attacking.Calculate.Melee(attacker, attacked, spell, ref attack, client_Spell.LevelHu2);
damage = (uint)(damage * 0.1);
ReceiveAttack(attacker, attacked, attack, ref damage, spell);

suse.AddTarget(attacked, damage, attack);
}
}
}
}
else if (_obj.MapObjType == MapObjectType.Entity)
{
attacked = _obj as Entity;
if (Kernel.GetDistance(attacker.X, attacker.Y, attacked.X, attacked.Y) <= 7)
{
if (attacked.UID == Target)
{
if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee))
{
aaAttack = true;
var damage = Game.Attacking.Calculate.Ranged(attacker, attacked, ref attack, client_Spell.LevelHu2);
damage = (uint)(damage * 80 / 100);
ReceiveAttack(attacker, attacked, attack, ref damage, spell);

suse.AddTarget(attacked, damage, attack);
}
}
}
}
else if (_obj.MapObjType == MapObjectType.SobNpc)
{
attackedsob = _obj as SobNpcSpawn;
if (attackedsob.UID == Target)
{
if (CanAttack(attacker, attackedsob, spell))
{
aaAttack = true;
// if (!moveIn.InRange(attackedsob.X, attackedsob.Y, 4, ranger))
// continue;
var damage = Game.Attacking.Calculate.Melee(attacker, attackedsob, ref attack);
damage = (uint)(damage * 2.4);
ReceiveAttack(attacker, attackedsob, attack, damage, spell);
suse.AddTarget(attackedsob, damage, attack);
}
}
}
}
if (aaAttack)
attacker.Owner.SendScreen(suse, true);
//attacker.RadiantStamp = DateTime.Now;
}

}
break;
}


#endregion
و دي بعد الاضافه #region SuperTwofoldBlade
case 12080:
{
if (Time32.Now >= attacker.SpellStamp.AddMilliseconds(500))
{
if (CanUseSpell(spell, attacker.Owner))
{
ushort Xx, Yx;
if (attacked != null)
{
Xx = attacked.X;
Yx = attacked.Y;
}
else
{
Xx = attackedsob.X;
Yx = attackedsob.Y;
}
if (Kernel.GetDistance(attacker.X, attacker.Y, Xx, Yx) <= spell.Distance)
{
if (attackedsob == null)
if (attacked.ContainsFlag(Update.Flags.Fly))
return;
if (attacker.ContainsFlag(Update.Flags.Fly))
return;
PrepareSpell(spell, attacker.Owner);

SpellUse suse = new SpellUse(true);
suse.Attacker = attacker.UID;
suse.SpellID = spell.ID;
suse.SpellLevel = spell.Level;
suse.X = X;
suse.Y = Y;
bool send = false;

if (attackedsob == null)
{
if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee))
{
attack.Effect1 = Attack.AttackEffects1.None;
uint damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack);

if (attacker.NobilityRank == HemaProject.Game.ConquerStructures.NobilityRank.Ki ng)
{
damage = (uint)(damage * 0.9);
}
if (attacker.NobilityRank == HemaProject.Game.ConquerStructures.NobilityRank.Pr ince)
{
damage = (uint)(damage * 0.8);
}
if (attacker.NobilityRank == HemaProject.Game.ConquerStructures.NobilityRank.Du ke)
{
damage = (uint)(damage * 0.7);
}
if (attacker.NobilityRank == HemaProject.Game.ConquerStructures.NobilityRank.Ea rl)
{
damage = (uint)(damage * 0.6);
}

suse.Effect1 = attack.Effect1;
ReceiveAttack(attacker, attacked, attack, ref damage, spell);

suse.AddTarget(attacked, damage, attack);
send = true;

if (attacker.Owner.Spells.ContainsKey(0) && !attacked.Dead)
{
var s = attacker.Owner.Spells[0];
var spellz = Database.SpellTable.SpellInformations[s.ID][s.Level];
if (spellz != null)
{
if (Kernel.Rate(spellz.Percent))
{
SpellUse ssuse = new SpellUse(true);
ssuse.Attacker = attacker.UID;
ssuse.SpellID = spellz.ID;

ssuse.SpellLevel = spellz.Level;
damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack);
ssuse.AddTarget(attacked, new SpellUse.DamageClass().Damage = damage, attack);
ReceiveAttack(attacker, attacked, attack, ref damage, spell);
attacker.Owner.SendScreen(ssuse, true);
}
}
}
}
}
else
{
if (CanAttack(attacker, attackedsob, spell))
{
attack.Effect1 = Attack.AttackEffects1.None;
uint damage = Game.Attacking.Calculate.Melee(attacker, attackedsob, ref attack);
damage = (uint)(damage * 180 / 100);
ReceiveAttack(attacker, attackedsob, attack, damage, spell);
suse.Effect1 = attack.Effect1;

suse.AddTarget(attackedsob, damage, attack);
send = true;
}
}
if (send)
attacker.Owner.SendScreen(suse, true);
attacker.SpellStamp = Time32.Now;
}
else
{
attacker.AttackPacket = null;
}
}
}
break;
}

#endregion
طب احنا ضفنا ايه
بعد فتحة القوس الي بعد الاسكله
case xxxx
{
هتضيف if (Time32.Now >= attacker.SpellStamp.AddMilliseconds(500))
{
بعد كده تنزل تحت لحد

if (aaAttack)
attacker.Owner.SendScreen(suse, true);
هتلافيها تحت خالص في اخر كود الاسكله
اول كلمه مش لازم تلاقيها نفس الشكل تاني كلمه لازم تلاقيها نفس الشكل المهم تحتها حط
attacker.SpellStamp = Time32.Now;
تحت خالص بقا في اخر الاسكله هتلاقي
break;
}
فوق كلمة بريك حط قفلة قوس
}
بس كده
مبروك عليك الاسكله مش هتضرب غير بعد المده دي و ده هيقلل الكلكر

Users
2019-07-21, 11:13 AM
حبيبي العفو

في حل مش فعال بس اهو يقضي الغرض
بسم الله و الصلاة و السلام علي رسول الله
هتيجي عند الاسكله الي عايز تشيل منها الاوتو كلكر

ف الشرح هنشتغل ع اسكلة النينجا

#region supertwofoldblade
case 12080:
{
if (canusespell(spell, attacker.owner))
{
//var dis = spell.distance;
//if (kernel.getdistance(attacker.x, attacker.y, x, y) <= dis)
if (kernel.getdistance(attacker.x, attacker.y, x, y) <= spell.distance)
{
preparespell(spell, attacker.owner);

spelluse suse = new spelluse(true);
suse.attacker = attacker.uid;
suse.spellid = spell.id;
suse.spelllevel = spell.level;
suse.x = x;
suse.y = y;
//suse.spelllevelhu = client_spell.usespell;
game.attacking.inlinealgorithm ila = new khaledmohamed.game.attacking.inlinealgorithm(attac ker.x,
x, attacker.y, y, (byte)spell.range, inlinealgorithm.algorithm.dda);
bool aaattack = false;
var array = attacker.owner.screen.objects;
foreach (interfaces.imapobject _obj in array)
{
if (_obj.mapobjtype == mapobjecttype.monster)
{
attacked = _obj as entity;
if (kernel.getdistance(attacker.x, attacker.y, attacked.x, attacked.y) <= 7)
{
if (attacked.uid == target)
{
if (canattack(attacker, attacked, spell, attack.attacktype == attack.melee))
{
aaattack = true;
var damage = game.attacking.calculate.melee(attacker, attacked, ref attack, client_spell.levelhu2);
damage = (uint)(damage * 1.4);
receiveattack(attacker, attacked, attack, ref damage, spell);

suse.addtarget(attacked, damage, attack);
}
}
else if (ila.inline(attacked.x, attacked.y))
{
if (canattack(attacker, attacked, spell, attack.attacktype == attack.melee))
{
aaattack = true;
var damage = game.attacking.calculate.melee(attacker, attacked, spell, ref attack, client_spell.levelhu2);
damage = (uint)(damage * 0.1);
receiveattack(attacker, attacked, attack, ref damage, spell);

suse.addtarget(attacked, damage, attack);
}
}
}
}
else if (_obj.mapobjtype == mapobjecttype.entity)
{
attacked = _obj as entity;
if (kernel.getdistance(attacker.x, attacker.y, attacked.x, attacked.y) <= 7)
{
if (attacked.uid == target)
{
if (canattack(attacker, attacked, spell, attack.attacktype == attack.melee))
{
aaattack = true;
var damage = game.attacking.calculate.ranged(attacker, attacked, ref attack, client_spell.levelhu2);
damage = (uint)(damage * 80 / 100);
receiveattack(attacker, attacked, attack, ref damage, spell);

suse.addtarget(attacked, damage, attack);
}
}
}
}
else if (_obj.mapobjtype == mapobjecttype.sobnpc)
{
attackedsob = _obj as sobnpcspawn;
if (attackedsob.uid == target)
{
if (canattack(attacker, attackedsob, spell))
{
aaattack = true;
// if (!movein.inrange(attackedsob.x, attackedsob.y, 4, ranger))
// continue;
var damage = game.attacking.calculate.melee(attacker, attackedsob, ref attack);
damage = (uint)(damage * 2.4);
receiveattack(attacker, attackedsob, attack, damage, spell);
suse.addtarget(attackedsob, damage, attack);
}
}
}
}
if (aaattack)
attacker.owner.sendscreen(suse, true);
//attacker.radiantstamp = datetime.now;
}

}
break;
}


#endregion
و دي بعد الاضافه #region supertwofoldblade
case 12080:
{
if (time32.now >= attacker.spellstamp.addmilliseconds(500))
{
if (canusespell(spell, attacker.owner))
{
ushort xx, yx;
if (attacked != null)
{
xx = attacked.x;
yx = attacked.y;
}
else
{
xx = attackedsob.x;
yx = attackedsob.y;
}
if (kernel.getdistance(attacker.x, attacker.y, xx, yx) <= spell.distance)
{
if (attackedsob == null)
if (attacked.containsflag(update.flags.fly))
return;
if (attacker.containsflag(update.flags.fly))
return;
preparespell(spell, attacker.owner);

spelluse suse = new spelluse(true);
suse.attacker = attacker.uid;
suse.spellid = spell.id;
suse.spelllevel = spell.level;
suse.x = x;
suse.y = y;
bool send = false;

if (attackedsob == null)
{
if (canattack(attacker, attacked, spell, attack.attacktype == attack.melee))
{
attack.effect1 = attack.attackeffects1.none;
uint damage = game.attacking.calculate.melee(attacker, attacked, ref attack);

if (attacker.nobilityrank == hemaproject.game.conquerstructures.nobilityrank.ki ng)
{
damage = (uint)(damage * 0.9);
}
if (attacker.nobilityrank == hemaproject.game.conquerstructures.nobilityrank.pr ince)
{
damage = (uint)(damage * 0.8);
}
if (attacker.nobilityrank == hemaproject.game.conquerstructures.nobilityrank.du ke)
{
damage = (uint)(damage * 0.7);
}
if (attacker.nobilityrank == hemaproject.game.conquerstructures.nobilityrank.ea rl)
{
damage = (uint)(damage * 0.6);
}

suse.effect1 = attack.effect1;
receiveattack(attacker, attacked, attack, ref damage, spell);

suse.addtarget(attacked, damage, attack);
send = true;

if (attacker.owner.spells.containskey(0) && !attacked.dead)
{
var s = attacker.owner.spells[0];
var spellz = database.spelltable.spellinformations[s.id][s.level];
if (spellz != null)
{
if (kernel.rate(spellz.percent))
{
spelluse ssuse = new spelluse(true);
ssuse.attacker = attacker.uid;
ssuse.spellid = spellz.id;

ssuse.spelllevel = spellz.level;
damage = game.attacking.calculate.melee(attacker, attacked, ref attack);
ssuse.addtarget(attacked, new spelluse.damageclass().damage = damage, attack);
receiveattack(attacker, attacked, attack, ref damage, spell);
attacker.owner.sendscreen(ssuse, true);
}
}
}
}
}
else
{
if (canattack(attacker, attackedsob, spell))
{
attack.effect1 = attack.attackeffects1.none;
uint damage = game.attacking.calculate.melee(attacker, attackedsob, ref attack);
damage = (uint)(damage * 180 / 100);
receiveattack(attacker, attackedsob, attack, damage, spell);
suse.effect1 = attack.effect1;

suse.addtarget(attackedsob, damage, attack);
send = true;
}
}
if (send)
attacker.owner.sendscreen(suse, true);
attacker.spellstamp = time32.now;
}
else
{
attacker.attackpacket = null;
}
}
}
break;
}

#endregion
طب احنا ضفنا ايه
بعد فتحة القوس الي بعد الاسكله
case xxxx
{
هتضيف if (time32.now >= attacker.spellstamp.addmilliseconds(500))
{
بعد كده تنزل تحت لحد

if (aaattack)
attacker.owner.sendscreen(suse, true);
هتلافيها تحت خالص في اخر كود الاسكله
اول كلمه مش لازم تلاقيها نفس الشكل تاني كلمه لازم تلاقيها نفس الشكل المهم تحتها حط
attacker.spellstamp = time32.now;
تحت خالص بقا في اخر الاسكله هتلاقي
break;
}
فوق كلمة بريك حط قفلة قوس
}
بس كده
مبروك عليك الاسكله مش هتضرب غير بعد المده دي و ده هيقلل الكلكر
فعلا الاكواد دى تمام انا ضايفها اى سورسى الجديد

Rider
2019-07-21, 03:04 PM
فعلا الاكواد دى تمام انا ضايفها اى سورسى الجديد

عاش بالتوفيق ان شاء الله