الباتل باس
الباتل باس مسار مكافآت موسمي. يكسب اللاعبون XP من الكونتستات ويستلمون المكافآت من صفحة Battle Pass في التابلت. وللكلانات مسار XP خاص يفتح خانات أعضاء إضافية.
إعدادات الموسم
Config.BattlePass = {
Enabled = true,
SeasonId = 'contest_season_2',
SeasonName = 'Contest Season 2',
EndsAt = 0,
ImageBase = 'auto',
MinParticipationSeconds = 120,
PositionSampleSeconds = 2,
RequestCacheSeconds = 2,
ClaimCooldownSeconds = 2,
RequestTimeoutSeconds = 15,
ClaimTimeoutSeconds = 30,
-- XP, ClanSlots, Tiers ...
}| الإعداد | الوصف |
|---|---|
Enabled | تشغيل أو إيقاف الباتل باس. |
SeasonId | مفتاح فريد للموسم يُحفظ مع كل التقدم والاستلامات. |
SeasonName | اسم الموسم الظاهر في الواجهة. |
EndsAt | وقت نهاية الموسم بصيغة Unix timestamp. القيمة 0 تعني بدون نهاية. |
ImageBase | مصدر صور المكافآت. 'auto' يستخدم مجلد صور الإنفنتوري. |
MinParticipationSeconds | الوقت الذي يجب أن يقضيه اللاعب في الزون ليُحسب مشاركًا. |
PositionSampleSeconds | كل كم ثانية يتحقق السيرفر من أماكن اللاعبين للمشاركة. |
RequestCacheSeconds | تخزين مؤقت لطلبات بيانات الباتل باس. |
ClaimCooldownSeconds | فترة الانتظار بين كل استلام. |
RequestTimeoutSeconds / ClaimTimeoutSeconds | مهلة الواجهة للطلبات والاستلام. |
بدء موسم جديد
- غيّر
SeasonIdلقيمة جديدة، مثال'contest_season_3'. - حدّث
SeasonName، وإذا أردتEndsAt. - أعد تشغيل السكربت.
التقدم يُحفظ حسب SeasonId، فيبدأ الجميع الموسم الجديد من 0 XP. بيانات المواسم القديمة تبقى في قاعدة البيانات.
TIP
احصل على Unix timestamp لقيمة EndsAt من unixtimestamp.com. مثال: 1798761600 تعني 1 يناير 2027 الساعة 00:00 UTC.
كسب الـ XP
XP = {
ContestParticipation = 100, -- for taking part in a contest
ContestWinBonus = 250, -- extra for the winning clan
ContestKill = 5, -- per kill
},| المفتاح | المعنى |
|---|---|
ContestParticipation | على المشاركة في الكونتست. |
ContestWinBonus | إضافي للكلان الفائز. |
ContestKill | لكل قتل. |
يمكن للمطورين أيضًا منح XP بالإكسبورتات AddBattlePassXP و AddClanBattlePassXP.
خانات الكلان
يبدأ الكلان بعدد Base من خانات الأعضاء، ويفتح المزيد كلما ارتفع مستواه في باتل باس الكلان، حتى Maximum.
ClanSlots = {
Base = 6,
Maximum = 15,
Unlocks = {
{ level = 1, slots = 7 },
{ level = 4, slots = 8 },
{ level = 7, slots = 9 },
{ level = 10, slots = 10 },
{ level = 13, slots = 11 },
{ level = 16, slots = 12 },
{ level = 19, slots = 13 },
{ level = 22, slots = 14 },
{ level = 25, slots = 15 },
},
},Config.MaxClanMembers يبقى هو الحد الأقصى المطلق.
مستويات المكافآت
كل مستوى يحتاج مجموع XP معين ويعطي مكافأة واحدة.
Tiers = {
{
id = 1,
requiredXP = 1000,
reward = { type = 'money', account = 'cash', amount = 5000, label = 'Cash', image = 'money.png' },
},
{
id = 2,
requiredXP = 2000,
reward = { type = 'item', item = 'pistol_ammo', amount = 40, label = 'Pistol Ammo', image = 'pistol_ammo.png' },
},
-- ...
},| الخاصية | الوصف |
|---|---|
id | رقم فريد للمستوى. لا تكرر الأرقام في نفس الموسم. |
requiredXP | مجموع الـ XP المطلوب لفتح المستوى. |
reward.type | 'money' أو 'item'. |
reward.account | للفلوس: cash أو bank. |
reward.item | للأيتمات: اسم الأيتم في الإنفنتوري. |
reward.amount | كمية الفلوس أو الأيتمات. |
reward.label | الاسم الظاهر في الواجهة. |
reward.image | اسم ملف الصورة في مجلد صور الإنفنتوري. |
المكافآت الافتراضية
| المستوى | XP | المكافأة |
|---|---|---|
| 1 | 1,000 | $5,000 كاش |
| 2 | 2,000 | 40× Pistol Ammo |
| 3 | 3,000 | 1× Armor |
| 4 | 4,000 | 2× Thermite |
| 5 | 5,000 | SNS Pistol |
| 6 | 6,000 | $10,000 كاش |
| 7 | 7,000 | 80× Pistol Ammo |
| 8 | 8,000 | 2× Armor |
| 9 | 9,000 | Security Card A |
| 10 | 10,000 | Pistol P220 |
| 11 | 11,000 | $20,000 كاش |
| 12 | 12,000 | 120× Pistol Ammo |
| 13 | 13,000 | 2× Thermite |
| 14 | 14,000 | 3× Armor |
| 15 | 15,000 | Pistol Mk II |
| 16 | 16,000 | $30,000 كاش |
| 17 | 17,000 | 180× Pistol Ammo |
| 18 | 18,000 | 2× Security Card A |
| 19 | 19,000 | 3× Thermite |
| 20 | 20,000 | Heavy Pistol |
| 21 | 21,000 | $50,000 كاش |
| 22 | 22,000 | 250× Pistol Ammo |
| 23 | 23,000 | 5× Armor |
| 24 | 24,000 | Pistol .50 |
| 25 | 25,000 | $75,000 كاش |
WARNING
كل أيتم في المكافآت (مثل weapon_p220 أو security_card_01) يجب أن يكون موجودًا في الإنفنتوري، وإلا سيفشل الاستلام.
