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

مشاهدة النسخة كاملة : مشكلة الاتاك handel احمد فتحي ارجو الحل بعد اذنكم


Abod ayman
2020-04-05, 02:37 AM
انا كنت نزلت مشكلة عن الاتاك بتاع الوحوش ان التربل اتاك مش شغال فيهم وبيضرب ويقف ونصحتوني اغير ملف ال هاندل واحط ملف احمد فتحي وعملت كده ونفس المشكلة وحطيت ملف هاندل تاني لقيته بيضرب ضربة وبيقف وغيرت ملف BigMonster كلو وبرضو التربل اتاك مش شغال كويس في الوحوش بس شغال في البولة كويس ممكن حل بعد اذنكم او ملف Handel تاني يكون التربل اتاك فكسد في الوحوش الكبيرة
ارجو الحل بعد اذنكم ضروري جدا والله لان السرفر شغال حاليا 3>

Tefa
2020-04-05, 03:03 AM
بدل ده بالي عندك
private void AutoAttackCallback(GameState client, int time)
{
if (!Valid(client)) return;
Time32 Now = new Time32(time);
#region WaniacDance
if (client.Player.EpicWarrior() && client.Player.ContainsFlag3(Update.Flags3.WaniacDa nce))
{
var spell = Database.SpellTable.GetSpell(12700, client);
SpellUse suse = new SpellUse(true);
suse.Attacker = client.Player.UID;
suse.SpellID = 12700;
suse.X = client.Player.X;
suse.Y = client.Player.Y;
foreach (var obj in client.Screen.Objects)
{
if (obj == null) continue;
var attacked = obj as Entity;
if (attacked == null) continue;
if (Kernel.GetDistance(client.Player.X, client.Player.Y, attacked.X, attacked.Y) < 6)
{
if (Game.Attacking.Handle.CanAttack(client.Player, attacked, null, true))
{
var attack = new Attack(true);
attack.Attacker = client.Player.UID;
attack.Attacked = attacked.UID;

uint damage = Game.Attacking.Calculate.Melee(client.Player, attacked, spell, ref attack);
attack.Damage = damage;
attack.SpellID = 12700;
suse.Effect1 = attack.Effect1;

Game.Attacking.Handle.ReceiveAttack(client.Player, attacked, attack, ref damage, spell);

suse.AddTarget(attacked, damage, attack);
}
}
}
client.SendScreen(suse, true);
}
#endregion
if (client.Player.AttackPacket != null || client.Player.VortexPacket != null)
{
try
{
if (client.Player.ContainsFlag(Network.GamePackets.Up date.Flags.ShurikenVortex))
{
if (client.Player.VortexPacket != null && client.Player.VortexPacket.ToArray() != null)
{
if (Now > client.Player.VortexAttackStamp.AddMilliseconds(1) )
{
client.Player.VortexAttackStamp = Now;
client.Player.VortexPacket.AttackType = Attack.Magic;
new Game.Attacking.Handle(client.Player.VortexPacket, client.Player, null);
}
}
}
else
{
var AttackPacket = client.Player.AttackPacket;
if (AttackPacket != null && AttackPacket.ToArray() != null)
{
uint AttackType = AttackPacket.AttackType;
if (AttackType == Network.GamePackets.Attack.Magic || AttackType == Network.GamePackets.Attack.Melee || AttackType == Network.GamePackets.Attack.Ranged)
{
if (AttackType == Network.GamePackets.Attack.Magic)
{
if (Now > client.Player.AttackStamp.AddSeconds(2))
{
if (AttackPacket.Damage != 12160 &&
AttackPacket.Damage != 12170 &&
AttackPacket.Damage != 12120 &&
AttackPacket.Damage != 12130 &&
AttackPacket.Damage != 12140 &&
AttackPacket.Damage != 12320 &&
AttackPacket.Damage != 12330 &&
AttackPacket.Damage != 12340 &&
AttackPacket.Damage != 12570 &&
AttackPacket.Damage != 12210)
{
new Game.Attacking.Handle(AttackPacket, client.Player, null);
}
}
}

else
{
int decrease = -300;
if (client.Player.ContainsFlag4(Update.Flags4.xFreezi ngPelter)) decrease += 1000;
if (client.Player.OnCyclone())
decrease = 700;
if (client.Player.OnSuperman())
decrease = 200;
if (Now > client.Player.AttackStamp.AddMilliseconds((1000 - client.Player.Agility - decrease) * (int)(AttackType == Network.GamePackets.Attack.Ranged ? 1 : 1)))
{
new Game.Attacking.Handle(AttackPacket, client.Player, null);
}
}
}
}
}
}
catch (Exception e)
{
Program.SaveException(e);
client.Player.AttackPacket = null;
client.Player.VortexPacket = null;
}
}
}

