قديم 2019-08-05, 06:25 AM
المشاركة 2
osama
.:: عضو مميز ::.
  • غير متواجد
افتراضي رد: مشكلة فى اسكلة ShadowClone
يجماعة من فضلكو حل لى مشكلة الاسكلة دى

قديم 2019-08-05, 09:10 AM
المشاركة 3
Tefa
.:: عضو خبير ::.
  • غير متواجد
افتراضي رد: مشكلة فى اسكلة ShadowClone
entity.cs

حط فيها دول

كود:
  public SafeDictionary<uintEntityMyClones = new SafeDictionary<uintEntity>();
        public 
bool IsClone false;
        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)
        


في screen.cs
حط ده

كود:
#region Other Pet & Clones
                                
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);
                                        }
                                    }
                                }
                                if (
pClient.Pet.Pets.Count 0)
                                {
                                    foreach (var 
pet in pClient.Pet.Pets.Values)
                                    {
                                        if (
pet == null) continue;
                                        if (
pet.Entity == null) continue;
                                        if (
Kernel.GetDistance(pet.Entity.Xpet.Entity.YOwner.Entity.XOwner.Entity.Y) <= 18 && !Contains(pet.Entity.UID))
                                        {
                                            if (!
pet.Entity.Dead)
                                                
pet.Entity.SendSpawn(Owner);
                                        }
                                    }
                                }
                                
#endregion 

في packethandler.cs

سيرش علي
كود:
case 2812

لقيته بدله ملقتهوش ضيفه

كود:
 #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 



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



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

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

المواضيع المتشابهه للموضوع: مشكلة فى اسكلة ShadowClone
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
مشكلة بخصوص اسكل ShadowClone OmarMimi5095 مشكلات السيرفيرات كونكر الشخصيه 1 2021-08-05 04:23 AM
مشكلة نسخ النينج (shadowclone)ا.. حل بعد اذنكم Abod ayman مشكلات السيرفيرات كونكر الشخصيه 6 2020-03-30 08:20 PM
بخصوص اسكلة ShadowClone Mostafa Shalby مشكلات السيرفيرات كونكر الشخصيه 40 2019-10-31 12:37 AM
حل مشكله اسكلة ShadowClone Tefa تطوير سيرفرات كونكر 2 2019-10-24 02:55 PM
مشكلة في اسكلة SuperTwofoldBlade ElSaher مشكلات السيرفيرات كونكر الشخصيه 1 2019-08-03 03:06 AM


الساعة الآن 09:45 AM

Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.