Skip to content

استكشاف الأخطاء وإصلاحها

Troubleshooting

Nothing happens at a pump

تحقق من Config.Interaction. إذا كنت تستخدم 'target'، يجب أن يكون لديك نظام تارجت قيد التشغيل — مثل ox_target أو qb-target أو qtarget — ويكون Config.Interaction مضبوطاً على 'auto' أو الاسم الصحيح. إذا لم تقم بتشغيل أي منها، اضبط Config.Interaction = 'textui' وسوف تعود المضخات، والشواحن، ونقطة الإدارة تلقائياً إلى عرض زر التفاعل [E].

إذا ظهر التفاعل ولكن رفض الاستجابة، فمن المحتمل أن نموذج (Prop) المضخة يقع خارج نطاق radius الخاص بالمحطة. قم بتفعيل Config.Debug — حيث سيقوم برسم النطاقات على الشاشة.

A custom station MLO has pumps that do nothing

يتم التعرف على المضخة من خلال نموذجها (Model). قم بإضافة النموذج إلى Config.PumpProps وتأكد من أنه يتواجد داخل إحداثيات coords/radius الخاصة بالمحطة.

The engine refuses to fuel

إعداد Config.Refuel.HoldEngineOff = true يمنع التزود بالوقود إذا كان المحرك قيد التشغيل. قم بإطفاء السيارة، أو اضبط القيمة إلى false.

Using the jerry can does nothing

يجب تسجيل العنصر كعنصر قابل للاستخدام (Usable) قبل أن يتمكن السكريبت من التعرف عليه.

  • في ox_inventory، يحتاج الإدخال إلى client = { export = 'bupa-fuel.useJerryCan' }.
  • في QBox و QB-Core و ESX، يقوم السكريبت بتسجيل المعالج بنفسه؛ ويحتاج العنصر فقط إلى useable = true.
  • يجب أن تطابق اسم العنصر Config.JerryCan.Item تماماً وبأحرف صغيرة (Lower case).

لا تقم باستبداله بـ weapon_petrolcan — فهو سلاح ولن يعمل مع أي من هذه الإعدادات.

Two jerry cans merged into one

العنصر قابل للدمج (Stackable). قم بتعيين stack = false في ox_inventory أو unique = true في المخزونات التي تعتمد نظام qb. تحمل كل عبوة مستوى وقود خاص بها، لذا فإن دمجها سيؤدي إلى دمج كميتين مختلفتين في خانة واحدة.

Every car spawns nearly full / nearly empty

هذا يعود إلى إعداد Config.Consumption.SpawnFuel. إنه النطاق الذي يتم تحسيبه عشوائياً لكل مركبة يتم إنتاجها، وهو العامل الأكبر في تحديد مدى تكرار زيارة اللاعبين للمضخة. قم خفض القيمة لجذب حركة المرور إلى المحطات، أو ارفعها لتجعل الوقود أمراً ثانوياً لا يركز عليه اللاعبون كثيراً.

Fuel drains far too fast

قم بتخفيض جدول Config.Consumption.Rpm بالكامل — حيث أن تقسيم كل قيمة إلى النصف سيضاعف عمر الوقود مع الحفاظ على الفروق بين المركبات كما هي. إذا كان الأمر يتعلق بمركبات معينة فقط، فذلك يعود إلى Config.Consumption.Rate الخاصة بفئتها؛ حيث تم ضبط فئات المركبات الصناعية (3.0)، المروحيات (3.5)، والطائرات (4.0) لتستهلك بشكل أكبر عن قصد.

A vehicle never needs fuel

تمتلك فئة هذه المركبة خزاناً بقيمة 0 في Config.Consumption.Tank. الدراجات الهوائية (13) والقطارات (21) تأتي بهذه الإعدادات عمداً. قم بمنح الفئة حجماً للخزان لتبدأ باستهلاك الوقود.

An electric car cannot be filled at a pump

صحيح. أي مركبة موجودة في Config.VehicleFuel.Electric تعمل فقط عند الشواحن. إذا كانت المحطة لا تحتوي على حقل charger فللن تتمكن من خدمة السيارات الكهربائية نهائياً — قم بإضافة واحد، أو توجيههم إلى مكان آخر.

A station's tanks are always full and it has no dashboard

هذه محطة عامة — purchasable = false. تحتفظ المحطات العامة بخزانات ممتلئة بشكل دائم، وتتخطى نظام المخزون والتوصيلات، ولا يمكن امتلاكها. تحقق مما إذا قام أحد المسؤولين بتغيير حالتها عبر /fueladmin؛ يتم حفظ هذا التعديل لكل محطة على حدة ويتجاوز إعدادات الكونفج (Config).

/fueladmin says I am not allowed

قم بمنح صلاحية الـ Ace التالية:

cfg
add_ace group.admin bupa.fuel allow

أو قم بإضافة معرف رخصتك (License) إلى Config.Admin.Developers، أو أضف اسم مجموعة المسؤولين الخاصة بك إلى Config.Admin.AdminGroups. قم بتفعيل Config.Debug وسيقوم فحص الصلاحيات المرفوضة طباعة اسم اللاعب ومعرّفه في وحدة تحكم السيرفر (Console).

Customers pay but the owner gets nothing

تذهب الأموال إلى بنك المحطة فقط إذا كانت المحطة مملوكة. المبيعات في المحطات غير المملوكة والمحطات العامة تختفي، وهذا أمر مقصود.

Fuel level resets or desyncs between players

مستوى الوقود مخزن في حقيبة حالة (State Bag) المركبة التي تسمى fuel. إذا كان هناك سكريبت آخر يقوم بالتعديل عبر SetVehicleFuelLevel، فسوف يحدث تعارض بينهما. قم بإزالة سكريبت الوقود الآخر — تشغيل سكريبتين معاً لن ينجح أبداً.

The station bank went negative or blank

هذا مستحيل. يتم رفض القيم التي تتجاوز Config.AntiCheat.MaxAmount، ويتم إعادة ضبط الرصيد التالف إلى الصفر عند قراءته. إذا اختفى الرصيد، تحقق من سجل صفحة البنك لمعرفة ما خرج ومتى.

Item pictures are blank in the interface

تأتي هذه الصور من مجلد صور المخزون الخاص بك، ويتم اكتشافها تلقائياً. إذا كنت تستخدم نسخة معدلة (Fork) باسم مختلف، قم بتوجيه السكريبت إليها مباشرة:

lua
Config.UI.ImagePath = 'nui://my-inventory/web/images/'

Version check prints an error

يقوم السكريبت بإرسال طلب إلى GitHub لمعرفة الإصدار الحالي عند التشغيل. يعني خطأ HTTP هنا أن سيرفرك لم يتمكن من الوصول إلى raw.githubusercontent.com — بسبب جدار حماية (Firewall) أو انقطاع مؤقت. هذا لا يؤثر على أي وظيفة يؤديها السكريبت؛ بل يقوم الفحص بالطباعة في الكونصول والمتابعة بشكل طبيعي.