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

مشاهدة النسخة كاملة : ضربة القرصان


ViORX
2019-09-29, 12:54 PM
السلام عليكم
عندى مشكلة فى ضربة القرصان العادية يعنى الضربة بتاعته من بالايد عادى من غير اسكلة سريعة وقوية جدا لو قرب من حد وضربو من غير اسكله بيضربو 1 هت وفى شخصيات تانى كدة بردو
تحياتى ليكم

Tefa
2019-09-30, 07:09 AM
قرصان ف ضربه دي بيضربه ضربه واحده ولا اكتر من ضربه

ViORX
2019-10-01, 02:05 AM
قرصان ف ضربه دي بيضربه ضربه واحده ولا اكتر من ضربه

هى مجرد لمسة من القرصان من غير اسكلة يعد ارقام سريعة وقوية بيموت اى حد 1 هت

ElSaher
2019-10-01, 02:27 AM
انا معايا الحل بس مش هديك انتا حاجا خالص

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

ElSaher
2019-10-01, 02:29 AM
انا لازم ادهولك لازم لان المنتدا دا للمساعده خود اهي

هتبحق في السورس في Handle-Cs عن

#region PirateSpells
هتقفله بي السالب
وهتمسحه وهتضيف دا بداله في التعليق التاني

ElSaher
2019-10-01, 02:30 AM
#region PirateSpells

#region GaleBomb
case 11070:
if (CanUseSpell(spell, attacker.Owner))
{

PrepareSpell(spell, attacker.Owner);
Map map;
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.LevelHu2;
MessiProject.Network.GamePackets.SpellUse.DamageCl ass tar = new SpellUse.DamageClass();
int num = 0;

switch (spell.Level)
{
case 0:
case 1:
num = 3;
break;
case 2:
case 3:
num = 4;
break;
default:
num = 5;
break;
}
int i = 0;
Kernel.Maps.TryGetValue(attacker.Owner.Map.BaseID, out map);
foreach (var t in attacker.Owner.Screen.Objects)
{
if (t == null)
continue;
if (t.MapObjType == MapObjectType.Entity || t.MapObjType == MapObjectType.Monster)
{
var target = t as Entity;
if (Kernel.GetDistance(X, Y, target.X, target.Y) <= spell.Range)
{
if (CanAttack(attacker, target, spell, false))
{
tar.Damage = Calculate.Ranged(attacker, target, spell, ref attack);
tar.Hit = true;
tar.newX = target.X;
tar.newY = target.Y;
Map.Pushback(ref tar.newX, ref tar.newY, attacker.Facing, 5);

if (map != null)
{
if (map.Floor[tar.newX, tar.newY, MapObjectType.Entity, attacker])
{
target.X = tar.newX;
target.Y = tar.newY;
}
else
{
tar.newX = target.X;
tar.newY = target.Y;
}
}
else
{
if (attacker.Owner.Map.Floor[tar.newX, tar.newY, MapObjectType.Entity, attacker])
{
target.X = tar.newX;
target.Y = tar.newY;
}
else
{
target.X = tar.newX;
target.Y = tar.newY;
}
}
suse.AddTarget(target, tar, attack);
ReceiveAttack(attacker, target, attack, ref tar.Damage, spell);

i++;
if (i > num) break;
}
}
}
}

if (attacker.EntityFlag == EntityFlag.Entity)
attacker.Owner.SendScreen(suse, true);
}
break;
#endregion

