ɆŁȾÃŶᾏŘ عضو جديد
الأوسمة : عدد المساهمات : 21 نقاط : 67 سمعه العضو : 0 تاريخ التسجيل : 02/08/2013 العمر : 31
| موضوع: بسم الله الرحمن الرحيم نبدا على بركة الله ...اسكلات التروجن الجديدة السبت أبريل 05, 2014 4:46 am | |
| بسم الله الرحمن الرحيم نبدا على بركة الله
هتفتح ملف Handle.cs
و تضيف دول دي تحت اسكلات الارشر
- الكود:
-
#region SuperCyclone case 11970: { SpellUse suse = new SpellUse(true); suse.Attacker = attacker.UID; suse.SpellID = spell.ID; suse.SpellLevel = spell.Level; suse.X = X; suse.Y = Y; if (!attacker.ContainsFlag3((uint)1UL << 0x16)) attacked.KOCount = 0; if (attacker.Owner.Entity.ContainsFlag(0x10)) { attacker.Owner.Entity.RemoveFlag(0x10); attacker.Owner.Entity.AddFlag3((uint)1UL << 0x16); attacker.Owner.Entity.SuperCyclone = Time32.Now; } attacker.Owner.SendScreen(suse, true); break; } #endregion #region MortalStrike case 11990: { 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; if (Kernel.GetDistance(attacker.X, attacker.Y, X, Y) <= attacker.AttackRange + 1) { if (attackedsob != null) { if (CanAttack(attacker, attackedsob, spell)) { PrepareSpell(spell, attacker.Owner); attack.Effect1 = Attack.AttackEffects1.None; uint damage = Game.Attacking.Calculate.Melee(attacker, attackedsob, ref attack); ReceiveAttack(attacker, attackedsob, attack, damage, spell);
suse.AddTarget(attackedsob.UID, damage, attack); } } else { if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee)) { PrepareSpell(spell, attacker.Owner);
attack.Effect1 = Attack.AttackEffects1.None; uint damage = Game.Attacking.Calculate.Melee(attacker, attacked, spell, ref attack); suse.Effect1 = attack.Effect1;
ReceiveAttack(attacker, attacked, attack, damage, spell);
suse.AddTarget(attacked.UID, damage, attack); } } attacker.AttackPacket = null; } else { attacker.AttackPacket = null; } attacker.Owner.SendScreen(suse, true); } attacker.AttackPacket = null; break; } #endregion #region FatalCross case 11980: { 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; 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.Player] && !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.Player, null]) return; double disth = 1.5; if (attacker.MapID == 5678) disth = 1; if (attacker.MapID == 3045) disth = 1; if (attacker.MapID == DeathMatch.MAPID) disth = 1; 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);
ReceiveAttack(attacker, attacked, attack, damage, spell);
suse.AddTarget(attacked.UID, damage, attack); } } else if (_obj.MapObjType == MapObjectType.Player) { attacked = _obj as Entity; if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee)) { var damage = Game.Attacking.Calculate.Melee(attacker, attacked, spell, ref attack); damage = (damage * 160) / 90; ReceiveAttack(attacker, attacked, attack, damage, spell);
suse.AddTarget(attacked.UID, 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);
ReceiveAttack(attacker, attackedsob, attack, damage, spell);
suse.AddTarget(attackedsob.UID, 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 و هتبحث عن
- الكود:
-
if (attacked.Dead && spell.Sort != Database.SpellSort.Revive && spell.ID != 10405 && spell.ID != 10425) { attacker.AttackPacket = null; return; } } و تحط دا تحته
- الكود:
-
if (!attacker.RebornSpell(spell.ID)) { if (attacker.Owner.Spells.ContainsKey(11960)) { if (attacked == null) { if (attacker.Stamina <= 95) { attacker.Stamina += 5; attacker.Owner.Send(new Message("Recovered your stamina by % 5 points!", System.Drawing.Color.Red, Message.TopLeft)); } } } } و افتح ملف Entity.cs و حط دول
- الكود:
-
public bool RebornSpell(ushort skillid) { if (skillid == 9876 || skillid == 6002 || skillid == 10315 || skillid == 10311 || skillid == 10313 || skillid == 6003 || skillid == 10405 || skillid == 30000 || skillid == 10310 || skillid == 3050 || skillid == 3060 || skillid == 3080 || skillid == 3090) return true; else return false; } و فى ملف Update.cs
حط ده
- الكود:
-
SuperCyclone = 0x400000, و افتح ملف World.cs
وبدل ده بالى عندك
- الكود:
-
#region KOSpell if (client.Entity.OnKOSpell()) { if (client.Entity.OnCyclone()) { int Seconds = Now.AllSeconds() - client.Entity.CycloneStamp.AddSeconds(client.Entity.CycloneTime).AllSeconds(); if (Seconds >= 1) { client.Entity.RemoveFlag(Network.GamePackets.Update.Flags.Cyclone); } } if (client.Entity.OnSuperman()) { int Seconds = Now.AllSeconds() - client.Entity.SupermanStamp.AddSeconds(client.Entity.SupermanTime).AllSeconds(); if (Seconds >= 1) { client.Entity.RemoveFlag(Network.GamePackets.Update.Flags.Superman); } } if (!client.Entity.OnKOSpell()) { //Record KO client.Entity.KOCount = 0; }
} #endregion و ده بدلو بالى عندك
- الكود:
-
public bool OnKOSpell() { return OnCyclone() || OnSuperman() || OnSuperCyclone(); } و ده ضيفه تحته
- الكود:
-
public bool OnSuperCyclone() { return ContainsFlag3(Network.GamePackets.Update.Flags3.SuperCyclone); } و دا على القاعدة
http://www.gulfup.com/?TQDKth
و مبروك عليك الاسكل
صور للاثبات
| |
|