احصائياتى

الردود
22

المشاهدات
2428
 
Adel Abd El Hay
.:: عضو نشيط ::.
الإجابات المقدمة: 7

    غير متواجد

المشاركات
252

+التقييم
0.09

تاريخ التسجيل
May 2019

الاقامة

نظام التشغيل

رقم العضوية
129
2019-07-07, 04:08 PM
المشاركة 1
2019-07-07, 04:08 PM
المشاركة 1
new تمت الإجابة مشكله ف الاحياء (revive)
شباب بعد اذنكم انا عندي مشكله ف الاحياء (revive)
لما حد يفتح عليا pk في اي ماب ويقتلني لو هو نينجا واستخدم مهارة استنساخ الظل اللي هي shadow clone مربع الاحياء (revive) بيختفي وعشان اعرف العب تاني يبقي لازم اقفل الاكونت وافتحو تاني ممكن حد يساعدني ف المشكله دي لو سمحتوا


أفضل جواب - كتبه Rider
Handle.cs
سيرش علي
كود:
TwilightAction 

و بدله ب ده

كود:
private void TwilightAction(Player attacker, MsgMagicEffect suse, SpellInformation spell, ushort X, ushort Y)
        {
            
byte dist = (byte)spell.Distance;
            var 
map = attacker.Owner.Map;

            var 
algo = new InLineAlgorithm(attacker.X, X, attacker.Y, Y, dist);

            var 
count = (double)algo.lcoords.Count / 3;
            
int i = 1;
            var 
myx = attacker.X;
            var 
myy = attacker.Y;
            
Server.Thread.DelayedTask.StartDelayedTask(() =>
            {
                var 
selected = (i * (int)count) - 2;
                
selected = Math.Min(algo.lcoords.Count - 1, selected);
                
X = (ushort)algo.lcoords[selected].X;
                
Y = (ushort)algo.lcoords[selected].Y;


                
MsgMapItem floorItem = new MsgMapItem(true);
                
floorItem.MapObjType = MapObjectType.FloorSpell;
                
floorItem.ItemID = MsgMapItem.Twilight;
                
floorItem.ItemColor = (Enums.Color)(i + 1);
                
floorItem.MapID = attacker.MapID;
                
floorItem.Type = MsgMapItem.Effect;
                
floorItem.X = X;
                
floorItem.Y = Y;
                
floorItem.OnFloor = Time32.Now;
                
floorItem.Owner = attacker.Owner;
                while (
map.Npcs.ContainsKey(floorItem.UID))
                    
floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
                
map.AddFloorItem(floorItem);

                
attacker.Owner.SendScreenSpawn(floorItem, true);

                if (
i != 0)
                {
                    
MsgAction data = new Network.GamePackets.MsgAction(true);
                    
data.UID = attacker.UID;
                    
data.X2 = X;
                    
data.Y2 = Y;
                    
data.ID = MsgAction.Mode.RemoveTrap;
                    
data.wParam1 = myx;
                    
data.wParam2 = myy;
                    
attacker.Owner.SendScreen(data, true);
               
                    
//double percent = 1;
                    //switch (i)
                    //{
                    //    case 1:
                    //        percent = 0.92;
                    //        break;
                    //    case 2:
                    //        percent = 1.02;
                    //        break;
                    //    case 3:
                    //        percent = 1.2;
                    //        break;
                    //}


                    
foreach (Interfaces.IMapObject _obj in attacker.Owner.Screen.Objects)
                    {
                        
bool hit = false;
                        var 
selected2 = Math.Max(0, i - 1) * (int)count;
                        
selected2 = Math.Min(algo.lcoords.Count - 1, selected2);
                        if (
Kernel.GetDistance(_obj.X, _obj.Y, (ushort)algo.lcoords[selected].X, (ushort)algo.lcoords[selected].Y) <= spell.Range)
                            
hit = true;
                        
//for (int j = selected2; j < selected; j++)
                        //    if (Kernel.GetDistance(_obj.X, _obj.Y, (ushort)algo.lcoords[j].X, (ushort)algo.lcoords[j].Y) <= spell.Range)
                        //        hit = true;
                        
if (hit)
                        {
                            if (
_obj.MapObjType == MapObjectType.Monster)
                            {
                                
attacked = _obj as Player;
                                if (
CanAttack(attacker, attacked, spell, attack.InteractType == MsgInteract.Melee))
                                {
                                    var 
damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack);
                                    
ReceiveAttack(attacker, attacked, attack, ref damage, spell);

                                    
suse.AddTarget(attacked.UID, damage, attack);
                                }
                            }
                            else if (
_obj.MapObjType == MapObjectType.Player)
                            {
                                
attacked = _obj as Player;
                                if (
attacked.ContainsFlag((ulong)MsgUpdate.Flags.Intensify))
                                {
                                    
attacked.RemoveFlag((ulong)MsgUpdate.Flags.Intensify);
                                    
attacked.IntensifyPercent = 0;
                                }
                                if (
CanAttack(attacker, attacked, spell, attack.InteractType == MsgInteract.Melee))
                                {
                                    var 
damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack);
                                    
damage = (uint)(damage * spell.IncreaseDMG);
                                    
damage = (uint)(damage / spell.DecreaseDMG);
                                    
//damage = (uint)((double)(damage * percent));
                                    
ReceiveAttack(attacker, attacked, attack, ref damage, spell);

                                    
suse.AddTarget(attacked.UID, damage, attack);
                                }

                            }
                            else if (
_obj.MapObjType == MapObjectType.SobNpc)
                            {
                                var 
attackedsob = _obj as MsgNpcInfoEX;
                                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);
                                }
                            }
                        }
                    }
                   
                    if (
suse.Targets.Count > 0)
                        
