Barber shop
صالون حلاقة مُخرَج كمشهد سينمائي، بكاميرا يتحكم بها اللاعب فعلًا. الشخصية تدخل وتجلس، ويبدأ الحلاق عمله بينما تُؤطّر الرأسَ كاميرا مدارية. الشعر واللحية وطبقات الوجه ومجموعة تفاصيل البشرة كاملة، تراها معاينةً حية قبل أن تدفع دولارًا واحدًا.
ما الذي يفعله
تحكم كامل بالكاميرا
كاميرا مدارية مسطحة تدور حول عظمة الرأس، ويُؤخذ موضعها مرة واحدة، فلا تستطيع حركة المشهد المتزامن أن تجرّ التأطير معها. اسحب لتدور 360 درجة، مرّر العجلة للتقريب، واسحب عموديًا لتنزل من مستوى العينين حتى الحذاء. الحساسية وعكس المحور في `Config.Camera`.
المواصفات
التقنية
كل ما
تحصل عليه
-
خمسة عشر ملف لغة، مملوءة عند التسليم
لاعبوك يقرأون السكربت بلغتهم منذ أول تشغيل، والملفات خارج الـ escrow فتستطيع تصحيح أي سطر أثناء التشغيل. ملاحظة صريحة: هي مترجمة ومراجعة من طرفنا، لا مدققة من ناطقين أصليين للغات الخمس عشرة. أخبرنا بما يبدو ركيكًا في لغتك ونصححه.
-
سبعة bridges، ملف لكل واحد
الفريمورك والإشعارات والتفاعل والملابس والمخزون والزينة والتوافق. كل ملف يوثّق أهدافه، وما يكتشفه، وما يكلفك كل هدف. والكشف يجسّ الـ export الحقيقي لا حالة الريسورس، فالـ export المُعاد تسميته يتراجع بهدوء بدل أن ينهار عند الإقلاع.
-
كل ما يُضبَط يبقى مفتوحًا
المتاجر والأسعار وعلامات الخريطة وسلوك الكرسي وحساسية الكاميرا والإضاءة وعمق الميدان والجولة التعريفية والأصوات وكل الـ bridges. ملفات `config/*.lua` و`locales/*.lua` و`bridges/*.lua` خارج الـ escrow وقابلة للتعديل أثناء التشغيل.
-
تقرير تثبيت تلصقه في الدعم
`/avenida_barber_check` يطبع أي bridge اختير لكل فئة، وهل الجداول والأعمدة موجودة، وأي نسخة لعبة يشغّلها سيرفرك فعلًا. وهو يجيب عن أغلب أسئلة التكامل قبل أن تضطر إلى طرحها.
دليل الدمج
التثبيت
-
ضع السكربت
حمّل السكربت من حسابك على Tebex، وانسخ مجلد
avenida_barber/إلى مجلدresources، وأضفensure avenida_barberإلى إعداد السيرفر بعدensure oxmysql. -
نفّذ ملف SQL
نفّذ القسم [A] من
INSTALL.sqlعلى قاعدة بياناتك. القسم [B] مشروط، ورأس الملف يقول متى تحتاجه. -
راجع الإعدادات
افتح
config/config.lua. القيم الافتراضية تناسب أغلب السيرفرات، والسطر الوحيد الجدير بالمراجعة هوConfig.Locale. والأسعار والمتاجر وسلوك الكرسي في الملف المجاورconfig/barber.lua. -
تحقق من التكاملات
اضبط
Config.Debug = true، وأعد التشغيل، واقرأ الكونسول: سطر لكل فئة bridge يسمّي الهدف الذي اختير. أعده إلىfalseحالما تطابق الأسطر سيرفرك، فأوامر التشخيص التي يفتحها تكلّف تقطيعًا في الفريمات. -
امنح نفسك صلاحيات الإدارة
أضف
add_ace group.admin avenida_barber.admin allowإلى إعداد السيرفر، ثم نفّذ/avenida_barber_checkداخل اللعبة للحصول على التقرير الكامل.
البدء السريع
افرض تكاملًا بدل أن تكشفه
الكشف التلقائي يغطي أغلب السيرفرات، وهو يجسّ الـ export الحقيقي لا حالة الريسورس. وعلى سيرفر ذي تركيبة خاصة، افرض الهدف فيُتخطى الكشف كليًا.
-- config/config.lua
Config.Locale = 'en'
Config.UseOxLib = true
Config.Framework = 'auto' -- 'qbcore' | 'esx' | 'vrp' | 'standalone' | 'custom'
Config.Notif = 'ox_lib' -- 'qbcore' | 'esx' | 'ox_lib' | 'okok' | 'vrp' | 'chat' | 'custom'
Config.Interact = 'auto' -- 'avenida' | 'ox_target' | 'qb-target' | 'standalone' | 'custom'
Config.Clothing = 'auto' -- 'qb' | 'illenium' | 'fivem-appearance' | 'esx_skin' | 'vrp' | 'table' | 'custom'
Config.Camera = {
Sensitivity = 1.0, -- rotation, zoom and height, clamped to 0.1 - 5.0
InvertY = false,
}مرجع الـ API
exports عامة مرتّبة حسب المجال. كل صف يعرض توقيع الاستدعاء وما يفعله، لا كيف يفعله.
Client
GetHairbase
exports['avenida_barber']:GetHairbase() --> { c = collection, t = nameHash } | nilقاعدة الشعر التي يرتديها الـ ped الآن، أو nil إذا كانت قصّة الشعر لا تحتاج إليها. اقرأها قبل استدعاء
ClearPedDecorationsوأعدها بعده، فيحتفظ الشعر بتظليله بدل أن يصبح قبعة مسطّحة.GetTattoos
exports['avenida_barber']:GetTattoos() --> { { c, t }, ... }كل زخارف الوشم التي يملكها هذا السكربت على الـ ped. والحلاق يتقاسم خانة الزينة الوحيدة مع الوشم، وأي إعادة رسم تتجاهل هذه القائمة تمحو وشومًا دفع اللاعب ثمنها.
GetSkinData
exports['avenida_barber']:GetSkinData()الشخصية كما يحتفظ بها الحلاق في الذاكرة، بما في ذلك الشعر واللحية والحواجب وألوانها. وهي مفيدة لالتقاط المظهر قبل أن يتولّى زيّ الوظيفة الأمر.
ApplySkin
exports['avenida_barber']:ApplySkin(data, ped)يكتب مظهرًا كاملًا على ped. مرّر الـ ped الذي تريد تلبيسه، ويمكن أن يكون نسخة معاينة بدل اللاعب، فتستطيع المرآة أو شاشة اختيار الشخصية أن تعرض الوجه نفسه.
ApplyClothing
exports['avenida_barber']:ApplyClothing(data, ped, temporary)يطبّق جزء الملابس فقط ويترك الوجه والشعر دون تغيير. واضبط
temporaryعلى true لزيّ يجب ألا يُحفَظ في قاعدة البيانات، كزيّ السجن أو التنكّر.
وصفات
أمثلة جاهزة للنسخ واللصق للحالات الشائعة. ضعها في موردك، وعدّل القيم، وانشرها.
الكاميرا تدور حول الرأس، فقيم الارتفاع نفسها تصلح للاعب واقفًا وجالسًا. والارتفاع السالب ينزل على طول الجسم. والإضاءة وعمق الميدان هما ما يجعل الشخصية موضوع اللقطة، لا مجرد ped في غرفة مظلمة.
-- config/config.lua
Config.Camera = {
Sensitivity = 1.4, -- faster drag
InvertY = true,
}
Config.UI = {
Tutorial = true, -- first-run tour, replayable from the toolbar
Sounds = true,
Blips = true,
Timecycle = 'casino_brightroom',
TimecycleStrength = 1.0,
TimecycleFadeMs = 400, -- 0 makes it snap like a light switch
DofStrength = 0.1, -- false drops the per-frame SetUseHiDof call
DofPlanes = { 0.4, 0.7, 2.2, 4.5 },
}المتاجر في ملف مفتوح، مدخل لكل متجر، بحلاقه الخاص وأسعاره الخاصة. وإطفاء مشهد الكرسي يبقي الكاميرا والقائمة، ويتخطّى مشهد الدخول مشيًا.
-- config/barber.lua
Config.Barber.ChairScene = false -- menu opens on the spot
Config.Barber.Shops[9] = {
BarberPedModel = 's_m_m_hairdress_01',
Welcome = vec3(-1282.60, -1116.60, 6.99),
Blip = { sprite = 71, color = 4, scale = 0.7 },
}للـ ped خانة زينة واحدة للسيرفر كله. فإذا استدعى سكربتك `ClearPedDecorations`، اقرأ أولًا ما يملكه هذا السكربت وأعده بعدها، وإلا محوت قاعدة الشعر.
local hairbase = exports['avenida_barber']:GetHairbase()
local tattoos = exports['avenida_barber']:GetTattoos()
ClearPedDecorations(PlayerPedId())
-- your own decoration work here
if hairbase then
AddPedDecorationFromHashes(PlayerPedId(), hairbase.c, hairbase.t)
end
for _, dec in ipairs(tattoos) do
AddPedDecorationFromHashes(PlayerPedId(), dec.c, dec.t)
endالسكربت يطلق حدث client عند فتح القائمة وإغلاقها. استمع إليه بدل أن تفحص الحالة في حلقة، فهو الإشارة نفسها التي تستعملها معالجة الـ HUD المدمجة.
AddEventHandler('avenida_barber:client:uiStateChanged', function(hidden)
if hidden then
exports['myhud']:hide()
else
exports['myhud']:show()
end
end)استكشاف الأخطاء
- QBCore وESX وvRP، إضافة إلى وضع standalone لا يحتاج إلى أي فريمورك، وفرع `custom` في `bridges/framework.lua` لأي شيء آخر. الكشف يعمل عند الإقلاع ويجسّ الـ export الحقيقي. أما Qbox وox_core فلا فرع مخصص لهما: يمران عبر مسار standalone أو custom، لا عبر هدف مُختبَر.
- vRP يخزّن مكونات الملابس والإكسسوارات، ولا شيء غير ذلك. ولا حقل فيه لطبقات الرأس، ولا لملامح الوجه، ولا للون الشعر، ولا للون العينين، ولا لزينة الـ ped، لذلك تُحفَظ الشخصية كاملة على vRP في جدول هذا السكربت. ومع ذلك يبقى vRP يحصل على الشق الخاص بالملابس، ويُحدَّث مباشرة بعد أي تغيير. والنتيجة العملية: متجر المظهر الذي يأتي مع vRP لن يعرض عمل الحلاق، لأن vRP لا مكان لديه له. أما vRP 2 وvRP 0.5 فغير مدعومين، والسكربت يقول ذلك في الكونسول بدل أن يسيء التصرف بصمت.
- نعم، حيثما يهم الأمر: `ox_lib` للإشعارات عبر `Config.UseOxLib`، و`ox_target` لنافذة التفاعل، و`ox_inventory` لأغراض الملابس، وoxmysql بوصفه الاعتمادية الوحيدة التي لا غنى عنها. ولا شيء منها إلزامي عدا oxmysql، و`bridges/compat.lua` يوفّر البدائل بالـ natives حين يكون ox_lib مطفأ. أما ما لا فرع مخصص له فهو `ox_core` باعتباره فريموركًا: على سيرفر ox_core يعمل السكربت من دون فريمورك، أو عبر فرع `custom` في `bridges/framework.lua` إن أردت له أن يقرأ بيانات لاعبك.
- نعم، لهذا بُنيت. كل سكربت يملك نصيبه من خانة الزينة الوحيدة، ويعيد ما تملكه البقية بعد كل إعادة رسم. والممنوع هو تشغيل السكربتات المنفصلة وحزمة `avenida_skin` معًا: عندها يضع كل منهما علامته الخاصة ويكتب نسخته الخاصة من الشخصية نفسها. السكربت يكتشف التداخل ويقوله في الكونسول عند الإقلاع.
- قواعد الشعر مُقيَّدة بنسخة اللعبة. والتسريحة التي لا يستطيع عميلك عرضها لا تُدرَج عمدًا، لأن إدراجها يعرض على اللاعب خيارًا يظهر معطوبًا. نفّذ `/avenida_barber_check` لترى النسخة التي يشغّلها سيرفرك فعلًا.
- تتبع الرأس مرتبط بجلسة الكاميرا المدارية: الخيط يبدأ مع الكاميرا وينتهي معها. وهو يحتاج أيضًا إلى تركيز NUI، لأنه يقرأ المؤشر عبر `GetNuiCursorPosition`. وإذا استولى ريسورس آخر على الكاميرا، بقي التتبع مطفأً عن قصد.
- خمس عشرة لغة تصلك مملوءة، في مجلد `locales/` المفتوح. انسخ ملفًا، وترجم القيم، ووجّه `Config.Locale` إلى رمزك الجديد. و`en.lua` هو البديل لأي مفتاح تتركه، فالملف الناقص لا يُظهر عنوانًا فارغًا أبدًا.
- 0.00ms. نقاط التفاعل تتقاسم خيطًا واحدًا يهبط إلى ثانية حين لا يكون أحد قريبًا، والعلامات تُنشأ مرة واحدة، وكل خيط جلسة يُقتَل عند الخروج. وبين قصّة شعر وأخرى لا شيء يعمل.
ماذا يقول المشترون
5.0 16 تقييمات موثّقة
🐊 Benaz Spirit Roleplay Script de grande qualité, nos joueurs apprécient énormément ce barber shop. Ils s'en servent depuis plusieurs mois, il a été testé et éprouvé en conditions réelles sur notre serveur. Je recommande !
Vroum Rex Studio
CarniceroDeZaun Los Santos 2080
|| !xAyu♥ ||
𝕄𝕠𝕟𝕥𝕖ℂ𝕣𝕚𝕤𝕥𝕠 𝐕𝐀𝐋𝐄𝐍𝐓𝐈𝐍𝐄 𝐂𝐅𝐖
Leny.M Redstart V2 Un support au top !
eizrass il sont toujours la quand il faut exelent merci
Sauron Very good script and support
TCL-Server TCL RP Best support on this planet ...love u guys ❤
einfachFlo Very good script and support ❤
drantox Firma RP Very nice work and fast support!
Deichmann Thank you for the fast support.
Cougar Fanatic SAV RP had a big issue where the female hairs were causing my players to freeze - The Avenida Scripts team had a fix out to me by the next day! fantastic work!
Leny.M Redstart V2 quality scripts without the headache of configuration. It's very rare to find scripts that work the first time even with an AC or even a custom framework. Thanks Avenida Scripts
BigOppGrimeyy GangWrld NYC 10/10 again help me with a script that wasn't his and got it working this man is great at everything he does thanks again
FЦПKӨ Best script, best support, this is the best place to buy your scripts
مميز Avenida TeamCore Skin (3 in 1)
صالون حلاقة واستوديو وشم ومتجر ملابس في سكربت FiveM واحد. 1615 وشمًا، وكل مكوّنات الملابس وإكسسواراتها، ومجموعة الرأس والبشرة كاملة، موزّعة على 36 متجرًا. واجهة واحدة، وكاميرا واحدة، ومسار شراء واحد، وشيء واحد تثبّته على ESX أو QBCore أو vRP أو من دون فريمورك.
مميز Avenida TeamClothing store
متجر ملابس بأطقم محفوظة، وخزائن للشركات، ومحرر يسعّر الكتالوج من داخل اللعبة. كل مكوّنات الملابس وإكسسواراتها، تشتريها قطعة قطعة أو طقمًا كاملًا، مع سجل على السيرفر يمنع أحدًا من ارتداء ما لم يدفع ثمنه.
مميز Avenida TeamTattoo shop
كتالوج وشوم اللعبة كاملًا، مع سلة شراء وكرسي تجلس عليه فعلًا. 1615 تصميمًا موزّعة على 26 مجموعة DLC، تراها مباشرة على شخصيتك وأنت تضيفها، وتدفع ثمنها دفعة واحدة. إزالة بالليزر مشمولة، ورسّام يدخل ويؤدي العمل.