توثيق Pulse Phone

الـ Frameworks

لـ Pulse Phone 1.4.2قراءة 8 دقائقآخر تحديث

3. خطوة بخطوة للـ framework الخاص بك

يجد الهاتف الـ framework الخاص بك بنفسه: es_extended أو qb-core أو qbx_core أو ox_core أو ND_Core أو vrp أو core الخاص بـ TMC. تحتاج فقط إلى Config.Framework في config/config.lua إذا كان أكثر من واحد يعمل، أو لـ framework مخصص.

الـ framework الخاص بك في لمحة

الـ Framework يُكتشف عبر العناصر البنك والنقد من المفيد معرفته
ESX Legacy es_extended يضيف Pulse عناصره إلى جدول items في ESX بنفسه (الـ inventory الافتراضي). على ox_inventory، الصق الكتلة التي يطبعها فحص بدء التشغيل حسابات ESX حسابات الشركات عبر سكربت الـ society لديك
QBCore qb-core يضيف Pulse عناصره إلى العناصر المشتركة في QBCore بنفسه (qb-، ps-، lj-inventory) أموال QBCore الرتب ذات isboss تدير الشركة
Qbox qbx_core (والبديل qb-core الخاص به يُحسب كـ Qbox، وليس كـ framework ثانٍ) الصق كتلة ox_inventory المطبوعة أموال Qbox يستخدم adapter الخاص بـ Qbox، وليس الخاص بـ QBCore أبدًا
ox_core ox_core الصق كتلة ox_inventory المطبوعة حساب الشخصية في ox_core؛ والنقد هو money في ox_inventory لا يوجد مؤشر دوام: الجميع يُعتبرون في الدوام
ND Core ND_Core الصق كتلة ox_inventory المطبوعة bank وcash في ND لا يوجد مؤشر دوام؛ ولا حسابات شركات
TMC ريسورس core الخاص به، يُتعرَّف عليه عبر كائن core الخاص بـ TMC كل عنصر يجب أن يكون في قائمة عناصر TMC: فحص بدء التشغيل يطبعها أموال TMC يعمل عبر الجسر المخصص، لا شيء لإعداده
vRP 2 vrp راجع قسم vRP محفظة vRP والبنك vRP 1 والنسخ المشتقة منه غير مدعومة
Standalone لا شيء مما سبق يعمل لا حاجة بنك الهاتف الخاص لسيرفرات الاختبار أو السيرفرات بدون framework
مخصص Config.Framework = 'custom' عبر الجسر الخاص بك عبر الجسر الخاص بك راجع "framework مخصص أو خاص بك"

فرض الـ framework

معظم السيرفرات لا تحتاج إلى هذا أبدًا. افرض الـ framework عندما يذكر سطر بدء التشغيل framework خاطئًا، أو عندما تكون نواتا framework مثبتتين وتعملان. أضف سطرًا واحدًا إلى server.cfg:

server.cfg
setr phone_framework qb
القيمة الـ Framework
esx ESX Legacy (es_extended)
qb QBCore (qb-core)
qbox Qbox (qbx_core)
ox ox_core
nd ND Core (ND_Core)
vrp vRP 2 (vrp)
tmc TMC (core)
standalone بدون framework: يحتفظ الهاتف بهويته وبنكه الخاصين
custom الجسر الخاص بك (راجع "framework مخصص أو خاص بك" أدناه)
auto مثل حذف السطر: Config.Framework هو من يقرر
  • له الأولوية على Config.Framework. أعِد تشغيل الهاتف بعد تغييره.
  • أسماء الريسورسات تعمل أيضًا: qbcore، qb-core، qbx_core، es_extended، ox_core. الكلمة التي لا يعرفها تُرفض: يوضح فحص بدء التشغيل ذلك وتبقى ميزات الأموال معطّلة.
  • qb على سيرفر يشغّل qbx_core يستخدم adapter الخاص بـ Qbox. وQbox يستجيب أيضًا كـ QBCore.
  • إذا لم يكن الـ framework الذي تفرضه قيد التشغيل، تبقى الهواتف على شاشة "not ready" حتى يعمل. ولا ينتقل الهاتف أبدًا إلى framework آخر من تلقاء نفسه.

