دليل شامل للمستخدم العربي لتحويل أكواد غش جهاز 3DS وتطبيقها على محاكي Citra للكمبيوتر.

ما هي الفكرة من هذا الشرح؟

تعتمد العديد من أكواد الغش لجهاز Nintendo 3DS على تنسيق Gateshark. في حين أن محاكي Citra يدعم الغش بشكل أصلي، إلا أنه في بعض الأحيان قد لا تعمل الأكواد المتقدمة بشكل صحيح، أو قد ترغب في البحث عن عناوين ذاكرة ثابتة (Static Offsets) لا تتغير مع كل تشغيل للمحاكي. هذا الشرح يوضح كيفية استخدام برنامج Cheat Engine لربط ذاكرة المحاكي بذاكرة اللعبة الأصلية، وحساب الفرق (Offset) لتشغيل أي كود Gateshark بنجاح.

المتطلبات اللازمة

لليدء، ستحتاج إلى الأدوات التالية مثبتة على جهازك:

الجزء الأول: تحويل كود Gateshark إلى كود Citra Memory

في هذا الجزء، سنأخذ كوداً جاهزاً ونجد العنوان المقابل له في ذاكرة محاكي Citra.

الخطوة 1: التجهيز

جد كود Gateshark جاهزاً للعبة التي تريدها (كلما كان الكود أبسط، كان ذلك أفضل). في مثالنا، سنستخدم كود "روبيات غير محدودة" (INF Rupees) للعبة Majoras Mask 3DS (US) Version 1.0:

10775318 000003E7

الخطوة 2: ربط Cheat Engine بالمحاكي

شغل محاكي Citra وابدأ اللعبة. بعد ذلك، افتح Cheat Engine وانقر على أيقونة الكمبيوتر (Select Process) واختر عملية محاكي Citra (citra.exe).

الخطوة 3: بدء البحث عن الكود في الذاكرة

سنستخدم Cheat Engine لإيجاد القيمة المقابلة للكود الأصلي في ذاكرة المحاكي. سنستخدم البنك في اللعبة للتحكم في قيمة الروبيات.

ابدأ بـ 12 روبية في اللعبة. في Cheat Engine، اضبط البحث على:

  • Value Type: 2 Bytes
  • Scan Type: Exact Value
  • تأكد من عدم تفعيل خيار Hex.

أدخل الرقم 12 واضغط على "First Scan".

الخطوة 4: تحديد تضييق البحث

الآن، غيّر عدد الروبيات في اللعبة (مثلاً، قم بإيداع 6 روبيات ليصبح لديك 6).

عُد إلى Cheat Engine وغيّر القيمة من 12 إلى القيمة الجديدة 6، ثم اضغط على "Next Scan".

الخطوة 5: تكرار التضييق حتى الوصول للنتيجة

كرر العملية: غيّر عدد الروبيات في اللعبة، عُد لـ Cheat Engine، أدخل القيمة الجديدة واضغط Next Scan. كرر هذا حتى يتبقى لديك عدد قليل جداً من المدخلات في القائمة اليسرى.

الخطوة 6: إكمال البحث والتحقق

انقر بزر الماوس الأيمن على الأكواد المتبقية واختر "Add selected addresses to the address list". في القائمة السفلية، انقر مزدوجاً على القيمة (Value) وتأكد من أنها تساوي عدد الروبيات الحالي، ثم قم بتغييرها إلى 99. إذا تغيرت الروبيات في اللعبة إلى 99، فقد وجدت العنوان الصحيح.

الخطوة 7: إيجاد عنوان كود Gateshark

اكتب العنوان الذي وجدته في Cheat Engine في المفكرة (Notepad). هذا هو عنوان ذاكرة Citra (Citra memory address).

الآن، خذ كود Gateshark الأصلي (من الخطوة 1) وقم بتغيير الرقم الأول في العنوان إلى "0".

كود Gateshark الأصلي:
10775318 000003E7

نأخذ العنوان فقط:
10775318

نغير الرقم الأول لصفر:
00775318

هذا هو عنوان ذاكرة 3DS الأصلي (3DS memory address) للروبيات. قم بلصقه أسفل عنوان Citra في المفكرة.

الخطوة 8: حساب فرق الذاكرة في Citra

الآن بعد أن أصبح لدينا العناوين، نحتاج إلى إيجاد الفرق بينهما (Offset). استخدم الآلة الحاسبة السداسية عشر وطرح عنوان 3DS من عنوان Citra.

ملاحظة: عنوان Citra يتغير في كل مرة تعيد فيها فتح المحاكي، لذا فإن الفرق الذي ستحسبه سيكون مختلفاً عن مثالي.

