<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>كونكر عرب - البرامج والودرات</title>
		<link>https://conquer-arab.com/</link>
		<description>قسم خاص ببرامج كونكر ولودرات كونكر</description>
		<language>ar</language>
		<lastBuildDate>Sat, 17 Oct 2026 12:40:36 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>1</ttl>
		<image>
			<url>https://www.conquer-arab.com/helpernt/misc/rss.jpg</url>
			<title>كونكر عرب - البرامج والودرات</title>
			<link>https://conquer-arab.com/</link>
		</image>
		<item>
			<title>UiExplorer – Client UI Explorer</title>
			<link>https://conquer-arab.com/showthread.php?t=6992&amp;goto=newpost</link>
			<pubDate>Fri, 16 Oct 2026 15:22:13 GMT</pubDate>
			<description>*UiExplorer — مستكشف شبابيك الكلاينت* 
*تصفّح · معاينة · افتح لايف* 
 
صورة: https://i.postimg.cc/6qKWTXCR/ar-explorer.png  
 
*أداة من سكربتات حازم...</description>
			<content:encoded><![CDATA[<div><div align="center"><font size="6"><b><font color="#D35400">UiExplorer — مستكشف شبابيك الكلاينت</font></b></font><br />
<font size="4"><b>تصفّح · معاينة · افتح لايف</b></font><br />
<br />
<img src="https://i.postimg.cc/6qKWTXCR/ar-explorer.png" border="0" alt="" /><br />
<br />
<font size="3"><b>أداة من سكربتات حازم | ScriptHazem</b></font><br />
<font color="#777777">Conquer Online Client 7957</font><br />
<br />
<a href="https://drive.google.com/file/d/1Ai0pIsIPxWjaBTCPulTNZWAUtr-KH29M/view?usp=sharing" target="_blank"><font size="5"><b><font color="#27AE60">⬇ تحميل الأداة</font></b></font></a><br />
</div><br />
[HR]<br />
<br />
<font size="5"><b><font color="#2980B9">???? نبذة عن الأداة</font></b></font><br />
<br />
السلام عليكم ورحمة الله وبركاته،<br />
<br />
بنقدملكم أداة <b><font color="#D35400">UiExplorer</font></b>، وهي أداة مخصصة لمطوري كونكر أونلاين، بتساعدك تستكشف شبابيك وأزرار كلاينت الإصدار 7957، وتفهم طرق فتحها والنداءات المرتبطة بيها، من خلال ملفات الكلاينت نفسها.<br />
<br />
بدل ما تضيع وقتك في البحث اليدوي بين الملفات ومحاولة اكتشاف كل شباك لوحده، الأداة بتجمع المعلومات المتاحة في واجهة واحدة، مع إمكانية المعاينة ومراقبة الـ Callbacks وتجربة النداءات على بيئة الاختبار الخاصة بيك.<br />
<br />
[HR]<br />
<br />
<font size="5"><b><font color="#2980B9">???? مميزات الأداة</font></b></font><br />
<br />
<b><font color="#D35400">1- Explorer — مستكشف الشبابيك</font></b><br />
<br />
استكشف الشبابيك والأزرار الموجودة في الكلاينت، مع عرض المعلومات المتاحة، ومنها:<ul><li>اسم الشباك ومصدره: Lua أو FGUI أو C++ القديم أو Button.</li>
<li>رقم الـ MsgId المرتبط به، إن توفر.</li>
<li>طرق فتح الشباك والـ Callbacks المرتبطة به.</li>
<li>البحث والفلاتر للوصول للمعلومات المطلوبة بسرعة.</li>
<li>معاينة صور الشبابيك عند توفرها.</li>
</ul><br />
<b><font color="#D35400">2- Live Callbacks — مراقبة النداءات</font></b><br />
<br />
راقب نداءات Lua اللي الكلاينت بيبعتها للسيرفر من خلال البث المباشر، وتابع استجابة السيرفر، مع إمكانية استخراج كود C# مبدئي للنداءات اللي لسه محتاجة تنفيذ.<br />
<br />
<img src="https://i.postimg.cc/prvWyHK5/ar-live.png" border="0" alt="" /><br />
<br />
<b><font color="#D35400">3- Live Window Testing — تجربة فتح الشبابيك</font></b><br />
<br />
جرّب طرق فتح الشبابيك مباشرة على شخصية الاختبار الخاصة بيك، بعد تفعيل الـ Injector ووضع التطوير على سيرفرك.<br />
<br />
<b><font color="#D35400">4- C# Code Export — تصدير الكود</font></b><br />
<br />
صدّر كود C# للنداءات وطرق الفتح المتاحة، علشان تستفيد منه في تطوير السورس الخاص بيك بدل ما تبدأ من الصفر.<br />
<br />
<b><font color="#D35400">5- Recipes — وصفات النداءات</font></b><br />
<br />
احفظ النداءات وخطوات التجربة في وصفات تقدر تعدّلها وتحفظها وتستخدمها مرة تانية، مع إمكانية تصدير الكود وتشغيل التجارب على شخصية الاختبار.<br />
<br />
<img src="https://i.postimg.cc/4yGfngph/ar-recipes.png" border="0" alt="" /><br />
<br />
<b><font color="#D35400">6- Packet Builder — منشئ الباكت</font></b><br />
<br />
أنشئ وحلّل MsgAction 2099، وتابع تفاصيل الحقول والـ Hex، أو أدخل Hex جاهز لتحليله، مع إمكانية تجربة الباكت على شخصية الاختبار في بيئة التطوير.<br />
<br />
<img src="https://i.postimg.cc/x8Qfq2Lz/ar-packet.png" border="0" alt="" /><br />
<br />
<b><font color="#D35400">7- Settings — الإعدادات</font></b><br />
<br />
إعداد شخصية الاختبار، ومسارات ملفات الكلاينت والسيرفر، والتحقق من حالة الـ Injector ومكونات التشغيل.<br />
<br />
[HR]<br />
<br />
<font size="5"><b><font color="#2980B9">⚙️ متطلبات التشغيل</font></b></font><br />
<ul><li>نظام Windows 10 أو Windows 11 بنواة 64-bit.</li>
<li>.NET Desktop Runtime 8 أو أحدث.</li>
<li>تشغيل UiExplorer.exe مع الاحتفاظ بمجلدات data و recipes بجواره.</li>
<li>تفعيل الـ Injector على السيرفر الخاص بك لاستخدام مميزات التشغيل المباشر.</li>
</ul><br />
[HR]<br />
<br />
<font size="5"><b><font color="#C0392B">???? تنبيه مهم</font></b></font><br />
<br />
الأداة مخصصة لتطوير واختبار السيرفرات التي تملكها أو لديك تصريح بالعمل عليها.<br />
<br />
التشغيل المباشر مقيد بوضع التطوير وشخصيات الاختبار المسموح بها من خلال إعدادات السيرفر. الأداة لا تعدّل ملفات الكلاينت أو السيرفر، ولا تستهدف الاتصال بسيرفرات كونكر الرسمية.<br />
<br />
[HR]<br />
<br />
<div align="center"><br />
<font size="5"><b><font color="#27AE60">???? رابط التحميل المباشر</font></b></font><br />
<br />
<a href="https://drive.google.com/file/d/1Ai0pIsIPxWjaBTCPulTNZWAUtr-KH29M/view?usp=sharing" target="_blank"><font size="5"><b>اضغط هنا لتحميل UiExplorer</b></font></a><br />
<br />
<a href="https://i.postimg.cc/prvWyHK6/live-smoke-capture.png" target="_blank">صورة إضافية للأداة</a><br />
<br />
<font color="#777777">ScriptHazem · سكربتات حازم · © 2026</font><br />
<br />
<b><font color="#D35400">كونكر عربي — مجتمع المبرمجين العرب</font></b><br />
</div></div>

]]></content:encoded>
			<category domain="https://conquer-arab.com/forumdisplay.php?f=39">البرامج والودرات</category>
			<dc:creator>Hazem</dc:creator>
			<guid isPermaLink="true">https://conquer-arab.com/showthread.php?t=6992</guid>
		</item>
		<item>
			<title>PacketStudio — Packet Master 7957</title>
			<link>https://conquer-arab.com/showthread.php?t=6991&amp;goto=newpost</link>
			<pubDate>Thu, 15 Oct 2026 15:44:11 GMT</pubDate>
			<description>* PacketStudio — Packet Master 7957* 
 
راقب وحلّل باكتات السيرفر والكلاينت في مكان واحد 
 
*By ScriptHazem* 
 
