منتدي اكواد

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

taha 2019-07-27 08:09 PM

مشكله ؟
 
عاوز ابجريد اسكلايه الشادو بتاع النينجا علشان مش شغاله عندى

محمد ياسر 2019-07-27 08:27 PM

رد: مشكله ؟
 
ابعت اسم الاسكله

Tefa 2019-07-28 06:07 AM

رد: مشكله ؟
 
Handle.cs

سيرش علي
كود PHP:

public static bool CanAttack 

ضيف تحته
كود PHP:

#region Clone Section
            
if (attacker.MyClones != null)
            {
                if (
attacker.MyClones.ContainsKey(attacked.UID))
                {
                    
//   attacker.Owner.Send(new Message("u Can't Kill Your Shadow Clone", System.Drawing.Color.Red, Message.TopLeft));

                    
return false;
                }
            }
            
#endregion 

الاسكله
كود PHP:

 #region ShadowClone
                                
case 12090:
                                    {
                                        if (
attacker.Owner.Map.ID == 6565 || attacker.Owner.Map.ID == 5555 || attacker.Owner.Map.ID == 2014)
                                        {
                                            
Kernel.SendWorldMessage(new Message("Mr: " attacker.Name " You Can`t Use ThisSpell Here !!!"System.Drawing.Color.RedMessage.Talk), Program.Values);
                                            return;
                                        }
                                        
attacker.AttackPacket null;
                                        if (
attacker.MyClones.Count 0)
                                        {
                                            var 
clones attacker.MyClones.Values.ToArray();
                                            for (
int i 0clones.Lengthi++)
                                            {
                                                var 
item clones[i];
                                                if (
item == null)
                                                    continue;
                                                
Data data = new Data(true);
                                                
data.UID item.UID;
                                                
attacker.Stamina -= spell.UseStamina;
                                                
data.ID Network.GamePackets.Data.RemoveEntity;
                                                
attacker.Owner.SendScreen(data);
                                                
attacker.MyClones[item.UID] = null;
                                            }
                                            
attacker.MyClones.Clear();
                                        }
                                        else
                                        {
                                            if (
CanUseSpell(spellattacker.Owner))
                                            {
                                                
PrepareSpell(spellattacker.Owner);
                                                
SpellUse spellUse = new SpellUse(true);
                                                
spellUse.Attacker attacker.UID;
                                                
spellUse.SpellID spell.ID;
                                                
spellUse.SpellLevel spell.Level;
                                                
spellUse.X;
                                                
spellUse.Y;
                                                
attacker.AddClone(3);
                                                if (
spell.Level >= 4)
                                                    
attacker.AddClone(10003);
                                                foreach (var 
item in attacker.MyClones.Values)
                                                    
spellUse.AddTarget(item0attack);

                                                
attacker.Owner.SendScreen(spellUsetrue);
                                            }

                                        }
                                        break;
                                    }
                                
#endregion 

GameState.cs

سيرش علي
كود PHP:

private void ShutDown() 

ضيف
كود PHP:

 if (Entity.MyClones.Count 0)
                    {
                        foreach (var 
item in Entity.MyClones.Values)
                        {
                            
Data data = new Data(true);
                            
data.UID item.UID;
                            
data.ID Network.GamePackets.Data.RemoveEntity;
                            
item.MonsterInfo.SendScreen(data);
                        }
                        
Entity.MyClones.Clear();
                    } 

Entity.cs