# حساب عنوان Citra الأساسي
// [الروبيات]
عنوان Citra: 280EB358
// ناقص
عنوان 3ds: 00775318
// يساوي
Difference: 27976040

// فرق الذاكرة في Citra
(عنوان 3ds) + 27976040

الخطوة 9: تحويل كود Gateshark إلى عنوان Citra واختباره

سنختبر الفرق الذي وجدناه باستخدام كود آخر (Fairy sword على الزر B في مثال Majora's Mask).

# اختبار
// [زر B: السيف الخيالي]
كود 3DS: 2077532A 0000004F
// أزل تعريف Gateshark (أول رقمين)
العنوان الخام: 0077532A
// أزل القيم
عنوان 3ds الخام: 0077532A
// فرق الذاكرة في Citra
(0077532A) + 27976040
// العنوان الجديد
عنوان Citra الجديد: 280EB36A

في Cheat Engine، اضغط على "Add address manually"، وأدخل العنوان الجديد الذي وجدته (280EB36A). سمِّ الكود، واختّر عدد البايتات بناءً على أول رقم من كود Gateshark الأصلي (من الخطوة 1):

  • 0 = 4 bytes
  • 1 = 2 bytes
  • 2 = byte

بما أن الكود الأصلي يبدأ بـ 2، سنختار Byte. اضغط OK، ثم فعّل الكود وغيّر القيمة إلى 4F. إذا نجحت، سيخرج السيف الخيالي عند الضغط على B.

الجزء الثاني: صنع كود Gateshark جديد ونشره

في هذا الجزء، سنستخدم Cheat Engine لإيجاد كود جديد تماماً، ثم نحوله لكود Gateshark قياسي لينشره ويستخدمه الآخرون.

الخطوة 10: البحث عن كود Citra وتحويله لـ Gateshark

سنبحث عن كود للسماح باستخدام الأدوات المحظورة في أي مكان (مثل قناع Fierce Deity خارج قتال الزعماء). في نسخة N64، كانت القيمة تتغير إلى FF للأدوات المحظورة، و 00 للأدوات القابلة للاستخدام.

ضع أداة قابلة للاستخدام على الزر X. في Cheat Engine، قم بعمل First Scan لقيمة محددة (Exact Value) مع تفعيل Hex بوضع 00. كرر Next Scan حتى يتوقف عدد النتائج عن التناقص.

الآن، غيّر الأداة على الزر X لأداة غير قابلة للاستخدام (Fierce Deity mask). القيمة ستصبح FF. غيّر القيمة في Cheat Engine إلى FF واضغط Next Scan حتى يتوقف العدد عن التناقص.

كرر العملية حتى يتبقى لديك مدخلان فقط (مثلاً: `280FE95A` و `280FE958`). أضف النتائج للقائمة السفلية. غيّر نوع المدخلات ليكون 4 بايت (4 bytes). قم بتفعيل الأكواد (علامة صح) وتغيير القيمة إلى 00000000. تحقق من اللعبة؛ يجب أن تكون قادراً على استخدام الأداة المحظورة الآن.

الآن، نحتاج لعكس العملية وحساب عنوان Gateshark الأصلي عن طريق طرح الفرق:

(280FE95A) - 27976040 = 78891A
(280FE958) - 27976040 = 788918

العناوين قصيرة، لذا نضيف أصفاراً في البداية لتصبح 8 خانات: `0078891A` و `00788918`. بما أننا نعدل بايتات (4 أو 8)، سنبقي الرقم الأول كـ "0".

أخيراً، نضيف القيم بعد العناوين:

0078891A 00000000
00788918 00000000

هذا هو كود Gateshark الجديد! قم بتجربته في خاصية Cheats المدمجة في Citra للتأكد.

متطلبات التشغيل (الموصى بها)

المتطلبالمواصفات التقنية
نظام التشغيلWindows 10/11 (64-bit)
المعالجIntel Core i5-6600K / AMD Ryzen 5 1600 or better
الذاكرة (RAM)8 جيجابايت أو أكثر
بطاقة الرسومياتNVIDIA GeForce GTX 1060 / AMD Radeon RX 580 or better

رغم أن العملية قد تبدو معقدة في البداية، إلا أنها تصبح سهلة جداً بعد تجربتها مرة أو مرتين. تذكر أن Cheat Engine أداة قوية تتيح لك العثور على عناوين ذاكرة ثابتة لا تتغير مع كل تشغيل للمحاكي.

شكراً لزيارتك، ونتمنى لك تجربة غش ممتعة ومفيدة ^_^