تعدد الشخصيات (Multicharacter) يعمل على كل framework. Config.IdentityScope = 'character' (الافتراضي) يعطي كل شخصية هاتفها الخاص. و'player' يعطي هاتفًا واحدًا لكل حساب. اختر مرة واحدة: تغييره على سيرفر يعمل يترك كل الهواتف الموجودة خلفه.

إدارة الشركات (الدوام، والموظفون، والتوظيف، وحساب الشركة في تطبيق Services) تستخدم الشركات الموجودة في Config.Services في config/apps.lua. إذا كانت أسماء الوظائف لديك مختلفة عن الافتراضية (police، ambulance، mechanic، taxi، fire ...)، أضف وظائفك إلى قائمة job لتلك الشركة. ولاختيار رتب المدير بنفسك، أضف bossGrade = <n> إلى الشركة.

ESX Legacy

server.cfg
ensure oxmysql
ensure es_extended
# ... your ESX scripts, inventory, banking ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • العناصر: مع الـ inventory الافتراضي لـ ESX لا يوجد ما تفعله. يضيف الهاتف عناصره إلى جدول items في ESX عند بدء التشغيل، ويوضح الكونسول ما الذي أضافه. الملف config/items/esx.sql موجود إذا كنت تفضّل إضافتها بنفسك. ومع inventory آخر، راجع القسم 4.
  • الأموال: البنك هو حساب bank في ESX، والنقد هو حساب money.
  • الشخصية: يتبع الهاتف identifier اللاعب في ESX، لذا يعمل esx_multicharacter.
  • المدير: الرتبة المسماة boss تدير الشركة، ما لم تضبط bossGrade.
  • حسابات الشركات: esx_addonaccount / esx_society، أو سكربت بنك من القسم 7.

QBCore

server.cfg
ensure oxmysql
ensure qb-core
# ... qb-inventory and your other qb scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • العناصر: لا شيء للصق. يضيف الهاتف العناصر التي يحتاجها إلى العناصر المشتركة في QBCore عند بدء التشغيل، ويوضح الكونسول ما الذي أضافه. انسخ الصور من config/items/images/ إلى qb-inventory/html/images/؛ وفحص بدء التشغيل يذكر أي صورة ناقصة.
  • الأموال: bank وcash.
  • الشخصية: الـ citizenid، لذا يعمل qb-multicharacter.
  • المدير: الرتب التي فيها isboss = true في وظائفك، ما لم تضبط bossGrade.
  • حسابات الشركات: Renewed-Banking، أو qb-banking، أو qb-management الأقدم.
  • تعدد الوظائف (Multijob): مع تشغيل ps-multijob، تظهر وظائف اللاعب الأخرى في Services ونقرة واحدة تجعل الوظيفة نشطة.

Qbox

server.cfg
ensure oxmysql
ensure qbx_core
ensure ox_inventory
# ... your other Qbox scripts, in Qbox's own order ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • العناصر: يستخدم Qbox ox_inventory، الذي لا يمكنه أخذ العناصر من سكربت آخر. شغّل السيرفر مرة واحدة: يطبع فحص بدء التشغيل الإدخالات الناقصة، جاهزة للصق في ox_inventory/data/items.lua (القسم 4). والصور تذهب إلى ox_inventory/web/images/.
  • الأموال: bank وcash، عبر qbx_core.
  • الشخصية: الـ citizenid.
  • المدير: الرتب التي فيها isboss = true، ما لم تضبط bossGrade.
  • تعدد الوظائف (Multijob): مدمج. تظهر وظائف اللاعب الأخرى في Services.
  • qbx_core يستجيب أيضًا كـ qb-core. هذا طبيعي: الهاتف يعامل الاثنين كـ framework واحد.

