منتدي اكواد

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

youssefabdelmanam 2019-11-30 01:51 PM

مشكلة في فيزيكال الننجا وتربل المونك والبيرت [Source khaled v5]
 
عندي مشكلة في فيزيكال الننجا وتربل والمونك والبيرت مبيشتغلش

باجي مثلا اضرب بي الننجا المفروض يطلع سكلة FatalSpain مبتطلعش بيضرب عادي من غير ما تطلع

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

ياريت الي يعرف الحل يقولي

وشكرا مقدما للجميع

Rider 2019-11-30 02:30 PM

رد: مشكلة في فيزيكال الننجا وتربل المونك والبيرت [Source khaled v5]
 
Spell table

كود PHP:

if (information.WeaponSubtype.Count != 0

بدل الي جواها ب دي
كود PHP:

 switch (information.ID)
                {
                    case 
5010:
                    case 
7020:
                    case 
1290:
                    case 
1260:
                    case 
5030:
                    case 
5040:
                    case 
7000:
                    case 
7010:
                    case 
7030:
                    case 
7040:
                    case 
1250:
                    case 
5050:
                    case 
5020:
                    case 
10490:
                    case 
11140:
                    case 
1300:
                    case 
11990:
                    case 
12110:
                    case 
12240:
                    case 
12230:
                    case 
12220:
                    case 
12210:
                    case 
12570:
                    case 
12580:
                    case 
12590:
                    case 
12600:
                    case 
11230:
                    case 
13040:
                    case 
13050:
                        
//  if (spell.Distance >= 3)
                        //      spell.Distance = 3;
                        //  if (spell.Range > 3)
                        //      spell.Range = 3;
                        
for (int i 0information.WeaponSubtype.Counti++)
                        {
                            var 
subtype information.WeaponSubtype[i];
                            if (!
WeaponSpells.ContainsKey(subtype))
                                
WeaponSpells.Add(subtype, new List<ushort>());
                            if (!
WeaponSpells[subtype].Contains(information.ID))
                                
WeaponSpells[subtype].Add(information.ID);
                        }
                        break;
                } 

handle.cs
#region Melee

كود PHP:

  #region Up - Down Sweep & Strike
                            
int rate 0;
                            if (
attacker.Owner.Spells.ContainsKey(10490)) rate 100 Database.SpellTable.GetSpell(10490attacker.Owner).Percent;
                            if (
Kernel.Rate(rate))
                            {
                                if (
attack.SpellID >= 12580 && attack.SpellID <= 12600 && attacker.EpicMonk())
                                {
                                    var 
spell Database.SpellTable.GetSpell(attack.SpellIDattacker.Owner);
                                    if (
spell != null)
                                    {
                                        
SpellUse suse = new SpellUse(true);

                                        
suse.Attacker attacker.UID;
                                        
suse.SpellID attack.SpellID;
                                        
suse.SpellLevel spell.ID;
                                        
suse.attacker.X;
                                        
suse.attacker.Y;
                                        
Fan fan = new Fan(attacker.Xattacker.Yattacked.Xattacked.Yspell.Rangespell.Sector);

                                        foreach (
Interfaces.IMapObject _obj in attacker.Owner.Screen.Objects)
                                        {
                                            if (
_obj == null) continue;
                                            if (
_obj.MapObjType == MapObjectType.Monster || _obj.MapObjType == MapObjectType.Entity)
                                            {
                                                
attacked _obj as Entity;
                                                if (
Kernel.GetDistance(attacker.Xattacker.Yattacked.Xattacked.Y) <= 7)
                                                {
                                                    if (
CanAttack(attackerattackednullattack.AttackType == Attack.Melee))
                                                    {
                                                        
attack.Effect1 Attack.AttackEffects1.None;
                                                        
uint damages Game.Attacking.Calculate.Melee(attackerattackedspellref attack);
                                                        
damages = (damages 22) / 100;
                                                        
attack.Attacked attacked.UID;
                                                        
attack.Damage damages;
                                                        
suse.Effect1 attack.Effect1;
                                                        
suse.AddTarget(_objdamagesattack);
                                                        
ReceiveAttack(attackerattackedattackref damagesnull);
                                                    }
                                                }
                                            }
                                        }
                                        
attacker.SendScreen(suse);
                                        
attacker.AttackPacket null;
                                        return;
                                    }
                                }
                            }
                            else if (
attacker.Owner.Spells.ContainsKey(10490) && attacker.Monk())
                            {
                                var 
spell Database.SpellTable.GetSpell(10490attacker.Owner);

                                if (
Kernel.Rate(spell.MonsterPower 55) && attacker.Owner.Spells.ContainsKey(12570) && attacker.EpicMonk())
                                {
                                    
spell Database.SpellTable.GetSpell(12570attacker.Owner);
                                    if (
CanUseSpell(spellattacker.Owner))
                                    {
                                        
PrepareSpell(spellattacker.Owner);
                                        
SpellUse suse2 = new SpellUse(true);
                                        
suse2.Attacker attacker.UID;
                                        
suse2.SpellID spell.ID;
                                        
suse2.SpellLevel spell.Level;
                                        if (
attacked != null)
                                        {
                                            
suse2.attacked.X;
                                            
suse2.attacked.Y;
                                        }
                                        else
                                        {
                                            
suse2.attackedsob.X;
                                            
suse2.attackedsob.Y;
                                        }
                                        
suse2.SpellEffect 1;
                                        foreach (
Interfaces.IMapObject _obj in attacker.Owner.Screen.Objects)
                                        {
                                            if (
_obj == null) continue;
                                            if (
_obj.MapObjType == MapObjectType.Monster)
                                            {
                                                
attacked _obj as Entity;
                                                if (
Kernel.GetDistance(attacker.Xattacker.Yattacked.Xattacked.Y) <= spell.Range)
                                                {
                                                    if (
CanAttack(attackerattackedspellattack.AttackType == Attack.Melee))
                                                    {
                                                        
uint damage Game.Attacking.Calculate.Melee(attackerattackedspellref attack);
                                                        
damage = (damage 22) / 100;
                                                        
attack.Damage 0;
                                                        
ReceiveAttack(attackerattackedattackref damagespell);
                                                        
suse2.AddTarget(attackeddamageattack);
                                                    }
                                                }
                                            }
                                            else if (
_obj.MapObjType == MapObjectType.Entity)
                                            {
                                                
attacked _obj as Entity;
                                                if (
Kernel.GetDistance(attacker.Xattacker.Yattacked.Xattacked.Y) <= spell.Range)
                                                {
                                                    if (
CanAttack(attackerattackedspellattack.AttackType == Attack.Melee))
                                                    {

                                                        
uint damage Game.Attacking.Calculate.Melee(attackerattackedspellref attack);
                                                        
damage = (damage 22) / 100;
                                                        
attack.Damage 0;
                                                        
ReceiveAttack(attackerattackedattackref damagespell);
                                                        
suse2.AddTarget(attackeddamageattack);
                                                    }
                                                }
                                            }
                                            else if (
_obj.MapObjType == MapObjectType.SobNpc)
                                            {
                                                
attackedsob _obj as SobNpcSpawn;
                                                if (
Kernel.GetDistance(attacker.Xattacker.Yattackedsob.Xattackedsob.Y) <= spell.Range)
                                                {
                                                    if (
CanAttack(attackerattackedsobspell))
                                                    {
                                                        
uint damage Game.Attacking.Calculate.Melee(attackerattackedsobref attack);
                                                        
damage = (damage 22) / 100;
                                                        
attack.Damage 0;
                                                        
ReceiveAttack(attackerattackedsobattackdamagespell);
                                                        
suse2.AddTarget(attackedsobdamageattack);
                                                    }
                                                }
                                            }
                                        }
                                        
attacker.Owner.SendScreen(suse2true);
                                        
attacker.AttackPacket null;
                                        return;

                                    }
                                }
                                else
                                {
                                    if (
CanUseSpell(spellattacker.Owner))
                                    {
                                        
PrepareSpell(spellattacker.Owner);
                                        
TryTrip suse = new TryTrip(true);
                                        
suse.Attacker attacker.UID;
                                        
suse.SpellID spell.ID;
                                        
suse.SpellLevel spell.Level;
                                        
// if (Kernel.GetDistance(attacker.X, attacker.Y, X, Y) <= attacker.AttackRange + 1)
                                        
{
                                            if (
attackedsob != null)
                                            {
                                                if (
CanAttack(attackerattackedsobspell))
                                                {
                                                    
uint damage Calculate.Melee(attackerattackedsobref attack);
                                                    
damage = (damage 22) / 100;
                                                    
suse.Attacked attackedsob.UID;
                                                    
attack.Damage 0;
                                                    
suse.Damage damage;
                                                    
ReceiveAttack(attackerattackedsobattackdamagespell);
                                                    
attacker.Owner.SendScreen(susetrue);
                                                }
                                            }
                                            else
                                            {
                                                if (
CanAttack(attackerattackedspellattack.AttackType == Attack.Melee))
                                                {
                                                    
uint damage Calculate.Melee(attackerattackedspellref attack);
                                                    
damage = (damage 22) / 100;
                                                    
suse.Attacked attacked.UID;
                                                    
suse.Damage damage;
                                                    
attack.Damage 0;
                                                    
ReceiveAttack(attackerattackedattackref damagespell);
                                                    
attacker.Owner.SendScreen(susetrue);
                                                }
                                            }
                                            
attacker.AttackPacket null; return;
                                        }
                                    }
                                }
                                
attacker.AttackPacket null;
                                return;
                            }
                            
#endregion 


youssefabdelmanam 2019-11-30 09:28 PM

رد: مشكلة في فيزيكال الننجا وتربل المونك والبيرت [Source khaled v5]
 
اقتباس:

المشاركة الأصلية كتبت بواسطة rider (المشاركة 23628)
spell table

كود PHP:

if (information.weaponsubtype.count != 0

بدل الي جواها ب دي
كود PHP:

 switch (information.id)
                {
                    case 
5010:
                    Case 
7020:
                    Case 
1290:
                    Case 
1260:
                    Case 
5030:
                    Case 
5040:
                    Case 
7000:
                    Case 
7010:
                    Case 
7030:
                    Case 
7040:
                    Case 
1250:
                    Case 
5050:
                    Case 
5020:
                    Case 
10490:
                    Case 
11140:
                    Case 
1300:
                    Case 
11990:
                    Case 
12110:
                    Case 
12240:
                    Case 
12230:
                    Case 
12220:
                    Case 
12210:
                    Case 
12570:
                    Case 
12580:
                    Case 
12590:
                    Case 
12600:
                    Case 
11230:
                    Case 
13040:
                    Case 
13050:
                        
//  if (spell.distance >= 3)
                        //      spell.distance = 3;
                        //  if (spell.range > 3)
                        //      spell.range = 3;
                        
for (int i 0information.weaponsubtype.counti++)
                        {
                            var 
subtype information.weaponsubtype[i];
                            if (!
weaponspells.containskey(subtype))
                                
weaponspells.add(subtype, new list<ushort>());
                            if (!
weaponspells[subtype].contains(information.id))
                                
weaponspells[subtype].add(information.id);
                        }
                        break;
                } 

handle.cs
#region melee

كود PHP:

  #region up - down sweep & strike
                            
int rate 0;
                            if (
attacker.owner.spells.containskey(10490)) rate 100 database.spelltable.getspell(10490attacker.owner).percent;
                            if (
kernel.rate(rate))
                            {
                                if (
attack.spellid >= 12580 && attack.spellid <= 12600 && attacker.epicmonk())
                                {
                                    var 
spell database.spelltable.getspell(attack.spellidattacker.owner);
                                    if (
spell != null)
                                    {
                                        
spelluse suse = new spelluse(true);

                                        
suse.attacker attacker.uid;
                                        
suse.spellid attack.spellid;
                                        
suse.spelllevel spell.id;
                                        
suse.attacker.x;
                                        
suse.attacker.y;
                                        
fan fan = new fan(attacker.xattacker.yattacked.xattacked.yspell.rangespell.sector);

                                        foreach (
interfaces.imapobject _obj in attacker.owner.screen.objects)
                                        {
                                            if (
_obj == null) continue;
                                            if (
_obj.mapobjtype == mapobjecttype.monster || _obj.mapobjtype == mapobjecttype.entity)
                                            {
                                                
attacked _obj as entity;
                                                if (
kernel.getdistance(attacker.xattacker.yattacked.xattacked.y) <= 7)
                                                {
                                                    if (
canattack(attackerattackednullattack.attacktype == attack.melee))
                                                    {
                                                        
attack.effect1 attack.attackeffects1.none;
                                                        
uint damages game.attacking.calculate.melee(attackerattackedspellref attack);
                                                        
damages = (damages 22) / 100;
                                                        
attack.attacked attacked.uid;
                                                        
attack.damage damages;
                                                        
suse.effect1 attack.effect1;
                                                        
suse.addtarget(_objdamagesattack);
                                                        
receiveattack(attackerattackedattackref damagesnull);
                                                    }
                                                }
                                            }
                                        }
                                        
attacker.sendscreen(suse);
                                        
attacker.attackpacket null;
                                        return;
                                    }
                                }
                            }
                            else if (
attacker.owner.spells.containskey(10490) && attacker.monk())
                            {
                                var 
spell database.spelltable.getspell(10490attacker.owner);

                                if (
kernel.rate(spell.monsterpower 55) && attacker.owner.spells.containskey(12570) && attacker.epicmonk())
                                {
                                    
spell database.spelltable.getspell(12570attacker.owner);
                                    if (
canusespell(spellattacker.owner))
                                    {
                                        
preparespell(spellattacker.owner);
                                        
spelluse suse2 = new spelluse(true);
                                        
suse2.attacker attacker.uid;
                                        
suse2.spellid spell.id;
                                        
suse2.spelllevel spell.level;
                                        if (
attacked != null)
                                        {
                                            
suse2.attacked.x;
                                            
suse2.attacked.y;
                                        }
                                        else
                                        {
                                            
suse2.attackedsob.x;
                                            
suse2.attackedsob.y;
                                        }
                                        
suse2.spelleffect 1;
                                        foreach (
interfaces.imapobject _obj in attacker.owner.screen.objects)
                                        {
                                            if (
_obj == null) continue;
                                            if (
_obj.mapobjtype == mapobjecttype.monster)
                                            {
                                                
attacked _obj as entity;
                                                if (
kernel.getdistance(attacker.xattacker.yattacked.xattacked.y) <= spell.range)
                                                {
                                                    if (
canattack(attackerattackedspellattack.attacktype == attack.melee))
                                                    {
                                                        
uint damage game.attacking.calculate.melee(attackerattackedspellref attack);
                                                        
damage = (damage 22) / 100;
                                                        
attack.damage 0;
                                                        
receiveattack(attackerattackedattackref damagespell);
                                                        
suse2.addtarget(attackeddamageattack);
                                                    }
                                                }
                                            }
                                            else if (
_obj.mapobjtype == mapobjecttype.entity)
                                            {
                                                
attacked _obj as entity;
                                                if (
kernel.getdistance(attacker.xattacker.yattacked.xattacked.y) <= spell.range)
                                                {
                                                    if (
canattack(attackerattackedspellattack.attacktype == attack.melee))
                                                    {

                                                        
uint damage game.attacking.calculate.melee(attackerattackedspellref attack);
                                                        
damage = (damage 22) / 100;
                                                        
attack.damage 0;
                                                        
receiveattack(attackerattackedattackref damagespell);
                                                        
suse2.addtarget(attackeddamageattack);
                                                    }
                                                }
                                            }
                                            else if (
_obj.mapobjtype == mapobjecttype.sobnpc)
                                            {
                                                
attackedsob _obj as sobnpcspawn;
                                                if (
kernel.getdistance(attacker.xattacker.yattackedsob.xattackedsob.y) <= spell.range)
                                                {
                                                    if (
canattack(attackerattackedsobspell))
                                                    {
                                                        
uint damage game.attacking.calculate.melee(attackerattackedsobref attack);
                                                        
damage = (damage 22) / 100;
                                                        
attack.damage 0;
                                                        
receiveattack(attackerattackedsobattackdamagespell);
                                                        
suse2.addtarget(attackedsobdamageattack);
                                                    }
                                                }
                                            }
                                        }
                                        
attacker.owner.sendscreen(suse2true);
                                        
attacker.attackpacket null;
                                        return;

                                    }
                                }
                                else
                                {
                                    if (
canusespell(spellattacker.owner))
                                    {
                                        
preparespell(spellattacker.owner);
                                        
trytrip suse = new trytrip(true);
                                        
suse.attacker attacker.uid;
                                        
suse.spellid spell.id;
                                        
suse.spelllevel spell.level;
                                        
// if (kernel.getdistance(attacker.x, attacker.y, x, y) <= attacker.attackrange + 1)
                                        
{
                                            if (
attackedsob != null)
                                            {
                                                if (
canattack(attackerattackedsobspell))
                                                {
                                                    
uint damage calculate.melee(attackerattackedsobref attack);
                                                    
damage = (damage 22) / 100;
                                                    
suse.attacked attackedsob.uid;
                                                    
attack.damage 0;
                                                    
suse.damage damage;
                                                    
receiveattack(attackerattackedsobattackdamagespell);
                                                    
attacker.owner.sendscreen(susetrue);
                                                }
                                            }
                                            else
                                            {
                                                if (
canattack(attackerattackedspellattack.attacktype == attack.melee))
                                                {
                                                    
uint damage calculate.melee(attackerattackedspellref attack);
                                                    
damage = (damage 22) / 100;
                                                    
suse.attacked attacked.uid;
                                                    
suse.damage damage;
                                                    
attack.damage 0;
                                                    
receiveattack(attackerattackedattackref damagespell);
                                                    
attacker.owner.sendscreen(susetrue);
                                                }
                                            }
                                            
attacker.attackpacket null; return;
                                        }
                                    }
                                }
                                
attacker.attackpacket null;
                                return;
                            }
                            
#endregion 


اشكرك جدا الحل نافع:)

Rider 2019-12-01 12:14 AM

رد: مشكلة في فيزيكال الننجا وتربل المونك والبيرت [Source khaled v5]
 
العفو <3


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

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