توثيق Pulse Phone
الـ Frameworks
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:
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
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
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
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
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
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/. لا شيء لنسخه.
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 كلها تعمل).
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)
ensure oxmysql
ensure pma-voice
ensure screenshot-basic
ensure phone- العناصر: لا حاجة. كل لاعب لديه هاتف وReserve وكابل.
- الأموال: يحتفظ الهاتف ببنك خاص به. اللاعب الجديد يبدأ بـ 5000 (
startingBalanceفيconfig/apps.lua). - الشخصية: licence اللاعب في Rockstar.
- الوظائف والسيارات والمنازل: يحتفظ الهاتف بها بنفسه. املأها بأوامر الاختبار في القسم 9.
framework مخصص أو خاص بك
- اضبط
Config.Framework = 'custom'فيconfig/config.lua. - أعطِ الهاتف جدول جسر بنفس شكل
optional-developer-kit/custom_framework_bridge.lua: إما كـConfig.Providers.customفيconfig/config.lua، أو من ريسورس خاص بك باستخدامexports.phone:RegisterFrameworkBridge(MyBridge). - المطلوب فقط هو
GetCharacterId. إذا تركت دالة الاسم أو الوظيفة أو الـ licence أو قائمة المركبات/المنازل، يتصرف الهاتف كأن سيرفرك لا يملك هذه البيانات. وإذا تركت دالة أموال أو عناصر، يُرفض ذلك الإجراء: الهاتف لا يدفع أبدًا من بنك خاص به. يظهر تطبيق Bank فقط عندما يحتوي جسرك علىGetBankBalance. - إذا أُعيد تشغيل النواة لديك بينما يستمر الهاتف في العمل، استدعِ
exports.phone:FrameworkRestarted()بمجرد أن تصبح النواة جاهزة.
يوضح bridge/frameworks/custom.lua كيف يستخدم الهاتف جدولك. لربط سكربتات خاصة أخرى (سكربت بنك أو كراج)، راجع optional-developer-kit/custom_provider_template.lua والـ Exports. القالبان موجودان في حزمة المطورين الاختيارية، zerodevscripts.com/downloads/PulsePhone-developer-kit.zip، وليس في مجلد الهاتف.