احصائياتى

الردود
9

المشاهدات
829
 
MRonlineGvrix
.:: عضو مميز ::.
الإجابات المقدمة: 32

    غير متواجد

المشاركات
363

+التقييم
0.13

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

الاقامة

نظام التشغيل

رقم العضوية
145
2019-08-06, 04:44 PM
المشاركة 1
2019-08-06, 04:44 PM
المشاركة 1
Happy تمت الإجابة مشكلة بخصوص اسكلة النينجا ToxicFog
صورة من الاسكلة (تم تعديل الموضوع بناء على طلب المشرف )

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

كود:
                                case 6001://toxicfog 
                                    
{
                                        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) <= spell.Distance)
                                            {
                                                foreach (
Interfaces.IMapObject _obj in attacker.Owner.Screen.Objects)
                                                {
                                                    if (
_obj.MapObjType == MapObjectType.Entity || _obj.MapObjType == MapObjectType.Monster)
                                                    {
                                                        
attacked = _obj as Entity;
                                                        if (
attacked.MapObjType == MapObjectType.Monster)
                                                            if (
attacked.MonsterInfo.Boss)
                                                                continue;
                                                        if (
Kernel.GetDistance(X, Y, attacked.X, attacked.Y) <= spell.Range)
                                                        {
                                                            if (
CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee))
                                                            {
                                                                
int potDifference = attacker.BattlePower - attacked.BattlePower;

                                                                
int rate = spell.Percent + potDifference - 20;

                                                                if (
Kernel.Rate(rate))
                                                                {
                                                                    
attacked.ToxicFogStamp = Time32.Now;
                                                                    
attacked.ToxicFogLeft = 7;
                                                                    
attacked.ToxicFogPercent = spell.PowerPercent;
                                                                    
attacked.AddFlag(Update.Flags.Poisoned);
                                                                    
suse.AddTarget(attacked.UID, 1, null);
                                                                }
                                                                else
                                                                {
                                                                    
suse.AddTarget(attacked.UID, 0, null);
                                                                    
suse.Targets[attacked.UID].Hit = false;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                            else
                                            {
                                                
attacker.AttackPacket = null;
                                            }
                                            
attacker.Owner.SendScreen(suse, true);
                                        }
                                        break;
                                    } 



أفضل جواب - كتبه Rider
اسكلة الورير ف قاعده او في ورلد سيرش علي

كود:
private void AutoAttackCallback( 

انزل تحت لحد
كود:
attack.Damage = damage; 

و تحتها حط
كود:
 damage = damage / 100; 

بتتحكم عن طريقه تغيير رقم 100
قديم 2019-08-06, 04:46 PM
المشاركة 2
Hassan Emprator
.:: مشرف قسم المشاكل ::.
الإجابات المقدمة: 301
  • غير متواجد
افتراضي رد: مشكلة بخصوص اسكلة النينجا ToxicFog
طيب يحبي ما انا بعتلك حلها مشفتهوش ليه ؟

قديم 2019-08-06, 04:51 PM
المشاركة 3
MRonlineGvrix
.:: عضو مميز ::.
الإجابات المقدمة: 32
  • غير متواجد
Important رد: مشكلة بخصوص اسكلة النينجا ToxicFog
طيب يحبي ما انا بعتلك حلها مشفتهوش ليه ؟
تم حل اسكلة 1 بس من الحلول الى حلتهالى
وشكرتك فيها وشكرا لتانى مرة يباشا

قديم 2019-08-06, 05:02 PM
المشاركة 4
Rider
.:: نائب المدير ::.
الإجابات المقدمة: 989
  • غير متواجد
افتراضي رد: مشكلة بخصوص اسكلة النينجا ToxicFog
هتدخل علي world و تبحث عن #region ToxicFog
لقيتها بدلها ب دي هيجيلك ايرور في Player غيرها ل Entity

كود:
   #region ToxicFog
            
if (client.Player.ToxicFogLeft > 0)
            {
                if (
Now >= client.Player.ToxicFogStamp.AddSeconds(2))
                {
                    
float Percent = client.Player.ToxicFogPercent;
                    if (
client.Player.Detoxication != 0)
                    {
                        
float immu = 1 - client.Player.Detoxication / 100F;
                        
Percent = Percent * immu;
                    }
                    
client.Player.ToxicFogLeft--;
                    if (
client.Player.ToxicFogLeft == 0)
                    {
                        
client.Player.RemoveFlag(Update.Flags.Poisoned);
                        return;
                    }
                    
client.Player.ToxicFogStamp = Now;
                    if (
client.Player.Hitpoints > 1)
                    {
                        
uint damage = Game.Attacking.Calculate.Percent(client.Player, Percent);
                        if (
client.Player.ContainsFlag2(Network.GamePackets.Update.Flags2.AzureShield))
                        {

                            if (
damage > client.Player.AzureShieldDefence)
                            {
                                
damage -= client.Player.AzureShieldDefence;
                                
Game.Attacking.Calculate.CreateAzureDMG(client.Player.AzureShieldDefence, client.Player, client.Player);
                                
client.Player.RemoveFlag2(Network.GamePackets.Update.Flags2.AzureShield);
                            }
                            else
                            {
                                
Game.Attacking.Calculate.CreateAzureDMG((uint)damage, client.Player, client.Player);
                                
client.Player.AzureShieldDefence -= (ushort)damage;
                                
client.Player.AzureShieldPacket();
                                
damage = 1;
                            }
                        }
                        else
                            
client.Player.Hitpoints -= damage;

                        
Network.GamePackets.SpellUse suse = new Network.GamePackets.SpellUse(true);
                        
suse.Attacker = client.Player.UID;
                        
suse.SpellID = 10010;
                        
suse.AddTarget(client.Player, damage, null);
                        
client.SendScreen(suse, true);
                
//        if (client != null)
                  //          client.UpdateQualifier(client.ArenaStatistic.PlayWith, client, damage);//

                    
}
                }
            }
            else
            {
                if (
client.Player.ContainsFlag(Update.Flags.Poisoned))
                    
client.Player.RemoveFlag(Update.Flags.Poisoned);
            }
            
#endregion 

طب ملقتهاش ابحث عن
كود:
 private void BuffersCallback( 

و حط الكود الي فوق ده تحتها

قديم 2019-08-06, 05:13 PM
المشاركة 5
MRonlineGvrix
.:: عضو مميز ::.
الإجابات المقدمة: 32
  • غير متواجد
bool رد: مشكلة بخصوص اسكلة النينجا ToxicFog
جارى التجربة انتظر الرد

قديم 2019-08-06, 05:17 PM
المشاركة 6
Rider
.:: نائب المدير ::.
الإجابات المقدمة: 989
  • غير متواجد
افتراضي رد: مشكلة بخصوص اسكلة النينجا ToxicFog
في انتظار الرد باذن الله تم حل كل المشاكل في البوست الاخر

قديم 2019-08-06, 05:25 PM
المشاركة 7
MRonlineGvrix
.:: عضو مميز ::.
الإجابات المقدمة: 32
  • غير متواجد
Like رد: مشكلة بخصوص اسكلة النينجا ToxicFog
المشكلة زى مهيا وصورة للتوضيح اهى بعد اضافا حضرتك



ولو الدم ناقص بتزودو كمان يعنى المهارة بتعمل العكس بظبط بدل متنقص الدم بتزودو ولو الدم كامل ولا اكن ضرتو ولا اى حاج

وشكرا للمساعدة




دا الرجون بظبط

كود:
#region ToxicFog 
            
if (client.Entity.ToxicFogLeft > 0)
            {
                if (
Now >= client.Entity.ToxicFogStamp.AddSeconds(2))
                {
                    
float Percent = client.Entity.ToxicFogPercent;
                    if (
client.Entity.Detoxication != 0)
                    {
                        
float immu = 1 - client.Entity.Detoxication / 100F;
                        
Percent = Percent * immu;
                    }
                    
client.Entity.ToxicFogLeft--;
                    if (
client.Entity.ToxicFogLeft == 0)
                    {
                        
client.Entity.RemoveFlag(Update.Flags.Poisoned);
                        return;
                    }
                    
client.Entity.ToxicFogStamp = Now;
                    if (
client.Entity.Hitpoints > 1)
                    {
                        
uint damage = Game.Attacking.Calculate.Percent(client.Entity, Percent);
                        if (
client.Entity.ContainsFlag2(Network.GamePackets.Update.Flags2.AzureShield))
                        {

                            if (
damage > client.Entity.AzureShieldDefence)
                            {
                                
damage -= client.Entity.AzureShieldDefence;
                                
Game.Attacking.Calculate.CreateAzureDMG(client.Entity.AzureShieldDefence, client.Entity, client.Entity);
                                
client.Entity.RemoveFlag2(Network.GamePackets.Update.Flags2.AzureShield);
                            }
                            else
                            {
                                
Game.Attacking.Calculate.CreateAzureDMG((uint)damage, client.Entity, client.Entity);
                                
client.Entity.AzureShieldDefence -= (ushort)damage;
                                
client.Entity.AzureShieldPacket();
                                
damage = 1;
                            }
                        }
                        else
                            
client.Entity.Hitpoints -= damage;

                        
Network.GamePackets.SpellUse suse = new Network.GamePackets.SpellUse(true);
                        
suse.Attacker = client.Entity.UID;
                        
suse.SpellID = 10010;
                        
suse.AddTarget(client.Entity, damage, null);
                        
client.SendScreen(suse, true);
                        if (
client != null)
                            
client.UpdateQualifier(damage, true);

                    }
                }
            }
            else
            {
                if (
client.Entity.ContainsFlag(Update.Flags.Poisoned))
                    
client.Entity.RemoveFlag(Update.Flags.Poisoned);
            }
            
#endregion 

الريجون الى انتا بعتو كان فى ايرور فى فى الكود دا client.UpdateQualifier(client.ArenaStatistic.PlayW ith, client, damage);//

خليتو كدا client.UpdateQualifier(damage, true);

قديم 2019-08-06, 06:22 PM
المشاركة 8
Rider
.:: نائب المدير ::.
الإجابات المقدمة: 989
  • غير متواجد
افتراضي رد: مشكلة بخصوص اسكلة النينجا ToxicFog
جرب روح مابه تانيه غير تون لو قلبك نقص تحت

كود:
suse.AddTarget(client.Player, damage, null); 

ضيف
client.Player.Hitpoints -= damage;

متابع

قديم 2019-08-06, 06:30 PM
المشاركة 9
MRonlineGvrix
.:: عضو مميز ::.
الإجابات المقدمة: 32
  • غير متواجد
افتراضي رد: مشكلة بخصوص اسكلة النينجا ToxicFog
تم الحل شكرا جداجدا جدا
الف شكرا منتدى جميل جدا

قديم 2019-08-06, 06:33 PM
المشاركة 10
Rider
.:: نائب المدير ::.
الإجابات المقدمة: 989
  • غير متواجد
افتراضي رد: مشكلة بخصوص اسكلة النينجا ToxicFog
حبيبي <3


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



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

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

المواضيع المتشابهه للموضوع: مشكلة بخصوص اسكلة النينجا ToxicFog
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
اسكلة النينجا اديك فى الارض تفحر عاوز اشوفلها حل MRonlineGvrix مشكلات السيرفيرات كونكر الشخصيه 4 2020-02-05 05:55 PM
مشكلة فى رون بتاع النينجا nova مشكلات السيرفيرات كونكر الشخصيه 6 2019-11-27 08:17 PM
بخصوص اسكلة ShadowClone Mostafa Shalby مشكلات السيرفيرات كونكر الشخصيه 40 2019-10-31 12:37 AM
ضرورى من فضلكم مشكلة فى اتاك الكتانا بتاعة النينجا ViORX مشكلات السيرفيرات كونكر الشخصيه 15 2019-09-05 05:59 PM
مشكلة بخصوص اسكلة الويند ولكر thundercloud ابو مروان مشكلات السيرفيرات كونكر الشخصيه 21 2019-08-21 10:43 PM


الساعة الآن 12:52 AM