صورة:...</description>
			<content:encoded><![CDATA[<div><div align="center"><font size="5"><b> PacketStudio — Packet Master 7957</b></font><br />
<br />
<font size="3">راقب وحلّل باكتات السيرفر والكلاينت في مكان واحد</font><br />
<br />
<b>By ScriptHazem</b><br />
<br />
<img src="https://i.postimg.cc/yYyMmtRh/01-sources.png" border="0" alt="" /></div><br />
السلام عليكم يا شباب ❤️<br />
<br />
النهارده معانا أداة جديدة من سكربتات حازم، اسمها PacketStudio، ودي معمولة علشان تسهّل على الناس اللي شغالة على سورسات كونكر وتوفر عليهم وقت كبير في تتبّع الباكتات.<br />
<br />
لو بتشتغل على سورس كونكر، فأكيد قابلتك المشكلة دي قبل كده: عايز تعرف الكلاينت بعت إيه للسيرفر، أو السيرفر رد عليه بإيه، فتفضل تحط `Console.WriteLine` في كذا مكان، وتعمل Build وRestart، وبعد كل ده تلاقي نفسك بتراجع بيانات مش واضحة.<br />
<br />
علشان كده PacketStudio بتخليك تتابع الباكتات اللي رايحة والجاية بين الكلاينت والسيرفر بتاعك بشكل مباشر، وتشوف تفاصيلها وأرقامها واتجاهها، ومع الباكتات المعروفة تقدر تشوف اسم الباكت والحقول بشكل مفهوم بدل ما تعتمد على الـ Hex بس.<br />
<br />
وفيه كمان إمكانية تجربة إرسال باكتات لشخصيات الاختبار عندك، علشان تراجع سلوك الكلاينت من غير ما تفضل تعدّل في السورس وتعمل Restart كل شوية.<br />
<br />
<b>مهم جدًا:</b> الأداة معمولة للاستخدام على سيرفرك إنت، ومش مخصصة للاتصال بسيرفرات كونكر الرسمية أو أي سيرفر مش بتملكه أو مش معاك تصريح باختباره.<br />
<br />
<font size="4"><b>إيه اللي محتاج تعرفه قبل ما تبدأ؟</b></font><br />
<ul><li>PacketStudio.exe: البرنامج الأساسي، وبيشتغل على Windows 10 وWindows 11 بنظام 64-bit.</li>
<li>PacketBridge.dll: الجزء اللي بتضيفه لسورس السيرفر علشان ينقل بيانات الباكتات للأداة.</li>
<li>البرنامج بيشتغل على جهاز السيرفر نفسه، والاتصال المحلي بيكون على 127.0.0.1.</li>
<li>قاموس الباكتات جاهز لبروتوكول 7957، وبيحتوي على 470 باكت حسب بيانات الأداة.</li>
<li>لو بتستخدم إصدار مختلف، ممكن بعض الباكتات تظهر بأرقامها وبيانات Hex من غير أسماء معروفة.</li>
<li>الأداة مخصصة لمتابعة Game Server، مش Login Server.</li>
</ul><br />
<font size="4"><b>الملفات الموجودة في الباكدج</b></font><br />
<ul><li>PacketStudio.exe — البرنامج الأساسي.</li>
<li>PacketBridge.dll — الوصلة اللي بتضيفها للسورس.</li>
<li>packetbridge.sample.ini — نموذج ملف الإعدادات.</li>
<li>INTEGRATION_EN.txt — شرح الدمج باللغة الإنجليزية.</li>
<li>screenshots — صور توضيحية للأداة.</li>
<li>Licenses — ملفات التراخيص الخاصة بالمكونات المستخدمة.</li>
</ul><br />
<font size="4"><b>1- إضافة PacketBridge للسورس</b></font><br />
<br />
أول حاجة هتحتاج تضيف ملف `PacketBridge.dll` لمشروع السيرفر بتاعك.<br />
<br />
لو بتستخدم Visual Studio، افتح المشروع واضغط كليك يمين على References، وبعدها Add Reference واختار Browse وحدد ملف DLL.<br />
<br />
بعد ما تضيفه، اتأكد إن الملف بيتنسخ جنب ملف تشغيل السيرفر بعد الـ Build.<br />
<br />
وفي الملفات اللي هتستخدم فيها الوصلة، أضف:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">using&nbsp;PacketStudio</span><span style="color: #007700">.</span><span style="color: #0000BB">Bridge</span><span style="color: #007700">;&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div><font size="4"><b>2- تشغيل الوصلة مع بداية السيرفر</b></font><br />
<br />
بعد ما إعدادات السيرفر تتحمّل، شغّل الوصلة مرة واحدة:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">PacketBridge</span><span style="color: #007700">.</span><span style="color: #0000BB">Start</span><span style="color: #007700">(</span><span style="color: #DD0000">"packetbridge.ini"</span><span style="color: #007700">);&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>الوصلة بتقرأ ملف الإعدادات، وبتبدأ استقبال الاتصالات المحلية لو الإعدادات سليمة.<br />
<br />
<font size="4"><b>3- تسجيل الباكتات اللي رايحة والجاية</b></font><br />
<br />
دي أهم خطوة في الدمج، لأنك محتاج تحدد المكان الصحيح اللي الباكت بتكون فيه جاهزة للقراءة.<br />
<br />
في الاستقبال، لازم تسجل الباكت بعد فك التشفير وبعد فصلها عن باقي البيانات المستلمة من السوكت.<br />
<br />
أما في الإرسال، فسجل الباكت قبل تشفيرها، علشان تقدر تشوف محتواها بشكل مفهوم.<br />
<br />
أسماء الكلاسات والدوال بتختلف من سورس للتاني، فمتنسخش أي مثال قبل ما تتأكد إنه مناسب لبنية السورس اللي عندك.<br />
<br />
<font size="4"><b>مثال توضيحي للاستقبال والإرسال</b></font><br />
<br />
في السورس اللي بيستخدم `byte[]`، ممكن يكون مكان الاستقبال داخل دالة بتستقبل باكت واحدة بعد فك التشفير:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">PacketBridge</span><span style="color: #007700">.</span><span style="color: #0000BB">OnClientToServer</span><span style="color: #007700">(<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">client</span><span style="color: #007700">.</span><span style="color: #0000BB">Entity&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">null&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #0000BB">client</span><span style="color: #007700">.</span><span style="color: #0000BB">Entity</span><span style="color: #007700">.</span><span style="color: #0000BB">UID&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">client</span><span style="color: #007700">.</span><span style="color: #0000BB">Entity&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">null&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #0000BB">client</span><span style="color: #007700">.</span><span style="color: #0000BB">Entity</span><span style="color: #007700">.</span><span style="color: #0000BB">Name&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">packet</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">packet</span><span style="color: #007700">.</span><span style="color: #0000BB">Length<br /></span><span style="color: #007700">);&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>وفي الإرسال، يكون التسجيل قبل عملية التشفير:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">PacketBridge</span><span style="color: #007700">.</span><span style="color: #0000BB">OnServerToClient</span><span style="color: #007700">(<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Entity&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">null&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #0000BB">Entity</span><span style="color: #007700">.</span><span style="color: #0000BB">UID&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Entity&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">null&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #0000BB">Entity</span><span style="color: #007700">.</span><span style="color: #0000BB">Name&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">buffer</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">buffer</span><span style="color: #007700">.</span><span style="color: #0000BB">Length<br /></span><span style="color: #007700">);&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>الأسماء هنا مجرد مثال؛ غيّر `client` و`Entity` و`packet` و`buffer` حسب الموجود في سورسك.<br />
<br />
وخلي بالك من نقطة مهمة: متسجلش البافر الخام بتاع السوكت لو ممكن يحتوي على أكتر من باكت أو جزء من باكت، لأن ده ممكن يخلي البيانات اللي بتظهر في الأداة غير صحيحة.<br />
<br />
<font size="4"><b>4- تجربة إرسال الباكتات للاختبار</b></font><br />
<br />
<div align="center"><img src="https://i.postimg.cc/pXJwf4jZ/03-inject.png" border="0" alt="" /></div><br />
من مميزات PacketStudio إنك تقدر تختبر باكتات على شخصيات محددة في سيرفرك، وده بيساعدك تعرف تأثير الباكت على الكلاينت من غير ما تحتاج تعمل Build وRestart مع كل تجربة.<br />
<br />
علشان الميزة دي تشتغل، لازم تربط الوصلة بدالة الإرسال الموجودة في السورس، وتحدد قائمة الشخصيات المتاحة للاختبار.<br />
<br />
مثال توضيحي لطريقة ربط قائمة الشخصيات:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">PacketBridge</span><span style="color: #007700">.</span><span style="color: #0000BB">SetPlayerListProvider</span><span style="color: #007700">(()&nbsp;=&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Kernel</span><span style="color: #007700">.</span><span style="color: #0000BB">GamePool</span><span style="color: #007700">.</span><span style="color: #0000BB">Values<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">.</span><span style="color: #0000BB">Where</span><span style="color: #007700">(</span><span style="color: #0000BB">c&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">c&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">null&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">c</span><span style="color: #007700">.</span><span style="color: #0000BB">Player&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span style="color: #0000BB">Select</span><span style="color: #007700">(</span><span style="color: #0000BB">c&nbsp;</span><span style="color: #007700">=&gt;&nbsp;new&nbsp;</span><span style="color: #0000BB">KeyValuePair</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">uint</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">string</span><span style="color: #007700">&gt;(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">c</span><span style="color: #007700">.</span><span style="color: #0000BB">Player</span><span style="color: #007700">.</span><span style="color: #0000BB">UID</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">c</span><span style="color: #007700">.</span><span style="color: #0000BB">Player</span><span style="color: #007700">.</span><span style="color: #0000BB">Name</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span style="color: #0000BB">ToList</span><span style="color: #007700">());&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>ومثال توضيحي لربط دالة الإرسال:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">PacketBridge</span><span style="color: #007700">.</span><span style="color: #0000BB">SetInjector</span><span style="color: #007700">((</span><span style="color: #0000BB">uid</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">packet</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">sealAppended</span><span style="color: #007700">)&nbsp;=&gt;<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">GameClient&nbsp;client</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000BB">Kernel</span><span style="color: #007700">.</span><span style="color: #0000BB">GamePool</span><span style="color: #007700">.</span><span style="color: #0000BB">TryGetValue</span><span style="color: #007700">(</span><span style="color: #0000BB">uid</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">out&nbsp;client</span><span style="color: #007700">)&nbsp;||<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">client&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">client</span><span style="color: #007700">.</span><span style="color: #0000BB">Send</span><span style="color: #007700">(</span><span style="color: #0000BB">packet</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />});&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>الأسماء `Kernel.GamePool` و`GameClient` أمثلة، ولازم تستبدلها بالأسماء المناسبة لسورس السيرفر عندك.<br />
<br />
خلي بالك: إرسال باكت غير صحيحة ممكن يسبب مشاكل في الكلاينت أو يفصل شخصية الاختبار. جرّب على شخصيات مخصصة للاختبار، ومتفعّلش الحقن على سيرفر الإنتاج.<br />
<br />
<div align="center"><img src="https://i.postimg.cc/65fkrgZc/04-inject-live.png" border="0" alt="" /></div><br />
<font size="4"><b>5- إعداد ملف packetbridge.ini</b></font><br />
<br />
انسخ ملف `packetbridge.sample.ini` بجوار ملف تشغيل السيرفر، وسمّيه `packetbridge.ini`.<br />
<br />
راجع الإعدادات الموجودة في الملف، خصوصًا:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">enabled</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br />secret</span><span style="color: #007700">=</span><span style="color: #0000BB">PUT_A_LONG_RANDOM_SECRET_HERE<br />port</span><span style="color: #007700">=</span><span style="color: #0000BB">17957<br />devmode</span><span style="color: #007700">=</span><span style="color: #0000BB">0<br />inject_port</span><span style="color: #007700">=</span><span style="color: #0000BB">17958<br />allow</span><span style="color: #007700">=</span><span style="color: #0000BB">TestHero</span><span style="color: #007700">,</span><span style="color: #0000BB">1000001&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>دي أمثلة توضيحية، فراجع القيم اللي البرنامج بيدعمها قبل التشغيل.<br />
<br />
خلي كلمة السر طويلة وعشوائية، ومتشاركش ملف الإعدادات مع أي حد، لأنه ممكن يحتوي على بيانات اتصال حساسة.<br />
<br />
الحقن لازم يفضل مقفول على سيرفر الإنتاج، ومينفعش تفعّله إلا على بيئة اختبار وبصلاحيات محددة.<br />
<br />
<font size="4"><b>6- الاتصال من داخل PacketStudio</b></font><br />
<br />
<div align="center"><img src="https://i.postimg.cc/yYyMmtRh/01-sources.png" border="0" alt="" /></div><br />
بعد ما تجهز الوصلة وتبدأ تشغيل السيرفر:<br />
<ol style="list-style-type: decimal"><li>افتح PacketStudio.</li>
<li>ادخل على صفحة المصادر وإعدادات السيرفر.</li>
<li>اختار ملف الإعدادات الصحيح.</li>
<li>راجع عنوان الاتصال والبورت وكلمة السر.</li>
<li>اضغط اتصال، وبعدها افتح صفحة البث المباشر.</li>
</ol><br />
تقدر كمان تحدد فولدر الكلاينت وفولدر بيانات السيرفر لو عايز تستفيد من المعلومات الإضافية اللي بتعتمد عليهم.<br />
<br />
<font size="4"><b>7- صفحة البث المباشر Live</b></font><br />
<br />
<div align="center"><img src="https://i.postimg.cc/YC2JbRNF/02-live.png" border="0" alt="" /></div><br />
دي الصفحة اللي غالبًا هتستخدمها أكتر من غيرها.<br />
<br />
هتقدر تشوف الباكتات وهي بتتحرك بين الكلاينت والسيرفر، مع معلومات زي:<br />
<ul><li>اتجاه الباكت: من الكلاينت للسيرفر أو العكس.</li>
<li>اسم اللاعب ورقمه لو المعلومات متاحة.</li>
<li>رقم الباكت واسمها لو موجودة في القاموس.</li>
<li>ملخص للبيانات وحقول الباكت المعروفة.</li>
<li>تفاصيل Hex للمراجعة الدقيقة.</li>
</ul><br />
وفيه فلاتر تساعدك توصل للي بتدور عليه، زي البحث بالاسم أو الرقم، وتحديد اتجاه الباكتات، وإخفاء الباكتات المزعجة أثناء المراجعة.<br />
<br />
تقدر كمان توقف التحديث مؤقتًا علشان تفحص باكت معينة براحتك، وتنسخ البيانات بصيغ مختلفة حسب الخيارات اللي البرنامج بيوفرها.<br />
<br />
<font size="4"><b>8- صفحة اختبار الباكتات</b></font><br />
<br />
<div align="center"><img src="https://i.postimg.cc/pXJwf4jZ/03-inject.png" border="0" alt="" /></div><br />
من الصفحة دي تقدر تختار شخصية اختبار مسموح ليها، وتدخل بيانات الباكت، وبعدها تبعت التجربة من خلال السيرفر.<br />
<br />
النتيجة بتظهرلك علشان تعرف إذا كانت العملية اتقبلت، وتقدر تراجع الباكت في البث المباشر.<br />
<br />
لو الشخصية مش موجودة في قائمة السماح، المفروض العملية تترفض بدل ما تتبعت لأي لاعب عشوائي.<br />
<br />
<font size="4"><b>9- قاموس الباكتات</b></font><br />
<br />
<div align="center"><img src="https://i.postimg.cc/6p6DYcVv/05-dict.png" border="0" alt="" /></div><br />
لو نسيت رقم باكت أو عايز تعرف اسمها والحقول المرتبطة بيها، تقدر تراجع قاموس الباكتات الموجود في الأداة.<br />
<br />
القاموس مجهز لبروتوكول 7957، وده بيساعدك تفهم الباكتات المعروفة بشكل أسرع.<br />
<br />
لكن لو بتستخدم نسخة مختلفة من البروتوكول، متفترضش إن كل الأسماء والحقول هتكون مطابقة.<br />
<br />
<font size="4"><b>10- الإحصائيات والتسجيل</b></font><br />
<br />
<div align="center"><img src="https://i.postimg.cc/Vks3Dg99/06-stats.png" border="0" alt="" /></div><br />
الأداة بتوفر صفحات لمراجعة إحصائيات حركة الباكتات، زي الباكتات الأكثر ظهورًا ومعدل الحركة، حسب المعلومات المتاحة.<br />
<br />
وكمان تقدر تسجل جلسة المراقبة في ملف بصيغة `.cocap` وترجع تفتحها بعدين، وده مفيد لو بتحاول تعيد تحليل مشكلة حصلت أثناء اللعب أو تقارن بين سلوكين مختلفين قبل وبعد تعديل معين.<br />
<br />
<div align="center"><img src="https://i.postimg.cc/4x4rBPvb/07-collector.png" border="0" alt="" /></div><br />
وفيه كمان أدوات لتجميع معلومات من الباكتات، ومتابعة مسار اللاعب وبعض بيانات الأيتمات والوحوش والبوابات، حسب البيانات المتاحة وإعدادات الكلاينت والسيرفر.<br />
<br />
<font size="4"><b>11- الأمان مهم جدًا</b></font><br />
<br />
قبل ما تستخدم الأداة، فيه شوية حاجات لازم تاخد بالك منها:<br />
<ul><li>الوصلة مخصصة للاتصال المحلي على `127.0.0.1`.</li>
<li>متفتحش بورتات الأداة للعامة، ومتعملش لها Port Forwarding.</li>
<li>استخدم كلمة سر طويلة وعشوائية، ومتشاركش ملف الإعدادات.</li>
<li>خلي وضع الحقن مقفول على سيرفر الإنتاج.</li>
<li>لو محتاج تختبر باكتات، استخدم سيرفر تطوير وشخصيات اختبار فقط.</li>
<li>ملفات التسجيل ممكن تحتوي على أسماء اللاعبين والشات وبيانات خاصة، فمتنشرهاش من غير مراجعة.</li>
</ul><br />
لو السيرفر عندك على VPS، الأفضل تشغّل الأداة عليه من خلال Remote Desktop. ولو هتستخدم نفق SSH، اتأكد إن الاتصال متأمن وإن الوصلة مش متاحة مباشرة من الإنترنت.<br />
<br />
<font size="4"><b>12- لو الأداة مش بتعرض باكتات</b></font><br />
<br />
لو اتصلت بالأداة ومفيش بيانات بتظهر، راجع الحاجات دي:<br />
<ul><li>اتأكد إن `PacketBridge.Start` بيتنفذ عند بداية السيرفر.</li>
<li>راجع إن ملف `packetbridge.ini` موجود في المسار الصحيح.</li>
<li>اتأكد إن الإعدادات والبورت وكلمة السر متطابقين.</li>
<li>راجع مكان تسجيل الباكت في السورس، خصوصًا قبل التشفير وبعد فك التشفير.</li>
<li>اتأكد إنك بتسجل باكت واحدة كاملة، مش بافر السوكت كله.</li>
<li>لو الباكتات بتظهر بأرقام من غير أسماء، راجع إصدار البروتوكول المستخدم.</li>
</ul><br />
ولو البرنامج بيقفل فجأة، راجع ملف `crash.log` لو موجود، واحتفظ برسالة الخطأ علشان تسهّل تحديد السبب.<br />
<br />
<font size="4"><b>تحميل PacketStudio</b></font><br />
<br />
<div align="center"><font size="4"><b><a href="https://drive.google.com/file/d/1vONUzqAa_AAqHXTnVr3UfMSK7XqbAkGC/view?usp=sharing" target="_blank">اضغط هنا لتحميل الأداة</a></b></font><br />
<br />
<a href="https://www.facebook.com/ScriptHazem" target="_blank">صفحة ScriptHazem على فيسبوك</a><br />
<br />
<img src="https://i.postimg.cc/sgftwmPc/08-about.png" border="0" alt="" /><br />
<br />
<b>أتمنى الأداة تفيد كل الناس اللي شغالة على تطوير كونكر، وتوفر عليكم وقت في تتبّع الباكتات وحل المشاكل.<br />
<br />
بالتوفيق للجميع ❤️</b></div><br />
<b>ScriptHazem</b></div>

]]></content:encoded>
			<category domain="https://conquer-arab.com/forumdisplay.php?f=39">البرامج والودرات</category>
			<dc:creator>Hazem</dc:creator>
			<guid isPermaLink="true">https://conquer-arab.com/showthread.php?t=6991</guid>
		</item>
		<item>
			<title>DatCrypt – Conquer DAT Editor</title>
			<link>https://conquer-arab.com/showthread.php?t=6989&amp;goto=newpost</link>
			<pubDate>Thu, 15 Oct 2026 06:09:12 GMT</pubDate>
			<description>*DatCrypt - Conquer DAT Editor* 
 