#region BladeTempest
case 11110:
{
if (CanUseSpell(spell, attacker.Owner))
{
PrepareSpell(spell, attacker.Owner);
SpellUse suse = new SpellUse(true);
suse.Attacker = attacker.UID;
suse.SpellID = spell.ID;
//suse.SpellLevelHu = 0;
suse.SpellLevel = spell.Level;
ushort _X = attacker.X, _Y = attacker.Y;
ushort _tX = X, _tY = Y;
byte dist = (byte)spell.Distance;
var Array = attacker.Owner.Screen.Objects;
InLineAlgorithm algo = new InLineAlgorithm(attacker.X, X, attacker.Y, Y, dist,
InLineAlgorithm.Algorithm.DDA);
X = attacker.X;
Y = attacker.Y;
int i = 0;
for (i = 0; i < algo.lcoords.Count; i++)
{
if (attacker.Owner.Map.Floor[algo.lcoords[i].X, algo.lcoords[i].Y, MapObjectType.Entity]
&& !attacker.ThroughGate(algo.lcoords[i].X, algo.lcoords[i].Y))
{
X = (ushort)algo.lcoords[i].X;
Y = (ushort)algo.lcoords[i].Y;
}
else
{
break;
}
}
suse.X = X;
suse.Y = Y;
if (!attacker.Owner.Map.Floor[X, Y, MapObjectType.Entity, null])
return;
double disth = 1.6;

foreach (Interfaces.IMapObject _obj in Array)
{
bool hit = false;
for (int j = 0; j < i; j++)
if (Kernel.GetDDistance(_obj.X, _obj.Y, (ushort)algo.lcoords[j].X, (ushort)algo.lcoords[j].Y) <= disth)
hit = true;
if (hit)
{
if (_obj.MapObjType == MapObjectType.Monster)
{
attacked = _obj as Entity;
if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee))
{
var damage = Game.Attacking.Calculate.Melee(attacker, attacked, spell, ref attack, 0);
ReceiveAttack(attacker, attacked, attack, ref damage, spell);

suse.AddTarget(attacked, damage, attack);
}
}
else if (_obj.MapObjType == MapObjectType.Entity)
{
attacked = _obj as Entity;
if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee))
{
var damage = Game.Attacking.Calculate.Melee(attacker, attacked, spell, ref attack, 0);
damage = (uint)(damage * 1.1);
ReceiveAttack(attacker, attacked, attack, ref damage, spell);

suse.AddTarget(attacked, damage, attack);
}
}
else if (_obj.MapObjType == MapObjectType.SobNpc)
{
attackedsob = _obj as SobNpcSpawn;
if (CanAttack(attacker, attackedsob, spell))
{
var damage = Game.Attacking.Calculate.Melee(attacker, attackedsob, ref attack) * 3;

ReceiveAttack(attacker, attackedsob, attack, damage, spell);

suse.AddTarget(attackedsob, damage, attack);
}
}
}
}
attacker.PX = attacker.X;
attacker.PY = attacker.Y;
attacker.X = X;
attacker.Y = Y;
attacker.Owner.SendScreen(suse, true);
attacker.Owner.Screen.Reload(suse);
}
break;
}
#endregion

#region Kraken`sRevenge
case 11100:
{
if (CanUseSpell(spell, attacker.Owner))
{

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;
int num = 0;

switch (spell.Level)
{
case 0:
case 1:
num = 3;
break;
case 2:
case 3:
num = 4;
break;
default:
num = 5;
break;
}

int i = 0;
BlackSpotPacket bsp = new BlackSpotPacket();
foreach (var t in attacker.Owner.Screen.Objects/*.OrderBy(x => Kernel.GetDistance(x.X, x.Y, attacker.Owner.Entity.X, attacker.Owner.Entity.Y))*/)
{
if (t == null)
continue;
if (t.MapObjType == MapObjectType.Entity || t.MapObjType == MapObjectType.Monster)
{
var target = t as Entity;
if (CanAttack(attacker, target, spell, false))
{
target.IsBlackSpotted = true;
target.BlackSpotStamp = Time32.Now;
target.BlackSpotStepSecs = spell.Duration;
Kernel.BlackSpoted.TryAdd(target.UID, target);
suse.AddTarget(target, new SpellUse.DamageClass(), attack);
i++;
if (i == num) break;
}
}
}
if (attacker.EntityFlag == EntityFlag.Entity)
attacker.Owner.SendScreen(suse, true);

foreach (var h in Program.Values)
{
foreach (var t in suse.Targets.Keys)
{
h.Send(bsp.ToArray(true, t));
}
}
}
break;
}
#endregion