ضيف
كود PHP:

 public void AddClone(ushort cloneid)
        {
            
#region SpawnPacket(10014)

            
var Entity = new Entity(EntityFlag.Entitytrue);
            
Entity.MonsterInfo = new MonsterInformation();
            
MonsterInformation.MonsterInformations.TryGetValue(9003out Entity.MonsterInfo);
            
Entity.Owner Owner;
            
Entity.MonsterInfo.Owner Entity;
            
Entity.IsClone true;
            
Entity._Name "ShadowClone";
            
Entity.clan Name;
            
Entity.SpawnPacket = new byte[_Names _Name.Length 36];
            Array.
Copy(SpawnPacketEntity.SpawnPacketEntity.SpawnPacket.Length);
            
WriteStringList(new List<string>() { "ShadowClone"""""Name"" }, _NamesEntity.SpawnPacket);
            
Entity.Mesh Mesh;
            
Entity.Hitpoints 1;
            
Entity.UID Owner.Map.CloneCounter.Next;
            
Entity.GuildID Entity.GuildRank Entity.Action 0;
            
Entity.CountryID Enums.CountryID.Default;
            
Entity.StatusFlag Entity.StatusFlag2 Entity.StatusFlag3 Entity.StatusFlag4 0;
            
Writer.Write((uint)0Game.ConquerStructures.Equipment.SteedEntity.SpawnPacket);
            
Writer.Write((uint)0Game.ConquerStructures.Equipment.SteedPlusEntity.SpawnPacket);
            
Writer.Write((uint)0Game.ConquerStructures.Equipment.SteedColorEntity.SpawnPacket);
            
Writer.Write((uint)0Game.ConquerStructures.Equipment.MountArmorEntity.SpawnPacket);
            
Writer.Write((uint)0Game.ConquerStructures.Equipment.WingEntity.SpawnPacket);
            
Writer.Write((uint)0Game.ConquerStructures.Equipment.WingPlusEntity.SpawnPacket);
            
Entity.FlowerRank 0;
            
Entity.NobilityRank ConquerStructures.NobilityRank.Serf;
            
Entity.Class = Entity.FirstRebornClass Entity.SecondRebornClass Entity.JiangTalent Entity.SubClassesActive Entity.Reborn Entity.Level Entity.ServerID 0;
            
Writer.Write((byte)2271Entity.SpawnPacket);
            
Writer.Write(cloneid272Entity.SpawnPacket);
            
Entity.OwnerUID UID;
            
Entity.JiangActive false;
            
Writer.Write((uint)0178Entity.SpawnPacket);
            
Writer.Write((uint)0182Entity.SpawnPacket);
            
Writer.Write((uint)0186Entity.SpawnPacket);
            
Writer.Write((uint)0_UnionExploitsEntity.SpawnPacket);
            
Writer.Write((uint)0_UnionIDEntity.SpawnPacket);
            
Writer.Write((uint)0_UnionRankEntity.SpawnPacket);
            
Writer.Write((uint)0_UnionTypeEntity.SpawnPacket);
            
Writer.Write((uint)0_MyTitleEntity.SpawnPacket);
            
Writer.Write((uint)0_MyTitleScoreEntity.SpawnPacket);
            
Writer.Write((uint)0_MyWingEntity.SpawnPacket);
            
Entity.MinAttack MinAttack;
            
Entity.MaxAttack Entity.MagicAttack Math.Max(MinAttackMaxAttack);
            
Entity.Appearance Appearance;
            
Entity.MapID Owner.Map.ID;
            
Entity.SendUpdates true;

            
#endregion SpawnPacket(10014)

            #region Pet(2035)

            
MsgPetInfo pet = new MsgPetInfo();
            
pet.UID Entity.UID;
            
pet.PetID cloneid;
            
pet.PetType 2;
            
pet.Mesh Mesh;
            
pet.AttackRange = (byte)AttackRange;
            
pet.X;
            
pet.Y;
            
pet.Name "ShadowClone";
            
Owner.Send(pet);

            
#endregion Pet(2035)

            
MyClones.Add(Entity.UIDEntity);
            
Owner.SendScreen(Entity.SpawnPackettrue);
            
Owner.SendScreenSpawn(Entitytrue);

            
#region Data(10010)

            
Data data = new Data(true);
            
data.UID Entity.UID;
            
data.Facing Entity.Facing;
            
data.ID Data.AddEntity;
            
data.wParam1 Entity.X;
            
data.wParam2 Entity.Y;
            
Owner.Send(data);

            
#endregion Data(10010)
        


سيرش
كود PHP:

public void Die( 

ضيف
كود PHP:

if (MyClones.Count 0)
            {
                foreach (var 
item in MyClones.Values)
                {
                    
Data data = new Data(true);
                    
data.UID item.UID;
                    
data.ID Network.GamePackets.Data.RemoveEntity;
                    
item.MonsterInfo.SendScreen(data);
                }
                
MyClones.Clear();
            } 

سيرش
كود PHP:

 if (Companion

ضيف
كود PHP:

if (Owner.Entity.MyClones.ContainsKey(UID))
                {
                    
Owner.Entity.MyClones.Remove(UID);
                    return;
                } 

screen.cs

سيرش
كود PHP:

foreach (GameState pClient in Kernel.GamePool.Values

ضيف
كود PHP:

if (pClient.Entity.MyClones.Count 0)
                                {
                                    foreach (var clone 
in pClient.Entity.MyClones.Values)
                                    {
                                        if (clone == 
null) continue;
                                        if (
Kernel.GetDistance(clone.X, clone.YOwner.Entity.XOwner.Entity.Y) <= 18 && !Contains(clone.UID))
                                        {
                                            if (!clone.
Dead)
                                                clone.
SendSpawn(Owner);
                                        }
                                    }
                                } 

PacketHandler.cs

سيرش
كود PHP:

case 2812

موجود امسحه و حط ده مش موجود ضيفه
كود PHP:

#region Clone Attack
                
case 2812:
                    {
                        var 
attackd BitConverter.ReadUint(packet4);
                        var 
clonecount packet[8];
                        for (
int i 0clonecounti++)
                        {
                            var 
attackr BitConverter.ReadUint(packet+ (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].IDclient.Spells[12090].Level);
                            }
                            catch { 
MySpell Database.SpellTable.GetSpell(120904); }
                            
Entity Clone = null;
                            if (
client.Entity.MyClones.TryGetValue(attackrout Clone))
                            {
                                
Entity attacked null;
                                
SobNpcSpawn attackedsob null;
                                if (
client.Screen.TryGetValue(attackdout attacked))
                                {
                                    
uint damage 0;
                                    var 
spell Database.SpellTable.GetSpell(attack.MagicType, (byte)attack.MagicLevel);
                                    if (
spell == null)
                                        
spell Database.SpellTable.GetSpell(120800);
                                    if (
attack.AttackType == GamePackets.Attack.Melee)
                                    {
                                        if (
Game.Attacking.Handle.CanAttack(client.Entityattackedspelltrue))
                                        {
                                            
damage Game.Attacking.Calculate.Melee(client.Entityattackedspellref attack);
                                            
double power = (0.5);
                                            
damage = (uint)((double)damage power 8);
                                            
Game.Attacking.Handle.ReceiveAttack(Clone, attackedattackref damagespell);
                                            
attack.Damage damage;
                                            
client.SendScreen(attack);
                                        }
                                    }
                                    else
                                    {
                                        if (
Game.Attacking.Handle.CanAttack(client.Entityattackedspellfalse))
                                        {
                                            
damage Game.Attacking.Calculate.Magic(client.Entityattackedspellref attack);
                                            
double power = (0.5);
                                            
damage = (uint)((double)damage power 8);
                                            
Game.Attacking.Handle.ReceiveAttack(Clone, attackedattackref damagespell);
                                            
attack.Damage damage;
                                            
client.SendScreen(attack);
                                        }
                                    }
                                    
SpellUse suse = new SpellUse(true);
                                    
suse.Attacker = Clone.UID;
                                    
suse.SpellID spell.ID;
                                    
suse.SpellLevel spell.Level;
                                    
suse.attacked.X;
                                    
suse.attacked.Y;
                                    
suse.Effect1 attack.Effect1;
                                    
suse.AddTarget(attackeddamageattack);
                                    
client.SendScreen(susetrue);
                                    if (
client.Account.State == KhaledMohamed.Database.AccountTable.AccountState.ProjectManager)
                                        
client.Send(new Message("Clone Attack With  Skill: " spell.NameSystem.Drawing.Color.CadetBlueMessage.Talk));

                                }
                                else if (
client.Screen.TryGetSob(attackdout attackedsob))
                                {
                                    
uint damage 0;
                                    var 
spell Database.SpellTable.GetSpell(attack.MagicType, (byte)attack.MagicLevel);
                                    if (
spell == null)
                                        
spell Database.SpellTable.GetSpell(120800);
                                    if (
attack.AttackType == GamePackets.Attack.Melee)
                                    {
                                        if (
Game.Attacking.Handle.CanAttack(client.Entityattackedsobnull))
                                        {
                                            
damage Game.Attacking.Calculate.Melee(client.Entityattackedsobref attack);
                                            
double power = ((MySpell.Power 100.0) / 100.0);
                                            
damage = (uint)((double)damage power);
                                            
Game.Attacking.Handle.ReceiveAttack(Clone, attackedsobattackdamagenull);
                                            
attack.Damage damage;
                                            
client.SendScreen(attack);
                                        }
                                    }
                                    else
                                    {
                                        if (
Game.Attacking.Handle.CanAttack(client.Entityattackedsobspell))
                                        {
                                            
damage Game.Attacking.Calculate.Magic(client.Entityattackedsobspellref attack);
                                            
double power = ((MySpell.Power 100.0) / 100.0);
                                            
damage = (uint)((double)damage power);
                                            
Game.Attacking.Handle.ReceiveAttack(Clone, attackedsobattackdamagespell);
                                            
attack.Damage damage;
                                            
client.SendScreen(attack);
                                        }
                                    }
                                    
SpellUse suse = new SpellUse(true);
                                    
suse.Attacker = Clone.UID;
                                    
suse.SpellID spell.ID;
                                    
suse.SpellLevel spell.Level;
                                    
suse.attackedsob.X;
                                    
suse.attackedsob.Y;
                                    
suse.Effect1 attack.Effect1;
                                    
suse.AddTarget(attackedsobdamageattack);
                                    
client.SendScreen(susetrue);
                                    if (
client.Account.State == KhaledMohamed.Database.AccountTable.AccountState.ProjectManager)
                                        
client.Send(new Message("Clone Attack With  Skill: " spell.NameSystem.Drawing.Color.CadetBlueMessage.Talk));

                                }
                            }
                        }
                        break;
                    }
                
#endregion 

سيرش
كود PHP:

 if (!client.Entity.HasMagicDefender

تحت قفلة القوس بتاعت Else
{

}
ضيف
كود PHP:

if (client.Entity.MyClones.Count 0)
            {
                foreach (var clone 
in client.Entity.MyClones.Values)
                {
                    clone.
client.Entity.X;
                    clone.
client.Entity.Y;
                }
            } 


taha 2019-07-28 07:41 AM

رد: مشكله ؟
 
تمام ادى اسم الاسكلايه
ShadowClone

taha 2019-07-28 07:56 AM

رد: مشكله ؟
 
قولى كل حاجه هتتحط فين بالظبط وتحت ايه يا ريدار

Tefa 2019-07-28 08:58 AM

رد: مشكله ؟
 
اقتباس:

المشاركة الأصلية كتبت بواسطة taha (المشاركة 7938)
قولى كل حاجه هتتحط فين بالظبط وتحت ايه يا ريدار

Handle.cs
كل الي تحته هيتضاف في نفس الكلاس
لحد ما تلاقي كلمه تانيه و انا ملونهالك بالاحمر عشان تشوفها

كل كلاس انا كاتبه كل الي تحته هيتضاف فيه

taha 2019-07-28 10:12 AM

رد: مشكله ؟
 
ماشى ابحث على ايه واضيف الحجات دى تحتها

Tefa 2019-07-28 10:34 AM

رد: مشكله ؟
 
هتلاقي و الله في الموضوع لو كلفت نفسك و قراتش مكتوب سيرش = ابحث عن

taha 2019-07-28 10:46 AM

رد: مشكله ؟
 
ابحث عن ؟

Tefa 2019-07-28 10:56 AM

رد: مشكله ؟
 
اسف لو طريقة شرحي وحشه لو مفهمتش ان شاء الله حازم اول ما ييجي هيشرحلك بطريقه اسهل بس يا ريت توضح اذا كنت فهمت ولا لا
https://2.top4top.net/p_1304w1mnb1.jpg


الساعة الآن 06:40 AM

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