*أداة فك وتشفير وتعديل ملفات كونكر 7957* 
 
*By ScriptHazem* 
 
صورة: https://i.postimg.cc/jSYg4gj4/01-file.png  
...</description>
			<content:encoded><![CDATA[<div><div align="center"><font size="5"><b>DatCrypt - Conquer DAT Editor</b></font><br />
<br />
<b>أداة فك وتشفير وتعديل ملفات كونكر 7957</b><br />
<br />
<b>By ScriptHazem</b><br />
<br />
<img src="https://i.postimg.cc/jSYg4gj4/01-file.png" border="0" alt="" /><br />
</div><br />
السلام عليكم ورحمة الله وبركاته يا شباب ❤️<br />
<br />
النهارده معانا أداة جديدة من أدوات ScriptHazem، وهي DatCrypt، واللي هتسهّل الشغل على ملفات الكلاينت، خصوصًا لو بتشتغل على تعديل الأيتمات أو الوحوش أو مقارنة ملفات الكلاينت عندك بالنسخة الرسمية.<br />
<br />
لو اشتغلت قبل كده على ملفات زي `itemtype.dat` أو `monster.dat`، فأكيد عارف إنك ساعات بتحتاج تدور وسط آلاف السطور علشان توصل للبيانات اللي عايز تعدلها. علشان كده الأداة دي بتجمعلك مجموعة من الأدوات المهمة في برنامج واحد، بدل ما تضطر تستخدم برامج مختلفة لكل حاجة.<br />
<br />
<b>طيب إيه اللي تقدر تعمله باستخدام DatCrypt؟</b><br />
<br />
<font size="4"><b>1- فتح وتعديل ملفات DAT</b></font><br />
<br />
تقدر تفتح الملفات المدعومة وتشوف محتوياتها بشكل منظم، وتبحث عن البيانات اللي محتاجها بدل ما تفضل تدور يدويًا وسط الملف.<br />
<br />
مثلًا، لو عايز تعدل أيتم معين في `itemtype.dat`، كل اللي عليك إنك تبحث بالاسم أو الـ ID، وتوصل للأيتم المطلوب، وبعدها تعدّل الحقول اللي محتاجها وتحفظ التغييرات.<br />
<br />
<div align="center"><img src="https://i.postimg.cc/t4GSNSgD/02-tableedit.png" border="0" alt="" /></div><br />
<font size="4"><b>2- محرر الأيتمات والوحوش</b></font><br />
<br />
الأداة بتدعم مجموعة من الملفات المهمة في الكلاينت، منها:<br />
<ul><li>itemtype.dat</li>
<li>ItemtypeSub.dat</li>
<li>MagicType.dat</li>
<li>monster.dat</li>
<li>emoneyShopV2.dat</li>
<li>new_shop_goods.dat</li>
</ul><br />
تقدر تبحث عن الأيتم أو الوحش اللي محتاجه، وتشوف بياناته في جدول واضح، وتعدّل القيم المتاحة بدل ما تتعامل مع الملف سطر بسطر.<br />
<br />
وبالنسبة لملف الوحوش، هتلاقي حقول زي الاسم والليفل والـ MaxLife والـ ZoomPercent وغيرها من البيانات الموجودة في الملف.<br />
<br />
<div align="center"><img src="https://i.postimg.cc/MpJPmPG9/05-monster.png" border="0" alt="" /></div><br />
<font size="4"><b>3- فك وتشفير الملفات</b></font><br />
<br />
سواء كنت عايز تفك ملف علشان تراجع محتواه، أو عندك ملف TXT بعد التعديل وعايز ترجعه للصيغة اللي الكلاينت بيستخدمها، تقدر تعمل ده للملفات اللي الأداة بتدعمها.<br />
<br />
كمان الأداة بتفحص نوع الملف والترميز وطريقة تقسيم البيانات، وبتختبر عملية فك التشفير وإعادة التشفير علشان تساعد في اكتشاف المشاكل قبل حفظ الملف.<br />
<br />
خلي بالك إن مش كل ملفات الكلاينت بنفس النظام؛ فيه ملفات نصية عادية، وفيه ملفات مشفرة، وفيه ملفات بتحتاج توقيع أو مفتاح متوافق.<br />
<br />
<div align="center"><img src="https://i.postimg.cc/jSYg4gj4/01-file.png" border="0" alt="" /></div><br />
<font size="4"><b>4- معالجة مجموعة ملفات مرة واحدة Batch</b></font><br />
<br />
تخيل عندك فولدر مليان ملفات وعايز تفكها أو تعالجها، بدل ما تفتح كل ملف لوحده وتكرر نفس الخطوات، تقدر تستخدم وضع Batch لمعالجة مجموعة ملفات مرة واحدة.<br />
<br />
الميزة دي هتوفر عليك وقت ومجهود، والأداة بتوضحلك الملفات اللي اتعالجت والملفات اللي اتخطتها والملفات اللي حصل فيها خطأ.<br />
<br />
<div align="center"><img src="https://i.postimg.cc/bwfC9Cv3/03-batch.png" border="0" alt="" /></div><br />
<font size="4"><b>5- مقارنة الكلاينت بالنسخة الرسمية Diff &amp; Merge</b></font><br />
<br />
دي من المميزات المفيدة جدًا لو بتطور كلاينت وعايز تعرف إيه اللي اتغير بين نسختك والنسخة الرسمية.<br />
<br />
تقدر تقارن الملفات وتشوف البيانات الجديدة أو المعدلة، وتحدد السطور اللي موجودة عندك بس، وتراجع الاختلافات قبل ما تقرر تدمجها.<br />
<br />
ولو بتشتغل على تطوير السيرفر وعايز تراجع بيانات الأيتمات، تقدر تستفيد من المقارنة علشان تعرف إيه اللي محتاج تضيفه أو تعدله بدل ما تراجع كل حاجة يدويًا.<br />
<br />
<div align="center"><img src="https://i.postimg.cc/8zdyKRFW/04-diff.png" border="0" alt="" /></div><br />
<font size="4"><b>6- التعامل مع ملفات RSA</b></font><br />
<br />
فيه بعض ملفات الكلاينت اللي بتعتمد على التوقيع باستخدام RSA، ودي ليها طريقة تعامل مختلفة عن الملفات العادية.<br />
<br />
الأداة بتوضح إن النوع ده من الملفات محتاج توقيع ومفتاح متوافقين، وبالتالي مش كل ملف تقدر تعدله وتحفظه بنفس طريقة ملفات DAT العادية.<br />
<br />
<div align="center"><img src="https://i.postimg.cc/jS68gHWz/06-rsa.png" border="0" alt="" /></div><br />
<font size="4"><b>7- تجهيز ملفات الباتش</b></font><br />
<br />
بعد ما تخلص تعديلاتك، هتحتاج تعرف إيه الملفات اللي اتغيرت علشان تجهزها للتحديث.<br />
<br />
الأداة بتساعدك تتابع الملفات المعدلة وتجمعها مع الحفاظ على مساراتها، وده بيسهّل عليك مراجعة التغييرات وتجهيز الملفات اللي هتستخدمها في الباتش.<br />
<br />
<div align="center"><img src="https://i.postimg.cc/9QPx8d4y/07-patch.png" border="0" alt="" /></div><br />
<font size="4"><b>8- حفظ التعديلات ومراجعتها</b></font><br />
<br />
قبل ما تعتمد على أي تعديل، مهم تتأكد إن الملف سليم وإن التغييرات اتسجلت بالشكل المطلوب.<br />
<br />
علشان كده الأداة بتوفر اختبارات للتحقق من الملفات، وبتساعدك تراجع شغلك قبل الحفظ. ومع ذلك، الأفضل دايمًا تحتفظ بنسخة احتياطية من الملفات الأصلية، خصوصًا لو بتشتغل على كلاينت أساسي أو بتجهز تحديث للسيرفر.<br />
<br />
<font size="4"><b>9- تشغيل الأداة من سطر الأوامر CLI</b></font><br />
<br />
لو بتحب تختصر خطوات الشغل أو تدخل الأداة ضمن أدوات التطوير اللي بتستخدمها، فيه إمكانية لتشغيلها من سطر الأوامر.<br />
<br />
مثال لتشغيل الاختبارات:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">DatCrypt.exe --selftest report.txt</code><hr />
</div>وممكن تحديد مسارات الكلاينت والنسخة الرسمية وملفات السيرفر بالشكل ده:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">DatCrypt.exe --client D:\client --official D:\official --db D:\Infinity</code><hr />
</div><font size="4"><b>متطلبات التشغيل</b></font><br />
<ul><li>نظام Windows.</li>
<li>تثبيت .NET 10 Desktop Runtime.</li>
<li>الاحتفاظ بمجلد Fonts بجوار ملف البرنامج.</li>
</ul><br />
<font size="4"><b>ملاحظات مهمة قبل الاستخدام</b></font><br />
<ul><li>احتفظ بنسخة احتياطية من ملفاتك قبل ما تبدأ التعديل.</li>
<li>مش كل أنواع الملفات بتدعم نفس عمليات الفك والتشفير.</li>
<li>ملفات RSA ممكن تحتاج مفتاح توقيع متوافق علشان التعديلات تشتغل بشكل صحيح.</li>
<li>لو ظهر خطأ أثناء التشغيل، راجع ملف crash.log لمعرفة تفاصيل المشكلة.</li>
</ul><br />
<div align="center"><font size="5"><b>تحميل DatCrypt</b></font><br />
<br />
<a href="https://drive.google.com/file/d/1oOUXwGjCYi1q5ovnL0elfuRI4iuw4mxq/view?usp=sharing" target="_blank"><font size="4"><b>اضغط هنا لتحميل الأداة</b></font></a><br />
<br />
<a href="https://www.facebook.com/ScriptHazem" target="_blank">صفحة ScriptHazem على فيسبوك</a><br />
<br />
<img src="https://i.postimg.cc/CxCvPGZC/08-about.png" border="0" alt="" /><br />
<br />
<b>في النهاية، أتمنى الأداة تفيد كل الناس اللي شغالة على تطوير كونكر، ومستنيين نشوف إبداعاتكم والتعديلات اللي هتعملوها بيها ❤️<br />
<br />
بالتوفيق للجميع.</b></div></div>

]]></content:encoded>
			<category domain="https://conquer-arab.com/forumdisplay.php?f=39">البرامج والودرات</category>
			<dc:creator>Hazem</dc:creator>
			<guid isPermaLink="true">https://conquer-arab.com/showthread.php?t=6989</guid>
		</item>
		<item>
			<title>ConquerStudio — Client Viewer 7957</title>
			<link>https://conquer-arab.com/showthread.php?t=6988&amp;goto=newpost</link>
			<pubDate>Wed, 14 Oct 2026 16:40:35 GMT</pubDate>
			<description>*ConquerStudio — متصفّح أشكال الكلاينت* 
 
