كونكر عرب

كونكر عرب (https://conquer-arab.com/index.php)
-   مشكلات السيرفيرات كونكر الشخصيه (https://conquer-arab.com/forumdisplay.php?f=12)
-   -   مشكلة في الاسكلات او الاوتو مش عارف (https://conquer-arab.com/showthread.php?t=5320)

TheMyth 2020-06-22 07:21 PM

مشكلة في الاسكلات او الاوتو مش عارف
 
يا جماعة انا عندي مشكلة غريبة شوية واحتارت فيها المشكلة ان عندي الاكونت لما بضرب حد فيزيكال واسيب الاكونت من غير ما اتحرك يفضل يضرب فيزيكال في اي حد اي وحش او حد معدي بيموته لوحدة كانو اوتو

TheMyth 2020-06-24 12:37 PM

رد: مشكلة في الاسكلات او الاوتو مش عارف
 
اية يا جماعة محدش عارف حل لية او يوصلني للكلاس المسؤول عنها

TheMyth 2020-06-25 12:34 PM

رد: مشكلة في الاسكلات او الاوتو مش عارف
 
يا جماعة حد يعبرني

Hassan Emprator 2020-06-26 09:12 PM

رد: مشكلة في الاسكلات او الاوتو مش عارف
 
سيرش عا
AutoAttackCallBack
هتلاقيها في world.cs تحت خالص
بدلها كلها بي دا وجرب

كود PHP:

 private void AutoAttackCallback(GameState client, int time)
        {
            if (!
Valid(client)) return;
            
Time32 Now = new Time32(time);
            if (
client.Player.AttackPacket != null || client.Player.VortexAttackStamp != null)
            {
                try
                {
                    if (
client.Player.ContainsFlag((ulong)Update.Flags.ShurikenVortex))
                    {
                        if (
client.Player.VortexPacket != null && client.Player.VortexPacket.ToArray() != null)
                        {
                            if (
Now > client.Player.VortexAttackStamp.AddMilliseconds(1400))
                            {
                                
client.Player.VortexAttackStamp = Now;
                                new 
Game.Attacking.Handle(client.Player.VortexPacket, client.Player, null);
                            }
                        }
                    }
                    else
                    {
                        
client.Player.VortexPacket = null;
                        var 
AttackPacket = client.Player.AttackPacket;
                        if (
AttackPacket != null && AttackPacket.ToArray() != null)
                        {
                            
uint AttackType = AttackPacket.AttackType;
                            if (
AttackType == Attack.Magic || AttackType == Attack.Melee || AttackType == Attack.Ranged)
                            {
                                if (
AttackType == Attack.Magic)
                                {
                                    if (
Now > client.Player.AttackStamp.AddSeconds(1))
                                    {
                                        if (
AttackPacket.Damage != 12160 &&
                                            
AttackPacket.Damage != 12170 &&
                                            
AttackPacket.Damage != 12120 &&
                                            
AttackPacket.Damage != 12130 &&
                                            
AttackPacket.Damage != 12140 &&
                                            
AttackPacket.Damage != 12320 &&
                                            
AttackPacket.Damage != 12330 &&
                                            
AttackPacket.Damage != 12340 &&
                                            
AttackPacket.Damage != 12210)
                                            new 
Game.Attacking.Handle(AttackPacket, client.Player, null);
                                    }
                                }
                                else
                                {
                                    
int decrease = -300;
                                    if (
client.Player.OnCyclone())
                                        
decrease = 700;
                                    if (
client.Player.OnSuperman())
                                        
decrease = 200;
                                    if (
Now > client.Player.AttackStamp.AddMilliseconds((200 - client.Player.Agility - decrease) * (int)(AttackType == Attack.Ranged ? 1 : 1)))
                                    {
                                        new 
Game.Attacking.Handle(AttackPacket, client.Player, null);
                                    }
                                }
                            }
                        }
                    }
                }
                catch (
Exception e)
                {
                    
Program.SaveException(e);
                    
client.Player.AttackPacket = null;
                    
client.Player.VortexPacket = null;
                }
            }
        } 


TheMyth 2020-06-27 12:33 AM

رد: مشكلة في الاسكلات او الاوتو مش عارف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة hassan emprator (المشاركة 49731)
سيرش عا
autoattackcallback
هتلاقيها في world.cs تحت خالص
بدلها كلها بي دا وجرب

كود PHP:

 private void autoattackcallback(gamestate client, int time)
        {
            if (!
valid(client)) return;
            
time32 now = new time32(time);
            if (
client.player.attackpacket != null || client.player.vortexattackstamp != null)
            {
                try
                {
                    if (
client.player.containsflag((ulong)update.flags.shurikenvortex))
                    {
                        if (
client.player.vortexpacket != null && client.player.vortexpacket.toarray() != null)
                        {
                            if (
now > client.player.vortexattackstamp.addmilliseconds(1400))
                            {
                                
client.player.vortexattackstamp = now;
                                new 
game.attacking.handle(client.player.vortexpacket, client.player, null);
                            }
                        }
                    }
                    else
                    {
                        
client.player.vortexpacket = null;
                        var 
attackpacket = client.player.attackpacket;
                        if (
attackpacket != null && attackpacket.toarray() != null)
                        {
                            
uint attacktype = attackpacket.attacktype;
                            if (
attacktype == attack.magic || attacktype == attack.melee || attacktype == attack.ranged)
                            {
                                if (
attacktype == attack.magic)
                                {
                                    if (
now > client.player.attackstamp.addseconds(1))
                                    {
                                        if (
attackpacket.damage != 12160 &&
                                            
attackpacket.damage != 12170 &&
                                            
attackpacket.damage != 12120 &&
                                            
attackpacket.damage != 12130 &&
                                            
attackpacket.damage != 12140 &&
                                            
attackpacket.damage != 12320 &&
                                            
attackpacket.damage != 12330 &&
                                            
attackpacket.damage != 12340 &&
                                            
attackpacket.damage != 12210)
                                            new 
game.attacking.handle(attackpacket, client.player, null);
                                    }
                                }
                                else
                                {
                                    
int decrease = -300;
                                    if (
client.player.oncyclone())
                                        
decrease = 700;
                                    if (
client.player.onsuperman())
                                        
decrease = 200;
                                    if (
now > client.player.attackstamp.addmilliseconds((200 - client.player.agility - decrease) * (int)(attacktype == attack.ranged ? 1 : 1)))
                                    {
                                        new 
game.attacking.handle(attackpacket, client.player, null);
                                    }
                                }
                            }
                        }
                    }
                }
                catch (
exception e)
                {
                    
program.saveexception(e);
                    
client.player.attackpacket = null;
                    
client.player.vortexpacket = null;
                }
            }
        } 


حضرتك انا شغال علي سورس اليكس هل دا الحل ليه ؟

ToRWadA 2020-06-27 04:48 AM

رد: مشكلة في الاسكلات او الاوتو مش عارف
 
لا الحل دا مينفعش لاليكس جرب دا افتح PoolProcesor.cs ودور علي
كود PHP:

public static unsafe void AutoAttackCallback(Client.GameClient client) 

بدلو بدا
كود PHP:

        public static unsafe void AutoAttackCallback(Client.GameClient client)
        {
            try
            {
                if (
client == null || !client.FullLoading || client.Player == null)
                    return;

                if (
client.Player.Alive == false && client.Player.CompleteLogin)
                {
                    if (
DateTime.Now > client.Player.GhostStamp)
                    {
                        if (!
client.Player.ContainFlag(MsgUpdate.Flags.Ghost))
                        {
                            
client.Player.AddFlag(Game.MsgServer.MsgUpdate.Flags.Ghost, Role.StatusFlagsBigVector32.PermanentFlag, true);
                            if (
client.Player.Body % 10 < 3)
                                
client.Player.TransformationID = 99;
                            else
                                
client.Player.TransformationID = 98;
                            
using (var rec = new ServerSockets.RecycledPacket())
                            {
                                var 
stream = rec.GetStream();
                                
client.Send(stream.MapStatusCreate(client.Player.Map, client.Map.ID, (uint)client.Map.TypeStatus));
                            }
                        }
                    }
                }
                
Extensions.Time32 timer = Extensions.Time32.Now;

                
/*   int jmpStamp = client.Player.StampJumpMilisecounds;
                   if (client.PrepareAttack != null)
                   {
                       if (client.PrepareAttack.Attack.SpellID == (ushort)Role.Flags.SpellID.FastBlader
                           || client.PrepareAttack.Attack.SpellID == (ushort)Role.Flags.SpellID.ScrenSword
                           || client.PrepareAttack.Attack.SpellID == (ushort)Role.Flags.SpellID.ViperFang)
                           jmpStamp /= 2;
                       else
                       {
                           if (client.Player.OnXPSkill() != MsgUpdate.Flags.Normal)
                               jmpStamp /= 3;
                       }
                   }*/
                //    if (DateTime.Now > client.Player.StampJump.AddMilliseconds(jmpStamp))
                
{

                }

                if (
client.OnAutoAttack && client.Player.Alive)
                {
                    if (
client.Player.ContainFlag(Game.MsgServer.MsgUpdate.Flags.Dizzy))
                    {
                        
client.OnAutoAttack = false;
                        return;
                    }

                    
InteractQuery action = new InteractQuery();
                    
action = InteractQuery.ShallowCopy(client.AutoAttack);
                    
client.Player.RandomSpell = action.SpellID;
                    
MsgAttackPacket.Process(client, action);

                    
//MsgAttackPacket.ProcessAttack.Enqueue(new MsgAttackPacket.AttackObj() { User = client, Attack = action });
                
}

                
/* if (client.PrepareAttack != null)//&& client.TryAttacking > 0)
                 {
                     //  client.TryAttacking--;
                     InteractQuery action = new InteractQuery();
                     action = InteractQuery.ShallowCopy(client.PrepareAttack.Attack);
                     MsgAttackPacket.Process(client, action);

                 }*/
            
}
            catch (
Exception e)
            {
                
MyConsole.WriteException(e);
            }

        } 

بعد كدا افتح MapGroupThread دور علي
كود PHP:

if (clock > user.AttackStamp) 

ولو مش لقيتها دور علي
كود PHP:

AttackStamp 

وبدل بدا
كود PHP:

                if (clock > user.AttackStamp)
                {
                    
Client.PoolProcesses.AutoAttackCallback(user);
                    
user.AttackStamp.Value = clock.Value + User_AutoAttack;
                } 


TheMyth 2020-06-27 12:06 PM

رد: مشكلة في الاسكلات او الاوتو مش عارف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة torwada (المشاركة 49787)
لا الحل دا مينفعش لاليكس جرب دا افتح poolprocesor.cs ودور علي
كود PHP:

public static unsafe void autoattackcallback(client.gameclient client) 

بدلو بدا
كود PHP:

        public static unsafe void autoattackcallback(client.gameclient client)
        {
            try
            {
                if (
client == null || !client.fullloading || client.player == null)
                    return;

                if (
client.player.alive == false && client.player.completelogin)
                {
                    if (
datetime.now > client.player.ghoststamp)
                    {
                        if (!
client.player.containflag(msgupdate.flags.ghost))
                        {
                            
client.player.addflag(game.msgserver.msgupdate.flags.ghost, role.statusflagsbigvector32.permanentflag, true);
                            if (
client.player.body % 10 < 3)
                                
client.player.transformationid = 99;
                            else
                                
client.player.transformationid = 98;
                            
using (var rec = new serversockets.recycledpacket())
                            {
                                var 
stream = rec.getstream();
                                
client.send(stream.mapstatuscreate(client.player.map, client.map.id, (uint)client.map.typestatus));
                            }
                        }
                    }
                }
                
extensions.time32 timer = extensions.time32.now;

                
/*   int jmpstamp = client.player.stampjumpmilisecounds;
                   if (client.prepareattack != null)
                   {
                       if (client.prepareattack.attack.spellid == (ushort)role.flags.spellid.fastblader
                           || client.prepareattack.attack.spellid == (ushort)role.flags.spellid.scrensword
                           || client.prepareattack.attack.spellid == (ushort)role.flags.spellid.viperfang)
                           jmpstamp /= 2;
                       else
                       {
                           if (client.player.onxpskill() != msgupdate.flags.normal)
                               jmpstamp /= 3;
                       }
                   }*/
                //    if (datetime.now > client.player.stampjump.addmilliseconds(jmpstamp))
                
{

                }

                if (
client.onautoattack && client.player.alive)
                {
                    if (
client.player.containflag(game.msgserver.msgupdate.flags.dizzy))
                    {
                        
client.onautoattack = false;
                        return;
                    }

                    
interactquery action = new interactquery();
                    
action = interactquery.shallowcopy(client.autoattack);
                    
client.player.randomspell = action.spellid;
                    
msgattackpacket.process(client, action);

                    
//msgattackpacket.processattack.enqueue(new msgattackpacket.attackobj() { user = client, attack = action });
                
}

                
/* if (client.prepareattack != null)//&& client.tryattacking > 0)
                 {
                     //  client.tryattacking--;
                     interactquery action = new interactquery();
                     action = interactquery.shallowcopy(client.prepareattack.attack);
                     msgattackpacket.process(client, action);

                 }*/
            
}
            catch (
exception e)
            {
                
myconsole.writeexception(e);
            }

        } 

بعد كدا افتح mapgroupthread دور علي
كود PHP:

if (clock > user.attackstamp) 

ولو مش لقيتها دور علي
كود PHP:

attackstamp 

وبدل بدا
كود PHP:

                if (clock > user.attackstamp)
                {
                    
client.poolprocesses.autoattackcallback(user);
                    
user.attackstamp.value = clock.value + user_autoattack;
                } 


برضو يا صاحبي نفس الكلام لما بلغي الفويد خالص بتتظبط بس مبتضربش في الوحووش والوار والكلام دا ورا بعض

TheMyth 2020-06-27 01:32 PM

رد: مشكلة في الاسكلات او الاوتو مش عارف
 
علي حد علمي تقريبا العيب في الكود دا

كود PHP:

     if (DateTime.Now > client.Player.StampJump.AddMilliseconds(jmpStamp))
                {

                }

                if (
client.OnAutoAttack && client.Player.Alive)
                {
                    if (
client.Player.ContainFlag(Game.MsgServer.MsgUpdate.Flags.Dizzy))
                    {
                        
client.OnAutoAttack = false;
                        return;
                    }

                    
InteractQuery action = new InteractQuery();
                    
action = InteractQuery.ShallowCopy(client.AutoAttack);
                    
client.Player.RandomSpell = action.SpellID;
                    
MsgAttackPacket.Process(client, action);

                    
MsgAttackPacket.ProcessAttack.Enqueue(new MsgAttackPacket.AttackObj() { User = client, Attack = action });
                } 



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

مرحبا بكم في منتدي اكواد لتطوير الالعاب
new notificatio by 9adq_ala7sas