كونكر عرب

كونكر عرب (https://conquer-arab.com/index.php)
-   تطوير سيرفرات كونكر (https://conquer-arab.com/forumdisplay.php?f=11)
-   -   Add or Remove in BlackList for Source Proto (https://conquer-arab.com/showthread.php?t=5577)

Uchiha T3Alo 2020-07-20 10:20 AM

Add or Remove in BlackList for Source Proto
 
بسم الله الرحمن الرحيم وبه نستعين الشرح النهارده واضح من العنوان اضافه البلاك ليست للسورسات كلها حته اليكس بالمره مش خساره فيكم وانتظروا منى كام مفاجاء فيما بعد


اولا السورسات الMsg لانها اكتر حاجه بحبها بالنسبالى اقرب حاجه لاليكس فى التنظيم وده يرجع لعبدالله الدسوقى واسلام عبدالله


هتبحث عن كلاس اسمه MsgAction وهتضيف الاكواد ده لو مش موجوده يعنى لو موجوده ما تضفهاش


كود PHP:

  AddPersonToBlackList = 440,
            
RemovePersonFromBlackList = 441, 

الاكواد ده فى الكلاس Mode علشان محدش يتلغبط ويحطها فى حاجه تانية


بعد كدا هتروح نازل عند الفويد ده


كود PHP:

public static void Process( 

وتحت اى كيس وليكن مثلا كيس case Mode.SendTC: وارمى الاكواد ده


كود PHP:

 case Mode.AddPersonToBlackList:
                        {
                            
string TargetName = gData.Buf.FirstOrDefault();
                            foreach (var 
user in Kernel.GamePool.Values)
                            {
                                if (
user.Player.Name == TargetName)
                                {
                                    
gData.UID = user.Player.UID;
                                    break;
                                }
                            }
                            
gData.dwParam = 1;
                            
gData.Buf = new string[1] { TargetName };
                            
gData.UID = client.Player.UID;
                            
client.Send(new MsgAction().ToArray(gData));
                            break;
                        }
                    case 
Mode.RemovePersonFromBlackList:
                        {
                            
string TargetName = gData.Buf.FirstOrDefault();
                            foreach (var 
user in Kernel.GamePool.Values)
                            {
                                if (
user.Player.Name == TargetName)
                                {
                                    
gData.UID = user.Player.UID;
                                    break;
                                }
                            }
                            
gData.dwParam = 1;
                            
gData.Buf = new string[1] { TargetName };
                            
gData.UID = client.Player.UID;
                            
client.Send(new MsgAction().ToArray(gData));
                            break;
                        } 

طبعا هيجى ايرورين مش ايرور واحد ومش هيجى هو اوريدى هيكون موجود حل اول ايرور هتعمل الميمبر ده فى الباكت بتاع 10010


كود PHP:

 [ProtoMember(24)]
        public 
string[] Buf; 

تانى حاجه بالنسبة لايرور بتاع الclient.Send فانت حضرتك علشان انا السورس العادى عندى بنظام معاق شويه بس بالنسبالى اسهل طريقه للبروتو فانت حضرتك هتشيل خالص كل الكلام الى فى السيند ويدوبك تحط gData وخلاص شكرا على كدا ده بالنسبة للسورس البروتو المسج بتاع ميدو او اى سورس بروتو مسج



نيجى بقا سورس ماتركس سورس رايزو اى اسم تحت السورس هو يعتبر نفس الخطوات يعنى مافيش فيهم اختلاف


كلاس MsgAction_TATA هتروح هناك تبحث عن


كود PHP:

  public const ushort
            DragonBallDropped 
= 165, 

وتحط الاكواد ده


كود PHP:

  AddPersonToBlackList = 440,
            
RemovePersonFromBlackList = 441, 

هتنزل عند فويد هندل وتحط الاكواد ده


كود PHP:

  case AddPersonToBlackList:
                    {
                        
string TargetName = Info.Buf.FirstOrDefault();
                        foreach (var 
user in Kernel.GamePool.Values)
                        {
                            if (
user.Entity.Name == TargetName)
                            {
                                
Info.UID = user.Entity.UID;
                                break;
                            }
                        }
                        
Info.dwParam = 1;
                        
Info.Buf = new string[1] { TargetName };
                        
Info.UID = client.Entity.UID;
                        
client.Send(SendPacket(Info));
                        break;
                    }
                case 
RemovePersonFromBlackList:
                    {
                        
string TargetName = Info.Buf.FirstOrDefault();
                        foreach (var 
user in Kernel.GamePool.Values)
                        {
                            if (
user.Entity.Name == TargetName)
                            {
                                
Info.UID = user.Entity.UID;
                                break;
                            }
                        }
                        
Info.dwParam = 1;
                        
Info.Buf = new string[1] { TargetName };
                        
Info.UID = client.Entity.UID;
                        
client.Send(SendPacket(Info));
                        break;
                    } 


طبعا هيجى ايرور نفس السورس الMsg هتروح على باكت الى فيه الميمبر بتاع باكت 10010 وتضيف الميمبر رقم 24 الى فوق


نيجى بقا لاهم سورس فى الحاجات الى فوق الى هو سورس اليكس هو اوريدى كل حاجه موجوده فى سورس اليكس كل الاختلاف فقط انك هتخش على كلاس MsgDataPacket وتروح عن الفويدات الكتيره الى تحت وترمى الاكواد ده


كود PHP:

  [DataAttribute(ActionType.RemoveBlackList)]
        public 
unsafe static void RemoveBlackList(Client.GameClient client, ServerSockets.Packet msg, ActionQuery data)
        {
            
string TargetName = data.Strings.FirstOrDefault();
            foreach (var 
user in Database.Server.GamePoll.Values)
            {
                if (
user.Player.Name == TargetName)
                {
                    
data.ObjId = user.Player.UID;
                    break;
                }
            }
            
data.dwParam = 1;
            
data.Strings = new string[1] { TargetName };
            
data.ObjId = client.Player.UID;
            
client.Send(msg.ActionCreate(data));
        }
        [
DataAttribute(ActionType.AddBlackList)]
        public 
unsafe static void AddBlackList(Client.GameClient client, ServerSockets.Packet msg, ActionQuery data)
        {
            
string TargetName = data.Strings.FirstOrDefault();
            foreach (var 
user in Database.Server.GamePoll.Values)
            {
                if (
user.Player.Name == TargetName)
                {
                    
data.ObjId = user.Player.UID;
                    break;
                }
            }
            
data.dwParam = 1;
            
data.Strings = new string[1] { TargetName };
            
data.ObjId = client.Player.UID;
            
client.Send(msg.ActionCreate(data));

        } 

بالنسبة بقا لايرور فهو هيجى ايرور فى الميمبر فانت حضرتك نفس الى فات هتضيف ميمبر 24


هو اوريدى كدا انا نسيت حاجه نسيت انكم فى السورسات العاديه والمسج لازمن هتستعدى الملف بتاع system.ling اصلا علشان هيجيلك ايرور فى FirstOrDefault بس الحل سهل هتحط السطر ده فوق خالص مع الusing ومش هتلقى ولا ايرور تانى


كود PHP:

using System.Linq; 


ختاما انا شخصيه مستفزه بس ربنا يعلم ان الاستفزاز ده ما جبتوش من بره من المجال ومن الى انا شافتوا سواء من عدولا حسن رضا مينا الخ الخ الخ الخ لو قعدت اطلع المحادثات والخرا الى الواحد كان بيشوفوا مكنش حد فيكم دخل اتكلم وقالى انت اسلوبك مستفز ليه وانا بعتزر لاى حد اسلوبى كان خرا معاه بس لاسف من الى انا شوفتوا مش هقدر اغير الاسلوب :] وياريت لو كمان داخل تستنفع ياريت تبقى تدعى لام صدقنا ابو رشدى انت مش هتخسر حاجه يعنى لما تدعيلها ولا هتنقص اصلا لما تعلق على الموضوع بدعوه ليها

Hazem 2020-07-20 10:36 AM

رد: Add or Remove in BlackList for Source Proto
 
عاش يامحمود بالتوفيق ياصديقي
ربنا يرحمها ويجعل مثواها الجنه

Hassan Emprator 2020-07-20 12:15 PM

رد: Add or Remove in BlackList for Source Proto
 
عاش + ربنا يرحمها

neno2052 2020-07-20 01:37 PM

رد: Add or Remove in BlackList for Source Proto
 
هههههههههههه ياه كنت استنيت شويه لما نشوف اينشتاين المجال لما ينزلها هههههههه
ربنا يرحمها يارب

Hassan Emprator 2020-07-20 02:00 PM

رد: Add or Remove in BlackList for Source Proto
 
اقتباس:

المشاركة الأصلية كتبت بواسطة neno2052 (المشاركة 52446)
هههههههههههه ياه كنت استنيت شويه لما نشوف اينشتاين المجال لما ينزلها هههههههه
ربنا يرحمها يارب

انا عارف انت بتوجه الكلام لي مين بس مشوفش كلام هنا زي الي حصل المرا دي تاني عا المنتدي تمام !! :p
فا اهدا كاد يمعلم واستهدا بالله ! :p

neno2052 2020-07-20 02:24 PM

رد: Add or Remove in BlackList for Source Proto
 
اقتباس:

المشاركة الأصلية كتبت بواسطة hassan emprator (المشاركة 52448)
انا عارف انت بتوجه الكلام لي مين بس مشوفش كلام هنا زي الي حصل المرا دي تاني عا المنتدي تمام !! :p
فا اهدا كاد يمعلم واستهدا بالله ! :p

انت خدت الكلام علي الشخص دا بالذات ليه وبعدين يمكن مقصدوش اهدي انتا وريح ضهرك لما اجيب سيره حد ابقي اتكلم لكن انا كلامي مجهول والي الكلام علي قده يلبسه

Hassan Emprator 2020-07-20 02:53 PM

رد: Add or Remove in BlackList for Source Proto
 
اقتباس:

المشاركة الأصلية كتبت بواسطة neno2052 (المشاركة 52451)
انت خدت الكلام علي الشخص دا بالذات ليه وبعدين يمكن مقصدوش اهدي انتا وريح ضهرك لما اجيب سيره حد ابقي اتكلم لكن انا كلامي مجهول والي الكلام علي قده يلبسه

هههه تمام هنعديها المرادي ;)

neno2052 2020-07-20 02:56 PM

رد: Add or Remove in BlackList for Source Proto
 
اقتباس:

المشاركة الأصلية كتبت بواسطة hassan emprator (المشاركة 52454)
هههه تمام هنعديها المرادي ;)

يسطا عيب والله انا كدا هبدا ازعل منك لان انا معملتش حاجه غلط بس يعم عادي

Uchiha T3Alo 2020-07-20 03:35 PM

رد: Add or Remove in BlackList for Source Proto
 
اقتباس:

المشاركة الأصلية كتبت بواسطة neno2052 (المشاركة 52446)
هههههههههههه ياه كنت استنيت شويه لما نشوف اينشتاين المجال لما ينزلها هههههههه
ربنا يرحمها يارب

ياسطا نادر فكك من الشغل ده ملهوش لازمه ربنا يسهلوا وربنا يسهلك وربنا يسهلى اقطمع خالص على الحوارات ده لانى انا نفسى اتخنقت خالص :emoji9: :emoji11:

Hassan Emprator 2020-07-20 04:11 PM

رد: Add or Remove in BlackList for Source Proto
 
اقتباس:

المشاركة الأصلية كتبت بواسطة neno2052 (المشاركة 52455)
يسطا عيب والله انا كدا هبدا ازعل منك لان انا معملتش حاجه غلط بس يعم عادي

يسطا مفيش حاجه انا بقولك يعني لان مش عايز مشاكل فيا لمنتدي فاهمني ؟


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

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