*Conquer Online 7957* 
 
الوحوش · NPCs · التأثيرات · الأيتمات · الوجوه · الأيقونات 
 
كل أشكال الكلاينت في...</description>
			<content:encoded><![CDATA[<div><div align="center"><br />
<font size="6"><b>ConquerStudio — متصفّح أشكال الكلاينت</b></font><br />
<br />
<font size="4"><b>Conquer Online 7957</b></font><br />
<br />
الوحوش · NPCs · التأثيرات · الأيتمات · الوجوه · الأيقونات<br />
<br />
كل أشكال الكلاينت في مكان واحد!<br />
<br />
<b>Developer: ScriptHazem</b><br />
<br />
<a href="https://www.facebook.com/ScriptHazem" target="_blank">Facebook — ScriptHazem</a><br />
<br />
<br />
<br />
<font size="5"><b>تحميل ConquerStudio — Download</b></font><br />
<br />
حمّل الأداة واستكشف أشكال وموديلات Conquer Online 7957 بسهولة، من الوحوش والـ NPCs إلى التأثيرات والأيتمات والوجوه والأيقونات.<br />
<br />
<a href="https://drive.google.com/file/d/1cQsupJH3jLnKHoRvaTMUM_QZrwg4jtVy/view?usp=sharing" target="_blank"><font size="4"><b>⬇ تحميل الأداة ConquerStudio</b></font></a><br />
<br />
<font size="2">رابط التحميل عبر Google Drive</font><br />
</div><br />
<font size="5"><b>محتويات الموضوع</b></font><br />
<ol style="list-style-type: decimal"><li>إيه هي ConquerStudio؟</li>
<li>تشغيل الأداة لأول مرة</li>
<li>ربطها بالكلاينت والسورس</li>
<li>شرح التبويبات والأقسام</li>
<li>لوحة التفاصيل والأزرار</li>
<li>البحث والفلترة</li>
<li>إزاي الأداة بتقرأ ملفات الكلاينت؟</li>
<li>أوامر الكونسول الاختيارية</li>
<li>ملاحظات مهمة</li>
</ol><br />
<font size="5"><b>1. إيه هي ConquerStudio؟</b></font><br />
<br />
ConquerStudio هي أداة لنظام Windows مبنية باستخدام WPF و.NET 10، بتسمح لك تستعرض أشكال وملفات Conquer Online 7957 من مكان واحد، بدل ما تضطر تبحث يدويًا في عدد كبير من الملفات والأرشيفات.<br />
<br />
الأداة بتجمع لك مجموعة كبيرة من الأصول الموجودة في الكلاينت، مع البحث والتفاصيل ومعاينة الأنيميشن والموديلات وتصدير الصور بصيغة PNG.<br />
<br />
<b>أهم المميزات:</b><br />
<ul><li>عرض الوحوش مع معاينة موديلات 3D المتحركة عند توافرها.</li>
<li>استعراض الـ NPCs وخصائصها.</li>
<li>معاينة التأثيرات Effects والأنيميشن الخاص بها.</li>
<li>استعراض أيقونات الأيتمات، بما يقارب 75,000 أيقونة وفقًا لمحتوى الكلاينت.</li>
<li>عرض الوجوه Faces المستخدمة في واجهات اللعبة.</li>
<li>استعراض ديكورات الخرائط.</li>
<li>عرض شيتات أيقونات السكيلز والواجهة والميني ماب وأيتمات الأرض.</li>
<li>بحث فوري بالاسم أو الرقم.</li>
<li>عرض تفاصيل العنصر ومصدر الملف.</li>
<li>نسخ الأرقام والمسارات وتصدير الصور إلى PNG.</li>
<li>تحميل الأقسام عند فتحها بدل تحميل كل المحتوى مرة واحدة.</li>
</ul><br />
<b>صور من الأداة:</b><br />
<br />
<img src="https://i.postimg.cc/kgxKBk5S/01-monsters.png" border="0" alt="" /><br />
<br />
<font size="2">استعراض الوحوش ومعاينة موديلاتها.</font><br />
<br />
<img src="https://i.postimg.cc/tgpPP21w/02-npcs.png" border="0" alt="" /><br />
<br />
<font size="2">قسم الـ NPCs وعرض بيانات الشخصيات.</font><br />
<br />
<img src="https://i.postimg.cc/g0mRRNwC/03-effects.png" border="0" alt="" /><br />
<br />
<font size="2">استعراض التأثيرات والأنيميشن.</font><br />
<br />
<img src="https://i.postimg.cc/3wYppny6/04-items.png" border="0" alt="" /><br />
<br />
<font size="2">تصفح أيقونات الأيتمات.</font><br />
<br />
<img src="https://i.postimg.cc/zf8WW0bm/05-faces.png" border="0" alt="" /><br />
<br />
<font size="2">استعراض الوجوه المستخدمة في اللعبة.</font><br />
<br />
<font size="5"><b>2. تشغيل الأداة لأول مرة</b></font><br />
<br />
<b>المتطلبات:</b><br />
<ul><li>نظام Windows.</li>
<li>.NET 10 Desktop Runtime.</li>
<li>مجلد الكلاينت الذي تريد استعراض ملفاته.</li>
<li>مجلد Server DB اختياري، لكنه مهم لعرض أسماء الأيتمات والوحوش.</li>
</ul><br />
بعد فك ضغط الأداة، شغّل الملف:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">ConquerStudio</span><span style="color: #007700">.</span><span style="color: #0000BB">exe&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>الأداة بتفتح على شاشة ترحيب، ومش كل قسم بيتحمّل إلا لما تفتحه، لتقليل التحميل غير الضروري عند بدء التشغيل.<br />
<br />
المسارات الافتراضية في الإعدادات الأصلية:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">Client&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">-&gt;&nbsp;</span><span style="color: #0000BB">D</span><span style="color: #007700">:\</span><span style="color: #0000BB">conquer</span><span style="color: #007700">-</span><span style="color: #0000BB">3d</span><span style="color: #007700">\</span><span style="color: #0000BB">client_test<br />Server&nbsp;DB&nbsp;&nbsp;</span><span style="color: #007700">-&gt;&nbsp;</span><span style="color: #0000BB">D</span><span style="color: #007700">:\</span><span style="color: #0000BB">conquer</span><span style="color: #007700">-</span><span style="color: #0000BB">3d</span><span style="color: #007700">\</span><span style="color: #0000BB">Sourse</span><span style="color: #007700">\</span><span style="color: #0000BB">Infinity</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">DB</span><span style="color: #007700">&#93;&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>المسارات دي أمثلة للإعدادات الافتراضية، وتقدر تغيّرها حسب مكان ملفاتك.<br />
<br />
<font size="5"><b>3. ربطها بالكلاينت والسورس</b></font><br />
<br />
في أعلى البرنامج هتلاقي اختيارين أساسيين لتحديد مصادر البيانات.<br />
<br />
<b>Client</b><br />
<br />
ده مسار فولدر الكلاينت الذي تريد استعراضه، والذي يحتوي على ملفات مثل:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">ini<br />ani<br />data</span><span style="color: #007700">.</span><span style="color: #0000BB">tpi<br />c3</span><span style="color: #007700">.</span><span style="color: #0000BB">tpi&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>ومن خلال ملفات الكلاينت المتاحة، الأداة بتحاول استخراج الأشكال والصور والموديلات والأنيميشن المدعومة.<br />
<br />
<b>Server DB</b><br />
<br />
ده مسار قاعدة بيانات السيرفر، وهو اختياري لكنه مهم لو عايز تظهر أسماء الأيتمات والوحوش بدل الأرقام فقط.<br />
<br />
بعض ملفات تعريف الأيتمات والوحوش موجودة في بيانات السيرفر، لذلك ربط قاعدة البيانات يساعد الأداة على عرض أسماء أكثر وضوحًا.<br />
<br />
<b>مهم:</b> اختيار Server DB لا يعني إن الأداة بتعدّل بيانات السيرفر؛ وظيفتها هنا قراءة المعلومات اللازمة للعرض.<br />
<br />
بعد تحديد المسارات، الأداة بتحتفظ باختياراتك لاستخدامها في المرات القادمة.<br />
<br />
<font size="5"><b>4. التبويبات والأقسام</b></font><br />
<br />
كل قسم مخصص لنوع معين من محتوى الكلاينت.<br />
<br />
<b>Items — الأيتمات</b><br />
<br />
استعراض أيقونات الأيتمات المتاحة، مع البحث والفلترة حسب الفئات وإظهار الأسماء عند توافر بياناتها.<br />
<br />
<b>NPCs — الشخصيات</b><br />
<br />
عرض أنواع الـ NPCs وأرقامها وأسمائها والمعلومات المرتبطة بها حسب البيانات المتاحة.<br />
<br />
<b>Monsters — الوحوش</b><br />
<br />
استعراض الوحوش مع معلومات مثل المستوى، وإمكانية فصل البوسات في فلتر مستقل، ومعاينة موديل 3D عند توافره.<br />
<br />
<b>Decorations — ديكورات الخرائط</b><br />
<br />
عرض الديكورات والعناصر المستخدمة في الخرائط، مع معاينة الفريمات عندما يحتوي العنصر على أكثر من إطار.<br />
<br />
<b>Effects — التأثيرات</b><br />
<br />
استعراض التأثيرات المختلفة ومعاينة الصور أو الأنيميشن المرتبط بكل تأثير.<br />
<br />
<b>Faces — الوجوه</b><br />
<br />
عرض وجوه الـ NPCs المستخدمة في اللعبة. رقم الوجه ممكن يساعدك في تحديد القيمة المرتبطة باستدعائه داخل الدايلوج، مثل AddAvatar(id)، حسب طريقة استخدامه في السورس.<br />
<br />
<b>Icons — شيتات الأيقونات</b><br />
<br />
استعراض مجموعات الأيقونات، بما فيها أيقونات السكيلز والواجهة والميني ماب وأيتمات الأرض، وفقًا للملفات المدعومة.<br />
<br />
<font size="5"><b>5. لوحة التفاصيل والأزرار</b></font><br />
<br />
لما تختار أي عنصر، بتظهر لوحة التفاصيل الخاصة به، وفيها المعلومات المتاحة عنه.<br />
<br />
<b>اللوحة ممكن تعرض:</b><br />
<ul><li>صورة كبيرة أو معاينة الموديل.</li>
<li>تشغيل وإيقاف الفريمات للأنيميشن المدعوم.</li>
<li>رقم العنصر واسمه والمستوى عند توافره.</li>
<li>مصدر الملف والمعلومات المرتبطة به.</li>
<li>توضيح ما إذا كان الملف موجودًا بصورة منفصلة أو داخل أرشيف الكلاينت.</li>
</ul><br />
<b>الأزرار المتاحة:</b><br />
<ul><li>نسخ الرقم: لنسخ ID العنصر.</li>
<li>نسخ المسار: لنسخ مسار الملف.</li>
<li>تصدير PNG: لحفظ الصورة المعروضة بصيغة PNG.</li>
<li>فتح مكان الملف: للوصول إلى موقع الملف إذا كان ذلك متاحًا.</li>
</ul><br />
الهدف من لوحة التفاصيل هو تسهيل الوصول إلى العنصر الذي تبحث عنه، ومعرفة مصدره بدلًا من البحث اليدوي داخل الملفات.<br />
<br />
<font size="5"><b>6. البحث والفلترة</b></font><br />
<br />
الأداة بتوفر بحثًا فوريًا لتسهيل الوصول إلى العنصر المطلوب.<br />
<br />
<b>البحث:</b><br />
<ul><li>البحث بالاسم أو الرقم.</li>
<li>استخدام Ctrl + F للوصول إلى البحث.</li>
<li>استخدام Esc لمسح البحث.</li>
</ul><br />
<b>الفلترة:</b><br />
<br />
تختلف الفلاتر حسب القسم. على سبيل المثال، في قسم الوحوش يمكنك استخدام الفلاتر المتاحة للبحث حسب المستوى أو البوسات أو الوحوش التي يتوفر لها موديل 3D.<br />
<br />
كمان الأداة بتحاول تقليل تحميل الصور غير الظاهرة، وده بيساعد على التعامل مع قوائم كبيرة من العناصر.<br />
<br />
<font size="5"><b>7. إزاي الأداة بتقرأ ملفات الكلاينت؟</b></font><br />
<br />
بشكل مختصر، الأداة بتتعامل مع الملفات المدعومة في الكلاينت، سواء كانت ملفات منفصلة أو موجودة داخل أرشيفات.<br />
<br />
<b>آلية العمل تشمل:</b><br />
<ul><li>قراءة الملفات المدعومة من أرشيفات الكلاينت مثل .tpi و.tpd باستخدام آلية فك الأرشيف المناسبة.</li>
<li>قراءة صور DDS المدعومة، بما فيها صيغ الضغط DXT1 وDXT3 وDXT5.</li>
<li>استخراج الفريم المطلوب من ملفات الأنيميشن المدعومة.</li>
<li>البحث عن الملفات المنفصلة أولًا، ثم البحث داخل الأرشيفات وفق ترتيب الأولوية الذي تستخدمه الأداة.</li>
<li>مراعاة ملفات الباتش المتاحة مثل data1 وc31 عند تحديد الملف الذي له الأولوية.</li>
<li>قراءة بيانات موديلات 3D من المصادر التي يدعمها الإصدار، مثل c3.wdb والملفات المرتبطة بها.</li>
</ul><br />
قد تختلف النتائج حسب إصدار الكلاينت وملفاته؛ لذلك توافر بعض الأشكال أو الموديلات يعتمد على محتوى الملفات الموجودة عندك.<br />
<br />
<font size="5"><b>8. أوامر الكونسول الاختيارية</b></font><br />
<br />
تدعم الأداة بعض أوامر التشغيل الاختيارية للاختبار والتقاط الصور.<br />
<br />
<b>تصوير تبويب معين:</b><br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">ConquerStudio</span><span style="color: #007700">.</span><span style="color: #0000BB">exe&nbsp;</span><span style="color: #007700">--</span><span style="color: #0000BB">screenshot&nbsp;out</span><span style="color: #007700">.</span><span style="color: #0000BB">png&nbsp;Monsters&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>الأمر ده مخصص لالتقاط صورة للتبويب المحدد ثم إغلاق الأداة.<br />
<br />
التبويبات المدعومة وفقًا للأمر:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">Home&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">Items&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">NPCs&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">Monsters&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">Decorations&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">Effects&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">Faces&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">Icons&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">About&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div><b>التصوير مع البحث عن كلمة:</b><br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">ConquerStudio</span><span style="color: #007700">.</span><span style="color: #0000BB">exe&nbsp;</span><span style="color: #007700">--</span><span style="color: #0000BB">screenshot&nbsp;out</span><span style="color: #007700">.</span><span style="color: #0000BB">png&nbsp;Items&nbsp;dragon&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>يمكن استخدامه لفتح قسم Items مع كلمة بحث مثل dragon أثناء عملية التصوير.<br />
<br />
<b>إجراء Self-Test:</b><br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">ConquerStudio</span><span style="color: #007700">.</span><span style="color: #0000BB">exe&nbsp;</span><span style="color: #007700">--</span><span style="color: #0000BB">selftest&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">client</span><span style="color: #007700">&gt;&nbsp;&lt;</span><span style="color: #0000BB">serverDb</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">report</span><span style="color: #007700">.</span><span style="color: #0000BB">txt&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>الأمر مخصص لإنشاء تقرير اختبار يتضمن معلومات وأعدادًا عن المحتوى الذي استطاعت الأداة قراءته، وفقًا لما يدعمه الإصدار.<br />
<br />
<b>تشغيل الأداة باللغة الإنجليزية:</b><br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">ConquerStudio</span><span style="color: #007700">.</span><span style="color: #0000BB">exe&nbsp;</span><span style="color: #007700">--</span><span style="color: #0000BB">lang&nbsp;en&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div><b>تشغيل الأداة باللغة العربية:</b><br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">ConquerStudio</span><span style="color: #007700">.</span><span style="color: #0000BB">exe&nbsp;</span><span style="color: #007700">--</span><span style="color: #0000BB">lang&nbsp;ar&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>الأوامر دي اختيارية، ومش ضروري تستخدمها في التشغيل اليومي.<br />
<br />
<font size="5"><b>9. ملاحظات مهمة</b></font><br />
<ul><li>من غير Server DB قد تظهر الأشكال بأرقامها فقط بدل الأسماء الكاملة لبعض الأيتمات والوحوش.</li>
<li>تأكد من اختيار مجلد الكلاينت الصحيح؛ اختلاف إصدار الكلاينت أو نقص ملفاته قد يؤثر على النتائج.</li>
<li>الأداة تعتمد على الملفات المدعومة في الإصدار، وقد لا تتمكن من قراءة كل أنواع الأرشيفات أو الموديلات.</li>
<li>في الإصدار الموضح هنا، لا يتم فك أرشيفات c3 بالطريقة نفسها المستخدمة مع data.tpi وdata.tpd؛ لذلك تعتمد النتائج على الملفات والمصادر المدعومة والمتاحة.</li>
<li>إذا حدث خطأ أثناء التشغيل، راجع ملف crash.log الموجود بجوار البرنامج إن تم إنشاؤه.</li>
<li>الأداة مخصصة لقراءة الملفات واستعراضها، ولا يفترض أن تعدّل ملفات الكلاينت أو السيرفر أثناء الاستخدام العادي.</li>
<li>احتفظ بنسخة احتياطية من ملفاتك المهمة، واستخدم ملفات تملك حق الوصول إليها.</li>
</ul><br />
<img src="https://i.postimg.cc/8C4vbMW0/06-about.png" border="0" alt="" /><br />
<br />
<font size="2">معلومات عن الأداة وإصدارها.</font><br />
<br />
<font size="5"><b>كلمة أخيرة</b></font><br />
<br />
ConquerStudio اتعملت علشان تجمع أدوات استعراض أشكال الكلاينت في مكان واحد، وتسهّل على مبرمجي ومطوري Conquer Online الوصول إلى الوحوش والـ NPCs والتأثيرات والأيتمات والوجوه والأيقونات من غير ما يضطروا يدوروا يدويًا في عدد كبير من الملفات.<br />
<br />
الهدف هو توفير الوقت وتسهيل عملية التطوير، ومساعدة المطورين على فهم محتوى الكلاينت واستخدامه بشكل أفضل.<br />
<br />
جرّبوا الأداة واكتبوا رأيكم واقتراحاتكم في الموضوع. لو عندكم أفكار لأقسام أو مميزات جديدة، شاركونا بيها علشان نقدر نطوّر الأدوات بما يخدم مجتمع كونكر.<br />
<br />
<div align="center"><br />
<b>تطوير وبرمجة: ScriptHazem</b><br />
<br />
<a href="https://www.facebook.com/ScriptHazem" target="_blank">Facebook — ScriptHazem</a><br />
<br />
<font size="2">© 2026 ScriptHazem — جميع الحقوق محفوظة.</font><br />
</div></div>

]]></content:encoded>
			<category domain="https://conquer-arab.com/forumdisplay.php?f=39">البرامج والودرات</category>
			<dc:creator>Hazem</dc:creator>
			<guid isPermaLink="true">https://conquer-arab.com/showthread.php?t=6988</guid>
		</item>
		<item>
			<title>MapStudio — أول استوديو متكامل لعرض وتعديل خرائط كونكر 7957 بصريًا مع دعم الـ NPCs وا</title>
			<link>https://conquer-arab.com/showthread.php?t=6987&amp;goto=newpost</link>
			<pubDate>Wed, 14 Oct 2026 16:25:18 GMT</pubDate>
			<description>*MapStudio — استوديو خرائط Conquer Online 7957* 
 
