AbuMaryam
2019-09-09, 11:48 PM
السلام عليكم ورحمة الله وبركاتة
في بعض الناس معندهاش السيستم دة ف السورس الى بتستخدمة
السيستم دة عبارة عن رسالة ف بوكس بتيجي للاكونت اول ما يفتح و بتظهر مرة واحدة
محتوي البوكس دة عبارة عن كذا سطر
بيكون فيهم رسالة الترحيب ب الاعب ب اسم السيرفر
و قوانين اللعب ف السيرفر
و رسالة ل دعوي الاصدقاء للعب ف السيرفر
و التصليحات و التجديدات بتاعت السيرفر
و طبعآ محتوي السطور (الرسالة) انت الى بتتحكم فيهم و بتكتب الى انت عايزة
ودي صورة للناس الى متعرفش السيستم دة او مش واصلة للي بتكلم علية
عفواً لايمكن عرض الروابط في الإرشيف
نيجي بقي نخش ف الموضوع
اول حاجة الناس الى بتستخدم سورس اليكس او لوردس (Project_Terror)
اول حاجة هتفتح البروجكت
وتخش على المسار دة
Game > NpcPacketParser
و تعمل كلاس (ملف) جديد ف الفولدر دة بـ اسم StaticGUI.cs
و تمسح كل الي جواة و تضيف الكلاس دة
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 stream, StaticGUIType Mode, string 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
تحط الكود دة
#region GameUpdates Message
//AbuMaryam - منتدي اكواد
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.Header, "Our latest updates:"));
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.Body, "Welcome to " + Program.ServerConfig.ServerName + "."));
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.Body, "- Epic Warrior got added"));
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.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.Sta ticGUIType.Body, "- CPS Admin exchange of silvers into gold bug got fixed."));
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.Body, "- AntiCheat protection got some updates in order to stop ilegal changes ."));
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.Body, "- P7 Weapons for Epic Warrior got added at quest."));
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.Body, "- BackFire (EpicWarrior Skill) is now giving the right about of damage in the opponents."));
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.Body, "- Now Archers can equip 2 x 1-Hand Weapons."));
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.Body, "And many others bugs got fixed that can be seen in the game."));
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.Footer, "Thank you. " + Program.ServerConfig.ServerName + "`s staff. "));
#endregion
ودة الي تقدر تعدل علي و تغير محتوي الرسالة و السطور زي ما انت عايز
و بكدة تقدر تعمل Rebuild للبروجكت و تفتح و تجرب و تبلغني النتائج
ولو في اي مشكلة معاك تقدر تكتبها هنا و ان شاء الله هتابع معاكم
عفواً لايمكن عرض الروابط في الإرشيف
نيجي بقي للناس الى شغالة ب بروجكت امبلوس او فونكس (ImpulsE)
هتروح على المسار دة
Network > GamePackets
و تعمل كلاس جديد بـ اسم
GameUpdates.cs
و تمسح الى جواة و تضيف دة
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace NameProject.Network.GamePackets
{
public unsafe class GameUpdates : Writer, Interfaces.IPacket
{
byte[] Packet;
public enum Mode : byte
{
Header,
Body,
Footer
}
public GameUpdates(Mode _Action, string _String)
{
Packet = new byte[29 + _String.Length];
WriteUInt16((ushort)(Packet.Length - 8), 0, Packet);
WriteUInt16((ushort)MsgTypes.MsgTaskDialog, 2, Packet);
WriteUInt32((uint)Time32.timeGetTime().GetHashCode (), 4, Packet);
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(Packet, 18, Packet[17]); }
set { WriteStringWithLength(value, 17, Packet); }
}
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
و تحط تحتها الريجون دة
#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)
و تضيف الريجون دة داخل الشرط
#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
و تمسح الى جواة و تضيف دة
using System;
namespace NameProject.Network.GamePackets
{
public unsafe class GameUpdates : Writer, Interfaces.IPacket
{
byte[] Packet;
public enum Mode : byte
{
Header,
Body,
Footer
}
public GameUpdates(Mode _Action, string _String)
{
Packet = new byte[29 + _String.Length];
WriteUInt16((ushort)(Packet.Length - 8), 0, Packet);
WriteUInt16((ushort)MsgTypes.MsgTaskDialog, 2, Packet);
WriteUInt32((uint)Time32.timeGetTime().GetHashCode (), 4, Packet);
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(Packet, 18, Packet[17]); }
set { WriteStringWithLength(value, 17, Packet); }
}
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
و تحط تحتها الريجون دة
#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();
وبعدها على طول ضيف الريجون دة
#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:
في بعض الناس معندهاش السيستم دة ف السورس الى بتستخدمة
السيستم دة عبارة عن رسالة ف بوكس بتيجي للاكونت اول ما يفتح و بتظهر مرة واحدة
محتوي البوكس دة عبارة عن كذا سطر
بيكون فيهم رسالة الترحيب ب الاعب ب اسم السيرفر
و قوانين اللعب ف السيرفر
و رسالة ل دعوي الاصدقاء للعب ف السيرفر
و التصليحات و التجديدات بتاعت السيرفر
و طبعآ محتوي السطور (الرسالة) انت الى بتتحكم فيهم و بتكتب الى انت عايزة
ودي صورة للناس الى متعرفش السيستم دة او مش واصلة للي بتكلم علية
عفواً لايمكن عرض الروابط في الإرشيف
نيجي بقي نخش ف الموضوع
اول حاجة الناس الى بتستخدم سورس اليكس او لوردس (Project_Terror)
اول حاجة هتفتح البروجكت
وتخش على المسار دة
Game > NpcPacketParser
و تعمل كلاس (ملف) جديد ف الفولدر دة بـ اسم StaticGUI.cs
و تمسح كل الي جواة و تضيف الكلاس دة
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 stream, StaticGUIType Mode, string 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
تحط الكود دة
#region GameUpdates Message
//AbuMaryam - منتدي اكواد
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.Header, "Our latest updates:"));
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.Body, "Welcome to " + Program.ServerConfig.ServerName + "."));
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.Body, "- Epic Warrior got added"));
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.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.Sta ticGUIType.Body, "- CPS Admin exchange of silvers into gold bug got fixed."));
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.Body, "- AntiCheat protection got some updates in order to stop ilegal changes ."));
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.Body, "- P7 Weapons for Epic Warrior got added at quest."));
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.Body, "- BackFire (EpicWarrior Skill) is now giving the right about of damage in the opponents."));
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.Body, "- Now Archers can equip 2 x 1-Hand Weapons."));
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.Body, "And many others bugs got fixed that can be seen in the game."));
client.Send(packet.StaticGUI(MsgNpc.MsgBuilder.Sta ticGUIType.Footer, "Thank you. " + Program.ServerConfig.ServerName + "`s staff. "));
#endregion
ودة الي تقدر تعدل علي و تغير محتوي الرسالة و السطور زي ما انت عايز
و بكدة تقدر تعمل Rebuild للبروجكت و تفتح و تجرب و تبلغني النتائج
ولو في اي مشكلة معاك تقدر تكتبها هنا و ان شاء الله هتابع معاكم
عفواً لايمكن عرض الروابط في الإرشيف
نيجي بقي للناس الى شغالة ب بروجكت امبلوس او فونكس (ImpulsE)
هتروح على المسار دة
Network > GamePackets
و تعمل كلاس جديد بـ اسم
GameUpdates.cs
و تمسح الى جواة و تضيف دة
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace NameProject.Network.GamePackets
{
public unsafe class GameUpdates : Writer, Interfaces.IPacket
{
byte[] Packet;
public enum Mode : byte
{
Header,
Body,
Footer
}
public GameUpdates(Mode _Action, string _String)
{
Packet = new byte[29 + _String.Length];
WriteUInt16((ushort)(Packet.Length - 8), 0, Packet);
WriteUInt16((ushort)MsgTypes.MsgTaskDialog, 2, Packet);
WriteUInt32((uint)Time32.timeGetTime().GetHashCode (), 4, Packet);
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(Packet, 18, Packet[17]); }
set { WriteStringWithLength(value, 17, Packet); }
}
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
و تحط تحتها الريجون دة
#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)
و تضيف الريجون دة داخل الشرط
#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
و تمسح الى جواة و تضيف دة
using System;
namespace NameProject.Network.GamePackets
{
public unsafe class GameUpdates : Writer, Interfaces.IPacket
{
byte[] Packet;
public enum Mode : byte
{
Header,
Body,
Footer
}
public GameUpdates(Mode _Action, string _String)
{
Packet = new byte[29 + _String.Length];
WriteUInt16((ushort)(Packet.Length - 8), 0, Packet);
WriteUInt16((ushort)MsgTypes.MsgTaskDialog, 2, Packet);
WriteUInt32((uint)Time32.timeGetTime().GetHashCode (), 4, Packet);
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(Packet, 18, Packet[17]); }
set { WriteStringWithLength(value, 17, Packet); }
}
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
و تحط تحتها الريجون دة
#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();
وبعدها على طول ضيف الريجون دة
#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: