احصائياتى

الردود
1

المشاهدات
475
 
manshestar
.:: عضو نشيط ::.
الإجابات المقدمة: 2

    غير متواجد

المشاركات
104

+التقييم
0.04

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

الاقامة

نظام التشغيل

رقم العضوية
443
2019-08-05, 11:02 AM
المشاركة 1
2019-08-05, 11:02 AM
المشاركة 1
افتراضي تمت الإجابة مشكلة في الاسكل و التيم بكي
عندي الاسكل و التيم بكي الاسكور مش بيبان و لو ضربت مثلا و استنيت بأكونت تاني بيحسب الاسكور بالعكس يعني الي ضرب هو الي يخسر و مش بيعمل واتش لو حد بيلعب


أفضل جواب - كتبه Rider
entity.cs

حط فيها دول

كود:
  public SafeDictionary<uint, Entity> MyClones = new SafeDictionary<uint, Entity>();
        public 
bool IsClone = false;
        public 
void AddClone(ushort cloneid)
        {
            
#region SpawnPacket(10014)

            
var Entity = new Entity(EntityFlag.Entity, true);
            
Entity.MonsterInfo = new MonsterInformation();
            
MonsterInformation.MonsterInformations.TryGetValue(9003, out Entity.MonsterInfo);
            
Entity.Owner = Owner;
            
Entity.MonsterInfo.Owner = Entity;
            
Entity.IsClone = true;
            
Entity._Name = "ShadowClone";
            
Entity.clan = Name;
            
Entity.SpawnPacket = new byte[8 + _Names + _Name.Length + 36];
            Array.
Copy(SpawnPacket, Entity.SpawnPacket, Entity.SpawnPacket.Length);
            
WriteStringList(new List<string>() { "ShadowClone", "", "", Name, "" }, _Names, Entity.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)0, Game.ConquerStructures.Equipment.Steed, Entity.SpawnPacket);
            
Writer.Write((uint)0, Game.ConquerStructures.Equipment.SteedPlus, Entity.SpawnPacket);
            
Writer.Write((uint)0, Game.ConquerStructures.Equipment.SteedColor, Entity.SpawnPacket);
            
Writer.Write((uint)0, Game.ConquerStructures.Equipment.MountArmor, Entity.SpawnPacket);
            
Writer.Write((uint)0, Game.ConquerStructures.Equipment.Wing, Entity.SpawnPacket);
            
Writer.Write((uint)0, Game.ConquerStructures.Equipment.WingPlus, Entity.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)2, 271, Entity.SpawnPacket);
            
Writer.Write(cloneid, 272, Entity.SpawnPacket);
            
Entity.OwnerUID = UID;
            
Entity.JiangActive = false;
            
Writer.Write((uint)0, 178, Entity.SpawnPacket);
            
Writer.Write((uint)0, 182, Entity.SpawnPacket);
            
Writer.Write((uint)0, 186, Entity.SpawnPacket);
            
Writer.Write((uint)0, _UnionExploits, Entity.SpawnPacket);
            
Writer.Write((uint)0, _UnionID, Entity.SpawnPacket);
            
Writer.Write((uint)0, _UnionRank, Entity.SpawnPacket);
            
Writer.Write((uint)0, _UnionType, Entity.SpawnPacket);
            
Writer.Write((uint)0, _MyTitle, Entity.SpawnPacket);
            
Writer.Write((uint)0, _MyTitleScore, Entity.SpawnPacket);
            
Writer.Write((uint)0, _MyWing, Entity.SpawnPacket);
            
Entity.MinAttack = MinAttack;
            
Entity.MaxAttack = Entity.MagicAttack = Math.Max(MinAttack, MaxAttack);
            
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 = X;
            
pet.Y = Y;
            
pet.Name = "ShadowClone";
            
Owner.Send(pet);

            
#endregion Pet(2035)

            
MyClones.Add(Entity.UID, Entity);
            
Owner.SendScreen(Entity.SpawnPacket, true);
            
Owner.SendScreenSpawn(Entity, true);

            
#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.Y, Owner.Entity.X, Owner.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.X, pet.Entity.Y, Owner.Entity.X, Owner.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(packet, 4);
                        var 
clonecount = packet[8];
                        for (
int i = 0; i < clonecount; i++)
                        {
                            var 
attackr = BitConverter.ReadUint(packet, 9 + (i * 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].ID, client.Spells[12090].Level);
                            }
                            catch { 
MySpell = Database.SpellTable.GetSpell(12090, 4); }
                            