attacker.Owner.SendScreen(suse, true);
                    
suse.Targets.Clear();
                }
                
i++;
            }, 
0, 2, 250);
        } 

بعدها روح للاسكله
و بدلها ب دي

كود:
 #region TwilightDance
                                
case 12070:
                                    {
                                        if (
CanUseSpell(spell, attacker.Owner))
                                        {
                                            
PrepareSpell(spell, attacker.Owner);
                                            
MsgMagicEffect suse = new MsgMagicEffect(true);
                                            
suse.Attacker = attacker.UID;
                                            
suse.Attacker1 = attacker.UID;
                                            
suse.SpellID = spell.ID;
                                            
suse.SpellLevel = spell.Level;

                                            
TwilightAction(attacker, suse, spell, X, Y);
                                            
attacker.Stamina -= 20;
                                            
attacker.Owner.SendScreen(suse, true);
                                            
attacker.AttackPacket = null;

                                        }
                                        break;
                                    }
                                
#endregion 

في انتظار ردك
قديم 2019-07-07, 09:22 PM
المشاركة 2
Mr~Rayzo
::. المدير العام ::.
الإجابات المقدمة: 174
  • غير متواجد
افتراضي رد: مشكله ف الاحياء (revive)
بصراحه معرفش

قديم 2019-07-09, 01:54 AM
المشاركة 3
Adel Abd El Hay
.:: عضو نشيط ::.
الإجابات المقدمة: 7
  • غير متواجد
Cry رد: مشكله ف الاحياء (revive)
يعني ايه يارجاله مفيش واحد ف المنتدي كله عارف حل للمشكله دي والله خاب ظني فيكو مافي ولا مشكله طلبتها ع المنتدي واتحلت 😭

قديم 2019-07-09, 11:20 PM
المشاركة 4
Mr~Rayzo
::. المدير العام ::.
الإجابات المقدمة: 174
  • غير متواجد
افتراضي رد: مشكله ف الاحياء (revive)
هى زرعه طمام هتتسقى تكبر ده عالم واسع وفوق كل زى علم عليم

قديم 2019-07-10, 04:14 AM
المشاركة 5
Adel Abd El Hay
.:: عضو نشيط ::.
الإجابات المقدمة: 7
  • غير متواجد
افتراضي رد: مشكله ف الاحياء (revive)
هى زرعه طمام هتتسقى تكبر ده عالم واسع وفوق كل زى علم عليم
هههههههههههههههههههههه والله ضحكتني بالطماطم دي خلاص ياعم ايمن عنو ما اتعمل شوفلنا بقا سورس نضيف تشتغل بيه عشان تعب والله