ox_core

server.cfg
ensure oxmysql
ensure ox_core
ensure ox_inventory
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • العناصر: شغّل السيرفر مرة واحدة: يطبع فحص بدء التشغيل الإدخالات الناقصة، جاهزة للصق في ox_inventory/data/items.lua (القسم 4). والصور تذهب إلى ox_inventory/web/images/.
  • الأموال: البنك هو حساب الشخصية في ox_core. والنقد هو عنصر money في ox_inventory.
  • الشخصية: الـ charId.
  • الوظائف: مجموعات ox_core ليس فيها مؤشر دوام، لذا يتولى الهاتف حفظ الدوام بنفسه. إدارة الشركات (الموظفون، والتوظيف، والرتب) والـ valet غير متاحة على ox_core.

ND Core

server.cfg
ensure oxmysql
ensure ox_lib
ensure ND_Core
ensure ox_inventory
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • يُكتشف تلقائيًا عند تشغيل ND_Core. لفرضه: setr phone_framework nd.
  • العناصر: يستخدم ND ox_inventory. شغّل السيرفر مرة واحدة: يطبع فحص بدء التشغيل الإدخالات الناقصة، جاهزة للصق في ox_inventory/data/items.lua (القسم 4).
  • الأموال: bank الخاص بالشخصية في ND، وcash في ND (ox_inventory يُبقي عنصر money متطابقًا).
  • الشخصية: معرّف الشخصية في ND. ورقم الهاتف المعروض هو رقم ND نفسه عندما يكون للشخصية رقم.
  • الوظائف: وظيفة الشخصية ورتبتها في ND. لا يوجد في ND مؤشر دوام، لذا يُعتبر الجميع في الدوام. إدارة الشركات وحسابات الشركات والـ valet غير متاحة على ND Core.
  • الكراج: السيارات المملوكة تأتي من جدول nd_vehicles في ND.

vRP

vRP 2 فقط هو المدعوم (وليس vRP 1 أو النسخ المجتمعية المشتقة). يحمّل الهاتف إضافة صغيرة إلى vRP من bridge/frameworks/vrp/. لا شيء لنسخه.

server.cfg
ensure oxmysql
ensure vrp
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • العناصر: لا يوجد ملف عناصر لـ vRP، وvRP 2 لا يستطيع جعل العناصر قابلة للاستخدام للهاتف. أبقِ Config.Item.required = false (الافتراضي)، واضبط Config.Store.box = false حتى يسلّم المتجر الهواتف مباشرةً. يستخدم اللاعبون عناصر الشحن عبر /phonepack و/phonecable؛ ومع inventory خاص بـ vRP يحتاج ذلك أن يحمل اللاعب pulse_magpack وpulse_cable، لذا أضف العنصرين إلى قائمة عناصر vRP، أو اضبط Config.Charging.enabled = false.
  • الأموال: بنك vRP ومحفظته.
  • الشخصية: معرّف الشخصية في vRP.
  • الوظائف: إدارة الشركات والـ valet غير متاحة على vRP. يبقى تطبيق Garage فارغًا ما لم تربط سكربت كراج.

TMC

TMC مدمج. يتعرّف الهاتف على core الخاص بـ TMC بنفسه: بدون ريسورس إضافي، وبدون تغيير في config/config.lua (auto وtmc وcustom كلها تعمل).

server.cfg
ensure oxmysql
ensure core
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone

يُظهر فحص بدء التشغيل Framework: TMC.

  • العناصر: أضف عناصر Pulse إلى قائمة عناصر TMC بنفس الطريقة التي تضيف بها أي عنصر. الأسماء هي phone، pulse_magpack، pulse_magpack_max، pulse_cable، pulse_router، pulse_burner، pulse_buds، pulse_ringlight، pulse_wallet (يحتوي config/items/tmc.lua على الإدخالات)، ولعلب المتجر pulse_phone_box بالإضافة إلى واحد لكل تشطيب (pulse_phone_box_black ...). التسميات والأوزان والأوصاف موجودة في config/items/qb-core.lua، والصور في config/items/images/. العنصر غير الموجود في القائمة يُرفض، ويرى اللاعب "inventory full": وحينها يذكر الكونسول اسم العنصر. عنصر العلبة الناقص من القائمة لا يوقف البيع: يسلّم المتجر ذلك الهاتف بدون العلبة ويذكر ذلك في الكونسول. إذا لم تكن تريد العلب إطلاقًا، اضبط Config.Store.box = false.
  • الأموال: نقد الشخصية، وبنكها: ريسورس banking الخاص بـ TMC عندما يعمل (حسابها الشخصي)، وإلا فأموال البنك في النواة. إذا لم تكن أرقام الحسابات لديك بشكل BNK123456، اذكر اسم الحقل الذي يحمل رقم الحساب في config/config.lua: Config.Providers.tmcBankAccount = 'charinfo.account' (استخدم حقلك الخاص). يعرض Wallet شَرطة، وليس رقمًا مختلقًا أبدًا، عندما لا يمكن قراءة البنك.
  • الشخصية: الـ citizen id في TMC.
  • الوظائف: الوظيفة التي في الدوام (أو الأولى)، مع رتبتها وحالة الدوام.
  • كان لديك الموصّل المؤقت pulse_tmc؟ احذف ensure pulse_tmc واحذف ذلك المجلد. يذكّرك الكونسول ما دام يعمل.

Standalone (بدون framework)

server.cfg
ensure oxmysql
ensure pma-voice
ensure screenshot-basic
ensure phone
  • العناصر: لا حاجة. كل لاعب لديه هاتف وReserve وكابل.
  • الأموال: يحتفظ الهاتف ببنك خاص به. اللاعب الجديد يبدأ بـ 5000 (startingBalance في config/apps.lua).
  • الشخصية: licence اللاعب في Rockstar.
  • الوظائف والسيارات والمنازل: يحتفظ الهاتف بها بنفسه. املأها بأوامر الاختبار في القسم 9.

framework مخصص أو خاص بك

  1. اضبط Config.Framework = 'custom' في config/config.lua.
  2. أعطِ الهاتف جدول جسر بنفس شكل optional-developer-kit/custom_framework_bridge.lua: إما كـ Config.Providers.custom في config/config.lua، أو من ريسورس خاص بك باستخدام exports.phone:RegisterFrameworkBridge(MyBridge).
  3. المطلوب فقط هو GetCharacterId. إذا تركت دالة الاسم أو الوظيفة أو الـ licence أو قائمة المركبات/المنازل، يتصرف الهاتف كأن سيرفرك لا يملك هذه البيانات. وإذا تركت دالة أموال أو عناصر، يُرفض ذلك الإجراء: الهاتف لا يدفع أبدًا من بنك خاص به. يظهر تطبيق Bank فقط عندما يحتوي جسرك على GetBankBalance.
  4. إذا أُعيد تشغيل النواة لديك بينما يستمر الهاتف في العمل، استدعِ exports.phone:FrameworkRestarted() بمجرد أن تصبح النواة جاهزة.

يوضح bridge/frameworks/custom.lua كيف يستخدم الهاتف جدولك. لربط سكربتات خاصة أخرى (سكربت بنك أو كراج)، راجع optional-developer-kit/custom_provider_template.lua والـ Exports. القالبان موجودان في حزمة المطورين الاختيارية، zerodevscripts.com/downloads/PulsePhone-developer-kit.zip، وليس في مجلد الهاتف.

مترجمة من الإنجليزية. إذا تعارض أي شيء هنا مع الصفحة الإنجليزية، فالصفحة الإنجليزية هي الصحيحة. English