منتدي اكواد

منتدي اكواد (https://code.vpscairo.com/index.php)
-   مشكلات السيرفيرات كونكر الشخصيه (https://code.vpscairo.com/forumdisplay.php?f=12)
-   -   مشكلة بخصوص اسكلة النينجا ToxicFog (https://code.vpscairo.com/showthread.php?t=1408)

MRonlineGvrix 2019-08-06 04:44 PM

مشكلة بخصوص اسكلة النينجا ToxicFog
 
صورة من الاسكلة (تم تعديل الموضوع بناء على طلب المشرف )
https://5.top4top.net/p_1313al2wg1.png
المشكلة هيا لوضربت بيها اى لاعب مش بتائر فى خالص ولو دمو ناقص بتعمل العكس بتزود دمو
ودا ريجون الاسكلة فى السورس
كود PHP:

                                case 6001://toxicfog 
                                    
{
                                        if (
CanUseSpell(spellattacker.Owner))
                                        {
                                            
PrepareSpell(spellattacker.Owner);

                                            
SpellUse suse = new SpellUse(true);
                                            
suse.Attacker attacker.UID;
                                            
suse.SpellID spell.ID;
                                            
suse.SpellLevel spell.Level;

                                            
suse.X;
                                            
suse.Y;
                                            if (
Kernel.GetDistance(attacker.Xattacker.YXY) <= 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(XYattacked.Xattacked.Y) <= spell.Range)
                                                        {
                                                            if (
CanAttack(attackerattackedspellattack.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.UID1null);
                                                                }
                                                                else
                                                                {
                                                                    
suse.AddTarget(attacked.UID0null);
                                                                    
suse.Targets[attacked.UID].Hit false;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                            else
                                            {
                                                
attacker.AttackPacket null;
                                            }
                                            
attacker.Owner.SendScreen(susetrue);
                                        }
                                        break;
                                    } 


Hassan Emprator 2019-08-06 04:46 PM

رد: مشكلة بخصوص اسكلة النينجا ToxicFog
 
طيب يحبي ما انا بعتلك حلها مشفتهوش ليه ؟

MRonlineGvrix 2019-08-06 04:51 PM

رد: مشكلة بخصوص اسكلة النينجا ToxicFog
 
اقتباس:

المشاركة الأصلية كتبت بواسطة hassan emprator (المشاركة 10239)
طيب يحبي ما انا بعتلك حلها مشفتهوش ليه ؟

تم حل اسكلة 1 بس من الحلول الى حلتهالى
وشكرتك فيها وشكرا لتانى مرة يباشا

Rider 2019-08-06 05:02 PM

رد: مشكلة بخصوص اسكلة النينجا ToxicFog
 
هتدخل علي world و تبحث عن #region ToxicFog
لقيتها بدلها ب دي هيجيلك ايرور في Player غيرها ل Entity
كود PHP:

   #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 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.PlayerPercent);
                        if (
client.Player.ContainsFlag2(Network.GamePackets.Update.Flags2.AzureShield))
                        {

                            if (
damage client.Player.AzureShieldDefence)
                            {
                                
damage -= client.Player.AzureShieldDefence;
                                
Game.Attacking.Calculate.CreateAzureDMG(client.Player.AzureShieldDefenceclient.Playerclient.Player);
                                
client.Player.RemoveFlag2(Network.GamePackets.Update.Flags2.AzureShield);
                            }
                            else
                            {
                                
Game.Attacking.Calculate.CreateAzureDMG((uint)damageclient.Playerclient.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.Playerdamagenull);
                        
client.SendScreen(susetrue);
                
//        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 

طب ملقتهاش ابحث عن
كود PHP:

 private void BuffersCallback

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

MRonlineGvrix 2019-08-06 05:13 PM

رد: مشكلة بخصوص اسكلة النينجا ToxicFog
 
جارى التجربة انتظر الرد

Rider 2019-08-06 05:17 PM

رد: مشكلة بخصوص اسكلة النينجا ToxicFog
 
في انتظار الرد باذن الله تم حل كل المشاكل في البوست الاخر

MRonlineGvrix 2019-08-06 05:25 PM

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

https://3.top4top.net/p_1313nslu21.jpg

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

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



دا الرجون بظبط
كود PHP:

#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 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.EntityPercent);
                        if (
client.Entity.ContainsFlag2(Network.GamePackets.Update.Flags2.AzureShield))
                        {

                            if (
damage client.Entity.AzureShieldDefence)
                            {
                                
damage -= client.Entity.AzureShieldDefence;
                                
Game.Attacking.Calculate.CreateAzureDMG(client.Entity.AzureShieldDefenceclient.Entityclient.Entity);
                                
client.Entity.RemoveFlag2(Network.GamePackets.Update.Flags2.AzureShield);
                            }
                            else
                            {
                                
Game.Attacking.Calculate.CreateAzureDMG((uint)damageclient.Entityclient.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.Entitydamagenull);
                        
client.SendScreen(susetrue);
                        if (
client != null)
                            
client.UpdateQualifier(damagetrue);

                    }
                }
            }
            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);

Rider 2019-08-06 06:22 PM

رد: مشكلة بخصوص اسكلة النينجا ToxicFog
 
جرب روح مابه تانيه غير تون لو قلبك نقص تحت
كود PHP:

suse.AddTarget(client.Playerdamagenull); 

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

متابع

MRonlineGvrix 2019-08-06 06:30 PM

رد: مشكلة بخصوص اسكلة النينجا ToxicFog
 
تم الحل شكرا جداجدا جدا
الف شكرا منتدى جميل جدا

Rider 2019-08-06 06:33 PM

رد: مشكلة بخصوص اسكلة النينجا ToxicFog
 
حبيبي <3


الساعة الآن 02:49 AM

مرحبا بكم في منتدي اكواد لتطوير الالعاب