Skip to content

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

Troubleshooting

/status 12 says I am not allowed

يتم تشغيل فحص المسعف على السيرفر وفشل لواحد من أربعة أسباب:

  • وظيفتك غير موجودة في Config.Permissions.EditOthers، أو أن القائمة فارغة (مما يؤدي إلى تعطيل فحص اللاعبين الآخرين تماماً).
  • رتبة وظيفتك أقل من Config.Permissions.MinGrade.
  • أنت أبعد عن الهدف من Config.Permissions.MaxDistance (الافتراضي 3 متر) — وهذا يعيد رسالة "You are too far away."
  • كنت تتوقع مسار ACE ولكن Config.Permissions.UseAce لا يزال false.

"You cannot remove it before it expires"

تم وضع هذه الملاحظة عليك بواسطة مسعف وتم تفعيل Config.Permissions.LockStaffNotes. ستختفي تلقائياً عندما ينتهي المؤقت. يمكن للوظيفة المخولة إزالتها مبكراً فقط إذا كان Config.Permissions.StaffCanRemoveLocked يساوي true.

يعمل Clear all و /statusclear بنفس الطريقة — فهما يزيلان فقط ما يُسمح للمُستدعي بإزالته، ويحافظان على الإدخالات المقفلة.

The markers do not sit on the body

تتم إسقاط العلامات من إحداثيات العظام في كل إطار (frame)، لذلك يجب أن تتبع الـ ped بدقة.

  • offset في Config.BodyParts يتم عمداً عدم تطبيقه على العلامات — فهو موجود لرفع النص العائم داخل العالم بعيداً عن الجسم. لو طبقته على العلامات، لكانت كل نقطة تنجرف للأعلى.
  • لتعديل مكان علامة منطقة معين، أضف الخيار marker = { x = 0.0, y = 0.0, z = 0.04 } لذلك الجزء من الجسم فقط.
  • إذا كانت العلامات تبدو بطيئة أو متقطعة (laggy) على سيرفر مزدحم، فإن Config.Camera.HotspotRefresh هو إعدادك المناسب — وهو فاصل التحديث بالمللي ثانية، لذا فإن الرقم الأكبر يكون أقل تكلفة وأقل سلاسة.

The character is cropped, tiny or off-centre

اترك Config.Camera.AutoFrame = true وقم بتعديل هذه العناصر بدلاً من ذلك:

  • Fill — مقدار ارتفاع الشاشة الذي يشغله الجسم. قم بتقليله إذا كان الشخصية تبدو ضيقة.
  • VerticalNudge — القيم الموجبة تحرك الشخصية للأسفل على الشاشة، والسالبة تحركها للاعلى.
  • SideOffset — إلى أي مدى يتم دفع الـ ped لليسار حتى لا تغطيه اللوحة.
  • Fov — اجعله أقل لتشويه أقل، وأعلى لتناسب جزءاً أكبر من الجسم دون تحريك الكاميرا للخلف.

يتم قراءة Distance و Height فقط عندما يكون AutoFrame مضبوطاً على false.

Text clips into the clothing

ارفع قيمة z الخاصة بـ offset لجزء الجسم ذاك. يؤدي ذلك الإزاحة إلى تحريك النص داخل العالم فقط ولا يؤثر على اللوحة.

Nobody else can see my annotation

  • يجب أن يكونوا ضمن مسافة Config.Text.ViewDistance (6 متر افتراضياً).
  • إذا كان Config.Text.OnlyWhileAiming مفَعلاً، فلن يروها إلا أثناء الضغط باستمرار على زر التصويب.
  • تنتقل الملاحظات عبر bupaStatuses player statebag. إذا انضم لاعب في منتصف الجلسة ولم ير شيئاً على الإطلاق، فتأكد من أن oxmysql يعمل وأن وحدة التحكم (console) الخاصة بالسيرفر لا تظهر أي أخطاء في قاعدة البيانات.

"Character data is not loaded yet"

تعذر على السيرفر جلب معرف المواطن (citizen id) لهذا اللاعب. على QBox و QB-Core و ESX هذا يعني أن الشخصية لم تنتهِ من التحميل؛ يقوم المورد (resource) إعادة تحميل ملاحظات اللاعب عند QBCore:Server:PlayerLoaded و esx:playerLoaded.

Annotations come back after a restart

هذا مقصود — يتم تخزينها في MySQL مقابل معرف المواطن (citizen id) للشخصية ويتم إعادة تحميلها عند البدء. يتم حذف الملاحظات المنتهية الصلاحية بواسطة مؤشر التنظيف (sweep thread)، والذي يعمل كل Config.Duration.CleanupInterval ثانية (الحد الأدنى 10).

"Slow down a moment"

Config.Limits.WriteCooldown (الافتراضي ثانيتان) هو الفاصل الزمني لمنع السبام (anti-spam) بين عمليات الكتابة. اضبطه على 0 لتعطيله.

Other limits you may be hitting

Message Cause
Annotation limit reached Config.Limits.MaxPerPlayer (الافتراضي 4)
That body region already has an annotation Config.Limits.OnePerBodyPart هو true
Please write a valid annotation كان النص فارغاً بعد تقليم وإزالة <, >, ~
Invalid body region معرف جزء الجسم غير موجود في Config.BodyParts

قم بتفعيل Config.Debug أثناء عملية الإعداد. سيقوم طباعة سطر لكل عملية كتابة، يوضح الكاتب، والهدف، والمنطقة وما إذا كانت الملاحظة مقفلة أم لا.