*مش مجرد تعديل إحداثيات… تحكّم في عالم اللعبة بصريًا!* 
 
استعرض الخرائط برسومات الكلاينت الأصلية...</description>
			<content:encoded><![CDATA[<div><div align="center"><br />
<font size="6"><b>MapStudio — استوديو خرائط Conquer Online 7957</b></font><br />
<br />
<font size="4"><b>مش مجرد تعديل إحداثيات… تحكّم في عالم اللعبة بصريًا!</b></font><br />
<br />
استعرض الخرائط برسومات الكلاينت الأصلية · عدّل الـ NPCs · أضف الديكورات · حرّك الأشجار والعناصر بالسحب والإفلات · عاين موديلات 3D<br />
<br />
أداة لمبرمجي ومطوري Conquer Online 7957، هدفها نقل تعديل الخرائط من الملفات والإحداثيات اليدوية إلى بيئة عمل بصرية أكثر سهولة ومرونة.<br />
<br />
<img src="https://i.postimg.cc/8cyh4W63/01-overview.png" border="0" alt="" /><br />
<br />
<font size="2">الواجهة الرئيسية لاستعراض الخرائط والعناصر والتحكم في تفاصيلها.</font><br />
<br />
<b>Developer: ScriptHazem</b><br />
<br />
<a href="https://www.facebook.com/ScriptHazem" target="_blank">Facebook — ScriptHazem</a><br />
<br />
<font size="5"><b>تحميل MapStudio — Download</b></font><br />
<br />
حمّل الأداة وابدأ استكشاف خرائط Conquer Online 7957 وتعديل عناصرها بصورة بصرية.<br />
<br />
<a href="https://drive.google.com/file/d/1zGSPYwWiz44ptYesoSkWOgzilO_U3kSh/view?usp=sharing" target="_blank"><b><font size="4">⬇ تحميل الأداة MapStudio</font></b></a><br />
<br />
<font size="2">رابط التحميل عبر Google Drive</font><br />
</div><br />
<font size="5"><b>1. إيه هي MapStudio؟</b></font><br />
<br />
MapStudio هي أداة مخصصة لمطوري Conquer Online 7957، بتساعدك على استعراض الخرائط والتعامل مع عناصرها بصريًا، بدلًا من الاعتماد الكامل على تعديل الملفات والإحداثيات يدويًا.<br />
<br />
الفكرة إنك تفتح الخريطة وتشوفها قدامك، وتحدد العنصر اللي عايز تعدّله، وتغيّر مكانه من خلال واجهة البرنامج، مع إمكانية استعراض الرسومات وموديلات 3D عند توافر الملفات المناسبة.<br />
<br />
والأهم إن العمل مش مقتصر على الـ NPCs فقط؛ الأداة بتوفّر تجربة عمل لتعديل الخريطة وديكوراتها، بحيث تقدر تتعامل مع العناصر الموجودة وتضيف ديكورات جديدة من الاختيارات الجانبية، مثل الأشجار والعناصر البيئية الأخرى التي يدعمها الكلاينت.<br />
<br />
<b>أهم المميزات:</b><br />
<ul><li>استعراض الخرائط باستخدام رسومات الكلاينت الأصلية.</li>
<li>التنقل بين Art Mode وSchematic Mode حسب طبيعة التعديل.</li>
<li>تعديل أماكن الـ NPCs بالسحب والإفلات.</li>
<li>إضافة NPCs جديدة وحذف العناصر المحددة.</li>
<li>الدخول إلى وضع تعديل الديكورات والتحكم في العناصر الموجودة على الخريطة.</li>
<li>إضافة الديكورات من قائمة العناصر الجانبية عن طريق السحب والإفلات إلى المكان المطلوب.</li>
<li>إمكانية التعامل مع عناصر مثل الأشجار والديكورات البيئية، وفقًا للعناصر والملفات التي يدعمها الكلاينت.</li>
<li>معاينة موديلات 3D عند توافر الموديل المناسب.</li>
<li>استعراض الخانات القابلة للمشي والخانات المقفولة.</li>
<li>فحص بعض المشكلات المحتملة في بيانات الـ NPCs.</li>
<li>حفظ تعديلات الـ NPCs في Npcs.txt، مع مراعاة آلية حفظ الديكورات التي يدعمها إصدار الأداة.</li>
</ul><br />
<font size="5"><b>2. تعديل الديكورات — Decor Editing</b></font><br />
<br />
واحدة من أهم الأفكار في MapStudio هي إنك تقدر تتعامل مع ديكورات الخريطة بصريًا بدلًا من الاكتفاء بمشاهدة الخريطة أو تعديل إحداثيات الـ NPCs.<br />
<br />
تخيّل إنك بتجهّز خريطة جديدة لسيرفرك، وعايز تضيف أشجار أو تغيّر توزيع الديكورات الموجودة أو تظبط شكل منطقة معينة. بدل ما تعتمد على التعديلات اليدوية وحدها، تقدر تدخل إلى وضع تعديل الخريطة وتتعامل مع العناصر من خلال الواجهة.<br />
<br />
<b>إزاي تدخل وضع تعديل الديكورات؟</b><br />
<ol style="list-style-type: decimal"><li>افتح الخريطة اللي عايز تشتغل عليها.</li>
<li>ادخل إلى وضع تعديل الخريطة.</li>
<li>اضغط على زر D للدخول إلى وضع تعديل الديكورات الموجودة على الخريطة، حسب اختصارات إصدار الأداة.</li>
<li>استعرض الديكورات الموجودة وحدّد العنصر اللي عايز تتعامل معاه.</li>
<li>استخدم أدوات التعديل المتاحة لتحريك العناصر وضبط أماكنها.</li>
</ol><br />
<b>إزاي تضيف ديكورات جديدة؟</b><br />
<ol style="list-style-type: decimal"><li>افتح قائمة العناصر والديكورات الموجودة في الجانب الجانبي للواجهة.</li>
<li>ابحث عن العنصر اللي محتاجه، مثل شجرة أو ديكور بيئي آخر.</li>
<li>اسحب العنصر من القائمة الجانبية باستخدام الماوس.</li>
<li>أفلته في المكان المطلوب داخل الخريطة.</li>
<li>راجع مكان العنصر وشكله، واضبط توزيعه بما يناسب تصميم الخريطة.</li>
<li>احفظ التغييرات باستخدام آلية الحفظ المتاحة لنوع العنصر في إصدار الأداة.</li>
</ol><br />
<b>الفكرة ببساطة:</b><br />
<br />
بدل ما تكون عملية تصميم الخريطة عبارة عن أرقام وإحداثيات فقط، تقدر تتعامل مع مساحة الخريطة نفسها، وتشوف توزيع العناصر أمامك، وتضيف الديكورات من القائمة الجانبية بالسحب والإفلات.<br />
<br />
وده بيسهّل بناء بيئات جديدة، وتنسيق المناطق، وتجربة أكثر من توزيع للديكورات قبل اعتماد التصميم النهائي.<br />
<br />
<font size="5"><b>3. تحكّم في تفاصيل الخريطة</b></font><br />
<br />
يوفّر عرض الخريطة بيئة تساعدك على مراجعة أماكن العناصر والتأكد من توزيعها بشكل مناسب.<br />
<br />
<b>Art Mode</b><br />
<br />
لعرض رسومات الكلاينت الأصلية، مثل الأرضيات والمباني والأشجار والديكورات والعناصر المرئية التي تدعمها الأداة.<br />
<br />
<b>Schematic Mode</b><br />
<br />
لعرض الخريطة بشكل علوي مبسّط يوضّح الخانات القابلة للمشي والخانات المقفولة، وده مفيد عند ضبط مواقع الـ NPCs ومراجعة المساحات المتاحة للحركة.<br />
<br />
<img src="https://i.postimg.cc/qBQXpf5w/04-blocked-cells.png" border="0" alt="" /><br />
<br />
<font size="2">عرض الخانات المقفولة للمساعدة في تحديد الأماكن المناسبة للعناصر.</font><br />
<br />
الجمع بين العرض البصري ومعلومات الخريطة بيساعدك على اتخاذ قرارات أفضل أثناء التصميم، سواء كنت بتعدّل أماكن الـ NPCs أو بتجهّز توزيع الديكورات.<br />
<br />
<font size="5"><b>4. تعديل الـ NPCs</b></font><br />
<br />
تقدر تحدد الـ NPC من الخريطة أو من القائمة، وتراجع بياناته وإحداثياته، ثم تحرّكه للمكان المطلوب بالسحب والإفلات.<br />
<br />
وتدعم الأداة كذلك بعض العمليات الأخرى، مثل إضافة NPC جديد أو حذف عنصر محدد، مع إمكانية مراجعة البيانات قبل الحفظ.<br />
<br />
<font size="5"><b>5. معاينة موديلات 3D</b></font><br />
<br />
عند توافر الموديلات المناسبة، تتيح الأداة معاينة بعض العناصر ثلاثية الأبعاد، ما يساعدك على التعرّف على الموديل قبل استخدامه أو مراجعة العنصر أثناء العمل.<br />
<br />
<img src="https://i.postimg.cc/zXBwBdsd/02-npc-details.png" border="0" alt="" /><br />
<br />
<font size="2">عرض تفاصيل العنصر ومعلوماته داخل الأداة.</font><br />
<br />
<font size="5"><b>6. ملاحظات مهمة</b></font><br />
<ul><li>تحتاج إلى تحديد مسار الكلاينت الصحيح وتوافر الملفات المطلوبة لعرض الرسومات الأصلية.</li>
<li>العناصر المتاحة للإضافة تعتمد على ملفات الكلاينت والأنواع التي يدعمها إصدار الأداة.</li>
<li>طريقة الحفظ والتطبيق قد تختلف حسب نوع العنصر؛ لا تفترض أن حفظ Npcs.txt يحفظ ديكورات الخريطة أيضًا.</li>
<li>احتفظ بنسخة احتياطية من ملفات الخريطة وبيانات السيرفر قبل إجراء التعديلات.</li>
<li>اختبر التغييرات على بيئة تجريبية قبل تطبيقها على السيرفر الأساسي.</li>
</ul><br />
<font size="5"><b>7. كلمة أخيرة</b></font><br />
<br />
MapStudio خطوة نحو جعل تطوير خرائط Conquer Online أكثر سهولة ووضوحًا.<br />
<br />
الهدف مش مجرد توفير أداة لتعديل الإحداثيات، لكن تقديم طريقة عمل بصرية تساعد المطور على استكشاف الخريطة، والتعامل مع عناصرها، وتنسيق الديكورات وإضافة العناصر المدعومة، بدلًا من الاعتماد على التعديلات اليدوية وحدها.<br />
<br />
أتمنى الأداة تكون مفيدة لمجتمع مبرمجي كونكر، ومستني آراءكم واقتراحاتكم للمميزات اللي تحبوا تشوفوها في الإصدارات القادمة.<br />
<br />
<div align="center"><br />
<b>Developer: ScriptHazem</b><br />
<br />
<a href="https://www.facebook.com/ScriptHazem" target="_blank">Facebook — ScriptHazem</a><br />
<br />
<font size="2">© 2026 ScriptHazem</font><br />
</div></div>

]]></content:encoded>
			<category domain="https://conquer-arab.com/forumdisplay.php?f=39">البرامج والودرات</category>
			<dc:creator>Hazem</dc:creator>
			<guid isPermaLink="true">https://conquer-arab.com/showthread.php?t=6987</guid>
		</item>
		<item>
			<title>ScriptHazem Launcher + PatchServer</title>
			<link>https://conquer-arab.com/showthread.php?t=6986&amp;goto=newpost</link>
			<pubDate>Wed, 14 Oct 2026 15:21:14 GMT</pubDate>
			<description>*لانشر ScriptHazem — دليل التشغيل والتعديل للمبرمجين* 
 
