منتدي اكواد

منتدي اكواد (https://code.vpscairo.com/index.php)
-   تطوير سيرفرات كونكر (https://code.vpscairo.com/forumdisplay.php?f=11)
-   -   سيستم GameUpdate لجميع السورسات (TerrorProject - ImpulsE - Emulator) (https://code.vpscairo.com/showthread.php?t=2138)

AbuMaryam 2019-09-09 11:48 PM

سيستم GameUpdate لجميع السورسات (TerrorProject - ImpulsE - Emulator)
 
السلام عليكم ورحمة الله وبركاتة

في بعض الناس معندهاش السيستم دة ف السورس الى بتستخدمة

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

محتوي البوكس دة عبارة عن كذا سطر

بيكون فيهم رسالة الترحيب ب الاعب ب اسم السيرفر

و قوانين اللعب ف السيرفر

و رسالة ل دعوي الاصدقاء للعب ف السيرفر

و التصليحات و التجديدات بتاعت السيرفر

و طبعآ محتوي السطور (الرسالة) انت الى بتتحكم فيهم و بتكتب الى انت عايزة

ودي صورة للناس الى متعرفش السيستم دة او مش واصلة للي بتكلم علية

عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع


نيجي بقي نخش ف الموضوع


اول حاجة الناس الى بتستخدم سورس اليكس او لوردس (Project_Terror)


اول حاجة هتفتح البروجكت

وتخش على المسار دة

Game > NpcPacketParser

و تعمل كلاس (ملف) جديد ف الفولدر دة بـ اسم StaticGUI.cs


و تمسح كل الي جواة و تضيف الكلاس دة

كود PHP:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 
NameProject.Game.MsgNpc
{
    public 
unsafe static partial class MsgBuilder
    
{
        public 
enum StaticGUIType byte
        
{
            
Header 0,
            
Body 1,
            
Footer 2
        


        public static 
unsafe ServerSockets.Packet StaticGUI(this ServerSockets.Packet streamStaticGUIType Modestring Text)
        {
            
stream.InitWriter();

            
stream.Write(Extensions.Time32.Now.Value);
            
stream.Write(0);
            
stream.Write((ushort)0);
            
stream.Write((byte)Mode);
            
stream.Write((byte)112);
            
stream.Write(Text);

            
stream.Finalize(GamePackets.NpcServerRequest);
            return 
stream;
        }
    }



و متنساش تبدل NameProject ب اسم البروجكت الى انت عاملة


2 - هتبحث عن الكلاس دة MsgLoginHandler.cs

و تبحث بداخل الكلاس عن


public unsafe static void LoadMap


و بعد اول شرط if و بعد try


تحط الكود دة

كود PHP:

#region GameUpdates Message
                    //AbuMaryam - منتدي اكواد
                    
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.StaticGUIType.Header"Our latest updates:"));
                    
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.StaticGUIType.Body"Welcome to " Program.ServerConfig.ServerName "."));
                    
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.StaticGUIType.Body"- Epic Warrior got added"));
                    
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.StaticGUIType.Body"- Guild System got some changes (such as now you can have up to 8 DL - Enemy / Ally bugs got fixed)"));
                    
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.StaticGUIType.Body"- CPS Admin exchange of silvers into gold bug got fixed."));
                    
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.StaticGUIType.Body"- AntiCheat protection got some updates in order to stop ilegal changes ."));
                    
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.StaticGUIType.Body"- P7 Weapons for Epic Warrior got added at quest."));
                    
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.StaticGUIType.Body"- BackFire (EpicWarrior Skill) is now giving the right about of damage in the opponents."));
                    
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.StaticGUIType.Body"- Now Archers can equip 2 x 1-Hand Weapons."));
                    
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.StaticGUIType.Body"And many others bugs got fixed that can be seen in the game."));
                    
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.StaticGUIType.Footer"Thank you. " Program.ServerConfig.ServerName "`s staff. "));
                    
#endregion 


ودة الي تقدر تعدل علي و تغير محتوي الرسالة و السطور زي ما انت عايز

و بكدة تقدر تعمل Rebuild للبروجكت و تفتح و تجرب و تبلغني النتائج

ولو في اي مشكلة معاك تقدر تكتبها هنا و ان شاء الله هتابع معاكم



عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع

نيجي بقي للناس الى شغالة ب بروجكت امبلوس او فونكس (ImpulsE)


هتروح على المسار دة

Network > GamePackets

و تعمل كلاس جديد بـ اسم

GameUpdates.cs

و تمسح الى جواة و تضيف دة