#region ScurvyBomb
case 11040:
if (CanUseSpell(spell, attacker.Owner))
{

PrepareSpell(spell, attacker.Owner);
Map map;
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.LevelHu2;
MessiProject.Network.GamePackets.SpellUse.DamageCl ass tar = new SpellUse.DamageClass();
int num = 0;

switch (spell.Level)
{
case 0:
case 1:
num = 3;
break;
case 2:
case 3:
num = 4;
break;
default:
num = 5;
break;
}
int i = 0;
Kernel.Maps.TryGetValue(attacker.Owner.Map.BaseID, out map);
foreach (var t in attacker.Owner.Screen.Objects)
{
if (t == null)
continue;
if (t.MapObjType == MapObjectType.Entity || t.MapObjType == MapObjectType.Monster)
{
var target = t as Entity;
if (Kernel.GetDistance(X, Y, target.X, target.Y) <= spell.Range)
{
if (CanAttack(attacker, target, spell, false))
{
tar.Damage = Calculate.Ranged(attacker, target, ref attack);
tar.Hit = true;
tar.newX = target.X;
tar.newY = target.Y;
Map.Pushback(ref tar.newX, ref tar.newY, attacker.Facing, 5);

if (map != null)
{
if (map.Floor[tar.newX, tar.newY, MapObjectType.Entity, attacker])
{
target.X = tar.newX;
target.Y = tar.newY;
}
else
{
tar.newX = target.X;
tar.newY = target.Y;
}
}
else
{
if (attacker.Owner.Map.Floor[tar.newX, tar.newY, MapObjectType.Entity, attacker])
{
target.X = tar.newX;
target.Y = tar.newY;
}
else
{
target.X = tar.newX;
target.Y = tar.newY;
}
}

suse.AddTarget(target, tar, attack);
ReceiveAttack(attacker, target, attack, ref tar.Damage, spell);

i++;
if (i > num) break;
}
}
}
}

if (attacker.EntityFlag == EntityFlag.Entity)
attacker.Owner.SendScreen(suse, true);
}
break;
#endregion