للمبرمجين اللي بيشتغلوا C# · شرح خطوة بخطوة · من غير تعقيد 
 
صورة:...</description>
			<content:encoded><![CDATA[<div><div align="center"><font size="5"><b><font color="#2E86C1">لانشر ScriptHazem — دليل التشغيل والتعديل للمبرمجين</font></b></font><br />
<br />
<font size="3">للمبرمجين اللي بيشتغلوا C# · شرح خطوة بخطوة · من غير تعقيد</font><br />
<br />
<img src="https://i.postimg.cc/1329DTnd/launcher-1-main.png" border="0" alt="" /><br />
<br />
<font size="2"><font color="#808080">الواجهة الرئيسية للانشر</font></font></div><br />
<font size="4"><b><font color="#2980B9">مقدمة</font></b></font><br />
<br />
السلام عليكم ورحمة الله وبركاته،<br />
<br />
النهارده معانا شرح كامل للانشر <b>ScriptHazem Launcher</b>، بداية من فتح المشروع وبنائه، مرورًا بتجهيزه للاعبين وربطه بالسيرفر، وصولًا إلى إعداد سيرفر التحديثات وتعديل الواجهة والثيمات.<br />
<br />
الشرح موجّه للمبرمجين اللي عندهم معرفة أساسية بـ C#، وعايزين يفهموا طريقة تشغيل المشروع وتخصيصه بما يناسب سيرفر كونكر الخاص بيهم.<br />
<br />
مش محتاج تكون خبير في .NET؛ كل اللي عليك إنك تمشي مع الخطوات بالترتيب.<br />
<br />
<b><font size="4"><font color="#2980B9">محتويات الموضوع</font></font></b><br />
<ol style="list-style-type: decimal"><li>اللانشر ده بيعمل إيه؟</li>
<li>المتطلبات اللازمة على جهازك.</li>
<li>فتح المشروع في Visual Studio.</li>
<li>بناء المشروع وإخراج ملف EXE.</li>
<li>تجهيز اللانشر عند اللاعب.</li>
<li>ربط اللانشر بسيرفرك عن طريق launcher.ini.</li>
<li>تعديل اللانشر وإضافة ثيمات جديدة.</li>
<li>إعداد سيرفر التحديثات PatchServer.</li>
<li>أشهر المشاكل وطرق حلها.</li>
</ol><br />
<b><font size="4"><font color="#2980B9">1- اللانشر ده بيعمل إيه؟</font></font></b><br />
<br />
الـ Launcher هو برنامج بيشتغل قبل اللعبة، وبيوفّر مجموعة من الوظائف اللي بتساعد اللاعب على تشغيل اللعبة والوصول للمعلومات المهمة من مكان واحد.<br />
<br />
<b>أهم الوظائف الموجودة في المشروع:</b><br />
<ul><li><b>تشغيل اللعبة:</b> زرار «ابدأ اللعب» بيشغّل ملف Conquer.exe.</li>
<li><b>حالة السيرفر:</b> عرض حالة السيرفر إذا كان شغّال أو متوقف، مع عرض البنج.</li>
<li><b>الأخبار والصور:</b> عرض الأخبار والصور اللي يمكن تحديثها من السيرفر.</li>
<li><b>وضع الصيانة:</b> عرض حالة الصيانة وتعطيل زرار اللعب عند تفعيلها.</li>
<li><b>التحديث التلقائي:</b> إمكانية تنزيل تحديثات ملفات اللعبة من سيرفر التحديثات.</li>
<li><b>فحص الجهاز:</b> تنفيذ فحوصات قبل تشغيل اللعبة.</li>
</ul><br />
<b>التقنيات المستخدمة:</b><br />
<ul><li>لغة البرمجة: C#</li>
<li>واجهة المستخدم: WPF</li>
<li>إطار العمل: .NET 10</li>
</ul><br />
<b><font size="4"><font color="#2980B9">2- المتطلبات اللازمة على جهازك</font></font></b><br />
<br />
قبل ما تبدأ، اتأكد إن جهازك مجهّز بالمتطلبات التالية.<br />
<ul><li>نظام تشغيل Windows 10 أو Windows 11.</li>
<li>برنامج Visual Studio 2022، مع دعم إصدار .NET 10 SDK المستخدم في المشروع، أو تثبيت .NET 10 SDK بشكل مستقل عند البناء من سطر الأوامر.</li>
<li>أثناء تثبيت Visual Studio، اختار الـ Workload التالي:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #007700">.</span><span style="color: #0000BB">NET&nbsp;desktop&nbsp;development&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div></li>
<li><b>اختياري:</b> حزمة .NET Framework 4.8 Developer Pack، لو هتشتغل على مشروع PatchServer اللي بيعتمد على .NET Framework 4.8.</li>
</ul><br />
<b>هل اللاعب محتاج يسطّب .NET؟</b><br />
<br />
لو نشرت اللانشر بإعدادات Self-contained المناسبة، مع تحديد معمارية ويندوز المستهدفة وإعداد إخراج ملف واحد، فاللاعب مش هيحتاج يسطّب .NET Runtime بشكل منفصل.<br />
<br />
[HR][/HR]<br />
<br />
<b><font size="4"><font color="#2980B9">3- فتح المشروع في Visual Studio</font></font></b><br />
<br />
بعد ما تفك ضغط ملفات المشروع، افتح المجلد الرئيسي وابحث عن ملف المشروع التالي:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">Launcher</span><span style="color: #007700">\</span><span style="color: #0000BB">ScriptHazemLauncher</span><span style="color: #007700">.</span><span style="color: #0000BB">csproj&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>دبل كليك على الملف علشان يفتح في Visual Studio.<br />
<br />
بعد فتح المشروع:<br />
<ol style="list-style-type: decimal"><li>استنى لحد ما Visual Studio يحمّل المشروع.</li>
<li>اتأكد إن حزم NuGet المطلوبة تم استعادتها بنجاح.</li>
<li>اختار Configuration باسم Release لو عايز تجهّز نسخة للتوزيع.</li>
<li>راجع أي أخطاء تظهر في نافذة Error List قبل ما تبدأ البناء.</li>
</ol><br />
لو ظهرت رسالة بتطلب استعادة الحزم، نفّذ Restore NuGet Packages، وبعدها جرّب بناء المشروع مرة تانية.<br />
<br />
[HR][/HR]<br />
<br />
<b><font size="4"><font color="#2980B9">4- بناء المشروع وإخراج ملف EXE</font></font></b><br />
<br />
عندك طريقتين لبناء المشروع.<br />
<br />
<b>الطريقة الأولى: من Visual Studio</b><br />
<br />
افتح قائمة:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">Build&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">Build&nbsp;Solution&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>أو استخدم الاختصار:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">Ctrl&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">Shift&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">B&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>بعد انتهاء البناء، راجع نافذة Output واتأكد إن العملية تمت بنجاح من غير أخطاء.<br />
<br />
<b>الطريقة الثانية: إخراج نسخة جاهزة للتوزيع من CMD</b><br />
<br />
افتح Terminal أو CMD داخل المجلد الرئيسي للمشروع، ونفّذ الأمر التالي:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">dotnet&nbsp;publish&nbsp;Launcher</span><span style="color: #007700">\</span><span style="color: #0000BB">ScriptHazemLauncher</span><span style="color: #007700">.</span><span style="color: #0000BB">csproj&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">c&nbsp;Release&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">o&nbsp;_release&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>هيتم إخراج ملفات النشر داخل المجلد:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">_release&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div><b>ملاحظة مهمة:</b><br />
<br />
اسم ملف EXE النهائي وإمكانية تشغيله كملف واحد بيعتمدوا على إعدادات المشروع داخل ملف CSProj، بما فيها إعدادات PublishSingleFile وSelfContained وRuntimeIdentifier. اتأكد من الإعدادات دي قبل توزيع النسخة.<br />
<br />
لو إعدادات النشر مضبوطة على إخراج ملف واحد، هتقدر توزّع الملف الناتج مع ملفات البيانات الخارجية المطلوبة، زي launcher.ini ومجلد themes.<br />
<br />
[HR][/HR]<br />
<br />
<b><font size="4"><font color="#2980B9">5- تجهيز اللانشر عند اللاعب</font></font></b><br />
<br />
بعد ما تجهّز نسخة النشر، انسخ الملفات المطلوبة إلى المجلد الرئيسي للكلاينت، وهو المجلد اللي موجود بداخله مجلد Env_DX9.<br />
<br />
<b>الملفات المطلوبة:</b><br />
<ul><li>scripthazemLauncher.exe</li>
<li>launcher.ini</li>
<li>مجلد themes</li>
</ul><br />
اتأكد إن اسم ملف EXE مطابق للاسم الفعلي الناتج من عملية النشر، وإن ملف الإعدادات والثيمات موجودين في المسارات اللي اللانشر متوقعها.<br />
<br />
بعد كده اعمل اختصار للانشر على سطح المكتب، واستخدمه بدل اختصار play.exe القديم.<br />
<br />
<b>نصيحة:</b> احتفظ بنسخة احتياطية من ملفات الكلاينت قبل تجربة أي تغييرات أو تحديثات جديدة.<br />
<br />
[HR][/HR]<br />
<br />
<b><font size="4"><font color="#2980B9">6- ربط اللانشر بسيرفرك عن طريق launcher.ini</font></font></b><br />
<br />
ملف launcher.ini هو الملف المسؤول عن مجموعة من إعدادات اللانشر، زي عنوان السيرفر ومنافذ الاتصال ومسار اللعبة والثيم واللغة.<br />
<br />
افتح الملف باستخدام Notepad، وابحث عن قسم Launcher.<br />
<br />
<b>الإعدادات الأساسية:</b><br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #007700">&#91;</span><span style="color: #0000BB">Launcher</span><span style="color: #007700">&#93;<br /></span><span style="color: #0000BB">UpdateUrl</span><span style="color: #007700">=<br /></span><span style="color: #0000BB">ServerIP</span><span style="color: #007700">=</span><span style="color: #0000BB">YOUR_SERVER_IP<br />LoginPort</span><span style="color: #007700">=</span><span style="color: #0000BB">16000<br />GamePort</span><span style="color: #007700">=</span><span style="color: #0000BB">5818<br />GameExe</span><span style="color: #007700">=</span><span style="color: #0000BB">Env_DX9</span><span style="color: #007700">\</span><span style="color: #0000BB">Conquer</span><span style="color: #007700">.</span><span style="color: #0000BB">exe<br />WorkingDir</span><span style="color: #007700">=</span><span style="color: #0000BB">Env_DX9<br />CloseOnPlay</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br />Theme</span><span style="color: #007700">=default<br /></span><span style="color: #0000BB">Language</span><span style="color: #007700">=</span><span style="color: #0000BB">ar&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div><b>شرح الإعدادات:</b><br />
<ul><li><b>UpdateUrl:</b> عنوان سيرفر التحديثات. سيبه فاضي لو مش هتستخدم نظام التحديثات.</li>
<li><b>ServerIP:</b> عنوان IP الخاص بالسيرفر، حسب طريقة فحص حالة السيرفر المستخدمة في المشروع.</li>
<li><b>LoginPort:</b> منفذ سيرفر الحسابات، والقيمة الافتراضية هنا 16000.</li>
<li><b>GamePort:</b> منفذ سيرفر اللعبة، والقيمة الافتراضية هنا 5818.</li>
<li><b>GameExe:</b> مسار ملف تشغيل اللعبة Conquer.exe.</li>
<li><b>WorkingDir:</b> مجلد العمل الخاص باللعبة.</li>
<li><b>CloseOnPlay:</b> القيمة 1 لإغلاق اللانشر عند بدء اللعب، والقيمة 0 لإبقائه مفتوحًا أو تصغيره حسب تنفيذ المشروع.</li>
<li><b>Theme:</b> اسم الثيم المستخدم، والافتراضي default.</li>
<li><b>Language:</b> لغة الواجهة، ar للعربية أو en للإنجليزية.</li>
</ul><br />
<b>إعداد فحص إغلاق اللعبة</b><br />
<br />
ابحث عن قسم SystemCheck، واضبط القيمة التالية:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #007700">&#91;</span><span style="color: #0000BB">SystemCheck</span><span style="color: #007700">&#93;<br /></span><span style="color: #0000BB">CrashWatchSeconds</span><span style="color: #007700">=</span><span style="color: #0000BB">3&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div><b><font color="#C0392B">مهم جدًا:</font></b><br />
<br />
القيمة CrashWatchSeconds مرتبطة بطريقة تشغيل اللعبة ومراقبة العملية داخل اللانشر.<br />
<br />
في هذا المشروع، ملف Conquer.exe ممكن يقفل نفسه بعد حوالي 5 ثوانٍ أثناء انتقال التشغيل إلى عملية اللعبة الفعلية. لو اللانشر بيراقب العملية الأولى فقط، ممكن يعتبر إغلاقها كراش بالخطأ.<br />
<br />
علشان كده، القيمة المقترحة في الإعدادات هي 3 ثوانٍ، وفقًا لسلوك التشغيل الموضّح للمشروع. لو بتعدّل على طريقة تشغيل اللعبة أو مراقبة العمليات، راجع الكود المسؤول عن اكتشاف الكراش قبل تغيير القيمة.<br />
<br />
[HR][/HR]<br />
<br />
<b><font size="4"><font color="#2980B9">7- تعديل اللانشر وإضافة ثيمات جديدة</font></font></b><br />
<br />
من مميزات تنظيم المشروع إنك تقدر تعدّل على النصوص والموارد والإعدادات من أماكن منفصلة.<br />
<br />
<b>أهم الملفات والمجلدات:</b><br />
<ul><li><b>Launcher\Lang.cs</b>: النصوص والترجمات المستخدمة في الواجهة.</li>
<li><b>themes\اسم_الثيم</b>: الصور والخطوط والموسيقى والموارد المرتبطة بكل ثيم.</li>
<li><b>Launcher\app.ico</b>: أيقونة البرنامج.</li>
<li><b>launcher.ini</b>: إعدادات اللانشر، بما فيها اسم الثيم وروابط التواصل، حسب الحقول المدعومة في المشروع.</li>
</ul><br />
<b>إزاي تعمل ثيم جديد؟</b><br />
<ol style="list-style-type: decimal"><li>افتح مجلد themes.</li>
<li>انسخ مجلد default.</li>
<li>غيّر اسم النسخة الجديدة، مثلًا إلى mytheme.</li>
<li>عدّل الصور والخطوط والموارد الموجودة داخله، مع الحفاظ على أسماء الملفات وبنيتها لو الكود بيعتمد عليها.</li>
<li>افتح launcher.ini وغيّر قيمة Theme إلى اسم الثيم الجديد.</li>
</ol><br />
مثال:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">Theme</span><span style="color: #007700">=</span><span style="color: #0000BB">mytheme&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>شغّل اللانشر واختبر الثيم الجديد، واتأكد إن جميع الصور والخطوط المطلوبة موجودة وإن مفيش ملفات ناقصة.<br />
<br />
<b>تعديل اسم السيرفر وروابط التواصل</b><br />
<br />
راجع launcher.ini وابحث عن حقول اسم السيرفر وروابط Facebook وDiscord وWebsite، وعدّلها وفقًا للإعدادات الموجودة فعلًا في نسخة المشروع عندك.<br />
<br />
[HR][/HR]<br />
<br />
<b><font size="4"><font color="#2980B9">8- سيرفر التحديثات PatchServer (اختياري)</font></font></b><br />
<br />
لو عايز تستخدم نظام التحديثات والأخبار والصيانة، هتحتاج إعداد وتشغيل PatchServer.<br />
<br />
أما لو مش محتاج تحديثات حاليًا، تقدر تسيب UpdateUrl فاضي وتتخطى الجزء ده، بشرط إن اللانشر بيسمح بالتشغيل من غير عنوان تحديثات.<br />
<br />
<img src="https://i.postimg.cc/NjSgRV2L/launcher-2-settings.png" border="0" alt="" /><br />
<br />
<div align="center"><font size="2"><font color="#808080">واجهة الإعدادات</font></font></div><br />
<b>أولًا: بناء PatchServer</b><br />
<br />
افتح Terminal داخل مجلد المشروع الرئيسي ونفّذ:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">dotnet&nbsp;build&nbsp;PatchServer</span><span style="color: #007700">\</span><span style="color: #0000BB">PatchServer</span><span style="color: #007700">.</span><span style="color: #0000BB">csproj&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">c&nbsp;Release&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>بعد نجاح البناء، شغّل PatchServer.exe من مجلد الإخراج الناتج عن البناء.<br />
<br />
<b>ثانيًا: إعداد PatchServer.ini</b><br />
<br />
افتح ملف PatchServer.ini واضبط إعدادات السيرفر، ومنها البورت ومجلد الملفات اللي هيتم تقديمها للاعبين.<br />
<br />
مثال:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #007700">&#91;</span><span style="color: #0000BB">Server</span><span style="color: #007700">&#93;<br /></span><span style="color: #0000BB">Port</span><span style="color: #007700">=</span><span style="color: #0000BB">8801<br />Root</span><span style="color: #007700">=..\..\</span><span style="color: #0000BB">www&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div><b>ملاحظة:</b> المسار Root بيتحدد بالنسبة لمجلد التشغيل أو حسب طريقة قراءة الإعدادات في البرنامج. اتأكد إن المسار النهائي بيشير إلى مجلد www الصحيح، وإن حساب التشغيل عنده صلاحية الوصول للملفات.<br />
<br />
<b>ثالثًا: فتح البورت في Windows Firewall</b><br />
<br />
لو السيرفر شغّال على Windows وعايز تسمح بالاتصالات الواردة على TCP port 8801، افتح CMD بصلاحيات Administrator ونفّذ:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">netsh&nbsp;advfirewall&nbsp;firewall&nbsp;add&nbsp;rule&nbsp;name</span><span style="color: #007700">=</span><span style="color: #DD0000">"PatchServer&nbsp;8801"&nbsp;</span><span style="color: #0000BB">dir</span><span style="color: #007700">=</span><span style="color: #0000BB">in&nbsp;action</span><span style="color: #007700">=</span><span style="color: #0000BB">allow&nbsp;protocol</span><span style="color: #007700">=</span><span style="color: #0000BB">TCP&nbsp;localport</span><span style="color: #007700">=</span><span style="color: #0000BB">8801&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>افتح البورت فقط لو محتاج اتصالات واردة من خارج الجهاز، ويفضّل تقييد الوصول حسب بيئة الاستضافة وسياسة الشبكة عندك.<br />
<br />
<b>رابعًا: ربط اللانشر بسيرفر التحديثات</b><br />
<br />
داخل launcher.ini عند اللاعب، اضبط UpdateUrl على عنوان السيرفر الفعلي:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">UpdateUrl</span><span style="color: #007700">=</span><span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//YOUR_SERVER_IP:8801/&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>استبدل YOUR_SERVER_IP بعنوان السيرفر أو اسم النطاق المستخدم عندك.<br />
<br />
لو بتستخدم دومين، تقدر تستخدم عنوان الدومين بدل IP، بشرط إن إعدادات الشبكة وDNS والمنفذ متوافقة مع طريقة تشغيل PatchServer.<br />
<br />
<b>خامسًا: إضافة تحديث جديد</b><br />
<br />
لما تحب تنشر تحديثًا:<br />
<ol style="list-style-type: decimal"><li>حط الملفات المطلوب تحديثها داخل www\files.</li>
<li>حافظ على المسارات النسبية الصحيحة للملفات داخل الكلاينت.</li>
<li>افتح نافذة كونسول PatchServer.</li>
<li>اكتب الأمر rebuild لإعادة إنشاء قائمة الملفات.</li>
<li>اختبر التحديث على نسخة تجريبية من الكلاينت قبل نشره للاعبين.</li>
</ol><br />
<b>أوامر كونسول PatchServer:</b><br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">rebuild&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">إعادة&nbsp;بناء&nbsp;قائمة&nbsp;الملفات&nbsp;بعد&nbsp;إضافة&nbsp;تحديث<br />status&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">عرض&nbsp;حالة&nbsp;السيرفر<br />crashes&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">عرض&nbsp;تقارير&nbsp;الكراش<br /></span><span style="color: #007700">exit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;</span><span style="color: #0000BB">إغلاق&nbsp;السيرفر&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div><b>سادسًا: الأخبار والصيانة</b><br />
<br />
بحسب تنظيم ملفات المشروع، مجلد www\data يحتوي على الملفات الخاصة بالأخبار وحالة الصيانة.<br />
<ul><li><b>news.json:</b> ملف الأخبار، ويمكن ترتيب الأخبار بحيث يظهر الأحدث أولًا، حسب طريقة قراءة البيانات داخل اللانشر.</li>
<li><b>status.json:</b> ملف حالة الصيانة. عند ضبط maintenance على true، يتم تعطيل زرار اللعب حسب سلوك الواجهة.</li>
</ul><br />
مثال توضيحي لحالة الصيانة:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #007700">{<br />&nbsp;&nbsp;</span><span style="color: #DD0000">"maintenance"</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">true<br /></span><span style="color: #007700">}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>ولإلغاء الصيانة، غيّر القيمة إلى false:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #007700">{<br />&nbsp;&nbsp;</span><span style="color: #DD0000">"maintenance"</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">false<br /></span><span style="color: #007700">}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>اتأكد إن بنية JSON مطابقة تمامًا للتنسيق اللي الكود بيقرأه، خصوصًا لو الملف بيحتوي على حقول إضافية.<br />
<br />
<img src="https://i.postimg.cc/s2W3mc59/launcher-3-maintenance.png" border="0" alt="" /><br />
<br />
<div align="center"><font size="2"><font color="#808080">واجهة الصيانة</font></font></div><br />
<b><font color="#C0392B">تنبيه مهم بخصوص ملفات اللعبة:</font></b><br />
<br />
ماتحطّش داخل www\files ملفات إعدادات محلية ممكن تتغيّر عند كل لاعب، زي:<br />
<ul><li>GUI.ini</li>
<li>GameSetUp.ini</li>
<li>Settings.ini</li>
</ul><br />
لو الملفات دي بتتغيّر تلقائيًا عند اللاعبين، فإن توزيع نسخ ثابتة منها مع كل تحديث ممكن يكتب فوق إعداداتهم المحلية، حسب طريقة تطبيق التحديث في المشروع.<br />
<br />
قبل ما تضيف أي ملف إلى نظام التحديثات، اتأكد إنه مناسب للتوزيع على جميع اللاعبين، واحتفظ بنسخة احتياطية من الملفات المهمة.<br />
<br />
[HR][/HR]<br />
<br />
<b><font size="4"><font color="#2980B9">9- أشهر المشاكل وطرق حلها</font></font></b><br />
<br />
<b>المشكلة الأولى: البناء بيفشل أو فيه Packages ناقصة</b><br />
<br />
الحل:<br />
<ul><li>افتح ملف CSProj باستخدام Visual Studio.</li>
<li>استنى لحد ما تنتهي عملية استعادة حزم NuGet.</li>
<li>اتأكد إن .NET SDK المطلوب مثبت.</li>
<li>راجع تفاصيل الخطأ في Output وError List.</li>
<li>جرّب البناء مرة تانية بعد معالجة الخطأ.</li>
</ul><br />
<b>المشكلة الثانية: رسالة إن رابط التحديثات فاضي</b><br />
<br />
الحل:<br />
<br />
لو مش محتاج نظام التحديثات، سيب UpdateUrl فاضي بشرط إن المشروع بيدعم الوضع ده. لو محتاج التحديثات، اضبط الرابط على عنوان PatchServer الصحيح.<br />
<br />
<b>المشكلة الثالثة: سيرفر الأخبار مش متاح</b><br />
<br />
الأسباب المحتملة:<br />
<ul><li>برنامج PatchServer مش شغّال.</li>
<li>عنوان UpdateUrl غير صحيح.</li>
<li>البورت 8801 غير متاح من خارج السيرفر.</li>
<li>جدار الحماية أو إعدادات الشبكة بتمنع الاتصال.</li>
<li>مجلد Root أو ملفات البيانات مش موجودة في المسار المتوقع.</li>
</ul><br />
ابدأ بالتأكد من تشغيل PatchServer وصحة الإعدادات، وبعدها اختبر الاتصال من الجهاز المستهدف.<br />
<br />
<b>المشكلة الرابعة: رسالة «اللعبة قفلت فجأة» رغم إن اللعبة شغّالة</b><br />
<br />
راجع إعداد CrashWatchSeconds وطريقة مراقبة عملية تشغيل اللعبة. القيمة المقترحة في هذا المشروع هي:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">CrashWatchSeconds</span><span style="color: #007700">=</span><span style="color: #0000BB">3&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>لو استمرت المشكلة، راجع هل اللانشر بيراقب عملية Conquer.exe الأولى فقط، ولا بيتابع عملية اللعبة الفعلية بعد انتقال التشغيل.<br />
<br />
<b>المشكلة الخامسة: زرار اللعب رمادي أو مقفول</b><br />
<br />
راجع حالة الصيانة داخل status.json.<br />
<br />
لو الصيانة منتهية، اتأكد إن القيمة مضبوطة على:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #DD0000">"maintenance"</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">false&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>كمان اتأكد إن اللانشر قدر يوصل إلى ملف الحالة وقرأ محتواه بنجاح.<br />
<br />
<b>المشكلة السادسة: التحديث الجديد مش بيظهر</b><br />
<br />
بعد إضافة الملفات إلى مجلد التحديثات، نفّذ الأمر التالي في كونسول PatchServer:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">rebuild&nbsp;<br /></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>بعدها اتأكد إن الملفات موجودة في المسارات الصحيحة، وإن اللانشر بيستخدم عنوان التحديثات الصحيح.<br />
<br />
<b>المشكلة السابعة: التأكد من إن PatchServer شغّال</b><br />
<br />
جرّب فتح الرابط التالي في المتصفح:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
	<div class="alt2">
		<hr />
		<code style="white-space:nowrap">
		<div dir="ltr" style="text-align:left;">
			<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//YOUR_SERVER_IP:8801/manifest.json&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code><!-- php buffer end -->
		</div>
		</code>
		<hr />
	</div>
</div>استبدل YOUR_SERVER_IP بعنوان السيرفر الفعلي.<br />
<br />
لو الملف مش بيفتح، راجع حالة البرنامج والبورت وإعدادات الشبكة ومسار الملفات. نجاح فتح الرابط بيعتمد على إن PatchServer بيقدّم manifest.json على المسار ده فعلًا.<br />
<br />
[HR][/HR]<br />
<br />
<b><font size="4"><font color="#2980B9">نصائح قبل نشر اللانشر للاعبين</font></font></b><br />
<ul><li>اختبر جميع الوظائف على نسخة تجريبية من الكلاينت.</li>
<li>اتأكد إن مسارات الملفات صحيحة على جهاز جديد.</li>
<li>اختبر وضع الصيانة وتشغيل اللعبة والتحديثات قبل النشر.</li>
<li>احتفظ بنسخة احتياطية من ملفات الكلاينت وملفات التحديثات.</li>
<li>راجع صلاحيات الوصول إلى سيرفر التحديثات، وما تنشرش ملفات إدارية أو بيانات سرية ضمن الملفات العامة.</li>
<li>لو هتستخدم HTTP عبر الإنترنت، فكّر في HTTPS والتحقق من سلامة ملفات التحديثات قبل تثبيتها.</li>
</ul><br />
<br />
<div align="center"><font size="5"><b><font color="#2980B9">روابط التحميل — Download</font></b></font><br />
<br />
<font size="3">اختر النسخة المناسبة لك من الروابط التالية:</font><br />
<br />
<a href="https://drive.google.com/file/d/11EdLQ2fNhTCfCzI-MWzPo7dFij9z07zb/view?usp=sharing" target="_blank"><b><font size="4"><font color="#27AE60">⬇ تحميل اللانشر الجاهز للتشغيل (Built Version)</font></font></b></a><br />
<br />
<font size="2">نسخة جاهزة للتشغيل دون الحاجة إلى بناء المشروع من السورس.</font><br />
<br />
<br />
<a href="https://drive.google.com/file/d/1NbOKjqmi898gAukfWMnNgExy5v6LbFUG/view?usp=sharing" target="_blank"><b><font size="4"><font color="#2980B9">⬇ تحميل السورس كود مفتوح المصدر (Open Source)</font></font></b></a><br />
<br />
<font size="2">للمبرمجين الراغبين في استكشاف الكود وتعديله وتطويره والبناء منه.</font><br />
<br />
<font size="2"><font color="#808080">روابط التحميل مستضافة على Google Drive</font></font></div><font size="5"><b><font color="#2980B9">في النهاية ❤️</font></b></font><br />
<br />
أتمنى يكون الشرح وضّح طريقة التعامل مع ScriptHazem Launcher، من فتح المشروع وبنائه إلى إعداده وربطه بسيرفر التحديثات.<br />
<br />
لو عندك سؤال أو اقتراح لتطوير المشروع، اكتبه في رد داخل الموضوع.<br />
<br />
<font size="3"><b>لو استخدمت اللانشر، يُرجى الحفاظ على الحقوق وذكر صاحب العمل ❤️</b></font><br />
<br />
<font size="3"><b><font color="#808080">تحياتي للجميع</font></b></font></div>

]]></content:encoded>
			<category domain="https://conquer-arab.com/forumdisplay.php?f=39">البرامج والودرات</category>
			<dc:creator>Hazem</dc:creator>
			<guid isPermaLink="true">https://conquer-arab.com/showthread.php?t=6986</guid>
		</item>
	</channel>
</rss>
