واجهة برمجة تطبيقات استخدام العنصر
يستخدم سكربت dream_vending نظامًا مركزيًا (DreamCore.Items) لتحديد كيفية تأثير العناصر على اللاعب عند الاستخدام. تتيح لك هذه الواجهة تعيين تأثيرات للعناصر مثل الشفاء، والرسوم المتحركة، أو تأثيرات بصرية مثل السكر.
🔧 الاستخدام
لجعل العنصر قابلًا للاستخدام بتأثيرات، قم بتعريفه في جدول DreamCore.Items بوظيفة use:
DreamCore.Items = {
  ['mocha'] = { -- هذا هو اسم العنصر كما هو معرف في نظام العناصر الخاص بك (على سبيل المثال، mocha، water، burger)
    use = function(playerId)
      TriggerClientEvent('dream_vending:client:ApplyItemEffects', playerId, {
        -- يتم تمرير التأثيرات كقائمة (مصفوفة) من الجداول.
        { type = 'addArmor', amount = 2 }, -- سيرتدي اللاعب 2 درعًا أولاً
        { type = 'drinkAnim', prop = 'ng_proc_coffee_01a' } -- بعد الدرع يشرب
      })
    end
  },
  
  -- أضف المزيد من العناصر ;)
}
💡 ملاحظة: إذا كان سكربت آخر يدير العنصر، ببساطة لا تقم بتضمينه في
DreamCore.Items.
⚙️ أنواع التأثير المدعومة
أدناه قائمة بقيم type المدعومة لحدث dream_vending:client:ApplyItemEffects:
🩺 addHeal
زيادة صحة اللاعب.
{ type = 'addHeal', amount = 10 }
💔 removeHeal
تقليل صحة اللاعب.
{ type = 'removeHeal', amount = 10 }
🛡️ addArmor
زيادة درع اللاعب.
{ type = 'addArmor', amount = 10 }
💥 removeArmor
تقليل درع اللاعب.
{ type = 'removeArmor', amount = 10 }
🍔 eatAnim
تشغيل رسم تحركي للأكل. يمكن تعيين ملحق اختياري.
{ type = 'eatAnim', prop = 'prop_cs_burger_01' }
🥤 drinkAnim
تشغيل رسم تحركي للشرب. يمكن تعيين ملحق اختياري.
{ type = 'drinkAnim', prop = 'prop_ecola_can' }
🍻 drunk
تطبيق تأثير بصري وحركي للسكر.
المعلمات الاختيارية:
- intensity(float): قوة اهتزاز الكاميرا
- veryDrunk(boolean): تغيير نمط المشي
{ type = 'drunk', intensity = 1.0, veryDrunk = true }
⏱️ تأثيرات مؤجلة
يمكنك تأخير تأثير باستخدام المعلمة timeout (بالميلي ثانية):
{ type = 'addHeal', amount = 10, timeout = 3000 }
💡 نصائح
- يمكنك تجميع تأثيرات متعددة في عنصر واحد.
- حاول البقاء واقعيًا: الويسكي يحتوي على مزيد من الكحول من مجرد بينا كولادا.
- استخدم الأدوات الموجودة في GTA V (على سبيل المثال، prop_ecola_can،ng_proc_coffee_01a، إلخ).
- ترغب في تأثيرات مخصصة؟ أضف معالجة جديدة لـ effectTypeإلى حدثApplyItemEffects(تحتاج إلى شراء النسخة المصدرية).