samehmisse عـﮯـضـﮯـو لامــع
آلـღـهـوآيـღـة : : الدوله : عدد المساهمات : 32 نقاط : 4178 السٌّمعَة : 0 تاريخ التسجيل : 13/03/2013 المزاج : alex
بطاقة الشخصية العاب:
| موضوع: Smile حل مشكلة اسكلات القرصان الي هما Gale Bomb and Karkel Revang السبت مارس 16, 2013 8:28 am | |
| [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة] حل مشكلة اسكلات القرصان الي هما Gale Bomb and Karkel Revang
بسم الله الرحمن الرحيم
حل مشكلة قنبلة القرصان ( GaleBomb )
الاول تدخل على المسار ده
Game/Attacking/Handle.cs
وتدور على الرقم ده
كود PHP: 11070 وهتشيل الاسكل كله على بعضه لحد كلمة Case اللى تحتها اللى معناها انك دخلت على سكل جديد
وتحط دول مكانهم
كود PHP: {if (CanUseSpell(spell, this.attacker.Owner)) { PrepareSpell(spell, this.attacker.Owner); suse = new SpellUse(true) { Attacker = this.attacker.UID, SpellID = spell.ID, SpellLevel = spell.Level, X = X, Y = Y }; OnTarg = new List<uint>(); for (c = 0; c < this.attacker.Owner.Screen.Objects.Length; c++) { if (c >= this.attacker.Owner.Screen.Objects.Length) { break; } _obj = this.attacker.Owner.Screen.Objects[c]; if ((_obj != null) && ((_obj.MapObjType == MapObjectType.Monster) || (_obj.MapObjType == MapObjectType.Player))) { attacked = _obj as Entity; if ((Kernel.GetDistance(attacked.X, attacked.Y, X, Y) <= 5) && CanAttack(this.attacker, attacked, spell, this.attack.AttackType == 2)) { direction = Kernel.GetAngle1(this.attacker.X, this.attacker.Y, attacked.X, attacked.Y); if (CanAttack(this.attacker, attacked, spell, this.attack.AttackType == 2)) { damage = Calculate.Melee(this.attacker, attacked); this.attack = new Attack(true); this.attack.AttackType = 0x1b; this.attack.X = attacked.X; this.attack.Y = attacked.Y; this.attack.Attacker = this.attacker.UID; this.attack.Attacked = attacked.UID; this.attack.Damage = damage; this.attack.ToArray()[0x1b] = (byte) direction; attacked.Move(direction); attacked.Move(direction); this.ReceiveAttack(null, this.attacker, attacked, this.attack, damage, spell); this.attacker.Owner.SendScreen(this.attack, true); } } } } this.attacker.Owner.SendScreen(suse, true); } break; } طبعاً هتلاقيه جابلك ايرور فى كلمة GetAngle1 و اللى تحتها
مش مشكله ادخل دلوقتى على المسار ده
ServerBase/Kernel.cs
وتعالى فوق الكود ده
كود PHP: public static Boolean ValidClanName(String name)
وحط الكود ده
كود PHP: public static Enums.ConquerAngle GetAngle1(ushort X, ushort Y, ushort X2, ushort Y2) { double direction = 0.0; double AddX = X2 - X; double AddY = Y2 - Y; double r = Math.Atan2(AddY, AddX); if (r < 0.0) { r += 628.31853071795865; } direction = 360.0 - ((r * 180.0) / 3.1415926535897931); byte Dir = (byte)((7.0 - ((Math.Floor(direction) / 45.0) % 8.0)) - 1.0); return (Enums.ConquerAngle)((byte)(Dir % 8)); } الجزء التاني اسكل Karkel Revange
مشكلتة انو في بعض السورسات مبيضربش والحل اهو
هنخش علي
Game/Attacking/Handle.cs
ونبحس علي الكود دة
كود PHP: case 11100: وهنشيل الكود دة كلو ونحط مكانة دة
كود PHP: case 11100: //Kraken`sRevenge { 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;
| |
|