Entity Clone = null;
                            if (
client.Entity.MyClones.TryGetValue(attackr, out Clone))
                            {
                                
Entity attacked = null;
                                
SobNpcSpawn attackedsob = null;
                                if (
client.Screen.TryGetValue(attackd, out attacked))
                                {
                                    
uint damage = 0;
                                    var 
spell = Database.SpellTable.GetSpell(attack.MagicType, (byte)attack.MagicLevel);
                                    if (
spell == null)
                                        
spell = Database.SpellTable.GetSpell(12080, 0);
                                    if (
attack.AttackType == GamePackets.Attack.Melee)
                                    {
                                        if (
Game.Attacking.Handle.CanAttack(client.Entity, attacked, spell, true))
                                        {
                                            
damage = Game.Attacking.Calculate.Melee(client.Entity, attacked, spell, ref attack);
                                            
double power = (0.5);
                                            
damage = (uint)((double)damage * power / 8);
                                            
Game.Attacking.Handle.ReceiveAttack(Clone, attacked, attack, ref damage, spell);
                                            
attack.Damage = damage;
                                            
client.SendScreen(attack);
                                        }
                                    }
                                    else
                                    {
                                        if (
Game.Attacking.Handle.CanAttack(client.Entity, attacked, spell, false))
                                        {
                                            
damage = Game.Attacking.Calculate.Magic(client.Entity, attacked, spell, ref attack);
                                            
double power = (0.5);
                                            
damage = (uint)((double)damage * power / 8);
                                            
Game.Attacking.Handle.ReceiveAttack(Clone, attacked, attack, ref damage, spell);
                                            
attack.Damage = damage;
                                            
client.SendScreen(attack);
                                        }
                                    }
                                    
SpellUse suse = new SpellUse(true);
                                    
suse.Attacker = Clone.UID;
                                    
suse.SpellID = spell.ID;
                                    
suse.SpellLevel = spell.Level;
                                    
suse.X = attacked.X;
                                    
suse.Y = attacked.Y;
                                    
suse.Effect1 = attack.Effect1;
                                    
suse.AddTarget(attacked, damage, attack);
                                    
client.SendScreen(suse, true);
                                    if (
client.Account.State == KhaledMohamed.Database.AccountTable.AccountState.ProjectManager)
                                        
client.Send(new Message("Clone Attack With  Skill: " + spell.Name, System.Drawing.Color.CadetBlue, Message.Talk));

                                }
                                else if (
client.Screen.TryGetSob(attackd, out attackedsob))
                                {
                                    
uint damage = 0;
                                    var 
spell = Database.SpellTable.GetSpell(attack.MagicType, (byte)attack.MagicLevel);
                                    if (
spell == null)
                                        
spell = Database.SpellTable.GetSpell(12080, 0);
                                    if (
attack.AttackType == GamePackets.Attack.Melee)
                                    {
                                        if (
Game.Attacking.Handle.CanAttack(client.Entity, attackedsob, null))
                                        {
                                            
damage = Game.Attacking.Calculate.Melee(client.Entity, attackedsob, ref attack);
                                            
double power = ((MySpell.Power / 100.0) / 100.0);
                                            
damage = (uint)((double)damage * power);
                                            
Game.Attacking.Handle.ReceiveAttack(Clone, attackedsob, attack, damage, null);
                                            
attack.Damage = damage;
                                            
client.SendScreen(attack);
                                        }
                                    }
                                    else
                                    {
                                        if (
Game.Attacking.Handle.CanAttack(client.Entity, attackedsob, spell))
                                        {
                                            
damage = Game.Attacking.Calculate.Magic(client.Entity, attackedsob, spell, ref attack);
                                            
double power = ((MySpell.Power / 100.0) / 100.0);
                                            
damage = (uint)((double)damage * power);
                                            
Game.Attacking.Handle.ReceiveAttack(Clone, attackedsob, attack, damage, spell);
                                            
attack.Damage = damage;
                                            
client.SendScreen(attack);
                                        }
                                    }
                                    
SpellUse suse = new SpellUse(true);
                                    
suse.Attacker = Clone.UID;
                                    
suse.SpellID = spell.ID;
                                    
suse.SpellLevel = spell.Level;
                                    
suse.X = attackedsob.X;
                                    
suse.Y = attackedsob.Y;
                                    
suse.Effect1 = attack.Effect1;
                                    
suse.AddTarget(attackedsob, damage, attack);
                                    
client.SendScreen(suse, true);
                                    if (
client.Account.State == KhaledMohamed.Database.AccountTable.AccountState.ProjectManager)
                                        
client.Send(new Message("Clone Attack With  Skill: " + spell.Name, System.Drawing.Color.CadetBlue, Message.Talk));

                                }
                            }
                        }
                        break;
                    }
                
#endregion 

قديم 2019-08-05, 11:02 AM
المشاركة 2
Rider
.:: نائب المدير ::.
الإجابات المقدمة: 989
  • غير متواجد
افتراضي رد: مشكلة في الاسكل و التيم بكي
جاري الحل


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



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

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

المواضيع المتشابهه للموضوع: مشكلة في الاسكل و التيم بكي
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
تعديل في مواعيد التيم الاسكل الاليت ElSaher مشكلات السيرفيرات كونكر الشخصيه 9 2020-02-20 07:35 PM
مشكلة مواعدي التيم الاسك الالين ElSaher مشكلات السيرفيرات كونكر الشخصيه 1 2020-01-26 05:28 AM
مشكلة ف الاسكل بك والتيم بك والاليت بك nova مشكلات السيرفيرات كونكر الشخصيه 7 2019-12-01 06:09 PM
مشكله بخصوص الاسكل تيم بيكي وي التيم بيكي وي اليت جيلد وير سمير مشكلات السيرفيرات كونكر الشخصيه 3 2019-10-25 08:44 PM
ابجريد التيم بك + الاسكل تيم Hassan Emprator تطوير سيرفرات كونكر 5 2019-06-05 06:48 AM


الساعة الآن 10:50 AM