Abod ayman
2020-04-05, 03:53 AM
بدل ده بالي عندك
private void AutoAttackCallback(GameState client, int time)
{
if (!Valid(client)) return;
Time32 Now = new Time32(time);
#region WaniacDance
if (client.Player.EpicWarrior() && client.Player.ContainsFlag3(Update.Flags3.WaniacDa nce))
{
var spell = Database.SpellTable.GetSpell(12700, client);
SpellUse suse = new SpellUse(true);
suse.Attacker = client.Player.UID;
suse.SpellID = 12700;
suse.X = client.Player.X;
suse.Y = client.Player.Y;
foreach (var obj in client.Screen.Objects)
{
if (obj == null) continue;
var attacked = obj as Entity;
if (attacked == null) continue;
if (Kernel.GetDistance(client.Player.X, client.Player.Y, attacked.X, attacked.Y) < 6)
{
if (Game.Attacking.Handle.CanAttack(client.Player, attacked, null, true))
{
var attack = new Attack(true);
attack.Attacker = client.Player.UID;
attack.Attacked = attacked.UID;

uint damage = Game.Attacking.Calculate.Melee(client.Player, attacked, spell, ref attack);
attack.Damage = damage;
attack.SpellID = 12700;
suse.Effect1 = attack.Effect1;

Game.Attacking.Handle.ReceiveAttack(client.Player, attacked, attack, ref damage, spell);

suse.AddTarget(attacked, damage, attack);
}
}
}
client.SendScreen(suse, true);
}
#endregion
if (client.Player.AttackPacket != null || client.Player.VortexPacket != null)
{
try
{
if (client.Player.ContainsFlag(Network.GamePackets.Up date.Flags.ShurikenVortex))
{
if (client.Player.VortexPacket != null && client.Player.VortexPacket.ToArray() != null)
{
if (Now > client.Player.VortexAttackStamp.AddMilliseconds(1) )
{
client.Player.VortexAttackStamp = Now;
client.Player.VortexPacket.AttackType = Attack.Magic;
new Game.Attacking.Handle(client.Player.VortexPacket, client.Player, null);
}
}
}
else
{
var AttackPacket = client.Player.AttackPacket;
if (AttackPacket != null && AttackPacket.ToArray() != null)
{
uint AttackType = AttackPacket.AttackType;
if (AttackType == Network.GamePackets.Attack.Magic || AttackType == Network.GamePackets.Attack.Melee || AttackType == Network.GamePackets.Attack.Ranged)
{
if (AttackType == Network.GamePackets.Attack.Magic)
{
if (Now > client.Player.AttackStamp.AddSeconds(2))
{
if (AttackPacket.Damage != 12160 &&
AttackPacket.Damage != 12170 &&
AttackPacket.Damage != 12120 &&
AttackPacket.Damage != 12130 &&
AttackPacket.Damage != 12140 &&
AttackPacket.Damage != 12320 &&
AttackPacket.Damage != 12330 &&
AttackPacket.Damage != 12340 &&
AttackPacket.Damage != 12570 &&
AttackPacket.Damage != 12210)
{
new Game.Attacking.Handle(AttackPacket, client.Player, null);
}
}
}

else
{
int decrease = -300;
if (client.Player.ContainsFlag4(Update.Flags4.xFreezi ngPelter)) decrease += 1000;
if (client.Player.OnCyclone())
decrease = 700;
if (client.Player.OnSuperman())
decrease = 200;
if (Now > client.Player.AttackStamp.AddMilliseconds((1000 - client.Player.Agility - decrease) * (int)(AttackType == Network.GamePackets.Attack.Ranged ? 1 : 1)))
{
new Game.Attacking.Handle(AttackPacket, client.Player, null);
}
}
}
}
}
}
catch (Exception e)
{
Program.SaveException(e);
client.Player.AttackPacket = null;
client.Player.VortexPacket = null;
}
}
}
جربت ومتحلتش المشكلة ممكن كود غيره
انا عملت افضل اجابة لاني كنت واثق في حلك بس منفعش للاسف xD

ahmedfathy
2020-04-05, 09:26 AM
مع احترامي لكل اللي رد لحل المشكلة

ملوش دعوة ملف Handel خالص بي المشكلة بتعتك والموضوع سهل وبسيط بس انت متاكد ان في مشكلة في التربيل اصلآ ولا لا
ابعتلي موقع السيرفر بتعاك وانا هنزل اجرب

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

بس انت ابعتلي موقع لعبتك اتاكد في مشكلة اصلآ ولا لا

لان تقيمك للسكله ممكن يكون غلط