كود PHP:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 
NameProject.Network.GamePackets
{
    public 
unsafe class GameUpdates WriterInterfaces.IPacket
    
{
        
byte[] Packet;
        public 
enum Mode byte
        
{
            
Header,
            
Body,
            
Footer
        
}
        public 
GameUpdates(Mode _Actionstring _String)
        {
            
Packet = new byte[29 _String.Length];
            
WriteUInt16((ushort)(Packet.Length 8), 0Packet);
            
WriteUInt16((ushort)MsgTypes.MsgTaskDialog2Packet);
            
WriteUInt32((uint)Time32.timeGetTime().GetHashCode(), 4Packet);
            
Packet[15] = 112;
            
Packet[16] = 1;
            
Action _Action;
            
String _String;
        }
        public 
Mode Action
        
{
            
get { return (Mode)Packet[14]; }
            
set Packet[14] = (Byte)value; }
        }
        public 
string String
        
{
            
get { return System.BitConverter.ToString(Packet18Packet[17]); }
            
set WriteStringWithLength(value17Packet); }
        }
        public 
byte[] ToArray()
        {
            return 
Packet;
        }
        public 
void Deserialize(byte[] packet)
        {
            
Packet packet;
        }
        public 
void Send(Client.GameState client)
        {
            
client.Send(Packet);
        }
    }


و متنساش تعدل NameProject لـ اسم البروجكت بتاعك الى بتستخدمة


2 - داخل كلاس Entity.cs

هتبحث عن

public uint RacePoints

و تحط تحتها الريجون دة

كود PHP:

#region GameUpdates - AbuMaryam
        
private uint _updatelist;
        public 
uint UpdateList
        
{
            
get { return _updatelist; }
            
set
            
{
                
_updatelist value;
                
UpdateDatabase("updatelist"value);
            }
        }
        
#endregion 


3 - داخل ملف PacketHandler.cs


تبحث عن

if (client.Entity.FullyLoaded)


و تضيف الريجون دة داخل الشرط

كود PHP:

#region Game Updates
                    
if (client.Entity.UpdateList == 0)
                    {
                        
client.Send(new GameUpdates(GameUpdates.Mode.Header"Welcome To, ServerName Online" DateTime.Now.ToString()));
                        
client.Send(new GameUpdates(GameUpdates.Mode.Body"1.New skills have been added\n"));
                        
client.Send(new GameUpdates(GameUpdates.Mode.Body"2.Support ServerName Online By Invite ur Friends\n"));
                        
client.Send(new GameUpdates(GameUpdates.Mode.Body"3.Don't trust anyone claiming that he is the GM/PM\n"));
                        
client.Send(new GameUpdates(GameUpdates.Mode.Body"4.If you found any bug you can repot it By ServerName"));
                        
client.Send(new GameUpdates(GameUpdates.Mode.Body"5.Enjoy Playing ServerName Online with us and invite friends!"));
                        
client.Send(new GameUpdates(GameUpdates.Mode.Footer"A lot of surprises awaited during these days"));
                        
client.Entity.UpdateList += 1;
                    }
                    
#endregion 


و متنساش تعدل ServerName لـ اسم سيرفرك لو حابب تسيب الرسالة زي ما هيا


و بكدة تقدر تعمل Rebuild للبروجكت و تجرب و تبلغني النتائج

عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع


نيجي بقي للناس الى شغالة ب بروجكت احمد عاشور او السورسات المسج او البيج شو او توليرنس (Emulator)



1 - هتروح على المسار دة

Network > GamePackets

و تعمل كلاس جديد بـ اسم

MsgGameUpdates.cs

و تمسح الى جواة و تضيف دة

كود PHP:




using System
;

namespace 
NameProject.Network.GamePackets
{
    public 
unsafe class GameUpdates WriterInterfaces.IPacket
    
{
        
byte[] Packet;
        public 
enum Mode byte
        
{
            
Header,
            
Body,
            
Footer
        
}
        public 
GameUpdates(Mode _Actionstring _String)
        {
            
Packet = new byte[29 _String.Length];
            
WriteUInt16((ushort)(Packet.Length 8), 0Packet);
            
WriteUInt16((ushort)MsgTypes.MsgTaskDialog2Packet);
            
WriteUInt32((uint)Time32.timeGetTime().GetHashCode(), 4Packet);
            
Packet[15] = 112;
            
Packet[16] = 1;
            
Action _Action;
            
String _String;
        }
        public 
Mode Action
        
{
            
get { return (Mode)Packet[14]; }
            
set Packet[14] = (Byte)value; }
        }
        public 
string String
        
{
            
get { return System.BitConverter.ToString(Packet18Packet[17]); }
            
set WriteStringWithLength(value17Packet); }
        }
        public 
byte[] ToArray()
        {
            return 
Packet;
        }
        public 
void Deserialize(byte[] packet)
        {
            
Packet packet;
        }
        public 
void Send(Client.GameState client)
        {
            
client.Send(Packet);
        }
    }



و متنساش تعدل NameProject ل اسم البروجكت بتاعك



2 - داخل كلاس Player.cs

هتبحث عن

