Agency-Phone: الهاتف الذكي المصمم خصيصًا لـ FiveM
لماذا يقدم Agency-Phone أكثر تجربة هاتف ذكي غامرة داخل اللعبة في FiveM، من هندسة التطبيقات إلى الأداء تحت الحمل.
Agency Scripts
المؤسس والمطور الرئيسي في Agency Scripts
عرض مباشر
جرّب Agency Phone في متصفحك، لا حاجة للتنزيل.
لماذا بناء هاتف FiveM آخر؟
قمنا ببناء Agency-Phone لأن كل هاتف جربناه على خوادمنا إما كان يبدو رائعًا وأداءه سيء، أو أداءه جيد وكان شكله قديم. السوق كان مليئًا بالمساومات. أردنا شيئًا يشعر حقًا كأنه هاتف ذكي حديث بمجرد فتحه، وما زال يحقق 0.00 مللي ثانية استخدام موارد في وضع الخمول عندما يكون في جيب شخص ما.
واجهة مستخدم لا تشعر بأنها FiveM
معظم هواتف FiveM تكشف عن أصلها خلال ثانيتين من فتحها. الخطوط تبدو غير دقيقة قليلاً، الحركات متقطعة، تخطيط الشاشة الرئيسية يبدو كأنه عنصر نائب. تم تصميم Agency-Phone من قبل أشخاص يستخدمون هواتف ذكية حقيقية يومياً. كل عنصر، من ساعة شاشة القفل إلى فيزياء درج التطبيقات، تم تكراره حتى توقف عن الشعور كأنه سكربت وبدأ يشعر كأنه هاتف.
هيكل التطبيق
تستخدم Agency-Phone تحت الغطاء نظام تطبيقات تحميل كسول. التطبيقات تهيئ واجهة المستخدم فقط عند فتحها فعليًا، مما يحافظ على استهلاك الذاكرة ثابتًا حتى مع إضافة المزيد من التطبيقات. ناقل الأحداث بين Lua العميل وطبقة NUI يتم تنظيمه بحيث لا تتسبب الإجراءات السريعة للمستخدم في زيادة مفاجئة في استهلاك الموارد. هذا نوع من العمل الهندسي الذي لا يراه أحد لكن الجميع يستفيد منه عندما يستضيف خادمهم 128 لاعبًا.
غير مرتبط بإطار بشكل افتراضي
Agency-Phone ships with adapters for QBCore and ESX but the core is framework-independent. If you run a standalone server with your own player data layer, you can wire it up in an afternoon by implementing four lookup functions. We refuse to ship scripts that lock you into one framework because frameworks churn, we've seen at least three waves of "this is the standard now" come and go in our time in the community.
The Point of a Phone in RP
هاتف FiveM هو في النهاية أداة اجتماعية. يستخدمه اللاعبون لتنسيق اللقاءات، وإجراء صفقات المخدرات، ومراسلة شخصية رئيسهم، والاستماع إلى الموسيقى عبر تطبيق الراديو. كل ما نضيفه أو نحذفه من Agency-Phone يُقاس بالسؤال: هل يجعل هذا التفاعل الاجتماعي أسهل أو أكثر متعة؟ لهذا السبب أطلقنا تطبيق المعرض قبل تذكيرات التقويم، ولماذا يحتوي تطبيق المراسلة الافتراضي على مؤشرات كتابة غنية قبل أن يحتوي على الإرسال المجدول. الدور أولاً، قوائم الميزات ثانيًا.
التثبيت & الإعداد
Agency-Phone requires oxmysql for contact, message, and call log persistence. Import phone.sql في قاعدة بياناتك، قم بتنزيل المورد من Tebex، وضعه في مجلد الموارد الخاص بك، وأضف ensure agency-phone إلى server.cfg. الكشف عن الإطار يتم تلقائياً لـ QBCore و ESX. للإعدادات المستقلة، قم بتنفيذ وظائف المحول الأربع في config.lua، عادة ما يستغرق ذلك ساعة أو ساعتين حسب طبقة بيانات اللاعب المخصصة لديك.
يفتح اللاعبون الهاتف بالضغط على مفتاح قابل للتكوين (الافتراضي: M) أو عنصر في جردهم. يتم دعم الطريقتين في نفس الوقت، بعض الخوادم تستخدم الاختصار، والبعض الآخر يفضل طريقة العنصر الغامر حيث يمكن إسقاط الهاتف أو سرقته.
خيارات التكوين
ال config.lua يغطي الإعدادات التقنية واللعبية:
- اختصار مفتاح الهاتف، المفتاح لفتح/إغلاق الهاتف. الافتراضي: M.
- الهاتف كعنصر، تبديل ما إذا كان عنصر الهاتف مطلوبًا في الجرد. الافتراضي: معطل (مفتاح فقط).
- تنسيق الرقم، كيفية عرض أرقام الهواتف وتوليدها تلقائيًا للشخصيات الجديدة.
- نطاق المكالمة، أقصى مسافة فعلية للمكالمات ضمن النطاق مقابل خارج النطاق (البريد الصوتي). الافتراضي: غير محدود للمكالمات داخل الشخصية.
- تكامل Twitter/LifeInvader، اتصل بـ Agency-LifeInvader إذا تم تثبيته للتطبيق الاجتماعي.
- تكامل تطبيق الراديو، قم بتكوين تدفقات الراديو المتاحة لتطبيق مشغل الموسيقى.
- تطبيق البنك، اتصل ببنك QBCore، حسابات ESX، أو معالج بنكي مخصص.
- تطبيق GPS، فئات نقاط الطريق المخصصة لمواقع محددة في الخادم (المستشفيات، مراكز الشرطة، الأعمال التجارية).
- توجيه الإشعارات، التي يمكن للسكريبتات الخارجية دفع الإشعارات إلى الهاتف وكيفية ظهورها.
توافق الإطار
Agency-Phone ships with QBCore and ESX adapters. The adapter covers money display, inventory item (if phone-as-item is enabled), job data for job-specific app visibility, and character name display. For standalone, the same four-function pattern applies. Once the adapter is written for one Agency script, subsequent scripts share the same functions.
لماذا هذا مهم للعب التمثيلي
الهاتف هو الدعامة الشخصية الأكثر خصوصية التي يحملها الشخصية. يتفاعل اللاعبون معه في كل جلسة، يجريون مكالمات، يرسلون رسائل نصية، يتحققون من رصيد البنك، ينظرون إلى الخريطة. عندما يشعر هذا التفاعل وكأنه هاتف حقيقي، تصبح جلسات التمثيل التي تتضمن استخدام الهاتف أكثر واقعية أيضاً. صفقة مخدرات منسقة عبر تطبيق الرسائل النصية في Agency-Phone، مع إيصالات القراءة ومؤشرات الكتابة، هي مشهد مختلف بشكل ملموس (وأفضل) من نفس الصفقة المنسقة عبر أمر الدردشة.
وظيفة التنسيق الاجتماعي هي الدور الأكثر أهمية في RP للهاتف. تبدأ معظم أحداث RP المهمة بالتواصل: يتواصل شخص ما، يرتب اجتماعًا، يوفر إحداثيات، يؤكد التوقيت. كل هذا التواصل يكون أكثر غمرًا عندما يحدث عبر قنوات داخل الشخصية بدلاً من Discord أو دردشة خارج الشخصية. تطبيقات الاتصال والرسائل النصية في Agency-Phone تغطي 95% من حاجة التنسيق الاجتماعي هذه بشكل أصلي.
استهلاك الموارد في وضع الخمول 0.00ms ليس مجرد ملاحظة تقنية، بل هو ما يجعل الهاتف قابلاً للاستخدام كمورد مفتوح دائمًا. السكربتات التي تستهلك 0.02ms في وضع الخمول على سيرفر بـ 128 لاعب تساهم بـ 2.56ms من الحمل الكلي في وضع الخمول عبر اللاعبين. مساهمة Agency Phone في استهلاك الخمول صفر. هذا مهم لأداء السيرفر بنفس الطريقة التي تؤثر بها أي موارد مشتركة: بشكل نسبي لعدد اللاعبين.
تطبيق المعرض في الإصدار 2 وقدرة التقاط الصور داخل اللعبة خلقا حالة استخدام غير متوقعة في RP: تصوير الأدلة داخل الشخصية. شخصيات الشرطة تلتقط صورًا لمواقع الجرائم بكاميرا الهاتف وتشاركها في دردشة القسم الداخلية. الصحفيون يصورون الأحداث وينشرونها على LifeInvader. الكاميرا تحول الهاتف من أداة اتصال إلى أداة توثيق مع تطبيق حقيقي في RP.
الأسئلة المتكررة
هل يمكن لأرقام الهواتف أن تبقى ثابتة عبر مسح الخادم؟
يتم تخزين أرقام الهاتف في oxmysql مقابل معرف الشخصية. طالما تم الحفاظ على معرف الشخصية عبر مسح البيانات، يستمر الرقم. معظم عمليات المسح تمس تقدم الشخصية لكنها تحافظ على المعرفات، لذا عادة ما تبقى الأرقام. بالنسبة للمسحات الكاملة التي تشمل إعادة تعيين المعرفات، يتوفر تصدير للحفاظ على الأرقام يحفظ/يستعيد رقم الشخصية بشكل منفصل عن المسح الرئيسي.
هل يمكن للشرطة تتبع المكالمات والرسائل في الوقت الحقيقي؟
نعم. فعّل نظام التتبع في config.lua. يمكن للشرطة الذين لديهم علامة الإذن المطلوبة فتح لوحة التتبع والبحث بالرقم. تظهر أصول المكالمات النشطة على الخريطة. تُخزن بيانات الرسائل (الوقت، زوج الأرقام) في جدول السجل ويمكن الوصول إليها عبر Agency-Admin. تتبع محتوى الرسائل الكامل معطل افتراضياً كخيار خصوصية مصمم، فعّله صراحة إذا دعمت قواعد RP في سيرفرك ذلك.
كيف يتعامل الهاتف مع المكالمات عندما يكون اللاعب ميتًا أو في الحجز؟
قم بتكوين حالة الوفاة وحالة التقييد في config.lua. يمكن تعيين اللاعبين المتوفين للانتقال مباشرة إلى البريد الصوتي، تعطيل الهاتف لديهم، أو السماح بالمكالمات الطارئة فقط. يمكن حظر اللاعبين المقيدين من استخدام الهاتف تمامًا أو تقييدهم على عرض GPS فقط (حتى تتمكن الشرطة من رؤية أنهم لا يتصلون بطلب دعم). يتم اكتشاف هذه الحالات عبر دوال مصدرة من سكريبتات شاشة الوفاة والتقييد الخاصة بك.
ما محطات الراديو المتوفرة في تطبيق الموسيقى؟
تتضمن قائمة المحطات الافتراضية ثمانية روابط بث إذاعي مجتمعية تغطي الأنواع الشائعة. أضف محطاتك الخاصة بإضافة روابط البث إلى Config.RadioStations. غالبًا ما تضيف الخوادم محطة راديو خاصة بها حيث يبث الموظفون أخبارًا داخل الشخصية. لا يوجد DRM أو تكامل مع خدمات البث، أي عنوان URL لبث صوتي متاح للعامة يعمل.
المتطلبات
- خادم FiveM (QBCore، ESX، أو مستقل)
- oxmysql
- حساب cfx.re مع ترخيص Agency-Phone صالح
- اختياري: Agency-LifeInvader (لتكامل تطبيق التواصل الاجتماعي)
- اختياري: Agency-Pad (لمزامنة البيانات عبر الأجهزة)