المساعد الشخصي الرقمي

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


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:

zonfor
2019-09-10, 05:01 AM
ينفع اغير كلمه update اللى فوق خالص دي
+ شكرا جداااااااااااااا

MeGoo
2019-09-10, 12:48 PM
تسلم ايدك

محمد ياسر
2019-09-10, 05:22 PM
موضوع منسق وجميل تسلم ايدك

AbuMaryam
2019-09-11, 06:02 PM
ينفع اغير كلمه update اللى فوق خالص دي
+ شكرا جداااااااااااااا

ينفع طبعآ

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

AbuMaryam
2019-09-11, 06:06 PM
تسلم ايدك

حبيبي ♥

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

AbuMaryam
2019-09-11, 06:07 PM
موضوع منسق وجميل تسلم ايدك

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

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

Tefa
2019-09-11, 11:10 PM
عاش احسنت

zonfor
2019-09-12, 04:42 AM
للاسف مشتغلتش.
والكود دا مش موجود عندي public uint Lukypionts
بس للقيت كود دا public uint pionts

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

Users
2019-09-12, 09:19 PM
شغل عالى ويعجبنى اهتمامك بالتفاصيل

AbuMaryam
2019-09-13, 01:52 AM
عاش احسنت

حبيبي
نورت الموضوع :emoji9:

AbuMaryam
2019-09-13, 01:55 AM
للاسف مشتغلتش.
والكود دا مش موجود عندي public uint lukypionts
بس للقيت كود دا public uint pionts

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


معظم الباكتات اتغيرت ف ابجريد الثري دي (بروتو)

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

الموضوع للسورسات ال 2d

اما بالنسبة للثري هحاول اشوفلك السيستم عشان صدقني انا لحد دلوقتي مفكرتش افتح سورس ثري حتي اجربة

AbuMaryam
2019-09-13, 01:56 AM
شغل عالى ويعجبنى اهتمامك بالتفاصيل

بنتعلم منك يا صديقي :emoji9:

karem1q
2023-10-11, 09:10 PM
جاري التجربه