public uint Lukypionts

و تحط تحتها الريجون دة

كود PHP:

#region GameUpdates - AbuMaryam
        
private uint _updatelist;
        public 
uint UpdateList
        
{
            
get { return _updatelist; }
            
set
            
{
                
_updatelist value;
                
UpdateDatabase("updatelist"value);
            }
        }
        
#endregion 

ولو جابلك ايورو ف _updatelist تقدر تمسح السطر دة private uint _updatelist;


3 - داخل كلاس MsgGeneralData.cs


هتبحث عن

client.LoadData();

وبعدها على طول ضيف الريجون دة

كود PHP:

#region Game Updates
                    
if (client.Entity.UpdateList == 0)
                    {
                        
client.Send(new GameUpdates(GameUpdates.Mode.Header"Welcome To, ServerName Online" DateTime.Now.ToString()));
                        
client.Send(new GameUpdates(GameUpdates.Mode.Body"1.New skills have been added\n"));
                        
client.Send(new GameUpdates(GameUpdates.Mode.Body"2.Support ServerName Online By Invite ur Friends\n"));
                        
client.Send(new GameUpdates(GameUpdates.Mode.Body"3.Don't trust anyone claiming that he is the GM/PM\n"));
                        
client.Send(new GameUpdates(GameUpdates.Mode.Body"4.If you found any bug you can repot it By ServerName"));
                        
client.Send(new GameUpdates(GameUpdates.Mode.Body"5.Enjoy Playing ServerName Online with us and invite friends!"));
                        
client.Send(new GameUpdates(GameUpdates.Mode.Footer"A lot of surprises awaited during these days"));
                        
client.Entity.UpdateList += 1;
                    }
                    
#endregion 


و متنساش تعدل ServerName لـ اسم سيرفرك لو حابب تسيب الرسالة زي ما هيا


و بكدة تقدر تعمل Rebuild للبروجكت و تجرب و تبلغني النتائج

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

و بكدة اكون خلصت الموضوع و اقدر اقولكم امشو اطلعو برة :emoji33:

اشوفكم بخير :emoji1:

zonfor 2019-09-10 05:01 AM

رد: سيستم GameUpdate لجميع السورسات (TerrorProject - ImpulsE - Emulator)
 
ينفع اغير كلمه update اللى فوق خالص دي
+ شكرا جداااااااااااااا

MeGoo 2019-09-10 12:48 PM

رد: سيستم GameUpdate لجميع السورسات (TerrorProject - ImpulsE - Emulator)
 
تسلم ايدك

محمد ياسر 2019-09-10 05:22 PM

رد: سيستم GameUpdate لجميع السورسات (TerrorProject - ImpulsE - Emulator)
 
موضوع منسق وجميل تسلم ايدك

AbuMaryam 2019-09-11 06:02 PM

رد: سيستم GameUpdate لجميع السورسات (TerrorProject - ImpulsE - Emulator)
 
اقتباس:

المشاركة الأصلية كتبت بواسطة zonfor (المشاركة 15610)
ينفع اغير كلمه update اللى فوق خالص دي
+ شكرا جداااااااااااااا

ينفع طبعآ

بس يفضل تسيبها زي ما هيا عشان البروجكت بتاعك يبقي منسق ♥

AbuMaryam 2019-09-11 06:06 PM

رد: سيستم GameUpdate لجميع السورسات (TerrorProject - ImpulsE - Emulator)
 
اقتباس:

المشاركة الأصلية كتبت بواسطة MeGoo (المشاركة 15654)
تسلم ايدك

حبيبي ♥

نورت الموضوع يا صديقي :emoji9:

AbuMaryam 2019-09-11 06:07 PM

رد: سيستم GameUpdate لجميع السورسات (TerrorProject - ImpulsE - Emulator)
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Hazem (المشاركة 15725)
موضوع منسق وجميل تسلم ايدك

من بعض ما عندكم يا صديقي ♥

نورت الموضوع :emoji9:

Rider 2019-09-11 11:10 PM

رد: سيستم GameUpdate لجميع السورسات (TerrorProject - ImpulsE - Emulator)
 
عاش احسنت

zonfor 2019-09-12 04:42 AM

رد: سيستم GameUpdate لجميع السورسات (TerrorProject - ImpulsE - Emulator)
 
للاسف مشتغلتش.
والكود دا مش موجود عندي public uint Lukypionts
بس للقيت كود دا public uint pionts

المشكله انو اول معملت السيستم دا الاكونت مبقاش يخش
للعلم ناش شغال بسورس بروتو
وشكرا لمجهودك

Users 2019-09-12 09:19 PM

رد: سيستم GameUpdate لجميع السورسات (TerrorProject - ImpulsE - Emulator)
 
شغل عالى ويعجبنى اهتمامك بالتفاصيل


الساعة الآن 05:27 PM

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