قديم 2019-07-10, 06:25 AM
المشاركة 6
Hazem
.:: المدير العام::.
الإجابات المقدمة: 181
  • غير متواجد
افتراضي رد: مشكله ف الاحياء (revive)
ذي ما قالك ايمن احنا مش شجره طمام تزرع مشكله تلقي ثمره(حل )
احنا الي بنقدر عليه بنقوله غير كده مش بنعلق او بتسفسر عنه
البركه في الي يعرف ويقولك وحكايه خاب ظنك ده ترجعلك احنا مش شغلين 24 ساعه ندور في مجال كونكر علشان نعرف مشاكله ونحله

قديم 2019-07-10, 10:20 AM
المشاركة 7
Mr~Rayzo
::. المدير العام ::.
الإجابات المقدمة: 174
  • غير متواجد
افتراضي رد: مشكله ف الاحياء (revive)
قسم السورسات عندنا غنى بكل انواع السورسات
وقريبا انتظر سورسى الاصدار الثانى حصرى على المنتدى

قديم 2019-07-10, 01:09 PM
المشاركة 8
Rider
.:: نائب المدير ::.
الإجابات المقدمة: 989
  • غير متواجد
افتراضي رد: مشكله ف الاحياء (revive)
الحل هينزل بعد ما تعتذر منهم لان دي مش طريقة طلب شئ

قديم 2019-07-10, 01:17 PM
المشاركة 9
Adel Abd El Hay
.:: عضو نشيط ::.
الإجابات المقدمة: 7
  • غير متواجد
افتراضي رد: مشكله ف الاحياء (revive)
قسم السورسات عندنا غنى بكل انواع السورسات
وقريبا انتظر سورسى الاصدار الثانى حصرى على المنتدى
حبيبي يا ايمن وماتزعلش ياحازم انا بهزر مع ايمن بس شكلو كدا نسيني 😂

قديم 2019-07-11, 09:54 PM
المشاركة 10
Rider
.:: نائب المدير ::.
الإجابات المقدمة: 989
  • غير متواجد
Happy رد: مشكله ف الاحياء (revive)
Packethandler.cs

ابحث عن case 2812:
و بدله بده و جرب


كود:
 case 2812:
                    {
                        var 
attackd = BitConverter.ReadUint(packet, 4);
                        var 
clonecount = packet[8];
                        for (
int i = 0; i < clonecount; i++)
                        {
                            var 
attackr = BitConverter.ReadUint(packet, 9 + (i * 4));
                            if (
client.Entity.MyClones.Count < clonecount)
                                return;
                            var 
attack = client.Entity.AttackPacket;
                            if (
attack == null)
                                
attack = new GamePackets.Attack(true);
                            
attack.Attacker = attackr;
                            
attack.Attacked = attackd;

                            if (
client.Entity.MyClones.Count == 0)
                                return;
                            if (
attackd == client.Entity.UID || client.Entity.MyClones.ContainsKey(attackd))
                                return;
                            
KhaledMohamed.Database.SpellInformation MySpell = null;
                            try
                            {
                                
MySpell = Database.SpellTable.GetSpell(client.Spells[12090].ID, client.Spells[12090].Level);
                            }
                            catch { 
MySpell = Database.SpellTable.GetSpell(12090, 4); }
                            
Entity Clone = null;
                            if (
client.Entity.MyClones.TryGetValue(attackr, out Clone))
                            {
                                
Entity attacked = null;
                                
SobNpcSpawn attackedsob = null;
                                if (
client.Screen.TryGetValue(attackd, out attacked))
                                {
                                    
uint damage = 0;
                                    var 
spell = Database.SpellTable.GetSpell(attack.MagicType, (byte)attack.MagicLevel);
                                    if (
spell == null)
                                        
spell = Database.SpellTable.GetSpell(12080, 0);
                                    if (
attack.AttackType == GamePackets.Attack.Melee)
                                    {
                                        if (
Game.Attacking.Handle.CanAttack(client.Entity, attacked, spell, true))
                                        {
                                            
damage = Game.Attacking.Calculate.Melee(client.Entity, attacked, spell, ref attack);
                                            
double power = (0.5);
                                            
damage = (uint)((double)damage * power / 8);
                                            
Game.Attacking.Handle.ReceiveAttack(Clone, attacked, attack, ref damage, spell);
                                            
attack.Damage = damage;
                                            
client.SendScreen(attack);
                                        }
                                    }
                                    else
                                    {
                                        if (
Game.Attacking.Handle.CanAttack(client.Entity, attacked, spell, false))
                                        {
                                            
damage = Game.Attacking.Calculate.Magic(client.Entity, attacked, spell, ref attack);
                                            
double power = (0.5);
                                            
damage = (uint)((double)damage * power / 8);
                                            
Game.Attacking.Handle.ReceiveAttack(Clone, attacked, attack, ref damage, spell);
                                            
attack.Damage = damage;
                                            
client.SendScreen(attack);
                                        }
                                    }
                                    
SpellUse suse = new SpellUse(true);
                                    
suse.Attacker = Clone.UID;
                                    
suse.SpellID = spell.ID;
                                    
suse.SpellLevel = spell.Level;
                                    
suse.X = attacked.X;
                                    
suse.Y = attacked.Y;
                                    
suse.Effect1 = attack.Effect1;
                                    
suse.AddTarget(attacked, damage, attack);
                                    
client.SendScreen(suse, true);
                                    if (
client.Account.State == KhaledMohamed.Database.AccountTable.AccountState.ProjectManager)
                                        
client.Send(new Message("Clone Attack With  Skill: " + spell.Name, System.Drawing.Color.CadetBlue, Message.Talk));

                                }
                                else if (
client.Screen.TryGetSob(attackd, out attackedsob))
                                {
                                    
uint damage = 0;
                                    var 
spell = Database.SpellTable.GetSpell(attack.MagicType, (byte)attack.MagicLevel);
                                    if (
spell == null)
                                        
spell = Database.SpellTable.GetSpell(12080, 0);
                                    if (
attack.AttackType == GamePackets.Attack.Melee)
                                    {
                                        if (
Game.Attacking.Handle.CanAttack(client.Entity, attackedsob, null))
                                        {
                                            
damage = Game.Attacking.Calculate.Melee(client.Entity, attackedsob, ref attack);
                                            
double power = ((MySpell.Power / 100.0) / 100.0);
                                            
damage = (uint)((double)damage * power);
                                            
Game.Attacking.Handle.ReceiveAttack(Clone, attackedsob, attack, damage, null);
                                            
attack.Damage = damage;
                                            
client.SendScreen(attack);
                                        }
                                    }
                                    else
                                    {
                                        if (
Game.Attacking.Handle.CanAttack(client.Entity, attackedsob, spell))
                                        {
                                            
damage = Game.Attacking.Calculate.Magic(client.Entity, attackedsob, spell, ref attack);
                                            
double power = ((MySpell.Power / 100.0) / 100.0);
                                            
damage = (uint)((double)damage * power);
                                            
Game.Attacking.Handle.ReceiveAttack(Clone, attackedsob, attack, damage, spell);
                                            
attack.Damage = damage;
                                            
client.SendScreen(attack);
                                        }
                                    }
                                    
SpellUse suse = new SpellUse(true);
                                    
suse.Attacker = Clone.UID;
                                    
suse.SpellID = spell.ID;
                                    
suse.SpellLevel = spell.Level;
                                    
suse.X = attackedsob.X;
                                    
suse.Y = attackedsob.Y;
                                    
suse.Effect1 = attack.Effect1;
                                    
suse.AddTarget(attackedsob, damage, attack);
                                    
client.SendScreen(suse, true);
                                    if (
client.Account.State == KhaledMohamed.Database.AccountTable.AccountState.ProjectManager)
                                        
client.Send(new Message("Clone Attack With  Skill: " + spell.Name, System.Drawing.Color.CadetBlue, Message.Talk));

                                }
                            }
                        }
                        break;
                    } 



العلامات المرجعية



الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 

الانتقال السريع

المواضيع المتشابهه للموضوع: مشكله ف الاحياء (revive)
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
حاجه مهمه بخصوص Revive لو سمحتو uncelsam مشكلات السيرفيرات كونكر الشخصيه 3 2019-07-12 01:04 AM


الساعة الآن 05:51 AM