Agency-Elevator: جعل المباني متعددة الطوابق قابلة للاستخدام فعليًا
Agency-Elevator يحول أي مبنى في GTA V إلى مساحة متعددة الطوابق وظيفية مع الرسوم المتحركة المناسبة، الصوت، وروابط السكربت.
Agency Scripts
المؤسس والمطور الرئيسي في Agency Scripts
The Multi-Floor Problem in GTA V
يحتوي GTA V على مبانٍ شاهقة مذهلة المظهر، ومعظمها غير قابل للاستخدام فعليًا. التنقل بين الطوابق عبر التليبورتيشن يبدو رخيصًا ويكسر الانغماس. تتطلب طوابق MLO ديكورات داخلية مخصصة مكلفة ولا تزال عادةً تكسر الفيزياء عند الانتقالات. Agency-Elevator هو جوابنا: ميكانيكية مصعد حقيقية تشعر وكأنها مصعد، تعمل على أي مبنى، وتتصل بسلاسة في نظام سكربتات خادمك.
كيف يبدو الأمر صحيحًا
للمصعد ثلاث مراحل: رسوم دخول، صعود مع حركة كاميرا خفيفة وصوت محيط، وفتح الأبواب في الطابق الوجهة. تستغرق هذه التسلسل ست ثوانٍ، طويلة بما يكفي للشعور بالواقعية، وقصيرة بما يكفي لعدم الشعور بالانتظار. تصميم الصوت مهم: همهمة ميكانيكية ناعمة، رنين لطيف عند طابقك. نادرًا ما يلاحظ اللاعبون أيًا من ذلك بوعي، وهذا هو الهدف بالضبط.
تكوين المصاعد الجديدة
إضافة مصعد جديد يتطلب خمسة أسطر من الإعداد: إحداثيات الدخول، إحداثيات الوجهة لكل طابق، تسميات الطوابق، وظيفة اختيارية لفحص الأذونات. لا حاجة لتعديل MLO، ولا حيل تدفق الداخلية. الصق إحداثياتك، عيّن طوابقك، انتهى. قام مالكو الخوادم بإعداد مبانٍ مكتبية مكونة من 12 طابقًا في أقل من عشر دقائق.
التحكم في الوصول الذي يعمل فعلاً
الوصول إلى الطوابق بناءً على الوظيفة من الدرجة الأولى. اللوبي عام، الطوابق 5-10 تتطلب بطاقة مفتاح مدير المبنى، والبنتهاوس يحتاج إلى هوية شخصية محددة. هذه القواعد تُقيّم فورًا مقابل بيانات اللاعب في أي إطار عمل، دون انتظار استعلامات قاعدة البيانات التي قد تبطئ انتقال المصعد.
لماذا هو مفضل مستقل
Agency-Elevator is framework-agnostic out of the box. It doesn't care if you're running QBCore, ESX, or a standalone custom stack, the permission hooks are pluggable functions, not framework imports. This is why it's been one of our most downloaded scripts across all three communities.
التثبيت & الإعداد
Agency-Elevator has no database dependency for basic operation. Download from Tebex, drop the folder into your resources directory, and add ensure agency-elevator إلى server.cfg. تعريفات المصاعد، إحداثيات الدخول، وجهات الطوابق، التسميات، وقواعد الوصول، كلها موجودة في config.lua.
التكوين الافتراضي يأتي مع تعريفات مصاعد لعدة مبانٍ قياسية في GTA V (ردهة FIB، مدخل برج Maze Bank، مداخل المباني السكنية). استبدلها أو أضف إليها إحداثيات المباني المخصصة لخادمك. يستغرق تكوين كل تعريف أقل من خمس دقائق.
خيارات التكوين
ال config.lua يغطي سلوك المصعد والتحكم في الوصول:
- تعريفات المصعد، مصفوفة من المصاعد، كل منها يحتوي على اسم، وإحداثيات ومجال تفعيل الدخول، ومصفوفة من وجهات الطوابق.
- وجهات الطوابق، كل طابق له إحداثيات، تسمية عرض، ودالة وصول اختيارية.
- دالة الوصول ، دالة Lua لكل طابق تستقبل src اللاعب وتُرجع true/false. استخدم هذا للتحقق من شروط الوظيفة أو العنصر أو معرف الشخصية.
- مدة الانتقال، مدة استغراق رسوم الصعود/النزول بالمللي ثانية. الافتراضي: 6000 (6 ثوانٍ).
- صوت محيط، تبديل صوت الهمهمة الميكانيكية للمصعد وأصوات رنين الطوابق. الافتراضي: مفعّل.
- سلوك الكاميرا، ميل خفيف للكاميرا أثناء الانتقال لتأثير الحركة. الافتراضي: مفعّل، شدة قابلة للتعديل.
- نمط واجهة المستخدم، لوحة اختيار الطابق المرئية (بسيطة مقابل مفصلة مع أوصاف الطوابق).
توافق الإطار
Agency-Elevator is fully standalone by design. The access control functions in your config can call any framework's player data, QBCore, ESX, or custom. No framework imports live in the base resource. This is why it's been one of the most consistently downloaded Agency scripts across all three server communities: it works without any special setup regardless of your stack.
لماذا هذا مهم للعب التمثيلي
المساحة الرأسية هي واحدة من الأبعاد الأقل استخدامًا في GTA V RP. تحتوي الخريطة على العشرات من المباني الشاهقة المثيرة والديكورات الداخلية متعددة الطوابق. بدون مصاعد تعمل، تكون تلك المساحات إما غير قابلة للوصول أو يتم الوصول إليها من خلال انتقالات تكسر الانغماس. يفتح Agency-Elevator تلك المساحة الرأسية للعب الأدوار دون القطع المفاجئ للانتقال.
الانتقال الذي يستغرق ست ثوانٍ ليس مجرد حشو، بل هو وتيرة مقصودة. ركوب المصعد في التمثيل الدورى هي مشاهد صغيرة. محقق ومشتبه به، كلاهما يركبان إلى الطابق 12، لديهما ست ثوانٍ من القرب الإجباري. شركاء العمل الذين يركبون إلى اجتماع لديهم ست ثوانٍ من وقت المحادثة العرضي. هذه التفاعلات القصيرة هي نسيج RP، والمصعد العامل يخلقها بشكل طبيعي بدلاً من تخطيها.
طبقة التحكم في الوصول تمكّن بناء التمثيل الهرمي. برج شركات حيث اللوبي عام، والطوابق من 5 إلى 20 تتطلب بطاقة موظف، والطابق التنفيذي يتطلب شخصية محددة، هذه منظمة ذات هيكل مكاني. عندما يتطابق الوصول المادي مع الوصول التنظيمي، يصبح المبنى إقليمًا حقيقيًا داخل الشخصية وليس مجرد خلفية.
الداخلية المخصصة لـ MLO هي المكان الذي يقدم فيه هذا السكربت أكبر قيمة. يمكن لخادم يحتوي على MLO لقسم شرطة مخصص، أو MLO لمستشفى، أو منطقة أعمال ناطحات سحاب مخصصة أن يجعل كل طابق من تلك الداخلية متاحًا وقابلًا للتنقل دون أي حزم جديدة على جانب العميل لنطاقات البث. تنتقل المصاعد بين مناطق الداخلية الموجودة لتتكفل بالباقي.
الأسئلة المتكررة
هل يمكن للاعبين اثنين استخدام نفس المصعد في نفس الوقت للذهاب إلى طوابق مختلفة؟
نعم. تفاعل كل لاعب مع المصعد مستقل. إذا استدعى اللاعب A المصعد للطابق 5 واللاعب B استدعى المصعد للطابق 12 من نفس نقطة الدخول، تحدث الانتقالات على أجهزة كل لاعب في نفس الوقت. المصعد لا يمتلك سعة أو وقت انتظار محاكاة، هو انتقال لكل لاعب، وليس جسم مادي مشترك.
هل يمكننا إضافة مشغل NPC أو لوحة مفاتيح إلى المصعد؟
لا تتطلب منطقة الزناد أي عنصر محدد، فهي تعتمد على الإحداثيات. يمكنك وضع أي عنصر تريده عند إحداثيات الدخول (لوحة مفاتيح، مكتب استقبال، شخصية NPC) باستخدام أدوات وضع العناصر في خادمك. يتم تفعيل تفاعل المصعد عندما يدخل اللاعب نصف قطر الزناد، بغض النظر عما هو موجود فعليًا.
هل يعمل هذا مع المصاعد داخل موارد البث الداخلي المخصصة؟
نعم. إحداثيات الداخل تعمل بنفس طريقة إحداثيات الخارج في التكوين. تأكد من استخدام إحداثيات الفضاء الداخلي (التي تحصل عليها من التواجد داخل الداخل في اللعبة) بدلاً من إحداثيات المبنى الخارجي. إذا كان داخلك يستخدم معرف داخلي مخصص، أرسله في تعريف الطابق ويقوم Agency-Elevator بتحميل اللاعب في الداخل الصحيح عند الانتقال.
هل يمكن قفل المصعد بالكامل خلال أحداث RP معينة؟
استخدم exports['agency-elevator']:LockElevator(elevatorName, reason) من أي سكربت خادم. اللاعبون الذين يحاولون استخدام المصعد أثناء القفل يرون رسالة "غير متاح حاليًا". افتح القفل باستخدام exports['agency-elevator']:UnlockElevator(elevatorName). استخدم هذا للأحداث المبرمجة حيث يؤدي الوصول غير المسيطر عليه إلى الأرض إلى كسر المشهد.
المتطلبات
- خادم FiveM (أي إطار عمل أو مستقل)
- حساب cfx.re مع ترخيص Agency-Elevator صالح
- لا اعتماد على قاعدة بيانات للتشغيل الأساسي
- لا اعتماد على موارد خارجية