طبعا كل الى بيلعب كونكر يعرف التحديث الى نزل الورير واحنا فى طبيعة الامر ان احنا بنحب ننزل كل جديد فى اللعبة علشان كدا جبنالكم 3 اسكلات من الشخصية ان شاء الله الاسكلات دى تكون فكسيد واحنا محبناش نطول عليكو فى الانتظار ولكن من الممكن
وجود مشاكل فى الاسكلات لانها لم يتم تجربتها من اكبر عدد ممكن من الناس والذين يقومون بطرح المشاكل وحلها
وبطبيعة الامر انا لم اجرب هذه الاسكلات لاننى لا اتوفر على كونكر فى الوقت الراهن
ولكن سوف نقوم باضافة الاسكلات سويا وان شاء الله لا يوجد مشاكل فى اى شيئ
اول شيئ ندخل الى ملف Handle.cs ونضيف فيه الاسكلات التالية
نقوم بفتح ملف Entity
وابحث عن
فوق ذلك الكود ضع الكود التالى مباشرة
ابحث عن الكود التالى
انزل الى الكود التالى
اسفل القوس اضف الكود التالى
إبحث ف كلاس Screen.cs عن
وقم بالبحث اسفله عن الكود التالى
اضف السف القوس الخاص بهذا الكود الكود التالى
ابحث عن
اضف الكود التالى داخلها
-إدخل كلاس PacketHandler.cs
-إبحث عن
قم بالنزول حتى
اضف اسفله الكود التالى
وبكدا خلصنا الحمد لله نشوف بقا شوية صور
فى امان الله ان شاء الله اشوفكم فى موضوع جديد وان شاء الله سوف يتم عمل بعض الحلقات
وجود مشاكل فى الاسكلات لانها لم يتم تجربتها من اكبر عدد ممكن من الناس والذين يقومون بطرح المشاكل وحلها
وبطبيعة الامر انا لم اجرب هذه الاسكلات لاننى لا اتوفر على كونكر فى الوقت الراهن
ولكن سوف نقوم باضافة الاسكلات سويا وان شاء الله لا يوجد مشاكل فى اى شيئ
اول شيئ ندخل الى ملف Handle.cs ونضيف فيه الاسكلات التالية
إسكلة ManiacDance
#region ManiacDance
case 12700:
{
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;
attacker.AddFlag3((ulong)1UL << 53);
attacker.ManiacDance = Time32.Now;
attacker.RemoveFlag(Update.Flags.Ride);
attacker.Owner.SendScreen(suse, true);
}
break;
}
#endregion
إسكلة BackFire
#region Backfire
case 12680:
{
SpellUse spellUse = new SpellUse(true);
spellUse.Attacker = attacker.UID;
spellUse.Attacker1 = attacker.UID;
spellUse.SpellID = spell.ID;
spellUse.SpellLevel = spell.Level;
spellUse.X = X;
spellUse.Y = Y;
spellUse.AddTarget(attacker, 1, attack);
attacker.Owner.SendScreen(spellUse, true);
if (attacker.ContainsFlag3((ulong)1UL << 51))
attacker.RemoveFlag3((ulong)1UL << 51);
else
attacker.AddFlag3((ulong)1UL << 51);
attacker.BackfireStamp = Time32.Now;
break;
}
#endregion
الان نذهب الى ملف world
إبحث عن
private void BuffersCallback(Game
نضع داخلة الكود التالى
#region XpBlueStamp
if (client.Entity.ContainsFlag3(Update.Flags3.WarriorEpicShield))
{
if (Time32.Now > client.Entity.XpBlueStamp.AddSeconds(33))
{
client.Entity.ShieldIncrease = 0;
client.Entity.ShieldTime = 0;
client.Entity.MagicShieldIncrease = 0;
client.Entity.MagicShieldTime = 0;
client.Entity.RemoveFlag3(Update.Flags3.WarriorEpicShield);
}
}
#endregion
#region ManiacDance
if (client.Entity.ContainsFlag3((ulong)1UL << 53))
{
if (Time32.Now > client.Entity.ManiacDance.AddSeconds(15))
{
client.Entity.RemoveFlag3((ulong)1UL << 53);
}
}
#endregion
#region Backfire
if (client.Entity.ContainsFlag3((ulong)1UL << 51))
{
if (Time32.Now > client.Entity.BackfireStamp.AddSeconds(8))
{
if (client.Spells.ContainsKey(12680))
{
if (client.Entity.ContainsFlag3((ulong)1UL << 51))
client.Entity.RemoveFlag3((ulong)1UL << 51);
}
client.Entity.BackfireStamp = Time32.Now;
}
}
#endregion
نقوم بفتح ملف Entity
وابحث عن
public bool EpicWarrior()
فوق ذلك الكود ضع الكود التالى مباشرة
public Time32 XpBlueStamp;
public Time32 BackfireStamp;
public Time32 ManiacDance;
public byte XPCountTwist = 0;
ابحث عن الكود التالى
public void Die(Entity killer)
انزل الى الكود التالى
if (EntityFlag == EntityFlag.Player)
اسفل القوس اضف الكود التالى
if (ContainsFlag3((ulong)1UL << 53))
RemoveFlag3((ulong)1UL << 53);
if (Owner.Spells.ContainsKey(12660))
{
XPCountTwist = Owner.XPCount;
}
إبحث ف كلاس Screen.cs عن
#region Player
وقم بالبحث اسفله عن الكود التالى
if (distance <= monster.MonsterInfo.AttackRange)
اضف السف القوس الخاص بهذا الكود الكود التالى
if (client.Entity.ContainsFlag3((ulong)1UL << 53))
{
var attack = new Attack(true);
attack.Attacker = client.Entity.UID;
attack.AttackType = Attack.Melee;
var spell = Database.SpellTable.GetSpell(12700, client);
foreach (var obj1 in client.Screen.Objects)
{
if (Kernel.GetDistance(obj1.X, obj1.Y, obj.X, obj.Y) <= 8)
{
if (obj1.MapObjType == MapObjectType.Monster || obj1.MapObjType == MapObjectType.Player)
{
var attacked = obj1 as Entity;
if (Attacking.Handle.CanAttack(client.Entity, attacked, spell, false))
{
uint damage = Game.Attacking.Calculate.Melee(client.Entity, attacked, spell, ref attack);
damage = (damage * 100) / 100;
attack.Damage = damage;
attack.Attacked = attacked.UID;
attack.X = attacked.X;
attack.Y = attacked.Y;
Attacking.Handle.ReceiveAttack(client.Entity, attacked, attack, ref damage, spell);
}
}
else if (obj1.MapObjType == MapObjectType.SobNpc)
{
var attacked = obj1 as SobNpcSpawn;
if (Attacking.Handle.CanAttack(client.Entity, attacked, spell))
{
uint damage = Game.Attacking.Calculate.Melee(client.Entity, attacked, ref attack);
damage = (damage * 100) / 100;
attack.Damage = damage;
attack.Attacked = attacked.UID;
attack.X = attacked.X;
attack.Y = attacked.Y;
Attacking.Handle.ReceiveAttack(client.Entity, attacked, attack, damage, spell);
}
}
}
}
}
ابحث عن
public class Flags3
اضف الكود التالى داخلها
WarriorEpicShield = 1UL << 55,
-إدخل كلاس PacketHandler.cs
-إبحث عن
static void Revive(Data generalData, Client.Game
قم بالنزول حتى
bool ReviveHere = generalData.dwParam == 1;
اضف اسفله الكود التالى
if (client.Spells.ContainsKey(12660))
{
client.XPCount = client.Entity.XPCountTwist;
}
وبكدا خلصنا الحمد لله نشوف بقا شوية صور
فى امان الله ان شاء الله اشوفكم فى موضوع جديد وان شاء الله سوف يتم عمل بعض الحلقات
مواضيع ذات صلة



ليست هناك تعليقات:
إرسال تعليق