يُحكم على متجر الملابس بسؤال لا يطرحه أحد: ماذا يحدث حين يرتدي اللاعب شيئًا لم يدفع ثمنه قط؟
فريق Avenida، 24 أغسطس 2026
تفتح ملف إعداد، وتغيّر سعرًا، وتعيد تشغيل السيرفر. هذه هي الحياة اليومية مع متجر ملابس على FiveM، ولا داعي لأن تكون كذلك: محرّرنا يسعّر الكتالوج من داخل اللعبة، متجرًا متجرًا وقسمًا قسمًا، دون أن تقطع الاتصال عن أحد.
هذا يحلّ الجانب اليومي. ويبقى ما يقرّر استقامة اقتصادك، وهو ما لا يتكلم عنه أحد: لا شيء يمنع كلاينتًا معدّلًا من كتابة طقم لم يشترِه. يعرض المتجر سعرًا، ويضغط اللاعب، وتتوقف الحماية عند الواجهة. كتبنا avenida_clotheshops لحلّ هذه المشكلة، وهذا المقال يقول كيف، بالأرقام وبأسماء الملفات حتى تتحقق بنفسك.
ماذا يكسب سيرفرك من سكربت الملابس هذا؟
اقتصاد ملابس يستقيم، وكتالوج تضبطه دون أن تلمس الكود. يدخل اللاعب، ويجرّب، ويرى السعر تحت كل صورة، ويشتري قطعة واحدة أو طقمًا كاملًا. أما أنت فتفتح المحرّر داخل المتجر، فتغيّر سعرًا، أو تخفي قطعة، أو تحجزها لوظيفة، من داخل اللعبة، دون إعادة تشغيل.
| ما تركّبه | ما يتغيّر على سيرفرك |
|---|---|
| 21 متجرًا مضبوطًا مسبقًا، على العلامات الأربع في اللعبة | تغطي الخريطة يوم التركيب |
| محرّر كتالوج داخل المتجر | تسعّر وتحجب دون تعديل ملف ودون إيقاف السيرفر |
| سجل لما دفعه كل شخصية | لم يعد الكلاينت المعدّل قادرًا على ارتداء الملابس مجانًا |
| خزائن الشركات | توزّع الوظيفة أزياءها الرسمية دون أن يصل إليها أحد غيرها |
| الملابس كأغراض في المخزون، اختياريًا | تُباع السترة، وتُهدى، وتُسرق |
| 15 لغةً داخل اللعبة، مكتوبة بالكامل | يقرأ لاعبوك الواجهة بلغتهم منذ أول تشغيل |
ما الذي يجب أن يفعله سكربت ملابس FiveM؟
ستة أشياء، والثالث منها هو ما لا يعالجه أحد. على متجر الملابس أن يقدّم كتالوج اللعبة كاملًا، وأن يكتب في نظام المظهر الذي تشغّله أصلًا، وأن يرفض طقمًا لم يُدفع ثمنه، وأن يدير القطع التي تجرّ غيرها، وأن يُضبط دون إعادة تشغيل، وأن يرتبط بالفريمورك الذي تشغّله دون أن تعيد كتابة إعداداته.
| المعيار | ما يوفّره عليك هذا السكربت |
|---|---|
| تقديم الكتالوج كاملًا، بما فيه الـ props | لاعب رأى القطعة في مكان آخر ولا يجدها عندك |
| الكتابة في نظام المظهر الصحيح | طقم يُطبَّق ثم يختفي عند إعادة الاتصال |
| التحقق من الدفع على السيرفر | كلاينت معدّل يرتدي الملابس مجانًا |
| ربط القطع التي تأتي معًا | قطعة علوية بلا كمّيها، وفستان يترك الساقين مكشوفتين |
| الضبط دون إعادة تشغيل | إيقاف السيرفر من أجل تغيير سعر واحد |
| مشاركة خانة الزينة في الـ ped | طقم يمحو الوشوم، أو العكس |
كيف يغيّر اللاعب طقمه في FiveM؟
يدخل متجر ملابس ويفتح القائمة، بشرط أن يكون السيرفر قد ركّب واحدًا. تقدّم GTA V متاجرها فعلًا في الطور الفردي وفي الأونلاين، لكن سيرفر FiveM لا ينقلها من تلقاء نفسه: بلا سكربت مخصص، يبقى اللاعب بما اختاره عند إنشاء الشخصية.
وإذا كان هناك متجر على الخريطة، يقترب اللاعب من النقطة المعلّمة، ويؤكد، فتُفتح القائمة. يتصفّح الأقسام، ويجرّب القطع على شخصيته، ويرى السعر تحت كل صورة، ويدفع لكل قطعة أو للطقم كاملًا. وتُحفظ أطقمه، فيستدعيها لاحقًا دون أن يدفع مرة أخرى.
إن كنت لاعبًا لا صاحب سيرفر، فلا شيء يمكنك تركيبه بنفسك، كل ذلك يجري على السيرفر. وإن كان متجرك لا يعرض سوى نصف الكتالوج، أو كانت أطقمك تختفي عند إعادة الاتصال، فطاقم سيرفرك هو من يجب إخباره. هذا المقال مكتوب لهم.
لماذا يرتدي اللاعب ما لم يشترِه؟
لأن معظم السكربتات تتحقق من السعر في الواجهة، والواجهة تعمل على جهاز اللاعب. تعرض القائمة 1500 دولار، ويخصم السيرفر 1500 دولار، وكل شيء سليم ما دام اللاعب يمرّ عبر القائمة. أما الكلاينت المعدّل فيرسل أمر الارتداء مباشرة، دون أن يفتح المتجر أصلًا.
لذلك يحتفظ سيرفرنا بـ سجل لما دفعه كل شخصية، ويرفض أي كتابة ملابس تضع على الشخصية قطعة غير موجودة في ذلك السجل. هذا ليس تحققًا من الواجهة، بل تحققًا من البيانات المكتوبة.
وتمرّ المسارات الشرعية الثلاثة كلها عبر السجل نفسه: ارتداء قطعة مشتراة، وتطبيق طقم محفوظ، ولبس زيّ شركة. أما الشخصيات التي كانت موجودة قبل التركيب فتحتفظ بكل ما ترتديه أصلًا، وإلا أفرغت الترقية خزانة الجميع في اليوم الأول.
هذا الإعداد يمكن إيقافه، وإليك متى. Config.Clothes.RequireOwnership = false يعطّل السجل. وهو الخيار الصحيح إن كان سيرفرك يوزّع الملابس أصلًا بطريقة أخرى غير المتجر، كنظام غنائم أو مكافأة تكتب في المظهر مباشرة. فالسجل سيرفض تلك القطع، وستقضي لياليك في فكّ الحظر عن لاعبين شرعيين.
أي واجهة يحتاجها متجر ملابس FiveM؟
شبكة تعرض القطع، لا قائمة تسمّيها. هنا تحديدًا يغيّر حجم الكتالوج كل شيء: تحمل GTA V أكثر من ألف قطعة علوية لموديل شخصية واحد، وتطلب منك قائمة اللعبة الأصلية تمرير الأرقام دون أن ترى أبدًا ما تشتريه.
واجهتنا مكتوبة بـ Svelte 5، يقدّمها الريسورس نفسه بخطوطها: لا CDN، ولا يخرج شيء من كلاينت لاعبيك نحو طرف ثالث. والطلب الخارجي الوحيد الممكن هو ما تفعّله أنت بنفسك للصور المصغّرة، والقسم التالي مخصص له. وتحمل كل صورة سعرها ومصدرها، وتتبع الكاميرا القسم: افتح قسم الأحذية فتنزل إلى القدمين، كما في اللقطة الثانية. وتبقى مفاتيح التحكم بالكاميرا ظاهرة في الأسفل، التقريب، ودوران الشخصية، والارتفاع.
وتظهر حلقة سلسلة على القطع التي تجرّ غيرها. هذا هو ارتباط المكوّنات، وهو أكثف آلية في السكربت: قطعة علوية تفرض كمّيها، وفستان يخفي الساقين، وخوذة تفرض تسريحة شعر.
هل يمكن توزيع الملابس كأغراض في المخزون؟
نعم، والخيار معطّل افتراضيًا، لسبب تقني يستحق أن تعرفه قبل الشراء. مع Config.Clothes.GiveAsItems = true، يضع الشراء القطعة في المخزون بدل وضعها على الشخصية مباشرة. فيحملها اللاعب، ويرميها، ويعيد بيعها، ويستعملها كي يرتديها.
ويلزم لذلك مخزون يستطيع تخزين metadata على الغرض، لأننا نكتب فيها أي قطعة هي. يستطيع ذلك كل من ox_inventory وqb-inventory، أما مخزون ESX الأصلي فلا، إذ لا يحتفظ إلا باسم وعدد، ولا شيء غير ذلك. وغرض vRP مثله. فعلى هذين النظامين، اترك الخيار معطّلًا أو ركّب ox_inventory.
وتُعلَن الأغراض الأربعة عشر في قائمتك أنت، ولا نلمسها نحن. وهناك فخّ كلّفنا وقتًا وهو موثّق: بدون consume = 0، يأكل ox_inventory القطعة عند أول ارتداء. وstack = false لا يقلّ عنه أهمية، لأن سترتين ليستا السترة نفسها، ودمجهما في كومة واحدة سيخلط الـ metadata الخاصة بكل منهما.
هل عليك استضافة صور الملابس بنفسك؟
نعم إن أردتها، ونفضّل قول ذلك قبل الشراء لا بعده. السكربت لا يأتي بأي حزمة صور. افتراضيًا، قيمة Config.Clothes.Images.Enabled هي false والشبكة تعرض صورًا مرقّمة. واللقطتان على هذه الصفحة أُخذتا مع استضافة مفعّلة، وإلا لرأيت أرقامًا.
توجّه BaseUrl نحو استضافتك الخاصة فتجلب الواجهة الصور من هناك، بالصيغة <sex>/<section>/<number>_<piece>_<variant>.webp، مثلًا https://cdn.example.com/clothes/male/tops/11_42_0.webp. والسبب هو نفسه في بقية سكربتاتنا: هذه الصور رسوم لملابس اللعبة، وإعادة توزيعها مع ريسورس مدفوع أمر لن نقوم به.
والوضع المرقّم ليس حلًّا احتياطيًا. إن كان سيرفرك يحمّل حزم ملابس add-on، تبقى الصور المرقّمة صحيحة بينما لن تغطي حزمة الرسوم قطعك المخصصة أبدًا: ستجد مربعات فارغة في وسط الشبكة. وعلى سيرفر مليء بالمودات، يكون الوضع الافتراضي غالبًا هو الخيار الصحيح، لا الخيار الأرخص فحسب.
ماذا تكسب حسب نظام المظهر لديك؟
الكتالوج كاملًا، وعلى vRP تكسب أكثر مما يستطيعه الفريمورك وحده. السكربت يكتب في ريسورس المظهر الذي تشغّله أصلًا. داخليًا نشتغل بصيغة qb-clothing ونحوّل عند الإخراج، لكل target على حدة.
| نظامك | ما تكسبه |
|---|---|
qb-clothing، جدول خاص | الكتالوج كاملًا. هذه هي الصيغة الأصلية للسكربت. |
illenium-appearance، fivem-appearance | كل شيء، إلا أن اللون الثاني في overlay ثنائي اللون يعود إلى اللون الأساسي، لأن مخططهم لا يحمل سوى لون واحد. |
esx_skin | الـ overlays والمكوّنات. أما الـ props، الساعة والسوار، فليست في هذا المخطط ويحتفظ بها السكربت على حدة. |
vRP | أكثر مما يستطيعه vRP وحده. ليس لدى vRP مكان يخزّن فيه شعر الشخصية ووجهها، فيتولى السكربت المظهر كاملًا. |
ESX وQBCore وvRP وstandalone: ما الذي يتغير فعلًا؟
لا شيء بالنسبة إليك، وهذا هو المقصود. يُكشف الفريمورك عند الإقلاع عبر 9 ملفات bridge مفتوحة، ملف لكل نقطة تماس: الفريمورك، والإشعارات، والتفاعل، والمظهر، والمخزون، والزينة، والصورة، والتوافق، وvRP. كل ملف يوثّق أهدافه، وما يكشفه، وما تكلّفك كل target.
والكشف يسبر الـ export نفسه، لا مجرد كون الريسورس مشتغلًا. فالنسخة التي أُعيدت فيها تسمية export تتراجع بهدوء بدل أن تسقط عند الإقلاع، ويمكنك دائمًا فرض الـ target إن أخطأ التخمين.
وما لا يغطيه ذلك، ونقوله في الكونسول: vRP 2 وvRP 0.5 غير مدعومين. vRP 2 فريمورك آخر احتفظ بالاسم، وProxy الخاص بـ 0.5 ليس له قناة رد.
ما الجديد في متاجر ملابس FiveM في 2026؟
الكتالوج الكامل لم يعد ورقة رابحة، صار الحد الأدنى. وما يفرّق بين متاجر الملابس في 2026 يعود إلى 3 نقاط: ما تستطيع ضبطه دون إعادة تشغيل، وما يحدث حين يكذب الكلاينت، وطريقة ارتباط القطع بعضها ببعض.
آخر نسخة نشرناها هي 1.2.0. هذه الصفحة تتابع النسخ: حين يتطوّر الريسورس، يتحرك التاريخ في أسفل المقال، ويقول السجل ما الذي تغيّر.
ملاحظاتنا نحن، في ثلاث نقاط تتجاوزها صفحات البيع
ملف الإعدادات تكتبه اللعبة، لا أنت
يضم ملف config/clothes_overrides.lua 4644 إعدادًا، ويُعاد توليده بالكامل عند كل حفظ من المحرّر. فأي تعديل يدوي فيه يضيع عند الحفظ التالي، وهذا مكتوب في رأس الملف. أما التغييرات الدائمة فتذهب إلى الملفات الثلاثة المجاورة، الأسعار والحجب وVIP.
ويقول هذا التوزيع ما يفعله السكربت فعلًا: 2274 ارتباطًا بين المكوّنات، و933 سعرًا، و848 تسريحةً تتبدّل تحت قناع أو خوذة، و265 قطعةً محجوزةً للوظائف، و92 حقيبةً تحمل سعة تخزين حقيقية، و38 رأسًا مصغّرًا تحت قناع.
المحرّر مقفل مرتين، لا مرة واحدة
يشترط صلاحية ACE وConfig.DevMode.Enabled، ويُعاد التحقق من الصلاحية على السيرفر عند كل حفظ. فمنح نفسك الحق داخل اللعبة لا يكفي إن كان الوضع مطفأً، وإطفاء الوضع لا يكفي إن بقيت الصلاحية قائمة. وConfig.Debug إعداد ثالث، منفصل، لا يتحكم إلا في السجلات.
المتجر يرفض أن يُفتح على شخصية متنكّرة
إن كان سيرفرك يضع اللاعبين في ped آخر، حيوان أو تنكّر أو فعالية، فالسكربت يرفض فتح المتجر ما داموا فيه. فبدون ذلك، سيُحفظ ما يغيّرونه على الشخصية الخاطئة. وتربط ريسورس التنكّر الخاص بك عبر export، في bridges/compat.lua.
قائمة التحقق قبل شراء سكربت ملابس
| ما تتحقق منه | الجواب المنتظر |
|---|---|
| هل يرفض السيرفر طقمًا لم يُدفع ثمنه؟ | نعم، وإلا لن يستقيم الاقتصاد |
| هل يمكن تغيير سعر دون إعادة تشغيل؟ | نعم، من داخل اللعبة |
| هل القطع التي تأتي معًا مرتبطة؟ | نعم، ويجب أن تكون القائمة مفتوحة |
| هل الملابس كأغراض في المخزون ممكنة؟ | نعم، مع مخزون يخزّن metadata |
| هل خزائن الشركات منفصلة؟ | نعم، وإلا وصل إليها الجميع |
| هل تُتقاسَم خانة الزينة في الـ ped؟ | نعم، وإلا راحت الوشوم |
| هل ملفات الإعداد واللغات والـ bridges خارج الـ escrow؟ | نعم، وإلا لن تعدّل شيئًا |
أسئلة متكررة
كم متجرًا مضبوطًا مسبقًا يأتي معه؟
21 متجرًا، على العلامات الأربع في اللعبة، Binco وSuburban وPonsonbys ومتاجر الأقنعة والحقائب. لكل واحد نقطة تفاعله، وبليبه، وطريقة الدفع فيه، وضريبته، وخصمه، في ملف إعداد مفتوح.
هل أستطيع التسعير بشكل مختلف حسب المتجر؟
نعم، وحسب القسم أيضًا. توجد 3 أوضاع لكل قسم: تعرفة موحّدة، أو تعرفة تكبر مع الرقم، أو جدول سعرًا سعرًا. ثم تُطبَّق ضريبة وخصم على السلة، لكل متجر على حدة.
هل يمكن أن تصير الملابس أغراضًا في المخزون؟
نعم، 14 غرضًا تعلنها في مخزونك أنت. ويلزم ox_inventory أو qb-inventory: مخزون ESX الأصلي وأغراض vRP لا تخزّن metadata، فلا تستطيع أن تتذكر أي قطعة هي. وهناك فخّ يستحق المعرفة، فبدون consume = 0 يأكل ox_inventory القطعة عند أول ارتداء.
هل تحتاج إلى ريسورس مظهر بجانبه؟
لا، لكنها الحالة الأكثر شيوعًا. إن كان لديك واحد، فالسكربت يكتب فيه ويبقى هو مالك الشخصية. وإن لم يكن لديك أي واحد، فـ Config.ManagePlayerSkin يجعله يحتفظ بالشخصيات في جدوله الخاص. ولا تشغّل الاثنين معًا أبدًا. والتوثيق يغطي التركيب والـ exports.
كم لغةً داخل اللعبة تأتي معه؟
15 لغةً، مكتوبة بالكامل وقابلة للتعديل. هذه هي اللغات التي يراها لاعبوك، ولا تُخلط باللغات الست لهذا الموقع. نحن من يترجمها ويراجعها، لا ناطق أصلي بكل واحدة من الخمس عشرة، ونفضّل كتابة ذلك.
سكربتات ملابس أخرى في السوق
للتوضيح، هذه بعض الأسماء التي ستصادفها أثناء البحث. القائمة ليست شاملة إطلاقًا، ولا نضع روابط لأي منها، وكل واحد تجده باسمه.
illenium-appearance · fivem-appearance · rcore clothing · vms_clothing · qb-clothing
ما يفصلها عن سكربتنا ليس الكتالوج، فهي تملكه أيضًا. بل إن عددًا منها أنظمة مظهر كاملة، أي جيران لا منافسون: نحن نكتب فيها. وإن كان سيرفرك يبحث أولًا عن منشئ شخصيات لا عن متجر، فهي مصمّمة لذلك، ولا ندّعي العكس.
المصادر
كل ما يؤكده هذا المقال مصدره ملفات تستطيع قراءتها بنفسك، قبل الشراء وبعده:
- ملف
README.mdالخاص بالريسورس، لملفات الـ bridge التسعة، وللأغراض الأربعة عشر، ولجدول التوافق؛ - ملف
config/clothes_shops.lua، للمتاجر الـ 21 ولأوضاع التسعير الثلاثة؛ - ملف
config/clothes_overrides.lua، للـ 4644 إعدادًا التي تستطيع عدّها؛ - ملف
fxmanifest.lua، لـescrow_ignoreولملفات اللغة الخمسة عشر.
هذه الملفات الأربعة خارج الـ escrow. وخانة الزينة المشتركة، التي يعيدها هذا السكربت عند كل إعادة رسم، هي نفسها التي يكتب فيها avenida_barber وavenida_tattoo. ولقطات هذه الصفحة من النسخة 1.2.0، أُخذت في 24 أغسطس 2026.
سجل هذه الصفحة
- 24 أغسطس 2026 · النشر الأول، على
avenida_clotheshops1.2.0.
سؤال عن مخزون لم ندرجه، أو ارتباط مكوّنات ناقص، أو fork من vRP؟ الديسكورد هو المكان، ومن يجيب هو المطوّر الذي كتب السكربت.