#region Cannon Barrage
case 11050:
{
if (attacker.Owner.Entity.ContainsFlag(MessiProject.N etwork.GamePackets.Update.Flags.XPList))
{
attacker.Owner.Entity.RemoveFlag(MessiProject.Netw ork.GamePackets.Update.Flags.XPList);
attacker.Owner.Entity.AddFlag2(MessiProject.Networ k.GamePackets.Update.Flags2.CannonBarrage);
attacker.Owner.Entity.CannonBarrageStamp = Time32.Now;
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;
//suse.SpellLevelHu = client_Spell.LevelHu2;
MessiProject.Network.GamePackets.SpellUse.DamageCl ass tar = new SpellUse.DamageClass();
foreach (var t in attacker.Owner.Screen.Objects)
{
if (t == null)
continue;
if (t.MapObjType == MapObjectType.Entity || t.MapObjType == MapObjectType.Monster)
{
var target = t as Entity;
if (Kernel.GetDistance(attacker.Owner.Entity.X, attacker.Owner.Entity.Y, target.X, target.Y) <= spell.Range)
{
if (CanAttack(attacker, target, spell, false))
{
tar.Damage = Calculate.Ranged(attacker, target, ref attack, client_Spell.LevelHu2);
suse.AddTarget(target, tar, attack);
ReceiveAttack(attacker, target, attack, ref tar.Damage, spell);
}
}
}
}

if (attacker.EntityFlag == EntityFlag.Entity)
attacker.Owner.SendScreen(suse, true);

break;
}
#endregion

#region Blackbeard`sRage
case 11060:
{
if (attacker.Owner.Entity.ContainsFlag(MessiProject.N etwork.GamePackets.Update.Flags.XPList))
{
attacker.Owner.Entity.RemoveFlag(MessiProject.Netw ork.GamePackets.Update.Flags.XPList);
attacker.Owner.Entity.AddFlag2(MessiProject.Networ k.GamePackets.Update.Flags2.BlackbeardsRage);
attacker.Owner.Entity.BlackbeardsRageStamp = Time32.Now;
return;
}

int num = 0;
switch (spell.Level)
{
case 0:
case 1:
num = 3;
break;
case 2:
case 3:
num = 4;
break;
default:
num = 5;
break;
}
int i = 0;
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.LevelHu2;
MessiProject.Network.GamePackets.SpellUse.DamageCl ass tar = new SpellUse.DamageClass();
foreach (var t in attacker.Owner.Screen.Objects)
{
if (t == null)
continue;
if (t.MapObjType == MapObjectType.Entity || t.MapObjType == MapObjectType.Monster)
{
var target = t as Entity;
if (Kernel.GetDistance(attacker.Owner.Entity.X, attacker.Owner.Entity.Y, target.X, target.Y) <= spell.Range)
{
if (CanAttack(attacker, target, spell, false))
{
tar.Damage = Calculate.Ranged(attacker, target, ref attack, client_Spell.LevelHu2);
suse.AddTarget(target, tar, attack);
ReceiveAttack(attacker, target, attack, ref tar.Damage, spell);
i++;
if (i == num) break;
}
}
}
}

if (attacker.EntityFlag == EntityFlag.Entity)
attacker.Owner.SendScreen(suse, true);

break;
}
#endregion

#endregion

Tefa
2019-10-01, 05:05 AM
انا معايا الحل بس مش هديك انتا حاجا خالص

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

1- الحل الي انته منزله غلط
2- اوعه تكلم اي حد تاني بنفس الاسلوب ده
3- اعتذرله علي الكلام الي انته قولته

Tefa
2019-10-01, 05:16 AM
مشكله من اسكل تربل سواء مونك او قرصان
هتفتح handle.cs
هتبحث عن
case 10490:

لقيت فوقها او تحتها case 11140:
تمام لو ملفتش بعد ما تخلص الي هتعمله ف الاولي هتعمله ف تانيه

المهم هتروح فوق ReceiveAttack(
و تحط كود ده لحد ما تقلله لحد ما تظبط معاك
damage = damage * 50 / 100;
بتعدل علي رقم 50

ViORX
2019-10-03, 03:16 AM
1- الحل الي انته منزله غلط
2- اوعه تكلم اي حد تاني بنفس الاسلوب ده
3- اعتذرله علي الكلام الي انته قولته

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

عفواً لايمكن عرض الروابط في الإرشيف (عفواً لايمكن عرض الروابط في الإرشيف)

عفواً لايمكن عرض الروابط في الإرشيف (عفواً لايمكن عرض الروابط في الإرشيف)

عفواً لايمكن عرض الروابط في الإرشيف (عفواً لايمكن عرض الروابط في الإرشيف)

عفواً لايمكن عرض الروابط في الإرشيف (عفواً لايمكن عرض الروابط في الإرشيف)

عفواً لايمكن عرض الروابط في الإرشيف (عفواً لايمكن عرض الروابط في الإرشيف)

عفواً لايمكن عرض الروابط في الإرشيف (عفواً لايمكن عرض الروابط في الإرشيف)

عفواً لايمكن عرض الروابط في الإرشيف (عفواً لايمكن عرض الروابط في الإرشيف)

عفواً لايمكن عرض الروابط في الإرشيف (عفواً لايمكن عرض الروابط في الإرشيف)

عفواً لايمكن عرض الروابط في الإرشيف (عفواً لايمكن عرض الروابط في الإرشيف)

عفواً لايمكن عرض الروابط في الإرشيف (عفواً لايمكن عرض الروابط في الإرشيف)

عفواً لايمكن عرض الروابط في الإرشيف (عفواً لايمكن عرض الروابط في الإرشيف)

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

ElSaher
2019-10-03, 03:31 AM
1- الحل الي انته منزله غلط
2- اوعه تكلم اي حد تاني بنفس الاسلوب ده
3- اعتذرله علي الكلام الي انته قولته

حاضر يا عم احمد


انا اسف يا عم

سلام يا ريدر

ElSaher
2019-10-03, 03:35 AM
خلاص منا قولتلك مش عايزو وقولتلك سلام وعملتلك بلوك وقولتلك مش هكلمك تاني




















دى كل المحادثة من بداية الكلام لاخرو
وبعتذر لو كان ردى مخالف
وانا مش عاوز اعتذار ولا حاجة انا بالنسبالى الموضوع خلصان بس حبيت اوضح اللى حصل عشان ميبقاش مفهم حد انى غلطان فى حقه فى حاجة او ناصب عليه مثلا بالكلام اللى هو قالو دة
وبشكرك ياريدر على رد فعلك على الكلام اللى حصل انت راجل محترم وعلى راسى
تحياتى ليك[/quote]

ViORX
2019-10-03, 04:16 AM
خلاص منا قولتلك مش عايزو وقولتلك سلام وعملتلك بلوك وقولتلك مش هكلمك تاني




















دى كل المحادثة من بداية الكلام لاخرو
وبعتذر لو كان ردى مخالف
وانا مش عاوز اعتذار ولا حاجة انا بالنسبالى الموضوع خلصان بس حبيت اوضح اللى حصل عشان ميبقاش مفهم حد انى غلطان فى حقه فى حاجة او ناصب عليه مثلا بالكلام اللى هو قالو دة
وبشكرك ياريدر على رد فعلك على الكلام اللى حصل انت راجل محترم وعلى راسى
تحياتى ليك[/quote]

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

ElSaher
2019-10-03, 04:20 AM
خلاص يا عم

Tefa
2019-10-03, 09:01 AM
قدر الله و ما شاء فعل مفيش حد مننا مبيغلطش بس اهم حاجه لما نغلط نتعلم من غلطنا و احنا كلنا هنا اخوات <3 نورتوا يا شباب