From 087585216deba7bbf7efdb4d66fc3a5c76a506dd Mon Sep 17 00:00:00 2001 From: thefourCraft Date: Wed, 28 Dec 2022 23:01:35 +0200 Subject: [PATCH 001/148] Hebrew V0.0.1 --- [esx]/es_extended/locales/he.lua | 365 ++++++++++++++++++++++++ [esx]/esx_identity/locales/he.lua | 39 +++ [esx]/esx_multicharacter/locales/he.lua | 29 ++ [esx]/esx_skin/locales/he.lua | 6 + [esx]/skinchanger/locales/he.lua | 101 +++++++ 5 files changed, 540 insertions(+) create mode 100644 [esx]/es_extended/locales/he.lua create mode 100644 [esx]/esx_identity/locales/he.lua create mode 100644 [esx]/esx_multicharacter/locales/he.lua create mode 100644 [esx]/esx_skin/locales/he.lua create mode 100644 [esx]/skinchanger/locales/he.lua diff --git a/[esx]/es_extended/locales/he.lua b/[esx]/es_extended/locales/he.lua new file mode 100644 index 000000000..21fbd56b4 --- /dev/null +++ b/[esx]/es_extended/locales/he.lua @@ -0,0 +1,365 @@ +Locales['he'] = { + -- Inventory + ['inventory'] = 'אינבנטורי ( משקל %s / %s )', + ['use'] = 'להשתמש', + ['give'] = 'לתת', + ['remove'] = 'לזרוק', + ['return'] = 'Return', + ['give_to'] = 'לתת ל', + ['amount'] = 'כמות', + ['giveammo'] = 'לתת תחמושת', + ['amountammo'] = 'כמות תחמושת', + ['noammo'] = 'לא מספיק!', + ['gave_item'] = 'נותן %sx %s ל %s', + ['received_item'] = 'קיבלתם %sx %s מ %s', + ['gave_weapon'] = 'נתן %s ל %s', + ['gave_weapon_ammo'] = 'נתן ~o~%sx %s ל %s בשביל %s', + ['gave_weapon_withammo'] = 'נותן %s עם ~o~%sx %s ל %s', + ['gave_weapon_hasalready'] = '%s כבר יש אצל %s', + ['gave_weapon_noweapon'] = 'ל %s אין את הנשק הזה', + ['received_weapon'] = 'קיבלתם %s מ %s', + ['received_weapon_ammo'] = 'קיבלתם ~o~%sx %s עבור %s מ %s', + ['received_weapon_withammo'] = 'קיבלתם %s אם ~o~%sx %s מ %s', + ['received_weapon_hasalready'] = '%s רצה להביא את %s, אבל כבר יש לך', + ['received_weapon_noweapon'] = '%s ניסה לתת לך תחמושת עבור %s, אבל כבר יש לך את הנשק הזה', + ['gave_account_money'] = 'נותן $%s (%s) ל %s', + ['received_account_money'] = 'קיבלתם $%s (%s) מ %s', + ['amount_invalid'] = 'כמות לא חוקית', + ['players_nearby'] = 'אין שחקנים סמוכים', + ['ex_inv_lim'] = 'לא יכול לבצע פעולה, מעבר למשקל המקסימום של %s', + ['imp_invalid_quantity'] = 'לא יכול לבצע פעולה, הכמות אינה תקפה', + ['imp_invalid_amount'] = 'לא יכול לבצע פעולה, הסכום אינו תקף', + ['threw_standard'] = 'זורק %sx %s', + ['threw_account'] = 'זורק $%s %s', + ['threw_weapon'] = 'זורק %s', + ['threw_weapon_ammo'] = 'זורק %s אם ~o~%sx %s', + ['threw_weapon_already'] = 'יש לך כבר את הנשק הזה', + ['threw_cannot_pickup'] = 'האינבנטורי שלך הוא מלא, אי אפשר להרים את זה!', + ['threw_pickup_prompt'] = 'לחץ על E לאיסוף', + + -- Key mapping + ['keymap_showinventory'] = 'הצג אינבנטורי', + + -- Salary related + ['received_salary'] = 'שילמו לך: $%s', + ['received_help'] = 'קיבלתם כסף מהרווחה: $%s', + ['company_nomoney'] = 'החברה שאתה עובד בה עניים מכדי לשלם את המשכורת שלך', + ['received_paycheck'] = 'קיבלתם משכורת', + ['bank'] = 'בנק מזוז', + ['account_bank'] = 'בנק', + ['account_black_money'] = 'כסף שחור', + ['account_money'] = 'מזומן', + + ['act_imp'] = 'לא יכול לבצע פעולה', + ['in_vehicle'] = 'לא יכול לבצע פעולה, השחקן נמצא ברכב', + + -- Commands + ['command_bring'] = 'לשגר שחקן למיקום שלך', + ['command_car'] = 'שיגור רכב', + ['command_car_car'] = 'דגם רכב או קוד גיבוב', + ['command_cardel'] = 'מחיקת כלי רכב בקרבת מקום', + ['command_cardel_radius'] = 'מוחק את כל הרכבים ברדיוס מסוים', + ['command_clear'] = 'ניקוי הצא`ט', + ['command_clearall'] = 'ניקוי הצא`ט לכל השחקים' + ['command_clearinventory'] = 'להסיר את כל הדברים מהאינבטורי של כל השחקנים', + ['command_clearloadout'] = 'הסר את כל הנשק מהשחקנים', + ['command_freeze'] = 'להקפיא שחקן', + ['command_unfreeze'] = 'להפשיר שחקן', + ['command_giveaccountmoney'] = 'לתת כסף לחשבון בנק מסוים', + ['command_giveaccountmoney_account'] = 'חשבון שיש להוסיף אליו', + ['command_giveaccountmoney_amount'] = 'סכום להוסיף', + ['command_giveaccountmoney_invalid'] = 'שם חשבון לא חוקי', + ['command_giveitem'] = 'להביא לשחקן פריט', + ['command_giveitem_item'] = 'שם הפריט', + ['command_giveitem_count'] = 'כמות', + ['command_giveweapon'] = 'לתת לשחקן נשק', + ['command_giveweapon_weapon'] = 'שם הנשק', + ['command_giveweapon_ammo'] = 'כמות תחמושת', + ['command_giveweapon_hasalready'] = 'לשחקן כבר יש את הנשק הזה', + ['command_giveweaponcomponent'] = 'לתת חלק של נשק לשחקן', + ['command_giveweaponcomponent_component'] = 'שם החלק', + ['command_giveweaponcomponent_invalid'] = 'שם חלק שגוי', + ['command_giveweaponcomponent_hasalready'] = 'לשחקן כבר יש את סוג החלק הזה', + ['command_giveweaponcomponent_missingweapon'] = 'לשחקן אין את הנשק הזה', + ['command_goto'] = 'להשתגר לשחקן הזה', + ['command_kill'] = 'להרוג שחקן', + ['command_save'] = 'הכרח את המערכת לשמור נתוני שחקן', + ['command_saveall'] = 'הכרח את המערכת לשמור את הנתונים של כולם', + ['command_setaccountmoney'] = 'הגדר את הכסף בחשבון שצוין', + ['command_setaccountmoney_amount'] = 'כמות', + ['command_setcoords'] = 'להשתגר למיקום שצויין', + ['command_setcoords_x'] = 'X ערך', + ['command_setcoords_y'] = 'Y ערך', + ['command_setcoords_z'] = 'Z ערך', + ['command_setjob'] = 'לקבוע את העבודה של שלקן', + ['command_setjob_job'] = 'שם העבודה', + ['command_setjob_grade'] = 'דרגת עבודה', + ['command_setjob_invalid'] = 'התפקיד, או דרגת העבודה או שניהם שגויים', + ['command_setgroup'] = 'לקבוע את קבוצת הגישות של השחקנים', + ['command_setgroup_group'] = 'שם הקבוצה', + ['commanderror_argumentmismatch'] = 'ספירת טיעונים לא חוקית (עבר %s, רצוי %s)', + ['commanderror_argumentmismatch_number'] = 'טיעון לא חוקי #%s סוג מידע (המשפט עבר, אבל מבוקש מספר)', + ['commanderror_invaliditem'] = 'פריט לא קיים', + ['commanderror_invalidweapon'] = 'נשק לא קיים', + ['commanderror_console'] = 'לא ניתן לבצע את הפקודה מהקונסולה', + ['commanderror_invalidcommand'] = 'פקודה שגוייה - /%s', + ['commanderror_invalidplayerid'] = 'השחקן שצויין לא מחובר', + ['commandgeneric_playerid'] = 'מזהה השרת של השחקן', + ['command_giveammo_noweapon_found'] = '%s אין את הנשק הזה', + ['command_giveammo_weapon'] = 'שם הנשק', + ['command_giveammo_ammo'] = 'כמות תחמושת', + ['tpm_nowaypoint'] = 'אין נקודה לשיגור', + ['tpm_success'] = 'שוגרתם בהצלחה', + + ['noclip_message'] = 'נוקליפ %s', + ['enabled'] = '~g~מופעל~s~', + ['disabled'] = '~r~כבוי~s~', + + -- Locale settings + ['locale_digit_grouping_symbol'] = ',', + ['locale_currency'] = '£%s', + + -- Weapons + + -- Melee + ['weapon_dagger'] = 'פִּגיוֹן', + ['weapon_bat'] = 'מחבט', + ['weapon_battleaxe'] = 'גרזן קרב', + ['weapon_bottle'] = 'בקבוק', + ['weapon_crowbar'] = 'לום', + ['weapon_flashlight'] = 'פנס', + ['weapon_golfclub'] = 'מחבט גולף', + ['weapon_hammer'] = 'פטיש', + ['weapon_hatchet'] = 'גרזן חד', + ['weapon_knife'] = 'סכין', + ['weapon_knuckle'] = 'אגרופן', + ['weapon_machete'] = 'מצ`טה', + ['weapon_nightstick'] = 'מקל לילה', + ['weapon_wrench'] = 'מפתח ברגים', + ['weapon_poolcue'] = 'מקל סנוקר', + ['weapon_stone_hatchet'] = 'גרזן אבן', + ['weapon_switchblade'] = 'אולר', + + -- Handguns + ['weapon_appistol'] = 'אקדח AP', + ['weapon_ceramicpistol'] = 'אקדח קרמי', + ['weapon_combatpistol'] = 'אקדח קרבי', + ['weapon_doubleaction'] = 'אקדח פעולה כפול', + ['weapon_navyrevolver'] = 'אקדח חיל הים', + ['weapon_flaregun'] = 'אקדח זיקוקים', + ['weapon_gadgetpistol'] = 'אקדח גאד`גט', + ['weapon_heavypistol'] = 'אקדח כבד', + ['weapon_revolver'] = 'אקדח כבד', + ['weapon_revolver_mk2'] = 'אקדח כבד MK2', + ['weapon_marksmanpistol'] = 'אקדח מארקסמן', + ['weapon_pistol'] = 'אקדח', + ['weapon_pistol_mk2'] = 'אקדח MK2', + ['weapon_pistol50'] = 'אקדח .50', + ['weapon_snspistol'] = 'אקדח SNS', + ['weapon_snspistol_mk2'] = 'SNS אקדח MK2', + ['weapon_stungun'] = 'טייזר', + ['weapon_raypistol'] = 'Up-N-Atomizer', + ['weapon_vintagepistol'] = 'אקדח וינטג', + + -- Shotguns + ['weapon_assaultshotgun'] = 'שוטגאן ציד', + ['weapon_autoshotgun'] = 'שוטגאן אוטומטית', + ['weapon_bullpupshotgun'] = 'שוטגאן בולפאפ', + ['weapon_combatshotgun'] = 'שוטגאן קרבי', + ['weapon_dbshotgun'] = 'שוטגאן חבית כפולה', + ['weapon_heavyshotgun'] = 'שוטגאן כבד', + ['weapon_musket'] = 'מוּסקֶט', + ['weapon_pumpshotgun'] = 'שוטגאן פאמפ', + ['weapon_pumpshotgun_mk2'] = 'שוטגאן פאמפ MK2', + ['weapon_sawnoffshotgun'] = 'שוטגאן מנוסר', + + -- SMG & LMG + ['weapon_assaultsmg'] = 'רובה סער אוטומטי', + ['weapon_combatmg'] = 'Combat MG', + ['weapon_combatmg_mk2'] = 'Combat MG MK2', + ['weapon_combatpdw'] = 'Combat PDW', + ['weapon_gusenberg'] = 'Gusenberg Sweeper', + ['weapon_machinepistol'] = 'Machine Pistol', + ['weapon_mg'] = 'MG', + ['weapon_microsmg'] = 'Micro SMG', + ['weapon_minismg'] = 'Mini SMG', + ['weapon_smg'] = 'SMG', + ['weapon_smg_mk2'] = 'SMG MK2', + ['weapon_raycarbine'] = 'Unholy Hellbringer', + + -- Rifles + ['weapon_advancedrifle'] = 'רובה סער מתקדם', + ['weapon_assaultrifle'] = 'רובה סער', + ['weapon_assaultrifle_mk2'] = 'Assault Rifle MK2', + ['weapon_bullpuprifle'] = 'Bullpup Rifle', + ['weapon_bullpuprifle_mk2'] = 'Bullpup Rifle MK2', + ['weapon_carbinerifle'] = 'Carbine Rifle', + ['weapon_carbinerifle_mk2'] = 'Carbine Rifle MK2', + ['weapon_compactrifle'] = 'Compact Rifle', + ['weapon_militaryrifle'] = 'Military Rifle', + ['weapon_specialcarbine'] = 'Special Carbine', + ['weapon_specialcarbine_mk2'] = 'Special Carbine MK2', + + -- Sniper + ['weapon_heavysniper'] = 'צלף כבד', + ['weapon_heavysniper_mk2'] = 'צלף כבד MK2', + ['weapon_marksmanrifle'] = 'רובה מרקסמן', + ['weapon_marksmanrifle_mk2'] = 'רובה מרקסמן MK2', + ['weapon_sniperrifle'] = 'רובה צלפים', + + -- Heavy / Launchers + ['weapon_compactlauncher'] = 'משגר קומפקטי', + ['weapon_firework'] = 'משגר זיקוקים', + ['weapon_grenadelauncher'] = 'מטול רימונים', + ['weapon_hominglauncher'] = 'משגר הומינג', + ['weapon_minigun'] = 'מיניגאן', + ['weapon_railgun'] = 'תותח מסילה', + ['weapon_rpg'] = 'משגר טילים', + ['weapon_rayminigun'] = 'מיניגאן פשוט', + + -- Criminal Enterprises DLC + ['weapon_metaldetector'] = 'גלאי מתכות', + ['weapon_precisionrifle'] = 'רובה דיוק', + ['weapon_tactilerifle'] = 'שירות קרבין', + + -- Thrown + ['weapon_ball'] = 'בייסבול', + ['weapon_bzgas'] = 'BZ Gas', + ['weapon_flare'] = 'הַבהָקָה', + ['weapon_grenade'] = 'רימון', + ['weapon_petrolcan'] = 'ג`ריקן', + ['weapon_hazardcan'] = 'ג`ריקן מסוכן', + ['weapon_molotov'] = 'בקבוק תבערה', + ['weapon_proxmine'] = 'מכרה קרבה', + ['weapon_pipebomb'] = 'מטען צינור', + ['weapon_snowball'] = 'כדור שלג', + ['weapon_stickybomb'] = 'פצצה דביקה', + ['weapon_smokegrenade'] = 'גז מדמיע', + + -- Special + ['weapon_fireextinguisher'] = 'מטף כיבוי אש', + ['weapon_digiscanner'] = 'סורק דיגיטלי', + ['weapon_garbagebag'] = 'שקית אשפה', + ['weapon_handcuffs'] = 'אזיקים', + ['gadget_nightvision'] = 'ראיית לילה', + ['gadget_parachute'] = 'מצנח', + + -- Weapon Components + ['component_knuckle_base'] = 'מודל בסיס', + ['component_knuckle_pimp'] = 'הסרסור', + ['component_knuckle_ballas'] = 'הבלאס', + ['component_knuckle_dollar'] = 'ההוסטלר', + ['component_knuckle_diamond'] = 'הסלע', + ['component_knuckle_hate'] = 'השונא', + ['component_knuckle_love'] = 'המאהב', + ['component_knuckle_player'] = 'השחקן', + ['component_knuckle_king'] = 'המלך', + ['component_knuckle_vagos'] = 'הווגו', + + ['component_luxary_finish'] = 'סיום נשק יוקרה', + + ['component_handle_default'] = 'ידית ברירת מחדל', + ['component_handle_vip'] = 'ידית וי.איי.פי', + ['component_handle_bodyguard'] = 'ידית שומר ראש', + + ['component_vip_finish'] = 'גימור וי.איי.פי', + ['component_bodyguard_finish'] = 'גימור שומר ראש', + + ['component_camo_finish'] = 'עיצוב דיגיטלי', + ['component_camo_finish2'] = 'עיצוב מברשת מברשת', + ['component_camo_finish3'] = 'עיצוב וודלנד', + ['component_camo_finish4'] = 'עיצוב גולגולת', + ['component_camo_finish5'] = 'עיצוב סיסנטה', + ['component_camo_finish6'] = 'עיצוב פרסאוס', + ['component_camo_finish7'] = 'עיצוב נמר', + ['component_camo_finish8'] = 'עיצוב זברה', + ['component_camo_finish9'] = 'עיצוב גיאומטרי', + ['component_camo_finish10'] = 'עיצוב בום', + ['component_camo_finish11'] = 'עיצוב פטריוטי', + + ['component_camo_slide_finish'] = 'עיצוב דיגיטלי בצעד', + ['component_camo_slide_finish2'] = 'עיצוב מברשת מברשת בצעד', + ['component_camo_slide_finish3'] = 'עיצוב וודלנד בצעד', + ['component_camo_slide_finish4'] = 'עיצוב גולגולת בצעד', + ['component_camo_slide_finish5'] = 'עיצוב סיסנטה בצעד', + ['component_camo_slide_finish6'] = 'עיצוב פרסאוס בצעד', + ['component_camo_slide_finish7'] = 'עיצוב נמר בצעד', + ['component_camo_slide_finish8'] = 'עיצוב זברה בצעד', + ['component_camo_slide_finish9'] = 'עיצוב גיאומטרי בצעד', + ['component_camo_slide_finish10'] = 'עיצוב בום בצעד', + ['component_camo_slide_finish11'] = 'עיצוב פטריוטי בצעד', + + ['component_clip_default'] = 'מחסנית רגילה', + ['component_clip_extended'] = 'מחסנית מורחבת', + ['component_clip_drum'] = 'מחסנית תוף', + ['component_clip_box'] = 'מחסנית קופסא', + + ['component_scope_holo'] = 'כוונת הולוגרפית', + ['component_scope_small'] = 'כוונת קטנה', + ['component_scope_medium'] = 'כוונת בינונית', + ['component_scope_large'] = 'כוונת גדולה', + ['component_scope'] = 'כוונת מותקנת', + ['component_scope_advanced'] = 'כוונת מתקדמת', + ['component_ironsights'] = 'ironsights', + + ['component_suppressor'] = 'משתיק', + ['component_compensator'] = 'compensator', + + ['component_muzzle_flat'] = 'flat Muzzle Brake', + ['component_muzzle_tactical'] = 'tactical Muzzle Brake', + ['component_muzzle_fat'] = 'fat-End Muzzle Brake', + ['component_muzzle_precision'] = 'precision Muzzle Brake', + ['component_muzzle_heavy'] = 'heavy Duty Muzzle Brake', + ['component_muzzle_slanted'] = 'slanted Muzzle Brake', + ['component_muzzle_split'] = 'split-End Muzzle Brake', + ['component_muzzle_squared'] = 'squared Muzzle Brake', + + ['component_flashlight'] = 'פנס', + ['component_grip'] = 'grip', + + ['component_barrel_default'] = 'default Barrel', + ['component_barrel_heavy'] = 'heavy Barrel', + + ['component_ammo_tracer'] = 'tracer Ammo', + ['component_ammo_incendiary'] = 'incendiary Ammo', + ['component_ammo_hollowpoint'] = 'hollowpoint Ammo', + ['component_ammo_fmj'] = 'fMJ Ammo', + ['component_ammo_armor'] = 'armor Piercing Ammo', + ['component_ammo_explosive'] = 'armor Piercing Incendiary Ammo', + + ['component_shells_default'] = 'פגזים ברירת מחדל', + ['component_shells_incendiary'] = 'פגזים מנשימת דרקון', + ['component_shells_armor'] = 'פגזים של פלייט פלייז', + ['component_shells_hollowpoint'] = 'פגזים של פלכט', + ['component_shells_explosive'] = 'פגזי שבלול נפץ', + + -- Weapon Ammo + ['ammo_rounds'] = 'rounds', + ['ammo_shells'] = 'פגזים', + ['ammo_charge'] = 'טעינות', + ['ammo_petrol'] = 'גלון דלק', + ['ammo_firework'] = 'זיקוקים', + ['ammo_rockets'] = 'רקטות', + ['ammo_grenadelauncher'] = 'רימונים', + ['ammo_grenade'] = 'רימונים', + ['ammo_stickybomb'] = 'פצצות', + ['ammo_pipebomb'] = 'פצצות', + ['ammo_smokebomb'] = 'פצצות', + ['ammo_molotov'] = 'קוקטיילים', + ['ammo_proxmine'] = 'מוקשים', + ['ammo_bzgas'] = 'פחיות', + ['ammo_ball'] = 'כדורים', + ['ammo_snowball'] = 'כדורי שלג', + ['ammo_flare'] = 'flares', + ['ammo_flaregun'] = 'flares', + + -- Weapon Tints + ['tint_default'] = 'עיצוב רגיל', + ['tint_green'] = 'עיצוב ירוק', + ['tint_gold'] = 'עיצוב זהב נוצץ', + ['tint_pink'] = 'עיצוב ורוד', + ['tint_army'] = 'עיצוב צבאי', + ['tint_lspd'] = 'עיצוב כחול', + ['tint_orange'] = 'עיצוב כתום', + ['tint_platinum'] = 'עיצוב פלטינה', +} diff --git a/[esx]/esx_identity/locales/he.lua b/[esx]/esx_identity/locales/he.lua new file mode 100644 index 000000000..b9f3ca786 --- /dev/null +++ b/[esx]/esx_identity/locales/he.lua @@ -0,0 +1,39 @@ +Locales['he'] = { + ['show_active_character'] = 'הראה הדמויות פעילים', + ['active_character'] = 'Active Character: %s', + ['error_active_character'] = 'הייתה שגיאה בהשגת הנתונים שלך.', + ['delete_character'] = 'מחק את הדמות הנוכחית שלך.', + ['deleted_character'] = 'הדמות נמחקה', + ['error_delete_character'] = 'הייתה בעיה למחוק את הדמות שלך.', + ['thank_you_for_registering'] = 'ההרשמה בוצעה בהצלחה.תהנה!', + ['debug_xPlayer_get_first_name'] = 'מחזיר את שמך הפרטי', + ['debug_xPlayer_get_last_name'] = 'מחזיר את שם המשפחה שלך', + ['debug_xPlayer_get_full_name'] = 'מחזיר את שמך המלא', + ['debug_xPlayer_get_sex'] = 'מחזיר את המין שלך', + ['debug_xPlayer_get_dob'] = 'מחזיר את תאריך הלידה שלך', + ['debug_xPlayer_get_height'] = 'מחזיר את הגובה שלך', + ['error_debug_xPlayer_get_first_name'] = 'הייתה בעיה בזמן קבלת שמך הפרטי.', + ['error_debug_xPlayer_get_last_name'] = 'הייתה בעיה בזמן קבלת שם המשפחה שלך.', + ['error_debug_xPlayer_get_full_name'] = 'הייתה בעיה בזמן קבלת שמך המלא.', + ['error_debug_xPlayer_get_sex'] = 'הייתה בעיה בזמן השגת המין שלך.', + ['error_debug_xPlayer_get_dob'] = 'הייתה בעיה בזמן קבלת תאריך הלידה שלך.', + ['error_debug_xPlayer_get_height'] = 'הייתה בעיה בזמן השגת הגובה שלך.', + ['return_debug_xPlayer_get_first_name'] = 'שם פרטי: %s', + ['return_debug_xPlayer_get_last_name'] = 'שם משפחה: %s', + ['return_debug_xPlayer_get_full_name'] = 'שֵׁם: %s', + ['return_debug_xPlayer_get_sex'] = 'מין: %s', + ['return_debug_xPlayer_get_dob'] = 'תאריך לידה: %s', + ['return_debug_xPlayer_get_height'] = 'גובה: %s אינץ', + ['data_incorrect'] = 'נתונים לא חוקיים, אנא נסה שוב.', + ['invalid_format'] = 'פורמט נתונים לא חוקי, אנא נסה שוב.', + ['no_identifier'] = '[ESX Identity]\nהייתה בעיה בזמן העמסת הדמות שלך!\nקוד שגיאה: identifier-missing\n\nזה נגרם על ידי המזהה שלך חסר.אנא חזור מאוחר יותר או דווח על בעיה זו לבעל השרת.', + ['missing_identity'] = '[ESX Identity]\nהייתה בעיה להעמיס את הדמות שלך!\nקוד שגיאה: identity-missing\n\nנראה שהזהות שלך חסרה, נסה להתחבר שוב.', + ['deleted_identity'] = 'הדמות נמחקה.אנא הצטרף שוב כדי ליצור דמות חדשה.', + ['already_registered'] = 'כבר נרשמת.', + ['invalid_firstname_format'] = 'פורמט לא חוקי (שם פרטי): אנא נסה שוב.', + ['invalid_lastname_format'] = 'פורמט לא חוקי (שם משפחה): אנא נסה שוב.', + ['invalid_dob_format'] = 'פורמט לא חוקי (תאריך לידה): אנא נסה שוב.', + ['invalid_sex_format'] = 'פורמט לא חוקי (סקס): אנא נסה שוב.', + ['invalid_height_format'] = 'פורמט לא חוקי (גובה): אנא נסה שוב.' + } + \ No newline at end of file diff --git a/[esx]/esx_multicharacter/locales/he.lua b/[esx]/esx_multicharacter/locales/he.lua new file mode 100644 index 000000000..650d0c43d --- /dev/null +++ b/[esx]/esx_multicharacter/locales/he.lua @@ -0,0 +1,29 @@ +Locales["he"] = { + ["male"] = "זָכָר", + ["female"] = "נְקֵבָה", + ["select_char"] = "בחר דמות", + ["select_char_description"] = "בחר דמות שתשחק כמו.", + ["create_char"] = "New Character", + ["char_play"] = "שחק", + ["char_play_description"] = "המשך לעיר.", + ["char_disabled"] = "מבוטל", + ["char_disabled_description"] = "דמות זו אינה שמישה.", + ["char_delete"] = "למחוק", + ["char_delete_description"] = "הסר לצמיתות את הדמות הזו.", + ["character"] = "דמות: %s", + ["return"] = "חזרה", + ["return_description"] = "חזרה לבחירת הדמויות.", + ["command_setslots"] = "Set multicharacter slots number of a player", + ["command_remslots"] = "Remove multicharacter slots number of a player", + ["command_enablechar"] = "Enable a given character of a player", + ["command_disablechar"] = "Disable a given character of a player", + ["command_charslot"] = "Slot number of the character", + ["command_identifier"] = "Player identifier", + ["command_slots"] = "# of slots", + ["slotsadd"] = "You added %s slots to %s", + ["slotsedit"] = "You set %s slots to %s", + ["slotsrem"] = "You removed slots to %s", + ["charenabled"] = "You enabled character #%s of %s", + ["chardisabled"] = "You disabled character #%s of %s", + ["charnotfound"] = "Character #%s of %s doesn't exist", +} diff --git a/[esx]/esx_skin/locales/he.lua b/[esx]/esx_skin/locales/he.lua new file mode 100644 index 000000000..261765951 --- /dev/null +++ b/[esx]/esx_skin/locales/he.lua @@ -0,0 +1,6 @@ +Locales['he'] = { + ['skin_menu'] = 'תפריט צבעי עור', + ['use_rotate_view'] = 'השתמשו ~INPUT_FRONTEND_LS~ ו ~INPUT_CHARACTER_WHEEL~ בשביל לסובב את דמות.', + ['skin'] = 'שינוי צבע עור', + ['saveskin'] = 'שמירת צבע עור לקובץ', + } \ No newline at end of file diff --git a/[esx]/skinchanger/locales/he.lua b/[esx]/skinchanger/locales/he.lua new file mode 100644 index 000000000..7677dbbd8 --- /dev/null +++ b/[esx]/skinchanger/locales/he.lua @@ -0,0 +1,101 @@ +Locales['he'] = { + ['sex'] = 'מין', + ['mom'] = 'פרצוף אמא', + ['dad'] = 'פרצוץ אבא', + ['resemblance'] = 'דִמיוֹן', + ['skin_tone'] = 'גוון עור', + ['nose_1'] = 'רוחב אף', + ['nose_2'] = 'גובה שיא האף', + ['nose_3'] = 'אורך שיא האף', + ['nose_4'] = 'גובה עצם האף', + ['nose_5'] = 'הורדת שיא האף', + ['nose_6'] = 'טוויסט עצם האף', + ['cheeks_1'] = 'גובה עצמות לחיים', + ['cheeks_2'] = 'רוחב עצמות לחיים', + ['cheeks_3'] = 'רוחב לחיים', + ['lip_fullness'] = 'מלאות שפתיים', + ['jaw_bone_width'] = 'רוחב עצם הלסת', + ['jaw_bone_length'] = 'אורך עצם הלסת', + ['chin_height'] = 'גובה הסנטר', + ['chin_length'] = 'אורך סנטר', + ['chin_width'] = 'רוחב סנטר', + ['chin_hole'] = 'גודל חור הסנטר', + ['neck_thickness'] = 'עובי הצוואר', + ['wrinkles'] = 'קמטים', + ['wrinkle_thickness'] = 'עובי קמטים', + ['beard_type'] = 'סוג זקן', + ['beard_size'] = 'גודל זקן', + ['beard_color_1'] = 'צבע זקן 1', + ['beard_color_2'] = 'צבע זקן 2', + ['hair_1'] = 'שיער 1', + ['hair_2'] = 'שיער 2', + ['hair_color_1'] = 'צבע שיער 1', + ['hair_color_2'] = 'צבע שיערr 2', + ['eye_color'] = 'צבע עיניים', + ['eye_squint'] = 'פוזן עיניים', + ['eyebrow_type'] = 'סוג גבות', + ['eyebrow_size'] = 'גודל הגבות', + ['eyebrow_color_1'] = 'צבע גבות 1', + ['eyebrow_color_2'] = 'צבע גבות 2', + ['eyebrow_depth'] = 'עומק גבות', + ['eyebrow_height'] = 'גובה הגבות', + ['makeup_type'] = 'סוג איפור', + ['makeup_thickness'] = 'עובי איפור', + ['makeup_color_1'] = 'צבע איפור 1', + ['makeup_color_2'] = 'צבע איפור 2', + ['lipstick_type'] = 'סוג שפתון', + ['lipstick_thickness'] = 'עובי שפתון', + ['lipstick_color_1'] = 'צבע שפתון 1', + ['lipstick_color_2'] = 'צבע שפתון 2', + ['ear_accessories'] = 'אביזרי אוזניים', + ['ear_accessories_color'] = 'צבע אביזרי אוזניים', + ['tshirt_1'] = 'חולצה קצרה 1', + ['tshirt_2'] = 'חולצה קצרה2', + ['torso_1'] = 'טוֹרסוֹ 1', + ['torso_2'] = 'טוֹרסוֹ 2', + ['decals_1'] = 'מדבקות 1', + ['decals_2'] = 'מדבקות 2', + ['arms'] = 'נשק', + ['arms_2'] = 'נשק 2', + ['pants_1'] = 'מכנסיים 1', + ['pants_2'] = 'מכנסיים 2', + ['shoes_1'] = 'נעליים 1', + ['shoes_2'] = 'נעליים 2', + ['mask_1'] = 'מסכה 1', + ['mask_2'] = 'מסכה 2', + ['bproof_1'] = 'אפוד אטום כדורים 1', + ['bproof_2'] = 'אפוד אטום כדורים 2', + ['chain_1'] = 'שרשת 1', + ['chain_2'] = 'שרשת 2', + ['helmet_1'] = 'קסדה 1', + ['helmet_2'] = 'קדסה 2', + ['watches_1'] = 'שעונים 1', + ['watches_2'] = 'שעונים 2', + ['bracelets_1'] = 'צמידים 1', + ['bracelets_2'] = 'צמידים 2', + ['glasses_1'] = 'משקפיים 1', + ['glasses_2'] = 'משקפיים 2', + ['bag'] = 'תיק', + ['bag_color'] = 'צבע תיק', + ['blemishes'] = 'פגמים', + ['blemishes_size'] = 'פגמים עובי', + ['ageing'] = 'הזדקנות', + ['ageing_1'] = 'עובי הזדקנות', + ['blush'] = 'להסמיק', + ['blush_1'] = 'עובי סומק', + ['blush_color'] = 'צבע סומק', + ['complexion'] = 'גוון', + ['complexion_1'] = 'עובי עור', + ['sun'] = 'שמש', + ['sun_1'] = 'עובי השמש', + ['freckles'] = 'נמשים', + ['freckles_1'] = 'עובי הנמשים', + ['chest_hair'] = 'שיער חזה', + ['chest_hair_1'] = 'עובי שיער בחזה', + ['chest_color'] = 'צבע שיער בחזה', + ['bodyb'] = 'פגמים בגוף', + ['bodyb_size'] = 'גוף פגמים עובי', + ['bodyb_extra'] = 'פגמים אפקט גוף', + ['bodyb_extra_thickness'] = 'פגמים עובי אפקט גוף', + } + \ No newline at end of file From c98493941201e11b70cfd0c91d6c8da990f50749 Mon Sep 17 00:00:00 2001 From: thefourCraft Date: Mon, 30 Jan 2023 08:40:41 +0200 Subject: [PATCH 002/148] Update legacy.sql --- [SQL]/legacy.sql | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/[SQL]/legacy.sql b/[SQL]/legacy.sql index 2ba76874d..af1cdd132 100644 --- a/[SQL]/legacy.sql +++ b/[SQL]/legacy.sql @@ -1,3 +1,5 @@ +-- ESX Tables + CREATE TABLE `addon_account` ( `name` varchar(60) NOT NULL, `label` varchar(100) NOT NULL, @@ -1011,4 +1013,4 @@ CREATE TABLE IF NOT EXISTS `banking` ( PRIMARY KEY (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4; -ALTER TABLE `users` ADD COLUMN `pincode` INT NULL; \ No newline at end of file +ALTER TABLE `users` ADD COLUMN `pincode` INT NULL; From 11e9060281bfc2ca22107852757142a6e068447d Mon Sep 17 00:00:00 2001 From: Epyi Date: Sun, 9 Jul 2023 12:22:40 +0200 Subject: [PATCH 003/148] Add repair command - Add the repair command - Add missings locales for the repair command (not translated) - Make french translation for repair command --- [core]/es_extended/client/main.lua | 22 ++++++++++++++++++++++ [core]/es_extended/locales/cs.lua | 3 +++ [core]/es_extended/locales/da.lua | 3 +++ [core]/es_extended/locales/de.lua | 3 +++ [core]/es_extended/locales/en.lua | 3 +++ [core]/es_extended/locales/es.lua | 3 +++ [core]/es_extended/locales/fi.lua | 3 +++ [core]/es_extended/locales/fr.lua | 3 +++ [core]/es_extended/locales/hu.lua | 3 +++ [core]/es_extended/locales/it.lua | 3 +++ [core]/es_extended/locales/nl.lua | 3 +++ [core]/es_extended/locales/pl.lua | 3 +++ [core]/es_extended/locales/sl.lua | 3 +++ [core]/es_extended/locales/sr.lua | 3 +++ [core]/es_extended/locales/zh-cn.lua | 3 +++ [core]/es_extended/server/commands.lua | 4 ++++ 16 files changed, 68 insertions(+) diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index 34a0f3e27..b14c8d57f 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -670,6 +670,28 @@ AddEventHandler("esx:killPlayer", function() SetEntityHealth(ESX.PlayerData.ped, 0) end) +RegisterNetEvent("esx:repairPedVehicle") +AddEventHandler("esx:repairPedVehicle", function() + local GetVehiclePedIsIn = GetVehiclePedIsIn + + ESX.TriggerServerCallback("esx:isUserAdmin", function(admin) + if not admin then + return + end + local ped = ESX.PlayerData.ped + if IsPedInAnyVehicle(ped, false) then + local vehicle = GetVehiclePedIsIn(ped, false) + SetVehicleEngineHealth(vehicle, 1000) + SetVehicleEngineOn(vehicle, true, true) + SetVehicleFixed(vehicle) + SetVehicleDirtLevel(vehicle, 0) + ESX.ShowNotification(TranslateCap('command_repair_success'), true, false, 140) + else + ESX.ShowNotification(TranslateCap('not_in_vehicle'), true, false, 140) + end + end) +end) + RegisterNetEvent("esx:freezePlayer") AddEventHandler("esx:freezePlayer", function(input) local player = PlayerId() diff --git a/[core]/es_extended/locales/cs.lua b/[core]/es_extended/locales/cs.lua index 71bd3ea53..4cd519112 100644 --- a/[core]/es_extended/locales/cs.lua +++ b/[core]/es_extended/locales/cs.lua @@ -52,6 +52,7 @@ Locales["cs"] = { ["act_imp"] = "Nelze provést", ["in_vehicle"] = "Nelze provést, hráč je v autě", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", -- Commands ['command_bring'] = 'Přivolat si hráče k sobě', @@ -59,6 +60,8 @@ Locales["cs"] = { ['command_car_car'] = 'Zadej jméno vozidla nebo spawnname', ['command_cardel'] = 'Odstranění vozidla v okolí', ['command_cardel_radius'] = 'Odstranění vozidla v určeném dosahu', + ['command_repair'] = 'Repair your vehicle', + ['command_repair_success'] = "Successfully repaired vehicle", ['command_clear'] = 'Vymazat text v chatu', ['command_clearall'] = 'Vymazat chet pro všechny hráče', ['command_clearinventory'] = 'Vymazat všechny věci z invetáře hráče', diff --git a/[core]/es_extended/locales/da.lua b/[core]/es_extended/locales/da.lua index 518778bf9..a5e87c12e 100644 --- a/[core]/es_extended/locales/da.lua +++ b/[core]/es_extended/locales/da.lua @@ -52,6 +52,7 @@ Locales["da"] = { ["act_imp"] = "Kan ikke udføre handling", ["in_vehicle"] = "Kan ikke udføre handling, spilleren er i et køretøj", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", -- Commands ['command_bring'] = 'Tag en spiller til dig', @@ -59,6 +60,8 @@ Locales["da"] = { ['command_car_car'] = 'Køretøjsmodel eller hash', ['command_cardel'] = 'Fjern køretøjer i nærheden', ['command_cardel_radius'] = 'Fjerner alle køretøjer inden for den specificerede radius', + ['command_repair'] = 'Repair your vehicle', + ['command_repair_success'] = "Successfully repaired vehicle", ['command_clear'] = 'Ryd chatten', ['command_clearall'] = 'Ryd chatten for alle spillere', ['command_clearinventory'] = 'Fjern alle elementer fra spillernes inventar', diff --git a/[core]/es_extended/locales/de.lua b/[core]/es_extended/locales/de.lua index 285fe595c..9aac4d1c6 100644 --- a/[core]/es_extended/locales/de.lua +++ b/[core]/es_extended/locales/de.lua @@ -52,6 +52,7 @@ Locales["de"] = { ["act_imp"] = "Du kannst diese Aktion nicht ausführen!", ["in_vehicle"] = "Du kannst diese Aktion nicht ausführen! Person ist in einem Fahrzeug", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", -- Commands ['command_bring'] = 'Person zu dir bringen', @@ -59,6 +60,8 @@ Locales["de"] = { ['command_car_car'] = 'Fahrzeug Model oder Hash', ['command_cardel'] = 'Fahrzeuge entfernen', ['command_cardel_radius'] = 'Entfernt alle Fahrzeuge in einem bestimmten Radius', + ['command_repair'] = 'Repair your vehicle', + ['command_repair_success'] = "Successfully repaired vehicle", ['command_clear'] = 'Textchat leeren', ['command_clearall'] = 'Textchat leeren für alle Spieler leeren', ['command_clearinventory'] = 'Alle Items von dem Inventar eines Spielers entfernen', diff --git a/[core]/es_extended/locales/en.lua b/[core]/es_extended/locales/en.lua index 136819f5c..057544362 100644 --- a/[core]/es_extended/locales/en.lua +++ b/[core]/es_extended/locales/en.lua @@ -52,6 +52,7 @@ Locales["en"] = { ["act_imp"] = "Cannot Perform Action", ["in_vehicle"] = "Cannot Perform Action, Player is in a vehicle", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", -- Commands ['command_bring'] = 'Bring player to you', @@ -59,6 +60,8 @@ Locales["en"] = { ['command_car_car'] = 'Vehicle model or hash', ['command_cardel'] = 'Remove vehicles in proximity', ['command_cardel_radius'] = 'Removes all vehicles within the specified radius', + ['command_repair'] = 'Repair your vehicle', + ['command_repair_success'] = "Successfully repaired vehicle", ['command_clear'] = 'Clear chat Text', ['command_clearall'] = 'Clear chat Text for all players', ['command_clearinventory'] = 'Remove All items from the Players Inventory', diff --git a/[core]/es_extended/locales/es.lua b/[core]/es_extended/locales/es.lua index 45bfb1d98..7e4d89541 100644 --- a/[core]/es_extended/locales/es.lua +++ b/[core]/es_extended/locales/es.lua @@ -52,6 +52,7 @@ Locales["es"] = { ["act_imp"] = "No se pudo realizar la acción.", ["in_vehicle"] = "Acción rechazada. El jugador se encuentra en un vehículo", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", -- Commands ['command_bring'] = 'Traer un jugador hacia ti', @@ -59,6 +60,8 @@ Locales["es"] = { ['command_car_car'] = 'Nombre del vehículo', ['command_cardel'] = 'Eliminar vehículos cercanos', ['command_cardel_radius'] = 'Opcional, eliminar todos los vehículos en el radio especificado', + ['command_repair'] = 'Repair your vehicle', + ['command_repair_success'] = "Successfully repaired vehicle", ['command_clear'] = 'Limpiar chat para ti', ['command_clearall'] = 'Limpiar chat para todos los jugadores', ['command_clearinventory'] = 'Limpiar el inventario del jugador', diff --git a/[core]/es_extended/locales/fi.lua b/[core]/es_extended/locales/fi.lua index 9eff6471c..676484b8e 100644 --- a/[core]/es_extended/locales/fi.lua +++ b/[core]/es_extended/locales/fi.lua @@ -52,12 +52,15 @@ Locales["fi"] = { ["act_imp"] = "Toiminto mahdoton", ["in_vehicle"] = "Et voi antaa ajoneuvossa olevalle mitään", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", -- Commands ['command_car'] = 'Luo ajoneuvo', ['command_car_car'] = 'Ajoneuvon nimi tai hash', ['command_cardel'] = 'Poistaa ajoneuvon läheltä', ['command_cardel_radius'] = 'Valinnainen, poista kaikki ajoneuvot määritetyllä säteellä', + ['command_repair'] = 'Repair your vehicle', + ['command_repair_success'] = "Successfully repaired vehicle", ['command_clear'] = 'Tyhjennä keskustelu', ['command_clearall'] = 'Tyhjennä keskustelu kaikilta pelaajilta', ['command_clearinventory'] = 'Tyhjennä pelaajan reppu', diff --git a/[core]/es_extended/locales/fr.lua b/[core]/es_extended/locales/fr.lua index e3c3166ed..d8843ecdd 100644 --- a/[core]/es_extended/locales/fr.lua +++ b/[core]/es_extended/locales/fr.lua @@ -52,6 +52,7 @@ Locales["fr"] = { ["act_imp"] = "Action impossible", ["in_vehicle"] = "Action impossible, le joueur est dans un véhicule", + ["not_in_vehicle"] = "Action impossible, le joueur n'est pas dans un véhicule", -- Commands ["command_bring"] = "Téléporter un joueur sur vous", @@ -59,6 +60,8 @@ Locales["fr"] = { ["command_car_car"] = "Nom ou hash du véhicule", ["command_cardel"] = "Supprimer les véhicules à proximité", ["command_cardel_radius"] = "Supprime tous les véhicules dans un rayon spécifié", + ["command_repair"] = "Réparer votre véhicule", + ["command_repair_success"] = "Véhicule réparé avec succès", ["command_clear"] = "Effacer le chat", ["command_clearall"] = "Effacer le chat de tous les joueurs", ["command_clearinventory"] = "Retirer tous les objets de l'inventaire du joueur", diff --git a/[core]/es_extended/locales/hu.lua b/[core]/es_extended/locales/hu.lua index b5336610f..0a58f3fb0 100644 --- a/[core]/es_extended/locales/hu.lua +++ b/[core]/es_extended/locales/hu.lua @@ -52,6 +52,7 @@ Locales["hu"] = { ["act_imp"] = "Érvénytelen mennyiség", ["in_vehicle"] = "Nem tudod átadni, mivel benne ül a jármüben", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", -- Commands ["command_bring"] = "Játékos magadhoz teleportálása", @@ -59,6 +60,8 @@ Locales["hu"] = { ["command_car_car"] = "Jármű név vagy hash", ["command_cardel"] = "Közeli járművek törlése", ["command_cardel_radius"] = "Megadott radiusban lévő járművek törlése", + ["command_repair"] = "Repair your vehicle", + ["command_repair_success"] = "Successfully repaired vehicle", ["command_clear"] = "Chat ürítése", ["command_clearall"] = "Chat ürítése minden játékosnál", ["command_clearinventory"] = "Minden tárgy törlése a játékos inventoryból", diff --git a/[core]/es_extended/locales/it.lua b/[core]/es_extended/locales/it.lua index 67b59bb74..ae66db6c3 100644 --- a/[core]/es_extended/locales/it.lua +++ b/[core]/es_extended/locales/it.lua @@ -52,6 +52,7 @@ Locales["it"] = { ["act_imp"] = "Non puoi farlo", ["in_vehicle"] = "Non puoi farlo, il giocatore è in un veicolo", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", -- Commands ['command_bring'] = 'Porta il giocatore da te', @@ -59,6 +60,8 @@ Locales["it"] = { ['command_car_car'] = 'Modello o hash veicolo', ['command_cardel'] = 'Rimuovi i veicoli nelle prossimità', ['command_cardel_radius'] = 'Rimuovi i veicoli nel raggio specificato', + ['command_repair'] = 'Repair your vehicle', + ['command_repair_success'] = "Successfully repaired vehicle", ['command_clear'] = 'Pulisci la chat testuale', ['command_clearall'] = 'Pulisci la chat testuale per tutti i giocatori', ['command_clearinventory'] = 'Rimuovi tutti gli oggetti dall\' inventario del giocatore', diff --git a/[core]/es_extended/locales/nl.lua b/[core]/es_extended/locales/nl.lua index 9de0115e6..7ca432e40 100644 --- a/[core]/es_extended/locales/nl.lua +++ b/[core]/es_extended/locales/nl.lua @@ -52,6 +52,7 @@ Locales["nl"] = { ["act_imp"] = "Kan actie niet uitvoeren", ["in_vehicle"] = "Kan actie niet uitvoeren, de speler zit in een voertuig.", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", -- Commands ['command_bring'] = 'Breng speler naar jou', @@ -59,6 +60,8 @@ Locales["nl"] = { ['command_car_car'] = 'Voertuig model of hash', ['command_cardel'] = 'Verwijder voertuigen in straal', ['command_cardel_radius'] = 'Verwijderd alle voertuigen in gewenste straal', + ['command_repair'] = 'Repair your vehicle', + ['command_repair_success'] = "Successfully repaired vehicle", ['command_clear'] = 'Verwijder chat berichten', ['command_clearall'] = 'Verwijder chat berichten voor alle spelers', ['command_clearinventory'] = 'Verwijder alle items van een speler zijn inventory', diff --git a/[core]/es_extended/locales/pl.lua b/[core]/es_extended/locales/pl.lua index dbea4a260..1ff34d659 100644 --- a/[core]/es_extended/locales/pl.lua +++ b/[core]/es_extended/locales/pl.lua @@ -51,12 +51,15 @@ Locales["pl"] = { ["account_money"] = "pieniądze", ["act_imp"] = "działanie niemożliwe", ["in_vehicle"] = "nie możesz przekazywać przedmiotów w pojeździe", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", -- Commands ['command_car'] = 'przywołaj pojazd', ['command_car_car'] = 'nazwa lub hash przywołanego pojazdu', ['command_cardel'] = 'usuń pojazd w pobliżu', ['command_cardel_radius'] = 'opcjonalnie usuń każdy pojazd w obszarze', + ['command_repair'] = 'Repair your vehicle', + ['command_repair_success'] = "Successfully repaired vehicle", ['command_clear'] = 'wyczyść czat', ['command_clearall'] = 'wyczyść czat dla wszystkich graczy', ['command_clearinventory'] = 'wyczyść ekwipunek gracza', diff --git a/[core]/es_extended/locales/sl.lua b/[core]/es_extended/locales/sl.lua index 4a485fd34..05e80ee2f 100644 --- a/[core]/es_extended/locales/sl.lua +++ b/[core]/es_extended/locales/sl.lua @@ -52,6 +52,7 @@ Locales["sl"] = { ["act_imp"] = "Dejanja ni mogoče izvesti", ["in_vehicle"] = "Dejanja ni mogoče izvesti, Oseba je v vozilu", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", -- Commands ['command_bring'] = 'Teleportiraj osebo do sebe', @@ -59,6 +60,8 @@ Locales["sl"] = { ['command_car_car'] = 'Koda vozila', ['command_cardel'] = 'Odstranite vozila v bližini', ['command_cardel_radius'] = 'Odstrani vsa vozila v določenem radiju', + ['command_repair'] = 'Repair your vehicle', + ['command_repair_success'] = "Successfully repaired vehicle", ['command_clear'] = 'Odstrani vsa sporocila v CHATU', ['command_clearall'] = 'Počisti besedilo klepeta za vse igralce', ['command_clearinventory'] = 'Vzemi vse stvari iz osebove shrambe', diff --git a/[core]/es_extended/locales/sr.lua b/[core]/es_extended/locales/sr.lua index 5a5e8b392..8354dfb9e 100644 --- a/[core]/es_extended/locales/sr.lua +++ b/[core]/es_extended/locales/sr.lua @@ -52,6 +52,7 @@ Locales["sr"] = { ["act_imp"] = "Ne možete izvršiti radnju", ["in_vehicle"] = "Ne možete uraditi to dok je igrač u vozilu", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", -- Commands ['command_bring'] = 'TP-ajte igrača do Vas', @@ -59,6 +60,8 @@ Locales["sr"] = { ['command_car_car'] = 'Model ili hash vozila', ['command_cardel'] = 'Obrišite vozilo u blizini', ['command_cardel_radius'] = 'Obrišite sva vozila unutar navedenog radiusa', + ['command_repair'] = 'Repair your vehicle', + ['command_repair_success'] = "Successfully repaired vehicle", ['command_clear'] = 'Obrišite chat', ['command_clearall'] = 'Obrišite chat za sve igrače', ['command_clearinventory'] = 'Obrišite sve stvari iz inventara igrača', diff --git a/[core]/es_extended/locales/zh-cn.lua b/[core]/es_extended/locales/zh-cn.lua index e75009812..73d840d30 100644 --- a/[core]/es_extended/locales/zh-cn.lua +++ b/[core]/es_extended/locales/zh-cn.lua @@ -52,6 +52,7 @@ Locales["zh-cn"] = { ["act_imp"] = "操作失败", ["in_vehicle"] = "请离开当前载具", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", -- Commands ['command_bring'] = '传送玩家到您身边', @@ -59,6 +60,8 @@ Locales["zh-cn"] = { ['command_car_car'] = '生成载具的模型名称或哈希值', ['command_cardel'] = '删除附近载具', ['command_cardel_radius'] = '可选,删除指定半径内的所有载具', + ['command_repair'] = 'Repair your vehicle', + ['command_repair_success'] = "Successfully repaired vehicle", ['command_clear'] = '清除聊天记录', ['command_clearall'] = '清除所有玩家的聊天记录', ['command_clearinventory'] = '清除玩家库存', diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index 7e160870b..eda320821 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -132,6 +132,10 @@ end, false, { } }) +ESX.RegisterCommand('repair', 'admin', function(xPlayer, args, showError) + xPlayer.triggerEvent("esx:repairPedVehicle") +end, false, {help = TranslateCap('command_repair'), validate = false}) + ESX.RegisterCommand('setaccountmoney', 'admin', function(xPlayer, args, showError) if not args.playerId.getAccount(args.account) then return showError(TranslateCap('command_giveaccountmoney_invalid')) From 89ac750d0398c994a8672574eed6a4594f5b1bc3 Mon Sep 17 00:00:00 2001 From: Epyi Date: Sun, 9 Jul 2023 12:26:37 +0200 Subject: [PATCH 004/148] Minor fix --- [core]/es_extended/locales/en.lua | 2 +- [core]/es_extended/locales/nl.lua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/[core]/es_extended/locales/en.lua b/[core]/es_extended/locales/en.lua index 057544362..e2fe2bf0e 100644 --- a/[core]/es_extended/locales/en.lua +++ b/[core]/es_extended/locales/en.lua @@ -61,7 +61,7 @@ Locales["en"] = { ['command_cardel'] = 'Remove vehicles in proximity', ['command_cardel_radius'] = 'Removes all vehicles within the specified radius', ['command_repair'] = 'Repair your vehicle', - ['command_repair_success'] = "Successfully repaired vehicle", + ['command_repair_success'] = "Successfully repaired vehicle", ['command_clear'] = 'Clear chat Text', ['command_clearall'] = 'Clear chat Text for all players', ['command_clearinventory'] = 'Remove All items from the Players Inventory', diff --git a/[core]/es_extended/locales/nl.lua b/[core]/es_extended/locales/nl.lua index 7ca432e40..5b7ec656a 100644 --- a/[core]/es_extended/locales/nl.lua +++ b/[core]/es_extended/locales/nl.lua @@ -61,7 +61,7 @@ Locales["nl"] = { ['command_cardel'] = 'Verwijder voertuigen in straal', ['command_cardel_radius'] = 'Verwijderd alle voertuigen in gewenste straal', ['command_repair'] = 'Repair your vehicle', - ['command_repair_success'] = "Successfully repaired vehicle", + ['command_repair_success'] = "Successfully repaired vehicle", ['command_clear'] = 'Verwijder chat berichten', ['command_clearall'] = 'Verwijder chat berichten voor alle spelers', ['command_clearinventory'] = 'Verwijder alle items van een speler zijn inventory', From e919d2c4d9812337fc4bbb9e6ae4bb8c1d62e97b Mon Sep 17 00:00:00 2001 From: Epyi Date: Sun, 9 Jul 2023 17:39:51 +0200 Subject: [PATCH 005/148] Check if player is in vehicle (and the driver) --- [core]/es_extended/client/main.lua | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index b14c8d57f..8d079d5d8 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -679,16 +679,16 @@ AddEventHandler("esx:repairPedVehicle", function() return end local ped = ESX.PlayerData.ped - if IsPedInAnyVehicle(ped, false) then - local vehicle = GetVehiclePedIsIn(ped, false) - SetVehicleEngineHealth(vehicle, 1000) - SetVehicleEngineOn(vehicle, true, true) - SetVehicleFixed(vehicle) - SetVehicleDirtLevel(vehicle, 0) - ESX.ShowNotification(TranslateCap('command_repair_success'), true, false, 140) - else + local vehicle = GetVehiclePedIsIn(ped, false) + if not vehicle or GetPedInVehicleSeat(vehicle, -1) ~= ped then ESX.ShowNotification(TranslateCap('not_in_vehicle'), true, false, 140) + return end + SetVehicleEngineHealth(vehicle, 1000) + SetVehicleEngineOn(vehicle, true, true) + SetVehicleFixed(vehicle) + SetVehicleDirtLevel(vehicle, 0) + ESX.ShowNotification(TranslateCap('command_repair_success'), true, false, 140) end) end) From ce5a8d7ab83479394bf5247e3a5bf12d473a488c Mon Sep 17 00:00:00 2001 From: Epyi Date: Sun, 9 Jul 2023 18:06:24 +0200 Subject: [PATCH 006/148] Put in vehicle checker on server side --- [core]/es_extended/client/main.lua | 4 ---- [core]/es_extended/server/commands.lua | 6 ++++++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index 8d079d5d8..4ba09f96a 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -680,10 +680,6 @@ AddEventHandler("esx:repairPedVehicle", function() end local ped = ESX.PlayerData.ped local vehicle = GetVehiclePedIsIn(ped, false) - if not vehicle or GetPedInVehicleSeat(vehicle, -1) ~= ped then - ESX.ShowNotification(TranslateCap('not_in_vehicle'), true, false, 140) - return - end SetVehicleEngineHealth(vehicle, 1000) SetVehicleEngineOn(vehicle, true, true) SetVehicleFixed(vehicle) diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index eda320821..f6f5cb518 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -133,6 +133,12 @@ end, false, { }) ESX.RegisterCommand('repair', 'admin', function(xPlayer, args, showError) + local ped = GetPlayerPed(xPlayer.source) + local pedVehicle = GetVehiclePedIsIn(ped, false) + if not pedVehicle or GetPedInVehicleSeat(pedVehicle, -1) ~= ped then + return + showError(TranslateCap('not_in_vehicle')) + end xPlayer.triggerEvent("esx:repairPedVehicle") end, false, {help = TranslateCap('command_repair'), validate = false}) From e0707db8f7efa4d5e84f8126a046c778d043ea36 Mon Sep 17 00:00:00 2001 From: Epyi Date: Sun, 9 Jul 2023 19:21:31 +0200 Subject: [PATCH 007/148] Update commands.lua --- [core]/es_extended/server/commands.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index f6f5cb518..a72171b0f 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -136,8 +136,8 @@ ESX.RegisterCommand('repair', 'admin', function(xPlayer, args, showError) local ped = GetPlayerPed(xPlayer.source) local pedVehicle = GetVehiclePedIsIn(ped, false) if not pedVehicle or GetPedInVehicleSeat(pedVehicle, -1) ~= ped then - return showError(TranslateCap('not_in_vehicle')) + return end xPlayer.triggerEvent("esx:repairPedVehicle") end, false, {help = TranslateCap('command_repair'), validate = false}) From cd8879ba68fc98bcbffa469d56e7ad51447ffd49 Mon Sep 17 00:00:00 2001 From: Epyi Date: Mon, 10 Jul 2023 10:47:01 +0200 Subject: [PATCH 008/148] Add {fix, repair} & support id --- [core]/es_extended/client/main.lua | 19 ++++++------------- [core]/es_extended/server/commands.lua | 15 +++++++++++---- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index dffc947a5..a7ae816aa 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -669,19 +669,12 @@ end) RegisterNetEvent("esx:repairPedVehicle") AddEventHandler("esx:repairPedVehicle", function() local GetVehiclePedIsIn = GetVehiclePedIsIn - - ESX.TriggerServerCallback("esx:isUserAdmin", function(admin) - if not admin then - return - end - local ped = ESX.PlayerData.ped - local vehicle = GetVehiclePedIsIn(ped, false) - SetVehicleEngineHealth(vehicle, 1000) - SetVehicleEngineOn(vehicle, true, true) - SetVehicleFixed(vehicle) - SetVehicleDirtLevel(vehicle, 0) - ESX.ShowNotification(TranslateCap('command_repair_success'), true, false, 140) - end) + local ped = ESX.PlayerData.ped + local vehicle = GetVehiclePedIsIn(ped, false) + SetVehicleEngineHealth(vehicle, 1000) + SetVehicleEngineOn(vehicle, true, true) + SetVehicleFixed(vehicle) + SetVehicleDirtLevel(vehicle, 0) end) RegisterNetEvent("esx:freezePlayer") diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index 16987142d..757582353 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -132,15 +132,22 @@ end, false, { } }) -ESX.RegisterCommand('repair', 'admin', function(xPlayer, args, showError) - local ped = GetPlayerPed(xPlayer.source) +ESX.RegisterCommand({ 'fix', 'repair' }, 'admin', function(xPlayer, args, showError) + local ped = GetPlayerPed(args.playerId.source) local pedVehicle = GetVehiclePedIsIn(ped, false) if not pedVehicle or GetPedInVehicleSeat(pedVehicle, -1) ~= ped then showError(TranslateCap('not_in_vehicle')) return end - xPlayer.triggerEvent("esx:repairPedVehicle") -end, false, {help = TranslateCap('command_repair'), validate = false}) + args.playerId.triggerEvent("esx:repairPedVehicle") + xPlayer.showNotification(TranslateCap('command_repair_success'), true, false, 140) +end, true, { + help = TranslateCap('command_repair'), + validate = false, + arguments = { + { name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player' } + } +}) ESX.RegisterCommand('setaccountmoney', 'admin', function(xPlayer, args, showError) if not args.playerId.getAccount(args.account) then From 38cddafdeb49bba037d70b946ca638a5dcda4955 Mon Sep 17 00:00:00 2001 From: wornysek <74452896+wornysek@users.noreply.github.com> Date: Mon, 10 Jul 2023 13:16:13 +0200 Subject: [PATCH 009/148] Added start items feature --- [core]/es_extended/config.lua | 3 +++ [core]/es_extended/server/main.lua | 24 ++++++++++++++++-------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/[core]/es_extended/config.lua b/[core]/es_extended/config.lua index a2bf5b6a0..fafd7a57a 100644 --- a/[core]/es_extended/config.lua +++ b/[core]/es_extended/config.lua @@ -18,6 +18,9 @@ Config.Accounts = { Config.StartingAccountMoney = { bank = 50000 } +Config.StartingInventoryItems = { -- table/false + ["water"] = 1, +} Config.DefaultSpawns = { -- If you want to have more spawn positions and select them randomly uncomment commented code or add more locations { x = 222.2027, y = -864.0162, z = 30.2922, heading = 1.0 }, diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index d1bc6e0f7..ad8f145a5 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -9,6 +9,10 @@ if Config.Multichar then newPlayer = newPlayer .. ', `firstname` = ?, `lastname` = ?, `dateofbirth` = ?, `sex` = ?, `height` = ?' end +if Config.StartingInventoryItems then + newPlayer = newPlayer .. ', `inventory` = ?' +end + if Config.Multichar or Config.Identity then loadPlayer = loadPlayer .. ', `firstname`, `lastname`, `dateofbirth`, `sex`, `height`' end @@ -77,17 +81,21 @@ function createESXPlayer(identifier, playerId, data) print(('[^2INFO^0] Player ^5%s^0 Has been granted admin permissions via ^5Ace Perms^7.'):format(playerId)) defaultGroup = "admin" end - + + local parameters = {} if not Config.Multichar then - MySQL.prepare(newPlayer, { json.encode(accounts), identifier, defaultGroup }, function() - loadESXPlayer(identifier, playerId, true) - end) + parameters = { json.encode(accounts), identifier, defaultGroup } else - MySQL.prepare(newPlayer, - { json.encode(accounts), identifier, defaultGroup, data.firstname, data.lastname, data.dateofbirth, data.sex, data.height }, function() - loadESXPlayer(identifier, playerId, true) - end) + parameters = { json.encode(accounts), identifier, defaultGroup, data.firstname, data.lastname, data.dateofbirth, data.sex, data.height } end + + if Config.StartingInventoryItems then + table.insert(parameters, json.encode(Config.StartingInventoryItems)) + end + + MySQL.prepare(newPlayer, parameters, function() + loadESXPlayer(identifier, playerId, true) + end) end if not Config.Multichar then From ed2cbafc5e737066fa91aa8cd28a99a5a1490c14 Mon Sep 17 00:00:00 2001 From: Epyi Date: Tue, 11 Jul 2023 16:11:38 +0200 Subject: [PATCH 010/148] Removed GetVehiclePedIsIn --- [core]/es_extended/client/main.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index aaa9053f0..15d2c70bb 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -666,7 +666,6 @@ end) RegisterNetEvent("esx:repairPedVehicle") AddEventHandler("esx:repairPedVehicle", function() - local GetVehiclePedIsIn = GetVehiclePedIsIn local ped = ESX.PlayerData.ped local vehicle = GetVehiclePedIsIn(ped, false) SetVehicleEngineHealth(vehicle, 1000) From 4839877b3cee4ef880523443b2d08ea277288285 Mon Sep 17 00:00:00 2001 From: Epyi Date: Tue, 11 Jul 2023 16:13:00 +0200 Subject: [PATCH 011/148] Added discord log --- [core]/es_extended/server/commands.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index 757582353..b033fb322 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -141,6 +141,13 @@ ESX.RegisterCommand({ 'fix', 'repair' }, 'admin', function(xPlayer, args, showEr end args.playerId.triggerEvent("esx:repairPedVehicle") xPlayer.showNotification(TranslateCap('command_repair_success'), true, false, 140) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Fix Vehicle /fix Triggered!", "pink", { + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, + { name = "Target", value = args.playerId.name, inline = true }, + }) + end end, true, { help = TranslateCap('command_repair'), validate = false, From ead06af6eb469bd004c6cb2e755fec93bf9d4f51 Mon Sep 17 00:00:00 2001 From: Epyi Date: Tue, 11 Jul 2023 17:22:43 +0200 Subject: [PATCH 012/148] Add notification to target - Add notification to target - Add missing locales (not translated) - Translate french locale --- [core]/es_extended/locales/cs.lua | 3 ++- [core]/es_extended/locales/da.lua | 3 ++- [core]/es_extended/locales/de.lua | 3 ++- [core]/es_extended/locales/en.lua | 3 ++- [core]/es_extended/locales/es.lua | 3 ++- [core]/es_extended/locales/fi.lua | 3 ++- [core]/es_extended/locales/fr.lua | 1 + [core]/es_extended/locales/hu.lua | 1 + [core]/es_extended/locales/it.lua | 3 ++- [core]/es_extended/locales/nl.lua | 3 ++- [core]/es_extended/locales/pl.lua | 3 ++- [core]/es_extended/locales/sl.lua | 3 ++- [core]/es_extended/locales/sr.lua | 3 ++- [core]/es_extended/locales/zh-cn.lua | 3 ++- [core]/es_extended/server/commands.lua | 3 +++ 15 files changed, 29 insertions(+), 12 deletions(-) diff --git a/[core]/es_extended/locales/cs.lua b/[core]/es_extended/locales/cs.lua index 4cd519112..69438ad3b 100644 --- a/[core]/es_extended/locales/cs.lua +++ b/[core]/es_extended/locales/cs.lua @@ -61,7 +61,8 @@ Locales["cs"] = { ['command_cardel'] = 'Odstranění vozidla v okolí', ['command_cardel_radius'] = 'Odstranění vozidla v určeném dosahu', ['command_repair'] = 'Repair your vehicle', - ['command_repair_success'] = "Successfully repaired vehicle", + ['command_repair_success'] = 'Successfully repaired vehicle', + ['command_repair_success_target'] = 'An admin repaired your vehicle', ['command_clear'] = 'Vymazat text v chatu', ['command_clearall'] = 'Vymazat chet pro všechny hráče', ['command_clearinventory'] = 'Vymazat všechny věci z invetáře hráče', diff --git a/[core]/es_extended/locales/da.lua b/[core]/es_extended/locales/da.lua index a5e87c12e..59fea38af 100644 --- a/[core]/es_extended/locales/da.lua +++ b/[core]/es_extended/locales/da.lua @@ -61,7 +61,8 @@ Locales["da"] = { ['command_cardel'] = 'Fjern køretøjer i nærheden', ['command_cardel_radius'] = 'Fjerner alle køretøjer inden for den specificerede radius', ['command_repair'] = 'Repair your vehicle', - ['command_repair_success'] = "Successfully repaired vehicle", + ['command_repair_success'] = 'Successfully repaired vehicle', + ['command_repair_success_target'] = 'An admin repaired your vehicle', ['command_clear'] = 'Ryd chatten', ['command_clearall'] = 'Ryd chatten for alle spillere', ['command_clearinventory'] = 'Fjern alle elementer fra spillernes inventar', diff --git a/[core]/es_extended/locales/de.lua b/[core]/es_extended/locales/de.lua index 9aac4d1c6..2cf5c3277 100644 --- a/[core]/es_extended/locales/de.lua +++ b/[core]/es_extended/locales/de.lua @@ -61,7 +61,8 @@ Locales["de"] = { ['command_cardel'] = 'Fahrzeuge entfernen', ['command_cardel_radius'] = 'Entfernt alle Fahrzeuge in einem bestimmten Radius', ['command_repair'] = 'Repair your vehicle', - ['command_repair_success'] = "Successfully repaired vehicle", + ['command_repair_success'] = 'Successfully repaired vehicle', + ['command_repair_success_target'] = 'An admin repaired your vehicle', ['command_clear'] = 'Textchat leeren', ['command_clearall'] = 'Textchat leeren für alle Spieler leeren', ['command_clearinventory'] = 'Alle Items von dem Inventar eines Spielers entfernen', diff --git a/[core]/es_extended/locales/en.lua b/[core]/es_extended/locales/en.lua index e2fe2bf0e..e8044acc1 100644 --- a/[core]/es_extended/locales/en.lua +++ b/[core]/es_extended/locales/en.lua @@ -61,7 +61,8 @@ Locales["en"] = { ['command_cardel'] = 'Remove vehicles in proximity', ['command_cardel_radius'] = 'Removes all vehicles within the specified radius', ['command_repair'] = 'Repair your vehicle', - ['command_repair_success'] = "Successfully repaired vehicle", + ['command_repair_success'] = 'Successfully repaired vehicle', + ['command_repair_success_target'] = 'An admin repaired your vehicle', ['command_clear'] = 'Clear chat Text', ['command_clearall'] = 'Clear chat Text for all players', ['command_clearinventory'] = 'Remove All items from the Players Inventory', diff --git a/[core]/es_extended/locales/es.lua b/[core]/es_extended/locales/es.lua index 7e4d89541..021705e54 100644 --- a/[core]/es_extended/locales/es.lua +++ b/[core]/es_extended/locales/es.lua @@ -61,7 +61,8 @@ Locales["es"] = { ['command_cardel'] = 'Eliminar vehículos cercanos', ['command_cardel_radius'] = 'Opcional, eliminar todos los vehículos en el radio especificado', ['command_repair'] = 'Repair your vehicle', - ['command_repair_success'] = "Successfully repaired vehicle", + ['command_repair_success'] = 'Successfully repaired vehicle', + ['command_repair_success_target'] = 'An admin repaired your vehicle', ['command_clear'] = 'Limpiar chat para ti', ['command_clearall'] = 'Limpiar chat para todos los jugadores', ['command_clearinventory'] = 'Limpiar el inventario del jugador', diff --git a/[core]/es_extended/locales/fi.lua b/[core]/es_extended/locales/fi.lua index 676484b8e..9ee9fd791 100644 --- a/[core]/es_extended/locales/fi.lua +++ b/[core]/es_extended/locales/fi.lua @@ -60,7 +60,8 @@ Locales["fi"] = { ['command_cardel'] = 'Poistaa ajoneuvon läheltä', ['command_cardel_radius'] = 'Valinnainen, poista kaikki ajoneuvot määritetyllä säteellä', ['command_repair'] = 'Repair your vehicle', - ['command_repair_success'] = "Successfully repaired vehicle", + ['command_repair_success'] = 'Successfully repaired vehicle', + ['command_repair_success_target'] = 'An admin repaired your vehicle', ['command_clear'] = 'Tyhjennä keskustelu', ['command_clearall'] = 'Tyhjennä keskustelu kaikilta pelaajilta', ['command_clearinventory'] = 'Tyhjennä pelaajan reppu', diff --git a/[core]/es_extended/locales/fr.lua b/[core]/es_extended/locales/fr.lua index a323202dc..1a11bb35d 100644 --- a/[core]/es_extended/locales/fr.lua +++ b/[core]/es_extended/locales/fr.lua @@ -62,6 +62,7 @@ Locales["fr"] = { ["command_cardel_radius"] = "Supprime tous les véhicules dans un rayon spécifié", ["command_repair"] = "Réparer votre véhicule", ["command_repair_success"] = "Véhicule réparé avec succès", + ["command_repair_success_target"] = "Votre véhicule a été réparé par un membre du staff", ["command_clear"] = "Effacer le chat", ["command_clearall"] = "Effacer le chat de tous les joueurs", ["command_clearinventory"] = "Retirer tous les objets de l'inventaire du joueur", diff --git a/[core]/es_extended/locales/hu.lua b/[core]/es_extended/locales/hu.lua index 0a58f3fb0..7e6b039d2 100644 --- a/[core]/es_extended/locales/hu.lua +++ b/[core]/es_extended/locales/hu.lua @@ -62,6 +62,7 @@ Locales["hu"] = { ["command_cardel_radius"] = "Megadott radiusban lévő járművek törlése", ["command_repair"] = "Repair your vehicle", ["command_repair_success"] = "Successfully repaired vehicle", + ["command_repair_success_target"] = "An admin repaired your vehicle", ["command_clear"] = "Chat ürítése", ["command_clearall"] = "Chat ürítése minden játékosnál", ["command_clearinventory"] = "Minden tárgy törlése a játékos inventoryból", diff --git a/[core]/es_extended/locales/it.lua b/[core]/es_extended/locales/it.lua index ae66db6c3..d3b0e396e 100644 --- a/[core]/es_extended/locales/it.lua +++ b/[core]/es_extended/locales/it.lua @@ -61,7 +61,8 @@ Locales["it"] = { ['command_cardel'] = 'Rimuovi i veicoli nelle prossimità', ['command_cardel_radius'] = 'Rimuovi i veicoli nel raggio specificato', ['command_repair'] = 'Repair your vehicle', - ['command_repair_success'] = "Successfully repaired vehicle", + ['command_repair_success'] = 'Successfully repaired vehicle', + ['command_repair_success_target'] = 'An admin repaired your vehicle', ['command_clear'] = 'Pulisci la chat testuale', ['command_clearall'] = 'Pulisci la chat testuale per tutti i giocatori', ['command_clearinventory'] = 'Rimuovi tutti gli oggetti dall\' inventario del giocatore', diff --git a/[core]/es_extended/locales/nl.lua b/[core]/es_extended/locales/nl.lua index f870aec77..c8a4132d3 100644 --- a/[core]/es_extended/locales/nl.lua +++ b/[core]/es_extended/locales/nl.lua @@ -61,7 +61,8 @@ Locales["nl"] = { ['command_cardel'] = 'Verwijder voertuigen in straal', ['command_cardel_radius'] = 'Verwijderd alle voertuigen in gewenste straal', ['command_repair'] = 'Repair your vehicle', - ['command_repair_success'] = "Successfully repaired vehicle", + ['command_repair_success'] = 'Successfully repaired vehicle', + ['command_repair_success_target'] = 'An admin repaired your vehicle', ['command_clear'] = 'Verwijder chat berichten', ['command_clearall'] = 'Verwijder chat berichten voor alle spelers', ['command_clearinventory'] = 'Verwijder alle items van een speler zijn inventory', diff --git a/[core]/es_extended/locales/pl.lua b/[core]/es_extended/locales/pl.lua index 1ff34d659..cee949718 100644 --- a/[core]/es_extended/locales/pl.lua +++ b/[core]/es_extended/locales/pl.lua @@ -59,7 +59,8 @@ Locales["pl"] = { ['command_cardel'] = 'usuń pojazd w pobliżu', ['command_cardel_radius'] = 'opcjonalnie usuń każdy pojazd w obszarze', ['command_repair'] = 'Repair your vehicle', - ['command_repair_success'] = "Successfully repaired vehicle", + ['command_repair_success'] = 'Successfully repaired vehicle', + ['command_repair_success_target'] = 'An admin repaired your vehicle', ['command_clear'] = 'wyczyść czat', ['command_clearall'] = 'wyczyść czat dla wszystkich graczy', ['command_clearinventory'] = 'wyczyść ekwipunek gracza', diff --git a/[core]/es_extended/locales/sl.lua b/[core]/es_extended/locales/sl.lua index 45e2884b7..a502d48e0 100644 --- a/[core]/es_extended/locales/sl.lua +++ b/[core]/es_extended/locales/sl.lua @@ -61,7 +61,8 @@ Locales["sl"] = { ['command_cardel'] = 'Odstranite vozila v bližini', ['command_cardel_radius'] = 'Odstrani vsa vozila v določenem radiju', ['command_repair'] = 'Repair your vehicle', - ['command_repair_success'] = "Successfully repaired vehicle", + ['command_repair_success'] = 'Successfully repaired vehicle', + ['command_repair_success_target'] = 'An admin repaired your vehicle', ['command_clear'] = 'Odstrani vsa sporocila v CHATU', ['command_clearall'] = 'Počisti besedilo klepeta za vse igralce', ['command_clearinventory'] = 'Vzemi vse stvari iz osebove shrambe', diff --git a/[core]/es_extended/locales/sr.lua b/[core]/es_extended/locales/sr.lua index 8354dfb9e..a6a15ebfa 100644 --- a/[core]/es_extended/locales/sr.lua +++ b/[core]/es_extended/locales/sr.lua @@ -61,7 +61,8 @@ Locales["sr"] = { ['command_cardel'] = 'Obrišite vozilo u blizini', ['command_cardel_radius'] = 'Obrišite sva vozila unutar navedenog radiusa', ['command_repair'] = 'Repair your vehicle', - ['command_repair_success'] = "Successfully repaired vehicle", + ['command_repair_success'] = 'Successfully repaired vehicle', + ['command_repair_success_target'] = 'An admin repaired your vehicle', ['command_clear'] = 'Obrišite chat', ['command_clearall'] = 'Obrišite chat za sve igrače', ['command_clearinventory'] = 'Obrišite sve stvari iz inventara igrača', diff --git a/[core]/es_extended/locales/zh-cn.lua b/[core]/es_extended/locales/zh-cn.lua index 73d840d30..b2729714e 100644 --- a/[core]/es_extended/locales/zh-cn.lua +++ b/[core]/es_extended/locales/zh-cn.lua @@ -61,7 +61,8 @@ Locales["zh-cn"] = { ['command_cardel'] = '删除附近载具', ['command_cardel_radius'] = '可选,删除指定半径内的所有载具', ['command_repair'] = 'Repair your vehicle', - ['command_repair_success'] = "Successfully repaired vehicle", + ['command_repair_success'] = 'Successfully repaired vehicle', + ['command_repair_success_target'] = 'An admin repaired your vehicle', ['command_clear'] = '清除聊天记录', ['command_clearall'] = '清除所有玩家的聊天记录', ['command_clearinventory'] = '清除玩家库存', diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index b033fb322..e23e8d2af 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -141,6 +141,9 @@ ESX.RegisterCommand({ 'fix', 'repair' }, 'admin', function(xPlayer, args, showEr end args.playerId.triggerEvent("esx:repairPedVehicle") xPlayer.showNotification(TranslateCap('command_repair_success'), true, false, 140) + if xPlayer.source ~= args.playerId.source then + args.playerId.showNotification(TranslateCap('command_repair_success_target'), true, false, 140) + end if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Fix Vehicle /fix Triggered!", "pink", { { name = "Player", value = xPlayer.name, inline = true }, From 4d5ba67ba514c5e9fe1f33bbc5276556b95bc308 Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Tue, 11 Jul 2023 17:31:35 +0200 Subject: [PATCH 013/148] :recycle: replace args.playerId to xTarget --- [core]/es_extended/server/commands.lua | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index e23e8d2af..17a1dfcfd 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -133,22 +133,23 @@ end, false, { }) ESX.RegisterCommand({ 'fix', 'repair' }, 'admin', function(xPlayer, args, showError) - local ped = GetPlayerPed(args.playerId.source) + local xTarget = args.playerId + local ped = GetPlayerPed(xTarget.source) local pedVehicle = GetVehiclePedIsIn(ped, false) if not pedVehicle or GetPedInVehicleSeat(pedVehicle, -1) ~= ped then showError(TranslateCap('not_in_vehicle')) return end - args.playerId.triggerEvent("esx:repairPedVehicle") + xTarget.triggerEvent("esx:repairPedVehicle") xPlayer.showNotification(TranslateCap('command_repair_success'), true, false, 140) - if xPlayer.source ~= args.playerId.source then - args.playerId.showNotification(TranslateCap('command_repair_success_target'), true, false, 140) + if xPlayer.source ~= xTarget.source then + xTarget.showNotification(TranslateCap('command_repair_success_target'), true, false, 140) end if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Fix Vehicle /fix Triggered!", "pink", { { name = "Player", value = xPlayer.name, inline = true }, { name = "ID", value = xPlayer.source, inline = true }, - { name = "Target", value = args.playerId.name, inline = true }, + { name = "Target", value = xTarget.name, inline = true }, }) end end, true, { From 6e861658124d69032d7aaa4467cb78f1f5767c49 Mon Sep 17 00:00:00 2001 From: Dolu Date: Wed, 12 Jul 2023 01:39:57 +0200 Subject: [PATCH 014/148] refactor(esx_multicharacter/client): Smoother spawn transition Make the spawn transition smoother --- [core]/esx_multicharacter/client/main.lua | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/[core]/esx_multicharacter/client/main.lua b/[core]/esx_multicharacter/client/main.lua index fd2b2c06c..4b30bb03f 100644 --- a/[core]/esx_multicharacter/client/main.lua +++ b/[core]/esx_multicharacter/client/main.lua @@ -292,7 +292,9 @@ if ESX.GetConfig().Multichar then end) repeat Wait(200) until finished end - DoScreenFadeOut(100) + + DoScreenFadeOut(750) + Wait(750) SetCamActive(cam, false) RenderScriptCams(false, false, 0, true, true) @@ -302,8 +304,11 @@ if ESX.GetConfig().Multichar then SetEntityCoordsNoOffset(playerPed, spawn.x, spawn.y, spawn.z, false, false, false, true) SetEntityHeading(playerPed, spawn.heading) if not isNew then TriggerEvent('skinchanger:loadSkin', skin or Characters[spawned].skin) end - Wait(400) - DoScreenFadeIn(400) + Wait(500) + + DoScreenFadeIn(750) + Wait(750) + repeat Wait(200) until not IsScreenFadedOut() TriggerServerEvent('esx:onPlayerSpawn') TriggerEvent('esx:onPlayerSpawn') From 3a61d9c78f6fd14751521d30b481b288b79881e7 Mon Sep 17 00:00:00 2001 From: Cookiieezz <54184284+Cookiieezz@users.noreply.github.com> Date: Wed, 12 Jul 2023 19:14:32 +0200 Subject: [PATCH 015/148] Update config.weapons.lua From c41a0813875aab65d85b60b74346c3760f7d9ea5 Mon Sep 17 00:00:00 2001 From: Cookiieezz <54184284+Cookiieezz@users.noreply.github.com> Date: Wed, 12 Jul 2023 19:15:19 +0200 Subject: [PATCH 016/148] Update config.weapons.lua --- [core]/es_extended/config.weapons.lua | 1341 +++++++++++++------------ 1 file changed, 671 insertions(+), 670 deletions(-) diff --git a/[core]/es_extended/config.weapons.lua b/[core]/es_extended/config.weapons.lua index 83bdd8d7c..db1bce0c4 100644 --- a/[core]/es_extended/config.weapons.lua +++ b/[core]/es_extended/config.weapons.lua @@ -11,978 +11,979 @@ Config.DefaultWeaponTints = { Config.Weapons = { -- Melee - { name = 'WEAPON_DAGGER', label = TranslateCap('weapon_dagger'), components = {} }, - { name = 'WEAPON_BAT', label = TranslateCap('weapon_bat'), components = {} }, - { name = 'WEAPON_BATTLEAXE', label = TranslateCap('weapon_battleaxe'), components = {} }, + {name = 'WEAPON_DAGGER', label = TranslateCap('weapon_dagger'), components = {}}, + {name = 'WEAPON_BAT', label = TranslateCap('weapon_bat'), components = {}}, + {name = 'WEAPON_BATTLEAXE', label = TranslateCap('weapon_battleaxe'), components = {}}, { name = 'WEAPON_KNUCKLE', label = TranslateCap('weapon_knuckle'), components = { - { name = 'knuckle_base', label = TranslateCap('component_knuckle_base'), hash = `COMPONENT_KNUCKLE_VARMOD_BASE` }, - { name = 'knuckle_pimp', label = TranslateCap('component_knuckle_pimp'), hash = `COMPONENT_KNUCKLE_VARMOD_PIMP` }, - { name = 'knuckle_ballas', label = TranslateCap('component_knuckle_ballas'), hash = `COMPONENT_KNUCKLE_VARMOD_BALLAS` }, - { name = 'knuckle_dollar', label = TranslateCap('component_knuckle_dollar'), hash = `COMPONENT_KNUCKLE_VARMOD_DOLLAR` }, - { name = 'knuckle_diamond', label = TranslateCap('component_knuckle_diamond'), hash = `COMPONENT_KNUCKLE_VARMOD_DIAMOND` }, - { name = 'knuckle_hate', label = TranslateCap('component_knuckle_hate'), hash = `COMPONENT_KNUCKLE_VARMOD_HATE` }, - { name = 'knuckle_love', label = TranslateCap('component_knuckle_love'), hash = `COMPONENT_KNUCKLE_VARMOD_LOVE` }, - { name = 'knuckle_player', label = TranslateCap('component_knuckle_player'), hash = `COMPONENT_KNUCKLE_VARMOD_PLAYER` }, - { name = 'knuckle_king', label = TranslateCap('component_knuckle_king'), hash = `COMPONENT_KNUCKLE_VARMOD_KING` }, - { name = 'knuckle_vagos', label = TranslateCap('component_knuckle_vagos'), hash = `COMPONENT_KNUCKLE_VARMOD_VAGOS` } - } - }, - { name = 'WEAPON_BOTTLE', label = TranslateCap('weapon_bottle'), components = {} }, - { name = 'WEAPON_CROWBAR', label = TranslateCap('weapon_crowbar'), components = {} }, - { name = 'WEAPON_FLASHLIGHT', label = TranslateCap('weapon_flashlight'), components = {} }, - { name = 'WEAPON_GOLFCLUB', label = TranslateCap('weapon_golfclub'), components = {} }, - { name = 'WEAPON_HAMMER', label = TranslateCap('weapon_hammer'), components = {} }, - { name = 'WEAPON_HATCHET', label = TranslateCap('weapon_hatchet'), components = {} }, - { name = 'WEAPON_KNIFE', label = TranslateCap('weapon_knife'), components = {} }, - { name = 'WEAPON_MACHETE', label = TranslateCap('weapon_machete'), components = {} }, - { name = 'WEAPON_NIGHTSTICK', label = TranslateCap('weapon_nightstick'), components = {} }, - { name = 'WEAPON_WRENCH', label = TranslateCap('weapon_wrench'), components = {} }, - { name = 'WEAPON_POOLCUE', label = TranslateCap('weapon_poolcue'), components = {} }, - { name = 'WEAPON_STONE_HATCHET', label = TranslateCap('weapon_stone_hatchet'), components = {} }, + {name = 'knuckle_base', label = TranslateCap('component_knuckle_base'), hash = `COMPONENT_KNUCKLE_VARMOD_BASE`}, + {name = 'knuckle_pimp', label = TranslateCap('component_knuckle_pimp'), hash = `COMPONENT_KNUCKLE_VARMOD_PIMP`}, + {name = 'knuckle_ballas', label = TranslateCap('component_knuckle_ballas'), hash = `COMPONENT_KNUCKLE_VARMOD_BALLAS`}, + {name = 'knuckle_dollar', label = TranslateCap('component_knuckle_dollar'), hash = `COMPONENT_KNUCKLE_VARMOD_DOLLAR`}, + {name = 'knuckle_diamond', label = TranslateCap('component_knuckle_diamond'), hash = `COMPONENT_KNUCKLE_VARMOD_DIAMOND`}, + {name = 'knuckle_hate', label = TranslateCap('component_knuckle_hate'), hash = `COMPONENT_KNUCKLE_VARMOD_HATE`}, + {name = 'knuckle_love', label = TranslateCap('component_knuckle_love'), hash = `COMPONENT_KNUCKLE_VARMOD_LOVE`}, + {name = 'knuckle_player', label = TranslateCap('component_knuckle_player'), hash = `COMPONENT_KNUCKLE_VARMOD_PLAYER`}, + {name = 'knuckle_king', label = TranslateCap('component_knuckle_king'), hash = `COMPONENT_KNUCKLE_VARMOD_KING`}, + {name = 'knuckle_vagos', label = TranslateCap('component_knuckle_vagos'), hash = `COMPONENT_KNUCKLE_VARMOD_VAGOS`} + } + }, + {name = 'WEAPON_BOTTLE', label = TranslateCap('weapon_bottle'), components = {}}, + {name = 'WEAPON_CROWBAR', label = TranslateCap('weapon_crowbar'), components = {}}, + {name = 'WEAPON_FLASHLIGHT', label = TranslateCap('weapon_flashlight'), components = {}}, + {name = 'WEAPON_GOLFCLUB', label = TranslateCap('weapon_golfclub'), components = {}}, + {name = 'WEAPON_HAMMER', label = TranslateCap('weapon_hammer'), components = {}}, + {name = 'WEAPON_HATCHET', label = TranslateCap('weapon_hatchet'), components = {}}, + {name = 'WEAPON_KNIFE', label = TranslateCap('weapon_knife'), components = {}}, + {name = 'WEAPON_MACHETE', label = TranslateCap('weapon_machete'), components = {}}, + {name = 'WEAPON_NIGHTSTICK', label = TranslateCap('weapon_nightstick'), components = {}}, + {name = 'WEAPON_WRENCH', label = TranslateCap('weapon_wrench'), components = {}}, + {name = 'WEAPON_POOLCUE', label = TranslateCap('weapon_poolcue'), components = {}}, + {name = 'WEAPON_STONE_HATCHET', label = TranslateCap('weapon_stone_hatchet'), components = {}}, { name = 'WEAPON_SWITCHBLADE', label = TranslateCap('weapon_switchblade'), components = { - { name = 'handle_default', label = TranslateCap('component_handle_default'), hash = `COMPONENT_SWITCHBLADE_VARMOD_BASE` }, - { name = 'handle_vip', label = TranslateCap('component_handle_vip'), hash = `COMPONENT_SWITCHBLADE_VARMOD_VAR1` }, - { name = 'handle_bodyguard', label = TranslateCap('component_handle_bodyguard'), hash = `COMPONENT_SWITCHBLADE_VARMOD_VAR2` } + {name = 'handle_default', label = TranslateCap('component_handle_default'), hash = `COMPONENT_SWITCHBLADE_VARMOD_BASE`}, + {name = 'handle_vip', label = TranslateCap('component_handle_vip'), hash = `COMPONENT_SWITCHBLADE_VARMOD_VAR1`}, + {name = 'handle_bodyguard', label = TranslateCap('component_handle_bodyguard'), hash = `COMPONENT_SWITCHBLADE_VARMOD_VAR2`} } }, -- Handguns { name = 'WEAPON_APPISTOL', label = TranslateCap('weapon_appistol'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_APPISTOL_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_APPISTOL_CLIP_02` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP` }, - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_APPISTOL_VARMOD_LUXE` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_APPISTOL_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_APPISTOL_CLIP_02`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP`}, + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_APPISTOL_VARMOD_LUXE`} } }, - { name = 'WEAPON_CERAMICPISTOL', label = TranslateCap('weapon_ceramicpistol'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` } }, + {name = 'WEAPON_CERAMICPISTOL', label = TranslateCap('weapon_ceramicpistol'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}}, { name = 'WEAPON_COMBATPISTOL', label = TranslateCap('weapon_combatpistol'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMBATPISTOL_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMBATPISTOL_CLIP_02` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP` }, - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_COMBATPISTOL_VARMOD_LOWRIDER` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMBATPISTOL_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMBATPISTOL_CLIP_02`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP`}, + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_COMBATPISTOL_VARMOD_LOWRIDER`} } }, - { name = 'WEAPON_DOUBLEACTION', label = TranslateCap('weapon_doubleaction'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` } }, - { name = 'WEAPON_NAVYREVOLVER', label = TranslateCap('weapon_navyrevolver'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` } }, - { name = 'WEAPON_FLAREGUN', label = TranslateCap('weapon_flaregun'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_flaregun'), hash = `AMMO_FLAREGUN` } }, - { name = 'WEAPON_GADGETPISTOL', label = TranslateCap('weapon_gadgetpistol'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` } }, + {name = 'WEAPON_DOUBLEACTION', label = TranslateCap('weapon_doubleaction'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}}, + {name = 'WEAPON_NAVYREVOLVER', label = TranslateCap('weapon_navyrevolver'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}}, + {name = 'WEAPON_FLAREGUN', label = TranslateCap('weapon_flaregun'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_flaregun'), hash = `AMMO_FLAREGUN`}}, + {name = 'WEAPON_GADGETPISTOL', label = TranslateCap('weapon_gadgetpistol'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}}, { name = 'WEAPON_HEAVYPISTOL', label = TranslateCap('weapon_heavypistol'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_HEAVYPISTOL_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_HEAVYPISTOL_CLIP_02` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP` }, - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_HEAVYPISTOL_VARMOD_LUXE` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_HEAVYPISTOL_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_HEAVYPISTOL_CLIP_02`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP`}, + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_HEAVYPISTOL_VARMOD_LUXE`} } }, { name = 'WEAPON_REVOLVER', label = TranslateCap('weapon_revolver'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, + ammo = {label = TranslateCap('ammo_rounds'),hash = `AMMO_PISTOL`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_REVOLVER_CLIP_01` }, - { name = 'vip_finish', label = TranslateCap('component_vip_finish'), hash = `COMPONENT_REVOLVER_VARMOD_BOSS` }, - { name = 'bodyguard_finish', label = TranslateCap('component_bodyguard_finish'), hash = `COMPONENT_REVOLVER_VARMOD_GOON` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_REVOLVER_CLIP_01`}, + {name = 'vip_finish', label = TranslateCap('component_vip_finish'), hash = `COMPONENT_REVOLVER_VARMOD_BOSS`}, + {name = 'bodyguard_finish', label = TranslateCap('component_bodyguard_finish'), hash = `COMPONENT_REVOLVER_VARMOD_GOON`} } }, { name = 'WEAPON_REVOLVER_MK2', label = TranslateCap('weapon_revolver_mk2'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, - tints = Config.DefaultWeaponTints, - components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_REVOLVER_MK2_CLIP_01` }, - { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_REVOLVER_MK2_CLIP_TRACER` }, - { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_REVOLVER_MK2_CLIP_INCENDIARY` }, - { name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_REVOLVER_MK2_CLIP_HOLLOWPOINT` }, - { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_REVOLVER_MK2_CLIP_FMJ` }, - { name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS` }, - { name = 'scope_small', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH` }, - { name = 'compensator', label = TranslateCap('component_compensator'), hash = `COMPONENT_AT_PI_COMP_03` }, - { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_REVOLVER_MK2_CAMO` }, - { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_REVOLVER_MK2_CAMO_02` }, - { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_REVOLVER_MK2_CAMO_03` }, - { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_REVOLVER_MK2_CAMO_04` }, - { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_REVOLVER_MK2_CAMO_05` }, - { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_REVOLVER_MK2_CAMO_06` }, - { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_REVOLVER_MK2_CAMO_07` }, - { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_REVOLVER_MK2_CAMO_08` }, - { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_REVOLVER_MK2_CAMO_09` }, - { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_REVOLVER_MK2_CAMO_10` }, - { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_REVOLVER_MK2_CAMO_IND_01` } - } - }, - { name = 'WEAPON_MARKSMANPISTOL', label = TranslateCap('weapon_marksmanpistol'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` } }, + ammo = {label = TranslateCap('ammo_rounds'),hash = `AMMO_PISTOL`}, + tints = Config.DefaultWeaponTints, + components = { + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_REVOLVER_MK2_CLIP_01`}, + {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_REVOLVER_MK2_CLIP_TRACER`}, + {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_REVOLVER_MK2_CLIP_INCENDIARY`}, + {name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_REVOLVER_MK2_CLIP_HOLLOWPOINT`}, + {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_REVOLVER_MK2_CLIP_FMJ`}, + {name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS`}, + {name = 'scope_small', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH`}, + {name = 'compensator', label = TranslateCap('component_compensator'), hash = `COMPONENT_AT_PI_COMP_03`}, + {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_REVOLVER_MK2_CAMO`}, + {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_REVOLVER_MK2_CAMO_02`}, + {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_REVOLVER_MK2_CAMO_03`}, + {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_REVOLVER_MK2_CAMO_04`}, + {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_REVOLVER_MK2_CAMO_05`}, + {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_REVOLVER_MK2_CAMO_06`}, + {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_REVOLVER_MK2_CAMO_07`}, + {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_REVOLVER_MK2_CAMO_08`}, + {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_REVOLVER_MK2_CAMO_09`}, + {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_REVOLVER_MK2_CAMO_10`}, + {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_REVOLVER_MK2_CAMO_IND_01`} + } + }, + {name = 'WEAPON_MARKSMANPISTOL', label = TranslateCap('weapon_marksmanpistol'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}}, { name = 'WEAPON_PISTOL', label = TranslateCap('weapon_pistol'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_PISTOL_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_PISTOL_CLIP_02` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP_02` }, - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_PISTOL_VARMOD_LUXE` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_PISTOL_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_PISTOL_CLIP_02`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP_02`}, + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_PISTOL_VARMOD_LUXE`} } }, { name = 'WEAPON_PISTOL_MK2', label = TranslateCap('weapon_pistol_mk2'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, - tints = Config.DefaultWeaponTints, - components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_PISTOL_MK2_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_PISTOL_MK2_CLIP_02` }, - { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_PISTOL_MK2_CLIP_TRACER` }, - { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_PISTOL_MK2_CLIP_INCENDIARY` }, - { name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_PISTOL_MK2_CLIP_HOLLOWPOINT` }, - { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_PISTOL_MK2_CLIP_FMJ` }, - { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_PI_RAIL` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH_02` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP_02` }, - { name = 'compensator', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_COMP` }, - { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_PISTOL_MK2_CAMO` }, - { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_PISTOL_MK2_CAMO_02` }, - { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_PISTOL_MK2_CAMO_03` }, - { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_PISTOL_MK2_CAMO_04` }, - { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_PISTOL_MK2_CAMO_05` }, - { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_PISTOL_MK2_CAMO_06` }, - { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_PISTOL_MK2_CAMO_07` }, - { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_PISTOL_MK2_CAMO_08` }, - { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_PISTOL_MK2_CAMO_09` }, - { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_PISTOL_MK2_CAMO_10` }, - { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_PISTOL_MK2_CAMO_IND_01` }, - { name = 'camo_slide_finish', label = TranslateCap('component_camo_slide_finish'), hash = `COMPONENT_PISTOL_MK2_CAMO_SLIDE` }, - { name = 'camo_slide_finish2', label = TranslateCap('component_camo_slide_finish2'), hash = `COMPONENT_PISTOL_MK2_CAMO_02_SLIDE` }, - { name = 'camo_slide_finish3', label = TranslateCap('component_camo_slide_finish3'), hash = `COMPONENT_PISTOL_MK2_CAMO_03_SLIDE` }, - { name = 'camo_slide_finish4', label = TranslateCap('component_camo_slide_finish4'), hash = `COMPONENT_PISTOL_MK2_CAMO_04_SLIDE` }, - { name = 'camo_slide_finish5', label = TranslateCap('component_camo_slide_finish5'), hash = `COMPONENT_PISTOL_MK2_CAMO_05_SLIDE` }, - { name = 'camo_slide_finish6', label = TranslateCap('component_camo_slide_finish6'), hash = `COMPONENT_PISTOL_MK2_CAMO_06_SLIDE` }, - { name = 'camo_slide_finish7', label = TranslateCap('component_camo_slide_finish7'), hash = `COMPONENT_PISTOL_MK2_CAMO_07_SLIDE` }, - { name = 'camo_slide_finish8', label = TranslateCap('component_camo_slide_finish8'), hash = `COMPONENT_PISTOL_MK2_CAMO_08_SLIDE` }, - { name = 'camo_slide_finish9', label = TranslateCap('component_camo_slide_finish9'), hash = `COMPONENT_PISTOL_MK2_CAMO_09_SLIDE` }, - { name = 'camo_slide_finish10', label = TranslateCap('component_camo_slide_finish10'), hash = `COMPONENT_PISTOL_MK2_CAMO_10_SLIDE` }, - { name = 'camo_slide_finish11', label = TranslateCap('component_camo_slide_finish11'), hash = `COMPONENT_PISTOL_MK2_CAMO_IND_01_SLIDE` } + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, + tints = Config.DefaultWeaponTints, + components = { + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_PISTOL_MK2_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_PISTOL_MK2_CLIP_02`}, + {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_PISTOL_MK2_CLIP_TRACER`}, + {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_PISTOL_MK2_CLIP_INCENDIARY`}, + {name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_PISTOL_MK2_CLIP_HOLLOWPOINT`}, + {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_PISTOL_MK2_CLIP_FMJ`}, + {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_PI_RAIL`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH_02`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP_02`}, + {name = 'compensator', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_COMP`}, + {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_PISTOL_MK2_CAMO`}, + {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_PISTOL_MK2_CAMO_02`}, + {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_PISTOL_MK2_CAMO_03`}, + {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_PISTOL_MK2_CAMO_04`}, + {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_PISTOL_MK2_CAMO_05`}, + {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_PISTOL_MK2_CAMO_06`}, + {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_PISTOL_MK2_CAMO_07`}, + {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_PISTOL_MK2_CAMO_08`}, + {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_PISTOL_MK2_CAMO_09`}, + {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_PISTOL_MK2_CAMO_10`}, + {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_PISTOL_MK2_CAMO_IND_01`}, + {name = 'camo_slide_finish', label = TranslateCap('component_camo_slide_finish'), hash = `COMPONENT_PISTOL_MK2_CAMO_SLIDE`}, + {name = 'camo_slide_finish2', label = TranslateCap('component_camo_slide_finish2'), hash = `COMPONENT_PISTOL_MK2_CAMO_02_SLIDE`}, + {name = 'camo_slide_finish3', label = TranslateCap('component_camo_slide_finish3'), hash = `COMPONENT_PISTOL_MK2_CAMO_03_SLIDE`}, + {name = 'camo_slide_finish4', label = TranslateCap('component_camo_slide_finish4'), hash = `COMPONENT_PISTOL_MK2_CAMO_04_SLIDE`}, + {name = 'camo_slide_finish5', label = TranslateCap('component_camo_slide_finish5'), hash = `COMPONENT_PISTOL_MK2_CAMO_05_SLIDE`}, + {name = 'camo_slide_finish6', label = TranslateCap('component_camo_slide_finish6'), hash = `COMPONENT_PISTOL_MK2_CAMO_06_SLIDE`}, + {name = 'camo_slide_finish7', label = TranslateCap('component_camo_slide_finish7'), hash = `COMPONENT_PISTOL_MK2_CAMO_07_SLIDE`}, + {name = 'camo_slide_finish8', label = TranslateCap('component_camo_slide_finish8'), hash = `COMPONENT_PISTOL_MK2_CAMO_08_SLIDE`}, + {name = 'camo_slide_finish9', label = TranslateCap('component_camo_slide_finish9'), hash = `COMPONENT_PISTOL_MK2_CAMO_09_SLIDE`}, + {name = 'camo_slide_finish10', label = TranslateCap('component_camo_slide_finish10'), hash = `COMPONENT_PISTOL_MK2_CAMO_10_SLIDE`}, + {name = 'camo_slide_finish11', label = TranslateCap('component_camo_slide_finish11'), hash = `COMPONENT_PISTOL_MK2_CAMO_IND_01_SLIDE`} } }, { name = 'WEAPON_PISTOL50', label = TranslateCap('weapon_pistol50'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_PISTOL50_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_PISTOL50_CLIP_02` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_PISTOL50_VARMOD_LUXE` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_PISTOL50_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_PISTOL50_CLIP_02`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_PISTOL50_VARMOD_LUXE`} } }, { name = 'WEAPON_SNSPISTOL', label = TranslateCap('weapon_snspistol'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SNSPISTOL_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SNSPISTOL_CLIP_02` }, - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SNSPISTOL_VARMOD_LOWRIDER` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SNSPISTOL_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SNSPISTOL_CLIP_02`}, + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SNSPISTOL_VARMOD_LOWRIDER`} } }, { name = 'WEAPON_SNSPISTOL_MK2', label = TranslateCap('weapon_snspistol_mk2'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, - tints = Config.DefaultWeaponTints, - components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_02` }, - { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_TRACER` }, - { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_INCENDIARY` }, - { name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_HOLLOWPOINT` }, - { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_FMJ` }, - { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_PI_RAIL_02` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH_03` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP_02` }, - { name = 'compensator', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_COMP_02` }, - { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO` }, - { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_02` }, - { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_03` }, - { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_04` }, - { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_05` }, - { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_06` }, - { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_07` }, - { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_08` }, - { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_09` }, - { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_10` }, - { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_IND_01` }, - { name = 'camo_slide_finish', label = TranslateCap('component_camo_slide_finish'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_SLIDE` }, - { name = 'camo_slide_finish2', label = TranslateCap('component_camo_slide_finish2'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_02_SLIDE` }, - { name = 'camo_slide_finish3', label = TranslateCap('component_camo_slide_finish3'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_03_SLIDE` }, - { name = 'camo_slide_finish4', label = TranslateCap('component_camo_slide_finish4'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_04_SLIDE` }, - { name = 'camo_slide_finish5', label = TranslateCap('component_camo_slide_finish5'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_05_SLIDE` }, - { name = 'camo_slide_finish6', label = TranslateCap('component_camo_slide_finish6'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_06_SLIDE` }, - { name = 'camo_slide_finish7', label = TranslateCap('component_camo_slide_finish7'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_07_SLIDE` }, - { name = 'camo_slide_finish8', label = TranslateCap('component_camo_slide_finish8'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_08_SLIDE` }, - { name = 'camo_slide_finish9', label = TranslateCap('component_camo_slide_finish9'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_09_SLIDE` }, - { name = 'camo_slide_finish10', label = TranslateCap('component_camo_slide_finish10'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_10_SLIDE` }, - { name = 'camo_slide_finish11', label = TranslateCap('component_camo_slide_finish11'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_IND_01_SLIDE` } - } - }, - { name = 'WEAPON_STUNGUN', label = TranslateCap('weapon_stungun'), tints = Config.DefaultWeaponTints, components = {} }, - { name = 'WEAPON_RAYPISTOL', label = TranslateCap('weapon_raypistol'), tints = Config.DefaultWeaponTints, components = {} }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, + tints = Config.DefaultWeaponTints, + components = { + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_02`}, + {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_TRACER`}, + {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_INCENDIARY`}, + {name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_HOLLOWPOINT`}, + {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_FMJ`}, + {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_PI_RAIL_02`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH_03`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP_02`}, + {name = 'compensator', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_COMP_02`}, + {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO`}, + {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_02`}, + {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_03`}, + {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_04`}, + {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_05`}, + {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_06`}, + {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_07`}, + {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_08`}, + {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_09`}, + {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_10`}, + {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_IND_01`}, + {name = 'camo_slide_finish', label = TranslateCap('component_camo_slide_finish'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_SLIDE`}, + {name = 'camo_slide_finish2', label = TranslateCap('component_camo_slide_finish2'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_02_SLIDE`}, + {name = 'camo_slide_finish3', label = TranslateCap('component_camo_slide_finish3'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_03_SLIDE`}, + {name = 'camo_slide_finish4', label = TranslateCap('component_camo_slide_finish4'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_04_SLIDE`}, + {name = 'camo_slide_finish5', label = TranslateCap('component_camo_slide_finish5'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_05_SLIDE`}, + {name = 'camo_slide_finish6', label = TranslateCap('component_camo_slide_finish6'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_06_SLIDE`}, + {name = 'camo_slide_finish7', label = TranslateCap('component_camo_slide_finish7'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_07_SLIDE`}, + {name = 'camo_slide_finish8', label = TranslateCap('component_camo_slide_finish8'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_08_SLIDE`}, + {name = 'camo_slide_finish9', label = TranslateCap('component_camo_slide_finish9'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_09_SLIDE`}, + {name = 'camo_slide_finish10', label = TranslateCap('component_camo_slide_finish10'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_10_SLIDE`}, + {name = 'camo_slide_finish11', label = TranslateCap('component_camo_slide_finish11'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_IND_01_SLIDE`} + } + }, + {name = 'WEAPON_STUNGUN', label = TranslateCap('weapon_stungun'), tints = Config.DefaultWeaponTints, components = {}}, + {name = 'WEAPON_RAYPISTOL', label = TranslateCap('weapon_raypistol'), tints = Config.DefaultWeaponTints, components = {}}, { name = 'WEAPON_VINTAGEPISTOL', label = TranslateCap('weapon_vintagepistol'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_VINTAGEPISTOL_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_VINTAGEPISTOL_CLIP_02` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_VINTAGEPISTOL_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_VINTAGEPISTOL_CLIP_02`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP`} } }, -- Shotguns { name = 'WEAPON_ASSAULTSHOTGUN', label = TranslateCap('weapon_assaultshotgun'), - ammo = { label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN` }, + ammo = {label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ASSAULTSHOTGUN_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ASSAULTSHOTGUN_CLIP_02` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` }, - { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ASSAULTSHOTGUN_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ASSAULTSHOTGUN_CLIP_02`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`} } }, - { name = 'WEAPON_AUTOSHOTGUN', label = TranslateCap('weapon_autoshotgun'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN` } }, + {name = 'WEAPON_AUTOSHOTGUN', label = TranslateCap('weapon_autoshotgun'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN`}}, { name = 'WEAPON_BULLPUPSHOTGUN', label = TranslateCap('weapon_bullpupshotgun'), - ammo = { label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN` }, + ammo = {label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN`}, tints = Config.DefaultWeaponTints, components = { - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, - { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` } + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`} } }, { name = 'WEAPON_COMBATSHOTGUN', label = TranslateCap('weapon_combatshotgun'), - ammo = { label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN` }, + ammo = {label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN`}, tints = Config.DefaultWeaponTints, components = { - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` } + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`} } }, - { name = 'WEAPON_DBSHOTGUN', label = TranslateCap('weapon_dbshotgun'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN` } }, + {name = 'WEAPON_DBSHOTGUN', label = TranslateCap('weapon_dbshotgun'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN`}}, { name = 'WEAPON_HEAVYSHOTGUN', label = TranslateCap('weapon_heavyshotgun'), - ammo = { label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN` }, + ammo = {label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_HEAVYSHOTGUN_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_HEAVYSHOTGUN_CLIP_02` }, - { name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_HEAVYSHOTGUN_CLIP_03` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, - { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_HEAVYSHOTGUN_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_HEAVYSHOTGUN_CLIP_02`}, + {name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_HEAVYSHOTGUN_CLIP_03`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`} } }, - { name = 'WEAPON_MUSKET', label = TranslateCap('weapon_musket'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SHOTGUN` } }, + {name = 'WEAPON_MUSKET', label = TranslateCap('weapon_musket'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SHOTGUN`}}, { name = 'WEAPON_PUMPSHOTGUN', label = TranslateCap('weapon_pumpshotgun'), - ammo = { label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN` }, + ammo = {label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN`}, tints = Config.DefaultWeaponTints, components = { - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_SR_SUPP` }, - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_PUMPSHOTGUN_VARMOD_LOWRIDER` } + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_SR_SUPP`}, + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_PUMPSHOTGUN_VARMOD_LOWRIDER`} } }, { name = 'WEAPON_PUMPSHOTGUN_MK2', label = TranslateCap('weapon_pumpshotgun_mk2'), - ammo = { label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN` }, - tints = Config.DefaultWeaponTints, - components = { - { name = 'shells_default', label = TranslateCap('component_shells_default'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_01` }, - { name = 'shells_incendiary', label = TranslateCap('component_shells_incendiary'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_INCENDIARY` }, - { name = 'shells_armor', label = TranslateCap('component_shells_armor'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_ARMORPIERCING` }, - { name = 'shells_hollowpoint', label = TranslateCap('component_shells_hollowpoint'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_HOLLOWPOINT` }, - { name = 'shells_explosive', label = TranslateCap('component_shells_explosive'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_EXPLOSIVE` }, - { name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS` }, - { name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2` }, - { name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_SMALL_MK2` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_SR_SUPP_03` }, - { name = 'muzzle_squared', label = TranslateCap('component_muzzle_squared'), hash = `COMPONENT_AT_MUZZLE_08` }, - { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO` }, - { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_02` }, - { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_03` }, - { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_04` }, - { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_05` }, - { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_06` }, - { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_07` }, - { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_08` }, - { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_09` }, - { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_10` }, - { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_IND_01` } + ammo = {label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN`}, + tints = Config.DefaultWeaponTints, + components = { + {name = 'shells_default', label = TranslateCap('component_shells_default'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_01`}, + {name = 'shells_incendiary', label = TranslateCap('component_shells_incendiary'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_INCENDIARY`}, + {name = 'shells_armor', label = TranslateCap('component_shells_armor'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_ARMORPIERCING`}, + {name = 'shells_hollowpoint', label = TranslateCap('component_shells_hollowpoint'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_HOLLOWPOINT`}, + {name = 'shells_explosive', label = TranslateCap('component_shells_explosive'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_EXPLOSIVE`}, + {name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS`}, + {name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2`}, + {name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_SMALL_MK2`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_SR_SUPP_03`}, + {name = 'muzzle_squared', label = TranslateCap('component_muzzle_squared'), hash = `COMPONENT_AT_MUZZLE_08`}, + {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO`}, + {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_02`}, + {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_03`}, + {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_04`}, + {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_05`}, + {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_06`}, + {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_07`}, + {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_08`}, + {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_09`}, + {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_10`}, + {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_IND_01`} } }, { name = 'WEAPON_SAWNOFFSHOTGUN', label = TranslateCap('weapon_sawnoffshotgun'), - ammo = { label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN` }, + ammo = {label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN`}, tints = Config.DefaultWeaponTints, components = { - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SAWNOFFSHOTGUN_VARMOD_LUXE` } + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SAWNOFFSHOTGUN_VARMOD_LUXE`} } }, -- SMG & LMG { name = 'WEAPON_ASSAULTSMG', label = TranslateCap('weapon_assaultsmg'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ASSAULTSMG_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ASSAULTSMG_CLIP_02` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MACRO` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_ASSAULTSMG_VARMOD_LOWRIDER` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ASSAULTSMG_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ASSAULTSMG_CLIP_02`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MACRO`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_ASSAULTSMG_VARMOD_LOWRIDER`} } }, { name = 'WEAPON_COMBATMG', label = TranslateCap('weapon_combatmg'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_MG` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_MG`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMBATMG_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMBATMG_CLIP_02` }, - { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MEDIUM` }, - { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` }, - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_COMBATMG_VARMOD_LOWRIDER` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMBATMG_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMBATMG_CLIP_02`}, + {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MEDIUM`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_COMBATMG_VARMOD_LOWRIDER`} } }, { name = 'WEAPON_COMBATMG_MK2', label = TranslateCap('weapon_combatmg_mk2'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_MG` }, - tints = Config.DefaultWeaponTints, - components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMBATMG_MK2_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMBATMG_MK2_CLIP_02` }, - { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_COMBATMG_MK2_CLIP_TRACER` }, - { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_COMBATMG_MK2_CLIP_INCENDIARY` }, - { name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_COMBATMG_MK2_CLIP_ARMORPIERCING` }, - { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_COMBATMG_MK2_CLIP_FMJ` }, - { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02` }, - { name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS` }, - { name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_SMALL_MK2` }, - { name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2` }, - { name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01` }, - { name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02` }, - { name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03` }, - { name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04` }, - { name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05` }, - { name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06` }, - { name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07` }, - { name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_MG_BARREL_01` }, - { name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_MG_BARREL_02` }, - { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_COMBATMG_MK2_CAMO` }, - { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_COMBATMG_MK2_CAMO_02` }, - { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_COMBATMG_MK2_CAMO_03` }, - { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_COMBATMG_MK2_CAMO_04` }, - { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_COMBATMG_MK2_CAMO_05` }, - { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_COMBATMG_MK2_CAMO_06` }, - { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_COMBATMG_MK2_CAMO_07` }, - { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_COMBATMG_MK2_CAMO_08` }, - { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_COMBATMG_MK2_CAMO_09` }, - { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_COMBATMG_MK2_CAMO_10` }, - { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_COMBATMG_MK2_CAMO_IND_01` } + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_MG`}, + tints = Config.DefaultWeaponTints, + components = { + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMBATMG_MK2_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMBATMG_MK2_CLIP_02`}, + {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_COMBATMG_MK2_CLIP_TRACER`}, + {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_COMBATMG_MK2_CLIP_INCENDIARY`}, + {name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_COMBATMG_MK2_CLIP_ARMORPIERCING`}, + {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_COMBATMG_MK2_CLIP_FMJ`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02`}, + {name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS`}, + {name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_SMALL_MK2`}, + {name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2`}, + {name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01`}, + {name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02`}, + {name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03`}, + {name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04`}, + {name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05`}, + {name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06`}, + {name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07`}, + {name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_MG_BARREL_01`}, + {name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_MG_BARREL_02`}, + {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_COMBATMG_MK2_CAMO`}, + {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_COMBATMG_MK2_CAMO_02`}, + {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_COMBATMG_MK2_CAMO_03`}, + {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_COMBATMG_MK2_CAMO_04`}, + {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_COMBATMG_MK2_CAMO_05`}, + {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_COMBATMG_MK2_CAMO_06`}, + {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_COMBATMG_MK2_CAMO_07`}, + {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_COMBATMG_MK2_CAMO_08`}, + {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_COMBATMG_MK2_CAMO_09`}, + {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_COMBATMG_MK2_CAMO_10`}, + {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_COMBATMG_MK2_CAMO_IND_01`} } }, { name = 'WEAPON_COMBATPDW', label = TranslateCap('weapon_combatpdw'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMBATPDW_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMBATPDW_CLIP_02` }, - { name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_COMBATPDW_CLIP_03` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` }, - { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMBATPDW_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMBATPDW_CLIP_02`}, + {name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_COMBATPDW_CLIP_03`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, + {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL`} } }, { name = 'WEAPON_GUSENBERG', label = TranslateCap('weapon_gusenberg'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_MG` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_MG`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_GUSENBERG_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_GUSENBERG_CLIP_02` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_GUSENBERG_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_GUSENBERG_CLIP_02`} } }, { name = 'WEAPON_MACHINEPISTOL', label = TranslateCap('weapon_machinepistol'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MACHINEPISTOL_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MACHINEPISTOL_CLIP_02` }, - { name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_MACHINEPISTOL_CLIP_03` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MACHINEPISTOL_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MACHINEPISTOL_CLIP_02`}, + {name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_MACHINEPISTOL_CLIP_03`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP`} } }, { name = 'WEAPON_MG', label = TranslateCap('weapon_mg'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_MG` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_MG`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MG_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MG_CLIP_02` }, - { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL_02` }, - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_MG_VARMOD_LOWRIDER` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MG_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MG_CLIP_02`}, + {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL_02`}, + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_MG_VARMOD_LOWRIDER`} } }, { name = 'WEAPON_MICROSMG', label = TranslateCap('weapon_microsmg'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MICROSMG_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MICROSMG_CLIP_02` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH` }, - { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MACRO` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_MICROSMG_VARMOD_LUXE` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MICROSMG_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MICROSMG_CLIP_02`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH`}, + {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MACRO`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_MICROSMG_VARMOD_LUXE`} } }, { name = 'WEAPON_MINISMG', label = TranslateCap('weapon_minismg'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MINISMG_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MINISMG_CLIP_02` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MINISMG_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MINISMG_CLIP_02`} } }, { name = 'WEAPON_SMG', label = TranslateCap('weapon_smg'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SMG_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SMG_CLIP_02` }, - { name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_SMG_CLIP_03` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MACRO_02` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP` }, - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SMG_VARMOD_LUXE` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SMG_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SMG_CLIP_02`}, + {name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_SMG_CLIP_03`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MACRO_02`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP`}, + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SMG_VARMOD_LUXE`} } }, { name = 'WEAPON_SMG_MK2', label = TranslateCap('weapon_smg_mk2'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG` }, - tints = Config.DefaultWeaponTints, - components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SMG_MK2_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SMG_MK2_CLIP_02` }, - { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_SMG_MK2_CLIP_TRACER` }, - { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_SMG_MK2_CLIP_INCENDIARY` }, - { name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_SMG_MK2_CLIP_HOLLOWPOINT` }, - { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_SMG_MK2_CLIP_FMJ` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS_SMG` }, - { name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_02_SMG_MK2` }, - { name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_SMALL_SMG_MK2` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP` }, - { name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01` }, - { name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02` }, - { name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03` }, - { name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04` }, - { name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05` }, - { name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06` }, - { name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07` }, - { name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_SB_BARREL_01` }, - { name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_SB_BARREL_02` }, - { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_SMG_MK2_CAMO` }, - { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_SMG_MK2_CAMO_02` }, - { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_SMG_MK2_CAMO_03` }, - { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_SMG_MK2_CAMO_04` }, - { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_SMG_MK2_CAMO_05` }, - { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_SMG_MK2_CAMO_06` }, - { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_SMG_MK2_CAMO_07` }, - { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_SMG_MK2_CAMO_08` }, - { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_SMG_MK2_CAMO_09` }, - { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_SMG_MK2_CAMO_10` }, - { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_SMG_MK2_CAMO_IND_01` } - } - }, - { name = 'WEAPON_RAYCARBINE', label = TranslateCap('weapon_raycarbine'), ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG` }, tints = Config.DefaultWeaponTints, components = {} }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG`}, + tints = Config.DefaultWeaponTints, + components = { + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SMG_MK2_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SMG_MK2_CLIP_02`}, + {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_SMG_MK2_CLIP_TRACER`}, + {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_SMG_MK2_CLIP_INCENDIARY`}, + {name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_SMG_MK2_CLIP_HOLLOWPOINT`}, + {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_SMG_MK2_CLIP_FMJ`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS_SMG`}, + {name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_02_SMG_MK2`}, + {name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_SMALL_SMG_MK2`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP`}, + {name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01`}, + {name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02`}, + {name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03`}, + {name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04`}, + {name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05`}, + {name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06`}, + {name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07`}, + {name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_SB_BARREL_01`}, + {name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_SB_BARREL_02`}, + {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_SMG_MK2_CAMO`}, + {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_SMG_MK2_CAMO_02`}, + {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_SMG_MK2_CAMO_03`}, + {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_SMG_MK2_CAMO_04`}, + {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_SMG_MK2_CAMO_05`}, + {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_SMG_MK2_CAMO_06`}, + {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_SMG_MK2_CAMO_07`}, + {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_SMG_MK2_CAMO_08`}, + {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_SMG_MK2_CAMO_09`}, + {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_SMG_MK2_CAMO_10`}, + {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_SMG_MK2_CAMO_IND_01`} + } + }, + {name = 'WEAPON_RAYCARBINE', label = TranslateCap('weapon_raycarbine'), ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG`}, tints = Config.DefaultWeaponTints, components = {}}, -- Rifles { name = 'WEAPON_ADVANCEDRIFLE', label = TranslateCap('weapon_advancedrifle'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ADVANCEDRIFLE_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ADVANCEDRIFLE_CLIP_02` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` }, - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_ADVANCEDRIFLE_VARMOD_LUXE` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ADVANCEDRIFLE_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ADVANCEDRIFLE_CLIP_02`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`}, + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_ADVANCEDRIFLE_VARMOD_LUXE`} } }, { name = 'WEAPON_ASSAULTRIFLE', label = TranslateCap('weapon_assaultrifle'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ASSAULTRIFLE_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ASSAULTRIFLE_CLIP_02` }, - { name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_ASSAULTRIFLE_CLIP_03` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MACRO` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, - { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` }, - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_ASSAULTRIFLE_VARMOD_LUXE` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ASSAULTRIFLE_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ASSAULTRIFLE_CLIP_02`}, + {name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_ASSAULTRIFLE_CLIP_03`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MACRO`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_ASSAULTRIFLE_VARMOD_LUXE`} } }, { name = 'WEAPON_ASSAULTRIFLE_MK2', label = TranslateCap('weapon_assaultrifle_mk2'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, - components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_02` }, - { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_TRACER` }, - { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_INCENDIARY` }, - { name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_ARMORPIERCING` }, - { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_FMJ` }, - { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS` }, - { name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2` }, - { name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, - { name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01` }, - { name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02` }, - { name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03` }, - { name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04` }, - { name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05` }, - { name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06` }, - { name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07` }, - { name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_AR_BARREL_01` }, - { name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_AR_BARREL_02` }, - { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO` }, - { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_02` }, - { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_03` }, - { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_04` }, - { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_05` }, - { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_06` }, - { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_07` }, - { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_08` }, - { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_09` }, - { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_10` }, - { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_IND_01` } + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, + tints = Config.DefaultWeaponTints, + components = { + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_02`}, + {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_TRACER`}, + {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_INCENDIARY`}, + {name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_ARMORPIERCING`}, + {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_FMJ`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS`}, + {name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2`}, + {name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, + {name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01`}, + {name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02`}, + {name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03`}, + {name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04`}, + {name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05`}, + {name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06`}, + {name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07`}, + {name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_AR_BARREL_01`}, + {name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_AR_BARREL_02`}, + {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO`}, + {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_02`}, + {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_03`}, + {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_04`}, + {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_05`}, + {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_06`}, + {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_07`}, + {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_08`}, + {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_09`}, + {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_10`}, + {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_IND_01`} } }, { name = 'WEAPON_BULLPUPRIFLE', label = TranslateCap('weapon_bullpuprifle'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_BULLPUPRIFLE_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_BULLPUPRIFLE_CLIP_02` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` }, - { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` }, - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_BULLPUPRIFLE_VARMOD_LOW` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_BULLPUPRIFLE_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_BULLPUPRIFLE_CLIP_02`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_BULLPUPRIFLE_VARMOD_LOW`} } }, { name = 'WEAPON_BULLPUPRIFLE_MK2', label = TranslateCap('weapon_bullpuprifle_mk2'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, - components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_02` }, - { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_TRACER` }, - { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_INCENDIARY` }, - { name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_ARMORPIERCING` }, - { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_FMJ` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS` }, - { name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_02_MK2` }, - { name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_SMALL_MK2` }, - { name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_BP_BARREL_01` }, - { name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_BP_BARREL_02` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` }, - { name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01` }, - { name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02` }, - { name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03` }, - { name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04` }, - { name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05` }, - { name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06` }, - { name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07` }, - { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02` }, - { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO` }, - { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_02` }, - { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_03` }, - { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_04` }, - { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_05` }, - { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_06` }, - { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_07` }, - { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_08` }, - { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_09` }, - { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_10` }, - { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_IND_01` } + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, + tints = Config.DefaultWeaponTints, + components = { + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_02`}, + {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_TRACER`}, + {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_INCENDIARY`}, + {name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_ARMORPIERCING`}, + {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_FMJ`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS`}, + {name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_02_MK2`}, + {name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_SMALL_MK2`}, + {name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_BP_BARREL_01`}, + {name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_BP_BARREL_02`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`}, + {name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01`}, + {name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02`}, + {name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03`}, + {name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04`}, + {name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05`}, + {name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06`}, + {name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02`}, + {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO`}, + {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_02`}, + {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_03`}, + {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_04`}, + {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_05`}, + {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_06`}, + {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_07`}, + {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_08`}, + {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_09`}, + {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_10`}, + {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_IND_01`} } }, { name = 'WEAPON_CARBINERIFLE', label = TranslateCap('weapon_carbinerifle'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_CARBINERIFLE_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_CARBINERIFLE_CLIP_02` }, - { name = 'clip_box', label = TranslateCap('component_clip_box'), hash = `COMPONENT_CARBINERIFLE_CLIP_03` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MEDIUM` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` }, - { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` }, - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_CARBINERIFLE_VARMOD_LUXE` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_CARBINERIFLE_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_CARBINERIFLE_CLIP_02`}, + {name = 'clip_box', label = TranslateCap('component_clip_box'), hash = `COMPONENT_CARBINERIFLE_CLIP_03`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MEDIUM`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_CARBINERIFLE_VARMOD_LUXE`} } }, { name = 'WEAPON_CARBINERIFLE_MK2', label = TranslateCap('weapon_carbinerifle_mk2'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, - components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_02` }, - { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_TRACER` }, - { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_INCENDIARY` }, - { name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_ARMORPIERCING` }, - { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_FMJ` }, - { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS` }, - { name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2` }, - { name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` }, - { name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01` }, - { name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02` }, - { name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03` }, - { name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04` }, - { name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05` }, - { name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06` }, - { name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07` }, - { name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_CR_BARREL_01` }, - { name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_CR_BARREL_02` }, - { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO` }, - { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_02` }, - { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_03` }, - { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_04` }, - { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_05` }, - { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_06` }, - { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_07` }, - { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_08` }, - { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_09` }, - { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_10` }, - { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_IND_01` } + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, + tints = Config.DefaultWeaponTints, + components = { + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_02`}, + {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_TRACER`}, + {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_INCENDIARY`}, + {name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_ARMORPIERCING`}, + {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_FMJ`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS`}, + {name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2`}, + {name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`}, + {name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01`}, + {name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02`}, + {name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03`}, + {name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04`}, + {name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05`}, + {name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06`}, + {name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07`}, + {name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_CR_BARREL_01`}, + {name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_CR_BARREL_02`}, + {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO`}, + {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_02`}, + {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_03`}, + {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_04`}, + {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_05`}, + {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_06`}, + {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_07`}, + {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_08`}, + {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_09`}, + {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_10`}, + {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_IND_01`} } }, { name = 'WEAPON_COMPACTRIFLE', label = TranslateCap('weapon_compactrifle'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMPACTRIFLE_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMPACTRIFLE_CLIP_02` }, - { name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_COMPACTRIFLE_CLIP_03` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMPACTRIFLE_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMPACTRIFLE_CLIP_02`}, + {name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_COMPACTRIFLE_CLIP_03`} } }, { name = 'WEAPON_MILITARYRIFLE', label = TranslateCap('weapon_militaryrifle'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MILITARYRIFLE_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MILITARYRIFLE_CLIP_02` }, - { name = 'ironsights', label = TranslateCap('component_ironsights'), hash = `COMPONENT_MILITARYRIFLE_SIGHT_01` }, - { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MILITARYRIFLE_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MILITARYRIFLE_CLIP_02`}, + {name = 'ironsights', label = TranslateCap('component_ironsights'), hash = `COMPONENT_MILITARYRIFLE_SIGHT_01`}, + {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`} } }, { name = 'WEAPON_SPECIALCARBINE', label = TranslateCap('weapon_specialcarbine'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SPECIALCARBINE_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SPECIALCARBINE_CLIP_02` }, - { name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_SPECIALCARBINE_CLIP_03` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MEDIUM` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, - { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` }, - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SPECIALCARBINE_VARMOD_LOWRIDER` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SPECIALCARBINE_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SPECIALCARBINE_CLIP_02`}, + {name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_SPECIALCARBINE_CLIP_03`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MEDIUM`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SPECIALCARBINE_VARMOD_LOWRIDER`} } }, { name = 'WEAPON_SPECIALCARBINE_MK2', label = TranslateCap('weapon_specialcarbine_mk2'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, - components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_02` }, - { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_TRACER` }, - { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_INCENDIARY` }, - { name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_ARMORPIERCING` }, - { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_FMJ` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS` }, - { name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2` }, - { name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, - { name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01` }, - { name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02` }, - { name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03` }, - { name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04` }, - { name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05` }, - { name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06` }, - { name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07` }, - { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02` }, - { name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_SC_BARREL_01` }, - { name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_SC_BARREL_02` }, - { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO` }, - { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_02` }, - { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_03` }, - { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_04` }, - { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_05` }, - { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_06` }, - { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_07` }, - { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_08` }, - { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_09` }, - { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_10` }, - { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_IND_01` } + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, + tints = Config.DefaultWeaponTints, + components = { + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_02`}, + {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_TRACER`}, + {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_INCENDIARY`}, + {name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_ARMORPIERCING`}, + {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_FMJ`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS`}, + {name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2`}, + {name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, + {name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01`}, + {name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02`}, + {name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03`}, + {name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04`}, + {name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05`}, + {name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06`}, + {name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02`}, + {name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_SC_BARREL_01`}, + {name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_SC_BARREL_02`}, + {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO`}, + {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_02`}, + {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_03`}, + {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_04`}, + {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_05`}, + {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_06`}, + {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_07`}, + {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_08`}, + {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_09`}, + {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_10`}, + {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_IND_01`} } }, -- Sniper { name = 'WEAPON_HEAVYSNIPER', label = TranslateCap('weapon_heavysniper'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER`}, tints = Config.DefaultWeaponTints, components = { - { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_LARGE` }, - { name = 'scope_advanced', label = TranslateCap('component_scope_advanced'), hash = `COMPONENT_AT_SCOPE_MAX` } + {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_LARGE`}, + {name = 'scope_advanced', label = TranslateCap('component_scope_advanced'), hash = `COMPONENT_AT_SCOPE_MAX`} } }, { name = 'WEAPON_HEAVYSNIPER_MK2', label = TranslateCap('weapon_heavysniper_mk2'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER` }, - tints = Config.DefaultWeaponTints, - components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_02` }, - { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_INCENDIARY` }, - { name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_ARMORPIERCING` }, - { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_FMJ` }, - { name = 'ammo_explosive', label = TranslateCap('component_ammo_explosive'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_EXPLOSIVE` }, - { name = 'scope_zoom', label = TranslateCap('component_scope_zoom'), hash = `COMPONENT_AT_SCOPE_LARGE_MK2` }, - { name = 'scope_advanced', label = TranslateCap('component_scope_advanced'), hash = `COMPONENT_AT_SCOPE_MAX` }, - { name = 'scope_nightvision', label = TranslateCap('component_scope_nightvision'), hash = `COMPONENT_AT_SCOPE_NV` }, - { name = 'scope_thermal', label = TranslateCap('component_scope_thermal'), hash = `COMPONENT_AT_SCOPE_THERMAL` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_SR_SUPP_03` }, - { name = 'muzzle_squared', label = TranslateCap('component_muzzle_squared'), hash = `COMPONENT_AT_MUZZLE_08` }, - { name = 'muzzle_bell', label = TranslateCap('component_muzzle_bell'), hash = `COMPONENT_AT_MUZZLE_09` }, - { name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_SR_BARREL_01` }, - { name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_SR_BARREL_02` }, - { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO` }, - { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_02` }, - { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_03` }, - { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_04` }, - { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_05` }, - { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_06` }, - { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_07` }, - { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_08` }, - { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_09` }, - { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_10` }, - { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_IND_01` } + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER`}, + tints = Config.DefaultWeaponTints, + components = { + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_02`}, + {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_INCENDIARY`}, + {name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_ARMORPIERCING`}, + {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_FMJ`}, + {name = 'ammo_explosive', label = TranslateCap('component_ammo_explosive'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_EXPLOSIVE`}, + {name = 'scope_zoom', label = TranslateCap('component_scope_zoom'), hash = `COMPONENT_AT_SCOPE_LARGE_MK2`}, + {name = 'scope_advanced', label = TranslateCap('component_scope_advanced'), hash = `COMPONENT_AT_SCOPE_MAX`}, + {name = 'scope_nightvision', label = TranslateCap('component_scope_nightvision'), hash = `COMPONENT_AT_SCOPE_NV`}, + {name = 'scope_thermal', label = TranslateCap('component_scope_thermal'), hash = `COMPONENT_AT_SCOPE_THERMAL`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_SR_SUPP_03`}, + {name = 'muzzle_squared', label = TranslateCap('component_muzzle_squared'), hash = `COMPONENT_AT_MUZZLE_08`}, + {name = 'muzzle_bell', label = TranslateCap('component_muzzle_bell'), hash = `COMPONENT_AT_MUZZLE_09`}, + {name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_SR_BARREL_01`}, + {name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_SR_BARREL_02`}, + {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO`}, + {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_02`}, + {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_03`}, + {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_04`}, + {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_05`}, + {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_06`}, + {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_07`}, + {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_08`}, + {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_09`}, + {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_10`}, + {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_IND_01`} } }, { name = 'WEAPON_MARKSMANRIFLE', label = TranslateCap('weapon_marksmanrifle'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER`}, tints = Config.DefaultWeaponTints, components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MARKSMANRIFLE_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MARKSMANRIFLE_CLIP_02` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_LARGE_FIXED_ZOOM` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` }, - { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` }, - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_MARKSMANRIFLE_VARMOD_LUXE` } + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MARKSMANRIFLE_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MARKSMANRIFLE_CLIP_02`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_LARGE_FIXED_ZOOM`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_MARKSMANRIFLE_VARMOD_LUXE`} } }, { name = 'WEAPON_MARKSMANRIFLE_MK2', label = TranslateCap('weapon_marksmanrifle_mk2'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER` }, - tints = Config.DefaultWeaponTints, - components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_02` }, - { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_TRACER` }, - { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_INCENDIARY` }, - { name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_ARMORPIERCING` }, - { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_FMJ` }, - { name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS` }, - { name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2` }, - { name = 'scope_zoom', label = TranslateCap('component_scope_zoom'), hash = `COMPONENT_AT_SCOPE_LARGE_FIXED_ZOOM_MK2` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` }, - { name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01` }, - { name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02` }, - { name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03` }, - { name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04` }, - { name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05` }, - { name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06` }, - { name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07` }, - { name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_MRFL_BARREL_01` }, - { name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_MRFL_BARREL_02` }, - { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02` }, - { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO` }, - { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_02` }, - { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_03` }, - { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_04` }, - { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_05` }, - { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_06` }, - { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_07` }, - { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_08` }, - { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_09` }, - { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_10` }, - { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_IND_01` } + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER`}, + tints = Config.DefaultWeaponTints, + components = { + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_02`}, + {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_TRACER`}, + {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_INCENDIARY`}, + {name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_ARMORPIERCING`}, + {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_FMJ`}, + {name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS`}, + {name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2`}, + {name = 'scope_zoom', label = TranslateCap('component_scope_zoom'), hash = `COMPONENT_AT_SCOPE_LARGE_FIXED_ZOOM_MK2`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`}, + {name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01`}, + {name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02`}, + {name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03`}, + {name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04`}, + {name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05`}, + {name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06`}, + {name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07`}, + {name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_MRFL_BARREL_01`}, + {name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_MRFL_BARREL_02`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02`}, + {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO`}, + {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_02`}, + {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_03`}, + {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_04`}, + {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_05`}, + {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_06`}, + {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_07`}, + {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_08`}, + {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_09`}, + {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_10`}, + {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_IND_01`} } }, { name = 'WEAPON_SNIPERRIFLE', label = TranslateCap('weapon_sniperrifle'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER` }, + ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER`}, tints = Config.DefaultWeaponTints, components = { - { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_LARGE` }, - { name = 'scope_advanced', label = TranslateCap('component_scope_advanced'), hash = `COMPONENT_AT_SCOPE_MAX` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, - { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SNIPERRIFLE_VARMOD_LUXE` } + {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_LARGE`}, + {name = 'scope_advanced', label = TranslateCap('component_scope_advanced'), hash = `COMPONENT_AT_SCOPE_MAX`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, + {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SNIPERRIFLE_VARMOD_LUXE`} } }, -- Heavy / Launchers - { name = 'WEAPON_COMPACTLAUNCHER', label = TranslateCap('weapon_compactlauncher'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_grenadelauncher'), hash = `AMMO_GRENADELAUNCHER` } }, - { name = 'WEAPON_FIREWORK', label = TranslateCap('weapon_firework'), components = {}, ammo = { label = TranslateCap('ammo_firework'), hash = `AMMO_FIREWORK` } }, - { name = 'WEAPON_GRENADELAUNCHER', label = TranslateCap('weapon_grenadelauncher'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_grenadelauncher'), hash = `AMMO_GRENADELAUNCHER` } }, - { name = 'WEAPON_HOMINGLAUNCHER', label = TranslateCap('weapon_hominglauncher'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rockets'), hash = `AMMO_HOMINGLAUNCHER` } }, - { name = 'WEAPON_MINIGUN', label = TranslateCap('weapon_minigun'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_MINIGUN` } }, - { name = 'WEAPON_RAILGUN', label = TranslateCap('weapon_railgun'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RAILGUN` } }, - { name = 'WEAPON_RPG', label = TranslateCap('weapon_rpg'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rockets'), hash = `AMMO_RPG` } }, - { name = 'WEAPON_RAYMINIGUN', label = TranslateCap('weapon_rayminigun'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_MINIGUN` } }, + {name = 'WEAPON_COMPACTLAUNCHER', label = TranslateCap('weapon_compactlauncher'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_grenadelauncher'), hash = `AMMO_GRENADELAUNCHER`}}, + {name = 'WEAPON_FIREWORK', label = TranslateCap('weapon_firework'), components = {}, ammo = {label = TranslateCap('ammo_firework'), hash = `AMMO_FIREWORK`}}, + {name = 'WEAPON_GRENADELAUNCHER', label = TranslateCap('weapon_grenadelauncher'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_grenadelauncher'), hash = `AMMO_GRENADELAUNCHER`}}, + {name = 'WEAPON_HOMINGLAUNCHER', label = TranslateCap('weapon_hominglauncher'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rockets'), hash = `AMMO_HOMINGLAUNCHER`}}, + {name = 'WEAPON_MINIGUN', label = TranslateCap('weapon_minigun'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_MINIGUN`}}, + {name = 'WEAPON_RAILGUN', label = TranslateCap('weapon_railgun'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RAILGUN`}}, + {name = 'WEAPON_RPG', label = TranslateCap('weapon_rpg'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rockets'), hash = `AMMO_RPG`}}, + {name = 'WEAPON_RAYMINIGUN', label = TranslateCap('weapon_rayminigun'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_MINIGUN`}}, -- Thrown - { name = 'WEAPON_BALL', label = TranslateCap('weapon_ball'), components = {}, ammo = { label = TranslateCap('ammo_ball'), hash = `AMMO_BALL` } }, - { name = 'WEAPON_BZGAS', label = TranslateCap('weapon_bzgas'), components = {}, ammo = { label = TranslateCap('ammo_bzgas'), hash = `AMMO_BZGAS` } }, - { name = 'WEAPON_FLARE', label = TranslateCap('weapon_flare'), components = {}, ammo = { label = TranslateCap('ammo_flare'), hash = `AMMO_FLARE` } }, - { name = 'WEAPON_GRENADE', label = TranslateCap('weapon_grenade'), components = {}, ammo = { label = TranslateCap('ammo_grenade'), hash = `AMMO_GRENADE` } }, - { name = 'WEAPON_PETROLCAN', label = TranslateCap('weapon_petrolcan'), components = {}, ammo = { label = TranslateCap('ammo_petrol'), hash = `AMMO_PETROLCAN` } }, - { name = 'WEAPON_HAZARDCAN', label = TranslateCap('weapon_hazardcan'), components = {}, ammo = { label = TranslateCap('ammo_petrol'), hash = `AMMO_PETROLCAN` } }, - { name = 'WEAPON_MOLOTOV', label = TranslateCap('weapon_molotov'), components = {}, ammo = { label = TranslateCap('ammo_molotov'), hash = `AMMO_MOLOTOV` } }, - { name = 'WEAPON_PROXMINE', label = TranslateCap('weapon_proxmine'), components = {}, ammo = { label = TranslateCap('ammo_proxmine'), hash = `AMMO_PROXMINE` } }, - { name = 'WEAPON_PIPEBOMB', label = TranslateCap('weapon_pipebomb'), components = {}, ammo = { label = TranslateCap('ammo_pipebomb'), hash = `AMMO_PIPEBOMB` } }, - { name = 'WEAPON_SNOWBALL', label = TranslateCap('weapon_snowball'), components = {}, ammo = { label = TranslateCap('ammo_snowball'), hash = `AMMO_SNOWBALL` } }, - { name = 'WEAPON_STICKYBOMB', label = TranslateCap('weapon_stickybomb'), components = {}, ammo = { label = TranslateCap('ammo_stickybomb'), hash = `AMMO_STICKYBOMB` } }, - { name = 'WEAPON_SMOKEGRENADE', label = TranslateCap('weapon_smokegrenade'), components = {}, ammo = { label = TranslateCap('ammo_smokebomb'), hash = `AMMO_SMOKEGRENADE` } }, + {name = 'WEAPON_BALL', label = TranslateCap('weapon_ball'), components = {}, ammo = {label = TranslateCap('ammo_ball'), hash = `AMMO_BALL`}}, + {name = 'WEAPON_BZGAS', label = TranslateCap('weapon_bzgas'), components = {}, ammo = {label = TranslateCap('ammo_bzgas'), hash = `AMMO_BZGAS`}}, + {name = 'WEAPON_FLARE', label = TranslateCap('weapon_flare'), components = {}, ammo = {label = TranslateCap('ammo_flare'), hash = `AMMO_FLARE`}}, + {name = 'WEAPON_GRENADE', label = TranslateCap('weapon_grenade'), components = {}, ammo = {label = TranslateCap('ammo_grenade'), hash = `AMMO_GRENADE`}}, + {name = 'WEAPON_PETROLCAN', label = TranslateCap('weapon_petrolcan'), components = {}, ammo = {label = TranslateCap('ammo_petrol'), hash = `AMMO_PETROLCAN`}}, + {name = 'WEAPON_HAZARDCAN', label = TranslateCap('weapon_hazardcan'), components = {}, ammo = {label = TranslateCap('ammo_petrol'), hash = `AMMO_PETROLCAN`}}, + {name = 'WEAPON_MOLOTOV', label = TranslateCap('weapon_molotov'), components = {}, ammo = {label = TranslateCap('ammo_molotov'), hash = `AMMO_MOLOTOV`}}, + {name = 'WEAPON_PROXMINE', label = TranslateCap('weapon_proxmine'), components = {}, ammo = {label = TranslateCap('ammo_proxmine'), hash = `AMMO_PROXMINE`}}, + {name = 'WEAPON_PIPEBOMB', label = TranslateCap('weapon_pipebomb'), components = {}, ammo = {label = TranslateCap('ammo_pipebomb'), hash = `AMMO_PIPEBOMB`}}, + {name = 'WEAPON_SNOWBALL', label = TranslateCap('weapon_snowball'), components = {}, ammo = {label = TranslateCap('ammo_snowball'), hash = `AMMO_SNOWBALL`}}, + {name = 'WEAPON_STICKYBOMB', label = TranslateCap('weapon_stickybomb'), components = {}, ammo = {label = TranslateCap('ammo_stickybomb'), hash = `AMMO_STICKYBOMB`}}, + {name = 'WEAPON_SMOKEGRENADE', label = TranslateCap('weapon_smokegrenade'), components = {}, ammo = {label = TranslateCap('ammo_smokebomb'), hash = `AMMO_SMOKEGRENADE`}}, -- Tools - { name = 'WEAPON_FIREEXTINGUISHER', label = TranslateCap('weapon_fireextinguisher'), components = {}, ammo = { label = TranslateCap('ammo_charge'), hash = `AMMO_FIREEXTINGUISHER` } }, - { name = 'WEAPON_DIGISCANNER', label = TranslateCap('weapon_digiscanner'), components = {} }, - { name = 'GADGET_PARACHUTE', label = TranslateCap('gadget_parachute'), components = {} }, - { - name = 'WEAPON_TACTICALRIFLE', - label = TranslateCap('weapon_tactilerifle'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, - components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_TACTICALRIFLE_CLIP_01` }, - { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_TACTICALRIFLE_CLIP_02` }, - { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH_REH` }, - { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` }, - { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` } - } - }, - { - name = 'WEAPON_PRECISIONRIFLE', - label = TranslateCap('weapon_precisionrifle'), - ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER` }, - tints = Config.DefaultWeaponTints, - components = { - { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_PRECISIONRIFLE_CLIP_01` }, - } + {name = 'WEAPON_FIREEXTINGUISHER', label = TranslateCap('weapon_fireextinguisher'), components = {}, ammo = {label = TranslateCap('ammo_charge'), hash = `AMMO_FIREEXTINGUISHER`}}, + {name = 'WEAPON_DIGISCANNER', label = TranslateCap('weapon_digiscanner'), components = {}}, + {name = 'GADGET_PARACHUTE', label = TranslateCap('gadget_parachute'), components = {}}, + {name = 'WEAPON_TACTICALRIFLE',label = TranslateCap('weapon_tactilerifle'),ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`},tints = Config.DefaultWeaponTints, + components = { + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_TACTICALRIFLE_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_TACTICALRIFLE_CLIP_02`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH_REH`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`} + } + }, + {name = 'WEAPON_HEAVYRIFLE',label = TranslateCap('weapon_heavyrifle'),ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`},tints = Config.DefaultWeaponTints, + components = { + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_HEAVYRIFLE_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_HEAVYRIFLE_CLIP_02`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH_REH`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`} + } + }, + {name = 'WEAPON_PRECISIONRIFLE', label = TranslateCap('weapon_precisionrifle'), ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER`}, tints = Config.DefaultWeaponTints, + components = { + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_PRECISIONRIFLE_CLIP_01`}, + } }, { name = 'WEAPON_METALDETECTOR', label = TranslateCap('weapon_metaldetector'), components = {} }, { @@ -1005,5 +1006,5 @@ Config.Weapons = { components = { { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_RAILGUNXM3_CLIP_01` }, }, - }, + } } From a67c256c6b1632a846a89ceb86979e3853a5a9c4 Mon Sep 17 00:00:00 2001 From: thefourCraft Date: Sat, 15 Jul 2023 15:17:54 +0300 Subject: [PATCH 017/148] Delete [esx] directory Signed-off-by: thefourCraft --- [esx]/es_extended/locales/he.lua | 365 ------------------------ [esx]/esx_identity/locales/he.lua | 39 --- [esx]/esx_multicharacter/locales/he.lua | 29 -- [esx]/esx_skin/locales/he.lua | 6 - [esx]/skinchanger/locales/he.lua | 101 ------- 5 files changed, 540 deletions(-) delete mode 100644 [esx]/es_extended/locales/he.lua delete mode 100644 [esx]/esx_identity/locales/he.lua delete mode 100644 [esx]/esx_multicharacter/locales/he.lua delete mode 100644 [esx]/esx_skin/locales/he.lua delete mode 100644 [esx]/skinchanger/locales/he.lua diff --git a/[esx]/es_extended/locales/he.lua b/[esx]/es_extended/locales/he.lua deleted file mode 100644 index 21fbd56b4..000000000 --- a/[esx]/es_extended/locales/he.lua +++ /dev/null @@ -1,365 +0,0 @@ -Locales['he'] = { - -- Inventory - ['inventory'] = 'אינבנטורי ( משקל %s / %s )', - ['use'] = 'להשתמש', - ['give'] = 'לתת', - ['remove'] = 'לזרוק', - ['return'] = 'Return', - ['give_to'] = 'לתת ל', - ['amount'] = 'כמות', - ['giveammo'] = 'לתת תחמושת', - ['amountammo'] = 'כמות תחמושת', - ['noammo'] = 'לא מספיק!', - ['gave_item'] = 'נותן %sx %s ל %s', - ['received_item'] = 'קיבלתם %sx %s מ %s', - ['gave_weapon'] = 'נתן %s ל %s', - ['gave_weapon_ammo'] = 'נתן ~o~%sx %s ל %s בשביל %s', - ['gave_weapon_withammo'] = 'נותן %s עם ~o~%sx %s ל %s', - ['gave_weapon_hasalready'] = '%s כבר יש אצל %s', - ['gave_weapon_noweapon'] = 'ל %s אין את הנשק הזה', - ['received_weapon'] = 'קיבלתם %s מ %s', - ['received_weapon_ammo'] = 'קיבלתם ~o~%sx %s עבור %s מ %s', - ['received_weapon_withammo'] = 'קיבלתם %s אם ~o~%sx %s מ %s', - ['received_weapon_hasalready'] = '%s רצה להביא את %s, אבל כבר יש לך', - ['received_weapon_noweapon'] = '%s ניסה לתת לך תחמושת עבור %s, אבל כבר יש לך את הנשק הזה', - ['gave_account_money'] = 'נותן $%s (%s) ל %s', - ['received_account_money'] = 'קיבלתם $%s (%s) מ %s', - ['amount_invalid'] = 'כמות לא חוקית', - ['players_nearby'] = 'אין שחקנים סמוכים', - ['ex_inv_lim'] = 'לא יכול לבצע פעולה, מעבר למשקל המקסימום של %s', - ['imp_invalid_quantity'] = 'לא יכול לבצע פעולה, הכמות אינה תקפה', - ['imp_invalid_amount'] = 'לא יכול לבצע פעולה, הסכום אינו תקף', - ['threw_standard'] = 'זורק %sx %s', - ['threw_account'] = 'זורק $%s %s', - ['threw_weapon'] = 'זורק %s', - ['threw_weapon_ammo'] = 'זורק %s אם ~o~%sx %s', - ['threw_weapon_already'] = 'יש לך כבר את הנשק הזה', - ['threw_cannot_pickup'] = 'האינבנטורי שלך הוא מלא, אי אפשר להרים את זה!', - ['threw_pickup_prompt'] = 'לחץ על E לאיסוף', - - -- Key mapping - ['keymap_showinventory'] = 'הצג אינבנטורי', - - -- Salary related - ['received_salary'] = 'שילמו לך: $%s', - ['received_help'] = 'קיבלתם כסף מהרווחה: $%s', - ['company_nomoney'] = 'החברה שאתה עובד בה עניים מכדי לשלם את המשכורת שלך', - ['received_paycheck'] = 'קיבלתם משכורת', - ['bank'] = 'בנק מזוז', - ['account_bank'] = 'בנק', - ['account_black_money'] = 'כסף שחור', - ['account_money'] = 'מזומן', - - ['act_imp'] = 'לא יכול לבצע פעולה', - ['in_vehicle'] = 'לא יכול לבצע פעולה, השחקן נמצא ברכב', - - -- Commands - ['command_bring'] = 'לשגר שחקן למיקום שלך', - ['command_car'] = 'שיגור רכב', - ['command_car_car'] = 'דגם רכב או קוד גיבוב', - ['command_cardel'] = 'מחיקת כלי רכב בקרבת מקום', - ['command_cardel_radius'] = 'מוחק את כל הרכבים ברדיוס מסוים', - ['command_clear'] = 'ניקוי הצא`ט', - ['command_clearall'] = 'ניקוי הצא`ט לכל השחקים' - ['command_clearinventory'] = 'להסיר את כל הדברים מהאינבטורי של כל השחקנים', - ['command_clearloadout'] = 'הסר את כל הנשק מהשחקנים', - ['command_freeze'] = 'להקפיא שחקן', - ['command_unfreeze'] = 'להפשיר שחקן', - ['command_giveaccountmoney'] = 'לתת כסף לחשבון בנק מסוים', - ['command_giveaccountmoney_account'] = 'חשבון שיש להוסיף אליו', - ['command_giveaccountmoney_amount'] = 'סכום להוסיף', - ['command_giveaccountmoney_invalid'] = 'שם חשבון לא חוקי', - ['command_giveitem'] = 'להביא לשחקן פריט', - ['command_giveitem_item'] = 'שם הפריט', - ['command_giveitem_count'] = 'כמות', - ['command_giveweapon'] = 'לתת לשחקן נשק', - ['command_giveweapon_weapon'] = 'שם הנשק', - ['command_giveweapon_ammo'] = 'כמות תחמושת', - ['command_giveweapon_hasalready'] = 'לשחקן כבר יש את הנשק הזה', - ['command_giveweaponcomponent'] = 'לתת חלק של נשק לשחקן', - ['command_giveweaponcomponent_component'] = 'שם החלק', - ['command_giveweaponcomponent_invalid'] = 'שם חלק שגוי', - ['command_giveweaponcomponent_hasalready'] = 'לשחקן כבר יש את סוג החלק הזה', - ['command_giveweaponcomponent_missingweapon'] = 'לשחקן אין את הנשק הזה', - ['command_goto'] = 'להשתגר לשחקן הזה', - ['command_kill'] = 'להרוג שחקן', - ['command_save'] = 'הכרח את המערכת לשמור נתוני שחקן', - ['command_saveall'] = 'הכרח את המערכת לשמור את הנתונים של כולם', - ['command_setaccountmoney'] = 'הגדר את הכסף בחשבון שצוין', - ['command_setaccountmoney_amount'] = 'כמות', - ['command_setcoords'] = 'להשתגר למיקום שצויין', - ['command_setcoords_x'] = 'X ערך', - ['command_setcoords_y'] = 'Y ערך', - ['command_setcoords_z'] = 'Z ערך', - ['command_setjob'] = 'לקבוע את העבודה של שלקן', - ['command_setjob_job'] = 'שם העבודה', - ['command_setjob_grade'] = 'דרגת עבודה', - ['command_setjob_invalid'] = 'התפקיד, או דרגת העבודה או שניהם שגויים', - ['command_setgroup'] = 'לקבוע את קבוצת הגישות של השחקנים', - ['command_setgroup_group'] = 'שם הקבוצה', - ['commanderror_argumentmismatch'] = 'ספירת טיעונים לא חוקית (עבר %s, רצוי %s)', - ['commanderror_argumentmismatch_number'] = 'טיעון לא חוקי #%s סוג מידע (המשפט עבר, אבל מבוקש מספר)', - ['commanderror_invaliditem'] = 'פריט לא קיים', - ['commanderror_invalidweapon'] = 'נשק לא קיים', - ['commanderror_console'] = 'לא ניתן לבצע את הפקודה מהקונסולה', - ['commanderror_invalidcommand'] = 'פקודה שגוייה - /%s', - ['commanderror_invalidplayerid'] = 'השחקן שצויין לא מחובר', - ['commandgeneric_playerid'] = 'מזהה השרת של השחקן', - ['command_giveammo_noweapon_found'] = '%s אין את הנשק הזה', - ['command_giveammo_weapon'] = 'שם הנשק', - ['command_giveammo_ammo'] = 'כמות תחמושת', - ['tpm_nowaypoint'] = 'אין נקודה לשיגור', - ['tpm_success'] = 'שוגרתם בהצלחה', - - ['noclip_message'] = 'נוקליפ %s', - ['enabled'] = '~g~מופעל~s~', - ['disabled'] = '~r~כבוי~s~', - - -- Locale settings - ['locale_digit_grouping_symbol'] = ',', - ['locale_currency'] = '£%s', - - -- Weapons - - -- Melee - ['weapon_dagger'] = 'פִּגיוֹן', - ['weapon_bat'] = 'מחבט', - ['weapon_battleaxe'] = 'גרזן קרב', - ['weapon_bottle'] = 'בקבוק', - ['weapon_crowbar'] = 'לום', - ['weapon_flashlight'] = 'פנס', - ['weapon_golfclub'] = 'מחבט גולף', - ['weapon_hammer'] = 'פטיש', - ['weapon_hatchet'] = 'גרזן חד', - ['weapon_knife'] = 'סכין', - ['weapon_knuckle'] = 'אגרופן', - ['weapon_machete'] = 'מצ`טה', - ['weapon_nightstick'] = 'מקל לילה', - ['weapon_wrench'] = 'מפתח ברגים', - ['weapon_poolcue'] = 'מקל סנוקר', - ['weapon_stone_hatchet'] = 'גרזן אבן', - ['weapon_switchblade'] = 'אולר', - - -- Handguns - ['weapon_appistol'] = 'אקדח AP', - ['weapon_ceramicpistol'] = 'אקדח קרמי', - ['weapon_combatpistol'] = 'אקדח קרבי', - ['weapon_doubleaction'] = 'אקדח פעולה כפול', - ['weapon_navyrevolver'] = 'אקדח חיל הים', - ['weapon_flaregun'] = 'אקדח זיקוקים', - ['weapon_gadgetpistol'] = 'אקדח גאד`גט', - ['weapon_heavypistol'] = 'אקדח כבד', - ['weapon_revolver'] = 'אקדח כבד', - ['weapon_revolver_mk2'] = 'אקדח כבד MK2', - ['weapon_marksmanpistol'] = 'אקדח מארקסמן', - ['weapon_pistol'] = 'אקדח', - ['weapon_pistol_mk2'] = 'אקדח MK2', - ['weapon_pistol50'] = 'אקדח .50', - ['weapon_snspistol'] = 'אקדח SNS', - ['weapon_snspistol_mk2'] = 'SNS אקדח MK2', - ['weapon_stungun'] = 'טייזר', - ['weapon_raypistol'] = 'Up-N-Atomizer', - ['weapon_vintagepistol'] = 'אקדח וינטג', - - -- Shotguns - ['weapon_assaultshotgun'] = 'שוטגאן ציד', - ['weapon_autoshotgun'] = 'שוטגאן אוטומטית', - ['weapon_bullpupshotgun'] = 'שוטגאן בולפאפ', - ['weapon_combatshotgun'] = 'שוטגאן קרבי', - ['weapon_dbshotgun'] = 'שוטגאן חבית כפולה', - ['weapon_heavyshotgun'] = 'שוטגאן כבד', - ['weapon_musket'] = 'מוּסקֶט', - ['weapon_pumpshotgun'] = 'שוטגאן פאמפ', - ['weapon_pumpshotgun_mk2'] = 'שוטגאן פאמפ MK2', - ['weapon_sawnoffshotgun'] = 'שוטגאן מנוסר', - - -- SMG & LMG - ['weapon_assaultsmg'] = 'רובה סער אוטומטי', - ['weapon_combatmg'] = 'Combat MG', - ['weapon_combatmg_mk2'] = 'Combat MG MK2', - ['weapon_combatpdw'] = 'Combat PDW', - ['weapon_gusenberg'] = 'Gusenberg Sweeper', - ['weapon_machinepistol'] = 'Machine Pistol', - ['weapon_mg'] = 'MG', - ['weapon_microsmg'] = 'Micro SMG', - ['weapon_minismg'] = 'Mini SMG', - ['weapon_smg'] = 'SMG', - ['weapon_smg_mk2'] = 'SMG MK2', - ['weapon_raycarbine'] = 'Unholy Hellbringer', - - -- Rifles - ['weapon_advancedrifle'] = 'רובה סער מתקדם', - ['weapon_assaultrifle'] = 'רובה סער', - ['weapon_assaultrifle_mk2'] = 'Assault Rifle MK2', - ['weapon_bullpuprifle'] = 'Bullpup Rifle', - ['weapon_bullpuprifle_mk2'] = 'Bullpup Rifle MK2', - ['weapon_carbinerifle'] = 'Carbine Rifle', - ['weapon_carbinerifle_mk2'] = 'Carbine Rifle MK2', - ['weapon_compactrifle'] = 'Compact Rifle', - ['weapon_militaryrifle'] = 'Military Rifle', - ['weapon_specialcarbine'] = 'Special Carbine', - ['weapon_specialcarbine_mk2'] = 'Special Carbine MK2', - - -- Sniper - ['weapon_heavysniper'] = 'צלף כבד', - ['weapon_heavysniper_mk2'] = 'צלף כבד MK2', - ['weapon_marksmanrifle'] = 'רובה מרקסמן', - ['weapon_marksmanrifle_mk2'] = 'רובה מרקסמן MK2', - ['weapon_sniperrifle'] = 'רובה צלפים', - - -- Heavy / Launchers - ['weapon_compactlauncher'] = 'משגר קומפקטי', - ['weapon_firework'] = 'משגר זיקוקים', - ['weapon_grenadelauncher'] = 'מטול רימונים', - ['weapon_hominglauncher'] = 'משגר הומינג', - ['weapon_minigun'] = 'מיניגאן', - ['weapon_railgun'] = 'תותח מסילה', - ['weapon_rpg'] = 'משגר טילים', - ['weapon_rayminigun'] = 'מיניגאן פשוט', - - -- Criminal Enterprises DLC - ['weapon_metaldetector'] = 'גלאי מתכות', - ['weapon_precisionrifle'] = 'רובה דיוק', - ['weapon_tactilerifle'] = 'שירות קרבין', - - -- Thrown - ['weapon_ball'] = 'בייסבול', - ['weapon_bzgas'] = 'BZ Gas', - ['weapon_flare'] = 'הַבהָקָה', - ['weapon_grenade'] = 'רימון', - ['weapon_petrolcan'] = 'ג`ריקן', - ['weapon_hazardcan'] = 'ג`ריקן מסוכן', - ['weapon_molotov'] = 'בקבוק תבערה', - ['weapon_proxmine'] = 'מכרה קרבה', - ['weapon_pipebomb'] = 'מטען צינור', - ['weapon_snowball'] = 'כדור שלג', - ['weapon_stickybomb'] = 'פצצה דביקה', - ['weapon_smokegrenade'] = 'גז מדמיע', - - -- Special - ['weapon_fireextinguisher'] = 'מטף כיבוי אש', - ['weapon_digiscanner'] = 'סורק דיגיטלי', - ['weapon_garbagebag'] = 'שקית אשפה', - ['weapon_handcuffs'] = 'אזיקים', - ['gadget_nightvision'] = 'ראיית לילה', - ['gadget_parachute'] = 'מצנח', - - -- Weapon Components - ['component_knuckle_base'] = 'מודל בסיס', - ['component_knuckle_pimp'] = 'הסרסור', - ['component_knuckle_ballas'] = 'הבלאס', - ['component_knuckle_dollar'] = 'ההוסטלר', - ['component_knuckle_diamond'] = 'הסלע', - ['component_knuckle_hate'] = 'השונא', - ['component_knuckle_love'] = 'המאהב', - ['component_knuckle_player'] = 'השחקן', - ['component_knuckle_king'] = 'המלך', - ['component_knuckle_vagos'] = 'הווגו', - - ['component_luxary_finish'] = 'סיום נשק יוקרה', - - ['component_handle_default'] = 'ידית ברירת מחדל', - ['component_handle_vip'] = 'ידית וי.איי.פי', - ['component_handle_bodyguard'] = 'ידית שומר ראש', - - ['component_vip_finish'] = 'גימור וי.איי.פי', - ['component_bodyguard_finish'] = 'גימור שומר ראש', - - ['component_camo_finish'] = 'עיצוב דיגיטלי', - ['component_camo_finish2'] = 'עיצוב מברשת מברשת', - ['component_camo_finish3'] = 'עיצוב וודלנד', - ['component_camo_finish4'] = 'עיצוב גולגולת', - ['component_camo_finish5'] = 'עיצוב סיסנטה', - ['component_camo_finish6'] = 'עיצוב פרסאוס', - ['component_camo_finish7'] = 'עיצוב נמר', - ['component_camo_finish8'] = 'עיצוב זברה', - ['component_camo_finish9'] = 'עיצוב גיאומטרי', - ['component_camo_finish10'] = 'עיצוב בום', - ['component_camo_finish11'] = 'עיצוב פטריוטי', - - ['component_camo_slide_finish'] = 'עיצוב דיגיטלי בצעד', - ['component_camo_slide_finish2'] = 'עיצוב מברשת מברשת בצעד', - ['component_camo_slide_finish3'] = 'עיצוב וודלנד בצעד', - ['component_camo_slide_finish4'] = 'עיצוב גולגולת בצעד', - ['component_camo_slide_finish5'] = 'עיצוב סיסנטה בצעד', - ['component_camo_slide_finish6'] = 'עיצוב פרסאוס בצעד', - ['component_camo_slide_finish7'] = 'עיצוב נמר בצעד', - ['component_camo_slide_finish8'] = 'עיצוב זברה בצעד', - ['component_camo_slide_finish9'] = 'עיצוב גיאומטרי בצעד', - ['component_camo_slide_finish10'] = 'עיצוב בום בצעד', - ['component_camo_slide_finish11'] = 'עיצוב פטריוטי בצעד', - - ['component_clip_default'] = 'מחסנית רגילה', - ['component_clip_extended'] = 'מחסנית מורחבת', - ['component_clip_drum'] = 'מחסנית תוף', - ['component_clip_box'] = 'מחסנית קופסא', - - ['component_scope_holo'] = 'כוונת הולוגרפית', - ['component_scope_small'] = 'כוונת קטנה', - ['component_scope_medium'] = 'כוונת בינונית', - ['component_scope_large'] = 'כוונת גדולה', - ['component_scope'] = 'כוונת מותקנת', - ['component_scope_advanced'] = 'כוונת מתקדמת', - ['component_ironsights'] = 'ironsights', - - ['component_suppressor'] = 'משתיק', - ['component_compensator'] = 'compensator', - - ['component_muzzle_flat'] = 'flat Muzzle Brake', - ['component_muzzle_tactical'] = 'tactical Muzzle Brake', - ['component_muzzle_fat'] = 'fat-End Muzzle Brake', - ['component_muzzle_precision'] = 'precision Muzzle Brake', - ['component_muzzle_heavy'] = 'heavy Duty Muzzle Brake', - ['component_muzzle_slanted'] = 'slanted Muzzle Brake', - ['component_muzzle_split'] = 'split-End Muzzle Brake', - ['component_muzzle_squared'] = 'squared Muzzle Brake', - - ['component_flashlight'] = 'פנס', - ['component_grip'] = 'grip', - - ['component_barrel_default'] = 'default Barrel', - ['component_barrel_heavy'] = 'heavy Barrel', - - ['component_ammo_tracer'] = 'tracer Ammo', - ['component_ammo_incendiary'] = 'incendiary Ammo', - ['component_ammo_hollowpoint'] = 'hollowpoint Ammo', - ['component_ammo_fmj'] = 'fMJ Ammo', - ['component_ammo_armor'] = 'armor Piercing Ammo', - ['component_ammo_explosive'] = 'armor Piercing Incendiary Ammo', - - ['component_shells_default'] = 'פגזים ברירת מחדל', - ['component_shells_incendiary'] = 'פגזים מנשימת דרקון', - ['component_shells_armor'] = 'פגזים של פלייט פלייז', - ['component_shells_hollowpoint'] = 'פגזים של פלכט', - ['component_shells_explosive'] = 'פגזי שבלול נפץ', - - -- Weapon Ammo - ['ammo_rounds'] = 'rounds', - ['ammo_shells'] = 'פגזים', - ['ammo_charge'] = 'טעינות', - ['ammo_petrol'] = 'גלון דלק', - ['ammo_firework'] = 'זיקוקים', - ['ammo_rockets'] = 'רקטות', - ['ammo_grenadelauncher'] = 'רימונים', - ['ammo_grenade'] = 'רימונים', - ['ammo_stickybomb'] = 'פצצות', - ['ammo_pipebomb'] = 'פצצות', - ['ammo_smokebomb'] = 'פצצות', - ['ammo_molotov'] = 'קוקטיילים', - ['ammo_proxmine'] = 'מוקשים', - ['ammo_bzgas'] = 'פחיות', - ['ammo_ball'] = 'כדורים', - ['ammo_snowball'] = 'כדורי שלג', - ['ammo_flare'] = 'flares', - ['ammo_flaregun'] = 'flares', - - -- Weapon Tints - ['tint_default'] = 'עיצוב רגיל', - ['tint_green'] = 'עיצוב ירוק', - ['tint_gold'] = 'עיצוב זהב נוצץ', - ['tint_pink'] = 'עיצוב ורוד', - ['tint_army'] = 'עיצוב צבאי', - ['tint_lspd'] = 'עיצוב כחול', - ['tint_orange'] = 'עיצוב כתום', - ['tint_platinum'] = 'עיצוב פלטינה', -} diff --git a/[esx]/esx_identity/locales/he.lua b/[esx]/esx_identity/locales/he.lua deleted file mode 100644 index b9f3ca786..000000000 --- a/[esx]/esx_identity/locales/he.lua +++ /dev/null @@ -1,39 +0,0 @@ -Locales['he'] = { - ['show_active_character'] = 'הראה הדמויות פעילים', - ['active_character'] = 'Active Character: %s', - ['error_active_character'] = 'הייתה שגיאה בהשגת הנתונים שלך.', - ['delete_character'] = 'מחק את הדמות הנוכחית שלך.', - ['deleted_character'] = 'הדמות נמחקה', - ['error_delete_character'] = 'הייתה בעיה למחוק את הדמות שלך.', - ['thank_you_for_registering'] = 'ההרשמה בוצעה בהצלחה.תהנה!', - ['debug_xPlayer_get_first_name'] = 'מחזיר את שמך הפרטי', - ['debug_xPlayer_get_last_name'] = 'מחזיר את שם המשפחה שלך', - ['debug_xPlayer_get_full_name'] = 'מחזיר את שמך המלא', - ['debug_xPlayer_get_sex'] = 'מחזיר את המין שלך', - ['debug_xPlayer_get_dob'] = 'מחזיר את תאריך הלידה שלך', - ['debug_xPlayer_get_height'] = 'מחזיר את הגובה שלך', - ['error_debug_xPlayer_get_first_name'] = 'הייתה בעיה בזמן קבלת שמך הפרטי.', - ['error_debug_xPlayer_get_last_name'] = 'הייתה בעיה בזמן קבלת שם המשפחה שלך.', - ['error_debug_xPlayer_get_full_name'] = 'הייתה בעיה בזמן קבלת שמך המלא.', - ['error_debug_xPlayer_get_sex'] = 'הייתה בעיה בזמן השגת המין שלך.', - ['error_debug_xPlayer_get_dob'] = 'הייתה בעיה בזמן קבלת תאריך הלידה שלך.', - ['error_debug_xPlayer_get_height'] = 'הייתה בעיה בזמן השגת הגובה שלך.', - ['return_debug_xPlayer_get_first_name'] = 'שם פרטי: %s', - ['return_debug_xPlayer_get_last_name'] = 'שם משפחה: %s', - ['return_debug_xPlayer_get_full_name'] = 'שֵׁם: %s', - ['return_debug_xPlayer_get_sex'] = 'מין: %s', - ['return_debug_xPlayer_get_dob'] = 'תאריך לידה: %s', - ['return_debug_xPlayer_get_height'] = 'גובה: %s אינץ', - ['data_incorrect'] = 'נתונים לא חוקיים, אנא נסה שוב.', - ['invalid_format'] = 'פורמט נתונים לא חוקי, אנא נסה שוב.', - ['no_identifier'] = '[ESX Identity]\nהייתה בעיה בזמן העמסת הדמות שלך!\nקוד שגיאה: identifier-missing\n\nזה נגרם על ידי המזהה שלך חסר.אנא חזור מאוחר יותר או דווח על בעיה זו לבעל השרת.', - ['missing_identity'] = '[ESX Identity]\nהייתה בעיה להעמיס את הדמות שלך!\nקוד שגיאה: identity-missing\n\nנראה שהזהות שלך חסרה, נסה להתחבר שוב.', - ['deleted_identity'] = 'הדמות נמחקה.אנא הצטרף שוב כדי ליצור דמות חדשה.', - ['already_registered'] = 'כבר נרשמת.', - ['invalid_firstname_format'] = 'פורמט לא חוקי (שם פרטי): אנא נסה שוב.', - ['invalid_lastname_format'] = 'פורמט לא חוקי (שם משפחה): אנא נסה שוב.', - ['invalid_dob_format'] = 'פורמט לא חוקי (תאריך לידה): אנא נסה שוב.', - ['invalid_sex_format'] = 'פורמט לא חוקי (סקס): אנא נסה שוב.', - ['invalid_height_format'] = 'פורמט לא חוקי (גובה): אנא נסה שוב.' - } - \ No newline at end of file diff --git a/[esx]/esx_multicharacter/locales/he.lua b/[esx]/esx_multicharacter/locales/he.lua deleted file mode 100644 index 650d0c43d..000000000 --- a/[esx]/esx_multicharacter/locales/he.lua +++ /dev/null @@ -1,29 +0,0 @@ -Locales["he"] = { - ["male"] = "זָכָר", - ["female"] = "נְקֵבָה", - ["select_char"] = "בחר דמות", - ["select_char_description"] = "בחר דמות שתשחק כמו.", - ["create_char"] = "New Character", - ["char_play"] = "שחק", - ["char_play_description"] = "המשך לעיר.", - ["char_disabled"] = "מבוטל", - ["char_disabled_description"] = "דמות זו אינה שמישה.", - ["char_delete"] = "למחוק", - ["char_delete_description"] = "הסר לצמיתות את הדמות הזו.", - ["character"] = "דמות: %s", - ["return"] = "חזרה", - ["return_description"] = "חזרה לבחירת הדמויות.", - ["command_setslots"] = "Set multicharacter slots number of a player", - ["command_remslots"] = "Remove multicharacter slots number of a player", - ["command_enablechar"] = "Enable a given character of a player", - ["command_disablechar"] = "Disable a given character of a player", - ["command_charslot"] = "Slot number of the character", - ["command_identifier"] = "Player identifier", - ["command_slots"] = "# of slots", - ["slotsadd"] = "You added %s slots to %s", - ["slotsedit"] = "You set %s slots to %s", - ["slotsrem"] = "You removed slots to %s", - ["charenabled"] = "You enabled character #%s of %s", - ["chardisabled"] = "You disabled character #%s of %s", - ["charnotfound"] = "Character #%s of %s doesn't exist", -} diff --git a/[esx]/esx_skin/locales/he.lua b/[esx]/esx_skin/locales/he.lua deleted file mode 100644 index 261765951..000000000 --- a/[esx]/esx_skin/locales/he.lua +++ /dev/null @@ -1,6 +0,0 @@ -Locales['he'] = { - ['skin_menu'] = 'תפריט צבעי עור', - ['use_rotate_view'] = 'השתמשו ~INPUT_FRONTEND_LS~ ו ~INPUT_CHARACTER_WHEEL~ בשביל לסובב את דמות.', - ['skin'] = 'שינוי צבע עור', - ['saveskin'] = 'שמירת צבע עור לקובץ', - } \ No newline at end of file diff --git a/[esx]/skinchanger/locales/he.lua b/[esx]/skinchanger/locales/he.lua deleted file mode 100644 index 7677dbbd8..000000000 --- a/[esx]/skinchanger/locales/he.lua +++ /dev/null @@ -1,101 +0,0 @@ -Locales['he'] = { - ['sex'] = 'מין', - ['mom'] = 'פרצוף אמא', - ['dad'] = 'פרצוץ אבא', - ['resemblance'] = 'דִמיוֹן', - ['skin_tone'] = 'גוון עור', - ['nose_1'] = 'רוחב אף', - ['nose_2'] = 'גובה שיא האף', - ['nose_3'] = 'אורך שיא האף', - ['nose_4'] = 'גובה עצם האף', - ['nose_5'] = 'הורדת שיא האף', - ['nose_6'] = 'טוויסט עצם האף', - ['cheeks_1'] = 'גובה עצמות לחיים', - ['cheeks_2'] = 'רוחב עצמות לחיים', - ['cheeks_3'] = 'רוחב לחיים', - ['lip_fullness'] = 'מלאות שפתיים', - ['jaw_bone_width'] = 'רוחב עצם הלסת', - ['jaw_bone_length'] = 'אורך עצם הלסת', - ['chin_height'] = 'גובה הסנטר', - ['chin_length'] = 'אורך סנטר', - ['chin_width'] = 'רוחב סנטר', - ['chin_hole'] = 'גודל חור הסנטר', - ['neck_thickness'] = 'עובי הצוואר', - ['wrinkles'] = 'קמטים', - ['wrinkle_thickness'] = 'עובי קמטים', - ['beard_type'] = 'סוג זקן', - ['beard_size'] = 'גודל זקן', - ['beard_color_1'] = 'צבע זקן 1', - ['beard_color_2'] = 'צבע זקן 2', - ['hair_1'] = 'שיער 1', - ['hair_2'] = 'שיער 2', - ['hair_color_1'] = 'צבע שיער 1', - ['hair_color_2'] = 'צבע שיערr 2', - ['eye_color'] = 'צבע עיניים', - ['eye_squint'] = 'פוזן עיניים', - ['eyebrow_type'] = 'סוג גבות', - ['eyebrow_size'] = 'גודל הגבות', - ['eyebrow_color_1'] = 'צבע גבות 1', - ['eyebrow_color_2'] = 'צבע גבות 2', - ['eyebrow_depth'] = 'עומק גבות', - ['eyebrow_height'] = 'גובה הגבות', - ['makeup_type'] = 'סוג איפור', - ['makeup_thickness'] = 'עובי איפור', - ['makeup_color_1'] = 'צבע איפור 1', - ['makeup_color_2'] = 'צבע איפור 2', - ['lipstick_type'] = 'סוג שפתון', - ['lipstick_thickness'] = 'עובי שפתון', - ['lipstick_color_1'] = 'צבע שפתון 1', - ['lipstick_color_2'] = 'צבע שפתון 2', - ['ear_accessories'] = 'אביזרי אוזניים', - ['ear_accessories_color'] = 'צבע אביזרי אוזניים', - ['tshirt_1'] = 'חולצה קצרה 1', - ['tshirt_2'] = 'חולצה קצרה2', - ['torso_1'] = 'טוֹרסוֹ 1', - ['torso_2'] = 'טוֹרסוֹ 2', - ['decals_1'] = 'מדבקות 1', - ['decals_2'] = 'מדבקות 2', - ['arms'] = 'נשק', - ['arms_2'] = 'נשק 2', - ['pants_1'] = 'מכנסיים 1', - ['pants_2'] = 'מכנסיים 2', - ['shoes_1'] = 'נעליים 1', - ['shoes_2'] = 'נעליים 2', - ['mask_1'] = 'מסכה 1', - ['mask_2'] = 'מסכה 2', - ['bproof_1'] = 'אפוד אטום כדורים 1', - ['bproof_2'] = 'אפוד אטום כדורים 2', - ['chain_1'] = 'שרשת 1', - ['chain_2'] = 'שרשת 2', - ['helmet_1'] = 'קסדה 1', - ['helmet_2'] = 'קדסה 2', - ['watches_1'] = 'שעונים 1', - ['watches_2'] = 'שעונים 2', - ['bracelets_1'] = 'צמידים 1', - ['bracelets_2'] = 'צמידים 2', - ['glasses_1'] = 'משקפיים 1', - ['glasses_2'] = 'משקפיים 2', - ['bag'] = 'תיק', - ['bag_color'] = 'צבע תיק', - ['blemishes'] = 'פגמים', - ['blemishes_size'] = 'פגמים עובי', - ['ageing'] = 'הזדקנות', - ['ageing_1'] = 'עובי הזדקנות', - ['blush'] = 'להסמיק', - ['blush_1'] = 'עובי סומק', - ['blush_color'] = 'צבע סומק', - ['complexion'] = 'גוון', - ['complexion_1'] = 'עובי עור', - ['sun'] = 'שמש', - ['sun_1'] = 'עובי השמש', - ['freckles'] = 'נמשים', - ['freckles_1'] = 'עובי הנמשים', - ['chest_hair'] = 'שיער חזה', - ['chest_hair_1'] = 'עובי שיער בחזה', - ['chest_color'] = 'צבע שיער בחזה', - ['bodyb'] = 'פגמים בגוף', - ['bodyb_size'] = 'גוף פגמים עובי', - ['bodyb_extra'] = 'פגמים אפקט גוף', - ['bodyb_extra_thickness'] = 'פגמים עובי אפקט גוף', - } - \ No newline at end of file From 0d0c36cc4a4f26c548b6933e0b88fb67f4fc0eed Mon Sep 17 00:00:00 2001 From: thefourCraft Date: Sat, 15 Jul 2023 16:27:05 +0300 Subject: [PATCH 018/148] Create he.lua Signed-off-by: thefourCraft --- [core]/es_extended/locales/he.lua | 67 +++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 [core]/es_extended/locales/he.lua diff --git a/[core]/es_extended/locales/he.lua b/[core]/es_extended/locales/he.lua new file mode 100644 index 000000000..f9b7aa80f --- /dev/null +++ b/[core]/es_extended/locales/he.lua @@ -0,0 +1,67 @@ +Locales["he"] = { + -- Inventory + ["inventory"] = "מלאי ( משקל %s / %s )", + ["use"] = "שימוש", + ["give"] = "תן", + ["remove"] = "זרוק", + ["return"] = "חזור", + ["give_to"] = "תן ל", + ["amount"] = "כמות", + ["giveammo"] = "תן תחמושת", + ["amountammo"] = "כמות תחמושת", + ["noammo"] = "אין מספיק!", + ["gave_item"] = "נתת %sx %s ל %s", + ["received_item"] = "קיבלת %sx %s מ %s", + ["gave_weapon"] = "נתת %s ל %s", + ["gave_weapon_ammo"] = "נתת ~o~%sx %s עבור %s ל %s", + ["gave_weapon_withammo"] = "נתת %s עם ~o~%sx %s ל %s", + ["gave_weapon_hasalready"] = "%s כבר יש לו %s", + ["gave_weapon_noweapon"] = "%s אין לו את הנשק", + ["received_weapon"] = "קיבלת %s מ %s", + ["received_weapon_ammo"] = "קיבלת ~o~%sx %s ל %s שלך מ %s", + ["received_weapon_withammo"] = "קיבלת %s עם ~o~%sx %s מ %s", + ["received_weapon_hasalready"] = "%s ניסה לתת לך %s, אבל כבר יש לך את הנשק הזה", + ["received_weapon_noweapon"] = "%s ניסה לתת לך תחמושת עבור %s, אבל אין לך את הנשק הזה", + ["gave_account_money"] = "נתת $%s (%s) ל %s", + ["received_account_money"] = "קיבלת $%s (%s) מ %s", + ["amount_invalid"] = "כמות לא חוקית", + ["players_nearby"] = "אין שחקנים בקרבת מקום", + ["ex_inv_lim"] = "לא ניתן לבצע פעולה, משקל מרבי של %s", + ["imp_invalid_quantity"] = "לא ניתן לבצע פעולה, הכמות לא חוקית", + ["imp_invalid_amount"] = "לא ניתן לבצע פעולה, הסכום לא חוקי", + ["threw_standard"] = "זרקת %sx %s", + ["threw_account"] = "זרקת $%s %s", + ["threw_weapon"] = "זרקת %s", + ["threw_weapon_ammo"] = "זרקת %s עם ~o~%sx %s", + ["threw_weapon_already"] = "כבר יש לך את הנשק הזה", + ["threw_cannot_pickup"] = "המלאי מלא, לא ניתן לאסוף!", + ["threw_pickup_prompt"] = "לחץ על E כדי לאסוף", + + -- Key mapping + ["keymap_showinventory"] = "הצג מלאי", + + -- Salary related + ["received_salary"] = "קיבלת שכר: $%s", + ["received_help"] = "קיבלת הוצאה לפנסיה: $%s", + ["company_nomoney"] = "החברה שאצלה אתה עובד אינה מסוגלת לשלם את השכר שלך", + ["received_paycheck"] = "קיבלת פיקדון שכר", + ["bank"] = "בנק Maze", + ["account_bank"] = "בנק", + ["account_black_money"] = "כסף מטונף", + ["account_money"] = "מזומן", + + ["act_imp"] = "לא ניתן לבצע פעולה", + ["in_vehicle"] = "לא ניתן לבצע פעולה, השחקן נמצא ברכב", + + -- Commands + ['command_bring'] = 'הבא שחקן אליך', + ['command_car'] = 'צור רכב', + ['command_car_car'] = 'דגם הרכב או הקוד', + ['command_cardel'] = 'הסר רכבים בסביבה', + ['command_cardel_radius'] = 'מסיר את כל הרכבים ברדיוס המצויין', + ['command_clear'] = 'נקה טקסט בצאט', + ['command_clearall'] = 'נקה טקסט בצאט עבור כל השחקנים', + ['command_clearinventory'] = 'הסר את כל הפריטים מהמלאי של השחקן', + ['command_clearloadout'] = 'הסר את כל הנשק מהשחקן', + ['command_freeze'] = 'הקפא שחקן', + ['command_unfreeze From 5573375e3ff7a71b1be0da26e1e5b61263277fe0 Mon Sep 17 00:00:00 2001 From: thefourCraft Date: Sat, 15 Jul 2023 16:29:19 +0300 Subject: [PATCH 019/148] Update he.lua Signed-off-by: thefourCraft --- [core]/es_extended/locales/he.lua | 56 ++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/[core]/es_extended/locales/he.lua b/[core]/es_extended/locales/he.lua index f9b7aa80f..6f8b23b86 100644 --- a/[core]/es_extended/locales/he.lua +++ b/[core]/es_extended/locales/he.lua @@ -64,4 +64,58 @@ Locales["he"] = { ['command_clearinventory'] = 'הסר את כל הפריטים מהמלאי של השחקן', ['command_clearloadout'] = 'הסר את כל הנשק מהשחקן', ['command_freeze'] = 'הקפא שחקן', - ['command_unfreeze + ['command_unfreeze'] = 'בטל הקפאת שחקן', + ['command_giveaccountmoney'] = 'תן כסף לחשבון מסוים', + ['command_giveaccountmoney_account'] = 'חשבון להוספה', + ['command_giveaccountmoney_amount'] = 'סכום להוספה', + ['command_giveaccountmoney_invalid'] = 'שם חשבון לא חוקי', + ['command_removeaccountmoney'] = 'הסר כסף מחשבון מסוים', + ['command_removeaccountmoney_account'] = 'חשבון להסרה ממנו', + ['command_removeaccountmoney_amount'] = 'סכום להסרה', + ['command_removeaccountmoney_invalid'] = 'שם חשבון לא חוקי', + ['command_giveitem'] = 'תן לשחקן פריט', + ['command_giveitem_item'] = 'שם הפריט', + ['command_giveitem_count'] = 'כמות', + ['command_giveweapon'] = 'תן לשחקן נשק', + ['command_giveweapon_weapon'] = 'שם הנשק', + ['command_giveweapon_ammo'] = 'כמות תחמושת', + ['command_giveweapon_hasalready'] = 'לשחקן כבר יש את הנשק הזה', + ['command_giveweaponcomponent'] = 'תן רכיב נשק לשחקן', + ['command_giveweaponcomponent_component'] = 'שם הרכיב', + ['command_giveweaponcomponent_invalid'] = 'רכיב נשק לא חוקי', + ['command_giveweaponcomponent_hasalready'] = 'לשחקן כבר יש את הרכיב של הנשק', + ['command_giveweaponcomponent_missingweapon'] = 'לשחקן אין את הנשק הזה', + ['command_goto'] = 'העבר את עצמך לשחקן', + ['command_kill'] = 'הרוג שחקן', + ['command_save'] = 'שמור את המידע של השחקן', + ['command_saveall'] = 'שמור את המידע של כל השחקנים', + ['command_setaccountmoney'] = 'הגדר את הכסף בחשבון מסוים', + ['command_setaccountmoney_amount'] = 'סכום', + ['command_setcoords'] = 'העבר לנקודת הקואורדינטות שצוינו', + ['command_setcoords_x'] = 'ערך X', + ['command_setcoords_y'] = 'ערך Y', + ['command_setcoords_z'] = 'ערך Z', + ['command_setjob'] = 'הגדר את העבודה של השחקן', + ['command_setjob_job'] = 'שם', + ['command_setjob_grade'] = 'דרגת עבודה', + ['command_setjob_invalid'] = 'העבודה, הדרגה או שניהם לא חוקיים', + ['command_setgroup'] = 'הגדר את קבוצת ההרשאות של השחקן', + ['command_setgroup_group'] = 'שם הקבוצה', + ['commanderror_argumentmismatch'] = 'כמות הארגומנטים אינה תואמת (התקבלו %s, דרושים %s)', + ['commanderror_argumentmismatch_number'] = 'סוג הנתונים של הארגומנט #%s אינו תואם (התקבלה מחרוזת, נדרש מספר)', + ['commanderror_argumentmismatch_string'] = 'סוג הנתונים של הארגומנט #%s אינו תואם (התקבל מספר, נדרשה מחרוזת)', + ['commanderror_invaliditem'] = 'פריט לא חוקי', + ['commanderror_invalidweapon'] = 'נשק לא חוקי', + ['commanderror_console'] = 'לא ניתן לבצע את הפקודה מהקונסולה', + ['commanderror_invalidcommand'] = 'פקודה לא חוקית - /%s', + ['commanderror_invalidplayerid'] = 'השחקן שצוין אינו מחובר', + ['commandgeneric_playerid'] = 'מספר השחקן בשרת', + ['command_giveammo_noweapon_found'] = '%s אין לו את הנשק', + ['command_giveammo_weapon'] = 'שם הנשק', + ['command_giveammo_ammo'] = 'כמות תחמושת', + ['tpm_nowaypoint'] = 'לא הוגדרה נקודת דרך.', + ['tpm_success'] = 'הועברת בהצלחה', + + ['noclip_message'] = 'Noclip הופך להיות %s', + ['enabled'] = '~g~מאופ + From bbf9bb6d7778272273027d33492773dfcd0eae98 Mon Sep 17 00:00:00 2001 From: thefourCraft Date: Sat, 15 Jul 2023 16:31:18 +0300 Subject: [PATCH 020/148] Update he.lua Signed-off-by: thefourCraft --- [core]/es_extended/locales/he.lua | 94 ++++++++++++++++++++++++++++++- 1 file changed, 93 insertions(+), 1 deletion(-) diff --git a/[core]/es_extended/locales/he.lua b/[core]/es_extended/locales/he.lua index 6f8b23b86..2ca1a94f9 100644 --- a/[core]/es_extended/locales/he.lua +++ b/[core]/es_extended/locales/he.lua @@ -117,5 +117,97 @@ Locales["he"] = { ['tpm_success'] = 'הועברת בהצלחה', ['noclip_message'] = 'Noclip הופך להיות %s', - ['enabled'] = '~g~מאופ + ['enabled'] = '~g~מופעל~s~', + ['disabled'] = '~r~מבוטל~s~', + + -- Locale settings + ["locale_digit_grouping_symbol"] = ",", + ["locale_currency"] = "£%s", + + -- Weapons + + -- Melee + ["weapon_dagger"] = "סכין", + ["weapon_bat"] = "מקל", + ["weapon_battleaxe"] = "קרדום לחימה", + ["weapon_bottle"] = "בקבוק", + ["weapon_crowbar"] = "מפתח עגלה", + ["weapon_flashlight"] = "פנס יד", + ["weapon_golfclub"] = "מקל גולף", + ["weapon_hammer"] = "פטיש", + ["weapon_hatchet"] = "קרדום", + ["weapon_knife"] = "סכין", + ["weapon_knuckle"] = "אגרופים", + ["weapon_machete"] = "מאצ'טה", + ["weapon_nightstick"] = "מקלון", + ["weapon_wrench"] = "מפתח ברגים", + ["weapon_poolcue"] = "מקל ביליארד", + ["weapon_stone_hatchet"] = "קרדום אבן", + ["weapon_switchblade"] = "סכין מתקפלת", + + -- Handguns + ["weapon_appistol"] = "אקדח AP", + ["weapon_ceramicpistol"] = "אקדח קרמיקה", + ["weapon_combatpistol"] = "אקדח לחימה", + ["weapon_doubleaction"] = "רבולבר פעולה כפולה", + ["weapon_navyrevolver"] = "רבולבר חיל הים", + ["weapon_flaregun"] = "אקדח תותחני", + ["weapon_gadgetpistol"] = "אקדח גאדג'ט", + ["weapon_heavypistol"] = "אקדח כבד", + ["weapon_revolver"] = "רבולבר כבד", + ["weapon_revolver_mk2"] = "רבולבר כבד MK2", + ["weapon_marksmanpistol"] = "אקדח מציין", + ["weapon_pistol"] = "אקדח", + ["weapon_pistol_mk2"] = "אקדח MK2", + ["weapon_pistol50"] = "אקדח .50", + ["weapon_snspistol"] = "אקדח SNS", + ["weapon_snspistol_mk2"] = "אקדח SNS MK2", + ["weapon_stungun"] = "טייזר", + ["weapon_raypistol"] = "אקדח קרניים", + ["weapon_vintagepistol"] = "אקדח וינטג'", + + -- Shotguns + ["weapon_assaultshotgun"] = "רובה תוקף", + ["weapon_autoshotgun"] = "רובה אוטומטי", + ["weapon_bullpupshotgun"] = "רובה קטלב", + ["weapon_combatshotgun"] = "רובה לחימה", + ["weapon_dbshotgun"] = "רובה כפול", + ["weapon_heavyshotgun"] = "רובה כבד", + ["weapon_musket"] = "משקוף", + ["weapon_pumpshotgun"] = "רובה משאבה", + ["weapon_pumpshotgun_mk2"] = "רובה משאבה MK2", + ["weapon_sawnoffshotgun"] = "רובה קצוץ", + + -- SMG & LMG + ["weapon_assaultsmg"] = "SMG תוקף", + ["weapon_combatmg"] = "MG לחימה", + ["weapon_combatmg_mk2"] = "MG לחימה MK2", + ["weapon_combatpdw"] = "PDW לחימה", + ["weapon_gusenberg"] = "גוזנברג מכשיר", + ["weapon_machinepistol"] = "אקדח מכונה", + ["weapon_mg"] = "MG", + ["weapon_microsmg"] = "SMG מיקרו", + ["weapon_minismg"] = "SMG מיני", + ["weapon_smg"] = "SMG", + ["weapon_smg_mk2"] = "SMG MK2", + ["weapon_raycarbine"] = "קרבין הלל הרשע", + + -- Rifles + ["weapon_advancedrifle"] = "רובה מתקדם", + ["weapon_assaultrifle"] = "רובה תוקף", + ["weapon_assaultrifle_mk2"] = "רובה תוקף MK2", + ["weapon_bullpuprifle"] = "רובה קטלב", + ["weapon_bullpuprifle_mk2"] = "רובה קטלב MK2", + ["weapon_carbinerifle"] = "רובה קרבין", + ["weapon_carbinerifle_mk2"] = "רובה קרבין MK2", + ["weapon_compactrifle"] = "רובה קומפקטי", + ["weapon_militaryrifle"] = "רובה צבאי", + ["weapon_specialcarbine"] = "קרבין מיוחד", + ["weapon_specialcarbine_mk2"] = "קרבין מיוחד MK2", + + -- Sniper + ["weapon_heavysniper"] = "צלף כבד", + ["weapon_heavysniper_mk2"] = "צלף כבד MK2", + ["weapon_marksmanrifle"] = " + From 9de102b49fb8483582d8b94e93ee719932fdab50 Mon Sep 17 00:00:00 2001 From: thefourCraft Date: Sat, 15 Jul 2023 16:58:38 +0300 Subject: [PATCH 021/148] Update he.lua Signed-off-by: thefourCraft --- [core]/es_extended/locales/he.lua | 163 +++++++++++++++++++++++++++++- 1 file changed, 162 insertions(+), 1 deletion(-) diff --git a/[core]/es_extended/locales/he.lua b/[core]/es_extended/locales/he.lua index 2ca1a94f9..c2bafc991 100644 --- a/[core]/es_extended/locales/he.lua +++ b/[core]/es_extended/locales/he.lua @@ -208,6 +208,167 @@ Locales["he"] = { -- Sniper ["weapon_heavysniper"] = "צלף כבד", ["weapon_heavysniper_mk2"] = "צלף כבד MK2", - ["weapon_marksmanrifle"] = " + ["weapon_marksmanrifle"] = "רובה צלף", + ["weapon_marksmanrifle_mk2"] = "רובה צלף MK2", + ["weapon_sniperrifle"] = "רובה צלף", + + -- Heavy / Launchers + ["weapon_compactlauncher"] = "משגר קומפקטי", + ["weapon_firework"] = "משגר זיקוקים", + ["weapon_grenadelauncher"] = "משגר רימונים", + ["weapon_hominglauncher"] = "משגר חוקר", + ["weapon_minigun"] = "מיניגאן", + ["weapon_railgun"] = "רובה מסילות", + ["weapon_rpg"] = "משגר רקטות", + ["weapon_rayminigun"] = "וידוומייקר", + + -- Criminal Enterprises DLC + ["weapon_metaldetector"] = "חיישן מתכת", + ["weapon_precisionrifle"] = "רובה מדויק", + ["weapon_tactilerifle"] = "רובה טקטי", + + -- Thrown + ["weapon_ball"] = "כדור בייסבול", + ["weapon_bzgas"] = "גז BZ", + ["weapon_flare"] = "זיקוק", + ["weapon_grenade"] = "רימון", + ["weapon_petrolcan"] = "קנקן דלק", + ["weapon_hazardcan"] = "קנקן דלק מסוכן", + ["weapon_molotov"] = "קוקטייל מולוטוב", + ["weapon_proxmine"] = "מוקש קרבה", + ["weapon_pipebomb"] = "פצצת צנרת", + ["weapon_snowball"] = "כדור שלג", + ["weapon_stickybomb"] = "רימון דביק", + ["weapon_smokegrenade"] = "רימון עשן", + + -- Special + ["weapon_fireextinguisher"] = "מטף כיבוי", + ["weapon_digiscanner"] = "סורק דיגיטלי", + ["weapon_garbagebag"] = "שק אשפה", + ["weapon_handcuffs"] = "כאסמים", + ["gadget_nightvision"] = "משקפי ראיית לילה", + ["gadget_parachute"] = "צניחה", + + -- Weapon Components + ["component_knuckle_base"] = "דגם בסיס", + ["component_knuckle_pimp"] = "הפימפ", + ["component_knuckle_ballas"] = "הבאלס", + ["component_knuckle_dollar"] = "המרוויח", + ["component_knuckle_diamond"] = "האבן", + ["component_knuckle_hate"] = "השונא", + ["component_knuckle_love"] = "האוהב", + ["component_knuckle_player"] = "השחקן", + ["component_knuckle_king"] = "המלך", + ["component_knuckle_vagos"] = "הוואגוס", + + ["component_luxary_finish"] = "סיום מפואר", + + ["component_handle_default"] = "ידית ברירת מחדל", + ["component_handle_vip"] = "ידית VIP", + ["component_handle_bodyguard"] = "ידית שומר גוף", + + ["component_vip_finish"] = "סיום VIP", + ["component_bodyguard_finish"] = "סיום שומר גוף", + + ["component_camo_finish"] = "סיום דיגיטלי", + ["component_camo_finish2"] = "סיום ציור מברשת", + ["component_camo_finish3"] = "סיום חורשתי", + ["component_camo_finish4"] = "סיום גולגולת", + ["component_camo_finish5"] = "סיום ססנטה נובה", + ["component_camo_finish6"] = "סיום פרסאוס", + ["component_camo_finish7"] = "סיום נמר", + ["component_camo_finish8"] = "סיום זברה", + ["component_camo_finish9"] = "סיום גיאומטרי", + ["component_camo_finish10"] = "סיום פיצוץ", + ["component_camo_finish11"] = "סיום פטריוטי", + + ["component_camo_slide_finish"] = "סיום דיגיטלי שקופה", + ["component_camo_slide_finish2"] = "סיום ציור מברשת שקופה", + ["component_camo_slide_finish3"] = "סיום חורשתי שקופה", + ["component_camo_slide_finish4"] = "סיום גולגולת שקופה", + ["component_camo_slide_finish5"] = "סיום ססנטה נובה שקופה", + ["component_camo_slide_finish6"] = "סיום פרסאוס שקופה", + ["component_camo_slide_finish7"] = "סיום נמר שקופה", + ["component_camo_slide_finish8"] = "סיום זברה שקופה", + ["component_camo_slide_finish9"] = "סיום גיאומטרי שקופה", + ["component_camo_slide_finish10"] = "סיום פיצוץ שקופה", + ["component_camo_slide_finish11"] = "סיום פטריוטי שקופה", + + ["component_clip_default"] = "מחסנית ברירת מחדל", + ["component_clip_extended"] = "מחסנית מורחבת", + ["component_clip_drum"] = "מחסנית תוף", + ["component_clip_box"] = "מחסנית קופסה", + + ["component_scope_holo"] = "מכ מכוון הולוגרפי", + ["component_scope_small"] = "מכוון קטן", + ["component_scope_medium"] = "מכוון בינוני", + ["component_scope_large"] = "מכוון גדול", + ["component_scope"] = "מכוון מותקן", + ["component_scope_advanced"] = "מכוון מתקדם", + ["component_ironsights"] = "מכוון מתכת", + + ["component_suppressor"] = "משתיק", + ["component_compensator"] = "פיצוי", + + ["component_muzzle_flat"] = "קצה חלק", + ["component_muzzle_tactical"] = "קצה טקטי", + ["component_muzzle_fat"] = "קצה שמני", + ["component_muzzle_precision"] = "קצה מדויק", + ["component_muzzle_heavy"] = "קצה כבד", + ["component_muzzle_slanted"] = "קצה מוטה", + ["component_muzzle_split"] = "קצה מחולק", + ["component_muzzle_squared"] = "קצה מרובע", + + ["component_flashlight"] = "פנס", + ["component_grip"] = "ידית", + + ["component_barrel_default"] = "חילוף ברירת מחדל", + ["component_barrel_heavy"] = "חילוף כבד", + + ["component_ammo_tracer"] = "כדורי עקיבה", + ["component_ammo_incendiary"] = "כדורי שריפה", + ["component_ammo_hollowpoint"] = "כדורי ריק", + ["component_ammo_fmj"] = "כדורי FMJ", + ["component_ammo_armor"] = "כדורי פריצת שריון", + ["component_ammo_explosive"] = "כדורי שריון מבעירים", + + ["component_shells_default"] = "קליעים ברירת מחדל", + ["component_shells_incendiary"] = "קליעים של נשיפת הדרקון", + ["component_shells_armor"] = "קליעים פלדתיים", + ["component_shells_hollowpoint"] = "קליעים של הטילים", + ["component_shells_explosive"] = "קליעים מתפצלים", + + -- Weapon Ammo + ["ammo_rounds"] = "סיבוב(ים)", + ["ammo_shells"] = "קליע(ים)", + ["ammo_charge"] = "תשלום", + ["ammo_petrol"] = "גלונים של דלק", + ["ammo_firework"] = "זיקוק(ים)", + ["ammo_rockets"] = "רקטה(ות)", + ["ammo_grenadelauncher"] = "רימון(ים)", + ["ammo_grenade"] = "רימון(ים)", + ["ammo_stickybomb"] = "פצצה(ות)", + ["ammo_pipebomb"] = "פצצה(ות)", + ["ammo_smokebomb"] = "פצצה(ות)", + ["ammo_molotov"] = "קוקטייל(ים)", + ["ammo_proxmine"] = "מוקש(ים)", + ["ammo_bzgas"] = "פחית(ות)", + ["ammo_ball"] = "כדור(ים)", + ["ammo_snowball"] = "כדור שלג", + ["ammo_flare"] = "זיקוק(ים)", + ["ammo_flaregun"] = "זיקוק(ים)", + + -- Weapon Tints + ["tint_default"] = "עור ברירת מחדל", + ["tint_green"] = "עור ירוק", + ["tint_gold"] = "עור זהב", + ["tint_pink"] = "עור ורוד", + ["tint_army"] = "עור צבאי", + ["tint_lspd"] = "עור כחול", + ["tint_orange"] = "עור כתום", + ["tint_platinum"] = "עור פלטינה", +} + + From a414691192e79a4eb79cd9b1fcda3e227a55cf54 Mon Sep 17 00:00:00 2001 From: thefourCraft Date: Sat, 15 Jul 2023 17:08:50 +0300 Subject: [PATCH 022/148] Create he.lua Signed-off-by: thefourCraft --- [core]/esx_multicharacter/locales/he.lua | 32 ++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 [core]/esx_multicharacter/locales/he.lua diff --git a/[core]/esx_multicharacter/locales/he.lua b/[core]/esx_multicharacter/locales/he.lua new file mode 100644 index 000000000..dc591e717 --- /dev/null +++ b/[core]/esx_multicharacter/locales/he.lua @@ -0,0 +1,32 @@ +Locales["he"] = { + ["male"] = "זכר", + ["female"] = "נקבה", + ["select_char"] = "בחר דמות", + ["select_char_description"] = "בחר דמות לשחק.", + ["create_char"] = "דמות חדשה", + ["char_play"] = "שחק", + ["char_play_description"] = "המשך לעיר.", + ["char_disabled"] = "מושבת", + ["char_disabled_description"] = "דמות זו לא ניתן לשימוש.", + ["char_delete"] = "מחק", + ["char_delete_description"] = "הסר את הדמות לצמיתות.", + ["char_delete_confirmation"] = "אישור מחיקה", + ["char_delete_confirmation_description"] = "האם אתה בטוח שאתה מסיר את הדמות שנבחרה?", + ["char_delete_yes_description"] = "כן, אני בטוח שאני מסיר את הדמות שנבחרה", + ["char_delete_no_description"] = "לא, חזור לאפשרויות הדמות", + ["character"] = "דמות: %s", + ["return"] = "חזור", + ["return_description"] = "חזור לבחירת הדמות.", + ["command_setslots"] = "הגדר מספר מקומות לדמות של שחקן", + ["command_remslots"] = "הסר מספר מקומות לדמות של שחקן", + ["command_enablechar"] = "אפשר דמות מסוימת של שחקן", + ["command_disablechar"] = "השבת דמות מסוימת של שחקן", + ["command_charslot"] = "מספר מקום של הדמות", + ["command_identifier"] = "מזהה שחקן", + ["command_slots"] = "# של מקומות", + ["slotsadd"] = "הגדרת %s מקומות ל- %s", + ["slotsrem"] = "הסרת מקומות ל- %s", + ["charenabled"] = "אפשרת את הדמות #%s של %s", + ["chardisabled"] = "השבתת את הדמות #%s של %s", + ["charnotfound"] = "הדמות #%s של %s לא קיימת", +} From 270472ccd1c510ae1ce6f3049748cffb0ca51509 Mon Sep 17 00:00:00 2001 From: thefourCraft Date: Sat, 15 Jul 2023 17:16:03 +0300 Subject: [PATCH 023/148] Create he.lua Signed-off-by: thefourCraft --- [core]/skinchanger/locales/he.lua | 101 ++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 [core]/skinchanger/locales/he.lua diff --git a/[core]/skinchanger/locales/he.lua b/[core]/skinchanger/locales/he.lua new file mode 100644 index 000000000..b372cf9f2 --- /dev/null +++ b/[core]/skinchanger/locales/he.lua @@ -0,0 +1,101 @@ +Locales["he"] = { + ["sex"] = "מין", + ["mom"] = "פני האם", + ["dad"] = "פני האב", + ["resemblance"] = "דמיון", + ["skin_tone"] = "גוון העור", + ["nose_1"] = "רוחב האף", + ["nose_2"] = "גובה החריץ", + ["nose_3"] = "אורך החריץ", + ["nose_4"] = "גובה עצם האף", + ["nose_5"] = "הורדת חריץ", + ["nose_6"] = "הפיכת עצם האף", + ["cheeks_1"] = "גובה הלחיים", + ["cheeks_2"] = "רוחב הלחיים", + ["cheeks_3"] = "רוחב הלחיים", + ["lip_fullness"] = "מלאות השפתיים", + ["jaw_bone_width"] = "רוחב עצם הלסת", + ["jaw_bone_length"] = "אורך עצם הלסת", + ["chin_height"] = "גובה הסנטר", + ["chin_length"] = "אורך הסנטר", + ["chin_width"] = "רוחב הסנטר", + ["chin_hole"] = "גודל חור הסנטר", + ["neck_thickness"] = "עובי הצוואר", + ["wrinkles"] = "קמטים", + ["wrinkle_thickness"] = "עובי הקמטים", + ["beard_type"] = "סוג הזקן", + ["beard_size"] = "גודל הזקן", + ["beard_color_1"] = "צבע הזקן 1", + ["beard_color_2"] = "צבע הזקן 2", + ["hair_1"] = "שיער 1", + ["hair_2"] = "שיער 2", + ["hair_color_1"] = "צבע השיער 1", + ["hair_color_2"] = "צבע השיער 2", + ["eye_color"] = "צבע העיניים", + ["eye_squint"] = "מתיחת עיניים", + ["eyebrow_type"] = "סוג הגבות", + ["eyebrow_size"] = "גודל הגבות", + ["eyebrow_color_1"] = "צבע הגבות 1", + ["eyebrow_color_2"] = "צבע הגבות 2", + ["eyebrow_depth"] = "עומק הגבות", + ["eyebrow_height"] = "גובה הגבות", + ["makeup_type"] = "סוג האיפור", + ["makeup_thickness"] = "עובי האיפור", + ["makeup_color_1"] = "צבע האיפור 1", + ["makeup_color_2"] = "צבע האיפור 2", + ["lipstick_type"] = "סוג הליפסטיק", + ["lipstick_thickness"] = "עובי הליפסטיק", + ["lipstick_color_1"] = "צבע הליפסטיק 1", + ["lipstick_color_2"] = "צבע הליפסטיק 2", + ["ear_accessories"] = "תכשיטים לאוזניים", + ["ear_accessories_color"] = "צבע תכשיטים לאוזניים", + ["tshirt_1"] = "חולצת טי 1", + ["tshirt_2"] = "חולצת טי 2", + ["torso_1"] = "גוף עליון 1", + ["torso_2"] = "גוף עליון 2", + ["decals_1"] = "מדבקות 1", + ["decals_2"] = "מדבקות 2", + ["arms"] = "ידיים", + ["arms_2"] = "ידיים 2", + ["pants_1"] = "מכנסיים 1", + ["pants_2"] = "מכנסיים 2", + ["shoes_1"] = "נעליים 1", + ["shoes_2"] = "נעליים 2", + ["mask_1"] = "מסכה 1", + ["mask_2"] = "מסכה 2", + ["bproof_1"] = "שריון נגד כדורים 1", + ["bproof_2"] = "שריון נגד כדורים 2", + ["chain_1"] = "שרשרת 1", + ["chain_2"] = "שרשרת 2", + ["helmet_1"] = "קסדה 1", + ["helmet_2"] = "קסדה 2", + ["watches_1"] = "שעונים 1", + ["watches_2"] = "שעונים 2", + ["bracelets_1"] = "צמידים 1", + ["bracelets_2"] = "צמידים 2", + ["glasses_1"] + ["glasses_1"] = "משקפיים 1", + ["glasses_2"] = "משקפיים 2", + ["bag"] = "תיק", + ["bag_color"] = "צבע התיק", + ["blemishes"] = "כתמים", + ["blemishes_size"] = "עובי הכתמים", + ["ageing"] = "הזדקנות", + ["ageing_1"] = "עובי ההזדקנות", + ["blush"] = "סרק", + ["blush_1"] = "עובי הסרק", + ["blush_color"] = "צבע הסרק", + ["complexion"] = "מרקם העור", + ["complexion_1"] = "עובי מרקם העור", + ["sun"] = "שמש", + ["sun_1"] = "עובי השמש", + ["freckles"] = "נמשים", + ["freckles_1"] = "עובי הנמשים", + ["chest_hair"] = "שיער חזה", + ["chest_hair_1"] = "עובי שיער החזה", + ["chest_color"] = "צבע שיער החזה", + ["bodyb"] = "כתמי גוף", + ["bodyb_size"] = "עובי כתמי הגוף", + ["bodyb_extra"] = "אפקט כתמים על הגוף", + ["bodyb_extra_thickness"] = "עובי אפקט כתמים על הגוף", +} From ed0c4a72e11b82144924d33ca6ad661448887c7e Mon Sep 17 00:00:00 2001 From: thefourCraft Date: Sat, 15 Jul 2023 17:25:55 +0300 Subject: [PATCH 024/148] Create he.lua Signed-off-by: thefourCraft --- [core]/esx_identity/locales/he.lua | 38 ++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 [core]/esx_identity/locales/he.lua diff --git a/[core]/esx_identity/locales/he.lua b/[core]/esx_identity/locales/he.lua new file mode 100644 index 000000000..8a8261d8c --- /dev/null +++ b/[core]/esx_identity/locales/he.lua @@ -0,0 +1,38 @@ +Locales["he"] = { + "show_active_character": "הצג דמות פעילה", + "active_character": "דמות פעילה: %s", + "error_active_character": "אירעה שגיאה בקבלת הנתונים שלך.", + "delete_character": "מחק את הדמות הנוכחית שלך.", + "deleted_character": "הדמות נמחקה", + "error_delete_character": "אירעה בעיה במחיקת הדמות שלך.", + "thank_you_for_registering": "הרשמה הושלמה. תהנה!", + "debug_xPlayer_get_first_name": "מחזיר את שמך הפרטי", + "debug_xPlayer_get_last_name": "מחזיר את שם משפחתך", + "debug_xPlayer_get_full_name": "מחזיר את שמך המלא", + "debug_xPlayer_get_sex": "מחזיר את המין שלך", + "debug_xPlayer_get_dob": "מחזיר את תאריך הלידה שלך", + "debug_xPlayer_get_height": "מחזיר את גובהך", + "error_debug_xPlayer_get_first_name": "הייתה בעיה בקבלת שמך הפרטי.", + "error_debug_xPlayer_get_last_name": "הייתה בעיה בקבלת שם משפחתך.", + "error_debug_xPlayer_get_full_name": "הייתה בעיה בקבלת שמך המלא.", + "error_debug_xPlayer_get_sex": "הייתה בעיה בקבלת המין שלך.", + "error_debug_xPlayer_get_dob": "הייתה בעיה בקבלת תאריך הלידה שלך.", + "error_debug_xPlayer_get_height": "הייתה בעיה בקבלת הגובה שלך.", + "return_debug_xPlayer_get_first_name": "שם פרטי: %s", + "return_debug_xPlayer_get_last_name": "שם משפחה: %s", + "return_debug_xPlayer_get_full_name": "שם: %s", + "return_debug_xPlayer_get_sex": "מין: %s", + "return_debug_xPlayer_get_dob": "תאריך לידה: %s", + "return_debug_xPlayer_get_height": "גובה: %s אינץ'", + "data_incorrect": "נתונים לא תקניים, נסה שוב.", + "invalid_format": "פורמט נתונים לא תקני, נסה שוב.", + "no_identifier": "[ESX Identity]\nהייתה בעיה בטעינת הדמות שלך!\nקוד שגיאה: מזהה חסר\n\nזה נגרם על ידי חוסר המזהה שלך. אנא חזור מאוחר יותר או דווח על הבעיה לבעל השרת.", + "missing_identity": "[ESX Identity]\nהייתה בעיה בטעינת הדמות שלך!\nקוד שגיאה: זהות חסרה\n\nנראה שהזהות שלך חסרה, נסה להתחבר שוב.", + "deleted_identity": "הדמות נמחקה. אנא הצטרף מחדש כדי ליצור דמות חדשה.", + "already_registered": "כבר נרשמת.", + "invalid_firstname_format": "פורמט לא תקני (שם פרטי): נסה שוב.", + "invalid_lastname_format": "פורמט לא תקני (שם משפחה): נסה שוב.", + "invalid_dob_format": "פורמט לא תקני (תאריך לידה): נסה שוב.", + "invalid_sex_format": "פורמט לא תקני (מין): נסה שוב.", + "invalid_height_format": "פורמט לא תקני (גובה): נסה שוב.", +} From ba1ad2b98cc4c089807f836e3a8e14e0e1e0ef3f Mon Sep 17 00:00:00 2001 From: thefourCraft Date: Sat, 15 Jul 2023 21:07:28 +0300 Subject: [PATCH 025/148] Update he.lua Signed-off-by: thefourCraft --- [core]/skinchanger/locales/he.lua | 197 +++++++++++++++--------------- 1 file changed, 98 insertions(+), 99 deletions(-) diff --git a/[core]/skinchanger/locales/he.lua b/[core]/skinchanger/locales/he.lua index b372cf9f2..17b3538b7 100644 --- a/[core]/skinchanger/locales/he.lua +++ b/[core]/skinchanger/locales/he.lua @@ -1,101 +1,100 @@ Locales["he"] = { - ["sex"] = "מין", - ["mom"] = "פני האם", - ["dad"] = "פני האב", - ["resemblance"] = "דמיון", - ["skin_tone"] = "גוון העור", - ["nose_1"] = "רוחב האף", - ["nose_2"] = "גובה החריץ", - ["nose_3"] = "אורך החריץ", - ["nose_4"] = "גובה עצם האף", - ["nose_5"] = "הורדת חריץ", - ["nose_6"] = "הפיכת עצם האף", - ["cheeks_1"] = "גובה הלחיים", - ["cheeks_2"] = "רוחב הלחיים", - ["cheeks_3"] = "רוחב הלחיים", - ["lip_fullness"] = "מלאות השפתיים", - ["jaw_bone_width"] = "רוחב עצם הלסת", - ["jaw_bone_length"] = "אורך עצם הלסת", - ["chin_height"] = "גובה הסנטר", - ["chin_length"] = "אורך הסנטר", - ["chin_width"] = "רוחב הסנטר", - ["chin_hole"] = "גודל חור הסנטר", - ["neck_thickness"] = "עובי הצוואר", - ["wrinkles"] = "קמטים", - ["wrinkle_thickness"] = "עובי הקמטים", - ["beard_type"] = "סוג הזקן", - ["beard_size"] = "גודל הזקן", - ["beard_color_1"] = "צבע הזקן 1", - ["beard_color_2"] = "צבע הזקן 2", - ["hair_1"] = "שיער 1", - ["hair_2"] = "שיער 2", - ["hair_color_1"] = "צבע השיער 1", - ["hair_color_2"] = "צבע השיער 2", - ["eye_color"] = "צבע העיניים", - ["eye_squint"] = "מתיחת עיניים", - ["eyebrow_type"] = "סוג הגבות", - ["eyebrow_size"] = "גודל הגבות", - ["eyebrow_color_1"] = "צבע הגבות 1", - ["eyebrow_color_2"] = "צבע הגבות 2", - ["eyebrow_depth"] = "עומק הגבות", - ["eyebrow_height"] = "גובה הגבות", - ["makeup_type"] = "סוג האיפור", - ["makeup_thickness"] = "עובי האיפור", - ["makeup_color_1"] = "צבע האיפור 1", - ["makeup_color_2"] = "צבע האיפור 2", - ["lipstick_type"] = "סוג הליפסטיק", - ["lipstick_thickness"] = "עובי הליפסטיק", - ["lipstick_color_1"] = "צבע הליפסטיק 1", - ["lipstick_color_2"] = "צבע הליפסטיק 2", - ["ear_accessories"] = "תכשיטים לאוזניים", - ["ear_accessories_color"] = "צבע תכשיטים לאוזניים", - ["tshirt_1"] = "חולצת טי 1", - ["tshirt_2"] = "חולצת טי 2", - ["torso_1"] = "גוף עליון 1", - ["torso_2"] = "גוף עליון 2", - ["decals_1"] = "מדבקות 1", - ["decals_2"] = "מדבקות 2", - ["arms"] = "ידיים", - ["arms_2"] = "ידיים 2", - ["pants_1"] = "מכנסיים 1", - ["pants_2"] = "מכנסיים 2", - ["shoes_1"] = "נעליים 1", - ["shoes_2"] = "נעליים 2", - ["mask_1"] = "מסכה 1", - ["mask_2"] = "מסכה 2", - ["bproof_1"] = "שריון נגד כדורים 1", - ["bproof_2"] = "שריון נגד כדורים 2", - ["chain_1"] = "שרשרת 1", - ["chain_2"] = "שרשרת 2", - ["helmet_1"] = "קסדה 1", - ["helmet_2"] = "קסדה 2", - ["watches_1"] = "שעונים 1", - ["watches_2"] = "שעונים 2", - ["bracelets_1"] = "צמידים 1", - ["bracelets_2"] = "צמידים 2", - ["glasses_1"] - ["glasses_1"] = "משקפיים 1", - ["glasses_2"] = "משקפיים 2", - ["bag"] = "תיק", - ["bag_color"] = "צבע התיק", - ["blemishes"] = "כתמים", - ["blemishes_size"] = "עובי הכתמים", - ["ageing"] = "הזדקנות", - ["ageing_1"] = "עובי ההזדקנות", - ["blush"] = "סרק", - ["blush_1"] = "עובי הסרק", - ["blush_color"] = "צבע הסרק", - ["complexion"] = "מרקם העור", - ["complexion_1"] = "עובי מרקם העור", - ["sun"] = "שמש", - ["sun_1"] = "עובי השמש", - ["freckles"] = "נמשים", - ["freckles_1"] = "עובי הנמשים", - ["chest_hair"] = "שיער חזה", - ["chest_hair_1"] = "עובי שיער החזה", - ["chest_color"] = "צבע שיער החזה", - ["bodyb"] = "כתמי גוף", - ["bodyb_size"] = "עובי כתמי הגוף", - ["bodyb_extra"] = "אפקט כתמים על הגוף", - ["bodyb_extra_thickness"] = "עובי אפקט כתמים על הגוף", + "sex": "מין", + "mom": "פנים של אמא", + "dad": "פנים של אבא", + "resemblance": "דמיון", + "skin_tone": "גוון העור", + "nose_1": "רוחב האף", + "nose_2": "גובה שיא האף", + "nose_3": "אורך שיא האף", + "nose_4": "גובה עצם האף", + "nose_5": "הורדת שיא האף", + "nose_6": "סיבוב עצם האף", + "cheeks_1": "גובה הלחיים", + "cheeks_2": "רוחב הלחיים", + "cheeks_3": "רוחב הלחיים", + "lip_fullness": "מלאות השפתיים", + "jaw_bone_width": "רוחב עצם הלסת", + "jaw_bone_length": "אורך עצם הלסת", + "chin_height": "גובה הסנטר", + "chin_length": "אורך הסנטר", + "chin_width": "רוחב הסנטר", + "chin_hole": "גודל חור הסנטר", + "neck_thickness": "עובי הצוואר", + "wrinkles": "קמטים", + "wrinkle_thickness": "עובי הקמטים", + "beard_type": "סוג הזקן", + "beard_size": "גודל הזקן", + "beard_color_1": "צבע הזקן 1", + "beard_color_2": "צבע הזקן 2", + "hair_1": "שיער 1", + "hair_2": "שיער 2", + "hair_color_1": "צבע השיער 1", + "hair_color_2": "צבע השיער 2", + "eye_color": "צבע העיניים", + "eye_squint": "קימוט העין", + "eyebrow_type": "סוג הגבות", + "eyebrow_size": "גודל הגבות", + "eyebrow_color_1": "צבע הגבות 1", + "eyebrow_color_2": "צבע הגבות 2", + "eyebrow_depth": "עומק הגבות", + "eyebrow_height": "גובה הגבות", + "makeup_type": "סוג האיפור", + "makeup_thickness": "עובי האיפור", + "makeup_color_1": "צבע האיפור 1", + "makeup_color_2": "צבע האיפור 2", + "lipstick_type": "סוג השפתון", + "lipstick_thickness": "עובי השפתון", + "lipstick_color_1": "צבע השפתון 1", + "lipstick_color_2": "צבע השפתון 2", + "ear_accessories": "תכשיטים לאוזניים", + "ear_accessories_color": "צבע התכשיטים לאוזניים", + "tshirt_1": "חולצת טי 1", + "tshirt_2": "חולצת טי 2", + "torso_1": "גוף עליון 1", + "torso_2": "גוף עליון 2", + "decals_1": "מדבקות 1", + "decals_2": "מדבקות 2", + "arms": "ידיים", + "arms_2": "ידיים 2", + "pants_1": "מכנסיים 1", + "pants_2": "מכנסיים 2", + "shoes_1": "נעליים 1", + "shoes_2": "נעליים 2", + "mask_1": "מסיכה 1", + "mask_2": "מסיכה 2", + "bproof_1": "שריון נגד קליעים 1", + "bproof_2": "שריון נגד קליעים 2", + "chain_1": "שרשרת 1", + "chain_2": "שרשרת 2", + "helmet_1": "קסדה 1", + "helmet_2": "קסדה 2", + "watches_1": "שעונים 1", + "watches_2": "שעונים 2", + "bracelets_1": "צמידים 1", + "bracelets_2": "צמידים 2", + "glasses_1": "משקפיים 1", + "glasses_2": "משקפיים 2", + "bag": "תיק", + "bag_color": "צבע התיק", + "blemishes": "כתמים", + "blemishes_size": "עובי הכתמים", + "ageing": "הזדקנות", + "ageing_1": "עובי ההזדקנות", + "blush": "רוגז", + "blush_1": "עובי הרוגז", + "blush_color": "צבע הרוגז", + "complexion": "מרקם העור", + "complexion_1": "עובי המרקם", + "sun": "שמש", + "sun_1": "עובי השמש", + "freckles": "נמשים", + "freckles_1": "עובי הנמשים", + "chest_hair": "שיער חזה", + "chest_hair_1": "עובי שיער החזה", + "chest_color": "צבע שיער החזה", + "bodyb": "כתמים בגוף", + "bodyb_size": "עובי הכתמים בגוף", + "bodyb_extra": "השפעת כתמים בגוף", + "bodyb_extra_thickness": "עובי השפעת הכתמים בגוף", } From a61e73b1d5764bfd3b137ec74b8aa761967276d8 Mon Sep 17 00:00:00 2001 From: thefourCraft Date: Sat, 15 Jul 2023 21:29:39 +0300 Subject: [PATCH 026/148] fix issues with this --- [core]/skinchanger/locales/he.lua | 197 +++++++++++++++--------------- 1 file changed, 99 insertions(+), 98 deletions(-) diff --git a/[core]/skinchanger/locales/he.lua b/[core]/skinchanger/locales/he.lua index 17b3538b7..016f1f05c 100644 --- a/[core]/skinchanger/locales/he.lua +++ b/[core]/skinchanger/locales/he.lua @@ -1,100 +1,101 @@ Locales["he"] = { - "sex": "מין", - "mom": "פנים של אמא", - "dad": "פנים של אבא", - "resemblance": "דמיון", - "skin_tone": "גוון העור", - "nose_1": "רוחב האף", - "nose_2": "גובה שיא האף", - "nose_3": "אורך שיא האף", - "nose_4": "גובה עצם האף", - "nose_5": "הורדת שיא האף", - "nose_6": "סיבוב עצם האף", - "cheeks_1": "גובה הלחיים", - "cheeks_2": "רוחב הלחיים", - "cheeks_3": "רוחב הלחיים", - "lip_fullness": "מלאות השפתיים", - "jaw_bone_width": "רוחב עצם הלסת", - "jaw_bone_length": "אורך עצם הלסת", - "chin_height": "גובה הסנטר", - "chin_length": "אורך הסנטר", - "chin_width": "רוחב הסנטר", - "chin_hole": "גודל חור הסנטר", - "neck_thickness": "עובי הצוואר", - "wrinkles": "קמטים", - "wrinkle_thickness": "עובי הקמטים", - "beard_type": "סוג הזקן", - "beard_size": "גודל הזקן", - "beard_color_1": "צבע הזקן 1", - "beard_color_2": "צבע הזקן 2", - "hair_1": "שיער 1", - "hair_2": "שיער 2", - "hair_color_1": "צבע השיער 1", - "hair_color_2": "צבע השיער 2", - "eye_color": "צבע העיניים", - "eye_squint": "קימוט העין", - "eyebrow_type": "סוג הגבות", - "eyebrow_size": "גודל הגבות", - "eyebrow_color_1": "צבע הגבות 1", - "eyebrow_color_2": "צבע הגבות 2", - "eyebrow_depth": "עומק הגבות", - "eyebrow_height": "גובה הגבות", - "makeup_type": "סוג האיפור", - "makeup_thickness": "עובי האיפור", - "makeup_color_1": "צבע האיפור 1", - "makeup_color_2": "צבע האיפור 2", - "lipstick_type": "סוג השפתון", - "lipstick_thickness": "עובי השפתון", - "lipstick_color_1": "צבע השפתון 1", - "lipstick_color_2": "צבע השפתון 2", - "ear_accessories": "תכשיטים לאוזניים", - "ear_accessories_color": "צבע התכשיטים לאוזניים", - "tshirt_1": "חולצת טי 1", - "tshirt_2": "חולצת טי 2", - "torso_1": "גוף עליון 1", - "torso_2": "גוף עליון 2", - "decals_1": "מדבקות 1", - "decals_2": "מדבקות 2", - "arms": "ידיים", - "arms_2": "ידיים 2", - "pants_1": "מכנסיים 1", - "pants_2": "מכנסיים 2", - "shoes_1": "נעליים 1", - "shoes_2": "נעליים 2", - "mask_1": "מסיכה 1", - "mask_2": "מסיכה 2", - "bproof_1": "שריון נגד קליעים 1", - "bproof_2": "שריון נגד קליעים 2", - "chain_1": "שרשרת 1", - "chain_2": "שרשרת 2", - "helmet_1": "קסדה 1", - "helmet_2": "קסדה 2", - "watches_1": "שעונים 1", - "watches_2": "שעונים 2", - "bracelets_1": "צמידים 1", - "bracelets_2": "צמידים 2", - "glasses_1": "משקפיים 1", - "glasses_2": "משקפיים 2", - "bag": "תיק", - "bag_color": "צבע התיק", - "blemishes": "כתמים", - "blemishes_size": "עובי הכתמים", - "ageing": "הזדקנות", - "ageing_1": "עובי ההזדקנות", - "blush": "רוגז", - "blush_1": "עובי הרוגז", - "blush_color": "צבע הרוגז", - "complexion": "מרקם העור", - "complexion_1": "עובי המרקם", - "sun": "שמש", - "sun_1": "עובי השמש", - "freckles": "נמשים", - "freckles_1": "עובי הנמשים", - "chest_hair": "שיער חזה", - "chest_hair_1": "עובי שיער החזה", - "chest_color": "צבע שיער החזה", - "bodyb": "כתמים בגוף", - "bodyb_size": "עובי הכתמים בגוף", - "bodyb_extra": "השפעת כתמים בגוף", - "bodyb_extra_thickness": "עובי השפעת הכתמים בגוף", + ["sex"] = "מין", + ["mom"] = "פנים של אמא", + ["dad"] = "פנים של אבא", + ["resemblance"] = "דמיון", + ["skin_tone"] = "גוון העור", + ["nose_1"] = "רוחב האף", + ["nose_2"] = "גובה שיא האף", + ["nose_3"] = "אורך שיא האף", + ["nose_4"] = "גובה עצם האף", + ["nose_5"] = "הורדת שיא האף", + ["nose_6"] = "סיבוב עצם האף", + ["cheeks_1"] = "גובה הלחיים", + ["cheeks_2"] = "רוחב הלחיים", + ["cheeks_3"] = "רוחב הלחיים", + ["lip_fullness"] = "מלאות השפתיים", + ["jaw_bone_width"] = "רוחב עצם הלסת", + ["jaw_bone_length"] = "אורך עצם הלסת", + ["chin_height"] = "גובה הסנטר", + ["chin_length"] = "אורך הסנטר", + ["chin_width"] = "רוחב הסנטר", + ["chin_hole"] = "גודל חור הסנטר", + ["neck_thickness"] = "עובי הצוואר", + ["wrinkles"] = "קמטים", + ["wrinkle_thickness"] = "עובי הקמטים", + ["beard_type"] = "סוג הזקן", + ["beard_size"] = "גודל הזקן", + ["beard_color_1"] = "צבע הזקן 1", + ["beard_color_2"] = "צבע הזקן 2", + ["hair_1"] = "שיער 1", + ["hair_2"] = "שיער 2", + ["hair_color_1"] = "צבע השיער 1", + ["hair_color_2"] = "צבע השיער 2", + ["eye_color"] = "צבע העיניים", + ["eye_squint"] = "קימוט העין", + ["eyebrow_type"] = "סוג הגבות", + ["eyebrow_size"] = "גודל הגבות", + ["eyebrow_color_1"] = "צבע הגבות 1", + ["eyebrow_color_2"] = "צבע הגבות 2", + ["eyebrow_depth"] = "עומק הגבות", + ["eyebrow_height"] = "גובה הגבות", + ["makeup_type"] = "סוג האיפור", + ["makeup_thickness"] = "עובי האיפור", + ["makeup_color_1"] = "צבע האיפור 1", + ["makeup_color_2"] = "צבע האיפור 2", + ["lipstick_type"] = "סוג השפתון", + ["lipstick_thickness"] = "עובי השפתון", + ["lipstick_color_1"] = "צבע השפתון 1", + ["lipstick_color_2"] = "צבע השפתון 2", + ["ear_accessories"] = "תכשיטים לאוזניים", + ["ear_accessories_color"] = "צבע התכשיטים לאוזניים", + ["tshirt_1"] = "חולצת טי 1", + ["tshirt_2"] = "חולצת טי 2", + ["torso_1"] = "גוף עליון 1", + ["torso_2"] = "גוף עליון 2", + ["decals_1"] = "מדבקות 1", + ["decals_2"] = "מדבקות 2", + ["arms"] = "ידיים", + ["arms_2"] = "ידיים 2", + ["pants_1"] = "מכנסיים 1", + ["pants_2"] = "מכנסיים 2", + ["shoes_1"] = "נעליים 1", + ["shoes_2"] = "נעליים 2", + ["mask_1"] = "מסיכה 1", + ["mask_2"] = "מסיכה 2", + ["bproof_1"] = "שריון נגד קליעים 1", + ["bproof_2"] = "שריון נגד קליעים 2", + ["chain_1"] = "שרשרת 1", + ["chain_2"] = "שרשרת 2", + ["helmet_1"] = "קסדה 1", + ["helmet_2"] = "קסדה + ["helmet_2"] = "קסדה 2", + ["watches_1"] = "שעונים 1", + ["watches_2"] = "שעונים 2", + ["bracelets_1"] = "צמידים 1", + ["bracelets_2"] = "צמידים 2", + ["glasses_1"] = "משקפיים 1", + ["glasses_2"] = "משקפיים 2", + ["bag"] = "תיק", + ["bag_color"] = "צבע התיק", + ["blemishes"] = "כתמים", + ["blemishes_size"] = "עובי הכתמים", + ["ageing"] = "הזדקנות", + ["ageing_1"] = "עובי ההזדקנות", + ["blush"] = "רוגז", + ["blush_1"] = "עובי הרוגז", + ["blush_color"] = "צבע הרוגז", + ["complexion"] = "מרקם העור", + ["complexion_1"] = "עובי המרקם", + ["sun"] = "שמש", + ["sun_1"] = "עובי השמש", + ["freckles"] = "נמשים", + ["freckles_1"] = "עובי הנמשים", + ["chest_hair"] = "שיער חזה", + ["chest_hair_1"] = "עובי שיער החזה", + ["chest_color"] = "צבע שיער החזה", + ["bodyb"] = "כתמים בגוף", + ["bodyb_size"] = "עובי הכתמים בגוף", + ["bodyb_extra"] = "השפעת כתמים בגוף", + ["bodyb_extra_thickness"] = "עובי השפעת הכתמים בגוף", } From 623e3cc984b07c5a471809e83f57018e2e72e731 Mon Sep 17 00:00:00 2001 From: thefourCraft Date: Sat, 15 Jul 2023 21:43:19 +0300 Subject: [PATCH 027/148] it's ' issue --- [core]/skinchanger/locales/he.lua | 200 +++++++++++++++--------------- 1 file changed, 100 insertions(+), 100 deletions(-) diff --git a/[core]/skinchanger/locales/he.lua b/[core]/skinchanger/locales/he.lua index 016f1f05c..1d55dac89 100644 --- a/[core]/skinchanger/locales/he.lua +++ b/[core]/skinchanger/locales/he.lua @@ -1,101 +1,101 @@ -Locales["he"] = { - ["sex"] = "מין", - ["mom"] = "פנים של אמא", - ["dad"] = "פנים של אבא", - ["resemblance"] = "דמיון", - ["skin_tone"] = "גוון העור", - ["nose_1"] = "רוחב האף", - ["nose_2"] = "גובה שיא האף", - ["nose_3"] = "אורך שיא האף", - ["nose_4"] = "גובה עצם האף", - ["nose_5"] = "הורדת שיא האף", - ["nose_6"] = "סיבוב עצם האף", - ["cheeks_1"] = "גובה הלחיים", - ["cheeks_2"] = "רוחב הלחיים", - ["cheeks_3"] = "רוחב הלחיים", - ["lip_fullness"] = "מלאות השפתיים", - ["jaw_bone_width"] = "רוחב עצם הלסת", - ["jaw_bone_length"] = "אורך עצם הלסת", - ["chin_height"] = "גובה הסנטר", - ["chin_length"] = "אורך הסנטר", - ["chin_width"] = "רוחב הסנטר", - ["chin_hole"] = "גודל חור הסנטר", - ["neck_thickness"] = "עובי הצוואר", - ["wrinkles"] = "קמטים", - ["wrinkle_thickness"] = "עובי הקמטים", - ["beard_type"] = "סוג הזקן", - ["beard_size"] = "גודל הזקן", - ["beard_color_1"] = "צבע הזקן 1", - ["beard_color_2"] = "צבע הזקן 2", - ["hair_1"] = "שיער 1", - ["hair_2"] = "שיער 2", - ["hair_color_1"] = "צבע השיער 1", - ["hair_color_2"] = "צבע השיער 2", - ["eye_color"] = "צבע העיניים", - ["eye_squint"] = "קימוט העין", - ["eyebrow_type"] = "סוג הגבות", - ["eyebrow_size"] = "גודל הגבות", - ["eyebrow_color_1"] = "צבע הגבות 1", - ["eyebrow_color_2"] = "צבע הגבות 2", - ["eyebrow_depth"] = "עומק הגבות", - ["eyebrow_height"] = "גובה הגבות", - ["makeup_type"] = "סוג האיפור", - ["makeup_thickness"] = "עובי האיפור", - ["makeup_color_1"] = "צבע האיפור 1", - ["makeup_color_2"] = "צבע האיפור 2", - ["lipstick_type"] = "סוג השפתון", - ["lipstick_thickness"] = "עובי השפתון", - ["lipstick_color_1"] = "צבע השפתון 1", - ["lipstick_color_2"] = "צבע השפתון 2", - ["ear_accessories"] = "תכשיטים לאוזניים", - ["ear_accessories_color"] = "צבע התכשיטים לאוזניים", - ["tshirt_1"] = "חולצת טי 1", - ["tshirt_2"] = "חולצת טי 2", - ["torso_1"] = "גוף עליון 1", - ["torso_2"] = "גוף עליון 2", - ["decals_1"] = "מדבקות 1", - ["decals_2"] = "מדבקות 2", - ["arms"] = "ידיים", - ["arms_2"] = "ידיים 2", - ["pants_1"] = "מכנסיים 1", - ["pants_2"] = "מכנסיים 2", - ["shoes_1"] = "נעליים 1", - ["shoes_2"] = "נעליים 2", - ["mask_1"] = "מסיכה 1", - ["mask_2"] = "מסיכה 2", - ["bproof_1"] = "שריון נגד קליעים 1", - ["bproof_2"] = "שריון נגד קליעים 2", - ["chain_1"] = "שרשרת 1", - ["chain_2"] = "שרשרת 2", - ["helmet_1"] = "קסדה 1", - ["helmet_2"] = "קסדה - ["helmet_2"] = "קסדה 2", - ["watches_1"] = "שעונים 1", - ["watches_2"] = "שעונים 2", - ["bracelets_1"] = "צמידים 1", - ["bracelets_2"] = "צמידים 2", - ["glasses_1"] = "משקפיים 1", - ["glasses_2"] = "משקפיים 2", - ["bag"] = "תיק", - ["bag_color"] = "צבע התיק", - ["blemishes"] = "כתמים", - ["blemishes_size"] = "עובי הכתמים", - ["ageing"] = "הזדקנות", - ["ageing_1"] = "עובי ההזדקנות", - ["blush"] = "רוגז", - ["blush_1"] = "עובי הרוגז", - ["blush_color"] = "צבע הרוגז", - ["complexion"] = "מרקם העור", - ["complexion_1"] = "עובי המרקם", - ["sun"] = "שמש", - ["sun_1"] = "עובי השמש", - ["freckles"] = "נמשים", - ["freckles_1"] = "עובי הנמשים", - ["chest_hair"] = "שיער חזה", - ["chest_hair_1"] = "עובי שיער החזה", - ["chest_color"] = "צבע שיער החזה", - ["bodyb"] = "כתמים בגוף", - ["bodyb_size"] = "עובי הכתמים בגוף", - ["bodyb_extra"] = "השפעת כתמים בגוף", - ["bodyb_extra_thickness"] = "עובי השפעת הכתמים בגוף", +Locales['he'] = { + ['sex'] = 'מין', + ['mom'] = 'פנים של אמא', + ['dad'] = 'פנים של אבא', + ['resemblance'] = 'דמיון', + ['skin_tone'] = 'גוון העור', + ['nose_1'] = 'רוחב האף', + ['nose_2'] = 'גובה שיא האף', + ['nose_3'] = 'אורך שיא האף', + ['nose_4'] = 'גובה עצם האף', + ['nose_5'] = 'הורדת שיא האף', + ['nose_6'] = 'סיבוב עצם האף', + ['cheeks_1'] = 'גובה הלחיים', + ['cheeks_2'] = 'רוחב הלחיים', + ['cheeks_3'] = 'רוחב הלחיים', + ['lip_fullness'] = 'מלאות השפתיים', + ['jaw_bone_width'] = 'רוחב עצם הלסת', + ['jaw_bone_length'] = 'אורך עצם הלסת', + ['chin_height'] = 'גובה הסנטר', + ['chin_length'] = 'אורך הסנטר', + ['chin_width'] = 'רוחב הסנטר', + ['chin_hole'] = 'גודל חור הסנטר', + ['neck_thickness'] = 'עובי הצוואר', + ['wrinkles'] = 'קמטים', + ['wrinkle_thickness'] = 'עובי הקמטים', + ['beard_type'] = 'סוג הזקן', + ['beard_size'] = 'גודל הזקן', + ['beard_color_1'] = 'צבע הזקן 1', + ['beard_color_2'] = 'צבע הזקן 2', + ['hair_1'] = 'שיער 1', + ['hair_2'] = 'שיער 2', + ['hair_color_1'] = 'צבע השיער 1', + ['hair_color_2'] = 'צבע השיער 2', + ['eye_color'] = 'צבע העיניים', + ['eye_squint'] = 'קימוט העין', + ['eyebrow_type'] = 'סוג הגבות', + ['eyebrow_size'] = 'גודל הגבות', + ['eyebrow_color_1'] = 'צבע הגבות 1', + ['eyebrow_color_2'] = 'צבע הגבות 2', + ['eyebrow_depth'] = 'עומק הגבות', + ['eyebrow_height'] = 'גובה הגבות', + ['makeup_type'] = 'סוג האיפור', + ['makeup_thickness'] = 'עובי האיפור', + ['makeup_color_1'] = 'צבע האיפור 1', + ['makeup_color_2'] = 'צבע האיפור 2', + ['lipstick_type'] = 'סוג השפתון', + ['lipstick_thickness'] = 'עובי השפתון', + ['lipstick_color_1'] = 'צבע השפתון 1', + ['lipstick_color_2'] = 'צבע השפתון 2', + ['ear_accessories'] = 'תכשיטים לאוזניים', + ['ear_accessories_color'] = 'צבע התכשיטים לאוזניים', + ['tshirt_1'] = 'חולצת טי 1', + ['tshirt_2'] = 'חולצת טי 2', + ['torso_1'] = 'גוף עליון 1', + ['torso_2'] = 'גוף עליון 2', + ['decals_1'] = 'מדבקות 1', + ['decals_2'] = 'מדבקות 2', + ['arms'] = 'ידיים', + ['arms_2'] = 'ידיים 2', + ['pants_1'] = 'מכנסיים 1', + ['pants_2'] = 'מכנסיים 2', + ['shoes_1'] = 'נעליים 1', + ['shoes_2'] = 'נעליים 2', + ['mask_1'] = 'מסיכה 1', + ['mask_2'] = 'מסיכה 2', + ['bproof_1'] = 'שריון נגד קליעים 1', + ['bproof_2'] = 'שריון נגד קליעים 2', + ['chain_1'] = 'שרשרת 1', + ['chain_2'] = 'שרשרת 2', + ['helmet_1'] = 'קסדה 1', + ['helmet_2'] = 'קסדה + ['helmet_2'] = 'קסדה 2', + ['watches_1'] = 'שעונים 1', + ['watches_2'] = 'שעונים 2', + ['bracelets_1'] = 'צמידים 1', + ['bracelets_2'] = 'צמידים 2', + ['glasses_1'] = 'משקפיים 1', + ['glasses_2'] = 'משקפיים 2', + ['bag'] = 'תיק', + ['bag_color'] = 'צבע התיק', + ['blemishes'] = 'כתמים', + ['blemishes_size'] = 'עובי הכתמים', + ['ageing'] = 'הזדקנות', + ['ageing_1'] = 'עובי ההזדקנות', + ['blush'] = 'רוגז', + ['blush_1'] = 'עובי הרוגז', + ['blush_color'] = 'צבע הרוגז', + ['complexion'] = 'מרקם העור', + ['complexion_1'] = 'עובי המרקם', + ['sun'] = 'שמש', + ['sun_1'] = 'עובי השמש', + ['freckles'] = 'נמשים', + ['freckles_1'] = 'עובי הנמשים', + ['chest_hair'] = 'שיער חזה', + ['chest_hair_1'] = 'עובי שיער החזה', + ['chest_color'] = 'צבע שיער החזה', + ['bodyb'] = 'כתמים בגוף', + ['bodyb_size'] = 'עובי הכתמים בגוף', + ['bodyb_extra'] = 'השפעת כתמים בגוף', + ['bodyb_extra_thickness'] = 'עובי השפעת הכתמים בגוף', } From ded2158f60b5192c83b54a6697c04e3915dd55a3 Mon Sep 17 00:00:00 2001 From: thefourCraft Date: Sat, 15 Jul 2023 21:45:15 +0300 Subject: [PATCH 028/148] Update he.lua Signed-off-by: thefourCraft --- [core]/skinchanger/locales/he.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/skinchanger/locales/he.lua b/[core]/skinchanger/locales/he.lua index 1d55dac89..988b8ad9c 100644 --- a/[core]/skinchanger/locales/he.lua +++ b/[core]/skinchanger/locales/he.lua @@ -1,4 +1,4 @@ -Locales['he'] = { +Locales["he"] = { ['sex'] = 'מין', ['mom'] = 'פנים של אמא', ['dad'] = 'פנים של אבא', From e945580e1e216938ad0a96db94474c839cf3b068 Mon Sep 17 00:00:00 2001 From: thefourCraft Date: Sat, 15 Jul 2023 21:55:42 +0300 Subject: [PATCH 029/148] fix format --- [core]/esx_identity/locales/he.lua | 74 +++++------ [core]/esx_skin/locales/he.lua | 7 + [core]/skinchanger/locales/he.lua | 200 ++++++++++++++--------------- 3 files changed, 144 insertions(+), 137 deletions(-) create mode 100644 [core]/esx_skin/locales/he.lua diff --git a/[core]/esx_identity/locales/he.lua b/[core]/esx_identity/locales/he.lua index 8a8261d8c..b3adb490d 100644 --- a/[core]/esx_identity/locales/he.lua +++ b/[core]/esx_identity/locales/he.lua @@ -1,38 +1,38 @@ Locales["he"] = { - "show_active_character": "הצג דמות פעילה", - "active_character": "דמות פעילה: %s", - "error_active_character": "אירעה שגיאה בקבלת הנתונים שלך.", - "delete_character": "מחק את הדמות הנוכחית שלך.", - "deleted_character": "הדמות נמחקה", - "error_delete_character": "אירעה בעיה במחיקת הדמות שלך.", - "thank_you_for_registering": "הרשמה הושלמה. תהנה!", - "debug_xPlayer_get_first_name": "מחזיר את שמך הפרטי", - "debug_xPlayer_get_last_name": "מחזיר את שם משפחתך", - "debug_xPlayer_get_full_name": "מחזיר את שמך המלא", - "debug_xPlayer_get_sex": "מחזיר את המין שלך", - "debug_xPlayer_get_dob": "מחזיר את תאריך הלידה שלך", - "debug_xPlayer_get_height": "מחזיר את גובהך", - "error_debug_xPlayer_get_first_name": "הייתה בעיה בקבלת שמך הפרטי.", - "error_debug_xPlayer_get_last_name": "הייתה בעיה בקבלת שם משפחתך.", - "error_debug_xPlayer_get_full_name": "הייתה בעיה בקבלת שמך המלא.", - "error_debug_xPlayer_get_sex": "הייתה בעיה בקבלת המין שלך.", - "error_debug_xPlayer_get_dob": "הייתה בעיה בקבלת תאריך הלידה שלך.", - "error_debug_xPlayer_get_height": "הייתה בעיה בקבלת הגובה שלך.", - "return_debug_xPlayer_get_first_name": "שם פרטי: %s", - "return_debug_xPlayer_get_last_name": "שם משפחה: %s", - "return_debug_xPlayer_get_full_name": "שם: %s", - "return_debug_xPlayer_get_sex": "מין: %s", - "return_debug_xPlayer_get_dob": "תאריך לידה: %s", - "return_debug_xPlayer_get_height": "גובה: %s אינץ'", - "data_incorrect": "נתונים לא תקניים, נסה שוב.", - "invalid_format": "פורמט נתונים לא תקני, נסה שוב.", - "no_identifier": "[ESX Identity]\nהייתה בעיה בטעינת הדמות שלך!\nקוד שגיאה: מזהה חסר\n\nזה נגרם על ידי חוסר המזהה שלך. אנא חזור מאוחר יותר או דווח על הבעיה לבעל השרת.", - "missing_identity": "[ESX Identity]\nהייתה בעיה בטעינת הדמות שלך!\nקוד שגיאה: זהות חסרה\n\nנראה שהזהות שלך חסרה, נסה להתחבר שוב.", - "deleted_identity": "הדמות נמחקה. אנא הצטרף מחדש כדי ליצור דמות חדשה.", - "already_registered": "כבר נרשמת.", - "invalid_firstname_format": "פורמט לא תקני (שם פרטי): נסה שוב.", - "invalid_lastname_format": "פורמט לא תקני (שם משפחה): נסה שוב.", - "invalid_dob_format": "פורמט לא תקני (תאריך לידה): נסה שוב.", - "invalid_sex_format": "פורמט לא תקני (מין): נסה שוב.", - "invalid_height_format": "פורמט לא תקני (גובה): נסה שוב.", -} + ['show_active_character'] = 'הצג דמות פעילה', + ['active_character'] = 'דמות פעילה: %s', + ['error_active_character'] = 'אירעה שגיאה בקבלת הנתונים שלך.', + ['delete_character'] = 'מחק את הדמות הנוכחית שלך.', + ['deleted_character'] = 'הדמות נמחקה', + ['error_delete_character'] = 'אירעה בעיה במחיקת הדמות שלך.', + ['thank_you_for_registering'] = 'הרשמה הושלמה. תהנה!', + ['debug_xPlayer_get_first_name'] = 'מחזיר את שמך הפרטי', + ['debug_xPlayer_get_last_name'] = 'מחזיר את שם משפחתך', + ['debug_xPlayer_get_full_name'] = 'מחזיר את שמך המלא', + ['debug_xPlayer_get_sex'] = 'מחזיר את המין שלך', + ['debug_xPlayer_get_dob'] = 'מחזיר את תאריך הלידה שלך', + ['debug_xPlayer_get_height'] = 'מחזיר את גובהך', + ['error_debug_xPlayer_get_first_name'] = 'הייתה בעיה בקבלת שמך הפרטי.', + ['error_debug_xPlayer_get_last_name'] = 'הייתה בעיה בקבלת שם משפחתך.', + ['error_debug_xPlayer_get_full_name'] = 'הייתה בעיה בקבלת שמך המלא.', + ['error_debug_xPlayer_get_sex'] = 'הייתה בעיה בקבלת המין שלך.', + ['error_debug_xPlayer_get_dob'] = 'הייתה בעיה בקבלת תאריך הלידה שלך.', + ['error_debug_xPlayer_get_height'] = 'הייתה בעיה בקבלת הגובה שלך.', + ['return_debug_xPlayer_get_first_name'] = 'שם פרטי: %s', + ['return_debug_xPlayer_get_last_name'] = 'שם משפחה: %s', + ['return_debug_xPlayer_get_full_name'] = 'שם: %s', + ['return_debug_xPlayer_get_sex'] = 'מין: %s', + ['return_debug_xPlayer_get_dob'] = 'תאריך לידה: %s', + ['return_debug_xPlayer_get_height'] = 'גובה: %s אינץ'', + ['data_incorrect'] = 'נתונים לא תקניים, נסה שוב.', + ['invalid_format'] = 'פורמט נתונים לא תקני, נסה שוב.', + ['no_identifier'] = '[ESX Identity]\nהייתה בעיה בטעינת הדמות שלך!\nקוד שגיאה: מזהה חסר\n\nזה נגרם על ידי חוסר המזהה שלך. אנא חזור מאוחר יותר או דווח על הבעיה לבעל השרת.', + ['missing_identity'] = '[ESX Identity]\nהייתה בעיה בטעינת הדמות שלך!\nקוד שגיאה: זהות חסרה\n\nנראה שהזהות שלך חסרה, נסה להתחבר שוב.', + ['deleted_identity'] = 'הדמות נמחקה. אנא הצטרף מחדש כדי ליצור דמות חדשה.', + ['already_registered'] = 'כבר נרשמת.', + ['invalid_firstname_format'] = 'פורמט לא תקני (שם פרטי): נסה שוב.', + ['invalid_lastname_format'] = 'פורמט לא תקני (שם משפחה): נסה שוב.', + ['invalid_dob_format'] = 'פורמט לא תקני (תאריך לידה): נסה שוב.', + ['invalid_sex_format'] = 'פורמט לא תקני (מין): נסה שוב.', + ['invalid_height_format'] = 'פורמט לא תקני (גובה): נסה שוב.', + } diff --git a/[core]/esx_skin/locales/he.lua b/[core]/esx_skin/locales/he.lua new file mode 100644 index 000000000..821269151 --- /dev/null +++ b/[core]/esx_skin/locales/he.lua @@ -0,0 +1,7 @@ +Locales["he"] = { + ["skin_menu"] = "Skin Menu", + ["use_rotate_view"] = "use ~INPUT_FRONTEND_LS~ and ~INPUT_CHARACTER_WHEEL~ to rotate the view.", + ["skin"] = "change skin", + ["saveskin"] = "save skin to a file", + } + \ No newline at end of file diff --git a/[core]/skinchanger/locales/he.lua b/[core]/skinchanger/locales/he.lua index 988b8ad9c..f3d414225 100644 --- a/[core]/skinchanger/locales/he.lua +++ b/[core]/skinchanger/locales/he.lua @@ -1,101 +1,101 @@ Locales["he"] = { - ['sex'] = 'מין', - ['mom'] = 'פנים של אמא', - ['dad'] = 'פנים של אבא', - ['resemblance'] = 'דמיון', - ['skin_tone'] = 'גוון העור', - ['nose_1'] = 'רוחב האף', - ['nose_2'] = 'גובה שיא האף', - ['nose_3'] = 'אורך שיא האף', - ['nose_4'] = 'גובה עצם האף', - ['nose_5'] = 'הורדת שיא האף', - ['nose_6'] = 'סיבוב עצם האף', - ['cheeks_1'] = 'גובה הלחיים', - ['cheeks_2'] = 'רוחב הלחיים', - ['cheeks_3'] = 'רוחב הלחיים', - ['lip_fullness'] = 'מלאות השפתיים', - ['jaw_bone_width'] = 'רוחב עצם הלסת', - ['jaw_bone_length'] = 'אורך עצם הלסת', - ['chin_height'] = 'גובה הסנטר', - ['chin_length'] = 'אורך הסנטר', - ['chin_width'] = 'רוחב הסנטר', - ['chin_hole'] = 'גודל חור הסנטר', - ['neck_thickness'] = 'עובי הצוואר', - ['wrinkles'] = 'קמטים', - ['wrinkle_thickness'] = 'עובי הקמטים', - ['beard_type'] = 'סוג הזקן', - ['beard_size'] = 'גודל הזקן', - ['beard_color_1'] = 'צבע הזקן 1', - ['beard_color_2'] = 'צבע הזקן 2', - ['hair_1'] = 'שיער 1', - ['hair_2'] = 'שיער 2', - ['hair_color_1'] = 'צבע השיער 1', - ['hair_color_2'] = 'צבע השיער 2', - ['eye_color'] = 'צבע העיניים', - ['eye_squint'] = 'קימוט העין', - ['eyebrow_type'] = 'סוג הגבות', - ['eyebrow_size'] = 'גודל הגבות', - ['eyebrow_color_1'] = 'צבע הגבות 1', - ['eyebrow_color_2'] = 'צבע הגבות 2', - ['eyebrow_depth'] = 'עומק הגבות', - ['eyebrow_height'] = 'גובה הגבות', - ['makeup_type'] = 'סוג האיפור', - ['makeup_thickness'] = 'עובי האיפור', - ['makeup_color_1'] = 'צבע האיפור 1', - ['makeup_color_2'] = 'צבע האיפור 2', - ['lipstick_type'] = 'סוג השפתון', - ['lipstick_thickness'] = 'עובי השפתון', - ['lipstick_color_1'] = 'צבע השפתון 1', - ['lipstick_color_2'] = 'צבע השפתון 2', - ['ear_accessories'] = 'תכשיטים לאוזניים', - ['ear_accessories_color'] = 'צבע התכשיטים לאוזניים', - ['tshirt_1'] = 'חולצת טי 1', - ['tshirt_2'] = 'חולצת טי 2', - ['torso_1'] = 'גוף עליון 1', - ['torso_2'] = 'גוף עליון 2', - ['decals_1'] = 'מדבקות 1', - ['decals_2'] = 'מדבקות 2', - ['arms'] = 'ידיים', - ['arms_2'] = 'ידיים 2', - ['pants_1'] = 'מכנסיים 1', - ['pants_2'] = 'מכנסיים 2', - ['shoes_1'] = 'נעליים 1', - ['shoes_2'] = 'נעליים 2', - ['mask_1'] = 'מסיכה 1', - ['mask_2'] = 'מסיכה 2', - ['bproof_1'] = 'שריון נגד קליעים 1', - ['bproof_2'] = 'שריון נגד קליעים 2', - ['chain_1'] = 'שרשרת 1', - ['chain_2'] = 'שרשרת 2', - ['helmet_1'] = 'קסדה 1', - ['helmet_2'] = 'קסדה - ['helmet_2'] = 'קסדה 2', - ['watches_1'] = 'שעונים 1', - ['watches_2'] = 'שעונים 2', - ['bracelets_1'] = 'צמידים 1', - ['bracelets_2'] = 'צמידים 2', - ['glasses_1'] = 'משקפיים 1', - ['glasses_2'] = 'משקפיים 2', - ['bag'] = 'תיק', - ['bag_color'] = 'צבע התיק', - ['blemishes'] = 'כתמים', - ['blemishes_size'] = 'עובי הכתמים', - ['ageing'] = 'הזדקנות', - ['ageing_1'] = 'עובי ההזדקנות', - ['blush'] = 'רוגז', - ['blush_1'] = 'עובי הרוגז', - ['blush_color'] = 'צבע הרוגז', - ['complexion'] = 'מרקם העור', - ['complexion_1'] = 'עובי המרקם', - ['sun'] = 'שמש', - ['sun_1'] = 'עובי השמש', - ['freckles'] = 'נמשים', - ['freckles_1'] = 'עובי הנמשים', - ['chest_hair'] = 'שיער חזה', - ['chest_hair_1'] = 'עובי שיער החזה', - ['chest_color'] = 'צבע שיער החזה', - ['bodyb'] = 'כתמים בגוף', - ['bodyb_size'] = 'עובי הכתמים בגוף', - ['bodyb_extra'] = 'השפעת כתמים בגוף', - ['bodyb_extra_thickness'] = 'עובי השפעת הכתמים בגוף', -} + ['sex'] = 'מין', + ['mom'] = 'פנים של אמא', + ['dad'] = 'פנים של אבא', + ['resemblance'] = 'דמיון', + ['skin_tone'] = 'גוון העור', + ['nose_1'] = 'רוחב האף', + ['nose_2'] = 'גובה שיא האף', + ['nose_3'] = 'אורך שיא האף', + ['nose_4'] = 'גובה עצם האף', + ['nose_5'] = 'הורדת שיא האף', + ['nose_6'] = 'סיבוב עצם האף', + ['cheeks_1'] = 'גובה הלחיים', + ['cheeks_2'] = 'רוחב הלחיים', + ['cheeks_3'] = 'רוחב הלחיים', + ['lip_fullness'] = 'מלאות השפתיים', + ['jaw_bone_width'] = 'רוחב עצם הלסת', + ['jaw_bone_length'] = 'אורך עצם הלסת', + ['chin_height'] = 'גובה הסנטר', + ['chin_length'] = 'אורך הסנטר', + ['chin_width'] = 'רוחב הסנטר', + ['chin_hole'] = 'גודל חור הסנטר', + ['neck_thickness'] = 'עובי הצוואר', + ['wrinkles'] = 'קמטים', + ['wrinkle_thickness'] = 'עובי הקמטים', + ['beard_type'] = 'סוג הזקן', + ['beard_size'] = 'גודל הזקן', + ['beard_color_1'] = 'צבע הזקן 1', + ['beard_color_2'] = 'צבע הזקן 2', + ['hair_1'] = 'שיער 1', + ['hair_2'] = 'שיער 2', + ['hair_color_1'] = 'צבע השיער 1', + ['hair_color_2'] = 'צבע השיער 2', + ['eye_color'] = 'צבע העיניים', + ['eye_squint'] = 'קימוט העין', + ['eyebrow_type'] = 'סוג הגבות', + ['eyebrow_size'] = 'גודל הגבות', + ['eyebrow_color_1'] = 'צבע הגבות 1', + ['eyebrow_color_2'] = 'צבע הגבות 2', + ['eyebrow_depth'] = 'עומק הגבות', + ['eyebrow_height'] = 'גובה הגבות', + ['makeup_type'] = 'סוג האיפור', + ['makeup_thickness'] = 'עובי האיפור', + ['makeup_color_1'] = 'צבע האיפור 1', + ['makeup_color_2'] = 'צבע האיפור 2', + ['lipstick_type'] = 'סוג השפתון', + ['lipstick_thickness'] = 'עובי השפתון', + ['lipstick_color_1'] = 'צבע השפתון 1', + ['lipstick_color_2'] = 'צבע השפתון 2', + ['ear_accessories'] = 'תכשיטים לאוזניים', + ['ear_accessories_color'] = 'צבע התכשיטים לאוזניים', + ['tshirt_1'] = 'חולצת טי 1', + ['tshirt_2'] = 'חולצת טי 2', + ['torso_1'] = 'גוף עליון 1', + ['torso_2'] = 'גוף עליון 2', + ['decals_1'] = 'מדבקות 1', + ['decals_2'] = 'מדבקות 2', + ['arms'] = 'ידיים', + ['arms_2'] = 'ידיים 2', + ['pants_1'] = 'מכנסיים 1', + ['pants_2'] = 'מכנסיים 2', + ['shoes_1'] = 'נעליים 1', + ['shoes_2'] = 'נעליים 2', + ['mask_1'] = 'מסיכה 1', + ['mask_2'] = 'מסיכה 2', + ['bproof_1'] = 'שריון נגד קליעים 1', + ['bproof_2'] = 'שריון נגד קליעים 2', + ['chain_1'] = 'שרשרת 1', + ['chain_2'] = 'שרשרת 2', + ['helmet_1'] = 'קסדה 1', + ['helmet_2'] = 'קסדה + ['helmet_2'] = 'קסדה 2', + ['watches_1'] = 'שעונים 1', + ['watches_2'] = 'שעונים 2', + ['bracelets_1'] = 'צמידים 1', + ['bracelets_2'] = 'צמידים 2', + ['glasses_1'] = 'משקפיים 1', + ['glasses_2'] = 'משקפיים 2', + ['bag'] = 'תיק', + ['bag_color'] = 'צבע התיק', + ['blemishes'] = 'כתמים', + ['blemishes_size'] = 'עובי הכתמים', + ['ageing'] = 'הזדקנות', + ['ageing_1'] = 'עובי ההזדקנות', + ['blush'] = 'רוגז', + ['blush_1'] = 'עובי הרוגז', + ['blush_color'] = 'צבע הרוגז', + ['complexion'] = 'מרקם העור', + ['complexion_1'] = 'עובי המרקם', + ['sun'] = 'שמש', + ['sun_1'] = 'עובי השמש', + ['freckles'] = 'נמשים', + ['freckles_1'] = 'עובי הנמשים', + ['chest_hair'] = 'שיער חזה', + ['chest_hair_1'] = 'עובי שיער החזה', + ['chest_color'] = 'צבע שיער החזה', + ['bodyb'] = 'כתמים בגוף', + ['bodyb_size'] = 'עובי הכתמים בגוף', + ['bodyb_extra'] = 'השפעת כתמים בגוף', + ['bodyb_extra_thickness'] = 'עובי השפעת הכתמים בגוף', + } From 2fc6ee85040026ebd09d3c1d95ecdcaf6e97ea61 Mon Sep 17 00:00:00 2001 From: thefourCraft Date: Sat, 15 Jul 2023 22:00:16 +0300 Subject: [PATCH 030/148] Update he.lua Signed-off-by: thefourCraft --- [core]/skinchanger/locales/he.lua | 199 +++++++++++++++--------------- 1 file changed, 99 insertions(+), 100 deletions(-) diff --git a/[core]/skinchanger/locales/he.lua b/[core]/skinchanger/locales/he.lua index f3d414225..9247be596 100644 --- a/[core]/skinchanger/locales/he.lua +++ b/[core]/skinchanger/locales/he.lua @@ -1,101 +1,100 @@ Locales["he"] = { - ['sex'] = 'מין', - ['mom'] = 'פנים של אמא', - ['dad'] = 'פנים של אבא', - ['resemblance'] = 'דמיון', - ['skin_tone'] = 'גוון העור', - ['nose_1'] = 'רוחב האף', - ['nose_2'] = 'גובה שיא האף', - ['nose_3'] = 'אורך שיא האף', - ['nose_4'] = 'גובה עצם האף', - ['nose_5'] = 'הורדת שיא האף', - ['nose_6'] = 'סיבוב עצם האף', - ['cheeks_1'] = 'גובה הלחיים', - ['cheeks_2'] = 'רוחב הלחיים', - ['cheeks_3'] = 'רוחב הלחיים', - ['lip_fullness'] = 'מלאות השפתיים', - ['jaw_bone_width'] = 'רוחב עצם הלסת', - ['jaw_bone_length'] = 'אורך עצם הלסת', - ['chin_height'] = 'גובה הסנטר', - ['chin_length'] = 'אורך הסנטר', - ['chin_width'] = 'רוחב הסנטר', - ['chin_hole'] = 'גודל חור הסנטר', - ['neck_thickness'] = 'עובי הצוואר', - ['wrinkles'] = 'קמטים', - ['wrinkle_thickness'] = 'עובי הקמטים', - ['beard_type'] = 'סוג הזקן', - ['beard_size'] = 'גודל הזקן', - ['beard_color_1'] = 'צבע הזקן 1', - ['beard_color_2'] = 'צבע הזקן 2', - ['hair_1'] = 'שיער 1', - ['hair_2'] = 'שיער 2', - ['hair_color_1'] = 'צבע השיער 1', - ['hair_color_2'] = 'צבע השיער 2', - ['eye_color'] = 'צבע העיניים', - ['eye_squint'] = 'קימוט העין', - ['eyebrow_type'] = 'סוג הגבות', - ['eyebrow_size'] = 'גודל הגבות', - ['eyebrow_color_1'] = 'צבע הגבות 1', - ['eyebrow_color_2'] = 'צבע הגבות 2', - ['eyebrow_depth'] = 'עומק הגבות', - ['eyebrow_height'] = 'גובה הגבות', - ['makeup_type'] = 'סוג האיפור', - ['makeup_thickness'] = 'עובי האיפור', - ['makeup_color_1'] = 'צבע האיפור 1', - ['makeup_color_2'] = 'צבע האיפור 2', - ['lipstick_type'] = 'סוג השפתון', - ['lipstick_thickness'] = 'עובי השפתון', - ['lipstick_color_1'] = 'צבע השפתון 1', - ['lipstick_color_2'] = 'צבע השפתון 2', - ['ear_accessories'] = 'תכשיטים לאוזניים', - ['ear_accessories_color'] = 'צבע התכשיטים לאוזניים', - ['tshirt_1'] = 'חולצת טי 1', - ['tshirt_2'] = 'חולצת טי 2', - ['torso_1'] = 'גוף עליון 1', - ['torso_2'] = 'גוף עליון 2', - ['decals_1'] = 'מדבקות 1', - ['decals_2'] = 'מדבקות 2', - ['arms'] = 'ידיים', - ['arms_2'] = 'ידיים 2', - ['pants_1'] = 'מכנסיים 1', - ['pants_2'] = 'מכנסיים 2', - ['shoes_1'] = 'נעליים 1', - ['shoes_2'] = 'נעליים 2', - ['mask_1'] = 'מסיכה 1', - ['mask_2'] = 'מסיכה 2', - ['bproof_1'] = 'שריון נגד קליעים 1', - ['bproof_2'] = 'שריון נגד קליעים 2', - ['chain_1'] = 'שרשרת 1', - ['chain_2'] = 'שרשרת 2', - ['helmet_1'] = 'קסדה 1', - ['helmet_2'] = 'קסדה - ['helmet_2'] = 'קסדה 2', - ['watches_1'] = 'שעונים 1', - ['watches_2'] = 'שעונים 2', - ['bracelets_1'] = 'צמידים 1', - ['bracelets_2'] = 'צמידים 2', - ['glasses_1'] = 'משקפיים 1', - ['glasses_2'] = 'משקפיים 2', - ['bag'] = 'תיק', - ['bag_color'] = 'צבע התיק', - ['blemishes'] = 'כתמים', - ['blemishes_size'] = 'עובי הכתמים', - ['ageing'] = 'הזדקנות', - ['ageing_1'] = 'עובי ההזדקנות', - ['blush'] = 'רוגז', - ['blush_1'] = 'עובי הרוגז', - ['blush_color'] = 'צבע הרוגז', - ['complexion'] = 'מרקם העור', - ['complexion_1'] = 'עובי המרקם', - ['sun'] = 'שמש', - ['sun_1'] = 'עובי השמש', - ['freckles'] = 'נמשים', - ['freckles_1'] = 'עובי הנמשים', - ['chest_hair'] = 'שיער חזה', - ['chest_hair_1'] = 'עובי שיער החזה', - ['chest_color'] = 'צבע שיער החזה', - ['bodyb'] = 'כתמים בגוף', - ['bodyb_size'] = 'עובי הכתמים בגוף', - ['bodyb_extra'] = 'השפעת כתמים בגוף', - ['bodyb_extra_thickness'] = 'עובי השפעת הכתמים בגוף', - } + ['sex'] = 'מין', + ['mom'] = 'פנים של אמא', + ['dad'] = 'פנים של אבא', + ['resemblance'] = 'דמיון', + ['skin_tone'] = 'גוון העור', + ['nose_1'] = 'רוחב האף', + ['nose_2'] = 'גובה שיא האף', + ['nose_3'] = 'אורך שיא האף', + ['nose_4'] = 'גובה עצם האף', + ['nose_5'] = 'הורדת שיא האף', + ['nose_6'] = 'סיבוב עצם האף', + ['cheeks_1'] = 'גובה הלחיים', + ['cheeks_2'] = 'רוחב הלחיים', + ['cheeks_3'] = 'רוחב הלחיים', + ['lip_fullness'] = 'מלאות השפתיים', + ['jaw_bone_width'] = 'רוחב עצם הלסת', + ['jaw_bone_length'] = 'אורך עצם הלסת', + ['chin_height'] = 'גובה הסנטר', + ['chin_length'] = 'אורך הסנטר', + ['chin_width'] = 'רוחב הסנטר', + ['chin_hole'] = 'גודל חור הסנטר', + ['neck_thickness'] = 'עובי הצוואר', + ['wrinkles'] = 'קמטים', + ['wrinkle_thickness'] = 'עובי הקמטים', + ['beard_type'] = 'סוג הזקן', + ['beard_size'] = 'גודל הזקן', + ['beard_color_1'] = 'צבע הזקן 1', + ['beard_color_2'] = 'צבע הזקן 2', + ['hair_1'] = 'שיער 1', + ['hair_2'] = 'שיער 2', + ['hair_color_1'] = 'צבע השיער 1', + ['hair_color_2'] = 'צבע השיער 2', + ['eye_color'] = 'צבע העיניים', + ['eye_squint'] = 'קימוט העין', + ['eyebrow_type'] = 'סוג הגבות', + ['eyebrow_size'] = 'גודל הגבות', + ['eyebrow_color_1'] = 'צבע הגבות 1', + ['eyebrow_color_2'] = 'צבע הגבות 2', + ['eyebrow_depth'] = 'עומק הגבות', + ['eyebrow_height'] = 'גובה הגבות', + ['makeup_type'] = 'סוג האיפור', + ['makeup_thickness'] = 'עובי האיפור', + ['makeup_color_1'] = 'צבע האיפור 1', + ['makeup_color_2'] = 'צבע האיפור 2', + ['lipstick_type'] = 'סוג השפתון', + ['lipstick_thickness'] = 'עובי השפתון', + ['lipstick_color_1'] = 'צבע השפתון 1', + ['lipstick_color_2'] = 'צבע השפתון 2', + ['ear_accessories'] = 'תכשיטים לאוזניים', + ['ear_accessories_color'] = 'צבע התכשיטים לאוזניים', + ['tshirt_1'] = 'חולצת טי 1', + ['tshirt_2'] = 'חולצת טי 2', + ['torso_1'] = 'גוף עליון 1', + ['torso_2'] = 'גוף עליון 2', + ['decals_1'] = 'מדבקות 1', + ['decals_2'] = 'מדבקות 2', + ['arms'] = 'ידיים', + ['arms_2'] = 'ידיים 2', + ['pants_1'] = 'מכנסיים 1', + ['pants_2'] = 'מכנסיים 2', + ['shoes_1'] = 'נעליים 1', + ['shoes_2'] = 'נעליים 2', + ['mask_1'] = 'מסיכה 1', + ['mask_2'] = 'מסיכה 2', + ['bproof_1'] = 'שריון נגד קליעים 1', + ['bproof_2'] = 'שריון נגד קליעים 2', + ['chain_1'] = 'שרשרת 1', + ['chain_2'] = 'שרשרת 2', + ['helmet_1'] = 'קסדה 1', + ['helmet_2'] = 'קסדה 2', + ['watches_1'] = 'שעונים 1', + ['watches_2'] = 'שעונים 2', + ['bracelets_1'] = 'צמיד + ['bracelets_2'] = 'צמידים 2', + ['glasses_1'] = 'משקפיים 1', + ['glasses_2'] = 'משקפיים 2', + ['bag'] = 'תיק', + ['bag_color'] = 'צבע התיק', + ['blemishes'] = 'כתמים', + ['blemishes_size'] = 'עובי הכתמים', + ['ageing'] = 'הזדקנות', + ['ageing_1'] = 'עובי ההזדקנות', + ['blush'] = 'רוגז', + ['blush_1'] = 'עובי הרוגז', + ['blush_color'] = 'צבע הרוגז', + ['complexion'] = 'מרקם העור', + ['complexion_1'] = 'עובי המרקם', + ['sun'] = 'שמש', + ['sun_1'] = 'עובי השמש', + ['freckles'] = 'נמשים', + ['freckles_1'] = 'עובי הנמשים', + ['chest_hair'] = 'שיער חזה', + ['chest_hair_1'] = 'עובי שיער החזה', + ['chest_color'] = 'צבע שיער החזה', + ['bodyb'] = 'כתמים בגוף', + ['bodyb_size'] = 'עובי הכתמים בגוף', + ['bodyb_extra'] = 'השפעת כתמים בגוף', + ['bodyb_extra_thickness'] = 'עובי השפעת הכתמים בגוף', +} From 1c8153eacc60cad581ab368b104c49553d626d14 Mon Sep 17 00:00:00 2001 From: thefourCraft Date: Sat, 15 Jul 2023 22:29:12 +0300 Subject: [PATCH 031/148] fix format --- [core]/esx_identity/locales/he.lua | 74 +++++++++++++++--------------- [core]/skinchanger/locales/he.lua | 1 - 2 files changed, 37 insertions(+), 38 deletions(-) diff --git a/[core]/esx_identity/locales/he.lua b/[core]/esx_identity/locales/he.lua index b3adb490d..623481882 100644 --- a/[core]/esx_identity/locales/he.lua +++ b/[core]/esx_identity/locales/he.lua @@ -1,38 +1,38 @@ Locales["he"] = { - ['show_active_character'] = 'הצג דמות פעילה', - ['active_character'] = 'דמות פעילה: %s', - ['error_active_character'] = 'אירעה שגיאה בקבלת הנתונים שלך.', - ['delete_character'] = 'מחק את הדמות הנוכחית שלך.', - ['deleted_character'] = 'הדמות נמחקה', - ['error_delete_character'] = 'אירעה בעיה במחיקת הדמות שלך.', - ['thank_you_for_registering'] = 'הרשמה הושלמה. תהנה!', - ['debug_xPlayer_get_first_name'] = 'מחזיר את שמך הפרטי', - ['debug_xPlayer_get_last_name'] = 'מחזיר את שם משפחתך', - ['debug_xPlayer_get_full_name'] = 'מחזיר את שמך המלא', - ['debug_xPlayer_get_sex'] = 'מחזיר את המין שלך', - ['debug_xPlayer_get_dob'] = 'מחזיר את תאריך הלידה שלך', - ['debug_xPlayer_get_height'] = 'מחזיר את גובהך', - ['error_debug_xPlayer_get_first_name'] = 'הייתה בעיה בקבלת שמך הפרטי.', - ['error_debug_xPlayer_get_last_name'] = 'הייתה בעיה בקבלת שם משפחתך.', - ['error_debug_xPlayer_get_full_name'] = 'הייתה בעיה בקבלת שמך המלא.', - ['error_debug_xPlayer_get_sex'] = 'הייתה בעיה בקבלת המין שלך.', - ['error_debug_xPlayer_get_dob'] = 'הייתה בעיה בקבלת תאריך הלידה שלך.', - ['error_debug_xPlayer_get_height'] = 'הייתה בעיה בקבלת הגובה שלך.', - ['return_debug_xPlayer_get_first_name'] = 'שם פרטי: %s', - ['return_debug_xPlayer_get_last_name'] = 'שם משפחה: %s', - ['return_debug_xPlayer_get_full_name'] = 'שם: %s', - ['return_debug_xPlayer_get_sex'] = 'מין: %s', - ['return_debug_xPlayer_get_dob'] = 'תאריך לידה: %s', - ['return_debug_xPlayer_get_height'] = 'גובה: %s אינץ'', - ['data_incorrect'] = 'נתונים לא תקניים, נסה שוב.', - ['invalid_format'] = 'פורמט נתונים לא תקני, נסה שוב.', - ['no_identifier'] = '[ESX Identity]\nהייתה בעיה בטעינת הדמות שלך!\nקוד שגיאה: מזהה חסר\n\nזה נגרם על ידי חוסר המזהה שלך. אנא חזור מאוחר יותר או דווח על הבעיה לבעל השרת.', - ['missing_identity'] = '[ESX Identity]\nהייתה בעיה בטעינת הדמות שלך!\nקוד שגיאה: זהות חסרה\n\nנראה שהזהות שלך חסרה, נסה להתחבר שוב.', - ['deleted_identity'] = 'הדמות נמחקה. אנא הצטרף מחדש כדי ליצור דמות חדשה.', - ['already_registered'] = 'כבר נרשמת.', - ['invalid_firstname_format'] = 'פורמט לא תקני (שם פרטי): נסה שוב.', - ['invalid_lastname_format'] = 'פורמט לא תקני (שם משפחה): נסה שוב.', - ['invalid_dob_format'] = 'פורמט לא תקני (תאריך לידה): נסה שוב.', - ['invalid_sex_format'] = 'פורמט לא תקני (מין): נסה שוב.', - ['invalid_height_format'] = 'פורמט לא תקני (גובה): נסה שוב.', - } + ['show_active_character'] = 'הצג דמות פעילה', + ['active_character'] = 'דמות פעילה: %s', + ['error_active_character'] = 'אירעה שגיאה בקבלת הנתונים שלך.', + ['delete_character'] = 'מחק את הדמות הנוכחית שלך.', + ['deleted_character'] = 'הדמות נמחקה', + ['error_delete_character'] = 'אירעה בעיה במחיקת הדמות שלך.', + ['thank_you_for_registering'] = 'הרשמה הושלמה. תהנה!', + ['debug_xPlayer_get_first_name'] = 'מחזיר את שמך הפרטי', + ['debug_xPlayer_get_last_name'] = 'מחזיר את שם משפחתך', + ['debug_xPlayer_get_full_name'] = 'מחזיר את שמך המלא', + ['debug_xPlayer_get_sex'] = 'מחזיר את המין שלך', + ['debug_xPlayer_get_dob'] = 'מחזיר את תאריך הלידה שלך', + ['debug_xPlayer_get_height'] = 'מחזיר את גובהך', + ['error_debug_xPlayer_get_first_name'] = 'הייתה בעיה בקבלת שמך הפרטי.', + ['error_debug_xPlayer_get_last_name'] = 'הייתה בעיה בקבלת שם משפחתך.', + ['error_debug_xPlayer_get_full_name'] = 'הייתה בעיה בקבלת שמך המלא.', + ['error_debug_xPlayer_get_sex'] = 'הייתה בעיה בקבלת המין שלך.', + ['error_debug_xPlayer_get_dob'] = 'הייתה בעיה בקבלת תאריך הלידה שלך.', + ['error_debug_xPlayer_get_height'] = 'הייתה בעיה בקבלת הגובה שלך.', + ['return_debug_xPlayer_get_first_name'] = 'שם פרטי: %s', + ['return_debug_xPlayer_get_last_name'] = 'שם משפחה: %s', + ['return_debug_xPlayer_get_full_name'] = 'שם: %s', + ['return_debug_xPlayer_get_sex'] = 'מין: %s', + ['return_debug_xPlayer_get_dob'] = 'תאריך לידה: %s', + ['return_debug_xPlayer_get_height'] = 'גובה: %s אינץ', + ['data_incorrect'] = 'נתונים לא תקניים, נסה שוב.', + ['invalid_format'] = 'פורמט נתונים לא תקני, נסה שוב.', + ['no_identifier'] = '[ESX Identity]\nהייתה בעיה בטעינת הדמות שלך!\nקוד שגיאה: מזהה חסר\n\nזה נגרם על ידי חוסר המזהה שלך. אנא חזור מאוחר יותר או דווח על הבעיה לבעל השרת.', + ['missing_identity'] = '[ESX Identity]\nהייתה בעיה בטעינת הדמות שלך!\nקוד שגיאה: זהות חסרה\n\nנראה שהזהות שלך חסרה, נסה להתחבר שוב.', + ['deleted_identity'] = 'הדמות נמחקה. אנא הצטרף מחדש כדי ליצור דמות חדשה.', + ['already_registered'] = 'כבר נרשמת.', + ['invalid_firstname_format'] = 'פורמט לא תקני (שם פרטי): נסה שוב.', + ['invalid_lastname_format'] = 'פורמט לא תקני (שם משפחה): נסה שוב.', + ['invalid_dob_format'] = 'פורמט לא תקני (תאריך לידה): נסה שוב.', + ['invalid_sex_format'] = 'פורמט לא תקני (מין): נסה שוב.', + ['invalid_height_format'] = 'פורמט לא תקני (גובה): נסה שוב.', +} diff --git a/[core]/skinchanger/locales/he.lua b/[core]/skinchanger/locales/he.lua index f3d414225..5c081bd28 100644 --- a/[core]/skinchanger/locales/he.lua +++ b/[core]/skinchanger/locales/he.lua @@ -68,7 +68,6 @@ Locales["he"] = { ['chain_1'] = 'שרשרת 1', ['chain_2'] = 'שרשרת 2', ['helmet_1'] = 'קסדה 1', - ['helmet_2'] = 'קסדה ['helmet_2'] = 'קסדה 2', ['watches_1'] = 'שעונים 1', ['watches_2'] = 'שעונים 2', From 30ffd6ab4f78ab097380dc3cac2fa3658027b169 Mon Sep 17 00:00:00 2001 From: thefourCraft Date: Sat, 15 Jul 2023 22:34:46 +0300 Subject: [PATCH 032/148] fix unfinished string --- [core]/skinchanger/locales/he.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/[core]/skinchanger/locales/he.lua b/[core]/skinchanger/locales/he.lua index f3d414225..5c081bd28 100644 --- a/[core]/skinchanger/locales/he.lua +++ b/[core]/skinchanger/locales/he.lua @@ -68,7 +68,6 @@ Locales["he"] = { ['chain_1'] = 'שרשרת 1', ['chain_2'] = 'שרשרת 2', ['helmet_1'] = 'קסדה 1', - ['helmet_2'] = 'קסדה ['helmet_2'] = 'קסדה 2', ['watches_1'] = 'שעונים 1', ['watches_2'] = 'שעונים 2', From 6364152c5ccb026215e0e9dbf1765bafe495f93e Mon Sep 17 00:00:00 2001 From: FilipeCuco Date: Sat, 15 Jul 2023 21:44:01 +0100 Subject: [PATCH 033/148] Enhanced xPlayer Metadata Management Function Support for Clearing Specific Value: You can now use the "clearMeta" function to remove a specific value associated with an index. By providing the "index" and the "subValue" (as a string), the function will remove that specific value from the metadata table. Support for Clearing Multiple Values: The function has been expanded to allow the removal of multiple values simultaneously. By passing a table of "subValues" to the function, you can specify several values to clear from the metadata table associated with a particular index. Handling Entire Index Value: If no "subValues" are provided, the function will clear the entire value associated with the given "index." This allows you to wipe out all the data related to that particular index. -- Clear the "level" value within the "player1" index self.clearMeta("player1", "level") -- Clear the "score" and "level" values within the "player1" index self.clearMeta("player1", {"score", "level"}) -- Clear the entire value associated with "player1" index self.clearMeta("player1") --- [core]/es_extended/server/classes/player.lua | 52 ++++++++++++++------ 1 file changed, 38 insertions(+), 14 deletions(-) diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index 62c12cf19..0a4aad859 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -651,24 +651,48 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, Player(self.source).state:set('metadata', self.metadata, true) end - function self.clearMeta(index) + function self.clearMeta(index, subValues) if not index then - return print(("[^1ERROR^7] xPlayer.clearMeta ^5%s^7 is Missing!"):format(index)) + return print("[^1ERROR^7] xPlayer.clearMeta ^5index^7 is Missing!") end - - if type(index) == 'table' then - for _, val in pairs(index) do - self.clearMeta(val) - end - - return + + if type(index) ~= "string" then + return print("[^1ERROR^7] xPlayer.clearMeta ^5index^7 should be ^5string^7!") end - - if not self.metadata[index] then - return print(("[^1ERROR^7] xPlayer.clearMeta ^5%s^7 not exist!"):format(index)) + + local metaData = self.metadata[index] + if metaData == nil then + return Config.EnableDebug and print(("[^1ERROR^7] xPlayer.clearMeta ^5%s^7 does not exist!"):format(index)) or nil + end + + if not subValues then + -- If no subValues is provided, we will clear the entire value in the metaData table + self.metadata[index] = nil + elseif type(subValues) == "string" then + -- If subValues is a string, we will clear the specific subValue within the table + if type(metaData) == "table" then + metaData[subValues] = nil + else + return print(("[^1ERROR^7] xPlayer.clearMeta ^5%s^7 is not a table! Cannot clear subValue ^5%s^7."):format(index, subValues)) + end + elseif type(subValues) == "table" then + -- If subValues is a table, we will clear multiple subValues within the table + for i = 1, #subValues do + local subValue = subValues[i] + if type(subValue) == "string" then + if type(metaData) == "table" then + metaData[subValue] = nil + else + print(("[^1ERROR^7] xPlayer.clearMeta ^5%s^7 is not a table! Cannot clear subValue ^5%s^7."):format(index, subValue)) + end + else + print(("[^1ERROR^7] xPlayer.clearMeta subValues should contain ^5string^7, received ^5%s^7, skipping..."):format(type(subValue))) + end + end + else + return print(("[^1ERROR^7] xPlayer.clearMeta ^5subValues^7 should be ^5string^7 or ^5table^7, received ^5%s^7!"):format(type(subValues))) end - - self.metadata[index] = nil + self.triggerEvent('esx:updatePlayerData', 'metadata', self.metadata) Player(self.source).state:set('metadata', self.metadata, true) end From 07f3ab771e0c37342ecc1b8c7ac2008fe654e5f4 Mon Sep 17 00:00:00 2001 From: TheFantomas <117121911+TheFantomas@users.noreply.github.com> Date: Sun, 16 Jul 2023 14:00:43 +0200 Subject: [PATCH 034/148] Formatting --- [core]/es_extended/config.weapons.lua | 1348 +++++++++++++------------ 1 file changed, 680 insertions(+), 668 deletions(-) diff --git a/[core]/es_extended/config.weapons.lua b/[core]/es_extended/config.weapons.lua index db1bce0c4..dad0baf49 100644 --- a/[core]/es_extended/config.weapons.lua +++ b/[core]/es_extended/config.weapons.lua @@ -11,979 +11,991 @@ Config.DefaultWeaponTints = { Config.Weapons = { -- Melee - {name = 'WEAPON_DAGGER', label = TranslateCap('weapon_dagger'), components = {}}, - {name = 'WEAPON_BAT', label = TranslateCap('weapon_bat'), components = {}}, - {name = 'WEAPON_BATTLEAXE', label = TranslateCap('weapon_battleaxe'), components = {}}, + { name = 'WEAPON_DAGGER', label = TranslateCap('weapon_dagger'), components = {} }, + { name = 'WEAPON_BAT', label = TranslateCap('weapon_bat'), components = {} }, + { name = 'WEAPON_BATTLEAXE', label = TranslateCap('weapon_battleaxe'), components = {} }, { name = 'WEAPON_KNUCKLE', label = TranslateCap('weapon_knuckle'), components = { - {name = 'knuckle_base', label = TranslateCap('component_knuckle_base'), hash = `COMPONENT_KNUCKLE_VARMOD_BASE`}, - {name = 'knuckle_pimp', label = TranslateCap('component_knuckle_pimp'), hash = `COMPONENT_KNUCKLE_VARMOD_PIMP`}, - {name = 'knuckle_ballas', label = TranslateCap('component_knuckle_ballas'), hash = `COMPONENT_KNUCKLE_VARMOD_BALLAS`}, - {name = 'knuckle_dollar', label = TranslateCap('component_knuckle_dollar'), hash = `COMPONENT_KNUCKLE_VARMOD_DOLLAR`}, - {name = 'knuckle_diamond', label = TranslateCap('component_knuckle_diamond'), hash = `COMPONENT_KNUCKLE_VARMOD_DIAMOND`}, - {name = 'knuckle_hate', label = TranslateCap('component_knuckle_hate'), hash = `COMPONENT_KNUCKLE_VARMOD_HATE`}, - {name = 'knuckle_love', label = TranslateCap('component_knuckle_love'), hash = `COMPONENT_KNUCKLE_VARMOD_LOVE`}, - {name = 'knuckle_player', label = TranslateCap('component_knuckle_player'), hash = `COMPONENT_KNUCKLE_VARMOD_PLAYER`}, - {name = 'knuckle_king', label = TranslateCap('component_knuckle_king'), hash = `COMPONENT_KNUCKLE_VARMOD_KING`}, - {name = 'knuckle_vagos', label = TranslateCap('component_knuckle_vagos'), hash = `COMPONENT_KNUCKLE_VARMOD_VAGOS`} - } - }, - {name = 'WEAPON_BOTTLE', label = TranslateCap('weapon_bottle'), components = {}}, - {name = 'WEAPON_CROWBAR', label = TranslateCap('weapon_crowbar'), components = {}}, - {name = 'WEAPON_FLASHLIGHT', label = TranslateCap('weapon_flashlight'), components = {}}, - {name = 'WEAPON_GOLFCLUB', label = TranslateCap('weapon_golfclub'), components = {}}, - {name = 'WEAPON_HAMMER', label = TranslateCap('weapon_hammer'), components = {}}, - {name = 'WEAPON_HATCHET', label = TranslateCap('weapon_hatchet'), components = {}}, - {name = 'WEAPON_KNIFE', label = TranslateCap('weapon_knife'), components = {}}, - {name = 'WEAPON_MACHETE', label = TranslateCap('weapon_machete'), components = {}}, - {name = 'WEAPON_NIGHTSTICK', label = TranslateCap('weapon_nightstick'), components = {}}, - {name = 'WEAPON_WRENCH', label = TranslateCap('weapon_wrench'), components = {}}, - {name = 'WEAPON_POOLCUE', label = TranslateCap('weapon_poolcue'), components = {}}, - {name = 'WEAPON_STONE_HATCHET', label = TranslateCap('weapon_stone_hatchet'), components = {}}, + { name = 'knuckle_base', label = TranslateCap('component_knuckle_base'), hash = `COMPONENT_KNUCKLE_VARMOD_BASE` }, + { name = 'knuckle_pimp', label = TranslateCap('component_knuckle_pimp'), hash = `COMPONENT_KNUCKLE_VARMOD_PIMP` }, + { name = 'knuckle_ballas', label = TranslateCap('component_knuckle_ballas'), hash = `COMPONENT_KNUCKLE_VARMOD_BALLAS` }, + { name = 'knuckle_dollar', label = TranslateCap('component_knuckle_dollar'), hash = `COMPONENT_KNUCKLE_VARMOD_DOLLAR` }, + { name = 'knuckle_diamond', label = TranslateCap('component_knuckle_diamond'), hash = `COMPONENT_KNUCKLE_VARMOD_DIAMOND` }, + { name = 'knuckle_hate', label = TranslateCap('component_knuckle_hate'), hash = `COMPONENT_KNUCKLE_VARMOD_HATE` }, + { name = 'knuckle_love', label = TranslateCap('component_knuckle_love'), hash = `COMPONENT_KNUCKLE_VARMOD_LOVE` }, + { name = 'knuckle_player', label = TranslateCap('component_knuckle_player'), hash = `COMPONENT_KNUCKLE_VARMOD_PLAYER` }, + { name = 'knuckle_king', label = TranslateCap('component_knuckle_king'), hash = `COMPONENT_KNUCKLE_VARMOD_KING` }, + { name = 'knuckle_vagos', label = TranslateCap('component_knuckle_vagos'), hash = `COMPONENT_KNUCKLE_VARMOD_VAGOS` } + } + }, + { name = 'WEAPON_BOTTLE', label = TranslateCap('weapon_bottle'), components = {} }, + { name = 'WEAPON_CROWBAR', label = TranslateCap('weapon_crowbar'), components = {} }, + { name = 'WEAPON_FLASHLIGHT', label = TranslateCap('weapon_flashlight'), components = {} }, + { name = 'WEAPON_GOLFCLUB', label = TranslateCap('weapon_golfclub'), components = {} }, + { name = 'WEAPON_HAMMER', label = TranslateCap('weapon_hammer'), components = {} }, + { name = 'WEAPON_HATCHET', label = TranslateCap('weapon_hatchet'), components = {} }, + { name = 'WEAPON_KNIFE', label = TranslateCap('weapon_knife'), components = {} }, + { name = 'WEAPON_MACHETE', label = TranslateCap('weapon_machete'), components = {} }, + { name = 'WEAPON_NIGHTSTICK', label = TranslateCap('weapon_nightstick'), components = {} }, + { name = 'WEAPON_WRENCH', label = TranslateCap('weapon_wrench'), components = {} }, + { name = 'WEAPON_POOLCUE', label = TranslateCap('weapon_poolcue'), components = {} }, + { name = 'WEAPON_STONE_HATCHET', label = TranslateCap('weapon_stone_hatchet'), components = {} }, { name = 'WEAPON_SWITCHBLADE', label = TranslateCap('weapon_switchblade'), components = { - {name = 'handle_default', label = TranslateCap('component_handle_default'), hash = `COMPONENT_SWITCHBLADE_VARMOD_BASE`}, - {name = 'handle_vip', label = TranslateCap('component_handle_vip'), hash = `COMPONENT_SWITCHBLADE_VARMOD_VAR1`}, - {name = 'handle_bodyguard', label = TranslateCap('component_handle_bodyguard'), hash = `COMPONENT_SWITCHBLADE_VARMOD_VAR2`} + { name = 'handle_default', label = TranslateCap('component_handle_default'), hash = `COMPONENT_SWITCHBLADE_VARMOD_BASE` }, + { name = 'handle_vip', label = TranslateCap('component_handle_vip'), hash = `COMPONENT_SWITCHBLADE_VARMOD_VAR1` }, + { name = 'handle_bodyguard', label = TranslateCap('component_handle_bodyguard'), hash = `COMPONENT_SWITCHBLADE_VARMOD_VAR2` } } }, -- Handguns { name = 'WEAPON_APPISTOL', label = TranslateCap('weapon_appistol'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_APPISTOL_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_APPISTOL_CLIP_02`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP`}, - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_APPISTOL_VARMOD_LUXE`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_APPISTOL_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_APPISTOL_CLIP_02` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP` }, + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_APPISTOL_VARMOD_LUXE` } } }, - {name = 'WEAPON_CERAMICPISTOL', label = TranslateCap('weapon_ceramicpistol'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}}, + { name = 'WEAPON_CERAMICPISTOL', label = TranslateCap('weapon_ceramicpistol'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` } }, { name = 'WEAPON_COMBATPISTOL', label = TranslateCap('weapon_combatpistol'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMBATPISTOL_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMBATPISTOL_CLIP_02`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP`}, - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_COMBATPISTOL_VARMOD_LOWRIDER`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMBATPISTOL_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMBATPISTOL_CLIP_02` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP` }, + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_COMBATPISTOL_VARMOD_LOWRIDER` } } }, - {name = 'WEAPON_DOUBLEACTION', label = TranslateCap('weapon_doubleaction'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}}, - {name = 'WEAPON_NAVYREVOLVER', label = TranslateCap('weapon_navyrevolver'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}}, - {name = 'WEAPON_FLAREGUN', label = TranslateCap('weapon_flaregun'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_flaregun'), hash = `AMMO_FLAREGUN`}}, - {name = 'WEAPON_GADGETPISTOL', label = TranslateCap('weapon_gadgetpistol'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}}, + { name = 'WEAPON_DOUBLEACTION', label = TranslateCap('weapon_doubleaction'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` } }, + { name = 'WEAPON_NAVYREVOLVER', label = TranslateCap('weapon_navyrevolver'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` } }, + { name = 'WEAPON_FLAREGUN', label = TranslateCap('weapon_flaregun'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_flaregun'), hash = `AMMO_FLAREGUN` } }, + { name = 'WEAPON_GADGETPISTOL', label = TranslateCap('weapon_gadgetpistol'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` } }, { name = 'WEAPON_HEAVYPISTOL', label = TranslateCap('weapon_heavypistol'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_HEAVYPISTOL_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_HEAVYPISTOL_CLIP_02`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP`}, - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_HEAVYPISTOL_VARMOD_LUXE`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_HEAVYPISTOL_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_HEAVYPISTOL_CLIP_02` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP` }, + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_HEAVYPISTOL_VARMOD_LUXE` } } }, { name = 'WEAPON_REVOLVER', label = TranslateCap('weapon_revolver'), - ammo = {label = TranslateCap('ammo_rounds'),hash = `AMMO_PISTOL`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_REVOLVER_CLIP_01`}, - {name = 'vip_finish', label = TranslateCap('component_vip_finish'), hash = `COMPONENT_REVOLVER_VARMOD_BOSS`}, - {name = 'bodyguard_finish', label = TranslateCap('component_bodyguard_finish'), hash = `COMPONENT_REVOLVER_VARMOD_GOON`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_REVOLVER_CLIP_01` }, + { name = 'vip_finish', label = TranslateCap('component_vip_finish'), hash = `COMPONENT_REVOLVER_VARMOD_BOSS` }, + { name = 'bodyguard_finish', label = TranslateCap('component_bodyguard_finish'), hash = `COMPONENT_REVOLVER_VARMOD_GOON` } } }, { name = 'WEAPON_REVOLVER_MK2', label = TranslateCap('weapon_revolver_mk2'), - ammo = {label = TranslateCap('ammo_rounds'),hash = `AMMO_PISTOL`}, - tints = Config.DefaultWeaponTints, - components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_REVOLVER_MK2_CLIP_01`}, - {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_REVOLVER_MK2_CLIP_TRACER`}, - {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_REVOLVER_MK2_CLIP_INCENDIARY`}, - {name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_REVOLVER_MK2_CLIP_HOLLOWPOINT`}, - {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_REVOLVER_MK2_CLIP_FMJ`}, - {name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS`}, - {name = 'scope_small', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH`}, - {name = 'compensator', label = TranslateCap('component_compensator'), hash = `COMPONENT_AT_PI_COMP_03`}, - {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_REVOLVER_MK2_CAMO`}, - {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_REVOLVER_MK2_CAMO_02`}, - {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_REVOLVER_MK2_CAMO_03`}, - {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_REVOLVER_MK2_CAMO_04`}, - {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_REVOLVER_MK2_CAMO_05`}, - {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_REVOLVER_MK2_CAMO_06`}, - {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_REVOLVER_MK2_CAMO_07`}, - {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_REVOLVER_MK2_CAMO_08`}, - {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_REVOLVER_MK2_CAMO_09`}, - {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_REVOLVER_MK2_CAMO_10`}, - {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_REVOLVER_MK2_CAMO_IND_01`} - } - }, - {name = 'WEAPON_MARKSMANPISTOL', label = TranslateCap('weapon_marksmanpistol'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, + tints = Config.DefaultWeaponTints, + components = { + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_REVOLVER_MK2_CLIP_01` }, + { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_REVOLVER_MK2_CLIP_TRACER` }, + { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_REVOLVER_MK2_CLIP_INCENDIARY` }, + { name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_REVOLVER_MK2_CLIP_HOLLOWPOINT` }, + { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_REVOLVER_MK2_CLIP_FMJ` }, + { name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS` }, + { name = 'scope_small', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH` }, + { name = 'compensator', label = TranslateCap('component_compensator'), hash = `COMPONENT_AT_PI_COMP_03` }, + { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_REVOLVER_MK2_CAMO` }, + { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_REVOLVER_MK2_CAMO_02` }, + { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_REVOLVER_MK2_CAMO_03` }, + { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_REVOLVER_MK2_CAMO_04` }, + { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_REVOLVER_MK2_CAMO_05` }, + { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_REVOLVER_MK2_CAMO_06` }, + { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_REVOLVER_MK2_CAMO_07` }, + { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_REVOLVER_MK2_CAMO_08` }, + { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_REVOLVER_MK2_CAMO_09` }, + { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_REVOLVER_MK2_CAMO_10` }, + { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_REVOLVER_MK2_CAMO_IND_01` } + } + }, + { name = 'WEAPON_MARKSMANPISTOL', label = TranslateCap('weapon_marksmanpistol'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` } }, { name = 'WEAPON_PISTOL', label = TranslateCap('weapon_pistol'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_PISTOL_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_PISTOL_CLIP_02`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP_02`}, - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_PISTOL_VARMOD_LUXE`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_PISTOL_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_PISTOL_CLIP_02` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP_02` }, + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_PISTOL_VARMOD_LUXE` } } }, { name = 'WEAPON_PISTOL_MK2', label = TranslateCap('weapon_pistol_mk2'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, - tints = Config.DefaultWeaponTints, - components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_PISTOL_MK2_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_PISTOL_MK2_CLIP_02`}, - {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_PISTOL_MK2_CLIP_TRACER`}, - {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_PISTOL_MK2_CLIP_INCENDIARY`}, - {name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_PISTOL_MK2_CLIP_HOLLOWPOINT`}, - {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_PISTOL_MK2_CLIP_FMJ`}, - {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_PI_RAIL`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH_02`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP_02`}, - {name = 'compensator', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_COMP`}, - {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_PISTOL_MK2_CAMO`}, - {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_PISTOL_MK2_CAMO_02`}, - {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_PISTOL_MK2_CAMO_03`}, - {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_PISTOL_MK2_CAMO_04`}, - {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_PISTOL_MK2_CAMO_05`}, - {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_PISTOL_MK2_CAMO_06`}, - {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_PISTOL_MK2_CAMO_07`}, - {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_PISTOL_MK2_CAMO_08`}, - {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_PISTOL_MK2_CAMO_09`}, - {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_PISTOL_MK2_CAMO_10`}, - {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_PISTOL_MK2_CAMO_IND_01`}, - {name = 'camo_slide_finish', label = TranslateCap('component_camo_slide_finish'), hash = `COMPONENT_PISTOL_MK2_CAMO_SLIDE`}, - {name = 'camo_slide_finish2', label = TranslateCap('component_camo_slide_finish2'), hash = `COMPONENT_PISTOL_MK2_CAMO_02_SLIDE`}, - {name = 'camo_slide_finish3', label = TranslateCap('component_camo_slide_finish3'), hash = `COMPONENT_PISTOL_MK2_CAMO_03_SLIDE`}, - {name = 'camo_slide_finish4', label = TranslateCap('component_camo_slide_finish4'), hash = `COMPONENT_PISTOL_MK2_CAMO_04_SLIDE`}, - {name = 'camo_slide_finish5', label = TranslateCap('component_camo_slide_finish5'), hash = `COMPONENT_PISTOL_MK2_CAMO_05_SLIDE`}, - {name = 'camo_slide_finish6', label = TranslateCap('component_camo_slide_finish6'), hash = `COMPONENT_PISTOL_MK2_CAMO_06_SLIDE`}, - {name = 'camo_slide_finish7', label = TranslateCap('component_camo_slide_finish7'), hash = `COMPONENT_PISTOL_MK2_CAMO_07_SLIDE`}, - {name = 'camo_slide_finish8', label = TranslateCap('component_camo_slide_finish8'), hash = `COMPONENT_PISTOL_MK2_CAMO_08_SLIDE`}, - {name = 'camo_slide_finish9', label = TranslateCap('component_camo_slide_finish9'), hash = `COMPONENT_PISTOL_MK2_CAMO_09_SLIDE`}, - {name = 'camo_slide_finish10', label = TranslateCap('component_camo_slide_finish10'), hash = `COMPONENT_PISTOL_MK2_CAMO_10_SLIDE`}, - {name = 'camo_slide_finish11', label = TranslateCap('component_camo_slide_finish11'), hash = `COMPONENT_PISTOL_MK2_CAMO_IND_01_SLIDE`} + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, + tints = Config.DefaultWeaponTints, + components = { + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_PISTOL_MK2_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_PISTOL_MK2_CLIP_02` }, + { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_PISTOL_MK2_CLIP_TRACER` }, + { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_PISTOL_MK2_CLIP_INCENDIARY` }, + { name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_PISTOL_MK2_CLIP_HOLLOWPOINT` }, + { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_PISTOL_MK2_CLIP_FMJ` }, + { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_PI_RAIL` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH_02` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP_02` }, + { name = 'compensator', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_COMP` }, + { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_PISTOL_MK2_CAMO` }, + { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_PISTOL_MK2_CAMO_02` }, + { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_PISTOL_MK2_CAMO_03` }, + { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_PISTOL_MK2_CAMO_04` }, + { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_PISTOL_MK2_CAMO_05` }, + { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_PISTOL_MK2_CAMO_06` }, + { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_PISTOL_MK2_CAMO_07` }, + { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_PISTOL_MK2_CAMO_08` }, + { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_PISTOL_MK2_CAMO_09` }, + { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_PISTOL_MK2_CAMO_10` }, + { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_PISTOL_MK2_CAMO_IND_01` }, + { name = 'camo_slide_finish', label = TranslateCap('component_camo_slide_finish'), hash = `COMPONENT_PISTOL_MK2_CAMO_SLIDE` }, + { name = 'camo_slide_finish2', label = TranslateCap('component_camo_slide_finish2'), hash = `COMPONENT_PISTOL_MK2_CAMO_02_SLIDE` }, + { name = 'camo_slide_finish3', label = TranslateCap('component_camo_slide_finish3'), hash = `COMPONENT_PISTOL_MK2_CAMO_03_SLIDE` }, + { name = 'camo_slide_finish4', label = TranslateCap('component_camo_slide_finish4'), hash = `COMPONENT_PISTOL_MK2_CAMO_04_SLIDE` }, + { name = 'camo_slide_finish5', label = TranslateCap('component_camo_slide_finish5'), hash = `COMPONENT_PISTOL_MK2_CAMO_05_SLIDE` }, + { name = 'camo_slide_finish6', label = TranslateCap('component_camo_slide_finish6'), hash = `COMPONENT_PISTOL_MK2_CAMO_06_SLIDE` }, + { name = 'camo_slide_finish7', label = TranslateCap('component_camo_slide_finish7'), hash = `COMPONENT_PISTOL_MK2_CAMO_07_SLIDE` }, + { name = 'camo_slide_finish8', label = TranslateCap('component_camo_slide_finish8'), hash = `COMPONENT_PISTOL_MK2_CAMO_08_SLIDE` }, + { name = 'camo_slide_finish9', label = TranslateCap('component_camo_slide_finish9'), hash = `COMPONENT_PISTOL_MK2_CAMO_09_SLIDE` }, + { name = 'camo_slide_finish10', label = TranslateCap('component_camo_slide_finish10'), hash = `COMPONENT_PISTOL_MK2_CAMO_10_SLIDE` }, + { name = 'camo_slide_finish11', label = TranslateCap('component_camo_slide_finish11'), hash = `COMPONENT_PISTOL_MK2_CAMO_IND_01_SLIDE` } } }, { name = 'WEAPON_PISTOL50', label = TranslateCap('weapon_pistol50'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_PISTOL50_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_PISTOL50_CLIP_02`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_PISTOL50_VARMOD_LUXE`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_PISTOL50_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_PISTOL50_CLIP_02` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_PISTOL50_VARMOD_LUXE` } } }, { name = 'WEAPON_SNSPISTOL', label = TranslateCap('weapon_snspistol'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SNSPISTOL_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SNSPISTOL_CLIP_02`}, - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SNSPISTOL_VARMOD_LOWRIDER`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SNSPISTOL_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SNSPISTOL_CLIP_02` }, + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SNSPISTOL_VARMOD_LOWRIDER` } } }, { name = 'WEAPON_SNSPISTOL_MK2', label = TranslateCap('weapon_snspistol_mk2'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, - tints = Config.DefaultWeaponTints, - components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_02`}, - {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_TRACER`}, - {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_INCENDIARY`}, - {name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_HOLLOWPOINT`}, - {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_FMJ`}, - {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_PI_RAIL_02`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH_03`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP_02`}, - {name = 'compensator', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_COMP_02`}, - {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO`}, - {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_02`}, - {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_03`}, - {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_04`}, - {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_05`}, - {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_06`}, - {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_07`}, - {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_08`}, - {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_09`}, - {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_10`}, - {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_IND_01`}, - {name = 'camo_slide_finish', label = TranslateCap('component_camo_slide_finish'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_SLIDE`}, - {name = 'camo_slide_finish2', label = TranslateCap('component_camo_slide_finish2'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_02_SLIDE`}, - {name = 'camo_slide_finish3', label = TranslateCap('component_camo_slide_finish3'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_03_SLIDE`}, - {name = 'camo_slide_finish4', label = TranslateCap('component_camo_slide_finish4'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_04_SLIDE`}, - {name = 'camo_slide_finish5', label = TranslateCap('component_camo_slide_finish5'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_05_SLIDE`}, - {name = 'camo_slide_finish6', label = TranslateCap('component_camo_slide_finish6'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_06_SLIDE`}, - {name = 'camo_slide_finish7', label = TranslateCap('component_camo_slide_finish7'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_07_SLIDE`}, - {name = 'camo_slide_finish8', label = TranslateCap('component_camo_slide_finish8'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_08_SLIDE`}, - {name = 'camo_slide_finish9', label = TranslateCap('component_camo_slide_finish9'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_09_SLIDE`}, - {name = 'camo_slide_finish10', label = TranslateCap('component_camo_slide_finish10'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_10_SLIDE`}, - {name = 'camo_slide_finish11', label = TranslateCap('component_camo_slide_finish11'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_IND_01_SLIDE`} - } - }, - {name = 'WEAPON_STUNGUN', label = TranslateCap('weapon_stungun'), tints = Config.DefaultWeaponTints, components = {}}, - {name = 'WEAPON_RAYPISTOL', label = TranslateCap('weapon_raypistol'), tints = Config.DefaultWeaponTints, components = {}}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, + tints = Config.DefaultWeaponTints, + components = { + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_02` }, + { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_TRACER` }, + { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_INCENDIARY` }, + { name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_HOLLOWPOINT` }, + { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_FMJ` }, + { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_PI_RAIL_02` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH_03` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP_02` }, + { name = 'compensator', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_COMP_02` }, + { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO` }, + { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_02` }, + { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_03` }, + { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_04` }, + { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_05` }, + { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_06` }, + { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_07` }, + { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_08` }, + { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_09` }, + { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_10` }, + { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_IND_01` }, + { name = 'camo_slide_finish', label = TranslateCap('component_camo_slide_finish'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_SLIDE` }, + { name = 'camo_slide_finish2', label = TranslateCap('component_camo_slide_finish2'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_02_SLIDE` }, + { name = 'camo_slide_finish3', label = TranslateCap('component_camo_slide_finish3'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_03_SLIDE` }, + { name = 'camo_slide_finish4', label = TranslateCap('component_camo_slide_finish4'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_04_SLIDE` }, + { name = 'camo_slide_finish5', label = TranslateCap('component_camo_slide_finish5'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_05_SLIDE` }, + { name = 'camo_slide_finish6', label = TranslateCap('component_camo_slide_finish6'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_06_SLIDE` }, + { name = 'camo_slide_finish7', label = TranslateCap('component_camo_slide_finish7'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_07_SLIDE` }, + { name = 'camo_slide_finish8', label = TranslateCap('component_camo_slide_finish8'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_08_SLIDE` }, + { name = 'camo_slide_finish9', label = TranslateCap('component_camo_slide_finish9'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_09_SLIDE` }, + { name = 'camo_slide_finish10', label = TranslateCap('component_camo_slide_finish10'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_10_SLIDE` }, + { name = 'camo_slide_finish11', label = TranslateCap('component_camo_slide_finish11'), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_IND_01_SLIDE` } + } + }, + { name = 'WEAPON_STUNGUN', label = TranslateCap('weapon_stungun'), tints = Config.DefaultWeaponTints, components = {} }, + { name = 'WEAPON_RAYPISTOL', label = TranslateCap('weapon_raypistol'), tints = Config.DefaultWeaponTints, components = {} }, { name = 'WEAPON_VINTAGEPISTOL', label = TranslateCap('weapon_vintagepistol'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_VINTAGEPISTOL_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_VINTAGEPISTOL_CLIP_02`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_VINTAGEPISTOL_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_VINTAGEPISTOL_CLIP_02` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP` } } }, -- Shotguns { name = 'WEAPON_ASSAULTSHOTGUN', label = TranslateCap('weapon_assaultshotgun'), - ammo = {label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN`}, + ammo = { label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ASSAULTSHOTGUN_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ASSAULTSHOTGUN_CLIP_02`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`}, - {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ASSAULTSHOTGUN_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ASSAULTSHOTGUN_CLIP_02` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` }, + { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` } } }, - {name = 'WEAPON_AUTOSHOTGUN', label = TranslateCap('weapon_autoshotgun'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN`}}, + { name = 'WEAPON_AUTOSHOTGUN', label = TranslateCap('weapon_autoshotgun'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN` } }, { name = 'WEAPON_BULLPUPSHOTGUN', label = TranslateCap('weapon_bullpupshotgun'), - ammo = {label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN`}, + ammo = { label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN` }, tints = Config.DefaultWeaponTints, components = { - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, - {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`} + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` } } }, { name = 'WEAPON_COMBATSHOTGUN', label = TranslateCap('weapon_combatshotgun'), - ammo = {label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN`}, + ammo = { label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN` }, tints = Config.DefaultWeaponTints, components = { - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`} + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` } } }, - {name = 'WEAPON_DBSHOTGUN', label = TranslateCap('weapon_dbshotgun'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN`}}, + { name = 'WEAPON_DBSHOTGUN', label = TranslateCap('weapon_dbshotgun'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN` } }, { name = 'WEAPON_HEAVYSHOTGUN', label = TranslateCap('weapon_heavyshotgun'), - ammo = {label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN`}, + ammo = { label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_HEAVYSHOTGUN_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_HEAVYSHOTGUN_CLIP_02`}, - {name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_HEAVYSHOTGUN_CLIP_03`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, - {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_HEAVYSHOTGUN_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_HEAVYSHOTGUN_CLIP_02` }, + { name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_HEAVYSHOTGUN_CLIP_03` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` } } }, - {name = 'WEAPON_MUSKET', label = TranslateCap('weapon_musket'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SHOTGUN`}}, + { name = 'WEAPON_MUSKET', label = TranslateCap('weapon_musket'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SHOTGUN` } }, { name = 'WEAPON_PUMPSHOTGUN', label = TranslateCap('weapon_pumpshotgun'), - ammo = {label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN`}, + ammo = { label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN` }, tints = Config.DefaultWeaponTints, components = { - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_SR_SUPP`}, - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_PUMPSHOTGUN_VARMOD_LOWRIDER`} + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_SR_SUPP` }, + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_PUMPSHOTGUN_VARMOD_LOWRIDER` } } }, { name = 'WEAPON_PUMPSHOTGUN_MK2', label = TranslateCap('weapon_pumpshotgun_mk2'), - ammo = {label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN`}, - tints = Config.DefaultWeaponTints, - components = { - {name = 'shells_default', label = TranslateCap('component_shells_default'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_01`}, - {name = 'shells_incendiary', label = TranslateCap('component_shells_incendiary'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_INCENDIARY`}, - {name = 'shells_armor', label = TranslateCap('component_shells_armor'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_ARMORPIERCING`}, - {name = 'shells_hollowpoint', label = TranslateCap('component_shells_hollowpoint'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_HOLLOWPOINT`}, - {name = 'shells_explosive', label = TranslateCap('component_shells_explosive'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_EXPLOSIVE`}, - {name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS`}, - {name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2`}, - {name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_SMALL_MK2`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_SR_SUPP_03`}, - {name = 'muzzle_squared', label = TranslateCap('component_muzzle_squared'), hash = `COMPONENT_AT_MUZZLE_08`}, - {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO`}, - {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_02`}, - {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_03`}, - {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_04`}, - {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_05`}, - {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_06`}, - {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_07`}, - {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_08`}, - {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_09`}, - {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_10`}, - {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_IND_01`} + ammo = { label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN` }, + tints = Config.DefaultWeaponTints, + components = { + { name = 'shells_default', label = TranslateCap('component_shells_default'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_01` }, + { name = 'shells_incendiary', label = TranslateCap('component_shells_incendiary'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_INCENDIARY` }, + { name = 'shells_armor', label = TranslateCap('component_shells_armor'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_ARMORPIERCING` }, + { name = 'shells_hollowpoint', label = TranslateCap('component_shells_hollowpoint'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_HOLLOWPOINT` }, + { name = 'shells_explosive', label = TranslateCap('component_shells_explosive'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_EXPLOSIVE` }, + { name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS` }, + { name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2` }, + { name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_SMALL_MK2` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_SR_SUPP_03` }, + { name = 'muzzle_squared', label = TranslateCap('component_muzzle_squared'), hash = `COMPONENT_AT_MUZZLE_08` }, + { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO` }, + { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_02` }, + { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_03` }, + { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_04` }, + { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_05` }, + { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_06` }, + { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_07` }, + { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_08` }, + { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_09` }, + { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_10` }, + { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_IND_01` } } }, { name = 'WEAPON_SAWNOFFSHOTGUN', label = TranslateCap('weapon_sawnoffshotgun'), - ammo = {label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN`}, + ammo = { label = TranslateCap('ammo_shells'), hash = `AMMO_SHOTGUN` }, tints = Config.DefaultWeaponTints, components = { - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SAWNOFFSHOTGUN_VARMOD_LUXE`} + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SAWNOFFSHOTGUN_VARMOD_LUXE` } } }, -- SMG & LMG { name = 'WEAPON_ASSAULTSMG', label = TranslateCap('weapon_assaultsmg'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ASSAULTSMG_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ASSAULTSMG_CLIP_02`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MACRO`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_ASSAULTSMG_VARMOD_LOWRIDER`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ASSAULTSMG_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ASSAULTSMG_CLIP_02` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MACRO` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_ASSAULTSMG_VARMOD_LOWRIDER` } } }, { name = 'WEAPON_COMBATMG', label = TranslateCap('weapon_combatmg'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_MG`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_MG` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMBATMG_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMBATMG_CLIP_02`}, - {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MEDIUM`}, - {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_COMBATMG_VARMOD_LOWRIDER`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMBATMG_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMBATMG_CLIP_02` }, + { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MEDIUM` }, + { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` }, + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_COMBATMG_VARMOD_LOWRIDER` } } }, { name = 'WEAPON_COMBATMG_MK2', label = TranslateCap('weapon_combatmg_mk2'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_MG`}, - tints = Config.DefaultWeaponTints, - components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMBATMG_MK2_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMBATMG_MK2_CLIP_02`}, - {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_COMBATMG_MK2_CLIP_TRACER`}, - {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_COMBATMG_MK2_CLIP_INCENDIARY`}, - {name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_COMBATMG_MK2_CLIP_ARMORPIERCING`}, - {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_COMBATMG_MK2_CLIP_FMJ`}, - {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02`}, - {name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS`}, - {name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_SMALL_MK2`}, - {name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2`}, - {name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01`}, - {name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02`}, - {name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03`}, - {name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04`}, - {name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05`}, - {name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06`}, - {name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07`}, - {name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_MG_BARREL_01`}, - {name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_MG_BARREL_02`}, - {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_COMBATMG_MK2_CAMO`}, - {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_COMBATMG_MK2_CAMO_02`}, - {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_COMBATMG_MK2_CAMO_03`}, - {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_COMBATMG_MK2_CAMO_04`}, - {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_COMBATMG_MK2_CAMO_05`}, - {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_COMBATMG_MK2_CAMO_06`}, - {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_COMBATMG_MK2_CAMO_07`}, - {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_COMBATMG_MK2_CAMO_08`}, - {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_COMBATMG_MK2_CAMO_09`}, - {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_COMBATMG_MK2_CAMO_10`}, - {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_COMBATMG_MK2_CAMO_IND_01`} + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_MG` }, + tints = Config.DefaultWeaponTints, + components = { + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMBATMG_MK2_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMBATMG_MK2_CLIP_02` }, + { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_COMBATMG_MK2_CLIP_TRACER` }, + { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_COMBATMG_MK2_CLIP_INCENDIARY` }, + { name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_COMBATMG_MK2_CLIP_ARMORPIERCING` }, + { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_COMBATMG_MK2_CLIP_FMJ` }, + { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02` }, + { name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS` }, + { name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_SMALL_MK2` }, + { name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2` }, + { name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01` }, + { name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02` }, + { name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03` }, + { name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04` }, + { name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05` }, + { name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06` }, + { name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07` }, + { name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_MG_BARREL_01` }, + { name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_MG_BARREL_02` }, + { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_COMBATMG_MK2_CAMO` }, + { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_COMBATMG_MK2_CAMO_02` }, + { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_COMBATMG_MK2_CAMO_03` }, + { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_COMBATMG_MK2_CAMO_04` }, + { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_COMBATMG_MK2_CAMO_05` }, + { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_COMBATMG_MK2_CAMO_06` }, + { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_COMBATMG_MK2_CAMO_07` }, + { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_COMBATMG_MK2_CAMO_08` }, + { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_COMBATMG_MK2_CAMO_09` }, + { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_COMBATMG_MK2_CAMO_10` }, + { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_COMBATMG_MK2_CAMO_IND_01` } } }, { name = 'WEAPON_COMBATPDW', label = TranslateCap('weapon_combatpdw'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMBATPDW_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMBATPDW_CLIP_02`}, - {name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_COMBATPDW_CLIP_03`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, - {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMBATPDW_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMBATPDW_CLIP_02` }, + { name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_COMBATPDW_CLIP_03` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` }, + { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL` } } }, { name = 'WEAPON_GUSENBERG', label = TranslateCap('weapon_gusenberg'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_MG`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_MG` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_GUSENBERG_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_GUSENBERG_CLIP_02`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_GUSENBERG_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_GUSENBERG_CLIP_02` } } }, { name = 'WEAPON_MACHINEPISTOL', label = TranslateCap('weapon_machinepistol'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MACHINEPISTOL_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MACHINEPISTOL_CLIP_02`}, - {name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_MACHINEPISTOL_CLIP_03`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MACHINEPISTOL_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MACHINEPISTOL_CLIP_02` }, + { name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_MACHINEPISTOL_CLIP_03` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP` } } }, { name = 'WEAPON_MG', label = TranslateCap('weapon_mg'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_MG`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_MG` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MG_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MG_CLIP_02`}, - {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL_02`}, - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_MG_VARMOD_LOWRIDER`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MG_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MG_CLIP_02` }, + { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL_02` }, + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_MG_VARMOD_LOWRIDER` } } }, { name = 'WEAPON_MICROSMG', label = TranslateCap('weapon_microsmg'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MICROSMG_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MICROSMG_CLIP_02`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH`}, - {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MACRO`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_MICROSMG_VARMOD_LUXE`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MICROSMG_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MICROSMG_CLIP_02` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_PI_FLSH` }, + { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MACRO` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_MICROSMG_VARMOD_LUXE` } } }, { name = 'WEAPON_MINISMG', label = TranslateCap('weapon_minismg'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MINISMG_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MINISMG_CLIP_02`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MINISMG_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MINISMG_CLIP_02` } } }, { name = 'WEAPON_SMG', label = TranslateCap('weapon_smg'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SMG_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SMG_CLIP_02`}, - {name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_SMG_CLIP_03`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MACRO_02`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP`}, - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SMG_VARMOD_LUXE`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SMG_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SMG_CLIP_02` }, + { name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_SMG_CLIP_03` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MACRO_02` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP` }, + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SMG_VARMOD_LUXE` } } }, { name = 'WEAPON_SMG_MK2', label = TranslateCap('weapon_smg_mk2'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG`}, - tints = Config.DefaultWeaponTints, - components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SMG_MK2_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SMG_MK2_CLIP_02`}, - {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_SMG_MK2_CLIP_TRACER`}, - {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_SMG_MK2_CLIP_INCENDIARY`}, - {name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_SMG_MK2_CLIP_HOLLOWPOINT`}, - {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_SMG_MK2_CLIP_FMJ`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS_SMG`}, - {name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_02_SMG_MK2`}, - {name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_SMALL_SMG_MK2`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP`}, - {name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01`}, - {name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02`}, - {name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03`}, - {name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04`}, - {name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05`}, - {name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06`}, - {name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07`}, - {name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_SB_BARREL_01`}, - {name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_SB_BARREL_02`}, - {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_SMG_MK2_CAMO`}, - {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_SMG_MK2_CAMO_02`}, - {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_SMG_MK2_CAMO_03`}, - {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_SMG_MK2_CAMO_04`}, - {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_SMG_MK2_CAMO_05`}, - {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_SMG_MK2_CAMO_06`}, - {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_SMG_MK2_CAMO_07`}, - {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_SMG_MK2_CAMO_08`}, - {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_SMG_MK2_CAMO_09`}, - {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_SMG_MK2_CAMO_10`}, - {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_SMG_MK2_CAMO_IND_01`} - } - }, - {name = 'WEAPON_RAYCARBINE', label = TranslateCap('weapon_raycarbine'), ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG`}, tints = Config.DefaultWeaponTints, components = {}}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG` }, + tints = Config.DefaultWeaponTints, + components = { + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SMG_MK2_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SMG_MK2_CLIP_02` }, + { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_SMG_MK2_CLIP_TRACER` }, + { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_SMG_MK2_CLIP_INCENDIARY` }, + { name = 'ammo_hollowpoint', label = TranslateCap('component_ammo_hollowpoint'), hash = `COMPONENT_SMG_MK2_CLIP_HOLLOWPOINT` }, + { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_SMG_MK2_CLIP_FMJ` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS_SMG` }, + { name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_02_SMG_MK2` }, + { name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_SMALL_SMG_MK2` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_PI_SUPP` }, + { name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01` }, + { name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02` }, + { name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03` }, + { name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04` }, + { name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05` }, + { name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06` }, + { name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07` }, + { name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_SB_BARREL_01` }, + { name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_SB_BARREL_02` }, + { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_SMG_MK2_CAMO` }, + { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_SMG_MK2_CAMO_02` }, + { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_SMG_MK2_CAMO_03` }, + { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_SMG_MK2_CAMO_04` }, + { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_SMG_MK2_CAMO_05` }, + { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_SMG_MK2_CAMO_06` }, + { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_SMG_MK2_CAMO_07` }, + { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_SMG_MK2_CAMO_08` }, + { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_SMG_MK2_CAMO_09` }, + { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_SMG_MK2_CAMO_10` }, + { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_SMG_MK2_CAMO_IND_01` } + } + }, + { name = 'WEAPON_RAYCARBINE', label = TranslateCap('weapon_raycarbine'), ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SMG` }, tints = Config.DefaultWeaponTints, components = {} }, -- Rifles { name = 'WEAPON_ADVANCEDRIFLE', label = TranslateCap('weapon_advancedrifle'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ADVANCEDRIFLE_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ADVANCEDRIFLE_CLIP_02`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`}, - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_ADVANCEDRIFLE_VARMOD_LUXE`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ADVANCEDRIFLE_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ADVANCEDRIFLE_CLIP_02` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` }, + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_ADVANCEDRIFLE_VARMOD_LUXE` } } }, { name = 'WEAPON_ASSAULTRIFLE', label = TranslateCap('weapon_assaultrifle'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ASSAULTRIFLE_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ASSAULTRIFLE_CLIP_02`}, - {name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_ASSAULTRIFLE_CLIP_03`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MACRO`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, - {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_ASSAULTRIFLE_VARMOD_LUXE`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ASSAULTRIFLE_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ASSAULTRIFLE_CLIP_02` }, + { name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_ASSAULTRIFLE_CLIP_03` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MACRO` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` }, + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_ASSAULTRIFLE_VARMOD_LUXE` } } }, { name = 'WEAPON_ASSAULTRIFLE_MK2', label = TranslateCap('weapon_assaultrifle_mk2'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, - tints = Config.DefaultWeaponTints, - components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_02`}, - {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_TRACER`}, - {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_INCENDIARY`}, - {name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_ARMORPIERCING`}, - {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_FMJ`}, - {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS`}, - {name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2`}, - {name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, - {name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01`}, - {name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02`}, - {name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03`}, - {name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04`}, - {name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05`}, - {name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06`}, - {name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07`}, - {name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_AR_BARREL_01`}, - {name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_AR_BARREL_02`}, - {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO`}, - {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_02`}, - {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_03`}, - {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_04`}, - {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_05`}, - {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_06`}, - {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_07`}, - {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_08`}, - {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_09`}, - {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_10`}, - {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_IND_01`} + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, + tints = Config.DefaultWeaponTints, + components = { + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_02` }, + { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_TRACER` }, + { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_INCENDIARY` }, + { name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_ARMORPIERCING` }, + { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_FMJ` }, + { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS` }, + { name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2` }, + { name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01` }, + { name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02` }, + { name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03` }, + { name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04` }, + { name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05` }, + { name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06` }, + { name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07` }, + { name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_AR_BARREL_01` }, + { name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_AR_BARREL_02` }, + { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO` }, + { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_02` }, + { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_03` }, + { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_04` }, + { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_05` }, + { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_06` }, + { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_07` }, + { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_08` }, + { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_09` }, + { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_10` }, + { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_IND_01` } } }, { name = 'WEAPON_BULLPUPRIFLE', label = TranslateCap('weapon_bullpuprifle'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_BULLPUPRIFLE_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_BULLPUPRIFLE_CLIP_02`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`}, - {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_BULLPUPRIFLE_VARMOD_LOW`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_BULLPUPRIFLE_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_BULLPUPRIFLE_CLIP_02` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` }, + { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` }, + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_BULLPUPRIFLE_VARMOD_LOW` } } }, { name = 'WEAPON_BULLPUPRIFLE_MK2', label = TranslateCap('weapon_bullpuprifle_mk2'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, - tints = Config.DefaultWeaponTints, - components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_02`}, - {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_TRACER`}, - {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_INCENDIARY`}, - {name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_ARMORPIERCING`}, - {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_FMJ`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS`}, - {name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_02_MK2`}, - {name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_SMALL_MK2`}, - {name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_BP_BARREL_01`}, - {name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_BP_BARREL_02`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`}, - {name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01`}, - {name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02`}, - {name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03`}, - {name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04`}, - {name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05`}, - {name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06`}, - {name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07`}, - {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02`}, - {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO`}, - {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_02`}, - {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_03`}, - {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_04`}, - {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_05`}, - {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_06`}, - {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_07`}, - {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_08`}, - {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_09`}, - {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_10`}, - {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_IND_01`} + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, + tints = Config.DefaultWeaponTints, + components = { + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_02` }, + { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_TRACER` }, + { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_INCENDIARY` }, + { name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_ARMORPIERCING` }, + { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_FMJ` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS` }, + { name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_02_MK2` }, + { name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_SMALL_MK2` }, + { name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_BP_BARREL_01` }, + { name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_BP_BARREL_02` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` }, + { name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01` }, + { name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02` }, + { name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03` }, + { name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04` }, + { name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05` }, + { name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06` }, + { name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07` }, + { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02` }, + { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO` }, + { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_02` }, + { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_03` }, + { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_04` }, + { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_05` }, + { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_06` }, + { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_07` }, + { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_08` }, + { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_09` }, + { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_10` }, + { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_IND_01` } } }, { name = 'WEAPON_CARBINERIFLE', label = TranslateCap('weapon_carbinerifle'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_CARBINERIFLE_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_CARBINERIFLE_CLIP_02`}, - {name = 'clip_box', label = TranslateCap('component_clip_box'), hash = `COMPONENT_CARBINERIFLE_CLIP_03`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MEDIUM`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`}, - {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_CARBINERIFLE_VARMOD_LUXE`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_CARBINERIFLE_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_CARBINERIFLE_CLIP_02` }, + { name = 'clip_box', label = TranslateCap('component_clip_box'), hash = `COMPONENT_CARBINERIFLE_CLIP_03` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MEDIUM` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` }, + { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` }, + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_CARBINERIFLE_VARMOD_LUXE` } } }, { name = 'WEAPON_CARBINERIFLE_MK2', label = TranslateCap('weapon_carbinerifle_mk2'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, - tints = Config.DefaultWeaponTints, - components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_02`}, - {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_TRACER`}, - {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_INCENDIARY`}, - {name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_ARMORPIERCING`}, - {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_FMJ`}, - {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS`}, - {name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2`}, - {name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`}, - {name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01`}, - {name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02`}, - {name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03`}, - {name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04`}, - {name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05`}, - {name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06`}, - {name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07`}, - {name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_CR_BARREL_01`}, - {name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_CR_BARREL_02`}, - {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO`}, - {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_02`}, - {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_03`}, - {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_04`}, - {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_05`}, - {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_06`}, - {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_07`}, - {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_08`}, - {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_09`}, - {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_10`}, - {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_IND_01`} + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, + tints = Config.DefaultWeaponTints, + components = { + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_02` }, + { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_TRACER` }, + { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_INCENDIARY` }, + { name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_ARMORPIERCING` }, + { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_FMJ` }, + { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS` }, + { name = 'scope_medium', label = TranslateCap('component_scope_medium'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2` }, + { name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` }, + { name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01` }, + { name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02` }, + { name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03` }, + { name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04` }, + { name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05` }, + { name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06` }, + { name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07` }, + { name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_CR_BARREL_01` }, + { name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_CR_BARREL_02` }, + { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO` }, + { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_02` }, + { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_03` }, + { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_04` }, + { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_05` }, + { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_06` }, + { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_07` }, + { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_08` }, + { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_09` }, + { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_10` }, + { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_IND_01` } } }, { name = 'WEAPON_COMPACTRIFLE', label = TranslateCap('weapon_compactrifle'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMPACTRIFLE_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMPACTRIFLE_CLIP_02`}, - {name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_COMPACTRIFLE_CLIP_03`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_COMPACTRIFLE_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_COMPACTRIFLE_CLIP_02` }, + { name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_COMPACTRIFLE_CLIP_03` } } }, { name = 'WEAPON_MILITARYRIFLE', label = TranslateCap('weapon_militaryrifle'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MILITARYRIFLE_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MILITARYRIFLE_CLIP_02`}, - {name = 'ironsights', label = TranslateCap('component_ironsights'), hash = `COMPONENT_MILITARYRIFLE_SIGHT_01`}, - {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MILITARYRIFLE_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MILITARYRIFLE_CLIP_02` }, + { name = 'ironsights', label = TranslateCap('component_ironsights'), hash = `COMPONENT_MILITARYRIFLE_SIGHT_01` }, + { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_SMALL` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` } } }, { name = 'WEAPON_SPECIALCARBINE', label = TranslateCap('weapon_specialcarbine'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SPECIALCARBINE_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SPECIALCARBINE_CLIP_02`}, - {name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_SPECIALCARBINE_CLIP_03`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MEDIUM`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, - {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SPECIALCARBINE_VARMOD_LOWRIDER`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SPECIALCARBINE_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SPECIALCARBINE_CLIP_02` }, + { name = 'clip_drum', label = TranslateCap('component_clip_drum'), hash = `COMPONENT_SPECIALCARBINE_CLIP_03` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MEDIUM` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` }, + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SPECIALCARBINE_VARMOD_LOWRIDER` } } }, { name = 'WEAPON_SPECIALCARBINE_MK2', label = TranslateCap('weapon_specialcarbine_mk2'), + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, + tints = Config.DefaultWeaponTints, + components = { + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_02` }, + { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_TRACER` }, + { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_INCENDIARY` }, + { name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_ARMORPIERCING` }, + { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_FMJ` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS` }, + { name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2` }, + { name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01` }, + { name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02` }, + { name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03` }, + { name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04` }, + { name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05` }, + { name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06` }, + { name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07` }, + { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02` }, + { name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_SC_BARREL_01` }, + { name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_SC_BARREL_02` }, + { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO` }, + { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_02` }, + { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_03` }, + { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_04` }, + { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_05` }, + { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_06` }, + { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_07` }, + { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_08` }, + { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_09` }, + { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_10` }, + { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_IND_01` } + } + }, + { + name = 'WEAPON_HEAVYRIFLE', + label = TranslateCap('weapon_heavyrifle'), ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`}, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_02`}, - {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_TRACER`}, - {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_INCENDIARY`}, - {name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_ARMORPIERCING`}, - {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_FMJ`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS`}, - {name = 'scope_small', label = TranslateCap('component_scope_small'), hash = `COMPONENT_AT_SCOPE_MACRO_MK2`}, - {name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, - {name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01`}, - {name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02`}, - {name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03`}, - {name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04`}, - {name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05`}, - {name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06`}, - {name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07`}, - {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02`}, - {name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_SC_BARREL_01`}, - {name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_SC_BARREL_02`}, - {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO`}, - {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_02`}, - {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_03`}, - {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_04`}, - {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_05`}, - {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_06`}, - {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_07`}, - {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_08`}, - {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_09`}, - {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_10`}, - {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_IND_01`} + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_HEAVYRIFLE_CLIP_01`}, + {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_HEAVYRIFLE_CLIP_02`}, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH_REH`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`} } }, -- Sniper { name = 'WEAPON_HEAVYSNIPER', label = TranslateCap('weapon_heavysniper'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER` }, tints = Config.DefaultWeaponTints, components = { - {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_LARGE`}, - {name = 'scope_advanced', label = TranslateCap('component_scope_advanced'), hash = `COMPONENT_AT_SCOPE_MAX`} + { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_LARGE` }, + { name = 'scope_advanced', label = TranslateCap('component_scope_advanced'), hash = `COMPONENT_AT_SCOPE_MAX` } } }, { name = 'WEAPON_HEAVYSNIPER_MK2', label = TranslateCap('weapon_heavysniper_mk2'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER`}, - tints = Config.DefaultWeaponTints, - components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_02`}, - {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_INCENDIARY`}, - {name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_ARMORPIERCING`}, - {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_FMJ`}, - {name = 'ammo_explosive', label = TranslateCap('component_ammo_explosive'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_EXPLOSIVE`}, - {name = 'scope_zoom', label = TranslateCap('component_scope_zoom'), hash = `COMPONENT_AT_SCOPE_LARGE_MK2`}, - {name = 'scope_advanced', label = TranslateCap('component_scope_advanced'), hash = `COMPONENT_AT_SCOPE_MAX`}, - {name = 'scope_nightvision', label = TranslateCap('component_scope_nightvision'), hash = `COMPONENT_AT_SCOPE_NV`}, - {name = 'scope_thermal', label = TranslateCap('component_scope_thermal'), hash = `COMPONENT_AT_SCOPE_THERMAL`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_SR_SUPP_03`}, - {name = 'muzzle_squared', label = TranslateCap('component_muzzle_squared'), hash = `COMPONENT_AT_MUZZLE_08`}, - {name = 'muzzle_bell', label = TranslateCap('component_muzzle_bell'), hash = `COMPONENT_AT_MUZZLE_09`}, - {name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_SR_BARREL_01`}, - {name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_SR_BARREL_02`}, - {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO`}, - {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_02`}, - {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_03`}, - {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_04`}, - {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_05`}, - {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_06`}, - {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_07`}, - {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_08`}, - {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_09`}, - {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_10`}, - {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_IND_01`} + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER` }, + tints = Config.DefaultWeaponTints, + components = { + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_02` }, + { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_INCENDIARY` }, + { name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_ARMORPIERCING` }, + { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_FMJ` }, + { name = 'ammo_explosive', label = TranslateCap('component_ammo_explosive'), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_EXPLOSIVE` }, + { name = 'scope_zoom', label = TranslateCap('component_scope_zoom'), hash = `COMPONENT_AT_SCOPE_LARGE_MK2` }, + { name = 'scope_advanced', label = TranslateCap('component_scope_advanced'), hash = `COMPONENT_AT_SCOPE_MAX` }, + { name = 'scope_nightvision', label = TranslateCap('component_scope_nightvision'), hash = `COMPONENT_AT_SCOPE_NV` }, + { name = 'scope_thermal', label = TranslateCap('component_scope_thermal'), hash = `COMPONENT_AT_SCOPE_THERMAL` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_SR_SUPP_03` }, + { name = 'muzzle_squared', label = TranslateCap('component_muzzle_squared'), hash = `COMPONENT_AT_MUZZLE_08` }, + { name = 'muzzle_bell', label = TranslateCap('component_muzzle_bell'), hash = `COMPONENT_AT_MUZZLE_09` }, + { name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_SR_BARREL_01` }, + { name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_SR_BARREL_02` }, + { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO` }, + { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_02` }, + { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_03` }, + { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_04` }, + { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_05` }, + { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_06` }, + { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_07` }, + { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_08` }, + { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_09` }, + { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_10` }, + { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_IND_01` } } }, { name = 'WEAPON_MARKSMANRIFLE', label = TranslateCap('weapon_marksmanrifle'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER` }, tints = Config.DefaultWeaponTints, components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MARKSMANRIFLE_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MARKSMANRIFLE_CLIP_02`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_LARGE_FIXED_ZOOM`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`}, - {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_MARKSMANRIFLE_VARMOD_LUXE`} + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MARKSMANRIFLE_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MARKSMANRIFLE_CLIP_02` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_LARGE_FIXED_ZOOM` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` }, + { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` }, + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_MARKSMANRIFLE_VARMOD_LUXE` } } }, { name = 'WEAPON_MARKSMANRIFLE_MK2', label = TranslateCap('weapon_marksmanrifle_mk2'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER`}, - tints = Config.DefaultWeaponTints, - components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_02`}, - {name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_TRACER`}, - {name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_INCENDIARY`}, - {name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_ARMORPIERCING`}, - {name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_FMJ`}, - {name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS`}, - {name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2`}, - {name = 'scope_zoom', label = TranslateCap('component_scope_zoom'), hash = `COMPONENT_AT_SCOPE_LARGE_FIXED_ZOOM_MK2`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`}, - {name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01`}, - {name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02`}, - {name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03`}, - {name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04`}, - {name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05`}, - {name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06`}, - {name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07`}, - {name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_MRFL_BARREL_01`}, - {name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_MRFL_BARREL_02`}, - {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02`}, - {name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO`}, - {name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_02`}, - {name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_03`}, - {name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_04`}, - {name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_05`}, - {name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_06`}, - {name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_07`}, - {name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_08`}, - {name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_09`}, - {name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_10`}, - {name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_IND_01`} + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER` }, + tints = Config.DefaultWeaponTints, + components = { + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_02` }, + { name = 'ammo_tracer', label = TranslateCap('component_ammo_tracer'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_TRACER` }, + { name = 'ammo_incendiary', label = TranslateCap('component_ammo_incendiary'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_INCENDIARY` }, + { name = 'ammo_armor', label = TranslateCap('component_ammo_armor'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_ARMORPIERCING` }, + { name = 'ammo_fmj', label = TranslateCap('component_ammo_fmj'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_FMJ` }, + { name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_AT_SIGHTS` }, + { name = 'scope_large', label = TranslateCap('component_scope_large'), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2` }, + { name = 'scope_zoom', label = TranslateCap('component_scope_zoom'), hash = `COMPONENT_AT_SCOPE_LARGE_FIXED_ZOOM_MK2` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP` }, + { name = 'muzzle_flat', label = TranslateCap('component_muzzle_flat'), hash = `COMPONENT_AT_MUZZLE_01` }, + { name = 'muzzle_tactical', label = TranslateCap('component_muzzle_tactical'), hash = `COMPONENT_AT_MUZZLE_02` }, + { name = 'muzzle_fat', label = TranslateCap('component_muzzle_fat'), hash = `COMPONENT_AT_MUZZLE_03` }, + { name = 'muzzle_precision', label = TranslateCap('component_muzzle_precision'), hash = `COMPONENT_AT_MUZZLE_04` }, + { name = 'muzzle_heavy', label = TranslateCap('component_muzzle_heavy'), hash = `COMPONENT_AT_MUZZLE_05` }, + { name = 'muzzle_slanted', label = TranslateCap('component_muzzle_slanted'), hash = `COMPONENT_AT_MUZZLE_06` }, + { name = 'muzzle_split', label = TranslateCap('component_muzzle_split'), hash = `COMPONENT_AT_MUZZLE_07` }, + { name = 'barrel_default', label = TranslateCap('component_barrel_default'), hash = `COMPONENT_AT_MRFL_BARREL_01` }, + { name = 'barrel_heavy', label = TranslateCap('component_barrel_heavy'), hash = `COMPONENT_AT_MRFL_BARREL_02` }, + { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP_02` }, + { name = 'camo_finish', label = TranslateCap('component_camo_finish'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO` }, + { name = 'camo_finish2', label = TranslateCap('component_camo_finish2'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_02` }, + { name = 'camo_finish3', label = TranslateCap('component_camo_finish3'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_03` }, + { name = 'camo_finish4', label = TranslateCap('component_camo_finish4'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_04` }, + { name = 'camo_finish5', label = TranslateCap('component_camo_finish5'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_05` }, + { name = 'camo_finish6', label = TranslateCap('component_camo_finish6'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_06` }, + { name = 'camo_finish7', label = TranslateCap('component_camo_finish7'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_07` }, + { name = 'camo_finish8', label = TranslateCap('component_camo_finish8'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_08` }, + { name = 'camo_finish9', label = TranslateCap('component_camo_finish9'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_09` }, + { name = 'camo_finish10', label = TranslateCap('component_camo_finish10'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_10` }, + { name = 'camo_finish11', label = TranslateCap('component_camo_finish11'), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_IND_01` } } }, { name = 'WEAPON_SNIPERRIFLE', label = TranslateCap('weapon_sniperrifle'), - ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER`}, + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER` }, tints = Config.DefaultWeaponTints, components = { - {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_LARGE`}, - {name = 'scope_advanced', label = TranslateCap('component_scope_advanced'), hash = `COMPONENT_AT_SCOPE_MAX`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`}, - {name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SNIPERRIFLE_VARMOD_LUXE`} + { name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_LARGE` }, + { name = 'scope_advanced', label = TranslateCap('component_scope_advanced'), hash = `COMPONENT_AT_SCOPE_MAX` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SNIPERRIFLE_VARMOD_LUXE` } } }, -- Heavy / Launchers - {name = 'WEAPON_COMPACTLAUNCHER', label = TranslateCap('weapon_compactlauncher'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_grenadelauncher'), hash = `AMMO_GRENADELAUNCHER`}}, - {name = 'WEAPON_FIREWORK', label = TranslateCap('weapon_firework'), components = {}, ammo = {label = TranslateCap('ammo_firework'), hash = `AMMO_FIREWORK`}}, - {name = 'WEAPON_GRENADELAUNCHER', label = TranslateCap('weapon_grenadelauncher'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_grenadelauncher'), hash = `AMMO_GRENADELAUNCHER`}}, - {name = 'WEAPON_HOMINGLAUNCHER', label = TranslateCap('weapon_hominglauncher'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rockets'), hash = `AMMO_HOMINGLAUNCHER`}}, - {name = 'WEAPON_MINIGUN', label = TranslateCap('weapon_minigun'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_MINIGUN`}}, - {name = 'WEAPON_RAILGUN', label = TranslateCap('weapon_railgun'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RAILGUN`}}, - {name = 'WEAPON_RPG', label = TranslateCap('weapon_rpg'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rockets'), hash = `AMMO_RPG`}}, - {name = 'WEAPON_RAYMINIGUN', label = TranslateCap('weapon_rayminigun'), tints = Config.DefaultWeaponTints, components = {}, ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_MINIGUN`}}, + { name = 'WEAPON_COMPACTLAUNCHER', label = TranslateCap('weapon_compactlauncher'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_grenadelauncher'), hash = `AMMO_GRENADELAUNCHER` } }, + { name = 'WEAPON_FIREWORK', label = TranslateCap('weapon_firework'), components = {}, ammo = { label = TranslateCap('ammo_firework'), hash = `AMMO_FIREWORK` } }, + { name = 'WEAPON_GRENADELAUNCHER', label = TranslateCap('weapon_grenadelauncher'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_grenadelauncher'), hash = `AMMO_GRENADELAUNCHER` } }, + { name = 'WEAPON_HOMINGLAUNCHER', label = TranslateCap('weapon_hominglauncher'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rockets'), hash = `AMMO_HOMINGLAUNCHER` } }, + { name = 'WEAPON_MINIGUN', label = TranslateCap('weapon_minigun'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_MINIGUN` } }, + { name = 'WEAPON_RAILGUN', label = TranslateCap('weapon_railgun'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RAILGUN` } }, + { name = 'WEAPON_RPG', label = TranslateCap('weapon_rpg'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rockets'), hash = `AMMO_RPG` } }, + { name = 'WEAPON_RAYMINIGUN', label = TranslateCap('weapon_rayminigun'), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_MINIGUN` } }, -- Thrown - {name = 'WEAPON_BALL', label = TranslateCap('weapon_ball'), components = {}, ammo = {label = TranslateCap('ammo_ball'), hash = `AMMO_BALL`}}, - {name = 'WEAPON_BZGAS', label = TranslateCap('weapon_bzgas'), components = {}, ammo = {label = TranslateCap('ammo_bzgas'), hash = `AMMO_BZGAS`}}, - {name = 'WEAPON_FLARE', label = TranslateCap('weapon_flare'), components = {}, ammo = {label = TranslateCap('ammo_flare'), hash = `AMMO_FLARE`}}, - {name = 'WEAPON_GRENADE', label = TranslateCap('weapon_grenade'), components = {}, ammo = {label = TranslateCap('ammo_grenade'), hash = `AMMO_GRENADE`}}, - {name = 'WEAPON_PETROLCAN', label = TranslateCap('weapon_petrolcan'), components = {}, ammo = {label = TranslateCap('ammo_petrol'), hash = `AMMO_PETROLCAN`}}, - {name = 'WEAPON_HAZARDCAN', label = TranslateCap('weapon_hazardcan'), components = {}, ammo = {label = TranslateCap('ammo_petrol'), hash = `AMMO_PETROLCAN`}}, - {name = 'WEAPON_MOLOTOV', label = TranslateCap('weapon_molotov'), components = {}, ammo = {label = TranslateCap('ammo_molotov'), hash = `AMMO_MOLOTOV`}}, - {name = 'WEAPON_PROXMINE', label = TranslateCap('weapon_proxmine'), components = {}, ammo = {label = TranslateCap('ammo_proxmine'), hash = `AMMO_PROXMINE`}}, - {name = 'WEAPON_PIPEBOMB', label = TranslateCap('weapon_pipebomb'), components = {}, ammo = {label = TranslateCap('ammo_pipebomb'), hash = `AMMO_PIPEBOMB`}}, - {name = 'WEAPON_SNOWBALL', label = TranslateCap('weapon_snowball'), components = {}, ammo = {label = TranslateCap('ammo_snowball'), hash = `AMMO_SNOWBALL`}}, - {name = 'WEAPON_STICKYBOMB', label = TranslateCap('weapon_stickybomb'), components = {}, ammo = {label = TranslateCap('ammo_stickybomb'), hash = `AMMO_STICKYBOMB`}}, - {name = 'WEAPON_SMOKEGRENADE', label = TranslateCap('weapon_smokegrenade'), components = {}, ammo = {label = TranslateCap('ammo_smokebomb'), hash = `AMMO_SMOKEGRENADE`}}, + { name = 'WEAPON_BALL', label = TranslateCap('weapon_ball'), components = {}, ammo = { label = TranslateCap('ammo_ball'), hash = `AMMO_BALL` } }, + { name = 'WEAPON_BZGAS', label = TranslateCap('weapon_bzgas'), components = {}, ammo = { label = TranslateCap('ammo_bzgas'), hash = `AMMO_BZGAS` } }, + { name = 'WEAPON_FLARE', label = TranslateCap('weapon_flare'), components = {}, ammo = { label = TranslateCap('ammo_flare'), hash = `AMMO_FLARE` } }, + { name = 'WEAPON_GRENADE', label = TranslateCap('weapon_grenade'), components = {}, ammo = { label = TranslateCap('ammo_grenade'), hash = `AMMO_GRENADE` } }, + { name = 'WEAPON_PETROLCAN', label = TranslateCap('weapon_petrolcan'), components = {}, ammo = { label = TranslateCap('ammo_petrol'), hash = `AMMO_PETROLCAN` } }, + { name = 'WEAPON_HAZARDCAN', label = TranslateCap('weapon_hazardcan'), components = {}, ammo = { label = TranslateCap('ammo_petrol'), hash = `AMMO_PETROLCAN` } }, + { name = 'WEAPON_MOLOTOV', label = TranslateCap('weapon_molotov'), components = {}, ammo = { label = TranslateCap('ammo_molotov'), hash = `AMMO_MOLOTOV` } }, + { name = 'WEAPON_PROXMINE', label = TranslateCap('weapon_proxmine'), components = {}, ammo = { label = TranslateCap('ammo_proxmine'), hash = `AMMO_PROXMINE` } }, + { name = 'WEAPON_PIPEBOMB', label = TranslateCap('weapon_pipebomb'), components = {}, ammo = { label = TranslateCap('ammo_pipebomb'), hash = `AMMO_PIPEBOMB` } }, + { name = 'WEAPON_SNOWBALL', label = TranslateCap('weapon_snowball'), components = {}, ammo = { label = TranslateCap('ammo_snowball'), hash = `AMMO_SNOWBALL` } }, + { name = 'WEAPON_STICKYBOMB', label = TranslateCap('weapon_stickybomb'), components = {}, ammo = { label = TranslateCap('ammo_stickybomb'), hash = `AMMO_STICKYBOMB` } }, + { name = 'WEAPON_SMOKEGRENADE', label = TranslateCap('weapon_smokegrenade'), components = {}, ammo = { label = TranslateCap('ammo_smokebomb'), hash = `AMMO_SMOKEGRENADE` } }, -- Tools - {name = 'WEAPON_FIREEXTINGUISHER', label = TranslateCap('weapon_fireextinguisher'), components = {}, ammo = {label = TranslateCap('ammo_charge'), hash = `AMMO_FIREEXTINGUISHER`}}, - {name = 'WEAPON_DIGISCANNER', label = TranslateCap('weapon_digiscanner'), components = {}}, - {name = 'GADGET_PARACHUTE', label = TranslateCap('gadget_parachute'), components = {}}, - {name = 'WEAPON_TACTICALRIFLE',label = TranslateCap('weapon_tactilerifle'),ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`},tints = Config.DefaultWeaponTints, - components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_TACTICALRIFLE_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_TACTICALRIFLE_CLIP_02`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH_REH`}, - {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`} - } - }, - {name = 'WEAPON_HEAVYRIFLE',label = TranslateCap('weapon_heavyrifle'),ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE`},tints = Config.DefaultWeaponTints, - components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_HEAVYRIFLE_CLIP_01`}, - {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_HEAVYRIFLE_CLIP_02`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH_REH`}, - {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`} - } - }, - {name = 'WEAPON_PRECISIONRIFLE', label = TranslateCap('weapon_precisionrifle'), ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER`}, tints = Config.DefaultWeaponTints, - components = { - {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_PRECISIONRIFLE_CLIP_01`}, - } + { name = 'WEAPON_FIREEXTINGUISHER', label = TranslateCap('weapon_fireextinguisher'), components = {}, ammo = { label = TranslateCap('ammo_charge'), hash = `AMMO_FIREEXTINGUISHER` } }, + { name = 'WEAPON_DIGISCANNER', label = TranslateCap('weapon_digiscanner'), components = {} }, + { name = 'GADGET_PARACHUTE', label = TranslateCap('gadget_parachute'), components = {} }, + { + name = 'WEAPON_TACTICALRIFLE', + label = TranslateCap('weapon_tactilerifle'), + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_RIFLE` }, + tints = Config.DefaultWeaponTints, + components = { + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_TACTICALRIFLE_CLIP_01` }, + { name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_TACTICALRIFLE_CLIP_02` }, + { name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH_REH` }, + { name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP` }, + { name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02` } + } + }, + { + name = 'WEAPON_PRECISIONRIFLE', + label = TranslateCap('weapon_precisionrifle'), + ammo = { label = TranslateCap('ammo_rounds'), hash = `AMMO_SNIPER` }, + tints = Config.DefaultWeaponTints, + components = { + { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_PRECISIONRIFLE_CLIP_01` }, + } }, { name = 'WEAPON_METALDETECTOR', label = TranslateCap('weapon_metaldetector'), components = {} }, { @@ -1006,5 +1018,5 @@ Config.Weapons = { components = { { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_RAILGUNXM3_CLIP_01` }, }, - } + }, } From a4c276af507a4249915b8cc94b86e381f0c6233c Mon Sep 17 00:00:00 2001 From: TheFantomas <117121911+TheFantomas@users.noreply.github.com> Date: Sun, 16 Jul 2023 14:46:56 +0200 Subject: [PATCH 035/148] feat(es_extended/locales): Add locale for weapon_heavyrifle --- [core]/es_extended/locales/cs.lua | 1 + [core]/es_extended/locales/da.lua | 1 + [core]/es_extended/locales/de.lua | 1 + [core]/es_extended/locales/en.lua | 1 + [core]/es_extended/locales/es.lua | 1 + [core]/es_extended/locales/fi.lua | 1 + [core]/es_extended/locales/fr.lua | 1 + [core]/es_extended/locales/hu.lua | 1 + [core]/es_extended/locales/it.lua | 1 + [core]/es_extended/locales/nl.lua | 1 + [core]/es_extended/locales/pl.lua | 1 + [core]/es_extended/locales/sl.lua | 1 + [core]/es_extended/locales/sr.lua | 1 + [core]/es_extended/locales/zh-cn.lua | 1 + 14 files changed, 14 insertions(+) diff --git a/[core]/es_extended/locales/cs.lua b/[core]/es_extended/locales/cs.lua index 71bd3ea53..4a7a224f6 100644 --- a/[core]/es_extended/locales/cs.lua +++ b/[core]/es_extended/locales/cs.lua @@ -194,6 +194,7 @@ Locales["cs"] = { ["weapon_militaryrifle"] = "Military Rifle", ["weapon_specialcarbine"] = "Special Carbine", ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated -- Sniper ["weapon_heavysniper"] = "Heavy Sniper", diff --git a/[core]/es_extended/locales/da.lua b/[core]/es_extended/locales/da.lua index 518778bf9..0f7003235 100644 --- a/[core]/es_extended/locales/da.lua +++ b/[core]/es_extended/locales/da.lua @@ -200,6 +200,7 @@ Locales["da"] = { ["weapon_militaryrifle"] = "Militær riffel", ["weapon_specialcarbine"] = "Special Carbine", ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated -- Sniper ["weapon_heavysniper"] = "Tung snigskytte", diff --git a/[core]/es_extended/locales/de.lua b/[core]/es_extended/locales/de.lua index 285fe595c..97d511b20 100644 --- a/[core]/es_extended/locales/de.lua +++ b/[core]/es_extended/locales/de.lua @@ -200,6 +200,7 @@ Locales["de"] = { ["weapon_militaryrifle"] = "Militärgewehr", ["weapon_specialcarbine"] = "Spezialkarabiner", ["weapon_specialcarbine_mk2"] = "Spezialkarabiner MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated -- Sniper ["weapon_heavysniper"] = "Schwere Sniper", diff --git a/[core]/es_extended/locales/en.lua b/[core]/es_extended/locales/en.lua index 136819f5c..edae8952e 100644 --- a/[core]/es_extended/locales/en.lua +++ b/[core]/es_extended/locales/en.lua @@ -204,6 +204,7 @@ Locales["en"] = { ["weapon_militaryrifle"] = "Military Rifle", ["weapon_specialcarbine"] = "Special Carbine", ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Sniper ["weapon_heavysniper"] = "Heavy Sniper", diff --git a/[core]/es_extended/locales/es.lua b/[core]/es_extended/locales/es.lua index 45bfb1d98..d72ab4f8d 100644 --- a/[core]/es_extended/locales/es.lua +++ b/[core]/es_extended/locales/es.lua @@ -200,6 +200,7 @@ Locales["es"] = { ["weapon_militaryrifle"] = "Rifle Militar", ["weapon_specialcarbine"] = "Carabina Especial", ["weapon_specialcarbine_mk2"] = "Carabina Especial MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated -- Sniper ["weapon_heavysniper"] = "Francotirador Pesado", diff --git a/[core]/es_extended/locales/fi.lua b/[core]/es_extended/locales/fi.lua index 9eff6471c..89a47ad5b 100644 --- a/[core]/es_extended/locales/fi.lua +++ b/[core]/es_extended/locales/fi.lua @@ -190,6 +190,7 @@ Locales["fi"] = { ["gadget_parachute"] = "Laskuvarjo", ["weapon_flare"] = "Hätäraketti", ["weapon_doubleaction"] = "Double action revolveri", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated -- Weapon Components ["component_clip_default"] = "Oletus lipas", diff --git a/[core]/es_extended/locales/fr.lua b/[core]/es_extended/locales/fr.lua index bc5289d52..71f1e8991 100644 --- a/[core]/es_extended/locales/fr.lua +++ b/[core]/es_extended/locales/fr.lua @@ -203,6 +203,7 @@ Locales["fr"] = { ["weapon_militaryrifle"] = "Fusil militaire", ["weapon_specialcarbine"] = "Carabine spéciale", ["weapon_specialcarbine_mk2"] = "Carabine spéciale MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated -- Sniper ["weapon_heavysniper"] = "Sniper lourd", diff --git a/[core]/es_extended/locales/hu.lua b/[core]/es_extended/locales/hu.lua index b5336610f..108b0f424 100644 --- a/[core]/es_extended/locales/hu.lua +++ b/[core]/es_extended/locales/hu.lua @@ -200,6 +200,7 @@ Locales["hu"] = { ["weapon_militaryrifle"] = "Military Rifle", ["weapon_specialcarbine"] = "Special Carbine", ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated -- Sniper ["weapon_heavysniper"] = "Heavy Sniper", diff --git a/[core]/es_extended/locales/it.lua b/[core]/es_extended/locales/it.lua index 67b59bb74..cccf5ecba 100644 --- a/[core]/es_extended/locales/it.lua +++ b/[core]/es_extended/locales/it.lua @@ -200,6 +200,7 @@ Locales["it"] = { ["weapon_militaryrifle"] = "Fucile militare", ["weapon_specialcarbine"] = "Carabina speciale", ["weapon_specialcarbine_mk2"] = "Carabina speciale MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated -- Sniper ["weapon_heavysniper"] = "Cecchino pesante", diff --git a/[core]/es_extended/locales/nl.lua b/[core]/es_extended/locales/nl.lua index af4b920f3..92be5425a 100644 --- a/[core]/es_extended/locales/nl.lua +++ b/[core]/es_extended/locales/nl.lua @@ -200,6 +200,7 @@ Locales["nl"] = { ["weapon_militaryrifle"] = "Militair geweer", ["weapon_specialcarbine"] = "Speciale karabijn", ["weapon_specialcarbine_mk2"] = "Speciale karabijn MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated -- Sniper ["weapon_heavysniper"] = "Zware sluipschutter", diff --git a/[core]/es_extended/locales/pl.lua b/[core]/es_extended/locales/pl.lua index dbea4a260..c23791153 100644 --- a/[core]/es_extended/locales/pl.lua +++ b/[core]/es_extended/locales/pl.lua @@ -183,6 +183,7 @@ Locales["pl"] = { ["gadget_parachute"] = "spadochron", ["weapon_flare"] = "pistolet sygnałowy", ["weapon_doubleaction"] = "double-Action Revolver", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated -- Weapon Components ["component_clip_default"] = "domyślny tłumik", diff --git a/[core]/es_extended/locales/sl.lua b/[core]/es_extended/locales/sl.lua index 0e5de6125..4accdb0cd 100644 --- a/[core]/es_extended/locales/sl.lua +++ b/[core]/es_extended/locales/sl.lua @@ -200,6 +200,7 @@ Locales["sl"] = { ["weapon_militaryrifle"] = "Military Rifle", ["weapon_specialcarbine"] = "Special Carbine", ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated -- Sniper ["weapon_heavysniper"] = "Heavy Sniper", diff --git a/[core]/es_extended/locales/sr.lua b/[core]/es_extended/locales/sr.lua index 5a5e8b392..851be6d77 100644 --- a/[core]/es_extended/locales/sr.lua +++ b/[core]/es_extended/locales/sr.lua @@ -200,6 +200,7 @@ Locales["sr"] = { ["weapon_militaryrifle"] = "Military Rifle", ["weapon_specialcarbine"] = "Special Carbine", ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated -- Sniper ["weapon_heavysniper"] = "Heavy Sniper", diff --git a/[core]/es_extended/locales/zh-cn.lua b/[core]/es_extended/locales/zh-cn.lua index e75009812..abd04e942 100644 --- a/[core]/es_extended/locales/zh-cn.lua +++ b/[core]/es_extended/locales/zh-cn.lua @@ -200,6 +200,7 @@ Locales["zh-cn"] = { ["weapon_militaryrifle"] = "军用步枪", ["weapon_specialcarbine"] = "特制卡宾步枪", ["weapon_specialcarbine_mk2"] = "特制卡宾步枪-MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated -- Sniper ["weapon_heavysniper"] = "重型狙击步枪", From c4a82b464e3aed16b40bc3b3b41fd5d0119f59df Mon Sep 17 00:00:00 2001 From: TheFantomas <117121911+TheFantomas@users.noreply.github.com> Date: Sun, 16 Jul 2023 15:05:01 +0200 Subject: [PATCH 036/148] refactor(es_extended/config.weapons.lua): Fix and add all heavyrifle components --- [core]/es_extended/config.weapons.lua | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/[core]/es_extended/config.weapons.lua b/[core]/es_extended/config.weapons.lua index dad0baf49..89723d5c1 100644 --- a/[core]/es_extended/config.weapons.lua +++ b/[core]/es_extended/config.weapons.lua @@ -832,9 +832,11 @@ Config.Weapons = { components = { {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_HEAVYRIFLE_CLIP_01`}, {name = 'clip_extended', label = TranslateCap('component_clip_extended'), hash = `COMPONENT_HEAVYRIFLE_CLIP_02`}, - {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH_REH`}, - {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, - {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`} + {name = 'scope_holo', label = TranslateCap('component_scope_holo'), hash = `COMPONENT_HEAVYRIFLE_SIGHT_01` }, + {name = 'scope', label = TranslateCap('component_scope'), hash = `COMPONENT_AT_SCOPE_MEDIUM` }, + {name = 'flashlight', label = TranslateCap('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP`}, + {name = 'grip', label = TranslateCap('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`} } }, -- Sniper @@ -1019,4 +1021,4 @@ Config.Weapons = { { name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_RAILGUNXM3_CLIP_01` }, }, }, -} +} \ No newline at end of file From 6f5cdcb045be3d1be3ae9fcfa57416de2133c426 Mon Sep 17 00:00:00 2001 From: Thekuca <63980591+Thekuca@users.noreply.github.com> Date: Mon, 17 Jul 2023 14:35:00 +0200 Subject: [PATCH 037/148] =?UTF-8?q?=E2=99=BB=EF=B8=8F(client/functions):?= =?UTF-8?q?=20context=20functions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- [core]/es_extended/client/functions.lua | 41 ++++++++----------------- 1 file changed, 12 insertions(+), 29 deletions(-) diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index af1c9183f..6927656c5 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -140,40 +140,23 @@ ESX.HashString = function(str) return input_map end -if GetResourceState("esx_context") ~= "missing" then - function ESX.OpenContext(...) - exports["esx_context"]:Open(...) - end - - function ESX.PreviewContext(...) - exports["esx_context"]:Preview(...) - end - - function ESX.CloseContext(...) - exports["esx_context"]:Close(...) - end - - function ESX.RefreshContext(...) - exports["esx_context"]:Refresh(...) - end -else - function ESX.OpenContext() - print("[^1ERROR^7] Tried to ^5open^7 context menu, but ^5esx_context^7 is missing!") - end +local contextAvailable = GetResourceState("esx_contex") ~= "missing" - function ESX.PreviewContext() - print("[^1ERROR^7] Tried to ^5preview^7 context menu, but ^5esx_context^7 is missing!") - end +function ESX.OpenContext(...) + return contextAvailable and exports["esx_context"]:Open(...) or not contextAvailable and print("[^1ERROR^7] Tried to ^5open^7 context menu, but ^5esx_context^7 is missing!") +end - function ESX.CloseContext() - print("[^1ERROR^7] Tried to ^5close^7 context menu, but ^5esx_context^7 is missing!") - end +function ESX.PreviewContext(...) + return contextAvailable and exports["esx_context"]:Preview(...) or not contextAvailable and print("[^1ERROR^7] Tried to ^5preview^7 context menu, but ^5esx_context^7 is missing!") +end - function ESX.RefreshContext() - print("[^1ERROR^7] Tried to ^5Refresh^7 context menu, but ^5esx_context^7 is missing!") - end +function ESX.CloseContext(...) + return contextAvailable and exports["esx_context"]:Close(...) or not contextAvailable and print("[^1ERROR^7] Tried to ^5close^7 context menu, but ^5esx_context^7 is missing!") end +function ESX.RefreshContext(...) + return contextAvailable and exports["esx_context"]:Refresh(...) or not contextAvailable and print("[^1ERROR^7] Tried to ^5Refresh^7 context menu, but ^5esx_context^7 is missing!") +end ESX.RegisterInput = function(command_name, label, input_group, key, on_press, on_release) RegisterCommand(on_release ~= nil and "+" .. command_name or command_name, on_press) From a6ad55a1e11ad9937b7c16326915b2f8c29487e0 Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Mon, 17 Jul 2023 21:12:59 +0200 Subject: [PATCH 038/148] change default StartingInventoryItem to false --- [core]/es_extended/config.lua | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/[core]/es_extended/config.lua b/[core]/es_extended/config.lua index fafd7a57a..c0697945b 100644 --- a/[core]/es_extended/config.lua +++ b/[core]/es_extended/config.lua @@ -18,9 +18,7 @@ Config.Accounts = { Config.StartingAccountMoney = { bank = 50000 } -Config.StartingInventoryItems = { -- table/false - ["water"] = 1, -} +Config.StartingInventoryItems = false -- table/false Config.DefaultSpawns = { -- If you want to have more spawn positions and select them randomly uncomment commented code or add more locations { x = 222.2027, y = -864.0162, z = 30.2922, heading = 1.0 }, From ef8f8060454b98aea834a0a71f4cbd86f42002a2 Mon Sep 17 00:00:00 2001 From: Canis_Lupus <56067968+CanysLypys@users.noreply.github.com> Date: Tue, 18 Jul 2023 19:01:31 +0200 Subject: [PATCH 039/148] Fixing getNearbyPlayers function By using the function you see the following: source = GetPlayerPed(source) -- So source is now the playerPed source = GetEntityCoords(GetPlayerPed(source)) -- The source is getting new defined by calling the entity coords from the playerPed and then the playerPed once again. --- [core]/es_extended/server/onesync.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/server/onesync.lua b/[core]/es_extended/server/onesync.lua index 515b51456..fcb249a21 100644 --- a/[core]/es_extended/server/onesync.lua +++ b/[core]/es_extended/server/onesync.lua @@ -15,7 +15,7 @@ local function getNearbyPlayers(source, closest, distance, ignore) error("Received invalid first argument (source); should be playerId or vector3 coordinates") end - source = GetEntityCoords(GetPlayerPed(source)) + source = GetEntityCoords(source) end for _, xPlayer in pairs(ESX.Players) do From da061174037180a32a8c395d50114ded3b8d445e Mon Sep 17 00:00:00 2001 From: TheFantomas <117121911+TheFantomas@users.noreply.github.com> Date: Thu, 20 Jul 2023 13:33:36 +0200 Subject: [PATCH 040/148] fix(es_extended/function): Fix esx_contex to esx_context --- [core]/es_extended/client/functions.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index 6927656c5..92b3ce58e 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -140,7 +140,7 @@ ESX.HashString = function(str) return input_map end -local contextAvailable = GetResourceState("esx_contex") ~= "missing" +local contextAvailable = GetResourceState("esx_context") ~= "missing" function ESX.OpenContext(...) return contextAvailable and exports["esx_context"]:Open(...) or not contextAvailable and print("[^1ERROR^7] Tried to ^5open^7 context menu, but ^5esx_context^7 is missing!") From 30d497500d0ac64e5cdb67c77517a9ae4f09683b Mon Sep 17 00:00:00 2001 From: Canis_Lupus <56067968+CanysLypys@users.noreply.github.com> Date: Fri, 21 Jul 2023 00:50:16 +0200 Subject: [PATCH 041/148] Fixing getNearbyPlayers source definition (updated) The requested features are now included. playerPed and playerCoords do have now two different locals for better orientation and included nil checking for the function. --- [core]/es_extended/server/onesync.lua | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/[core]/es_extended/server/onesync.lua b/[core]/es_extended/server/onesync.lua index fcb249a21..19fb2eab1 100644 --- a/[core]/es_extended/server/onesync.lua +++ b/[core]/es_extended/server/onesync.lua @@ -7,15 +7,21 @@ ESX.OneSync = {} local function getNearbyPlayers(source, closest, distance, ignore) local result = {} local count = 0 + local playerPed + local playerCoords if not distance then distance = 100 end if type(source) == 'number' then - source = GetPlayerPed(source) - + playerPed = GetPlayerPed(source) + if not source then - error("Received invalid first argument (source); should be playerId or vector3 coordinates") + error("Received invalid first argument (source); should be playerId") end - source = GetEntityCoords(source) + playerCoords = GetEntityCoords(playerPed) + + if not playerCoords then + error("Received nil value (playerCoords); perhaps source is nil at first place?") + end end for _, xPlayer in pairs(ESX.Players) do @@ -24,13 +30,13 @@ local function getNearbyPlayers(source, closest, distance, ignore) local coords = GetEntityCoords(entity) if not closest then - local dist = #(source - coords) + local dist = #(playerCoords - coords) if dist <= distance then count = count + 1 result[count] = { id = xPlayer.source, ped = NetworkGetNetworkIdFromEntity(entity), coords = coords, dist = dist } end else - local dist = #(source - coords) + local dist = #(playerCoords - coords) if dist <= (result.dist or distance) then result = { id = xPlayer.source, ped = NetworkGetNetworkIdFromEntity(entity), coords = coords, dist = dist } end From 560a7028614df95620015ae18041ab8e73b45f8f Mon Sep 17 00:00:00 2001 From: tekken <74188150+tekkenkkk@users.noreply.github.com> Date: Sun, 23 Jul 2023 08:32:07 +0200 Subject: [PATCH 042/148] typo --- [core]/es_extended/client/main.lua | 6 +++--- [core]/es_extended/config.lua | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index 7cc84fc90..838a05fd7 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -60,9 +60,9 @@ AddEventHandler('esx:playerLoaded', function(xPlayer, isNew, skin) local playerId = PlayerId() - -- RemoveHudCommonents - for i = 1, #(Config.RemoveHudCommonents) do - if Config.RemoveHudCommonents[i] then + -- RemoveHudComponents + for i = 1, #(Config.RemoveHudComponents) do + if Config.RemoveHudComponents[i] then SetHudComponentPosition(i, 999999.0, 999999.0) end end diff --git a/[core]/es_extended/config.lua b/[core]/es_extended/config.lua index a2bf5b6a0..bd89d7494 100644 --- a/[core]/es_extended/config.lua +++ b/[core]/es_extended/config.lua @@ -57,7 +57,7 @@ Config.DisableScenarios = false -- Disable Scenarios Config.DisableWeaponWheel = false -- Disables default weapon wheel Config.DisableAimAssist = false -- disables AIM assist (mainly on controllers) Config.DisableVehicleSeatShuff = false -- Disables vehicle seat shuff -Config.RemoveHudCommonents = { +Config.RemoveHudComponents = { [1] = false, --WANTED_STARS, [2] = false, --WEAPON_ICON [3] = false, --CASH From c995a292889a2ff7777d8ebb1dce603eabde7b17 Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Sun, 23 Jul 2023 19:04:07 +0200 Subject: [PATCH 043/148] :ambulance: fix register commands handle optional args --- [core]/es_extended/server/functions.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index d70369a1b..0050ed63b 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -117,7 +117,7 @@ function ESX.RegisterCommand(name, group, cb, allowConsole, suggestion) end --backwards compatibility - if not v.validate and not v.type then + if v.validate ~= nil and not v.validate then error = nil end From 0273c9dfc015b8877f70a1e0d7c0f2598e15f889 Mon Sep 17 00:00:00 2001 From: nexis Date: Mon, 24 Jul 2023 15:35:12 +0200 Subject: [PATCH 044/148] fixed setjob logs Setjob logs were not working/false --- [core]/es_extended/server/commands.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index 86c64b463..629d61eca 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -30,8 +30,8 @@ ESX.RegisterCommand('setjob', 'admin', function(xPlayer, args, showError) { name = "Player", value = xPlayer.name, inline = true }, { name = "ID", value = xPlayer.source, inline = true }, { name = "Target", value = args.playerId.name, inline = true }, - { name = "Job", value = args.playerId, inline = true }, - { name = "Grade", value = args.playerId, inline = true }, + { name = "Job", value = args.job, inline = true }, + { name = "Grade", value = args.grade, inline = true }, }) end end, true, { From b6e1c4debaf79e9a03118d501e208dcc38e70ad0 Mon Sep 17 00:00:00 2001 From: Canis_Lupus <56067968+CanysLypys@users.noreply.github.com> Date: Mon, 24 Jul 2023 19:58:27 +0200 Subject: [PATCH 045/148] Updating getNearbyPlayers - Added an 'early' return with an empty table if the source or the playerCoord are not given. --- [core]/es_extended/server/onesync.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/[core]/es_extended/server/onesync.lua b/[core]/es_extended/server/onesync.lua index 19fb2eab1..eec847baf 100644 --- a/[core]/es_extended/server/onesync.lua +++ b/[core]/es_extended/server/onesync.lua @@ -15,12 +15,14 @@ local function getNearbyPlayers(source, closest, distance, ignore) if not source then error("Received invalid first argument (source); should be playerId") + return result end playerCoords = GetEntityCoords(playerPed) if not playerCoords then error("Received nil value (playerCoords); perhaps source is nil at first place?") + return result end end From 74d7d7e6f6543e014dca2288ead8ee33ac2f86e3 Mon Sep 17 00:00:00 2001 From: MoskalykA <100430077+MoskalykA@users.noreply.github.com> Date: Wed, 26 Jul 2023 04:58:55 +0200 Subject: [PATCH 046/148] refactor: less calculations --- [core]/es_extended/client/functions.lua | 2 +- [core]/es_extended/server/common.lua | 3 ++- [core]/esx_skin/client/main.lua | 5 +++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index 92b3ce58e..508326b27 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -1015,7 +1015,7 @@ function ESX.Game.Utils.DrawText3D(coords, text, size, font) local fov = (1 / GetGameplayCamFov()) * 100 scale = scale * fov - SetTextScale(0.0 * scale, 0.55 * scale) + SetTextScale(0.0, 0.55 * scale) SetTextFont(font) SetTextProportional(1) SetTextColour(255, 255, 255, 215) diff --git a/[core]/es_extended/server/common.lua b/[core]/es_extended/server/common.lua index c07495902..48ca22728 100644 --- a/[core]/es_extended/server/common.lua +++ b/[core]/es_extended/server/common.lua @@ -31,8 +31,9 @@ end local function StartDBSync() CreateThread(function() + local interval = 10 * 60 * 1000 while true do - Wait(10 * 60 * 1000) + Wait(interval) Core.SavePlayers() end end) diff --git a/[core]/esx_skin/client/main.lua b/[core]/esx_skin/client/main.lua index 966f9ab56..8d952fdec 100644 --- a/[core]/esx_skin/client/main.lua +++ b/[core]/esx_skin/client/main.lua @@ -147,6 +147,7 @@ function DeleteSkinCam() end CreateThread(function() + local customPI = math.pi / 180.0 while true do local sleep = 1500 @@ -164,7 +165,7 @@ CreateThread(function() local playerPed = PlayerPedId() local coords = GetEntityCoords(playerPed) - local angle = heading * math.pi / 180.0 + local angle = heading * customPI local theta = { x = math.cos(angle), y = math.sin(angle) @@ -182,7 +183,7 @@ CreateThread(function() angleToLook = angleToLook + 360 end - angleToLook = angleToLook * math.pi / 180.0 + angleToLook = angleToLook * customPI local thetaToLook = { x = math.cos(angleToLook), y = math.sin(angleToLook) From fb160f4f0d7b1fdbb27f5ebb16fc815602e231d2 Mon Sep 17 00:00:00 2001 From: MoskalykA <100430077+MoskalykA@users.noreply.github.com> Date: Wed, 26 Jul 2023 05:06:52 +0200 Subject: [PATCH 047/148] refactor: correction of lint errors --- [core]/es_extended/client/main.lua | 2 +- [core]/es_extended/server/classes/player.lua | 2 +- [core]/es_extended/server/commands.lua | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index 52185f59e..8d1f39696 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -331,7 +331,7 @@ if not Config.OxInventory then end) RegisterNetEvent('esx:removeWeapon') - AddEventHandler('esx:removeWeapon', function(weapon) + AddEventHandler('esx:removeWeapon', function() print("[^1ERROR^7] event ^5'esx:removeWeapon'^7 Has Been Removed. Please use ^5xPlayer.removeWeapon^7 Instead!") end) diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index 0a4aad859..60de40c49 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -462,7 +462,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, function self.removeWeapon(weaponName) local weaponLabel, playerPed = nil, GetPlayerPed(self.source) - if not playerPed then + if not playerPed then return print("[^1ERROR^7] xPlayer.removeWeapon ^5invalid^7 player ped!") end diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index da40dbdaa..6b6b33bde 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -451,7 +451,6 @@ end, true) ESX.RegisterCommand('info', { "user", "admin" }, function(xPlayer) local job = xPlayer.getJob().name - local jobgrade = xPlayer.getJob().grade_name print(('^2ID: ^5%s^0 | ^2Name: ^5%s^0 | ^2Group: ^5%s^0 | ^2Job: ^5%s^0'):format(xPlayer.source, xPlayer.getName(), xPlayer.getGroup(), job)) end, true) From ea14a80fa063cf982efb1e785835e830ae34d1a8 Mon Sep 17 00:00:00 2001 From: ItsKuf <104674648+ItsKuf@users.noreply.github.com> Date: Wed, 26 Jul 2023 09:52:33 +0100 Subject: [PATCH 048/148] =?UTF-8?q?=F0=9F=9A=80=20Enhanced=20ESX=20Core=20?= =?UTF-8?q?Cron=20Task=20Handling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Description: This commit brings substantial enhancements to the time handling functionality in the 'esx_core/[core]/cron/server/main.lua' script for the FiveM server: - Utilized Unix Timestamps: Replaced the existing `GetTime()` function with `GetUnixTimestamp()`, ensuring precise time representation by using the Unix timestamp format (seconds since January 1, 1970). This change mitigates potential issues related to Daylight Saving Time (DST) transitions. - Refined Task Execution Logic: The `OnTime` function has been refactored to operate based on Unix timestamps, ensuring accurate execution of scheduled tasks without any inconsistencies due to local time conversions. By introducing these improvements, the cron-like system now operates with enhanced accuracy, bolstering the stability and predictability of scheduled events on the FiveM server. Extensive testing has been conducted to guarantee compatibility with various server environments. --- [core]/cron/server/main.lua | 38 +++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/[core]/cron/server/main.lua b/[core]/cron/server/main.lua index fb47a4354..f7b47859e 100644 --- a/[core]/cron/server/main.lua +++ b/[core]/cron/server/main.lua @@ -9,39 +9,41 @@ function RunAt(h, m, cb) } end -function GetTime() - local timestamp = os.time() - local d = os.date('*t', timestamp).wday - local h = tonumber(os.date('%H', timestamp)) - local m = tonumber(os.date('%M', timestamp)) - - return { - d = d, - h = h, - m = m - } +function GetUnixTimestamp() + return os.time() end -function OnTime(d, h, m) +function OnTime(h, m) + local currentTimestamp = GetUnixTimestamp() + for i = 1, #Jobs, 1 do - if Jobs[i].h == h and Jobs[i].m == m then - Jobs[i].cb(d, h, m) + local scheduledTimestamp = os.time({ + hour = Jobs[i].h, + minute = Jobs[i].m, + second = 0, -- Assuming tasks run at the start of the minute + day = os.date('%d', currentTimestamp), + month = os.date('%m', currentTimestamp), + year = os.date('%Y', currentTimestamp) + }) + + if currentTimestamp >= scheduledTimestamp and (not LastTime or LastTime < scheduledTimestamp) then + Jobs[i].cb(Jobs[i].h, Jobs[i].m) end end end function Tick() - local time = GetTime() + local time = GetUnixTimestamp() - if time.h ~= LastTime.h or time.m ~= LastTime.m then - OnTime(time.d, time.h, time.m) + if not LastTime or os.date('%M', time) ~= os.date('%M', LastTime) then + OnTime(os.date('%H', time), os.date('%M', time)) LastTime = time end SetTimeout(60000, Tick) end -LastTime = GetTime() +LastTime = GetUnixTimestamp() Tick() From df93efb778759f5c5b45d54b30ed37cfe212b820 Mon Sep 17 00:00:00 2001 From: Katoteki <58405477+katotekii@users.noreply.github.com> Date: Wed, 26 Jul 2023 21:35:39 +0200 Subject: [PATCH 049/148] Update player.lua fix for `subValue` arg in `setMeta` function --- [core]/es_extended/server/classes/player.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index 62c12cf19..44b0dfc19 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -642,7 +642,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, if _type ~= "string" then return print(("[^1ERROR^7] xPlayer.setMeta ^5value^7 should be ^5string^7 as a subIndex!"):format(value)) end - + self.metadata[index] = table.create(0, 0) self.metadata[index][value] = subValue end From 6bc7d418af3cebbcbb604aaa74160764848393af Mon Sep 17 00:00:00 2001 From: Thekuca <63980591+Thekuca@users.noreply.github.com> Date: Wed, 26 Jul 2023 23:35:25 +0200 Subject: [PATCH 050/148] fix --- [core]/es_extended/server/onesync.lua | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/[core]/es_extended/server/onesync.lua b/[core]/es_extended/server/onesync.lua index eec847baf..e2fe8dd96 100644 --- a/[core]/es_extended/server/onesync.lua +++ b/[core]/es_extended/server/onesync.lua @@ -38,10 +38,12 @@ local function getNearbyPlayers(source, closest, distance, ignore) result[count] = { id = xPlayer.source, ped = NetworkGetNetworkIdFromEntity(entity), coords = coords, dist = dist } end else - local dist = #(playerCoords - coords) - if dist <= (result.dist or distance) then - result = { id = xPlayer.source, ped = NetworkGetNetworkIdFromEntity(entity), coords = coords, dist = dist } - end + if xPlayer.source ~= source then + local dist = #(playerCoords - coords) + if dist <= (result.dist or distance) then + result = { id = xPlayer.source, ped = NetworkGetNetworkIdFromEntity(entity), coords = coords, dist = dist } + end + end end end end From 7635598b13c4fc486b6350d4d298630388e5ad98 Mon Sep 17 00:00:00 2001 From: MoskalykA <100430077+MoskalykA@users.noreply.github.com> Date: Thu, 27 Jul 2023 03:35:05 +0200 Subject: [PATCH 051/148] refactor: delete an obsolete file --- [core]/es_extended/version.json | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 [core]/es_extended/version.json diff --git a/[core]/es_extended/version.json b/[core]/es_extended/version.json deleted file mode 100644 index ed35a3e9d..000000000 --- a/[core]/es_extended/version.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "legacy", - "commit" : "1.9.0", - "changelog": "\n- Add PlayerOveride System, ESX Notify, ESX Progressbar and ESX TextUI" -} From d67a32ad92f62710f26757184a824ffa093ed093 Mon Sep 17 00:00:00 2001 From: Katoteki <58405477+katotekii@users.noreply.github.com> Date: Thu, 27 Jul 2023 19:17:28 +0200 Subject: [PATCH 052/148] Update player.lua --- [core]/es_extended/server/classes/player.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index 44b0dfc19..c9d5e8f43 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -642,7 +642,11 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, if _type ~= "string" then return print(("[^1ERROR^7] xPlayer.setMeta ^5value^7 should be ^5string^7 as a subIndex!"):format(value)) end - self.metadata[index] = table.create(0, 0) + + if not self.metadata[index] then + self.metadata[index] = table.create(0, 0) + end + self.metadata[index][value] = subValue end From b114c7e998d51bda000a4858742ffe541a8f2a2e Mon Sep 17 00:00:00 2001 From: Katoteki <58405477+katotekii@users.noreply.github.com> Date: Thu, 27 Jul 2023 19:19:12 +0200 Subject: [PATCH 053/148] Update player.lua --- [core]/es_extended/server/classes/player.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index c9d5e8f43..ec836080b 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -617,7 +617,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, return metaData end - function self.setMeta(index, value, subValue) + function self.(index, value, subValue) if not index then return print("[^1ERROR^7] xPlayer.setMeta ^5index^7 is Missing!") end From 3ac80fe21837947419caa993dc5c88df76ad2f65 Mon Sep 17 00:00:00 2001 From: Katoteki <58405477+katotekii@users.noreply.github.com> Date: Thu, 27 Jul 2023 19:24:29 +0200 Subject: [PATCH 054/148] Update player.lua idk what happened, now good --- [core]/es_extended/server/classes/player.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index ec836080b..c9d5e8f43 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -617,7 +617,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, return metaData end - function self.(index, value, subValue) + function self.setMeta(index, value, subValue) if not index then return print("[^1ERROR^7] xPlayer.setMeta ^5index^7 is Missing!") end From cead0aa431b59aed211dadef23ffd0989a7bb06c Mon Sep 17 00:00:00 2001 From: MoskalykA <100430077+MoskalykA@users.noreply.github.com> Date: Sun, 30 Jul 2023 13:44:04 +0200 Subject: [PATCH 055/148] refactor: slight optimisation --- [core]/es_extended/client/main.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index 8d1f39696..9847651ac 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -84,13 +84,13 @@ AddEventHandler('esx:playerLoaded', function(xPlayer, isNew, skin) end) end - if Config.DisableHealthRegeneration or Config.DisableWeaponWheel or Config.DisableAimAssist or Config.DisableVehicleRewards then + if Config.DisableHealthRegeneration then + SetPlayerHealthRechargeMultiplier(playerId, 0.0) + end + + if Config.DisableWeaponWheel or Config.DisableAimAssist or Config.DisableVehicleRewards then CreateThread(function() while true do - if Config.DisableHealthRegeneration then - SetPlayerHealthRechargeMultiplier(playerId, 0.0) - end - if Config.DisableWeaponWheel then BlockWeaponWheelThisFrame() DisableControlAction(0, 37, true) From 9f29dc6768c12ed591f06aae1595a6a836169e73 Mon Sep 17 00:00:00 2001 From: YOMAN1792 <94007829+YOMAN1792@users.noreply.github.com> Date: Sat, 5 Aug 2023 12:37:57 -0400 Subject: [PATCH 056/148] Update fr.lua Add missing translation and removed translation that were not needed. --- [core]/esx_multicharacter/locales/fr.lua | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/[core]/esx_multicharacter/locales/fr.lua b/[core]/esx_multicharacter/locales/fr.lua index 1ed05aeb6..e6fcc0348 100644 --- a/[core]/esx_multicharacter/locales/fr.lua +++ b/[core]/esx_multicharacter/locales/fr.lua @@ -1,15 +1,22 @@ Locales["fr"] = { ["male"] = "Homme", ["female"] = "Femme", - ["delete_label"] = "Supprimer %s %s?", ["select_char"] = "Sélectionnez un personnage", ["select_char_description"] = "Select a character to play as.", ["create_char"] = "Créer un nouveau personnage", ["char_play"] = "Jouer ce personnage", + ["char_play_description"] = "Continuez dans la ville.", ["char_disabled"] = "Ce personnage est désactivé", + ["char_disabled_description"] = "Ce personnage est inutilisable.", ["char_delete"] = "Supprimer ce personnage", - ["cancel"] = "Annuler", - ["confirm"] = "Confirmer", + ["char_delete_description"] = "Retiré définitivement ce personnage.", + ["char_delete_confirmation"] = "Confirmation de suppression", + ["char_delete_confirmation_description"] = "Êtes-vous sûr de vouloir supprimer ce personnage?", + ["char_delete_yes_description"] = "Oui, je suis sur de vouloir supprimer ce personnage", + ["char_delete_no_description"] = "Non, retourner aux options de personnages", + ["character"] = "Personnage: %s", + ["return"] = "Retour", + ["return_description"] = "Retourner à la sélection de personnage.", ["command_setslots"] = "Définir le numéro de créneau multi-caractères d'un joueur", ["command_remslots"] = "Suppression du numéro de créneau multi-caractères d'un joueur", ["command_enablechar"] = "Activer un personnage donné d'un joueur", From c6df3e5eb6625ee06cf0b7a707d0baf9ab37472f Mon Sep 17 00:00:00 2001 From: YOMAN1792 <94007829+YOMAN1792@users.noreply.github.com> Date: Sun, 6 Aug 2023 19:19:35 -0400 Subject: [PATCH 057/148] Update fr.lua Fix some translation --- [core]/skinchanger/locales/fr.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/[core]/skinchanger/locales/fr.lua b/[core]/skinchanger/locales/fr.lua index 2887a1333..bff1a222d 100644 --- a/[core]/skinchanger/locales/fr.lua +++ b/[core]/skinchanger/locales/fr.lua @@ -1,7 +1,7 @@ Locales["fr"] = { ["sex"] = "sexe", - ["mom"] = "mère's visage", - ["dad"] = "père's visage", + ["mom"] = "visage de la mère", + ["dad"] = "visage du père", ["resemblance"] = "ressemblance", ["skin_tone"] = "teint", ["nose_1"] = "largeur du nez", @@ -32,7 +32,7 @@ Locales["fr"] = { ["hair_color_1"] = "couleur de cheveux 1", ["hair_color_2"] = "couleur de cheveux 2", ["eye_color"] = "couleur des yeux", - ["eye_squint"] = "eye squint", + ["eye_squint"] = "Louchement des yeux", ["eyebrow_type"] = "type de sourcil", ["eyebrow_size"] = "taille des sourcils", ["eyebrow_color_1"] = "couleur des sourcils 1", @@ -47,7 +47,7 @@ Locales["fr"] = { ["lipstick_thickness"] = "épaisseur du rouge à lèvres", ["lipstick_color_1"] = "couleur de rouge à lèvres 1", ["lipstick_color_2"] = "couleur de rouge à lèvres 2", - ["ear_accessories"] = "ear accessories", + ["ear_accessories"] = "accessoires d'oreille", ["ear_accessories_color"] = "couleur des accessoires d'oreille", ["tshirt_1"] = "t-Shirt 1", ["tshirt_2"] = "t-Shirt 2", From 33483cb0cf009cada055a33354a6ec530c1fb560 Mon Sep 17 00:00:00 2001 From: Only <47639954+DasistOnly@users.noreply.github.com> Date: Mon, 7 Aug 2023 21:28:41 +0200 Subject: [PATCH 058/148] updated README files updated the documentation urls --- [core]/cron/README.md | 2 +- [core]/esx_context/README.md | 2 +- [core]/esx_loadingscreen/README.md | 2 +- [core]/esx_menu_default/README.md | 2 +- [core]/esx_notify/readme.md | 2 +- [core]/esx_textui/readme.md | 2 +- [core]/skinchanger/README.md | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/[core]/cron/README.md b/[core]/cron/README.md index e5291b69e..c330a4335 100644 --- a/[core]/cron/README.md +++ b/[core]/cron/README.md @@ -1,4 +1,4 @@ -

[ESX] Cron

Discord - Website - Documentation +

[ESX] Cron

Discord - Website - Documentation A simple, but vital, resource that allows resources to Run tasks at specific intervals. diff --git a/[core]/esx_context/README.md b/[core]/esx_context/README.md index 5092e5ae0..97da2c836 100644 --- a/[core]/esx_context/README.md +++ b/[core]/esx_context/README.md @@ -1,4 +1,4 @@ -

[ESX] Context

Discord - Website - Documentation +

[ESX] Context

Discord - Website - Documentation A elegant, easy to use Context Menu system to make User Interactions clean and hassle free diff --git a/[core]/esx_loadingscreen/README.md b/[core]/esx_loadingscreen/README.md index d59252035..57b3f5850 100644 --- a/[core]/esx_loadingscreen/README.md +++ b/[core]/esx_loadingscreen/README.md @@ -1,4 +1,4 @@ -

[ESX] Loading Screen

Discord - Website - Documentation +

[ESX] Loading Screen

Discord - Website - Documentation A simple but beautiful Loading Screen for your server! diff --git a/[core]/esx_menu_default/README.md b/[core]/esx_menu_default/README.md index 83584ce1c..b06d51247 100644 --- a/[core]/esx_menu_default/README.md +++ b/[core]/esx_menu_default/README.md @@ -1,4 +1,4 @@ -

[ESX] Menu Defualt

Discord - Website - Documentation +

[ESX] Menu Defualt

Discord - Website - Documentation A defualt List type menu for ESX. diff --git a/[core]/esx_notify/readme.md b/[core]/esx_notify/readme.md index b54999241..9f00c0de8 100644 --- a/[core]/esx_notify/readme.md +++ b/[core]/esx_notify/readme.md @@ -1,4 +1,4 @@ -

[ESX] Notify

Discord - Website - Documentation +

[ESX] Notify

Discord - Website - Documentation A beautiful and simple NUI notification system for ESX diff --git a/[core]/esx_textui/readme.md b/[core]/esx_textui/readme.md index b9197d6cc..2c1f30e94 100644 --- a/[core]/esx_textui/readme.md +++ b/[core]/esx_textui/readme.md @@ -1,4 +1,4 @@ -

[ESX] TextUI

Discord - Website - Documentation +

[ESX] TextUI

Discord - Website - Documentation A beautiful and simple Persistent Notification. diff --git a/[core]/skinchanger/README.md b/[core]/skinchanger/README.md index 267781dfd..0d8ad2145 100644 --- a/[core]/skinchanger/README.md +++ b/[core]/skinchanger/README.md @@ -1,4 +1,4 @@ -

[ESX] SkinChanger

Discord - Website - Documentation +

[ESX] SkinChanger

Discord - Website - Documentation skinchanger is a resource used to both Set and Get Players clothing, accessories and Model - It supports the freemode peds `mp_m_freemode_01` and `mp_f_freemode_01` as well as all Ped Features. From ce90c6bc47e9f2cbe480310fe250de6b7f55e384 Mon Sep 17 00:00:00 2001 From: Ilias Rbayti <63159154+Kenshiin13@users.noreply.github.com> Date: Mon, 7 Aug 2023 21:45:58 +0200 Subject: [PATCH 059/148] fix(ESX.UI): Close Opened Menus on Resource Stop I have encountered several frustrating instances when accidentally restarting a script that still had an open ESX UI. This situation prevents the UI from closing properly and leads to a cascade of errors, ultimately forcing a game restart. To address this issue, I propose the following code changes. The code introduces an event handler for the onResourceStop event, enabling us to loop through all open ESX UIs and identify any opened menus within the same namespace as the resource name. Following the best practice, the namespace should ideally align with the resource name. I believe implementing these changes will provide a smoother user experience. I look forward to your feedback and merging these improvements into the main branch. --- [core]/es_extended/client/functions.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index af1c9183f..9e8656de2 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -1343,6 +1343,17 @@ AddEventHandler('esx:showHelpNotification', function(msg, thisFrame, beep, durat ESX.ShowHelpNotification(msg, thisFrame, beep, duration) end) +AddEventHandler('onResourceStop', function(resourceName) + for i = 1, #ESX.UI.Menu.Opened, 1 do + if ESX.UI.Menu.Opened[i] then + if ESX.UI.Menu.Opened[i].namespace == resourceName then + ESX.UI.Menu.Opened[i].close() + ESX.UI.Menu.Opened[i] = nil + end + end + end +end) + ---@param model number|string ---@return string function ESX.GetVehicleType(model) From adf15e0ee3372e9274ed9cdb1cd5f71f2349e41d Mon Sep 17 00:00:00 2001 From: Epyi Date: Sat, 12 Aug 2023 22:18:08 +0200 Subject: [PATCH 060/148] fix(client/main.lua) Noclip not use locale --- [core]/es_extended/client/main.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index 9847651ac..1d23641f4 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -655,7 +655,7 @@ AddEventHandler("esx:noclip", function() CreateThread(noclipThread) end - ESX.ShowNotification(TranslateCap('noclip_message', noclip and "enabled" or "disabled"), true, false, 140) + ESX.ShowNotification(TranslateCap('noclip_message', noclip and Translate('enabled') or Translate('disabled')), true, false, 140) end) end) From 89a75bcc398172d4a5122aa5628e29feb98853e7 Mon Sep 17 00:00:00 2001 From: Ilias Rbayti <63159154+Kenshiin13@users.noreply.github.com> Date: Mon, 14 Aug 2023 23:29:24 +0200 Subject: [PATCH 061/148] Eliminate the need for matching namespace & resource name When the Menu.Open function is called, a new key-value pair labeled "resourceName" is now added to the menu object. This addition serves the purpose of capturing and storing the invoking resource's name that triggers the function by calling the GetInvokingResource() native. By implementing this change, we establish a more direct and reliable method for checking the "resourceName" key within the menu object. This approach eliminates the need to solely rely on matching the namespace and resource name. As a result, the code becomes more robust and less prone to errors. --- [core]/es_extended/client/functions.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index 9e8656de2..7887baab3 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -196,6 +196,7 @@ function ESX.UI.Menu.Open(type, namespace, name, data, submit, cancel, change, c menu.type = type menu.namespace = namespace + menu.resourceName = (GetInvokingResource() or "Unknown") menu.name = name menu.data = data menu.submit = submit @@ -1346,7 +1347,7 @@ end) AddEventHandler('onResourceStop', function(resourceName) for i = 1, #ESX.UI.Menu.Opened, 1 do if ESX.UI.Menu.Opened[i] then - if ESX.UI.Menu.Opened[i].namespace == resourceName then + if ESX.UI.Menu.Opened[i].resourceName == resourceName or ESX.UI.Menu.Opened[i].namespace == resourceName then ESX.UI.Menu.Opened[i].close() ESX.UI.Menu.Opened[i] = nil end From e51aaae1b19877db4d114a3ccd0c6c9f109e5c30 Mon Sep 17 00:00:00 2001 From: Ilias Rbayti <63159154+Kenshiin13@users.noreply.github.com> Date: Tue, 15 Aug 2023 14:48:54 +0200 Subject: [PATCH 062/148] Added 'coordinate' arg type for ESX.RegisterCommand() --- [core]/es_extended/server/commands.lua | 6 +++--- [core]/es_extended/server/functions.lua | 9 ++++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index 86c64b463..679dee5fc 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -13,9 +13,9 @@ end, false, { help = TranslateCap('command_setcoords'), validate = true, arguments = { - { name = 'x', help = TranslateCap('command_setcoords_x'), type = 'number' }, - { name = 'y', help = TranslateCap('command_setcoords_y'), type = 'number' }, - { name = 'z', help = TranslateCap('command_setcoords_z'), type = 'number' } + { name = 'x', help = TranslateCap('command_setcoords_x'), type = 'coordinate' }, + { name = 'y', help = TranslateCap('command_setcoords_y'), type = 'coordinate' }, + { name = 'z', help = TranslateCap('command_setcoords_z'), type = 'coordinate' } } }) diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index d70369a1b..09fb6d441 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -113,7 +113,14 @@ function ESX.RegisterCommand(name, group, cb, allowConsole, suggestion) local merge = table.concat(args, " ") newArgs[v.name] = string.sub(merge, lenght) - end + elseif v.type == 'coordinate' then + local coord = tonumber(args[k]:match("(-?%d+%.?%d*)")) + if(not coord) then + error = TranslateCap('commanderror_argumentmismatch_number', k) + else + newArgs[v.name] = coord + end + end end --backwards compatibility From 741ee9c1f5c842585e1b38201696c6a7af85507b Mon Sep 17 00:00:00 2001 From: TheFantomas <117121911+TheFantomas@users.noreply.github.com> Date: Tue, 15 Aug 2023 18:00:44 +0200 Subject: [PATCH 063/148] hotfix: fix getNearbyPlayers function with vector3 as source --- [core]/es_extended/server/onesync.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/[core]/es_extended/server/onesync.lua b/[core]/es_extended/server/onesync.lua index e2fe8dd96..9fefaa744 100644 --- a/[core]/es_extended/server/onesync.lua +++ b/[core]/es_extended/server/onesync.lua @@ -9,7 +9,9 @@ local function getNearbyPlayers(source, closest, distance, ignore) local count = 0 local playerPed local playerCoords + if not distance then distance = 100 end + if type(source) == 'number' then playerPed = GetPlayerPed(source) @@ -26,6 +28,15 @@ local function getNearbyPlayers(source, closest, distance, ignore) end end + if type(source) == 'vector3' then + playerCoords = source + + if not playerCoords then + error("Received nil value (playerCoords); perhaps source is nil at first place?") + return result + end + end + for _, xPlayer in pairs(ESX.Players) do if not ignore or not ignore[xPlayer.source] then local entity = GetPlayerPed(xPlayer.source) From bcf45cdc4beecb349901250c818a197e0f9f113f Mon Sep 17 00:00:00 2001 From: TheFantomas <117121911+TheFantomas@users.noreply.github.com> Date: Tue, 15 Aug 2023 18:53:43 +0200 Subject: [PATCH 064/148] fix: correct vehicletype of model blimp --- [core]/es_extended/client/functions.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index 508326b27..fa791cde2 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -1335,6 +1335,10 @@ function ESX.GetVehicleType(model) return 'submarine' end + if model == `blimp` then + return 'heli' + end + local vehicleType = GetVehicleClassFromName(model) local types = { [8] = "bike", From 5e9a7d0860a20774c0966b2777786123db9b0fa4 Mon Sep 17 00:00:00 2001 From: thefourCraft Date: Thu, 17 Aug 2023 00:19:01 +0300 Subject: [PATCH 065/148] update last files to hebrew and fix typos --- [core]/esx_skin/locales/he.lua | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/[core]/esx_skin/locales/he.lua b/[core]/esx_skin/locales/he.lua index 821269151..283cbdc6b 100644 --- a/[core]/esx_skin/locales/he.lua +++ b/[core]/esx_skin/locales/he.lua @@ -1,7 +1,6 @@ Locales["he"] = { - ["skin_menu"] = "Skin Menu", - ["use_rotate_view"] = "use ~INPUT_FRONTEND_LS~ and ~INPUT_CHARACTER_WHEEL~ to rotate the view.", - ["skin"] = "change skin", - ["saveskin"] = "save skin to a file", - } - \ No newline at end of file + ["skin_menu"] = "תפריט עור", + ["use_rotate_view"] = "השתמש ~INPUT_FRONTEND_LS~ ו ~INPUT_CHARACTER_WHEEL~ כדי לסובב את התצוגה.", + ["skin"] = "שנה עור", + ["saveskin"] = "שמור עור לקובץ", +} From 48c966237728f510f1a616e02892892aaa385294 Mon Sep 17 00:00:00 2001 From: Thekuca <63980591+Thekuca@users.noreply.github.com> Date: Thu, 17 Aug 2023 00:07:39 +0200 Subject: [PATCH 066/148] fix(cron): fix unused args --- [core]/cron/server/main.lua | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/[core]/cron/server/main.lua b/[core]/cron/server/main.lua index f7b47859e..e82df4fef 100644 --- a/[core]/cron/server/main.lua +++ b/[core]/cron/server/main.lua @@ -13,20 +13,18 @@ function GetUnixTimestamp() return os.time() end -function OnTime(h, m) - local currentTimestamp = GetUnixTimestamp() - +function OnTime(time) for i = 1, #Jobs, 1 do local scheduledTimestamp = os.time({ hour = Jobs[i].h, minute = Jobs[i].m, second = 0, -- Assuming tasks run at the start of the minute - day = os.date('%d', currentTimestamp), - month = os.date('%m', currentTimestamp), - year = os.date('%Y', currentTimestamp) + day = os.date('%d', time), + month = os.date('%m', time), + year = os.date('%Y', time) }) - if currentTimestamp >= scheduledTimestamp and (not LastTime or LastTime < scheduledTimestamp) then + if time >= scheduledTimestamp and (not LastTime or LastTime < scheduledTimestamp) then Jobs[i].cb(Jobs[i].h, Jobs[i].m) end end @@ -36,7 +34,7 @@ function Tick() local time = GetUnixTimestamp() if not LastTime or os.date('%M', time) ~= os.date('%M', LastTime) then - OnTime(os.date('%H', time), os.date('%M', time)) + OnTime(time) LastTime = time end From 571888cfe042cb1966f42700c6a75b245ae1f91f Mon Sep 17 00:00:00 2001 From: TheFantomas <117121911+TheFantomas@users.noreply.github.com> Date: Thu, 17 Aug 2023 00:27:31 +0200 Subject: [PATCH 067/148] fix(es_extended): Remove driftTyres - errors (fivem issue) --- [core]/es_extended/client/functions.lua | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index fa791cde2..079a0ee89 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -603,11 +603,6 @@ function ESX.Game.GetVehicleProperties(vehicle) end end - local driftTyresEnabled = false - if type(GetDriftTyresEnabled(vehicle) == "boolean") and GetDriftTyresEnabled(vehicle) then - driftTyresEnabled = true - end - local doorsBroken, windowsBroken, tyreBurst = {}, {}, {} local numWheels = tostring(GetVehicleNumberOfWheels(vehicle)) @@ -672,7 +667,6 @@ function ESX.Game.GetVehicleProperties(vehicle) neonColor = table.pack(GetVehicleNeonLightsColour(vehicle)), extras = extras, - driftTyresEnabled = driftTyresEnabled, tyreSmokeColor = table.pack(GetVehicleTyreSmokeColor(vehicle)), modSpoilers = GetVehicleMod(vehicle, 0), @@ -813,10 +807,6 @@ function ESX.Game.SetVehicleProperties(vehicle, props) end end - if props.driftTyresEnabled then - SetDriftTyresEnabled(vehicle, true) - end - if props.neonColor ~= nil then SetVehicleNeonLightsColour(vehicle, props.neonColor[1], props.neonColor[2], props.neonColor[3]) end From 2dfc22f517b9826731903573b78a3b681dce1dbd Mon Sep 17 00:00:00 2001 From: Thekuca <63980591+Thekuca@users.noreply.github.com> Date: Thu, 17 Aug 2023 00:59:48 +0200 Subject: [PATCH 068/148] fix(server/main): fix lint errors --- [core]/es_extended/server/main.lua | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index ad8f145a5..445a27d59 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -82,12 +82,7 @@ function createESXPlayer(identifier, playerId, data) defaultGroup = "admin" end - local parameters = {} - if not Config.Multichar then - parameters = { json.encode(accounts), identifier, defaultGroup } - else - parameters = { json.encode(accounts), identifier, defaultGroup, data.firstname, data.lastname, data.dateofbirth, data.sex, data.height } - end + local parameters = Config.Multichar and { json.encode(accounts), identifier, defaultGroup, data.firstname, data.lastname, data.dateofbirth, data.sex, data.height } or { json.encode(accounts), identifier, defaultGroup } if Config.StartingInventoryItems then table.insert(parameters, json.encode(Config.StartingInventoryItems)) From b5c0d30c9fc5ee616edf95ba14d1d25fb2877e38 Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Thu, 17 Aug 2023 23:40:25 +0200 Subject: [PATCH 069/148] :ambulance: Fix setMeta subValue --- [core]/es_extended/server/classes/player.lua | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index c9d5e8f43..e4601ad63 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -462,7 +462,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, function self.removeWeapon(weaponName) local weaponLabel, playerPed = nil, GetPlayerPed(self.source) - if not playerPed then + if not playerPed then return print("[^1ERROR^7] xPlayer.removeWeapon ^5invalid^7 player ped!") end @@ -473,7 +473,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, for _, v2 in ipairs(v.components) do self.removeWeaponComponent(weaponName, v2) end - + local weaponHash = joaat(v.name) RemoveWeaponFromPed(playerPed, weaponHash) @@ -642,11 +642,11 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, if _type ~= "string" then return print(("[^1ERROR^7] xPlayer.setMeta ^5value^7 should be ^5string^7 as a subIndex!"):format(value)) end - - if not self.metadata[index] then - self.metadata[index] = table.create(0, 0) + + if not self.metadata[index] or type(self.metadata[index]) ~= "table" then + self.metadata[index] = { } end - + self.metadata[index][value] = subValue end From c279b4e6dc89a0b03a49f71de682f4b341f67e5f Mon Sep 17 00:00:00 2001 From: Ilias Rbayti <63159154+Kenshiin13@users.noreply.github.com> Date: Fri, 18 Aug 2023 02:37:04 +0200 Subject: [PATCH 070/148] Added tp alias to setcoords cmd As requested in Issue 1143. --- [core]/es_extended/server/commands.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index 679dee5fc..e7a5fa70c 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -1,4 +1,4 @@ -ESX.RegisterCommand('setcoords', 'admin', function(xPlayer, args) +ESX.RegisterCommand({'setcoords', 'tp'}, 'admin', function(xPlayer, args) xPlayer.setCoords({ x = args.x, y = args.y, z = args.z }) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Set Coordinates /setcoords Triggered!", "pink", { From 804eb73c965bf46eddd29cbda54aee188687cb0e Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Fri, 18 Aug 2023 20:37:01 +0200 Subject: [PATCH 071/148] improve metadata system --- [core]/es_extended/client/main.lua | 4 ++-- [core]/es_extended/server/classes/player.lua | 4 +--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index 1d23641f4..101835a2b 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -709,6 +709,6 @@ for i = 1, #DoNotUse do end end -RegisterNetEvent('esx:updatePlayerData', function(key, val) - ESX.SetPlayerData(key, val) +AddStateBagChangeHandler('metadata', 'player:' .. tostring(GetPlayerServerId(PlayerId())), function(bag, key, val) + ESX.SetPlayerData(key, val) end) diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index 165b44108..0d2c23ffd 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -647,11 +647,10 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, self.metadata[index] = { } end + self.metadata[index] = type(self.metadata[index]) == 'table' and self.metadata[index] or {} self.metadata[index][value] = subValue end - - self.triggerEvent('esx:updatePlayerData', 'metadata', self.metadata) Player(self.source).state:set('metadata', self.metadata, true) end @@ -697,7 +696,6 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, return print(("[^1ERROR^7] xPlayer.clearMeta ^5subValues^7 should be ^5string^7 or ^5table^7, received ^5%s^7!"):format(type(subValues))) end - self.triggerEvent('esx:updatePlayerData', 'metadata', self.metadata) Player(self.source).state:set('metadata', self.metadata, true) end From 8245a91d67e9b9ea4ff02dd307ad7a1008f3e9ce Mon Sep 17 00:00:00 2001 From: TheFantomas <117121911+TheFantomas@users.noreply.github.com> Date: Sun, 20 Aug 2023 00:15:30 +0200 Subject: [PATCH 072/148] fix(es_extended): Fix trailing whitespace and unused variable --- [core]/es_extended/client/main.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index 101835a2b..3e38f3b26 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -709,6 +709,6 @@ for i = 1, #DoNotUse do end end -AddStateBagChangeHandler('metadata', 'player:' .. tostring(GetPlayerServerId(PlayerId())), function(bag, key, val) - ESX.SetPlayerData(key, val) +AddStateBagChangeHandler('metadata', 'player:' .. tostring(GetPlayerServerId(PlayerId())), function(_, key, val) + ESX.SetPlayerData(key, val) end) From 10da0c0aacebe1fe971c60f2cb81ba5200a6b2f3 Mon Sep 17 00:00:00 2001 From: TheFantomas <117121911+TheFantomas@users.noreply.github.com> Date: Sun, 20 Aug 2023 00:19:45 +0200 Subject: [PATCH 073/148] fix(es_extended): Another whitespace --- [core]/es_extended/server/classes/player.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index 0d2c23ffd..6e6c3caad 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -647,7 +647,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, self.metadata[index] = { } end - self.metadata[index] = type(self.metadata[index]) == 'table' and self.metadata[index] or {} + self.metadata[index] = type(self.metadata[index]) == 'table' and self.metadata[index] or {} self.metadata[index][value] = subValue end From 7253c545f15d1550bb9ede81e1b064b65b9fe054 Mon Sep 17 00:00:00 2001 From: Ilias Rbayti <63159154+Kenshiin13@users.noreply.github.com> Date: Sun, 20 Aug 2023 05:29:36 +0200 Subject: [PATCH 074/148] Use vector for coords I see no reason to use a table for coords. Saves us pointless conversions like the one on client side and allows for arithmetic operations. --- [core]/es_extended/client/main.lua | 2 +- [core]/es_extended/server/functions.lua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index 7cc84fc90..01569e736 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -360,7 +360,7 @@ if not Config.OxInventory then obj = object, label = label, inRange = false, - coords = vector3(coords.x, coords.y, coords.z) + coords = coords } end diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index d70369a1b..a9aa47c53 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -472,7 +472,7 @@ if not Config.OxInventory then function ESX.CreatePickup(type, name, count, label, playerId, components, tintIndex) local pickupId = (Core.PickupId == 65635 and 0 or Core.PickupId + 1) local xPlayer = ESX.Players[playerId] - local coords = xPlayer.getCoords() + local coords = xPlayer.getCoords(true) Core.Pickups[pickupId] = { type = type, name = name, count = count, label = label, coords = coords } From aa1ea636e48656d8d928d1b633c7062bf52b872b Mon Sep 17 00:00:00 2001 From: Ilias Rbayti <63159154+Kenshiin13@users.noreply.github.com> Date: Sun, 20 Aug 2023 05:31:18 +0200 Subject: [PATCH 075/148] Add distance check for net-safe event "esx:onPickup" --- [core]/es_extended/server/main.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index d1bc6e0f7..49c2bf2e3 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -584,6 +584,12 @@ if not Config.OxInventory then local pickup, xPlayer, success = Core.Pickups[pickupId], ESX.GetPlayerFromId(source) if pickup then + local playerPickupDistance = #(pickup.coords - xPlayer.getCoords(true)) + if(playerPickupDistance > 5.0) then + print(('[^3WARNING^7] Player Detected Cheating (Out of range pickup): ^5%s^7'):format(xPlayer.getIdentifier())) + return + end + if pickup.type == 'item_standard' then if xPlayer.canCarryItem(pickup.name, pickup.count) then xPlayer.addInventoryItem(pickup.name, pickup.count) From a51b6d623b64137acce9a4047972bdad43b1dada Mon Sep 17 00:00:00 2001 From: Epyi <68242948+epyidev@users.noreply.github.com> Date: Sun, 20 Aug 2023 14:46:42 +0200 Subject: [PATCH 076/148] Update fr.lua --- [core]/es_extended/locales/fr.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/locales/fr.lua b/[core]/es_extended/locales/fr.lua index 915ab91fb..cd7893c1f 100644 --- a/[core]/es_extended/locales/fr.lua +++ b/[core]/es_extended/locales/fr.lua @@ -207,7 +207,7 @@ Locales["fr"] = { ["weapon_militaryrifle"] = "Fusil militaire", ["weapon_specialcarbine"] = "Carabine spéciale", ["weapon_specialcarbine_mk2"] = "Carabine spéciale MK2", - ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated + ["weapon_heavyrifle"] = "Fusil lourd", -- Sniper ["weapon_heavysniper"] = "Sniper lourd", From f7fe52cb277eb6eb0deef1538f7810a36bbca7b2 Mon Sep 17 00:00:00 2001 From: Epyi <68242948+epyidev@users.noreply.github.com> Date: Sun, 20 Aug 2023 15:01:25 +0200 Subject: [PATCH 077/148] Update fr.lua --- [core]/es_extended/locales/fr.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/[core]/es_extended/locales/fr.lua b/[core]/es_extended/locales/fr.lua index cd7893c1f..3c25351bc 100644 --- a/[core]/es_extended/locales/fr.lua +++ b/[core]/es_extended/locales/fr.lua @@ -107,6 +107,7 @@ Locales["fr"] = { ["command_setgroup_group"] = "Nom du groupe à définir", ["commanderror_argumentmismatch"] = "Le nombre d'arguments est invalide (Argument·s donné·s: %s, Argument·s demandé·s: %s)", ["commanderror_argumentmismatch_number"] = "Type de données de l'argument #%s invalide (Type donné: texte, Type demandé: nombre)", + ["commanderror_argumentmismatch_string"] = "Type de données de l'argument #%s invalide (Type donné: nombre, Type demandé: texte)", ["commanderror_invaliditem"] = "Le nom de l'objet est invalide", ["commanderror_invalidweapon"] = "Le nom de l'arme est invalide", ["commanderror_console"] = "Cette commande ne peut pas être éxécutée depuis la console", From d6d340e72bf8fbd17d26d0c6634fcd50be1bb8ee Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Sun, 20 Aug 2023 17:53:13 +0200 Subject: [PATCH 078/148] Update nl.lua --- [core]/es_extended/locales/nl.lua | 169 ++++++++++++++++-------------- 1 file changed, 89 insertions(+), 80 deletions(-) diff --git a/[core]/es_extended/locales/nl.lua b/[core]/es_extended/locales/nl.lua index af4b920f3..dd368531e 100644 --- a/[core]/es_extended/locales/nl.lua +++ b/[core]/es_extended/locales/nl.lua @@ -1,6 +1,6 @@ -Locales["nl"] = { +Locales["nl"] = { -- Inventory - ["inventory"] = "Inventaris ( Gewicht %s / %s )", + ["inventory"] = "Inventory ( Gewicht %s / %s )", ["use"] = "Gebruik", ["give"] = "Geef", ["remove"] = "Gooi", @@ -9,11 +9,11 @@ Locales["nl"] = { ["amount"] = "Aantal", ["giveammo"] = "Geef munitie", ["amountammo"] = "Hoeveelheid munitie", - ["noammo"] = "Niet genoeg!", + ["noammo"] = "Niet genoeg munitie!", ["gave_item"] = "%sx %s gegeven aan %s", - ["received_item"] = "%sx %s ontvangen van %s", + ["received_item"] = "%sx %s gekregen van %s", ["gave_weapon"] = "%s gegeven aan %s", - ["gave_weapon_ammo"] = "~o~%sx %s gegeven voor een %s aan %s", + ["gave_weapon_ammo"] = "~o~%sx %s gegeven voor %s aan %s", ["gave_weapon_withammo"] = "%s gegeven met ~o~%sx %s aan %s", ["gave_weapon_hasalready"] = "%s heeft al een %s", ["gave_weapon_noweapon"] = "%s heeft dat wapen niet", @@ -21,107 +21,115 @@ Locales["nl"] = { ["received_weapon_ammo"] = "~o~%sx %s ontvangen voor je %s van %s", ["received_weapon_withammo"] = "%s ontvangen met ~o~%sx %s van %s", ["received_weapon_hasalready"] = "%s heeft geprobeerd je een %s te geven, maar je hebt dat wapen al.", - ["received_weapon_noweapon"] = "%s heeft geprobeerd je ammo te geven voor een %s, maar je hebt dit wapen niet", + ["received_weapon_noweapon"] = "%s heeft geprobeerd je ammo te geven voor een %s, maar je hebt dit wapen niet.", ["gave_account_money"] = "€%s (%s) gegeven aan %s", - ["received_account_money"] = "€%s (%s) ontvangen van %s", + ["received_account_money"] = "€%s (%s) gekregen van %s", ["amount_invalid"] = "Ongeldige hoeveelheid", ["players_nearby"] = "Geen spelers in de buurt", - ["ex_inv_lim"] = "Kan actie niet uitvoeren, overschrijdt max. gewicht van %s", - ["imp_invalid_quantity"] = "Kan actie niet uitvoeren, de hoeveelheid is ongeldig", - ["imp_invalid_amount"] = "Kan actie niet uitvoeren, het aantal is ongeldig", + ["ex_inv_lim"] = "Actie kan niet uigevoerd worden, overschrijdt max gewicht van %s", + ["imp_invalid_quantity"] = "Actie kan niet uitgevoerd worden, de hoeveelheid is ongeldig", + ["imp_invalid_amount"] = "Actie kan niet uigevoerd worden, aantal is ongeldig", ["threw_standard"] = "%sx %s weggegooid", ["threw_account"] = "€%s %s weggegooid", ["threw_weapon"] = "%s weggegooid", ["threw_weapon_ammo"] = "%s met ~o~%sx %s weggegooid", - ["threw_weapon_already"] = "Je hebt dit wapen al !", - ["threw_cannot_pickup"] = "Inventoraris is vol, Kan niet oppakken!", - ["threw_pickup_prompt"] = "Druk op E om op te pakken", - + ["threw_weapon_already"] = "Je hebt dit wapen al", + ["threw_cannot_pickup"] = "Inventory is vol, je kan dit niet oppakken!", + ["threw_pickup_prompt"] = "Druk op E om op te rapen", + -- Key mapping ["keymap_showinventory"] = "Laat inventaris zien", - + -- Salary related - ["received_salary"] = "Je bent betaald: €%s", - ["received_help"] = "Je hebt je uitkering gekregen: €%s", - ["company_nomoney"] = "Het bedrijf waar je bij werkt heeft te weinig geld om je uit te betalen.", + ["received_salary"] = "Je hebt je salaris ontvangen: €%s", + ["received_help"] = "Je hebt je uitkering ontvangen: $%s", + ["company_nomoney"] = "het bedrijf waar je werkt kan je salaris niet uitbetalen.", ["received_paycheck"] = "salaris ontvangen", ["bank"] = "Maze Bank", ["account_bank"] = "Bank", ["account_black_money"] = "Zwart geld", - ["account_money"] = "Cash", - + ["account_money"] = "Contant", + ["act_imp"] = "Kan actie niet uitvoeren", - ["in_vehicle"] = "Kan actie niet uitvoeren, de speler zit in een voertuig.", - + ["in_vehicle"] = "Kan actie niet uitvoeren, de speler zit in een voertuig", + ["not_in_vehicle"] = "Kan actie niet uitvoeren, de speler zit niet in een voertuig", + -- Commands - ['command_bring'] = 'Breng speler naar jou', + ['command_bring'] = 'Breng de speler naar je toe', ['command_car'] = 'Spawn een voertuig', ['command_car_car'] = 'Voertuig model of hash', ['command_cardel'] = 'Verwijder voertuigen in straal', - ['command_cardel_radius'] = 'Verwijderd alle voertuigen in gewenste straal', + ['command_cardel_radius'] = 'Verwijderd alle voertuigen in opgegeven straal', + ['command_repair'] = 'Repareer je voertuig', + ['command_repair_success'] = 'Voertuig succesvol gerepareerd', + ['command_repair_success_target'] = 'Een beheerder heeft je voertuig gerepareerd', ['command_clear'] = 'Verwijder chat berichten', ['command_clearall'] = 'Verwijder chat berichten voor alle spelers', - ['command_clearinventory'] = 'Verwijder alle items van een speler zijn inventory', + ['command_clearinventory'] = 'Verwijder alle items van een speler zijn / haar inventory', ['command_clearloadout'] = 'Verwijder alle wapens die een speler heeft', ['command_freeze'] = 'Freeze een speler', ['command_unfreeze'] = 'Unfreeze een speler', - ['command_giveaccountmoney'] = 'Geef geld aan een rekening', - ['command_giveaccountmoney_account'] = 'Account om aan toe te voegen', + ['command_giveaccountmoney'] = 'Voeg geld toe aan opgegeven rekening', + ['command_giveaccountmoney_account'] = 'rekening om aan toe te voegen (money, bank, black_money)', ['command_giveaccountmoney_amount'] = 'Bedrag om toe te voegen', - ['command_giveaccountmoney_invalid'] = 'Account Naam ongeldig', + ['command_giveaccountmoney_invalid'] = 'Rekening naam ongeldig', + ['command_removeaccountmoney'] = 'Geld verwijderen van opgegeven rekening', + ['command_removeaccountmoney_account'] = 'rekening om van te verwijderen (money, bank, black_money)', + ['command_removeaccountmoney_amount'] = 'Bedrag om te verwijderen', + ['command_removeaccountmoney_invalid'] = 'Rekening naam ongeldig', ['command_giveitem'] = 'Geef speler een item', ['command_giveitem_item'] = 'Item naam', ['command_giveitem_count'] = 'Hoeveelheid', - ['command_giveweapon'] = 'Geef de speler een wapen', + ['command_giveweapon'] = 'Geef speler een wapen', ['command_giveweapon_weapon'] = 'Wapen naam', - ['command_giveweapon_ammo'] = 'Ammo Hoeveelheid', + ['command_giveweapon_ammo'] = 'Munitie hoeveelheid', ['command_giveweapon_hasalready'] = 'Speler heeft dit wapen al', ['command_giveweaponcomponent'] = 'Geef wapen component aan speler', ['command_giveweaponcomponent_component'] = 'Component naam', ['command_giveweaponcomponent_invalid'] = 'Ongeldig wapen component', - ['command_giveweaponcomponent_hasalready'] = 'De speler heeft dit wapen component al', - ['command_giveweaponcomponent_missingweapon'] = 'De speler heeft dit wapen niet', + ['command_giveweaponcomponent_hasalready'] = 'Speler heeft dit wapen component al', + ['command_giveweaponcomponent_missingweapon'] = 'Speler heeft dit wapen niet', ['command_goto'] = 'Teleporteer jezelf naar een speler', ['command_kill'] = 'Vermoord een speler', - ['command_save'] = 'Slaag een speler zijn spelerdata geforceerd op', - ['command_saveall'] = 'Slaag iedereen zijn spelerdata geforceerd op', - ['command_setaccountmoney'] = 'Stel geld in op een account', - ['command_setaccountmoney_amount'] = 'Amount', - ['command_setcoords'] = 'Telepeer naar coordinaten', + ['command_save'] = 'Sla een speler zijn spelerdata geforceerd op', + ['command_saveall'] = 'Sla alle spelers hun data geforceerd op', + ['command_setaccountmoney'] = 'Zet het geld binnen een gespecificeerde rekening', + ['command_setaccountmoney_amount'] = 'Bedrag', + ['command_setcoords'] = 'Teleporteer naar gespecificeerde coördinaten', ['command_setcoords_x'] = 'X waarde', ['command_setcoords_y'] = 'Y waarde', ['command_setcoords_z'] = 'Z waarde', ['command_setjob'] = 'Zet een speler zijn / haar job', ['command_setjob_job'] = 'Naam', - ['command_setjob_grade'] = 'Job grade', - ['command_setjob_invalid'] = 'De job, grade of beide zijn ongeldig', - ['command_setgroup'] = 'Stel een toestemmingsgroep voor spelers in', + ['command_setjob_grade'] = 'Rang', + ['command_setjob_invalid'] = 'de job, rang of beide zijn ongeldig', + ['command_setgroup'] = 'Zet de groep van een speler', ['command_setgroup_group'] = 'Naam van groep', - ['commanderror_argumentmismatch'] = 'Ongeldig aantal argumenten (geslaagd %s, gezocht %s)', + ['commanderror_argumentmismatch'] = 'Ongeldig aantal argumenten (doorgegeven %s, gezocht %s)', ['commanderror_argumentmismatch_number'] = 'Ongeldig argument #%s gegevenstype (doorgegeven string, gewenst nummer)', - ['commanderror_argumentmismatch_string'] = 'Invalid Argument #%s data type (passed number, wanted string)', + ['commanderror_argumentmismatch_string'] = 'Invalid Argument #%s data type (doorgegeven string, gewenst nummer)', ['commanderror_invaliditem'] = 'Ongeldig item', ['commanderror_invalidweapon'] = 'Ongeldig wapen', - ['commanderror_console'] = 'Command kan niet worden uitgevoerd vanaf console.', + ['commanderror_console'] = 'Command kan niet uitgevoerd worden vanaf console', ['commanderror_invalidcommand'] = 'Ongeldig commando - /%s', ['commanderror_invalidplayerid'] = 'Opgegeven speler is niet online', - ['commandgeneric_playerid'] = 'Speler server id', + ['commandgeneric_playerid'] = 'Speler zijn / haar server id', ['command_giveammo_noweapon_found'] = '%s heeft dat wapen niet', ['command_giveammo_weapon'] = 'Wapen naam', - ['command_giveammo_ammo'] = 'Ammo Hoeveelheid', + ['command_giveammo_ammo'] = 'Ammo hoeveelheid', ['tpm_nowaypoint'] = 'Geen waypoint gezet.', - ['tpm_success'] = 'Successvol geteleporteerd', - + ['tpm_success'] = 'Succesvol geteleporteerd', + ['noclip_message'] = 'Noclip is %s', - ['enabled'] = '~g~aangezet~s~', - ['disabled'] = '~r~uitgezet~s~', - + ['enabled'] = '~g~ingeschakeld~s~', + ['disabled'] = '~r~uitgeschakeld~s~', + -- Locale settings ["locale_digit_grouping_symbol"] = ",", ["locale_currency"] = "€%s", - + -- Weapons - + -- Melee ["weapon_dagger"] = "Dolk", ["weapon_bat"] = "Knuppel", @@ -133,21 +141,21 @@ Locales["nl"] = { ["weapon_hammer"] = "Hamer", ["weapon_hatchet"] = "Bijl", ["weapon_knife"] = "Mes", - ["weapon_knuckle"] = "Knuckledusters", + ["weapon_knuckle"] = "Boksbeugel", ["weapon_machete"] = "Machete", - ["weapon_nightstick"] = "Nightstick", + ["weapon_nightstick"] = "Wapenstok", ["weapon_wrench"] = "Pijpsleutel", - ["weapon_poolcue"] = "Pool Cue", + ["weapon_poolcue"] = "Biljart Keu", ["weapon_stone_hatchet"] = "Steenbijl", - ["weapon_switchblade"] = "Switchblade", - + ["weapon_switchblade"] = "Stiletto", + -- Handguns ["weapon_appistol"] = "AP-pistool", ["weapon_ceramicpistol"] = "Keramische pistool", ["weapon_combatpistol"] = "Gevechtspistool", ["weapon_doubleaction"] = "Revolver met dubbele actie", ["weapon_navyrevolver"] = "Marine Revolver", - ["weapon_flaregun"] = "Flaregun", + ["weapon_flaregun"] = "Noodsignaalpistool", ["weapon_gadgetpistol"] = "Gadgetpistool", ["weapon_heavypistol"] = "Zwaar pistool", ["weapon_revolver"] = "Zware revolver", @@ -161,7 +169,7 @@ Locales["nl"] = { ["weapon_stungun"] = "Taser", ["weapon_raypistol"] = "Up-N-Atomizer", ["weapon_vintagepistol"] = "Vintage Pistool", - + -- Shotguns ["weapon_assaultshotgun"] = "Aanvalsgeweer", ["weapon_autoshotgun"] = "Automatisch jachtgeweer", @@ -173,7 +181,7 @@ Locales["nl"] = { ["weapon_pumpshotgun"] = "Pompgeweer", ["weapon_pumpshotgun_mk2"] = "Pump Shotgun MK2", ["weapon_sawnoffshotgun"] = "Afgezaagd jachtgeweer", - + -- SMG & LMG ["weapon_assaultsmg"] = "Aanval SMG", ["weapon_combatmg"] = "Gevecht MG", @@ -187,7 +195,7 @@ Locales["nl"] = { ["weapon_smg"] = "SMG", ["weapon_smg_mk2"] = "SMG MK2", ["weapon_raycarbine"] = "Onheilige Hellbringer", - + -- Rifles ["weapon_advancedrifle"] = "Geavanceerd geweer", ["weapon_assaultrifle"] = "Aanvalsgeweer", @@ -200,35 +208,36 @@ Locales["nl"] = { ["weapon_militaryrifle"] = "Militair geweer", ["weapon_specialcarbine"] = "Speciale karabijn", ["weapon_specialcarbine_mk2"] = "Speciale karabijn MK2", - + ["weapon_heavyrifle"] = "Zwaar geweer", + -- Sniper ["weapon_heavysniper"] = "Zware sluipschutter", ["weapon_heavysniper_mk2"] = "Zware Sniper MK2", ["weapon_marksmanrifle"] = "Schuttersgeweer", ["weapon_marksmanrifle_mk2"] = "Schuttersgeweer MK2", ["weapon_sniperrifle"] = "Sniper Rifle", - + -- Heavy / Launchers - ["weapon_compactlauncher"] = "Compacte Launcher", - ["weapon_firework"] = "Vuurwerkstarter", - ["weapon_grenadelauncher"] = "Granaatwerper", + ["weapon_compactlauncher"] = "Compact Launcher", + ["weapon_firework"] = "Firework Launcher", + ["weapon_grenadelauncher"] = "Grenade Launcher", ["weapon_hominglauncher"] = "Homing Launcher", ["weapon_minigun"] = "Minigun", - ["weapon_railgun"] = "Spoorgeweer", - ["weapon_rpg"] = "Raketwerper", - ["weapon_rayminigun"] = "Weduwemaker", - + ["weapon_railgun"] = "Railgun", + ["weapon_rpg"] = "Rocket Launcher", + ["weapon_rayminigun"] = "Widowmaker", + -- Criminal Enterprises DLC ["weapon_metaldetector"] = "Metaal Detector", ["weapon_precisionrifle"] = "Precisiegeweer", ["weapon_tactilerifle"] = "Service Carbine", -- Drug Wars DLC - ["weapon_candycane"] = "Candy Cane", -- not translated - ["weapon_acidpackage"] = "Acid Package", -- not translated - ["weapon_pistolxm3"] = "WM 29 Pistol", -- not translated - ["weapon_railgunxm3"] = "Railgun", -- not translated - + ["weapon_candycane"] = "Snoep stok", + ["weapon_acidpackage"] = "LSD pakket", + ["weapon_pistolxm3"] = "WM 29 Pistool", + ["weapon_railgunxm3"] = "Railgun", + -- Thrown ["weapon_ball"] = "Honkbal", ["weapon_bzgas"] = "BZ-gas", @@ -242,7 +251,7 @@ Locales["nl"] = { ["weapon_snowball"] = "Sneeuwbal", ["weapon_stickybomb"] = "Kleefbom", ["weapon_smokegrenade"] = "Traangas", - + -- Special ["weapon_firebluser"] = "Brandblusser", ["weapon_digiscanner"] = "Digitale scanner", @@ -250,7 +259,7 @@ Locales["nl"] = { ["weapon_handcuffs"] = "Handboeien", ["gadget_nightvision"] = "Nachtzicht", ["gadget_parachute"] = "parachute", - + -- Weapon Components ["component_knuckle_base"] = "basismodel", ["component_knuckle_pimp"] = "de pooier", @@ -339,7 +348,7 @@ Locales["nl"] = { ["component_shells_armor"] = "stalen Buckshot Shells", ["component_shells_hollowpoint"] = "flechette schelpen", ["component_shells_explosive"] = "explosieve slakkenhuizen", - + -- Weapon Ammo ["ammo_rounds"] = "ronde(n)", ["ammo_shells"] = "huls/(zen)", @@ -359,7 +368,7 @@ Locales["nl"] = { ["ammo_snowball"] = "sneeuwbal(len)", ["ammo_flare"] = "flare(s)", ["ammo_flaregun"] = "flare(s)", - + -- Weapon Tints ["tint_default"] = "standaard skin", ["tint_green"] = "groene skin", @@ -369,4 +378,4 @@ Locales["nl"] = { ["tint_lspd"] = "blauwe skin", ["tint_orange"] = "oranje skin", ["tint_platinum"] = "platina skin", -} + } From 3c1f9bf1e5ecd04c6ccc7713f279cd5beea0181b Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Sun, 20 Aug 2023 17:55:03 +0200 Subject: [PATCH 079/148] Update nl.lua --- [core]/es_extended/locales/nl.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/locales/nl.lua b/[core]/es_extended/locales/nl.lua index dd368531e..a6be4aeff 100644 --- a/[core]/es_extended/locales/nl.lua +++ b/[core]/es_extended/locales/nl.lua @@ -1,6 +1,6 @@ Locales["nl"] = { -- Inventory - ["inventory"] = "Inventory ( Gewicht %s / %s )", + ["inventory"] = "Inventaris ( Gewicht %s / %s )", ["use"] = "Gebruik", ["give"] = "Geef", ["remove"] = "Gooi", From 26026651bb412870b5f422b81e0d6299de5b7177 Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Sun, 20 Aug 2023 17:56:14 +0200 Subject: [PATCH 080/148] Update nl.lua --- [core]/es_extended/locales/nl.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/locales/nl.lua b/[core]/es_extended/locales/nl.lua index a6be4aeff..c17f624f7 100644 --- a/[core]/es_extended/locales/nl.lua +++ b/[core]/es_extended/locales/nl.lua @@ -13,7 +13,7 @@ Locales["nl"] = { ["gave_item"] = "%sx %s gegeven aan %s", ["received_item"] = "%sx %s gekregen van %s", ["gave_weapon"] = "%s gegeven aan %s", - ["gave_weapon_ammo"] = "~o~%sx %s gegeven voor %s aan %s", + ["gave_weapon_ammo"] = "~o~%sx %s gegeven voor een %s aan %s", ["gave_weapon_withammo"] = "%s gegeven met ~o~%sx %s aan %s", ["gave_weapon_hasalready"] = "%s heeft al een %s", ["gave_weapon_noweapon"] = "%s heeft dat wapen niet", From 0c6ed5dc02c91be12e5ad2bf145b5e40c0eb5919 Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Sun, 20 Aug 2023 17:56:46 +0200 Subject: [PATCH 081/148] Update nl.lua --- [core]/es_extended/locales/nl.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/locales/nl.lua b/[core]/es_extended/locales/nl.lua index c17f624f7..776183595 100644 --- a/[core]/es_extended/locales/nl.lua +++ b/[core]/es_extended/locales/nl.lua @@ -34,7 +34,7 @@ Locales["nl"] = { ["threw_weapon"] = "%s weggegooid", ["threw_weapon_ammo"] = "%s met ~o~%sx %s weggegooid", ["threw_weapon_already"] = "Je hebt dit wapen al", - ["threw_cannot_pickup"] = "Inventory is vol, je kan dit niet oppakken!", + ["threw_cannot_pickup"] = "Inventoraris is vol, je kan dit niet oppakken!", ["threw_pickup_prompt"] = "Druk op E om op te rapen", -- Key mapping From 7bcc1a627f0f15dbd241de0c9fb5df1e4293ff6d Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Sun, 20 Aug 2023 17:57:41 +0200 Subject: [PATCH 082/148] Update nl.lua --- [core]/es_extended/locales/nl.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/locales/nl.lua b/[core]/es_extended/locales/nl.lua index 776183595..f696e7e00 100644 --- a/[core]/es_extended/locales/nl.lua +++ b/[core]/es_extended/locales/nl.lua @@ -42,7 +42,7 @@ Locales["nl"] = { -- Salary related ["received_salary"] = "Je hebt je salaris ontvangen: €%s", - ["received_help"] = "Je hebt je uitkering ontvangen: $%s", + ["received_help"] = "Je hebt je uitkering ontvangen: €%s", ["company_nomoney"] = "het bedrijf waar je werkt kan je salaris niet uitbetalen.", ["received_paycheck"] = "salaris ontvangen", ["bank"] = "Maze Bank", From bcbc3ef36f3145e8ef74d951fd669d49d07e6e54 Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Sun, 20 Aug 2023 18:03:42 +0200 Subject: [PATCH 083/148] Update en.lua --- [core]/es_extended/locales/en.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/[core]/es_extended/locales/en.lua b/[core]/es_extended/locales/en.lua index 136819f5c..de9b09b67 100644 --- a/[core]/es_extended/locales/en.lua +++ b/[core]/es_extended/locales/en.lua @@ -227,6 +227,12 @@ Locales["en"] = { ["weapon_precisionrifle"] = "Precision Rifle", ["weapon_tactilerifle"] = "Service Carbine", + -- Drug wars dlc + ["weapon_candycane"] = "Candycane", + ["weapon_acidpackage"] = "Acid Package", + ["weapon_pistolxm3"] = "Pistol8 x3m", + ["weapon_railgunxm3"] = "Railgun", + -- Thrown ["weapon_ball"] = "Baseball", ["weapon_bzgas"] = "BZ Gas", From 92d6f49464fbffc2f5431c06f560637eb457302a Mon Sep 17 00:00:00 2001 From: Ilias Rbayti <63159154+Kenshiin13@users.noreply.github.com> Date: Sun, 20 Aug 2023 18:56:25 +0200 Subject: [PATCH 084/148] Added ability to spawn pickup at any given coordinate --- [core]/es_extended/server/functions.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index a9aa47c53..e01fe1f5c 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -469,10 +469,10 @@ function ESX.GetUsableItems() end if not Config.OxInventory then - function ESX.CreatePickup(type, name, count, label, playerId, components, tintIndex) + function ESX.CreatePickup(type, name, count, label, playerId, components, tintIndex, coords) local pickupId = (Core.PickupId == 65635 and 0 or Core.PickupId + 1) local xPlayer = ESX.Players[playerId] - local coords = xPlayer.getCoords(true) + coords = ( (type(coords) == "vector3" or type(coords) == "vector4") and coords.xyz or xPlayer.getCoords(true)) Core.Pickups[pickupId] = { type = type, name = name, count = count, label = label, coords = coords } From fd4b63d3cd222192c660e8a5fa534c5eb6812003 Mon Sep 17 00:00:00 2001 From: TheFantomas <117121911+TheFantomas@users.noreply.github.com> Date: Sun, 20 Aug 2023 23:02:32 +0200 Subject: [PATCH 085/148] whistespace --- [core]/es_extended/locales/nl.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/[core]/es_extended/locales/nl.lua b/[core]/es_extended/locales/nl.lua index b5a9693bb..7b908b317 100644 --- a/[core]/es_extended/locales/nl.lua +++ b/[core]/es_extended/locales/nl.lua @@ -1,4 +1,4 @@ -Locales["nl"] = { +Locales["nl"] = { -- Inventory ["inventory"] = "Inventaris ( Gewicht %s / %s )", ["use"] = "Gebruik", @@ -378,4 +378,4 @@ Locales["nl"] = { ["tint_lspd"] = "blauwe skin", ["tint_orange"] = "oranje skin", ["tint_platinum"] = "platina skin", - } \ No newline at end of file + } From acd565f2f989a9a1d81fef0412f73fd4e24de7bb Mon Sep 17 00:00:00 2001 From: Xray Date: Sun, 20 Aug 2023 23:20:40 +0200 Subject: [PATCH 086/148] Update it.lua Fixed some missing translations --- [core]/es_extended/locales/it.lua | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/[core]/es_extended/locales/it.lua b/[core]/es_extended/locales/it.lua index 47c976a67..283b7a986 100644 --- a/[core]/es_extended/locales/it.lua +++ b/[core]/es_extended/locales/it.lua @@ -52,7 +52,7 @@ Locales["it"] = { ["act_imp"] = "Non puoi farlo", ["in_vehicle"] = "Non puoi farlo, il giocatore è in un veicolo", - ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", + ["not_in_vehicle"] = "Non puoi farlo, il player non è in un veicolo", -- Commands ['command_bring'] = 'Porta il giocatore da te', @@ -60,9 +60,9 @@ Locales["it"] = { ['command_car_car'] = 'Modello o hash veicolo', ['command_cardel'] = 'Rimuovi i veicoli nelle prossimità', ['command_cardel_radius'] = 'Rimuovi i veicoli nel raggio specificato', - ['command_repair'] = 'Repair your vehicle', - ['command_repair_success'] = 'Successfully repaired vehicle', - ['command_repair_success_target'] = 'An admin repaired your vehicle', + ['command_repair'] = 'Ripara il tuo veicolo', + ['command_repair_success'] = 'Hai riparato il veicolo con successo', + ['command_repair_success_target'] = 'Un admin ha riparato la tua macchina', ['command_clear'] = 'Pulisci la chat testuale', ['command_clearall'] = 'Pulisci la chat testuale per tutti i giocatori', ['command_clearinventory'] = 'Rimuovi tutti gli oggetti dall\' inventario del giocatore', @@ -73,6 +73,10 @@ Locales["it"] = { ['command_giveaccountmoney_account'] = 'Account a cui aggiungere', ['command_giveaccountmoney_amount'] = 'Quantità da aggiungere', ['command_giveaccountmoney_invalid'] = 'Nome account non valido', + ['command_removeaccountmoney'] = 'Rimuovi soldi da un account specifico', + ['command_removeaccountmoney_account'] = 'Account a cui togliere', + ['command_removeaccountmoney_amount'] = 'Quantità da rimuovere', + ['command_removeaccountmoney_invalid'] = 'Nome account non valido', ['command_giveitem'] = 'Dai un oggetto ad un giocatore', ['command_giveitem_item'] = 'Nome oggetto', ['command_giveitem_count'] = 'Quantità', @@ -204,7 +208,7 @@ Locales["it"] = { ["weapon_militaryrifle"] = "Fucile militare", ["weapon_specialcarbine"] = "Carabina speciale", ["weapon_specialcarbine_mk2"] = "Carabina speciale MK2", - ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated + ["weapon_heavyrifle"] = "Fucile pesante", -- Sniper ["weapon_heavysniper"] = "Cecchino pesante", @@ -229,10 +233,10 @@ Locales["it"] = { ["weapon_tactilerifle"] = "Carabina di servizio", -- Drug Wars DLC - ['weapon_candycane'] = 'Candy Cane', -- not translated - ['weapon_acidpackage'] = 'Acid Package', -- not translated - ['weapon_pistolxm3'] = 'WM 29 Pistol', -- not translated - ['weapon_railgunxm3'] = 'Railgun', -- not translated + ['weapon_candycane'] = 'Bastoncino di zucchero', + ['weapon_acidpackage'] = 'Pacco di acidi', + ['weapon_pistolxm3'] = 'Pistola WM 29', + ['weapon_railgunxm3'] = 'Railgun', -- Thrown ["weapon_ball"] = "Palla", From d0b3334e34c647fea91a2d08700d79142cf7f4bc Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Mon, 21 Aug 2023 00:56:50 +0200 Subject: [PATCH 087/148] Update main.lua --- [core]/es_extended/client/main.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index 3e38f3b26..2d272aeec 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -384,7 +384,7 @@ if not Config.OxInventory then RegisterNetEvent('esx:createMissingPickups') AddEventHandler('esx:createMissingPickups', function(missingPickups) for pickupId, pickup in pairs(missingPickups) do - TriggerEvent('esx:createPickup', pickupId, pickup.label, pickup.coords - vector3(0, 0, 1.0), pickup.type, pickup.name + TriggerEvent('esx:createPickup', pickupId, pickup.label, vector3(pickup.coords.x, pickup.coords.y, pickup.coords.z - 1.0), pickup.type, pickup.name , pickup.components, pickup.tintIndex) end end) From acd18c6b15107db3514e910d69ae79a4b24a4009 Mon Sep 17 00:00:00 2001 From: Ilias Rbayti <63159154+Kenshiin13@users.noreply.github.com> Date: Mon, 21 Aug 2023 01:26:59 +0200 Subject: [PATCH 088/148] Added ESX.GetNumPlayers function --- [core]/es_extended/server/functions.lua | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index d70369a1b..e2e9cf1ac 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -259,6 +259,27 @@ function ESX.GetExtendedPlayers(key, val) return xPlayers end +function ESX.GetNumPlayers(key, val) + if(not key) then + return ESX.Table.SizeOf(ESX.Players) + end + + local valTable = (type(val) == "table" and val or {val}) + local numPlayers = {} + for i, val in ipairs(valTable) do + numPlayers[val] = 0 + end + + for i, xPlayer in pairs(ESX.Players) do + local value = (key == "job" and xPlayer.job.name or xPlayer[key]) + if(numPlayers[value]) then + numPlayers[value] += 1 + end + end + + return numPlayers +end + function ESX.GetPlayerFromId(source) return ESX.Players[tonumber(source)] end From 29fdf896f94b9cd3ff632fcf24239393c501a894 Mon Sep 17 00:00:00 2001 From: Ilias Rbayti <63159154+Kenshiin13@users.noreply.github.com> Date: Mon, 21 Aug 2023 01:58:52 +0200 Subject: [PATCH 089/148] Only returns a table if val param is also of type table. More intuitive. If I want the job count of a single job "police", I don't expect a table as a return value, but the count directly. --- [core]/es_extended/server/functions.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index e2e9cf1ac..d1bc1419f 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -264,7 +264,8 @@ function ESX.GetNumPlayers(key, val) return ESX.Table.SizeOf(ESX.Players) end - local valTable = (type(val) == "table" and val or {val}) + local isValATable = (type(val) == "table") + local valTable = (isValATable and val or {val}) local numPlayers = {} for i, val in ipairs(valTable) do numPlayers[val] = 0 @@ -277,7 +278,7 @@ function ESX.GetNumPlayers(key, val) end end - return numPlayers + return (isValATable and numPlayers or numPlayers[val]) end function ESX.GetPlayerFromId(source) From 77cbe8d38887a7ff0ecd3ecb4d79e636f9afa477 Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Mon, 21 Aug 2023 02:08:51 +0200 Subject: [PATCH 090/148] Update commands.lua this command would break if someone leaves and would stop counting at the first nil value in the list. you can get the length of the table to get the online players message in front but that would be less performant. --- [core]/es_extended/server/commands.lua | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index 80548c177..47458b0e7 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -574,11 +574,11 @@ ESX.RegisterCommand("noclip", 'admin', function(xPlayer) end, false) ESX.RegisterCommand('players', "admin", function() - local xPlayers = ESX.GetExtendedPlayers() -- Returns all xPlayers - print(('^5%s^2 online player(s)^0'):format(#xPlayers)) - for i = 1, #(xPlayers) do - local xPlayer = xPlayers[i] - print(('^1[^2ID: ^5%s^0 | ^2Name : ^5%s^0 | ^2Group : ^5%s^0 | ^2Identifier : ^5%s^1]^0\n'):format( - xPlayer.source, xPlayer.getName(), xPlayer.getGroup(), xPlayer.identifier)) - end + local xPlayers = ESX.GetExtendedPlayers() -- Returns all xPlayers + local count = 0 + for _, xPlayer in pairs(xPlayers) do + count += 1 + print(('^1[^2ID: ^5%s^0 | ^2Name : ^5%s^0 | ^2Group : ^5%s^0 | ^2Identifier : ^5%s^1]^0\n'):format(xPlayer.source, xPlayer.getName(), xPlayer.getGroup(), xPlayer.identifier)) + end + print(('^5%s^2 online player(s)^0'):format(count)) end, true) From f19080f890f313b63eb3bfb64365381f913009fe Mon Sep 17 00:00:00 2001 From: Epyi <68242948+epyidev@users.noreply.github.com> Date: Mon, 21 Aug 2023 09:31:59 +0200 Subject: [PATCH 091/148] Update fr.lua --- [core]/es_extended/locales/fr.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/[core]/es_extended/locales/fr.lua b/[core]/es_extended/locales/fr.lua index 3c25351bc..fafcbb309 100644 --- a/[core]/es_extended/locales/fr.lua +++ b/[core]/es_extended/locales/fr.lua @@ -232,6 +232,12 @@ Locales["fr"] = { ["weapon_precisionrifle"] = "Fusil de précision", ["weapon_tactilerifle"] = "Carabine tactique", + -- Drug wars dlc + ["weapon_candycane"] = "Sucre d'orge", + ["weapon_acidpackage"] = "Paquet d'acide", + ["weapon_pistolxm3"] = "Pistolet 8 x3m", + ["weapon_railgunxm3"] = "Fusil électro-magnétique", + -- Thrown ["weapon_ball"] = "Base-ball", ["weapon_bzgas"] = "Gaz BZ", From 993a87fc13476033e67abcabb424d8251ab20124 Mon Sep 17 00:00:00 2001 From: KadDarem Date: Mon, 21 Aug 2023 12:43:28 +0200 Subject: [PATCH 092/148] Fixed the spawn of vehicle with "Utility" class --- [core]/es_extended/client/functions.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index af1c9183f..611748716 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -1355,7 +1355,7 @@ function ESX.GetVehicleType(model) local vehicleType = GetVehicleClassFromName(model) local types = { [8] = "bike", - [11] = "trailer", + --[11] = "trailer", [13] = "bike", [14] = "boat", [15] = "heli", From b29a45b91074c091e65c76bab60813f76e87b131 Mon Sep 17 00:00:00 2001 From: WirzRexTon Date: Tue, 22 Aug 2023 21:15:51 +0200 Subject: [PATCH 093/148] Update server.cfg --- server.cfg | 2 -- 1 file changed, 2 deletions(-) diff --git a/server.cfg b/server.cfg index 80510f4e8..a4741dd0d 100644 --- a/server.cfg +++ b/server.cfg @@ -54,5 +54,3 @@ ensure oxmysql ensure es_extended ensure [core] -## ESX Addons -stop basic-gamemode #remove this if you don't want to use multicharacter From ce96e4ab20a3318b088c1ed7304aeb1a8806e8e5 Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Wed, 23 Aug 2023 01:37:25 +0200 Subject: [PATCH 094/148] automaticly stop resources that are breaking esx --- [core]/es_extended/client/main.lua | 17 ----------------- [core]/es_extended/server/main.lua | 25 +++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index 2d272aeec..38454694e 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -692,23 +692,6 @@ ESX.RegisterClientCallback("esx:GetVehicleType", function(cb, model) cb(ESX.GetVehicleType(model)) end) -local DoNotUse = { - 'essentialmode', - 'es_admin2', - 'basic-gamemode', - 'mapmanager', - 'fivem-map-skater', - 'fivem-map-hipster', - 'qb-core', - 'default_spawnpoint', -} - -for i = 1, #DoNotUse do - if GetResourceState(DoNotUse[i]) == 'started' or GetResourceState(DoNotUse[i]) == 'starting' then - print("[^1ERROR^7] YOU ARE USING A RESOURCE THAT WILL BREAK ^1ESX^7, PLEASE REMOVE ^5" .. DoNotUse[i] .. "^7") - end -end - AddStateBagChangeHandler('metadata', 'player:' .. tostring(GetPlayerServerId(PlayerId())), function(_, key, val) ESX.SetPlayerData(key, val) end) diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index 445a27d59..97b0fced4 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -701,3 +701,28 @@ end) AddEventHandler('txAdmin:events:serverShuttingDown', function() Core.SavePlayers() end) + +local DoNotUse = { + ['essentialmode'] = true, + ['es_admin2'] = true, + ['basic-gamemode'] = true, + ['mapmanager'] = true, + ['fivem-map-skater'] = true, + ['fivem-map-hipster'] = true, + ['qb-core'] = true, + ['default_spawnpoint'] = true, +} + +for key in pairs(DoNotUse) do + if GetResourceState(key) == 'started' or GetResourceState(key) == 'starting' then + StopResource(key) + print("[^1ERROR^7] WE STOPPED A RESOURCE THAT WILL BREAK ^1ESX^7, PLEASE REMOVE ^5" .. key .. "^7") + end +end + +AddEventHandler('onResourceStart', function(resourceName) + if DoNotUse[string.lower(resourceName)] then + StopResource(key) + print("[^1ERROR^7] WE STOPPED A RESOURCE THAT WILL BREAK ^1ESX^7, PLEASE REMOVE ^5" .. resourceName .. "^7") + end +end \ No newline at end of file From 847feb055da48a506f9268ef204aee73a27260d5 Mon Sep 17 00:00:00 2001 From: YOMAN1792 <94007829+YOMAN1792@users.noreply.github.com> Date: Wed, 23 Aug 2023 12:49:26 -0400 Subject: [PATCH 095/148] Update main.lua Fixed a syntax error --- [core]/es_extended/client/main.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index 7cc84fc90..5ab7632b4 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -503,7 +503,7 @@ if not Config.OxInventory then end) end ------ Admin commnads from esx_adminplus +----- Admin commands from esx_adminplus RegisterNetEvent("esx:tpm") AddEventHandler("esx:tpm", function() From 1b27475ce16abbee6aeec606f9bf123069b5f081 Mon Sep 17 00:00:00 2001 From: Ilias Rbayti <63159154+Kenshiin13@users.noreply.github.com> Date: Wed, 23 Aug 2023 21:06:04 +0200 Subject: [PATCH 096/148] Refactor param name 'type' --- [core]/es_extended/client/functions.lua | 54 ++++++++++---------- [core]/es_extended/client/main.lua | 4 +- [core]/es_extended/server/classes/player.lua | 4 +- [core]/es_extended/server/functions.lua | 8 +-- [core]/es_extended/server/main.lua | 18 +++---- 5 files changed, 44 insertions(+), 44 deletions(-) diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index af1c9183f..4f6ae8c29 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -70,17 +70,17 @@ function ESX.Progressbar(message, length, Options) print("[^1ERROR^7] ^5ESX Progressbar^7 is Missing!") end -function ESX.ShowNotification(message, type, length) +function ESX.ShowNotification(message, notifyType, length) if GetResourceState("esx_notify") ~= "missing" then - return exports["esx_notify"]:Notify(type, length, message) + return exports["esx_notify"]:Notify(notifyType, length, message) end print("[^1ERROR^7] ^5ESX Notify^7 is Missing!") end -function ESX.TextUI(message, type) +function ESX.TextUI(message, notifyType) if GetResourceState("esx_textui") ~= "missing" then - return exports["esx_textui"]:TextUI(message, type) + return exports["esx_textui"]:TextUI(message, notifyType) end print("[^1ERROR^7] ^5ESX TextUI^7 is Missing!") @@ -184,17 +184,17 @@ ESX.RegisterInput = function(command_name, label, input_group, key, on_press, on RegisterKeyMapping(on_release ~= nil and "+" .. command_name or command_name, label, input_group, key) end -function ESX.UI.Menu.RegisterType(type, open, close) - ESX.UI.Menu.RegisteredTypes[type] = { +function ESX.UI.Menu.RegisterType(menuType, open, close) + ESX.UI.Menu.RegisteredTypes[menuType] = { open = open, close = close } end -function ESX.UI.Menu.Open(type, namespace, name, data, submit, cancel, change, close) +function ESX.UI.Menu.Open(menuType, namespace, name, data, submit, cancel, change, close) local menu = {} - menu.type = type + menu.type = menuType menu.namespace = namespace menu.name = name menu.data = data @@ -203,11 +203,11 @@ function ESX.UI.Menu.Open(type, namespace, name, data, submit, cancel, change, c menu.change = change menu.close = function() - ESX.UI.Menu.RegisteredTypes[type].close(namespace, name) + ESX.UI.Menu.RegisteredTypes[menuType].close(namespace, name) for i = 1, #ESX.UI.Menu.Opened, 1 do if ESX.UI.Menu.Opened[i] then - if ESX.UI.Menu.Opened[i].type == type and ESX.UI.Menu.Opened[i].namespace == namespace and + if ESX.UI.Menu.Opened[i].type == menuType and ESX.UI.Menu.Opened[i].namespace == namespace and ESX.UI.Menu.Opened[i].name == name then ESX.UI.Menu.Opened[i] = nil end @@ -238,7 +238,7 @@ function ESX.UI.Menu.Open(type, namespace, name, data, submit, cancel, change, c end menu.refresh = function() - ESX.UI.Menu.RegisteredTypes[type].open(namespace, name, menu.data) + ESX.UI.Menu.RegisteredTypes[menuType].open(namespace, name, menu.data) end menu.setElement = function(i, key, val) @@ -267,15 +267,15 @@ function ESX.UI.Menu.Open(type, namespace, name, data, submit, cancel, change, c end ESX.UI.Menu.Opened[#ESX.UI.Menu.Opened + 1] = menu - ESX.UI.Menu.RegisteredTypes[type].open(namespace, name, data) + ESX.UI.Menu.RegisteredTypes[menuType].open(namespace, name, data) return menu end -function ESX.UI.Menu.Close(type, namespace, name) +function ESX.UI.Menu.Close(menuType, namespace, name) for i = 1, #ESX.UI.Menu.Opened, 1 do if ESX.UI.Menu.Opened[i] then - if ESX.UI.Menu.Opened[i].type == type and ESX.UI.Menu.Opened[i].namespace == namespace and + if ESX.UI.Menu.Opened[i].type == menuType and ESX.UI.Menu.Opened[i].namespace == namespace and ESX.UI.Menu.Opened[i].name == name then ESX.UI.Menu.Opened[i].close() ESX.UI.Menu.Opened[i] = nil @@ -293,10 +293,10 @@ function ESX.UI.Menu.CloseAll() end end -function ESX.UI.Menu.GetOpened(type, namespace, name) +function ESX.UI.Menu.GetOpened(menuType, namespace, name) for i = 1, #ESX.UI.Menu.Opened, 1 do if ESX.UI.Menu.Opened[i] then - if ESX.UI.Menu.Opened[i].type == type and ESX.UI.Menu.Opened[i].namespace == namespace and + if ESX.UI.Menu.Opened[i].type == menuType and ESX.UI.Menu.Opened[i].namespace == namespace and ESX.UI.Menu.Opened[i].name == name then return ESX.UI.Menu.Opened[i] end @@ -308,8 +308,8 @@ function ESX.UI.Menu.GetOpenedMenus() return ESX.UI.Menu.Opened end -function ESX.UI.Menu.IsOpen(type, namespace, name) - return ESX.UI.Menu.GetOpened(type, namespace, name) ~= nil +function ESX.UI.Menu.IsOpen(menuType, namespace, name) + return ESX.UI.Menu.GetOpened(menuType, namespace, name) ~= nil end function ESX.UI.ShowInventoryItemNotification(add, item, count) @@ -1182,7 +1182,7 @@ function ESX.ShowInventory() } ESX.OpenContext("right", elements2, function(_, element2) - local item, type = element2.value, element2.type + local item, itemType = element2.value, element2.type if element2.action == "give" then local playersNearby = ESX.Game.GetPlayersInArea(GetEntityCoords(playerPed), 3.0) @@ -1215,8 +1215,8 @@ function ESX.ShowInventory() local selectedPlayerPed = GetPlayerPed(selectedPlayer) if IsPedOnFoot(selectedPlayerPed) and not IsPedFalling(selectedPlayerPed) then - if type == 'item_weapon' then - TriggerServerEvent('esx:giveInventoryItem', selectedPlayerId, type, item, nil) + if itemType == 'item_weapon' then + TriggerServerEvent('esx:giveInventoryItem', selectedPlayerId, itemType, item, nil) ESX.CloseContext() else local elementsG = { @@ -1229,7 +1229,7 @@ function ESX.ShowInventory() local quantity = tonumber(menuG.eles[2].inputValue) if quantity and quantity > 0 and element.count >= quantity then - TriggerServerEvent('esx:giveInventoryItem', selectedPlayerId, type, item, quantity) + TriggerServerEvent('esx:giveInventoryItem', selectedPlayerId, itemType, item, quantity) ESX.CloseContext() else ESX.ShowNotification(TranslateCap('amount_invalid')) @@ -1251,12 +1251,12 @@ function ESX.ShowInventory() local dict, anim = 'weapons@first_person@aim_rng@generic@projectile@sticky_bomb@', 'plant_floor' ESX.Streaming.RequestAnimDict(dict) - if type == 'item_weapon' then + if itemType == 'item_weapon' then ESX.CloseContext() TaskPlayAnim(playerPed, dict, anim, 8.0, 1.0, 1000, 16, 0.0, false, false, false) RemoveAnimDict(dict) Wait(1000) - TriggerServerEvent('esx:removeInventoryItem', type, item) + TriggerServerEvent('esx:removeInventoryItem', itemType, item) else local elementsR = { { unselectable = true, icon = "fas fa-trash", title = element.title }, @@ -1272,7 +1272,7 @@ function ESX.ShowInventory() TaskPlayAnim(playerPed, dict, anim, 8.0, 1.0, 1000, 16, 0.0, false, false, false) RemoveAnimDict(dict) Wait(1000) - TriggerServerEvent('esx:removeInventoryItem', type, item, quantity) + TriggerServerEvent('esx:removeInventoryItem', itemType, item, quantity) else ESX.ShowNotification(TranslateCap('amount_invalid')) end @@ -1328,8 +1328,8 @@ function ESX.ShowInventory() end RegisterNetEvent('esx:showNotification') -AddEventHandler('esx:showNotification', function(msg, type, length) - ESX.ShowNotification(msg, type, length) +AddEventHandler('esx:showNotification', function(msg, notifyType, length) + ESX.ShowNotification(msg, notifyType, length) end) RegisterNetEvent('esx:showAdvancedNotification') diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index 01569e736..b83ea71a8 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -349,7 +349,7 @@ end) if not Config.OxInventory then RegisterNetEvent('esx:createPickup') - AddEventHandler('esx:createPickup', function(pickupId, label, coords, type, name, components, tintIndex) + AddEventHandler('esx:createPickup', function(pickupId, label, coords, itemType, name, components, tintIndex) local function setObjectProperties(object) SetEntityAsMissionEntity(object, true, false) PlaceObjectOnGroundProperly(object) @@ -364,7 +364,7 @@ if not Config.OxInventory then } end - if type == 'item_weapon' then + if itemType == 'item_weapon' then local weaponHash = joaat(name) ESX.Streaming.RequestWeaponAsset(weaponHash) local pickupObject = CreateWeaponObject(weaponHash, 50, coords.x, coords.y, coords.z, true, 1.0, 0) diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index 62c12cf19..b015f07a4 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -564,8 +564,8 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, end end - function self.showNotification(msg, type, length) - self.triggerEvent('esx:showNotification', msg, type, length) + function self.showNotification(msg, notifyType, length) + self.triggerEvent('esx:showNotification', msg, notifyType, length) end function self.showAdvancedNotification(sender, subject, msg, textureDict, iconType, flash, saveToBrief, hudColorIndex) diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index e01fe1f5c..6730b1fb4 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -469,19 +469,19 @@ function ESX.GetUsableItems() end if not Config.OxInventory then - function ESX.CreatePickup(type, name, count, label, playerId, components, tintIndex, coords) + function ESX.CreatePickup(itemType, name, count, label, playerId, components, tintIndex, coords) local pickupId = (Core.PickupId == 65635 and 0 or Core.PickupId + 1) local xPlayer = ESX.Players[playerId] coords = ( (type(coords) == "vector3" or type(coords) == "vector4") and coords.xyz or xPlayer.getCoords(true)) - Core.Pickups[pickupId] = { type = type, name = name, count = count, label = label, coords = coords } + Core.Pickups[pickupId] = { type = itemType, name = name, count = count, label = label, coords = coords } - if type == 'item_weapon' then + if itemType == 'item_weapon' then Core.Pickups[pickupId].components = components Core.Pickups[pickupId].tintIndex = tintIndex end - TriggerClientEvent('esx:createPickup', -1, pickupId, label, coords, type, name, components, tintIndex) + TriggerClientEvent('esx:createPickup', -1, pickupId, label, coords, itemType, name, components, tintIndex) Core.PickupId = pickupId end end diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index 49c2bf2e3..129c91491 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -412,7 +412,7 @@ if not Config.OxInventory then end) RegisterNetEvent('esx:giveInventoryItem') - AddEventHandler('esx:giveInventoryItem', function(target, type, itemName, itemCount) + AddEventHandler('esx:giveInventoryItem', function(target, itemType, itemName, itemCount) local playerId = source local sourceXPlayer = ESX.GetPlayerFromId(playerId) local targetXPlayer = ESX.GetPlayerFromId(target) @@ -422,7 +422,7 @@ if not Config.OxInventory then return end - if type == 'item_standard' then + if itemType == 'item_standard' then local sourceItem = sourceXPlayer.getInventoryItem(itemName) if itemCount > 0 and sourceItem.count >= itemCount then @@ -438,7 +438,7 @@ if not Config.OxInventory then else sourceXPlayer.showNotification(TranslateCap('imp_invalid_quantity')) end - elseif type == 'item_account' then + elseif itemType == 'item_account' then if itemCount > 0 and sourceXPlayer.getAccount(itemName).money >= itemCount then sourceXPlayer.removeAccountMoney(itemName, itemCount, "Gave to " .. targetXPlayer.name) targetXPlayer.addAccountMoney(itemName, itemCount, "Received from " .. sourceXPlayer.name) @@ -449,7 +449,7 @@ if not Config.OxInventory then else sourceXPlayer.showNotification(TranslateCap('imp_invalid_amount')) end - elseif type == 'item_weapon' then + elseif itemType == 'item_weapon' then if sourceXPlayer.hasWeapon(itemName) then local weaponLabel = ESX.GetWeaponLabel(itemName) if not targetXPlayer.hasWeapon(itemName) then @@ -482,7 +482,7 @@ if not Config.OxInventory then targetXPlayer.showNotification(TranslateCap('received_weapon_hasalready', sourceXPlayer.name, weaponLabel)) end end - elseif type == 'item_ammo' then + elseif itemType == 'item_ammo' then if sourceXPlayer.hasWeapon(itemName) then local _, weapon = sourceXPlayer.getWeapon(itemName) @@ -509,11 +509,11 @@ if not Config.OxInventory then end) RegisterNetEvent('esx:removeInventoryItem') - AddEventHandler('esx:removeInventoryItem', function(type, itemName, itemCount) + AddEventHandler('esx:removeInventoryItem', function(itemType, itemName, itemCount) local playerId = source local xPlayer = ESX.GetPlayerFromId(playerId) - if type == 'item_standard' then + if itemType == 'item_standard' then if itemCount == nil or itemCount < 1 then xPlayer.showNotification(TranslateCap('imp_invalid_quantity')) else @@ -528,7 +528,7 @@ if not Config.OxInventory then xPlayer.showNotification(TranslateCap('threw_standard', itemCount, xItem.label)) end end - elseif type == 'item_account' then + elseif itemType == 'item_account' then if itemCount == nil or itemCount < 1 then xPlayer.showNotification(TranslateCap('imp_invalid_amount')) else @@ -543,7 +543,7 @@ if not Config.OxInventory then xPlayer.showNotification(TranslateCap('threw_account', ESX.Math.GroupDigits(itemCount), string.lower(account.label))) end end - elseif type == 'item_weapon' then + elseif itemType == 'item_weapon' then itemName = string.upper(itemName) if xPlayer.hasWeapon(itemName) then From 4e197d3c1d63cb5973d94902c344a55b84291dfb Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Wed, 23 Aug 2023 21:14:04 +0200 Subject: [PATCH 097/148] Update main.lua --- [core]/es_extended/server/main.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index 97b0fced4..d1605f135 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -716,13 +716,13 @@ local DoNotUse = { for key in pairs(DoNotUse) do if GetResourceState(key) == 'started' or GetResourceState(key) == 'starting' then StopResource(key) - print("[^1ERROR^7] WE STOPPED A RESOURCE THAT WILL BREAK ^1ESX^7, PLEASE REMOVE ^5" .. key .. "^7") + print(("[^1ERROR^7] WE STOPPED A RESOURCE THAT WILL BREAK ^1ESX^7, PLEASE REMOVE ^5%s^7"):format(key)) end end -AddEventHandler('onResourceStart', function(resourceName) - if DoNotUse[string.lower(resourceName)] then +AddEventHandler('onResourceStart', function(key) + if DoNotUse[string.lower(key)] then StopResource(key) - print("[^1ERROR^7] WE STOPPED A RESOURCE THAT WILL BREAK ^1ESX^7, PLEASE REMOVE ^5" .. resourceName .. "^7") + print(("[^1ERROR^7] WE STOPPED A RESOURCE THAT WILL BREAK ^1ESX^7, PLEASE REMOVE ^5%s^7"):format(key)) end -end \ No newline at end of file +end From 333cc29ee5e73181813dda424aa8a9bf986500aa Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Thu, 24 Aug 2023 01:05:49 +0200 Subject: [PATCH 098/148] :package: Update ESX.PlayerData coords --- [core]/es_extended/client/modules/actions.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/[core]/es_extended/client/modules/actions.lua b/[core]/es_extended/client/modules/actions.lua index 219c35082..9150f0057 100644 --- a/[core]/es_extended/client/modules/actions.lua +++ b/[core]/es_extended/client/modules/actions.lua @@ -21,6 +21,7 @@ end CreateThread(function() while true do + ESX.SetPlayerData('coords',GetEntityCoords(playerPed)) if playerPed ~= PlayerPedId() then playerPed = PlayerPedId() ESX.SetPlayerData('ped', playerPed) From 317c096600744b60e07faa3b98ab17a01de35176 Mon Sep 17 00:00:00 2001 From: KadDarem Date: Thu, 24 Aug 2023 08:29:49 +0200 Subject: [PATCH 099/148] delete commented line --- [core]/es_extended/client/functions.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index 611748716..e7e9cd3a3 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -1355,7 +1355,6 @@ function ESX.GetVehicleType(model) local vehicleType = GetVehicleClassFromName(model) local types = { [8] = "bike", - --[11] = "trailer", [13] = "bike", [14] = "boat", [15] = "heli", From 7908d11e9848f131adbdf0b4a1754c3077b56d8c Mon Sep 17 00:00:00 2001 From: Jordi <82180160+xxjordi@users.noreply.github.com> Date: Thu, 24 Aug 2023 17:52:58 +0100 Subject: [PATCH 100/148] Fix es_extended/server/main.lua --- [core]/es_extended/server/main.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index d1605f135..8b4d86826 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -725,4 +725,4 @@ AddEventHandler('onResourceStart', function(key) StopResource(key) print(("[^1ERROR^7] WE STOPPED A RESOURCE THAT WILL BREAK ^1ESX^7, PLEASE REMOVE ^5%s^7"):format(key)) end -end +end) From 6539071a972b65b40a39126d44b23634e340d698 Mon Sep 17 00:00:00 2001 From: Lenny <84620158+Lenny822@users.noreply.github.com> Date: Fri, 25 Aug 2023 16:13:19 +0200 Subject: [PATCH 101/148] Update de.lua --- [core]/es_extended/locales/de.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/[core]/es_extended/locales/de.lua b/[core]/es_extended/locales/de.lua index 5b5f377b8..a79d2345c 100644 --- a/[core]/es_extended/locales/de.lua +++ b/[core]/es_extended/locales/de.lua @@ -204,7 +204,7 @@ Locales["de"] = { ["weapon_militaryrifle"] = "Militärgewehr", ["weapon_specialcarbine"] = "Spezialkarabiner", ["weapon_specialcarbine_mk2"] = "Spezialkarabiner MK2", - ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated + ["weapon_heavyrifle"] = "Schweres Gewehr", -- Sniper ["weapon_heavysniper"] = "Schwere Sniper", @@ -229,10 +229,10 @@ Locales["de"] = { ["weapon_tactilerifle"] = "Service Karabiner", -- Drug Wars DLC - ['weapon_candycane'] = 'Candy Cane', -- not translated - ['weapon_acidpackage'] = 'Acid Package', -- not translated - ['weapon_pistolxm3'] = 'WM 29 Pistol', -- not translated - ['weapon_railgunxm3'] = 'Railgun', -- not translated + ['weapon_candycane'] = 'Zuckerstange', + ['weapon_acidpackage'] = 'Säure Paket', + ['weapon_pistolxm3'] = 'WM 29 Pistole', + ['weapon_railgunxm3'] = 'Railgun', -- Thrown ["weapon_ball"] = "Baseball", From 9272145c0f371e1b9553ea682e33395b7cec1b36 Mon Sep 17 00:00:00 2001 From: Lenny <84620158+Lenny822@users.noreply.github.com> Date: Fri, 25 Aug 2023 16:25:30 +0200 Subject: [PATCH 102/148] Update de.lua --- [core]/es_extended/locales/de.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/[core]/es_extended/locales/de.lua b/[core]/es_extended/locales/de.lua index a79d2345c..414aefafb 100644 --- a/[core]/es_extended/locales/de.lua +++ b/[core]/es_extended/locales/de.lua @@ -101,6 +101,10 @@ Locales["de"] = { ['command_setjob_invalid'] = 'Der Job Grad oder beides sind ungültig', ['command_setgroup'] = 'Setzt eine Berechtigungs Gruppe für einen User', ['command_setgroup_group'] = 'Name der Gruppe', + ['command_removeaccountmoney'] = 'Entfernt Geld von einem bestimmten Account', + ['command_removeaccountmoney_account'] = 'Account von wem es entfernt werden soll', + ['command_removeaccountmoney_amount'] = 'Anzahl die Entfernt werden soll', + ['command_removeaccountmoney_invalid'] = 'Name des Accounts Ungültig', ['commanderror_argumentmismatch'] = 'Ungültiger Argument (gegeben %s, gewollt %s)', ['commanderror_argumentmismatch_number'] = 'Ungültiges Argument #%s daten typ (string gegeben, gewollte nummer)', ['commanderror_argumentmismatch_string'] = 'Invalid Argument #%s data type (passed number, wanted string)', From 783976d5a4650fc6fe20e493a189e55f639281ad Mon Sep 17 00:00:00 2001 From: Ilias Rbayti Date: Mon, 28 Aug 2023 00:12:39 +0200 Subject: [PATCH 103/148] Refactor GetNumPlayers function Use cached job count data instead of enumerating over ESX.Players --- [core]/es_extended/server/common.lua | 1 + [core]/es_extended/server/functions.lua | 37 +++++++++++++++---------- [core]/es_extended/server/main.lua | 12 ++++++++ 3 files changed, 35 insertions(+), 15 deletions(-) diff --git a/[core]/es_extended/server/common.lua b/[core]/es_extended/server/common.lua index c07495902..aac0e02db 100644 --- a/[core]/es_extended/server/common.lua +++ b/[core]/es_extended/server/common.lua @@ -1,6 +1,7 @@ ESX = {} ESX.Players = {} ESX.Jobs = {} +ESX.JobsPlayerCount = {} ESX.Items = {} Core = {} Core.UsableItemsCallbacks = {} diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index d1bc1419f..ad804468e 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -261,24 +261,31 @@ end function ESX.GetNumPlayers(key, val) if(not key) then - return ESX.Table.SizeOf(ESX.Players) + return #ESX.GetPlayers() end - local isValATable = (type(val) == "table") - local valTable = (isValATable and val or {val}) - local numPlayers = {} - for i, val in ipairs(valTable) do - numPlayers[val] = 0 - end - - for i, xPlayer in pairs(ESX.Players) do - local value = (key == "job" and xPlayer.job.name or xPlayer[key]) - if(numPlayers[value]) then - numPlayers[value] += 1 - end + if type(val) == "table" then + local numPlayers = {} + if key == "job" then + for _, v in ipairs(val) do + numPlayers[v] = (ESX.JobsPlayerCount[v] or 0) + end + return numPlayers + else + local filteredPlayers = ESX.GetExtendedPlayers(key, val) + for i, v in pairs(filteredPlayers) do + numPlayers[i] = (#v or 0) + end + return numPlayers + end + else + if key == "job" then + return (ESX.JobsPlayerCount[val] or 0) + else + local filteredPlayers = ESX.GetExtendedPlayers(key, val) + return #filteredPlayers + end end - - return (isValATable and numPlayers or numPlayers[val]) end function ESX.GetPlayerFromId(source) diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index d1bc6e0f7..58e26ceb8 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -377,6 +377,8 @@ AddEventHandler('playerDropped', function(reason) if xPlayer then TriggerEvent('esx:playerDropped', playerId, reason) + local job = xPlayer.getJob().name + ESX.JobsPlayerCount[job] = (ESX.JobsPlayerCount[job] or 1) -1 Core.playersByIdentifier[xPlayer.identifier] = nil Core.SavePlayer(xPlayer, function() @@ -385,6 +387,16 @@ AddEventHandler('playerDropped', function(reason) end end) +AddEventHandler("esx:playerLoaded", function(playerId, xPlayer, isNew) + local job = xPlayer.getJob().name + ESX.JobsPlayerCount[job] = (ESX.JobsPlayerCount[job] or 0) +1 +end) + +AddEventHandler("esx:setJob", function(src, job, lastJob) + ESX.JobsPlayerCount[lastJob.name] = (ESX.JobsPlayerCount[lastJob.name] or 1) - 1 + ESX.JobsPlayerCount[job.name] = (ESX.JobsPlayerCount[job.name] or 0) + 1 +end) + AddEventHandler('esx:playerLogout', function(playerId, cb) local xPlayer = ESX.GetPlayerFromId(playerId) if xPlayer then From 1203084a5c9d05e13c87eeb1b2448d4dedd66aed Mon Sep 17 00:00:00 2001 From: Kenshin13 <63159154+Kenshiin13@users.noreply.github.com> Date: Mon, 28 Aug 2023 11:15:16 +0200 Subject: [PATCH 104/148] Update [core]/es_extended/server/functions.lua Co-authored-by: Csoki --- [core]/es_extended/server/functions.lua | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index ad804468e..70130fcb6 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -271,20 +271,21 @@ function ESX.GetNumPlayers(key, val) numPlayers[v] = (ESX.JobsPlayerCount[v] or 0) end return numPlayers - else - local filteredPlayers = ESX.GetExtendedPlayers(key, val) - for i, v in pairs(filteredPlayers) do - numPlayers[i] = (#v or 0) - end - return numPlayers end - else - if key == "job" then - return (ESX.JobsPlayerCount[val] or 0) - else - local filteredPlayers = ESX.GetExtendedPlayers(key, val) - return #filteredPlayers + + local filteredPlayers = ESX.GetExtendedPlayers(key, val) + for i, v in pairs(filteredPlayers) do + numPlayers[i] = (#v or 0) end + return numPlayers + end + + if key == "job" then + return (ESX.JobsPlayerCount[val] or 0) + end + + local filteredPlayers = ESX.GetExtendedPlayers(key, val) + return #filteredPlayers end end From 0b82dbccec30a4d45d707f0184867480458e0baf Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Tue, 29 Aug 2023 20:52:44 +0200 Subject: [PATCH 105/148] :package: save health and armour in the metadata, and load the metadata when the player joins --- [core]/es_extended/client/main.lua | 8 ++++++++ [core]/es_extended/server/functions.lua | 8 ++++++++ [core]/es_extended/server/main.lua | 16 +++++++++++----- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index 38454694e..5ac1b3b95 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -59,6 +59,14 @@ AddEventHandler('esx:playerLoaded', function(xPlayer, isNew, skin) end local playerId = PlayerId() + local metadata = ESX.PlayerData.metadata + if metadata.health then + SetEntityHealth(ESX.PlayerData.ped, metadata.health) + end + + if metadata.armor and metadata.armor > 0 then + SetPedArmour(ESX.PlayerData.ped, metadata.armor) + end -- RemoveHudComponents for i = 1, #(Config.RemoveHudComponents) do diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index 90c5765ec..addfdd4a0 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -164,7 +164,14 @@ function ESX.RegisterCommand(name, group, cb, allowConsole, suggestion) end end +local function updateHealthAndArmorInMetadata(xPlayer) + local ped = GetPlayerPed(xPlayer.source) + xPlayer.setMeta('health', GetEntityHealth(ped)) + xPlayer.setMeta('armor',GetPedArmour(ped)) +end + function Core.SavePlayer(xPlayer, cb) + updateHealthAndArmorInMetadata(xPlayer) local parameters = { json.encode(xPlayer.getAccounts(true)), xPlayer.job.name, @@ -202,6 +209,7 @@ function Core.SavePlayers(cb) local parameters = {} for _, xPlayer in pairs(ESX.Players) do + updateHealthAndArmorInMetadata(xPlayer) parameters[#parameters + 1] = { json.encode(xPlayer.getAccounts(true)), xPlayer.job.name, diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index d1605f135..4b96f1b12 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -81,7 +81,7 @@ function createESXPlayer(identifier, playerId, data) print(('[^2INFO^0] Player ^5%s^0 Has been granted admin permissions via ^5Ace Perms^7.'):format(playerId)) defaultGroup = "admin" end - + local parameters = Config.Multichar and { json.encode(accounts), identifier, defaultGroup, data.firstname, data.lastname, data.dateofbirth, data.sex, data.height } or { json.encode(accounts), identifier, defaultGroup } if Config.StartingInventoryItems then @@ -325,6 +325,12 @@ function loadESXPlayer(identifier, playerId, isNew) xPlayer.set('height', userData.height) end end + --saved player health and armor in metadata + local ped = GetPlayerPed(xPlayer.source) + if ped then + xPlayer.setMeta('health', xPlayer.getMeta('health') or GetEntityHealth(ped)) + xPlayer.setMeta('armor', xPlayer.getMeta('armor') or GetPedArmour(ped)) + end TriggerEvent('esx:playerLoaded', playerId, xPlayer, isNew) @@ -713,7 +719,7 @@ local DoNotUse = { ['default_spawnpoint'] = true, } -for key in pairs(DoNotUse) do +for key in pairs(DoNotUse) do if GetResourceState(key) == 'started' or GetResourceState(key) == 'starting' then StopResource(key) print(("[^1ERROR^7] WE STOPPED A RESOURCE THAT WILL BREAK ^1ESX^7, PLEASE REMOVE ^5%s^7"):format(key)) @@ -721,8 +727,8 @@ for key in pairs(DoNotUse) do end AddEventHandler('onResourceStart', function(key) - if DoNotUse[string.lower(key)] then + if DoNotUse[string.lower(key)] then StopResource(key) print(("[^1ERROR^7] WE STOPPED A RESOURCE THAT WILL BREAK ^1ESX^7, PLEASE REMOVE ^5%s^7"):format(key)) - end -end + end +end From b58e2ac467d201bf67716737f2865e9df0b623f5 Mon Sep 17 00:00:00 2001 From: MoskalykA <100430077+MoskalykA@users.noreply.github.com> Date: Wed, 30 Aug 2023 14:13:11 +0200 Subject: [PATCH 106/148] feat: be able to disable ammunition display --- [core]/es_extended/client/main.lua | 4 ++++ [core]/es_extended/config.lua | 1 + 2 files changed, 5 insertions(+) diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index 1d9525090..e7df11b45 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -91,6 +91,10 @@ AddEventHandler('esx:playerLoaded', function(xPlayer, isNew, skin) if Config.DisableWeaponWheel or Config.DisableAimAssist or Config.DisableVehicleRewards then CreateThread(function() while true do + if Config.DisableDisplayAmmo then + DisplayAmmoThisFrame(false) + end + if Config.DisableWeaponWheel then BlockWeaponWheelThisFrame() DisableControlAction(0, 37, true) diff --git a/[core]/es_extended/config.lua b/[core]/es_extended/config.lua index d41ee683b..574876b3c 100644 --- a/[core]/es_extended/config.lua +++ b/[core]/es_extended/config.lua @@ -58,6 +58,7 @@ Config.DisableScenarios = false -- Disable Scenarios Config.DisableWeaponWheel = false -- Disables default weapon wheel Config.DisableAimAssist = false -- disables AIM assist (mainly on controllers) Config.DisableVehicleSeatShuff = false -- Disables vehicle seat shuff +Config.DisableDisplayAmmo = false -- Disable ammunition display Config.RemoveHudComponents = { [1] = false, --WANTED_STARS, [2] = false, --WEAPON_ICON From d755a57e8fef2b4f24871b5ff306472d0c3d296c Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Fri, 1 Sep 2023 17:58:06 +0200 Subject: [PATCH 107/148] Improve the way the identifier is fetched --- [core]/esx_multicharacter/server/main.lua | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/[core]/esx_multicharacter/server/main.lua b/[core]/esx_multicharacter/server/main.lua index 15058c753..b55704cb8 100644 --- a/[core]/esx_multicharacter/server/main.lua +++ b/[core]/esx_multicharacter/server/main.lua @@ -31,17 +31,13 @@ local PREFIX = Config.Prefix or 'char' local PRIMARY_IDENTIFIER = ESX.GetConfig().Identifier or GetConvar('sv_lan', '') == 'true' and 'ip' or "license" local function GetIdentifier(source) - local fxDk = GetConvarInt('sv_fxdkMode', 0) - if fxDk == 1 then - return "ESX-DEBUG-LICENCE" - end - local identifier = PRIMARY_IDENTIFIER..':' - for _, v in pairs(GetPlayerIdentifiers(source)) do - if string.match(v, identifier) then - identifier = string.gsub(v, identifier, '') - return identifier - end - end + local fxDk = GetConvarInt('sv_fxdkMode', 0) + if fxDk == 1 then + return "ESX-DEBUG-LICENCE" + end + + local identifier = string.gsub(GetPlayerIdentifierByType(source, PRIMARY_IDENTIFIER), PRIMARY_IDENTIFIER .. ':', '') + return identifier end if next(ESX.Players) then From fe64417bf47a39aa3962b725d29a324568d94f16 Mon Sep 17 00:00:00 2001 From: Ilias Rbayti <128304168+5d-scripts@users.noreply.github.com> Date: Sat, 2 Sep 2023 12:09:44 +0200 Subject: [PATCH 108/148] requested change #1 --- [core]/es_extended/server/functions.lua | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index 70130fcb6..fe4e05647 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -284,9 +284,7 @@ function ESX.GetNumPlayers(key, val) return (ESX.JobsPlayerCount[val] or 0) end - local filteredPlayers = ESX.GetExtendedPlayers(key, val) - return #filteredPlayers - end + return #ESX.GetExtendedPlayers(key, val) end function ESX.GetPlayerFromId(source) From 5f3e37a7c9766e5065059bae4eab585622f7b7d9 Mon Sep 17 00:00:00 2001 From: Ilias Rbayti <128304168+5d-scripts@users.noreply.github.com> Date: Sat, 2 Sep 2023 12:10:30 +0200 Subject: [PATCH 109/148] requested changes #2 --- [core]/es_extended/server/functions.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index fe4e05647..5599f16ca 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -260,7 +260,7 @@ function ESX.GetExtendedPlayers(key, val) end function ESX.GetNumPlayers(key, val) - if(not key) then + if not key then return #ESX.GetPlayers() end From 9e404fa022b7792cbbc629443767a4471731ed74 Mon Sep 17 00:00:00 2001 From: Ilias Rbayti <63159154+Kenshiin13@users.noreply.github.com> Date: Sat, 2 Sep 2023 12:21:43 +0200 Subject: [PATCH 110/148] make sure values are >= 0. --- [core]/es_extended/server/main.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index 58e26ceb8..5b46f52da 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -378,7 +378,7 @@ AddEventHandler('playerDropped', function(reason) if xPlayer then TriggerEvent('esx:playerDropped', playerId, reason) local job = xPlayer.getJob().name - ESX.JobsPlayerCount[job] = (ESX.JobsPlayerCount[job] or 1) -1 + ESX.JobsPlayerCount[job] = ((ESX.JobsPlayerCount[job] and ESX.JobsPlayerCount[job] > 0) and ESX.JobsPlayerCount[job] or 1) -1 Core.playersByIdentifier[xPlayer.identifier] = nil Core.SavePlayer(xPlayer, function() @@ -393,7 +393,7 @@ AddEventHandler("esx:playerLoaded", function(playerId, xPlayer, isNew) end) AddEventHandler("esx:setJob", function(src, job, lastJob) - ESX.JobsPlayerCount[lastJob.name] = (ESX.JobsPlayerCount[lastJob.name] or 1) - 1 + ESX.JobsPlayerCount[lastJob.name] = ((ESX.JobsPlayerCount[lastJob.name] and ESX.JobsPlayerCount[lastJob.name] > 0) and ESX.JobsPlayerCount[lastJob.name] or 1) -1 ESX.JobsPlayerCount[job.name] = (ESX.JobsPlayerCount[job.name] or 0) + 1 end) From 7978485b7a6201ca83b2196605abded15dac7f27 Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Sat, 2 Sep 2023 13:42:25 +0200 Subject: [PATCH 111/148] update to requested changes --- [core]/esx_multicharacter/server/main.lua | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/[core]/esx_multicharacter/server/main.lua b/[core]/esx_multicharacter/server/main.lua index b55704cb8..97c184214 100644 --- a/[core]/esx_multicharacter/server/main.lua +++ b/[core]/esx_multicharacter/server/main.lua @@ -36,8 +36,14 @@ local function GetIdentifier(source) return "ESX-DEBUG-LICENCE" end - local identifier = string.gsub(GetPlayerIdentifierByType(source, PRIMARY_IDENTIFIER), PRIMARY_IDENTIFIER .. ':', '') - return identifier + local identifier = GetPlayerIdentifierByType(source, PRIMARY_IDENTIFIER) + + if not identifier then + return + end + + identifier = identifier:gsub(PRIMARY_IDENTIFIER .. ':', '') + return identifier end if next(ESX.Players) then From 87e94c8193b471ff01b981e12ed39bbe0eeaba47 Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Sat, 2 Sep 2023 15:48:25 +0200 Subject: [PATCH 112/148] update little thing --- [core]/esx_multicharacter/server/main.lua | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/[core]/esx_multicharacter/server/main.lua b/[core]/esx_multicharacter/server/main.lua index 97c184214..5e83f6371 100644 --- a/[core]/esx_multicharacter/server/main.lua +++ b/[core]/esx_multicharacter/server/main.lua @@ -37,13 +37,7 @@ local function GetIdentifier(source) end local identifier = GetPlayerIdentifierByType(source, PRIMARY_IDENTIFIER) - - if not identifier then - return - end - - identifier = identifier:gsub(PRIMARY_IDENTIFIER .. ':', '') - return identifier + return identifier and identifier:gsub(PRIMARY_IDENTIFIER .. ':', '') end if next(ESX.Players) then From 45c4b666082dc77d42365750a613f2c847a94c1e Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Sun, 3 Sep 2023 11:20:57 +0200 Subject: [PATCH 113/148] improve fetching identifier in es_extended ( same way as in multichar ) --- [core]/es_extended/server/functions.lua | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index 5284362ba..91586005f 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -287,12 +287,9 @@ function ESX.GetIdentifier(playerId) if fxDk == 1 then return "ESX-DEBUG-LICENCE" end - for _, v in ipairs(GetPlayerIdentifiers(playerId)) do - if string.match(v, 'license:') then - local identifier = string.gsub(v, 'license:', '') - return identifier - end - end + + local identifier = GetPlayerIdentifierByType(playerId, 'license') + return identifier and identifier:gsub('license:', '') end ---@param model string|number From 0bb956414b0c5183b46a1156bc8af6e80e0e59c0 Mon Sep 17 00:00:00 2001 From: Thekuca <63980591+Thekuca@users.noreply.github.com> Date: Sun, 3 Sep 2023 15:30:50 +0200 Subject: [PATCH 114/148] feat(classes/player): added an admin flag inside the obj for easier check --- [core]/es_extended/server/classes/player.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index 307b5e95a..49b600cf7 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -20,6 +20,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, self.weight = weight self.maxWeight = Config.MaxWeight self.metadata = metadata + self.admin = Core.IsPlayerAdmin(playerId) if Config.Multichar then self.license = 'license' .. identifier:sub(identifier:find(':'), identifier:len()) else self.license = 'license:' .. identifier end ExecuteCommand(('add_principal identifier.%s group.%s'):format(self.license, self.group)) From 3871e928457461e6caf163f0effdce4ca53a8931 Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Mon, 4 Sep 2023 20:45:03 +0200 Subject: [PATCH 115/148] :ambulance: Handle nil values if use command in server console --- [core]/es_extended/server/commands.lua | 153 +++++++++++-------------- 1 file changed, 68 insertions(+), 85 deletions(-) diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index 47458b0e7..a08b57afc 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -1,9 +1,9 @@ -ESX.RegisterCommand({'setcoords', 'tp'}, 'admin', function(xPlayer, args) +ESX.RegisterCommand('setcoords', 'admin', function(xPlayer, args) xPlayer.setCoords({ x = args.x, y = args.y, z = args.z }) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Set Coordinates /setcoords Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "X Coord", value = args.x, inline = true }, { name = "Y Coord", value = args.y, inline = true }, { name = "Z Coord", value = args.z, inline = true }, @@ -13,9 +13,9 @@ end, false, { help = TranslateCap('command_setcoords'), validate = true, arguments = { - { name = 'x', help = TranslateCap('command_setcoords_x'), type = 'coordinate' }, - { name = 'y', help = TranslateCap('command_setcoords_y'), type = 'coordinate' }, - { name = 'z', help = TranslateCap('command_setcoords_z'), type = 'coordinate' } + { name = 'x', help = TranslateCap('command_setcoords_x'), type = 'number' }, + { name = 'y', help = TranslateCap('command_setcoords_y'), type = 'number' }, + { name = 'z', help = TranslateCap('command_setcoords_z'), type = 'number' } } }) @@ -27,11 +27,11 @@ ESX.RegisterCommand('setjob', 'admin', function(xPlayer, args, showError) args.playerId.setJob(args.job, args.grade) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Set Job /setjob Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, - { name = "Job", value = args.job, inline = true }, - { name = "Grade", value = args.grade, inline = true }, + { name = "Job", value = args.playerId, inline = true }, + { name = "Grade", value = args.playerId, inline = true }, }) end end, true, { @@ -75,8 +75,8 @@ ESX.RegisterCommand('car', 'admin', function(xPlayer, args, showError) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Spawn Car /car Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Vehicle", value = args.car, inline = true } }) end @@ -120,8 +120,8 @@ ESX.RegisterCommand({ 'cardel', 'dv' }, 'admin', function(xPlayer, args) end if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Delete Vehicle /dv Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, }) end end, false, { @@ -132,34 +132,6 @@ end, false, { } }) -ESX.RegisterCommand({ 'fix', 'repair' }, 'admin', function(xPlayer, args, showError) - local xTarget = args.playerId - local ped = GetPlayerPed(xTarget.source) - local pedVehicle = GetVehiclePedIsIn(ped, false) - if not pedVehicle or GetPedInVehicleSeat(pedVehicle, -1) ~= ped then - showError(TranslateCap('not_in_vehicle')) - return - end - xTarget.triggerEvent("esx:repairPedVehicle") - xPlayer.showNotification(TranslateCap('command_repair_success'), true, false, 140) - if xPlayer.source ~= xTarget.source then - xTarget.showNotification(TranslateCap('command_repair_success_target'), true, false, 140) - end - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Fix Vehicle /fix Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, - { name = "Target", value = xTarget.name, inline = true }, - }) - end -end, true, { - help = TranslateCap('command_repair'), - validate = false, - arguments = { - { name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player' } - } -}) - ESX.RegisterCommand('setaccountmoney', 'admin', function(xPlayer, args, showError) if not args.playerId.getAccount(args.account) then return showError(TranslateCap('command_giveaccountmoney_invalid')) @@ -167,8 +139,8 @@ ESX.RegisterCommand('setaccountmoney', 'admin', function(xPlayer, args, showErro args.playerId.setAccountMoney(args.account, args.amount, "Government Grant") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Set Account Money /setaccountmoney Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Account", value = args.account, inline = true }, { name = "Amount", value = args.amount, inline = true }, @@ -191,8 +163,8 @@ ESX.RegisterCommand('giveaccountmoney', 'admin', function(xPlayer, args, showErr args.playerId.addAccountMoney(args.account, args.amount, "Government Grant") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Give Account Money /giveaccountmoney Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Account", value = args.account, inline = true }, { name = "Amount", value = args.amount, inline = true }, @@ -215,8 +187,8 @@ ESX.RegisterCommand('removeaccountmoney', 'admin', function(xPlayer, args, showE args.playerId.removeAccountMoney(args.account, args.amount, "Government Tax") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Remove Account Money /removeaccountmoney Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Account", value = args.account, inline = true }, { name = "Amount", value = args.amount, inline = true }, @@ -237,8 +209,8 @@ if not Config.OxInventory then args.playerId.addInventoryItem(args.item, args.count) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Give Item /giveitem Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Item", value = args.item, inline = true }, { name = "Quantity", value = args.count, inline = true }, @@ -261,8 +233,8 @@ if not Config.OxInventory then args.playerId.addWeapon(args.weapon, args.ammo) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Give Weapon /giveweapon Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Weapon", value = args.weapon, inline = true }, { name = "Ammo", value = args.ammo, inline = true }, @@ -285,8 +257,8 @@ if not Config.OxInventory then args.playerId.addWeaponAmmo(args.weapon, args.ammo) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Give Ammunition /giveammo Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Weapon", value = args.weapon, inline = true }, { name = "Ammo", value = args.ammo, inline = true }, @@ -314,8 +286,8 @@ if not Config.OxInventory then if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Give Weapon Component /giveweaponcomponent Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Weapon", value = args.weaponName, inline = true }, { name = "Component", value = args.componentName, inline = true }, @@ -347,8 +319,8 @@ ESX.RegisterCommand({ 'clearall', 'clsall' }, 'admin', function(xPlayer) TriggerClientEvent('chat:clear', -1) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Clear Chat /clearall Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, }) end end, true, { help = TranslateCap('command_clearall') }) @@ -367,8 +339,8 @@ if not Config.OxInventory then TriggerEvent('esx:playerInventoryCleared', args.playerId) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Clear Inventory /clearinventory Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, }) end @@ -387,8 +359,8 @@ if not Config.OxInventory then TriggerEvent('esx:playerLoadoutCleared', args.playerId) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "/clearloadout Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, }) end @@ -410,8 +382,8 @@ ESX.RegisterCommand('setgroup', 'admin', function(xPlayer, args) args.playerId.setGroup(args.group) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "/setgroup Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Group", value = args.group, inline = true }, }) @@ -451,6 +423,7 @@ end, true) ESX.RegisterCommand('info', { "user", "admin" }, function(xPlayer) local job = xPlayer.getJob().name + local jobgrade = xPlayer.getJob().grade_name print(('^2ID: ^5%s^0 | ^2Name: ^5%s^0 | ^2Group: ^5%s^0 | ^2Job: ^5%s^0'):format(xPlayer.source, xPlayer.getName(), xPlayer.getGroup(), job)) end, true) @@ -467,8 +440,8 @@ ESX.RegisterCommand('tpm', "admin", function(xPlayer) xPlayer.triggerEvent("esx:tpm") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Admin Teleport /tpm Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, }) end end, true) @@ -478,8 +451,8 @@ ESX.RegisterCommand('goto', "admin", function(xPlayer, args) xPlayer.setCoords(targetCoords) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Admin Teleport /goto Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Target Coords", value = targetCoords, inline = true }, }) @@ -498,8 +471,8 @@ ESX.RegisterCommand('bring', "admin", function(xPlayer, args) args.playerId.setCoords(playerCoords) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Admin Teleport /bring Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Target Coords", value = targetCoords, inline = true }, }) @@ -516,8 +489,8 @@ ESX.RegisterCommand('kill', "admin", function(xPlayer, args) args.playerId.triggerEvent("esx:killPlayer") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Kill Command /kill Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, }) end @@ -533,8 +506,8 @@ ESX.RegisterCommand('freeze', "admin", function(xPlayer, args) args.playerId.triggerEvent('esx:freezePlayer', "freeze") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Admin Freeze /freeze Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, }) end @@ -550,8 +523,8 @@ ESX.RegisterCommand('unfreeze', "admin", function(xPlayer, args) args.playerId.triggerEvent('esx:freezePlayer', "unfreeze") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Admin UnFreeze /unfreeze Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, }) end @@ -567,18 +540,28 @@ ESX.RegisterCommand("noclip", 'admin', function(xPlayer) xPlayer.triggerEvent('esx:noclip') if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Admin NoClip /noclip Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, }) end end, false) ESX.RegisterCommand('players', "admin", function() - local xPlayers = ESX.GetExtendedPlayers() -- Returns all xPlayers - local count = 0 - for _, xPlayer in pairs(xPlayers) do - count += 1 - print(('^1[^2ID: ^5%s^0 | ^2Name : ^5%s^0 | ^2Group : ^5%s^0 | ^2Identifier : ^5%s^1]^0\n'):format(xPlayer.source, xPlayer.getName(), xPlayer.getGroup(), xPlayer.identifier)) - end - print(('^5%s^2 online player(s)^0'):format(count)) + local xPlayers = ESX.GetExtendedPlayers() -- Returns all xPlayers + print(('^5%s^2 online player(s)^0'):format(#xPlayers)) + for i = 1, #(xPlayers) do + local xPlayer = xPlayers[i] + print(('^1[^2ID: ^5%s^0 | ^2Name : ^5%s^0 | ^2Group : ^5%s^0 | ^2Identifier : ^5%s^1]^0\n'):format( + xPlayer.source, xPlayer.getName(), xPlayer.getGroup(), xPlayer.identifier)) + end end, true) + +RegisterCommand("testCommand",function (source,args,rawCommand) + local xPlayer = ESX.GetPlayerFromId(source) + ESX.DiscordLogFields("UserActions", "Admin Teleport /goto Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Target", value = "args.playerId.name", inline = true }, + { name = "Target Coords", value = "targetCoords", inline = true }, + }) +end,false) From ab8e15148c44fb36b68a487d8c8ac997b41c2332 Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Mon, 4 Sep 2023 20:48:41 +0200 Subject: [PATCH 116/148] Revert ":ambulance: Handle nil values if use command in server console" This reverts commit 3871e928457461e6caf163f0effdce4ca53a8931. --- [core]/es_extended/server/commands.lua | 153 ++++++++++++++----------- 1 file changed, 85 insertions(+), 68 deletions(-) diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index a08b57afc..47458b0e7 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -1,9 +1,9 @@ -ESX.RegisterCommand('setcoords', 'admin', function(xPlayer, args) +ESX.RegisterCommand({'setcoords', 'tp'}, 'admin', function(xPlayer, args) xPlayer.setCoords({ x = args.x, y = args.y, z = args.z }) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Set Coordinates /setcoords Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, { name = "X Coord", value = args.x, inline = true }, { name = "Y Coord", value = args.y, inline = true }, { name = "Z Coord", value = args.z, inline = true }, @@ -13,9 +13,9 @@ end, false, { help = TranslateCap('command_setcoords'), validate = true, arguments = { - { name = 'x', help = TranslateCap('command_setcoords_x'), type = 'number' }, - { name = 'y', help = TranslateCap('command_setcoords_y'), type = 'number' }, - { name = 'z', help = TranslateCap('command_setcoords_z'), type = 'number' } + { name = 'x', help = TranslateCap('command_setcoords_x'), type = 'coordinate' }, + { name = 'y', help = TranslateCap('command_setcoords_y'), type = 'coordinate' }, + { name = 'z', help = TranslateCap('command_setcoords_z'), type = 'coordinate' } } }) @@ -27,11 +27,11 @@ ESX.RegisterCommand('setjob', 'admin', function(xPlayer, args, showError) args.playerId.setJob(args.job, args.grade) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Set Job /setjob Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, { name = "Target", value = args.playerId.name, inline = true }, - { name = "Job", value = args.playerId, inline = true }, - { name = "Grade", value = args.playerId, inline = true }, + { name = "Job", value = args.job, inline = true }, + { name = "Grade", value = args.grade, inline = true }, }) end end, true, { @@ -75,8 +75,8 @@ ESX.RegisterCommand('car', 'admin', function(xPlayer, args, showError) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Spawn Car /car Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, { name = "Vehicle", value = args.car, inline = true } }) end @@ -120,8 +120,8 @@ ESX.RegisterCommand({ 'cardel', 'dv' }, 'admin', function(xPlayer, args) end if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Delete Vehicle /dv Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, }) end end, false, { @@ -132,6 +132,34 @@ end, false, { } }) +ESX.RegisterCommand({ 'fix', 'repair' }, 'admin', function(xPlayer, args, showError) + local xTarget = args.playerId + local ped = GetPlayerPed(xTarget.source) + local pedVehicle = GetVehiclePedIsIn(ped, false) + if not pedVehicle or GetPedInVehicleSeat(pedVehicle, -1) ~= ped then + showError(TranslateCap('not_in_vehicle')) + return + end + xTarget.triggerEvent("esx:repairPedVehicle") + xPlayer.showNotification(TranslateCap('command_repair_success'), true, false, 140) + if xPlayer.source ~= xTarget.source then + xTarget.showNotification(TranslateCap('command_repair_success_target'), true, false, 140) + end + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Fix Vehicle /fix Triggered!", "pink", { + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, + { name = "Target", value = xTarget.name, inline = true }, + }) + end +end, true, { + help = TranslateCap('command_repair'), + validate = false, + arguments = { + { name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player' } + } +}) + ESX.RegisterCommand('setaccountmoney', 'admin', function(xPlayer, args, showError) if not args.playerId.getAccount(args.account) then return showError(TranslateCap('command_giveaccountmoney_invalid')) @@ -139,8 +167,8 @@ ESX.RegisterCommand('setaccountmoney', 'admin', function(xPlayer, args, showErro args.playerId.setAccountMoney(args.account, args.amount, "Government Grant") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Set Account Money /setaccountmoney Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Account", value = args.account, inline = true }, { name = "Amount", value = args.amount, inline = true }, @@ -163,8 +191,8 @@ ESX.RegisterCommand('giveaccountmoney', 'admin', function(xPlayer, args, showErr args.playerId.addAccountMoney(args.account, args.amount, "Government Grant") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Give Account Money /giveaccountmoney Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Account", value = args.account, inline = true }, { name = "Amount", value = args.amount, inline = true }, @@ -187,8 +215,8 @@ ESX.RegisterCommand('removeaccountmoney', 'admin', function(xPlayer, args, showE args.playerId.removeAccountMoney(args.account, args.amount, "Government Tax") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Remove Account Money /removeaccountmoney Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Account", value = args.account, inline = true }, { name = "Amount", value = args.amount, inline = true }, @@ -209,8 +237,8 @@ if not Config.OxInventory then args.playerId.addInventoryItem(args.item, args.count) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Give Item /giveitem Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Item", value = args.item, inline = true }, { name = "Quantity", value = args.count, inline = true }, @@ -233,8 +261,8 @@ if not Config.OxInventory then args.playerId.addWeapon(args.weapon, args.ammo) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Give Weapon /giveweapon Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Weapon", value = args.weapon, inline = true }, { name = "Ammo", value = args.ammo, inline = true }, @@ -257,8 +285,8 @@ if not Config.OxInventory then args.playerId.addWeaponAmmo(args.weapon, args.ammo) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Give Ammunition /giveammo Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Weapon", value = args.weapon, inline = true }, { name = "Ammo", value = args.ammo, inline = true }, @@ -286,8 +314,8 @@ if not Config.OxInventory then if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Give Weapon Component /giveweaponcomponent Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Weapon", value = args.weaponName, inline = true }, { name = "Component", value = args.componentName, inline = true }, @@ -319,8 +347,8 @@ ESX.RegisterCommand({ 'clearall', 'clsall' }, 'admin', function(xPlayer) TriggerClientEvent('chat:clear', -1) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Clear Chat /clearall Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, }) end end, true, { help = TranslateCap('command_clearall') }) @@ -339,8 +367,8 @@ if not Config.OxInventory then TriggerEvent('esx:playerInventoryCleared', args.playerId) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Clear Inventory /clearinventory Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, { name = "Target", value = args.playerId.name, inline = true }, }) end @@ -359,8 +387,8 @@ if not Config.OxInventory then TriggerEvent('esx:playerLoadoutCleared', args.playerId) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "/clearloadout Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, { name = "Target", value = args.playerId.name, inline = true }, }) end @@ -382,8 +410,8 @@ ESX.RegisterCommand('setgroup', 'admin', function(xPlayer, args) args.playerId.setGroup(args.group) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "/setgroup Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Group", value = args.group, inline = true }, }) @@ -423,7 +451,6 @@ end, true) ESX.RegisterCommand('info', { "user", "admin" }, function(xPlayer) local job = xPlayer.getJob().name - local jobgrade = xPlayer.getJob().grade_name print(('^2ID: ^5%s^0 | ^2Name: ^5%s^0 | ^2Group: ^5%s^0 | ^2Job: ^5%s^0'):format(xPlayer.source, xPlayer.getName(), xPlayer.getGroup(), job)) end, true) @@ -440,8 +467,8 @@ ESX.RegisterCommand('tpm', "admin", function(xPlayer) xPlayer.triggerEvent("esx:tpm") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Admin Teleport /tpm Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, }) end end, true) @@ -451,8 +478,8 @@ ESX.RegisterCommand('goto', "admin", function(xPlayer, args) xPlayer.setCoords(targetCoords) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Admin Teleport /goto Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Target Coords", value = targetCoords, inline = true }, }) @@ -471,8 +498,8 @@ ESX.RegisterCommand('bring', "admin", function(xPlayer, args) args.playerId.setCoords(playerCoords) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Admin Teleport /bring Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Target Coords", value = targetCoords, inline = true }, }) @@ -489,8 +516,8 @@ ESX.RegisterCommand('kill', "admin", function(xPlayer, args) args.playerId.triggerEvent("esx:killPlayer") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Kill Command /kill Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, { name = "Target", value = args.playerId.name, inline = true }, }) end @@ -506,8 +533,8 @@ ESX.RegisterCommand('freeze', "admin", function(xPlayer, args) args.playerId.triggerEvent('esx:freezePlayer', "freeze") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Admin Freeze /freeze Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, { name = "Target", value = args.playerId.name, inline = true }, }) end @@ -523,8 +550,8 @@ ESX.RegisterCommand('unfreeze', "admin", function(xPlayer, args) args.playerId.triggerEvent('esx:freezePlayer', "unfreeze") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Admin UnFreeze /unfreeze Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, { name = "Target", value = args.playerId.name, inline = true }, }) end @@ -540,28 +567,18 @@ ESX.RegisterCommand("noclip", 'admin', function(xPlayer) xPlayer.triggerEvent('esx:noclip') if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Admin NoClip /noclip Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, }) end end, false) ESX.RegisterCommand('players', "admin", function() - local xPlayers = ESX.GetExtendedPlayers() -- Returns all xPlayers - print(('^5%s^2 online player(s)^0'):format(#xPlayers)) - for i = 1, #(xPlayers) do - local xPlayer = xPlayers[i] - print(('^1[^2ID: ^5%s^0 | ^2Name : ^5%s^0 | ^2Group : ^5%s^0 | ^2Identifier : ^5%s^1]^0\n'):format( - xPlayer.source, xPlayer.getName(), xPlayer.getGroup(), xPlayer.identifier)) - end + local xPlayers = ESX.GetExtendedPlayers() -- Returns all xPlayers + local count = 0 + for _, xPlayer in pairs(xPlayers) do + count += 1 + print(('^1[^2ID: ^5%s^0 | ^2Name : ^5%s^0 | ^2Group : ^5%s^0 | ^2Identifier : ^5%s^1]^0\n'):format(xPlayer.source, xPlayer.getName(), xPlayer.getGroup(), xPlayer.identifier)) + end + print(('^5%s^2 online player(s)^0'):format(count)) end, true) - -RegisterCommand("testCommand",function (source,args,rawCommand) - local xPlayer = ESX.GetPlayerFromId(source) - ESX.DiscordLogFields("UserActions", "Admin Teleport /goto Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "Target", value = "args.playerId.name", inline = true }, - { name = "Target Coords", value = "targetCoords", inline = true }, - }) -end,false) From b644f1f2e9edeb6d2ad69ad985934a4e335b0ec5 Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Mon, 4 Sep 2023 20:51:59 +0200 Subject: [PATCH 117/148] =?UTF-8?q?=F0=9F=9A=91=20Handle=20nil=20values=20?= =?UTF-8?q?if=20use=20command=20in=20server=20console?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- [core]/es_extended/server/commands.lua | 92 +++++++++++++------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index 47458b0e7..572794aab 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -2,8 +2,8 @@ ESX.RegisterCommand({'setcoords', 'tp'}, 'admin', function(xPlayer, args) xPlayer.setCoords({ x = args.x, y = args.y, z = args.z }) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Set Coordinates /setcoords Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "X Coord", value = args.x, inline = true }, { name = "Y Coord", value = args.y, inline = true }, { name = "Z Coord", value = args.z, inline = true }, @@ -27,8 +27,8 @@ ESX.RegisterCommand('setjob', 'admin', function(xPlayer, args, showError) args.playerId.setJob(args.job, args.grade) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Set Job /setjob Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Job", value = args.job, inline = true }, { name = "Grade", value = args.grade, inline = true }, @@ -75,8 +75,8 @@ ESX.RegisterCommand('car', 'admin', function(xPlayer, args, showError) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Spawn Car /car Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Vehicle", value = args.car, inline = true } }) end @@ -120,8 +120,8 @@ ESX.RegisterCommand({ 'cardel', 'dv' }, 'admin', function(xPlayer, args) end if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Delete Vehicle /dv Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, }) end end, false, { @@ -147,8 +147,8 @@ ESX.RegisterCommand({ 'fix', 'repair' }, 'admin', function(xPlayer, args, showEr end if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Fix Vehicle /fix Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = xTarget.name, inline = true }, }) end @@ -167,8 +167,8 @@ ESX.RegisterCommand('setaccountmoney', 'admin', function(xPlayer, args, showErro args.playerId.setAccountMoney(args.account, args.amount, "Government Grant") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Set Account Money /setaccountmoney Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Account", value = args.account, inline = true }, { name = "Amount", value = args.amount, inline = true }, @@ -191,8 +191,8 @@ ESX.RegisterCommand('giveaccountmoney', 'admin', function(xPlayer, args, showErr args.playerId.addAccountMoney(args.account, args.amount, "Government Grant") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Give Account Money /giveaccountmoney Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Account", value = args.account, inline = true }, { name = "Amount", value = args.amount, inline = true }, @@ -215,8 +215,8 @@ ESX.RegisterCommand('removeaccountmoney', 'admin', function(xPlayer, args, showE args.playerId.removeAccountMoney(args.account, args.amount, "Government Tax") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Remove Account Money /removeaccountmoney Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Account", value = args.account, inline = true }, { name = "Amount", value = args.amount, inline = true }, @@ -237,8 +237,8 @@ if not Config.OxInventory then args.playerId.addInventoryItem(args.item, args.count) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Give Item /giveitem Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Item", value = args.item, inline = true }, { name = "Quantity", value = args.count, inline = true }, @@ -261,8 +261,8 @@ if not Config.OxInventory then args.playerId.addWeapon(args.weapon, args.ammo) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Give Weapon /giveweapon Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Weapon", value = args.weapon, inline = true }, { name = "Ammo", value = args.ammo, inline = true }, @@ -285,8 +285,8 @@ if not Config.OxInventory then args.playerId.addWeaponAmmo(args.weapon, args.ammo) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Give Ammunition /giveammo Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Weapon", value = args.weapon, inline = true }, { name = "Ammo", value = args.ammo, inline = true }, @@ -314,8 +314,8 @@ if not Config.OxInventory then if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Give Weapon Component /giveweaponcomponent Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Weapon", value = args.weaponName, inline = true }, { name = "Component", value = args.componentName, inline = true }, @@ -347,8 +347,8 @@ ESX.RegisterCommand({ 'clearall', 'clsall' }, 'admin', function(xPlayer) TriggerClientEvent('chat:clear', -1) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Clear Chat /clearall Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, }) end end, true, { help = TranslateCap('command_clearall') }) @@ -367,8 +367,8 @@ if not Config.OxInventory then TriggerEvent('esx:playerInventoryCleared', args.playerId) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Clear Inventory /clearinventory Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, }) end @@ -387,8 +387,8 @@ if not Config.OxInventory then TriggerEvent('esx:playerLoadoutCleared', args.playerId) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "/clearloadout Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, }) end @@ -410,8 +410,8 @@ ESX.RegisterCommand('setgroup', 'admin', function(xPlayer, args) args.playerId.setGroup(args.group) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "/setgroup Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Group", value = args.group, inline = true }, }) @@ -467,8 +467,8 @@ ESX.RegisterCommand('tpm', "admin", function(xPlayer) xPlayer.triggerEvent("esx:tpm") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Admin Teleport /tpm Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, }) end end, true) @@ -478,8 +478,8 @@ ESX.RegisterCommand('goto', "admin", function(xPlayer, args) xPlayer.setCoords(targetCoords) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Admin Teleport /goto Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Target Coords", value = targetCoords, inline = true }, }) @@ -498,8 +498,8 @@ ESX.RegisterCommand('bring', "admin", function(xPlayer, args) args.playerId.setCoords(playerCoords) if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Admin Teleport /bring Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, { name = "Target Coords", value = targetCoords, inline = true }, }) @@ -516,8 +516,8 @@ ESX.RegisterCommand('kill', "admin", function(xPlayer, args) args.playerId.triggerEvent("esx:killPlayer") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Kill Command /kill Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, }) end @@ -533,8 +533,8 @@ ESX.RegisterCommand('freeze', "admin", function(xPlayer, args) args.playerId.triggerEvent('esx:freezePlayer', "freeze") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Admin Freeze /freeze Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, }) end @@ -550,8 +550,8 @@ ESX.RegisterCommand('unfreeze', "admin", function(xPlayer, args) args.playerId.triggerEvent('esx:freezePlayer', "unfreeze") if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Admin UnFreeze /unfreeze Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, { name = "Target", value = args.playerId.name, inline = true }, }) end @@ -567,8 +567,8 @@ ESX.RegisterCommand("noclip", 'admin', function(xPlayer) xPlayer.triggerEvent('esx:noclip') if Config.AdminLogging then ESX.DiscordLogFields("UserActions", "Admin NoClip /noclip Triggered!", "pink", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, }) end end, false) From ebc22cc8e1f7d46cdab53a6e8c5e667f34eb34f7 Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Mon, 4 Sep 2023 22:45:51 +0200 Subject: [PATCH 118/148] :rotating_light: Revert players command to old method --- [core]/es_extended/server/commands.lua | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index 572794aab..69817266d 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -575,10 +575,9 @@ end, false) ESX.RegisterCommand('players', "admin", function() local xPlayers = ESX.GetExtendedPlayers() -- Returns all xPlayers - local count = 0 - for _, xPlayer in pairs(xPlayers) do - count += 1 + print(('^5%s^2 online player(s)^0'):format(#xPlayers)) + for i = 1, #(xPlayers) do + local xPlayer = xPlayers[i] print(('^1[^2ID: ^5%s^0 | ^2Name : ^5%s^0 | ^2Group : ^5%s^0 | ^2Identifier : ^5%s^1]^0\n'):format(xPlayer.source, xPlayer.getName(), xPlayer.getGroup(), xPlayer.identifier)) - end - print(('^5%s^2 online player(s)^0'):format(count)) + end end, true) From 275a1d16a3625b901c4c14e55b644c88e06841cc Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Mon, 4 Sep 2023 22:46:23 +0200 Subject: [PATCH 119/148] :rotating_light: Solving backward compatibility --- [core]/es_extended/server/functions.lua | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index 91586005f..3e60ac9b9 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -256,8 +256,6 @@ local function checkTable(key, val, player, xPlayers) end function ESX.GetExtendedPlayers(key, val) - if not key then return ESX.Players end - local xPlayers = {} if type(val) == "table" then for _, v in pairs(ESX.Players) do @@ -265,7 +263,11 @@ function ESX.GetExtendedPlayers(key, val) end else for _, v in pairs(ESX.Players) do - if (key == 'job' and v.job.name == val) or v[key] == val then + if key then + if (key == 'job' and v.job.name == val) or v[key] == val then + xPlayers[#xPlayers + 1] = v + end + else xPlayers[#xPlayers + 1] = v end end From a0c0dbc3dd83d3b1aa19cb95462d19d33057a516 Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Mon, 4 Sep 2023 22:48:58 +0200 Subject: [PATCH 120/148] :rotating_light: Solving backward compatibility --- [core]/es_extended/server/functions.lua | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index 91586005f..3e60ac9b9 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -256,8 +256,6 @@ local function checkTable(key, val, player, xPlayers) end function ESX.GetExtendedPlayers(key, val) - if not key then return ESX.Players end - local xPlayers = {} if type(val) == "table" then for _, v in pairs(ESX.Players) do @@ -265,7 +263,11 @@ function ESX.GetExtendedPlayers(key, val) end else for _, v in pairs(ESX.Players) do - if (key == 'job' and v.job.name == val) or v[key] == val then + if key then + if (key == 'job' and v.job.name == val) or v[key] == val then + xPlayers[#xPlayers + 1] = v + end + else xPlayers[#xPlayers + 1] = v end end From d2ac393255f490121c6151ea25a70460a78883fa Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Mon, 4 Sep 2023 22:49:45 +0200 Subject: [PATCH 121/148] :rotating_light: Revert players command to old method --- [core]/es_extended/server/commands.lua | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index 572794aab..69817266d 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -575,10 +575,9 @@ end, false) ESX.RegisterCommand('players', "admin", function() local xPlayers = ESX.GetExtendedPlayers() -- Returns all xPlayers - local count = 0 - for _, xPlayer in pairs(xPlayers) do - count += 1 + print(('^5%s^2 online player(s)^0'):format(#xPlayers)) + for i = 1, #(xPlayers) do + local xPlayer = xPlayers[i] print(('^1[^2ID: ^5%s^0 | ^2Name : ^5%s^0 | ^2Group : ^5%s^0 | ^2Identifier : ^5%s^1]^0\n'):format(xPlayer.source, xPlayer.getName(), xPlayer.getGroup(), xPlayer.identifier)) - end - print(('^5%s^2 online player(s)^0'):format(count)) + end end, true) From 715ee856bab780eb561a61f83e6712af4a740ee3 Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Mon, 4 Sep 2023 23:50:30 +0200 Subject: [PATCH 122/148] :recycle: Little JobsPlayerCount refactor --- [core]/es_extended/server/main.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index 5b46f52da..42107b41a 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -378,7 +378,8 @@ AddEventHandler('playerDropped', function(reason) if xPlayer then TriggerEvent('esx:playerDropped', playerId, reason) local job = xPlayer.getJob().name - ESX.JobsPlayerCount[job] = ((ESX.JobsPlayerCount[job] and ESX.JobsPlayerCount[job] > 0) and ESX.JobsPlayerCount[job] or 1) -1 + local currentJob = ESX.JobsPlayerCount[job] + ESX.JobsPlayerCount[job] = ((currentJob and currentJob > 0) and currentJob or 1) -1 Core.playersByIdentifier[xPlayer.identifier] = nil Core.SavePlayer(xPlayer, function() @@ -393,7 +394,8 @@ AddEventHandler("esx:playerLoaded", function(playerId, xPlayer, isNew) end) AddEventHandler("esx:setJob", function(src, job, lastJob) - ESX.JobsPlayerCount[lastJob.name] = ((ESX.JobsPlayerCount[lastJob.name] and ESX.JobsPlayerCount[lastJob.name] > 0) and ESX.JobsPlayerCount[lastJob.name] or 1) -1 + local currentLastJob = ESX.JobsPlayerCount[lastJob.name] + ESX.JobsPlayerCount[lastJob.name] = ((currentLastJob and currentLastJob > 0) and currentLastJob or 1) -1 ESX.JobsPlayerCount[job.name] = (ESX.JobsPlayerCount[job.name] or 0) + 1 end) From 7510e91c2a669cde75e7d6653602f9d8749b2bed Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Mon, 4 Sep 2023 23:51:27 +0200 Subject: [PATCH 123/148] :package: Handle job counter with GlobalState --- [core]/es_extended/server/classes/player.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index 62c12cf19..33766ab88 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -32,6 +32,9 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, stateBag:set("name", self.name, true) stateBag:set("metadata", self.metadata, true) + local jobKey = ("%s:count"):format(self.job.name) + GlobalState[jobKey] = (GlobalState[jobKey] or 0) + 1 + function self.triggerEvent(eventName, ...) TriggerClientEvent(eventName, self.source, ...) end @@ -379,6 +382,13 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, TriggerEvent('esx:setJob', self.source, self.job, lastJob) self.triggerEvent('esx:setJob', self.job, lastJob) Player(self.source).state:set("job", self.job, true) + + local lastJobKey = ('%s:count'):format(lastJob.name) + local jobKey = ('%s:count'):format(self.job.name) + local globalStateLastJob = GlobalState[lastJobKey] + + GlobalState[lastJobKey] = ((globalStateLastJob and globalStateLastJob > 0) and globalStateLastJob or 1) - 1 + GlobalState[jobKey] = (GlobalState[jobKey] or 0) + 1 else print(('[es_extended] [^3WARNING^7] Ignoring invalid ^5.setJob()^7 usage for ID: ^5%s^7, Job: ^5%s^7'):format(self.source, job)) end From 4d09feb4c6edea321feaa8b689defcac45c42b46 Mon Sep 17 00:00:00 2001 From: steliosgaminggr <65224090+steliosgaminggr@users.noreply.github.com> Date: Wed, 6 Sep 2023 09:07:17 +0300 Subject: [PATCH 124/148] Create el.lua --- [core]/es_extended/locales/el.lua | 381 ++++++++++++++++++++++++++++++ 1 file changed, 381 insertions(+) create mode 100644 [core]/es_extended/locales/el.lua diff --git a/[core]/es_extended/locales/el.lua b/[core]/es_extended/locales/el.lua new file mode 100644 index 000000000..52dc72d4b --- /dev/null +++ b/[core]/es_extended/locales/el.lua @@ -0,0 +1,381 @@ +Locales["el"] = { + -- Inventory + ["inventory"] = "Αποθήκη ( Βάρος %s / %s )", + ["use"] = "Χρήση", + ["give"] = "Δώσε", + ["remove"] = "Πέτα", + ["return"] = "Επιστροφή", + ["give_to"] = "Δώσε σε", + ["amount"] = "Ποσότητα", + ["giveammo"] = "Δώσε σφαίρες", + ["amountammo"] = "Ποσότητα σφαιρών", + ["noammo"] = "Δεν υπάρχουν αρκετές σφαίρες!", + ["gave_item"] = "Δώσατε %sx %s στον/στην %s", + ["received_item"] = "Λάβατε %sx %s από τον/την %s", + ["gave_weapon"] = "Δίνετε %s στον/στην %s", + ["gave_weapon_ammo"] = "Δίνετε ~o~%sx %s για %s στον/στην %s", + ["gave_weapon_withammo"] = "Δίνετε %s με ~o~%sx %s στον/στην %s", + ["gave_weapon_hasalready"] = "Ο/Η %s έχει ήδη ένα %s", + ["gave_weapon_noweapon"] = "Ο/Η %s δεν έχει αυτό το όπλο", + ["received_weapon"] = "Λάβατε %s από τον/την %s", + ["received_weapon_ammo"] = "Λάβατε ~o~%sx %s για το %s από τον/την %s", + ["received_weapon_withammo"] = "Λάβατε %s για ~o~%sx %s από τον/την %s", + ["received_weapon_hasalready"] = "Ο/Η %s προσπάθησε να σας δώσει ένα %s, αλλά το έχετε ήδη", + ["received_weapon_noweapon"] = "Ο/Η %s προσπάθησε να σας δώσει σφαίρες για το %s, αλλά δεν έχετε αυτό το όπλο", + ["gave_account_money"] = "Δίνετε $%s (%s) στον/στην %s", + ["received_account_money"] = "Λάβατε $%s (%s) από τον/την %s", + ["amount_invalid"] = "Μη έγκυρη ποσότητα", + ["players_nearby"] = "Δεν υπάρχουν κοντινοί παίκτες", + ["ex_inv_lim"] = "Δεν είναι δυνατή η ενέργεια, υπέρβαση του μέγιστου βάρους των %s", +["imp_invalid_quantity"] = "Δεν είναι δυνατή η ενέργεια, η ποσότητα δεν είναι έγκυρη", +["imp_invalid_amount"] = "Δεν είναι δυνατή η ενέργεια, το ποσό δεν είναι έγκυρο", +["threw_standard"] = "Ρίχνοντας %sx %s", +["threw_account"] = "Ρίχνοντας $%s %s", +["threw_weapon"] = "Ρίχνοντας %s", +["threw_weapon_ammo"] = "Ρίχνοντας %s με ~o~%sx %s", +["threw_weapon_already"] = "Ήδη έχετε αυτό το όπλο", +["threw_cannot_pickup"] = "Η αποθήκη είναι γεμάτη, δεν μπορείτε να σηκώσετε!", +["threw_pickup_prompt"] = "Πατήστε E για να σηκώσετε", + +-- Key mapping +["keymap_showinventory"] = "Εμφάνιση Αποθήκης", + +-- Salary related +["received_salary"] = "Έχετε λάβει μισθό: $%s", +["received_help"] = "Έχετε λάβει το βοήθημά σας: $%s", +["company_nomoney"] = "Η εταιρεία στην οποία είστε απασχολούμενος/η δεν έχει αρκετά χρήματα για να καταβάλει τον μισθό σας", +["received_paycheck"] = "λάβατε μισθό", +["bank"] = "Τράπεζα Maze", +["account_bank"] = "Τραπεζικός Λογαριασμός", +["account_black_money"] = "Βρώμικα Χρήματα", +["account_money"] = "Μετρητά", + +["act_imp"] = "Δεν είναι δυνατή η εκτέλεση της ενέργειας", +["in_vehicle"] = "Δεν είναι δυνατή η εκτέλεση της ενέργειας, ο παίκτης βρίσκεται σε όχημα", +["not_in_vehicle"] = "Δεν είναι δυνατή η εκτέλεση της ενέργειας, ο παίκτης δεν βρίσκεται σε κάποιο όχημα", + +-- Commands +['command_bring'] = 'Φέρτε τον παίκτη σε εσάς', +['command_car'] = 'Κλήση οχήματος', +['command_car_car'] = 'Μοντέλο ή κωδικός οχήματος', +['command_cardel'] = 'Κατάργηση οχημάτων κοντά', +['command_cardel_radius'] = 'Καταργεί όλα τα οχήματα εντός της καθορισμένης ακτίνας', + ['command_repair'] = 'Επισκέυασε το όχημα σου', + ['command_repair_success'] = 'Το όχημα σου επισκευάστηκε', + ['command_repair_success_target'] = 'Ένας διαχειριστής επισκεύασε το όχημα σου', +['command_clear'] = 'Καθαρισμός κειμένου στο chat', +['command_clearall'] = 'Καθαρισμός κειμένου στο chat για όλους τους παίκτες', +['command_clearinventory'] = 'Κατάργηση όλων των αντικειμένων από την αποθήκη των παικτών', +['command_clearloadout'] = 'Κατάργηση όλων των όπλων από την εξάρτηση των παικτών', +['command_freeze'] = 'Πάγωμα ενός παίκτη', +['command_unfreeze'] = 'Ξεπάγωμα ενός παίκτη', +['command_giveaccountmoney'] = 'Δώστε χρήματα σε καθορισμένο λογαριασμό', +['command_giveaccountmoney_account'] = 'Λογαριασμός προς προσθήκη', +['command_giveaccountmoney_amount'] = 'Ποσό προς προσθήκη', +['command_giveaccountmoney_invalid'] = 'Μη έγκυρο όνομα λογαριασμού', +['command_removeaccountmoney'] = 'Κατάργηση χρημάτων από καθορισμένο λογαριασμό', +['command_removeaccountmoney_account'] = 'Λογαριασμός από τον οποίο θα καταργηθούν τα χρήματα', +['command_removeaccountmoney_amount'] = 'Ποσό προς αφαίρεση', +['command_removeaccountmoney_invalid'] = 'Μη έγκυρο όνομα λογαριασμού', +['command_giveitem'] = 'Δώστε σε έναν παίκτη ένα αντικείμενο', +['command_giveitem_item'] = 'Όνομα αντικειμένου', +['command_giveitem_count'] = 'Ποσότητα', +['command_giveweapon'] = 'Δώστε σε έναν παίκτη ένα όπλο', +['command_giveweapon_weapon'] = 'Όνομα όπλου', +['command_giveweapon_ammo'] = 'Ποσότητα πυρομαχικών', +['command_giveweapon_hasalready'] = 'Ο παίκτης έχει ήδη αυτό το όπλο', +['command_giveweaponcomponent'] = 'Δώστε σε έναν παίκτη μια εξάρτηση όπλου', +['command_giveweaponcomponent_component'] = 'Όνομα εξάρτησης', +['command_giveweaponcomponent_invalid'] = 'Μη έγκυρη εξάρτηση όπλου', +['command_giveweaponcomponent_hasalready'] = 'Ο παίκτης έχει ήδη αυτήν την εξάρτηση όπλου', +['command_giveweaponcomponent_missingweapon'] = 'Ο παίκτης δεν έχει αυτό το όπλο', +['command_goto'] = 'Τηλεμεταφέρεστε σε έναν παίκτη', +['command_kill'] = 'Σκοτώστε έναν παίκτη', +['command_save'] = 'Εξαναγκαστική αποθήκευση δεδομένων ενός παίκτη', +['command_saveall'] = 'Εξαναγκαστική αποθήκευση όλων των δεδομένων των παικτών', +['command_setaccountmoney'] = 'Ορίστε τα χρήματα σε έναν καθορισμένο λογαριασμό', +['command_setaccountmoney_amount'] = 'Ποσό', +['command_setcoords'] = 'Τηλεμεταφερθείτε σε καθορισμένες συντεταγμένες', +['command_setcoords_x'] = 'Τιμή X', +['command_setcoords_y'] = 'Τιμή Y', +['command_setcoords_z'] = 'Τιμή Z', +['command_setjob'] = 'Ορίστε το επάγγελμα ενός παίκτη', +['command_setjob_job'] = 'Όνομα', +['command_setjob_grade'] = 'Βαθμός επαγγέλματος', +['command_setjob_invalid'] = 'Το επάγγελμα, ο βαθμός ή και οι δύο είναι μη έγκυρα', +['command_setgroup'] = 'Ορίστε την ομάδα δικαιωμάτων ενός παίκτη', +['command_setgroup_group'] = 'Όνομα Ομάδας', +['commanderror_argumentmismatch'] = 'Μη έγκυρος αριθμός ορισμάτων (δόθηκαν %s, αναμενόμενα %s)', +['commanderror_argumentmismatch_number'] = 'Μη έγκυρος τύπος δεδομένων για το όρισμα #%s (δόθηκε συμβολοσειρά, αναμενόμενος αριθμός)', +['commanderror_argumentmismatch_string'] = 'Μη έγκυρος τύπος δεδομένων για το όρισμα #%s (δόθηκε αριθμός, αναμενόμενη συμβολοσειρά)', +['commanderror_invaliditem'] = 'Μη έγκυρο αντικείμενο', +['commanderror_invalidweapon'] = 'Μη έγκυρο όπλο', +['commanderror_console'] = 'Η εντολή δεν μπορεί να εκτελεστεί από την κονσόλα', +['commanderror_invalidcommand'] = 'Μη έγκυρη εντολή - /%s', +['commanderror_invalidplayerid'] = 'Ο καθορισμένος παίκτης δεν είναι συνδεδεμένος', +['commandgeneric_playerid'] = 'Αναγνωριστικό διακομιστή του παίκτη', +['command_giveammo_noweapon_found'] = 'Ο %s δεν έχει αυτό το όπλο', +['command_giveammo_weapon'] = 'Όνομα όπλου', +['command_giveammo_ammo'] = 'Ποσότητα πυρομαχικών', + ['tpm_nowaypoint'] = 'Δεν έχει οριστεί σημείο προορισμού.', + ['tpm_success'] = 'Επιτυχής τηλεμεταφορά', + + ['noclip_message'] = 'Το Noclip έχει %s', + ['enabled'] = '~g~ενεργοποιήθηκε~s~', + ['disabled'] = '~r~απενεργοποιήθηκε~s~', + + -- Ρυθμίσεις τοπικής γλώσσας + ["locale_digit_grouping_symbol"] = ",", + ["locale_currency"] = "£%s", + + -- Όπλα + + -- Χειροποίητα + ["weapon_dagger"] = "Στιλέτο", + ["weapon_bat"] = "Μπαστούνι", + ["weapon_battleaxe"] = "Πολεμική σείρα", + ["weapon_bottle"] = "Μπουκάλι", + ["weapon_crowbar"] = "Ροπαλάκι", + ["weapon_flashlight"] = "Φακός", + ["weapon_golfclub"] = "Γκολφ", + ["weapon_hammer"] = "Σφυρί", + ["weapon_hatchet"] = "Πέλεκυς", + ["weapon_knife"] = "Μαχαίρι", + ["weapon_knuckle"] = "Χειροπέδες", + ["weapon_machete"] = "Μαχαίρι μαχαιροπίρουνου", + ["weapon_nightstick"] = "Ρόπαλο νυχτερίδας", + ["weapon_wrench"] = "Ροκανίδι", + ["weapon_poolcue"] = "Καστήλα", + ["weapon_stone_hatchet"] = "Πέλεκυς από πέτρα", + ["weapon_switchblade"] = "Ξυραφάκι", + + -- Πιστόλια + ["weapon_appistol"] = "AP Πιστόλι", + ["weapon_ceramicpistol"] = "Κεραμικό πιστόλι", + ["weapon_combatpistol"] = "Πολεμικό πιστόλι", + ["weapon_doubleaction"] = "Διπλής δράσης Ριβόλβερ", + ["weapon_navyrevolver"] = "Ναυτικό Ρεβόλβερ", + ["weapon_flaregun"] = "Πιστόλι αστραπών", + ["weapon_gadgetpistol"] = "Πιστόλι συσκευών", + ["weapon_heavypistol"] = "Βαρύ πιστόλι", + ["weapon_revolver"] = "Βαρύ Ρεβόλβερ", + ["weapon_revolver_mk2"] = "Βαρύ Ρεβόλβερ MK2", + ["weapon_marksmanpistol"] = "Πιστόλι μονομάχου", + ["weapon_pistol"] = "Πιστόλι", + ["weapon_pistol_mk2"] = "Πιστόλι MK2", + ["weapon_pistol50"] = "Πιστόλι .50", + ["weapon_snspistol"] = "Πιστόλι SNS", + ["weapon_snspistol_mk2"] = "Πιστόλι SNS MK2", + ["weapon_stungun"] = "Ηλεκτροπληξία", + ["weapon_raypistol"] = "Up-N-Atomizer", + ["weapon_vintagepistol"] = "Βιομηχανικό πιστόλι", + + -- Καραμπίνες + ["weapon_assaultshotgun"] = "Πολεμική Καραμπίνα", + ["weapon_autoshotgun"] = "Αυτόματη Καραμπίνα", + ["weapon_bullpupshotgun"] = "Bullpup Καραμπίνα", + ["weapon_combatshotgun"] = "Καραμπίνα πολέμου", + ["weapon_dbshotgun"] = "Διπλής κάννης Καραμπίνα", + ["weapon_heavyshotgun"] = "Βαριά Καραμπίνα", + ["weapon_musket"] = "Μουσκέτα", + ["weapon_pumpshotgun"] = "Καραμπίνα αντλίας", + ["weapon_pumpshotgun_mk2"] = "Καραμπίνα αντλίας MK2", + ["weapon_sawnoffshotgun"] = "Καραμπίνα με κοντά κάννη", + + -- SMG & LMG + ["weapon_assaultsmg"] = "Πολεμικό SMG", + ["weapon_combatmg"] = "Πολεμικό MG", + ["weapon_combatmg_mk2"] = "Πολεμικό MG MK2", + ["weapon_combatpdw"] = "Πολεμικό PDW", + ["weapon_gusenberg"] = "Gusenberg Sweeper", + ["weapon_machinepistol"] = "Πιστόλι Αυτόματης Καραμπίνας", + ["weapon_mg"] = "MG", + ["weapon_microsmg"] = "Μικρό SMG", + ["weapon_minismg"] = "Μικρό SMG", + ["weapon_smg"] = "SMG", + ["weapon_smg_mk2"] = "SMG MK2", + ["weapon_raycarbine"] = "Ανεξίτηλο Hellbringer", + + -- Καραμπίνες + ["weapon_advancedrifle"] = "Προηγμένη Καραμπίνα", + ["weapon_assaultrifle"] = "Καραμπίνα Επίθεσης", + ["weapon_assaultrifle_mk2"] = "Καραμπίνα Επίθεσης MK2", + ["weapon_bullpuprifle"] = "Bullpup Καραμπίνα", + ["weapon_bullpuprifle_mk2"] = "Bullpup Καραμπίνα MK2", + ["weapon_carbinerifle"] = "Καραμπίνα", + ["weapon_carbinerifle_mk2"] = "Καραμπίνα MK2", + ["weapon_compactrifle"] = "Συμπαγής Καραμπίνα", + ["weapon_militaryrifle"] = "Στρατιωτική Καραμπίνα", + ["weapon_specialcarbine"] = "Ειδική Καραμπίνα", + ["weapon_specialcarbine_mk2"] = "Ειδική Καραμπίνα MK2", + + -- Κυνηγετικά + ["weapon_heavysniper"] = "Βαρύ Κυνηγετικό Ρίφλε", + ["weapon_heavysniper_mk2"] = "Βαρύ Κυνηγετικό Ρίφλε MK2", + ["weapon_marksmanrifle"] = "Ρίφλε Επαγγελματία Σκοπευτή", + ["weapon_marksmanrifle_mk2"] = "Ρίφλε Επαγγελματία Σκοπευτή MK2", + ["weapon_sniperrifle"] = "Κυνηγετικό Ρίφλε", + + -- Βαριά / Εκτοξευτές + ["weapon_compactlauncher"] = "Συμπαγής Εκτοξευτής", + ["weapon_firework"] = "Εκτοξευτής Πυροτεχνημάτων", + ["weapon_grenadelauncher"] = "Εκτοξευτής Γρανατών", + ["weapon_hominglauncher"] = "Εκτοξευτής Εξόρυξης", + ["weapon_minigun"] = "Minigun", + ["weapon_railgun"] = "Railgun", + ["weapon_rpg"] = "Εκτοξευτής Πυραύλων", + ["weapon_rayminigun"] = "Widowmaker", + + -- Επιπλέον Όπλα από το Criminal Enterprises DLC + ["weapon_metaldetector"] = "Ανιχνευτής Μετάλλων", + ["weapon_precisionrifle"] = "Όπλο Ακρίβειας", + ["weapon_tactilerifle"] = "Όπλο Εξυπηρέτησης", + + -- Drug wars dlc + ["weapon_candycane"] = "Candycane", + ["weapon_acidpackage"] = "Acid Package", + ["weapon_pistolxm3"] = "Pistol8 x3m", + ["weapon_railgunxm3"] = "Railgun", + + -- Ρίψεις + ["weapon_ball"] = "Μπάλα", + ["weapon_bzgas"] = "BZ Gas", + ["weapon_flare"] = "Πυροτεχνήματα", + ["weapon_grenade"] = "Χειροβομβίδα", + ["weapon_petrolcan"] = "Κανέλα Βενζίνης", + ["weapon_hazardcan"] = "Κανέλα Επικίνδυνης Υλικότητας", + ["weapon_molotov"] = "Μολότοφ", + ["weapon_proxmine"] = "Νάρκη Εγγύτητας", + ["weapon_pipebomb"] = "Βόμβα Σωλήνα", + ["weapon_snowball"] = "Χιονόμπαλα", + ["weapon_stickybomb"] = "Κολλητή Βόμβα", + ["weapon_smokegrenade"] = "Δακρυγόνο", + + -- Ειδικά + ["weapon_fireextinguisher"] = "Πυροσβεστήρας", + ["weapon_digiscanner"] = "Ψηφιακός Σαρωτής", + ["weapon_garbagebag"] = "Σακούλα Απορριμμάτων", + ["weapon_handcuffs"] = "Χειροπέδες", + ["gadget_nightvision"] = "Νυχτερινή Όραση", + ["gadget_parachute"] = "Αλεξίπτωτο", + + -- Συστατικά Όπλων + ["component_knuckle_base"] = "Βασικό Μοντέλο", + ["component_knuckle_pimp"] = "Ο Φιλότιμος", + ["component_knuckle_ballas"] = "Οι Ballas", + ["component_knuckle_dollar"] = "Ο Εξαπατητής", + ["component_knuckle_diamond"] = "Η Ρόκα", + ["component_knuckle_hate"] = "Ο Μισητός", + ["component_knuckle_love"] = "Ο Εραστής", + ["component_knuckle_player"] = "Ο Παίκτης", + ["component_knuckle_king"] = "Ο Βασιλιάς", + ["component_knuckle_vagos"] = "Οι Vagos", + + ["component_luxary_finish"] = "Πολυτελές Φινίρισμα Όπλου", + + ["component_handle_default"] = "Προεπιλεγμένη Χειρολαβή", + ["component_handle_vip"] = "Χειρολαβή VIP", + ["component_handle_bodyguard"] = "Χειρολαβή Σωματοφύλακα", + + ["component_vip_finish"] = "Πολυτελές Φινίρισμα VIP", + ["component_bodyguard_finish"] = "Πολυτελές Φινίρισμα Σωματοφύλακα", + + ["component_camo_finish"] = "Ψηφιακό Καμουφλάζ", + ["component_camo_finish2"] = "Καμουφλάζ Πινελίου", + ["component_camo_finish3"] = "Καμουφλάζ Δάσους", + ["component_camo_finish4"] = "Καμουφλάζ Κρανίου", + ["component_camo_finish5"] = "Καμουφλάζ Sessanta Nove", + ["component_camo_finish6"] = "Καμουφλάζ Perseus", + ["component_camo_finish7"] = "Καμουφλάζ Λεοπάρδαλης", + ["component_camo_finish8"] = "Καμουφλάζ Ζέβρας", + ["component_camo_finish9"] = "Γεωμετρικό Καμουφλάζ", + ["component_camo_finish10"] = "Καμουφλάζ Boom", + ["component_camo_finish11"] = "Πατριωτικό Καμουφλάζ", + + ["component_camo_slide_finish"] = "Ψηφιακό Καμουφλάζ Slide", + ["component_camo_slide_finish2"] = "Καμουφλάζ Πινελίου Slide", + ["component_camo_slide_finish3"] = "Καμουφλάζ Δάσους Slide", + ["component_camo_slide_finish4"] = "Καμουφλάζ Κρανίου Slide", + ["component_camo_slide_finish5"] = "Καμουφλάζ Sessanta Nove Slide", + ["component_camo_slide_finish6"] = "Καμουφλάζ Perseus Slide", + ["component_camo_slide_finish7"] = "Καμουφλάζ Λεοπάρδαλης Slide", + ["component_camo_slide_finish8"] = "Καμουφλάζ Ζέβρας Slide", + ["component_camo_slide_finish9"] = "Γεωμετρικό Καμουφλάζ Slide", + ["component_camo_slide_finish10"] = "Καμουφλάζ Boom Slide", + ["component_camo_slide_finish11"] = "Πατριωτικό Καμουφλάζ Slide", + + ["component_clip_default"] = "Προεπιλεγμένο Περιοδικό", + ["component_clip_extended"] = "Επέκταση Περιοδικού", + ["component_clip_drum"] = "Περιοδικό Κάδος", + ["component_clip_box"] = "Περιοδικό Κιβώτιο", + + ["component_scope_holo"] = "Ολογραφική Σκοπευτική Συσκευή", + ["component_scope_small"] = "Μικρή Σκοπευτική Συσκευή", + ["component_scope_medium"] = "Μεσαία Σκοπευτική Συσκευή", + ["component_scope_large"] = "Μεγάλη Σκοπευτική Συσκευή", + ["component_scope"] = "Σκοπευτική Συσκευή Εγκατεστημένη", + ["component_scope_advanced"] = "Προηγμένη Σκοπευτική Συσκευή", + ["component_ironsights"] = "Σκοπευτικά Σιδερά", + + ["component_suppressor"] = "Καταστεναγματοποιητής", + ["component_compensator"] = "Αποζημιωτής", + + ["component_muzzle_flat"] = "Επίπεδο Φρένο Αέρα", + ["component_muzzle_tactical"] = "Τακτικό Φρένο Αέρα", + ["component_muzzle_fat"] = "Φρένο Αέρα Παχύ Άκρο", + ["component_muzzle_precision"] = "Φρένο Αέρα Ακρίβειας", + ["component_muzzle_heavy"] = "Φρένο Αέρα Βαρέως Τύπου", + ["component_muzzle_slanted"] = "Φρένο Αέρα Ανοιγοκλειστό", + ["component_muzzle_split"] = "Φρένο Αέρα Υποκλιμακούμενο", + ["component_muzzle_squared"] = "Φρένο Αέρα Τετραγωνισμένο", + + ["component_flashlight"] = "Φακός", + ["component_grip"] = "Λαβή", + + ["component_barrel_default"] = "Προεπιλεγμένο Κάννα", + ["component_barrel_heavy"] = "Βαριά Κάννα", + + ["component_ammo_tracer"] = "Σφαίρες με Ιχνηθέν Φωτός", + ["component_ammo_incendiary"] = "Σφαίρες Φωτιάς", + ["component_ammo_hollowpoint"] = "Σφαίρες Κενές Άκρες", + ["component_ammo_fmj"] = "Σφαίρες FMJ", + ["component_ammo_armor"] = "Σφαίρες Διάτρησης Θωράκισης", + ["component_ammo_explosive"] = "Εκρηκτικές Σφαίρες Διάτρησης Θωράκισης", + + ["component_shells_default"] = "Προεπιλεγμένες Φυσίγγια", + ["component_shells_incendiary"] = "Φυσίγγια Διαμαντινών", + ["component_shells_armor"] = "Φυσίγγια Θωράκισης Χάλυβα", + ["component_shells_hollowpoint"] = "Φυσίγγια Κενών Άκρων", + ["component_shells_explosive"] = "Φυσίγγια Εκρηκτικών", + + -- Πυρομαχικά Όπλων + ["ammo_rounds"] = "σφαιρίδιο(α)", + ["ammo_shells"] = "φυσίγγιο(α)", + ["ammo_charge"] = "φορτίο", + ["ammo_petrol"] = "γαλόνια καυσίμου", + ["ammo_firework"] = "πυροτεχνήματο(α)", + ["ammo_rockets"] = "πύραυλο(ι)", + ["ammo_grenadelauncher"] = "χειροβομβίδα(ες)", + ["ammo_grenade"] = "χειροβομβίδα(ες)", + ["ammo_stickybomb"] = "βόμβα(ες)", + ["ammo_pipebomb"] = "βόμβα(ες)", + ["ammo_smokebomb"] = "βόμβα(ες) καπνού", + ["ammo_molotov"] = "κοκτέιλ μολότοφ(α)", + ["ammo_proxmine"] = "μίνα(ες) εγγύτητας", + ["ammo_bzgas"] = "κανίστρα(ες)", + ["ammo_ball"] = "μπάλα(ες)", + ["ammo_snowball"] = "χιονόμπαλα(ες)", + ["ammo_flare"] = "φλογοβολίδα(ες)", + ["ammo_flaregun"] = "φλογοβολίδα(ες)", + + -- Επιστρώσεις Όπλων + ["tint_default"] = "προεπιλεγμένο δέρμα", + ["tint_green"] = "πράσινο δέρμα", + ["tint_gold"] = "χρυσό δέρμα", + ["tint_pink"] = "ροζ δέρμα", + ["tint_army"] = "στρατιωτικό δέρμα", + ["tint_lspd"] = "μπλε δέρμα", + ["tint_orange"] = "πορτοκαλί δέρμα", + ["tint_platinum"] = "πλατίνενο δέρμα", + +} From b343a10039773a6a9bb098629f28c977b5ca0074 Mon Sep 17 00:00:00 2001 From: Thekuca <63980591+Thekuca@users.noreply.github.com> Date: Sun, 10 Sep 2023 12:37:27 +0200 Subject: [PATCH 125/148] no need for invoking native --- [core]/es_extended/server/functions.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index 5599f16ca..cd512f5ae 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -261,7 +261,7 @@ end function ESX.GetNumPlayers(key, val) if not key then - return #ESX.GetPlayers() + return #ESX.Players end if type(val) == "table" then From 330a5878264f7d253d3d1f530bc38582ccb0a796 Mon Sep 17 00:00:00 2001 From: Thekuca <63980591+Thekuca@users.noreply.github.com> Date: Sun, 10 Sep 2023 18:22:24 +0200 Subject: [PATCH 126/148] nvm --- [core]/es_extended/server/functions.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index cd512f5ae..388ff54ad 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -261,7 +261,7 @@ end function ESX.GetNumPlayers(key, val) if not key then - return #ESX.Players + return #GetPlayers end if type(val) == "table" then From ddccbc8671857b9e7d37efb09bc623b46f44d491 Mon Sep 17 00:00:00 2001 From: Thekuca <63980591+Thekuca@users.noreply.github.com> Date: Sun, 10 Sep 2023 18:23:33 +0200 Subject: [PATCH 127/148] bruh --- [core]/es_extended/server/functions.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index 388ff54ad..d8a813f56 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -261,7 +261,7 @@ end function ESX.GetNumPlayers(key, val) if not key then - return #GetPlayers + return #GetPlayers() end if type(val) == "table" then From 69c55dec96a2a88be1ae8d952ea6affef91738ec Mon Sep 17 00:00:00 2001 From: Walker <80550093+Walker974@users.noreply.github.com> Date: Fri, 15 Sep 2023 17:31:03 +0100 Subject: [PATCH 128/148] update(resource manifest): update fx version --- [core]/es_extended/fxmanifest.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/fxmanifest.lua b/[core]/es_extended/fxmanifest.lua index 6dd7df0e4..8e9e178e4 100644 --- a/[core]/es_extended/fxmanifest.lua +++ b/[core]/es_extended/fxmanifest.lua @@ -1,4 +1,4 @@ -fx_version 'adamant' +fx_version 'cerulean' game 'gta5' description 'ES Extended' From e63c5fef00cf2db2a24347bf5a9abfd131e8318d Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Sat, 16 Sep 2023 14:13:28 +0200 Subject: [PATCH 129/148] :ambulance: Hotfix NUI cursor issue in esx_identity --- [core]/esx_identity/client/main.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/esx_identity/client/main.lua b/[core]/esx_identity/client/main.lua index 59b516e47..5e647b05f 100644 --- a/[core]/esx_identity/client/main.lua +++ b/[core]/esx_identity/client/main.lua @@ -44,7 +44,7 @@ if not Config.UseDeferrals then RegisterNetEvent('esx_identity:showRegisterIdentity', function() TriggerEvent('esx_skin:resetFirstSpawn') - while not ready do + while not (ready and loadingScreenFinished) do print('Waiting for esx_identity NUI..') Wait(100) end From 802141b4e57cfbdb0f09d702dec346eaf4f53d85 Mon Sep 17 00:00:00 2001 From: TheFantomas <117121911+TheFantomas@users.noreply.github.com> Date: Sat, 16 Sep 2023 18:36:24 +0200 Subject: [PATCH 130/148] =?UTF-8?q?=F0=9F=97=91=EF=B8=8Fwe=20don't=20have?= =?UTF-8?q?=20translator=20for=20danish=20now?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- [core]/es_extended/locales/da.lua | 377 ------------------------------ 1 file changed, 377 deletions(-) delete mode 100644 [core]/es_extended/locales/da.lua diff --git a/[core]/es_extended/locales/da.lua b/[core]/es_extended/locales/da.lua deleted file mode 100644 index 2aff7e816..000000000 --- a/[core]/es_extended/locales/da.lua +++ /dev/null @@ -1,377 +0,0 @@ -Locales["da"] = { - -- Inventory - ["inventory"] = "Inventar ( Vægt %s / %s )", - ["use"] = "Brug", - ["give"] = "Giv", - ["remove"] = "Smid", - ["return"] = "Tilbage", - ["give_to"] = "Giv til", - ["amount"] = "Beløb", - ["giveammo"] = "Giv ammunition", - ["amountammo"] = "Ammunition beløb", - ["noammo"] = "Ikke nok!", - ["gave_item"] = "Giver %sx %s til %s", - ["received_item"] = "Modtog %sx %s fra %s", - ["gave_weapon"] = "Giver %s til %s", - ["gave_weapon_ammo"] = "Giver ~o~%sx %s for %s til %s", - ["gave_weapon_withammo"] = "Giver %s med ~o~%sx %s til %s", - ["gave_weapon_hasalready"] = "%s har allerede en %s", - ["gave_weapon_noweapon"] = "%s har ikke det våben", - ["received_weapon"] = "Modtog %s fra %s", - ["received_weapon_ammo"] = "Modtog ~o~%sx %s for din %s fra %s", - ["received_weapon_withammo"] = "Modtog %s med ~o~%sx %s fra %s", - ["received_weapon_hasalready"] = "%s har forsøgt at give dig en %s, men du allerede dette våben", - ["received_weapon_noweapon"] = "%s har forsøgt at give dig ammunition for en %s, men du har ikke dette våben", - ["gave_account_money"] = "Giver %s kr. (%s) til %s", - ["received_account_money"] = "Modtog %s kr. (%s) fra %s", - ["amount_invalid"] = "Ugyldig mængde", - ["players_nearby"] = "Ingen spillere i nærheden", - ["ex_inv_lim"] = "Kan ikke udføre handling, overskrider maks. vægt på %s", - ["imp_invalid_quantity"] = "Handlingen kan ikke udføres, mængden er ugyldig", - ["imp_invalid_amount"] = "Handlingen kan ikke udføres, beløbet er ugyldigt", - ["threw_standard"] = "Smider %sx %s", - ["threw_account"] = "Smider %s kr. %s", - ["threw_weapon"] = "Smider %s", - ["threw_weapon_ammo"] = "Smider %s med ~o~%sx %s", - ["threw_weapon_already"] = "Du har allerede dette våben", - ["threw_cannot_pickup"] = "Inventory er fyldt, Kan ikke tages!", - ["threw_pickup_prompt"] = "Tryk på E for at tage genstand", - - -- Key mapping - ["keymap_showinventory"] = "Vis Inventory", - - -- Salary related - ["received_salary"] = "Du er blevet betalt: %s kr.", - ["received_help"] = "Du har fået udbetalt din velfærdscheck: %s kr.", - ["company_nomoney"] = "den virksomhed, du er ansat i, er for fattig til at udbetale din løn", - ["received_paycheck"] = "modtaget lønseddel", - ["bank"] = "Maze Bank", - ["account_bank"] = "Bank", - ["account_black_money"] = "Beskidte penge", - ["account_money"] = "Penge", - - ["act_imp"] = "Kan ikke udføre handling", - ["in_vehicle"] = "Kan ikke udføre handling, spilleren er i et køretøj", - ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", - - -- Commands - ['command_bring'] = 'Tag en spiller til dig', - ['command_car'] = 'Spawn et køretøj', - ['command_car_car'] = 'Køretøjsmodel eller hash', - ['command_cardel'] = 'Fjern køretøjer i nærheden', - ['command_cardel_radius'] = 'Fjerner alle køretøjer inden for den specificerede radius', - ['command_repair'] = 'Repair your vehicle', - ['command_repair_success'] = 'Successfully repaired vehicle', - ['command_repair_success_target'] = 'An admin repaired your vehicle', - ['command_clear'] = 'Ryd chatten', - ['command_clearall'] = 'Ryd chatten for alle spillere', - ['command_clearinventory'] = 'Fjern alle elementer fra spillernes inventar', - ['command_clearloadout'] = 'Fjern alle våben fra Players Loadout', - ['command_freeze'] = 'Frys en spiller', - ['command_unfreeze'] = 'Frigør en spiller', - ['command_giveaccountmoney'] = 'Giv penge til en bestemt konto', - ['command_giveaccountmoney_account'] = 'Konto at tilføje til', - ['command_giveaccountmoney_amount'] = 'Beløb at tilføje', - ['command_giveaccountmoney_invalid'] = 'Kontonavn ugyldigt', - ['command_giveitem'] = 'Giv spilleren en genstand', - ['command_giveitem_item'] = 'Genstands navn', - ['command_giveitem_count'] = 'Antal', - ['command_giveweapon'] = 'Giv spilleren et våben', - ['command_giveweapon_weapon'] = 'Navn på våben', - ['command_giveweapon_ammo'] = 'Ammunitions mængde', - ['command_giveweapon_hasalready'] = 'Spilleren har allerede dette våben', - ['command_giveweaponcomponent'] = 'Giv en våbenkomponent til spilleren', - ['command_giveweaponcomponent_component'] = 'Komponent navn', - ['command_giveweaponcomponent_invalid'] = 'Ugyldig våben-komponent', - ['command_giveweaponcomponent_hasalready'] = 'Spilleren har allerede denne våben-komponent', - ['command_giveweaponcomponent_missingweapon'] = 'Spilleren har ikke dette våben', - ['command_goto'] = 'Teleporter dig selv til en spiller', - ['command_kill'] = 'Dræb en spiller', - ['command_save'] = 'Force save en spillers data', - ['command_saveall'] = 'Force save alle spillers data', - ['command_setaccountmoney'] = 'Indstil pengene på en bestemt konto', - ['command_setaccountmoney_amount'] = 'Beløb', - ['command_setcoords'] = 'Teleporter til specificerede koordinater', - ['command_setcoords_x'] = 'X værdi', - ['command_setcoords_y'] = 'Y værdi', - ['command_setcoords_z'] = 'Z værdi', - ['command_setjob'] = 'Sæt en spillers job', - ['command_setjob_job'] = 'Navn', - ['command_setjob_grade'] = 'Job karakter', - ['command_setjob_invalid'] = 'jobbet, karakteren eller begge dele er ugyldige', - ['command_setgroup'] = 'Indstil en spillers tilladelsesgruppe', - ['command_setgroup_group'] = 'Navn på gruppe', - ['commanderror_argumentmismatch'] = 'Antal ugyldige argumenter (bestået %s, ønsket %s)', - ['commanderror_argumentmismatch_number'] = 'Ugyldigt argument #%s datatype (bestået streng, ønsket nummer)', - ['commanderror_argumentmismatch_string'] = 'Invalid Argument #%s data type (passed number, wanted string)', - ['commanderror_invaliditem'] = 'Ugyldig genstand', - ['commanderror_invalidweapon'] = 'Ugyldigt våben', - ['commanderror_console'] = 'Kommandoen kan ikke udføres fra konsollen', - ['commanderror_invalidcommand'] = 'Ugyldig kommando - /%s', - ['commanderror_invalidplayerid'] = 'Den angivne spiller er ikke online', - ['commandgeneric_playerid'] = 'Spillerens server-id', - ['command_giveammo_noweapon_found'] = '%s har ikke det våben', - ['command_giveammo_weapon'] = 'Våben navn', - ['command_giveammo_ammo'] = 'Ammunitions mængde', - ['tpm_nowaypoint'] = 'Ingen waypoint indstillet.', - ['tpm_success'] = 'Teleporteret med succes', - - ['noclip_message'] = 'Noclip er blevet %s', - ['enabled'] = '~g~aktiveret~s~', - ['disabled'] = '~r~deaktiveret~s~', - - -- Locale settings - ["locale_digit_grouping_symbol"] = ",", - ["locale_currency"] = "%s DKK", - - -- Weapons - - -- Melee - ["weapon_dagger"] = "Dolk", - ["weapon_bat"] = "Bat", - ["weapon_battleaxe"] = "Kampøkse", - ["weapon_bottle"] = "Flaske", - ["weapon_crowbar"] = "Koben", - ["weapon_flashlight"] = "Lommelygte", - ["weapon_golfclub"] = "Golf Club", - ["weapon_hammer"] = "Hammer", - ["weapon_hatchet"] = "Økse", - ["weapon_knife"] = "Kniv", - ["weapon_knuckle"] = "Knuckledusters", - ["weapon_machete"] = "Machete", - ["weapon_nightstick"] = "Nightstick", - ["weapon_wrench"] = "Pipe Wrench", - ["weapon_poolcue"] = "Pool Cue", - ["weapon_stone_hatchet"] = "Stone Hatchet", - ["weapon_switchblade"] = "Switchblade", - - -- Handguns - ["weapon_appistol"] = "AP Pistol", - ["weapon_ceramicpistol"] = "Ceramic Pistol", - ["weapon_combatpistol"] = "Combat Pistol", - ["weapon_doubleaction"] = "Double-Action Revolver", - ["weapon_navyrevolver"] = "Navy Revolver", - ["weapon_flaregun"] = "Flaregun", - ["weapon_gadgetpistol"] = "Gadget Pistol", - ["weapon_heavypistol"] = "Tung Pistol", - ["weapon_revolver"] = "Tung Revolver", - ["weapon_revolver_mk2"] = "Heavy Revolver MK2", - ["weapon_marksmanpistol"] = "Marksman Pistol", - ["weapon_pistol"] = "Pistol", - ["weapon_pistol_mk2"] = "Pistol MK2", - ["weapon_pistol50"] = "Pistol .50", - ["weapon_snspistol"] = "SNS Pistol", - ["weapon_snspistol_mk2"] = "SNS Pistol MK2", - ["weapon_stungun"] = "Taser", - ["weapon_raypistol"] = "Up-N-Atomizer", - ["weapon_vintagepistol"] = "Vintage Pistol", - - -- Shotguns - ["weapon_assaultshotgun"] = "Assault Shotgun", - ["weapon_autoshotgun"] = "Auto Shotgun", - ["weapon_bullpupshotgun"] = "Bullpup Shotgun", - ["weapon_combatshotgun"] = "Kamp Haglgevær", - ["weapon_dbshotgun"] = "Dobbeltløbet gevær", - ["weapon_heavyshotgun"] = "Tungt haglgevær", - ["weapon_musket"] = "Musket", - ["weapon_pumpshotgun"] = "Pumpe haglgevær", - ["weapon_pumpshotgun_mk2"] = "Pumpe haglgevær MK2", - ["weapon_sawnoffshotgun"] = "Oversavet haglgevær", - - -- SMG & LMG - ["weapon_assaultsmg"] = "Assault SMG", - ["weapon_combatmg"] = "Combat MG", - ["weapon_combatmg_mk2"] = "Combat MG MK2", - ["weapon_combatpdw"] = "Combat PDW", - ["weapon_gusenberg"] = "Gusenberg Sweeper", - ["weapon_machinepistol"] = "Maskinpistol", - ["weapon_mg"] = "MG", - ["weapon_microsmg"] = "Micro SMG", - ["weapon_minismg"] = "Mini SMG", - ["weapon_smg"] = "SMG", - ["weapon_smg_mk2"] = "SMG MK2", - ["weapon_raycarbine"] = "Unholy Hellbringer", - - -- Rifles - ["weapon_advancedrifle"] = "Advanced Rifle", - ["weapon_assaultrifle"] = "Assault Rifle", - ["weapon_assaultrifle_mk2"] = "Assault Rifle MK2", - ["weapon_bullpuprifle"] = "Bullpup Rifle", - ["weapon_bullpuprifle_mk2"] = "Bullpup Rifle MK2", - ["weapon_carbinerifle"] = "Carbine Rifle", - ["weapon_carbinerifle_mk2"] = "Carbine Rifle MK2", - ["weapon_compactrifle"] = "Compact Rifle", - ["weapon_militaryrifle"] = "Militær riffel", - ["weapon_specialcarbine"] = "Special Carbine", - ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", - ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated - - -- Sniper - ["weapon_heavysniper"] = "Tung snigskytte", - ["weapon_heavysniper_mk2"] = "Tung snigskytte MK2", - ["weapon_marksmanrifle"] = "Skytterifle", - ["weapon_marksmanrifle_mk2"] = "Skytterifle MK2", - ["weapon_sniperrifle"] = "Snigskytteriffel", - - -- Heavy / Launchers - ["weapon_compactlauncher"] = "Compact Launcher", - ["weapon_firework"] = "Firework Launcher", - ["weapon_grenadelauncher"] = "Grenade Launcher", - ["weapon_hominglauncher"] = "Homing Launcher", - ["weapon_minigun"] = "Minigun", - ["weapon_railgun"] = "Railgun", - ["weapon_rpg"] = "Rocket Launcher", - ["weapon_rayminigun"] = "Widowmaker", - - -- Criminal Enterprises DLC - ["weapon_metaldetector"] = "Metal Detector", - ["weapon_precisionrifle"] = "Precision Rifle", - ["weapon_tactilerifle"] = "Service Carbine", - - -- Drug Wars DLC - ['weapon_candycane'] = 'Candy Cane', -- not translated - ['weapon_acidpackage'] = 'Acid Package', -- not translated - ['weapon_pistolxm3'] = 'WM 29 Pistol', -- not translated - ['weapon_railgunxm3'] = 'Railgun', -- not translated - - -- Thrown - ["weapon_ball"] = "Baseball", - ["weapon_bzgas"] = "BZ Gas", - ["weapon_flare"] = "Flare", - ["weapon_grenade"] = "Granat", - ["weapon_petrolcan"] = "Benzindunk", - ["weapon_hazardcan"] = "Farlig Benzindunk", - ["weapon_molotov"] = "Molotov Cocktail", - ["weapon_proxmine"] = "Proximity Mine", - ["weapon_pipebomb"] = "Pipe Bomb", - ["weapon_snowball"] = "Snebold", - ["weapon_stickybomb"] = "Sticky Bomb", - ["weapon_smokegrenade"] = "Tåregas", - - -- Special - ["weapon_fireextinguisher"] = "Brandslukker", - ["weapon_digiscanner"] = "Digital scanner", - ["weapon_garbagebag"] = "Skraldepose", - ["weapon_handcuffs"] = "Håndjern", - ["gadget_nightvision"] = "Night Vision", - ["gadget_parachute"] = "faldskærm", - - -- Weapon Components - ["component_knuckle_base"] = "base Model", - ["component_knuckle_pimp"] = "the Pimp", - ["component_knuckle_ballas"] = "the Ballas", - ["component_knuckle_dollar"] = "the Hustler", - ["component_knuckle_diamond"] = "the Rock", - ["component_knuckle_hate"] = "the Hater", - ["component_knuckle_love"] = "the Lover", - ["component_knuckle_player"] = "the Player", - ["component_knuckle_king"] = "the King", - ["component_knuckle_vagos"] = "the Vagos", - - ["component_luxary_finish"] = "luxary Weapon Finish", - - ["component_handle_default"] = "standardhåndtag", - ["component_handle_vip"] = "VIP håndtag", - ["component_handle_bodyguard"] = "livvagt håndtag", - - ["component_vip_finish"] = "VIP Finish", - ["component_bodyguard_finish"] = "bodyguard Finish", - - ["component_camo_finish"] = "digital Camo", - ["component_camo_finish2"] = "brushstroke Camo", - ["component_camo_finish3"] = "woodland Camo", - ["component_camo_finish4"] = "skull Camo", - ["component_camo_finish5"] = "sessanta Nove Camo", - ["component_camo_finish6"] = "perseus Camo", - ["component_camo_finish7"] = "leopard Camo", - ["component_camo_finish8"] = "zebra Camo", - ["component_camo_finish9"] = "geometric Camo", - ["component_camo_finish10"] = "boom Camo", - ["component_camo_finish11"] = "patriotic Camo", - - ["component_camo_slide_finish"] = "digital Slide Camo", - ["component_camo_slide_finish2"] = "brushstroke Slide Camo", - ["component_camo_slide_finish3"] = "woodland Slide Camo", - ["component_camo_slide_finish4"] = "skull Slide Camo", - ["component_camo_slide_finish5"] = "sessanta Nove Slide Camo", - ["component_camo_slide_finish6"] = "perseus Slide Camo", - ["component_camo_slide_finish7"] = "leopard Slide Camo", - ["component_camo_slide_finish8"] = "zebra Slide Camo", - ["component_camo_slide_finish9"] = "geometric Slide Camo", - ["component_camo_slide_finish10"] = "boom Slide Camo", - ["component_camo_slide_finish11"] = "patriotic Slide Camo", - - ["component_clip_default"] = "standard magasin", - ["component_clip_extended"] = "udvidet Magasin", - ["component_clip_drum"] = "drum Magasin", - ["component_clip_box"] = "box Magazine", - - ["component_scope_holo"] = "rødpunktsigte", - ["component_scope_small"] = "lille sigte", - ["component_scope_medium"] = "medium sigte", - ["component_scope_large"] = "stort sigte", - ["component_scope"] = "mounted Scope", - ["component_scope_advanced"] = "avanceret sigte", - ["component_ironsights"] = "jernsigte", - - ["component_suppressor"] = "suppressor", - ["component_compensator"] = "compensator", - - ["component_muzzle_flat"] = "flat Muzzle Brake", - ["component_muzzle_tactical"] = "tactical Muzzle Brake", - ["component_muzzle_fat"] = "fat-End Muzzle Brake", - ["component_muzzle_precision"] = "precision Muzzle Brake", - ["component_muzzle_heavy"] = "heavy Duty Muzzle Brake", - ["component_muzzle_slanted"] = "slanted Muzzle Brake", - ["component_muzzle_split"] = "split-End Muzzle Brake", - ["component_muzzle_squared"] = "squared Muzzle Brake", - - ["component_flashlight"] = "våbenlygte", - ["component_grip"] = "greb", - - ["component_barrel_default"] = "default Barrel", - ["component_barrel_heavy"] = "heavy Barrel", - - ["component_ammo_tracer"] = "tracer Ammo", - ["component_ammo_incendiary"] = "incendiary Ammo", - ["component_ammo_hollowpoint"] = "hollowpoint Ammo", - ["component_ammo_fmj"] = "fMJ Ammo", - ["component_ammo_armor"] = "armor Piercing Ammo", - ["component_ammo_explosive"] = "armor Piercing Incendiary Ammo", - - ["component_shells_default"] = "default Shells", - ["component_shells_incendiary"] = "dragons Breath Shells", - ["component_shells_armor"] = "steel Buckshot Shells", - ["component_shells_hollowpoint"] = "flechette Shells", - ["component_shells_explosive"] = "explosive Slug Shells", - - -- Weapon Ammo - ["ammo_rounds"] = "round(s)", - ["ammo_shells"] = "shell(s)", - ["ammo_charge"] = "charge", - ["ammo_petrol"] = "gallons of fuel", - ["ammo_firework"] = "firework(s)", - ["ammo_rockets"] = "rocket(s)", - ["ammo_grenadelauncher"] = "grenade(s)", - ["ammo_grenade"] = "grenade(s)", - ["ammo_stickybomb"] = "bomb(s)", - ["ammo_pipebomb"] = "bomb(s)", - ["ammo_smokebomb"] = "bomb(s)", - ["ammo_molotov"] = "cocktail(s)", - ["ammo_proxmine"] = "mine(s)", - ["ammo_bzgas"] = "can(s)", - ["ammo_ball"] = "ball(s)", - ["ammo_snowball"] = "snowball(s)", - ["ammo_flare"] = "flare(s)", - ["ammo_flaregun"] = "flare(s)", - - -- Weapon Tints - ["tint_default"] = "default skin", - ["tint_green"] = "green skin", - ["tint_gold"] = "gold skin", - ["tint_pink"] = "pink skin", - ["tint_army"] = "army skin", - ["tint_lspd"] = "blue skin", - ["tint_orange"] = "orange skin", - ["tint_platinum"] = "platinum skin", -} From e105c109199c723e4b5487ecfa93078d220bf46f Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Sat, 16 Sep 2023 23:53:43 +0200 Subject: [PATCH 131/148] update nl.lua --- [core]/es_extended/locales/nl.lua | 751 +++++++++++++++--------------- 1 file changed, 371 insertions(+), 380 deletions(-) diff --git a/[core]/es_extended/locales/nl.lua b/[core]/es_extended/locales/nl.lua index 7b908b317..2f5e4d793 100644 --- a/[core]/es_extended/locales/nl.lua +++ b/[core]/es_extended/locales/nl.lua @@ -1,381 +1,372 @@ Locales["nl"] = { - -- Inventory - ["inventory"] = "Inventaris ( Gewicht %s / %s )", - ["use"] = "Gebruik", - ["give"] = "Geef", - ["remove"] = "Gooi", - ["return"] = "Terug", - ["give_to"] = "Geef aan", - ["amount"] = "Aantal", - ["giveammo"] = "Geef munitie", - ["amountammo"] = "Hoeveelheid munitie", - ["noammo"] = "Niet genoeg munitie!", - ["gave_item"] = "%sx %s gegeven aan %s", - ["received_item"] = "%sx %s gekregen van %s", - ["gave_weapon"] = "%s gegeven aan %s", - ["gave_weapon_ammo"] = "~o~%sx %s gegeven voor een %s aan %s", - ["gave_weapon_withammo"] = "%s gegeven met ~o~%sx %s aan %s", - ["gave_weapon_hasalready"] = "%s heeft al een %s", - ["gave_weapon_noweapon"] = "%s heeft dat wapen niet", - ["received_weapon"] = "%s ontvangen van %s", - ["received_weapon_ammo"] = "~o~%sx %s ontvangen voor je %s van %s", - ["received_weapon_withammo"] = "%s ontvangen met ~o~%sx %s van %s", - ["received_weapon_hasalready"] = "%s heeft geprobeerd je een %s te geven, maar je hebt dat wapen al.", - ["received_weapon_noweapon"] = "%s heeft geprobeerd je ammo te geven voor een %s, maar je hebt dit wapen niet.", - ["gave_account_money"] = "€%s (%s) gegeven aan %s", - ["received_account_money"] = "€%s (%s) gekregen van %s", - ["amount_invalid"] = "Ongeldige hoeveelheid", - ["players_nearby"] = "Geen spelers in de buurt", - ["ex_inv_lim"] = "Actie kan niet uigevoerd worden, overschrijdt max gewicht van %s", - ["imp_invalid_quantity"] = "Actie kan niet uitgevoerd worden, de hoeveelheid is ongeldig", - ["imp_invalid_amount"] = "Actie kan niet uigevoerd worden, aantal is ongeldig", - ["threw_standard"] = "%sx %s weggegooid", - ["threw_account"] = "€%s %s weggegooid", - ["threw_weapon"] = "%s weggegooid", - ["threw_weapon_ammo"] = "%s met ~o~%sx %s weggegooid", - ["threw_weapon_already"] = "Je hebt dit wapen al", - ["threw_cannot_pickup"] = "Inventoraris is vol, je kan dit niet oppakken!", - ["threw_pickup_prompt"] = "Druk op E om op te rapen", - - -- Key mapping - ["keymap_showinventory"] = "Laat inventaris zien", - - -- Salary related - ["received_salary"] = "Je hebt je salaris ontvangen: €%s", - ["received_help"] = "Je hebt je uitkering ontvangen: €%s", - ["company_nomoney"] = "het bedrijf waar je werkt kan je salaris niet uitbetalen.", - ["received_paycheck"] = "salaris ontvangen", - ["bank"] = "Maze Bank", - ["account_bank"] = "Bank", - ["account_black_money"] = "Zwart geld", - ["account_money"] = "Contant", - - ["act_imp"] = "Kan actie niet uitvoeren", - ["in_vehicle"] = "Kan actie niet uitvoeren, de speler zit in een voertuig", - ["not_in_vehicle"] = "Kan actie niet uitvoeren, de speler zit niet in een voertuig", - - -- Commands - ['command_bring'] = 'Breng de speler naar je toe', - ['command_car'] = 'Spawn een voertuig', - ['command_car_car'] = 'Voertuig model of hash', - ['command_cardel'] = 'Verwijder voertuigen in straal', - ['command_cardel_radius'] = 'Verwijderd alle voertuigen in opgegeven straal', - ['command_repair'] = 'Repareer je voertuig', - ['command_repair_success'] = 'Voertuig succesvol gerepareerd', - ['command_repair_success_target'] = 'Een beheerder heeft je voertuig gerepareerd', - ['command_clear'] = 'Verwijder chat berichten', - ['command_clearall'] = 'Verwijder chat berichten voor alle spelers', - ['command_clearinventory'] = 'Verwijder alle items van een speler zijn / haar inventory', - ['command_clearloadout'] = 'Verwijder alle wapens die een speler heeft', - ['command_freeze'] = 'Freeze een speler', - ['command_unfreeze'] = 'Unfreeze een speler', - ['command_giveaccountmoney'] = 'Voeg geld toe aan opgegeven rekening', - ['command_giveaccountmoney_account'] = 'rekening om aan toe te voegen (money, bank, black_money)', - ['command_giveaccountmoney_amount'] = 'Bedrag om toe te voegen', - ['command_giveaccountmoney_invalid'] = 'Rekening naam ongeldig', - ['command_removeaccountmoney'] = 'Geld verwijderen van opgegeven rekening', - ['command_removeaccountmoney_account'] = 'rekening om van te verwijderen (money, bank, black_money)', - ['command_removeaccountmoney_amount'] = 'Bedrag om te verwijderen', - ['command_removeaccountmoney_invalid'] = 'Rekening naam ongeldig', - ['command_giveitem'] = 'Geef speler een item', - ['command_giveitem_item'] = 'Item naam', - ['command_giveitem_count'] = 'Hoeveelheid', - ['command_giveweapon'] = 'Geef speler een wapen', - ['command_giveweapon_weapon'] = 'Wapen naam', - ['command_giveweapon_ammo'] = 'Munitie hoeveelheid', - ['command_giveweapon_hasalready'] = 'Speler heeft dit wapen al', - ['command_giveweaponcomponent'] = 'Geef wapen component aan speler', - ['command_giveweaponcomponent_component'] = 'Component naam', - ['command_giveweaponcomponent_invalid'] = 'Ongeldig wapen component', - ['command_giveweaponcomponent_hasalready'] = 'Speler heeft dit wapen component al', - ['command_giveweaponcomponent_missingweapon'] = 'Speler heeft dit wapen niet', - ['command_goto'] = 'Teleporteer jezelf naar een speler', - ['command_kill'] = 'Vermoord een speler', - ['command_save'] = 'Sla een speler zijn spelerdata geforceerd op', - ['command_saveall'] = 'Sla alle spelers hun data geforceerd op', - ['command_setaccountmoney'] = 'Zet het geld binnen een gespecificeerde rekening', - ['command_setaccountmoney_amount'] = 'Bedrag', - ['command_setcoords'] = 'Teleporteer naar gespecificeerde coördinaten', - ['command_setcoords_x'] = 'X waarde', - ['command_setcoords_y'] = 'Y waarde', - ['command_setcoords_z'] = 'Z waarde', - ['command_setjob'] = 'Zet een speler zijn / haar job', - ['command_setjob_job'] = 'Naam', - ['command_setjob_grade'] = 'Rang', - ['command_setjob_invalid'] = 'de job, rang of beide zijn ongeldig', - ['command_setgroup'] = 'Zet de groep van een speler', - ['command_setgroup_group'] = 'Naam van groep', - ['commanderror_argumentmismatch'] = 'Ongeldig aantal argumenten (doorgegeven %s, gezocht %s)', - ['commanderror_argumentmismatch_number'] = 'Ongeldig argument #%s gegevenstype (doorgegeven string, gewenst nummer)', - ['commanderror_argumentmismatch_string'] = 'Invalid Argument #%s data type (doorgegeven string, gewenst nummer)', - ['commanderror_invaliditem'] = 'Ongeldig item', - ['commanderror_invalidweapon'] = 'Ongeldig wapen', - ['commanderror_console'] = 'Command kan niet uitgevoerd worden vanaf console', - ['commanderror_invalidcommand'] = 'Ongeldig commando - /%s', - ['commanderror_invalidplayerid'] = 'Opgegeven speler is niet online', - ['commandgeneric_playerid'] = 'Speler zijn / haar server id', - ['command_giveammo_noweapon_found'] = '%s heeft dat wapen niet', - ['command_giveammo_weapon'] = 'Wapen naam', - ['command_giveammo_ammo'] = 'Ammo hoeveelheid', - ['tpm_nowaypoint'] = 'Geen waypoint gezet.', - ['tpm_success'] = 'Succesvol geteleporteerd', - - ['noclip_message'] = 'Noclip is %s', - ['enabled'] = '~g~ingeschakeld~s~', - ['disabled'] = '~r~uitgeschakeld~s~', - - -- Locale settings - ["locale_digit_grouping_symbol"] = ",", - ["locale_currency"] = "€%s", - - -- Weapons - - -- Melee - ["weapon_dagger"] = "Dolk", - ["weapon_bat"] = "Knuppel", - ["weapon_battleaxe"] = "Gevechtsbijl", - ["weapon_bottle"] = "Fles", - ["weapon_crowbar"] = "Koevoet", - ["weapon_flashlight"] = "Zaklamp", - ["weapon_golfclub"] = "Golfclub", - ["weapon_hammer"] = "Hamer", - ["weapon_hatchet"] = "Bijl", - ["weapon_knife"] = "Mes", - ["weapon_knuckle"] = "Boksbeugel", - ["weapon_machete"] = "Machete", - ["weapon_nightstick"] = "Wapenstok", - ["weapon_wrench"] = "Pijpsleutel", - ["weapon_poolcue"] = "Biljart Keu", - ["weapon_stone_hatchet"] = "Steenbijl", - ["weapon_switchblade"] = "Stiletto", - - -- Handguns - ["weapon_appistol"] = "AP-pistool", - ["weapon_ceramicpistol"] = "Keramische pistool", - ["weapon_combatpistol"] = "Gevechtspistool", - ["weapon_doubleaction"] = "Revolver met dubbele actie", - ["weapon_navyrevolver"] = "Marine Revolver", - ["weapon_flaregun"] = "Noodsignaalpistool", - ["weapon_gadgetpistol"] = "Gadgetpistool", - ["weapon_heavypistol"] = "Zwaar pistool", - ["weapon_revolver"] = "Zware revolver", - ["weapon_revolver_mk2"] = "Zware revolver MK2", - ["weapon_marksmanpistol"] = "Marksman-pistool", - ["weapon_pistol"] = "Pistool", - ["weapon_pistol_mk2"] = "Pistool MK2", - ["weapon_pistol50"] = "Pistool .50", - ["weapon_snspistol"] = "SNS-pistool", - ["weapon_snspistol_mk2"] = "SNS-pistool MK2", - ["weapon_stungun"] = "Taser", - ["weapon_raypistol"] = "Up-N-Atomizer", - ["weapon_vintagepistol"] = "Vintage Pistool", - - -- Shotguns - ["weapon_assaultshotgun"] = "Aanvalsgeweer", - ["weapon_autoshotgun"] = "Automatisch jachtgeweer", - ["weapon_bullpupshotgun"] = "Bullpup Shotgun", - ["weapon_combatshotgun"] = "Gevechtsgeweer", - ["weapon_dbshotgun"] = "Dubbelloops jachtgeweer", - ["weapon_heavyshotgun"] = "Zwaar jachtgeweer", - ["weapon_musket"] = "Musket", - ["weapon_pumpshotgun"] = "Pompgeweer", - ["weapon_pumpshotgun_mk2"] = "Pump Shotgun MK2", - ["weapon_sawnoffshotgun"] = "Afgezaagd jachtgeweer", - - -- SMG & LMG - ["weapon_assaultsmg"] = "Aanval SMG", - ["weapon_combatmg"] = "Gevecht MG", - ["weapon_combatmg_mk2"] = "Combat MG MK2", - ["weapon_combatpdw"] = "Combat PDW", - ["weapon_gusenberg"] = "Gusenberg-veger", - ["weapon_machinepistol"] = "Machinepistool", - ["weapon_mg"] = "MG", - ["weapon_microsmg"] = "Micro-SMG", - ["weapon_minismg"] = "Mini-SMG", - ["weapon_smg"] = "SMG", - ["weapon_smg_mk2"] = "SMG MK2", - ["weapon_raycarbine"] = "Onheilige Hellbringer", - - -- Rifles - ["weapon_advancedrifle"] = "Geavanceerd geweer", - ["weapon_assaultrifle"] = "Aanvalsgeweer", - ["weapon_assaultrifle_mk2"] = "Aanvalsgeweer MK2", - ["weapon_bullpuprifle"] = "Bullpup-geweer", - ["weapon_bullpuprifle_mk2"] = "Bullpup-geweer MK2", - ["weapon_carbinerifle"] = "Kabinet geweer", - ["weapon_carbinerifle_mk2"] = "Kabinet geweer MK2", - ["weapon_compactrifle"] = "Compact geweer", - ["weapon_militaryrifle"] = "Militair geweer", - ["weapon_specialcarbine"] = "Speciale karabijn", - ["weapon_specialcarbine_mk2"] = "Speciale karabijn MK2", - ["weapon_heavyrifle"] = "Zwaar geweer", - - -- Sniper - ["weapon_heavysniper"] = "Zware sluipschutter", - ["weapon_heavysniper_mk2"] = "Zware Sniper MK2", - ["weapon_marksmanrifle"] = "Schuttersgeweer", - ["weapon_marksmanrifle_mk2"] = "Schuttersgeweer MK2", - ["weapon_sniperrifle"] = "Sniper Rifle", - - -- Heavy / Launchers - ["weapon_compactlauncher"] = "Compact Launcher", - ["weapon_firework"] = "Firework Launcher", - ["weapon_grenadelauncher"] = "Grenade Launcher", - ["weapon_hominglauncher"] = "Homing Launcher", - ["weapon_minigun"] = "Minigun", - ["weapon_railgun"] = "Railgun", - ["weapon_rpg"] = "Rocket Launcher", - ["weapon_rayminigun"] = "Widowmaker", - - -- Criminal Enterprises DLC - ["weapon_metaldetector"] = "Metaal Detector", - ["weapon_precisionrifle"] = "Precisiegeweer", - ["weapon_tactilerifle"] = "Service Carbine", - - -- Drug Wars DLC - ["weapon_candycane"] = "Snoep stok", - ["weapon_acidpackage"] = "LSD pakket", - ["weapon_pistolxm3"] = "WM 29 Pistool", - ["weapon_railgunxm3"] = "Railgun", - - -- Thrown - ["weapon_ball"] = "Honkbal", - ["weapon_bzgas"] = "BZ-gas", - ["weapon_flare"] = "Flare", - ["weapon_grenade"] = "Granaat", - ["weapon_petrolcan"] = "Jerrycan", - ["weapon_hazardcan"] = "Gevaarlijke jerrycan", - ["weapon_molotov"] = "Molotovcocktail", - ["weapon_proxmine"] = "Nabijheidsmijn", - ["weapon_pipebomb"] = "Pijpbom", - ["weapon_snowball"] = "Sneeuwbal", - ["weapon_stickybomb"] = "Kleefbom", - ["weapon_smokegrenade"] = "Traangas", - - -- Special - ["weapon_firebluser"] = "Brandblusser", - ["weapon_digiscanner"] = "Digitale scanner", - ["weapon_garbagebag"] = "Vuilniszak", - ["weapon_handcuffs"] = "Handboeien", - ["gadget_nightvision"] = "Nachtzicht", - ["gadget_parachute"] = "parachute", - - -- Weapon Components - ["component_knuckle_base"] = "basismodel", - ["component_knuckle_pimp"] = "de pooier", - ["component_knuckle_ballas"] = "de ballen", - ["component_knuckle_dollar"] = "de Hustler", - ["component_knuckle_diamond"] = "de rots", - ["component_knuckle_hate"] = "de Hater", - ["component_knuckle_love"] = "de minnaar", - ["component_knuckle_player"] = "de speler", - ["component_knuckle_king"] = "de koning", - ["component_knuckle_vagos"] = "de Vagos", - - ["component_luxary_finish"] = "luxe wapenafwerking", - - ["component_handle_default"] = "standaard handvat", - ["component_handle_vip"] = "VIP-handvat", - ["component_handle_bodyguard"] = "bodyguard-handvat", - - ["component_vip_finish"] = "VIP Finish", - ["component_bodyguard_finish"] = "bodyguard Finish", - - ["component_camo_finish"] = "digitale camouflage", - ["component_camo_finish2"] = "penseelstreek camouflage", - ["component_camo_finish3"] = "bos camouflage", - ["component_camo_finish4"] = "schedel camouflage", - ["component_camo_finish5"] = "sessanta Nove camouflage", - ["component_camo_finish6"] = "perseus camouflage", - ["component_camo_finish7"] = "luipaard camouflage", - ["component_camo_finish8"] = "zebracamouflage", - ["component_camo_finish9"] = "geometrische camouflage", - ["component_camo_finish10"] = "boom camouflage", - ["component_camo_finish11"] = "patriottische camouflage", - - ["component_camo_slide_finish"] = "digitale diacamouflage", - ["component_camo_slide_finish2"] = "penseelstreek Dia Camo", - ["component_camo_slide_finish3"] = "bos Slide camouflage", - ["component_camo_slide_finish4"] = "schedelschuifcamouflage", - ["component_camo_slide_finish5"] = "sessanta Nove Dia camouflage", - ["component_camo_slide_finish6"] = "perseus diacamouflage", - ["component_camo_slide_finish7"] = "luipaard Slide camouflage", - ["component_camo_slide_finish8"] = "zebra Slide camouflage", - ["component_camo_slide_finish9"] = "geometrische diacamouflage", - ["component_camo_slide_finish10"] = "boom Slide camouflage", - ["component_camo_slide_finish11"] = "patriottische diacamouflage", - - ["component_clip_default"] = "standaard magazijn", - ["component_clip_extended"] = "uitgebreid magazijn", - ["component_clip_drum"] = "drum magazijn", - ["component_clip_box"] = "box magazijn", - - ["component_scope_holo"] = "holografisch bereik", - ["component_scope_small"] = "klein bereik", - ["component_scope_medium"] = "gemiddeld bereik", - ["component_scope_large"] = "groot bereik", - ["component_scope"] = "gemonteerde scope", - ["component_scope_advanced"] = "geavanceerd bereik", - ["component_ironsights"] = "ironsights", - - ["component_suppressor"] = "suppressor", - ["component_compensator"] = "compensator", - - ["component_muzzle_flat"] = "platte mondingsrem", - ["component_muzzle_tactical"] = "tactische mondingsrem", - ["component_muzzle_fat"] = "fat-end mondingsrem", - ["component_muzzle_precision"] = "precisie mondingsrem", - ["component_muzzle_heavy"] = "zware mondingsrem", - ["component_muzzle_slanted"] = "schuine mondingsrem", - ["component_muzzle_split"] = "gespleten mondingsrem", - ["component_muzzle_squared"] = "kwadraat mondingsrem", - - ["component_flashlight"] = "zaklamp", - ["component_grip"] = "grip", - - ["component_barrel_default"] = "standaard handvat", - ["component_barrel_heavy"] = "zware handvat", - - ["component_ammo_tracer"] = "tracermunitie", - ["component_ammo_incendiary"] = "brandgevaarlijke munitie", - ["component_ammo_hollowpoint"] = "hollowpoint munitie", - ["component_ammo_fmj"] = "fMJ-munitie", - ["component_ammo_armor"] = "pantser piercing munitie", - ["component_ammo_explosive"] = "pantserpiercing brandgevaarlijke munitie", - - ["component_shells_default"] = "standaard shells", - ["component_shells_incendiary"] = "draken ademschelpen", - ["component_shells_armor"] = "stalen Buckshot Shells", - ["component_shells_hollowpoint"] = "flechette schelpen", - ["component_shells_explosive"] = "explosieve slakkenhuizen", - - -- Weapon Ammo - ["ammo_rounds"] = "ronde(n)", - ["ammo_shells"] = "huls/(zen)", - ["ammo_charge"] = "charge", - ["ammo_petrol"] = "liters brandstof", - ["ammo_firework"] = "vuurwerkpijl(en)", - ["ammo_rockets"] = "raket(ten)", - ["ammo_grenadelauncher"] = "granaat(en)", - ["ammo_grenade"] = "granaat(en)", - ["ammo_stickybomb"] = "bom(men)", - ["ammo_pipebomb"] = "bom(men)", - ["ammo_smokebomb"] = "bom(men)", - ["ammo_molotov"] = "cocktail(s)", - ["ammo_proxmine"] = "mijn(en)", - ["ammo_bzgas"] = "blik(ken)", - ["ammo_ball"] = "bal(len)", - ["ammo_snowball"] = "sneeuwbal(len)", - ["ammo_flare"] = "flare(s)", - ["ammo_flaregun"] = "flare(s)", - - -- Weapon Tints - ["tint_default"] = "standaard skin", - ["tint_green"] = "groene skin", - ["tint_gold"] = "goude skin", - ["tint_pink"] = "roze skin", - ["tint_army"] = "legerprint", - ["tint_lspd"] = "blauwe skin", - ["tint_orange"] = "oranje skin", - ["tint_platinum"] = "platina skin", - } + -- Inventory + ["inventory"] = "Inventaris ( Gewicht %s / %s )", + ["use"] = "Gebruik", + ["give"] = "Geef", + ["remove"] = "Gooi", + ["return"] = "Terug", + ["give_to"] = "Geef aan", + ["amount"] = "Aantal", + ["giveammo"] = "Geef munitie", + ["amountammo"] = "Hoeveelheid munitie", + ["noammo"] = "Niet genoeg munitie!", + ["gave_item"] = "%sx %s gegeven aan %s", + ["received_item"] = "%sx %s ontvangen van %s", + ["gave_weapon"] = "%s gegeven aan %s", + ["gave_weapon_ammo"] = "~o~%sx %s gegeven voor een %s aan %s", + ["gave_weapon_withammo"] = "%s gegeven met ~o~%sx %s aan %s", + ["gave_weapon_hasalready"] = "%s heeft al een %s", + ["gave_weapon_noweapon"] = "%s heeft dat wapen niet", + ["received_weapon"] = "%s ontvangen van %s", + ["received_weapon_ammo"] = "~o~%sx %s ontvangen voor je %s van %s", + ["received_weapon_withammo"] = "%s ontvangen met ~o~%sx %s van %s", + ["received_weapon_hasalready"] = "%s heeft geprobeerd je een %s te geven, maar je hebt dat wapen al.", + ["received_weapon_noweapon"] = "%s heeft geprobeerd je ammo te geven voor een %s, maar je hebt dit wapen niet", + ["gave_account_money"] = "€%s (%s) gegeven aan %s", + ["received_account_money"] = "€%s (%s) ontvangen van %s", + ["amount_invalid"] = "Ongeldige hoeveelheid", + ["players_nearby"] = "Geen spelers in de buurt", + ["ex_inv_lim"] = "Kan actie niet uitvoeren, overschrijdt max. gewicht van %s", + ["imp_invalid_quantity"] = "Kan actie niet uitvoeren, de hoeveelheid is ongeldig", + ["imp_invalid_amount"] = "Kan actie niet uitvoeren, het aantal is ongeldig", + ["threw_standard"] = "%sx %s weggegooid", + ["threw_account"] = "€%s %s weggegooid", + ["threw_weapon"] = "%s weggegooid", + ["threw_weapon_ammo"] = "%s met ~o~%sx %s weggegooid", + ["threw_weapon_already"] = "Je hebt dit wapen al !", + ["threw_cannot_pickup"] = "Inventaris is vol, je kan dit niet oppakken!", + ["threw_pickup_prompt"] = "Druk op E om op te pakken", + + -- Key mapping + ["keymap_showinventory"] = "Laat inventaris zien", + + -- Salary related + ["received_salary"] = "Je bent betaald: €%s", + ["received_help"] = "Je hebt je uitkering gekregen: €%s", + ["company_nomoney"] = "Het bedrijf waar je bij werkt heeft te weinig geld om je uit te betalen.", + ["received_paycheck"] = "salaris ontvangen", + ["bank"] = "Maze Bank", + ["account_bank"] = "Bank", + ["account_black_money"] = "Zwart geld", + ["account_money"] = "Contant", + + ["act_imp"] = "Kan actie niet uitvoeren", + ["in_vehicle"] = "Kan actie niet uitvoeren, de speler zit in een voertuig.", + + -- Commands + ['command_bring'] = 'Breng speler naar jou', + ['command_car'] = 'Spawn een voertuig', + ['command_car_car'] = 'Voertuig model of hash', + ['command_cardel'] = 'Verwijder voertuigen in straal', + ['command_cardel_radius'] = 'Verwijderd alle voertuigen in gewenste straal', + ['command_clear'] = 'Verwijder chat berichten', + ['command_clearall'] = 'Verwijder chat berichten voor alle spelers', + ['command_clearinventory'] = 'Verwijder alle items van een speler zijn inventory', + ['command_clearloadout'] = 'Verwijder alle wapens die een speler heeft', + ['command_freeze'] = 'Freeze een speler', + ['command_unfreeze'] = 'Unfreeze een speler', + ['command_giveaccountmoney'] = 'Geef geld aan een rekening', + ['command_giveaccountmoney_account'] = 'Account om aan toe te voegen', + ['command_giveaccountmoney_amount'] = 'Bedrag om toe te voegen', + ['command_giveaccountmoney_invalid'] = 'Account Naam ongeldig', + ['command_giveitem'] = 'Geef speler een item', + ['command_giveitem_item'] = 'Item naam', + ['command_giveitem_count'] = 'Hoeveelheid', + ['command_giveweapon'] = 'Geef de speler een wapen', + ['command_giveweapon_weapon'] = 'Wapen naam', + ['command_giveweapon_ammo'] = 'Munitie Hoeveelheid', + ['command_giveweapon_hasalready'] = 'Speler heeft dit wapen al', + ['command_giveweaponcomponent'] = 'Geef wapen component aan speler', + ['command_giveweaponcomponent_component'] = 'Component naam', + ['command_giveweaponcomponent_invalid'] = 'Ongeldig wapen component', + ['command_giveweaponcomponent_hasalready'] = 'De speler heeft dit wapen component al', + ['command_giveweaponcomponent_missingweapon'] = 'De speler heeft dit wapen niet', + ['command_goto'] = 'Teleporteer jezelf naar een speler', + ['command_kill'] = 'Vermoord een speler', + ['command_save'] = 'Slaag een speler zijn spelerdata geforceerd op', + ['command_saveall'] = 'Slaag iedereen zijn spelerdata geforceerd op', + ['command_setaccountmoney'] = 'Stel geld in op een account', + ['command_setaccountmoney_amount'] = 'Hoeveelheid', + ['command_setcoords'] = 'Telepeer naar coordinaten', + ['command_setcoords_x'] = 'X waarde', + ['command_setcoords_y'] = 'Y waarde', + ['command_setcoords_z'] = 'Z waarde', + ['command_setjob'] = 'Zet een speler zijn / haar job', + ['command_setjob_job'] = 'Naam', + ['command_setjob_grade'] = 'Job grade', + ['command_setjob_invalid'] = 'De job, grade of beide zijn ongeldig', + ['command_setgroup'] = 'Stel een toestemmingsgroep voor spelers in', + ['command_setgroup_group'] = 'Naam van groep', + ['commanderror_argumentmismatch'] = 'Ongeldig aantal argumenten (geslaagd %s, gezocht %s)', + ['commanderror_argumentmismatch_number'] = 'Ongeldig argument #%s gegevenstype (doorgegeven string, gewenst nummer)', + ['commanderror_argumentmismatch_string'] = 'Invalid Argument #%s data type (doorgegeven string, gewenst nummer)', + ['commanderror_invaliditem'] = 'Ongeldig item', + ['commanderror_invalidweapon'] = 'Ongeldig wapen', + ['commanderror_console'] = 'Command kan niet worden uitgevoerd vanaf console.', + ['commanderror_invalidcommand'] = 'Ongeldig commando - /%s', + ['commanderror_invalidplayerid'] = 'Opgegeven speler is niet online', + ['commandgeneric_playerid'] = 'Speler server id', + ['command_giveammo_noweapon_found'] = '%s heeft dat wapen niet', + ['command_giveammo_weapon'] = 'Wapen naam', + ['command_giveammo_ammo'] = 'Munitie Hoeveelheid', + ['tpm_nowaypoint'] = 'Geen navigatie ingesteld.', + ['tpm_success'] = 'Successvol geteleporteerd', + + ['noclip_message'] = 'Noclip is %s', + ['enabled'] = '~g~aangezet~s~', + ['disabled'] = '~r~uitgezet~s~', + + -- Locale settings + ["locale_digit_grouping_symbol"] = ",", + ["locale_currency"] = "€%s", + + -- Weapons + + -- Melee + ["weapon_dagger"] = "Dolk", + ["weapon_bat"] = "Knuppel", + ["weapon_battleaxe"] = "Gevechtsbijl", + ["weapon_bottle"] = "Fles", + ["weapon_crowbar"] = "Koevoet", + ["weapon_flashlight"] = "Zaklamp", + ["weapon_golfclub"] = "Golfclub", + ["weapon_hammer"] = "Hamer", + ["weapon_hatchet"] = "Bijl", + ["weapon_knife"] = "Mes", + ["weapon_knuckle"] = "Boksbeugel", + ["weapon_machete"] = "Machete", + ["weapon_nightstick"] = "Wapenstok", + ["weapon_wrench"] = "Pijpsleutel", + ["weapon_poolcue"] = "Biljart Keu", + ["weapon_stone_hatchet"] = "Steenbijl", + ["weapon_switchblade"] = "Stiletto", + + -- Handguns + ["weapon_appistol"] = "AP-pistool", + ["weapon_ceramicpistol"] = "Keramische pistool", + ["weapon_combatpistol"] = "Gevechtspistool", + ["weapon_doubleaction"] = "Revolver met dubbele actie", + ["weapon_navyrevolver"] = "Marine Revolver", + ["weapon_flaregun"] = "Noodsignaalpistool", + ["weapon_gadgetpistol"] = "Gadgetpistool", + ["weapon_heavypistol"] = "Zwaar pistool", + ["weapon_revolver"] = "Zware revolver", + ["weapon_revolver_mk2"] = "Zware revolver MK2", + ["weapon_marksmanpistol"] = "Marksman-pistool", + ["weapon_pistol"] = "Pistool", + ["weapon_pistol_mk2"] = "Pistool MK2", + ["weapon_pistol50"] = "Pistool .50", + ["weapon_snspistol"] = "SNS-pistool", + ["weapon_snspistol_mk2"] = "SNS-pistool MK2", + ["weapon_stungun"] = "Taser", + ["weapon_raypistol"] = "Up-N-Atomizer", + ["weapon_vintagepistol"] = "Vintage Pistool", + + -- Shotguns + ["weapon_assaultshotgun"] = "Aanvalsgeweer", + ["weapon_autoshotgun"] = "Automatisch jachtgeweer", + ["weapon_bullpupshotgun"] = "Bullpup Shotgun", + ["weapon_combatshotgun"] = "Gevechtsgeweer", + ["weapon_dbshotgun"] = "Dubbelloops jachtgeweer", + ["weapon_heavyshotgun"] = "Zwaar jachtgeweer", + ["weapon_musket"] = "Musket", + ["weapon_pumpshotgun"] = "Pompgeweer", + ["weapon_pumpshotgun_mk2"] = "Pump Shotgun MK2", + ["weapon_sawnoffshotgun"] = "Afgezaagd jachtgeweer", + + -- SMG & LMG + ["weapon_assaultsmg"] = "Aanval SMG", + ["weapon_combatmg"] = "Gevecht MG", + ["weapon_combatmg_mk2"] = "Combat MG MK2", + ["weapon_combatpdw"] = "Combat PDW", + ["weapon_gusenberg"] = "Gusenberg-veger", + ["weapon_machinepistol"] = "Machinepistool", + ["weapon_mg"] = "MG", + ["weapon_microsmg"] = "Micro-SMG", + ["weapon_minismg"] = "Mini-SMG", + ["weapon_smg"] = "SMG", + ["weapon_smg_mk2"] = "SMG MK2", + ["weapon_raycarbine"] = "Onheilige Hellbringer", + + -- Rifles + ["weapon_advancedrifle"] = "Geavanceerd geweer", + ["weapon_assaultrifle"] = "Aanvalsgeweer", + ["weapon_assaultrifle_mk2"] = "Aanvalsgeweer MK2", + ["weapon_bullpuprifle"] = "Bullpup-geweer", + ["weapon_bullpuprifle_mk2"] = "Bullpup-geweer MK2", + ["weapon_carbinerifle"] = "Kabinet geweer", + ["weapon_carbinerifle_mk2"] = "Kabinet geweer MK2", + ["weapon_compactrifle"] = "Compact geweer", + ["weapon_militaryrifle"] = "Militair geweer", + ["weapon_specialcarbine"] = "Speciale karabijn", + ["weapon_specialcarbine_mk2"] = "Speciale karabijn MK2", + + -- Sniper + ["weapon_heavysniper"] = "Zware sluipschutter", + ["weapon_heavysniper_mk2"] = "Zware Sniper MK2", + ["weapon_marksmanrifle"] = "Schuttersgeweer", + ["weapon_marksmanrifle_mk2"] = "Schuttersgeweer MK2", + ["weapon_sniperrifle"] = "Sniper Rifle", + + -- Heavy / Launchers + ["weapon_compactlauncher"] = "Compacte Launcher", + ["weapon_firework"] = "Vuurwerkstarter", + ["weapon_grenadelauncher"] = "Granaatwerper", + ["weapon_hominglauncher"] = "Homing Launcher", + ["weapon_minigun"] = "Minigun", + ["weapon_railgun"] = "Spoorgeweer", + ["weapon_rpg"] = "Raketwerper", + ["weapon_rayminigun"] = "Weduwemaker", + + -- Criminal Enterprises DLC + ["weapon_metaldetector"] = "Metaal Detector", + ["weapon_precisionrifle"] = "Precisiegeweer", + ["weapon_tactilerifle"] = "Service Carbine", + + -- Drug Wars DLC + ["weapon_candycane"] = "Snoep stok", + ["weapon_acidpackage"] = "LSD pakket", + ["weapon_pistolxm3"] = "WM 29 Pistool", + ["weapon_railgunxm3"] = "Railgun", + + -- Thrown + ["weapon_ball"] = "Honkbal", + ["weapon_bzgas"] = "BZ-gas", + ["weapon_flare"] = "Flare", + ["weapon_grenade"] = "Granaat", + ["weapon_petrolcan"] = "Jerrycan", + ["weapon_hazardcan"] = "Gevaarlijke jerrycan", + ["weapon_molotov"] = "Molotovcocktail", + ["weapon_proxmine"] = "Nabijheidsmijn", + ["weapon_pipebomb"] = "Pijpbom", + ["weapon_snowball"] = "Sneeuwbal", + ["weapon_stickybomb"] = "Kleefbom", + ["weapon_smokegrenade"] = "Traangas", + + -- Special + ["weapon_firebluser"] = "Brandblusser", + ["weapon_digiscanner"] = "Digitale scanner", + ["weapon_garbagebag"] = "Vuilniszak", + ["weapon_handcuffs"] = "Handboeien", + ["gadget_nightvision"] = "Nachtzicht", + ["gadget_parachute"] = "parachute", + + -- Weapon Components + ["component_knuckle_base"] = "basismodel", + ["component_knuckle_pimp"] = "de pooier", + ["component_knuckle_ballas"] = "de ballen", + ["component_knuckle_dollar"] = "de Hustler", + ["component_knuckle_diamond"] = "de rots", + ["component_knuckle_hate"] = "de Hater", + ["component_knuckle_love"] = "de minnaar", + ["component_knuckle_player"] = "de speler", + ["component_knuckle_king"] = "de koning", + ["component_knuckle_vagos"] = "de Vagos", + + ["component_luxary_finish"] = "luxe wapenafwerking", + + ["component_handle_default"] = "standaard handvat", + ["component_handle_vip"] = "VIP-handvat", + ["component_handle_bodyguard"] = "bodyguard-handvat", + + ["component_vip_finish"] = "VIP Finish", + ["component_bodyguard_finish"] = "bodyguard Finish", + + ["component_camo_finish"] = "digitale camouflage", + ["component_camo_finish2"] = "penseelstreek camouflage", + ["component_camo_finish3"] = "bos camouflage", + ["component_camo_finish4"] = "schedel camouflage", + ["component_camo_finish5"] = "sessanta Nove camouflage", + ["component_camo_finish6"] = "perseus camouflage", + ["component_camo_finish7"] = "luipaard camouflage", + ["component_camo_finish8"] = "zebracamouflage", + ["component_camo_finish9"] = "geometrische camouflage", + ["component_camo_finish10"] = "boom camouflage", + ["component_camo_finish11"] = "patriottische camouflage", + + ["component_camo_slide_finish"] = "digitale diacamouflage", + ["component_camo_slide_finish2"] = "penseelstreek Dia Camo", + ["component_camo_slide_finish3"] = "bos Slide camouflage", + ["component_camo_slide_finish4"] = "schedelschuifcamouflage", + ["component_camo_slide_finish5"] = "sessanta Nove Dia camouflage", + ["component_camo_slide_finish6"] = "perseus diacamouflage", + ["component_camo_slide_finish7"] = "luipaard Slide camouflage", + ["component_camo_slide_finish8"] = "zebra Slide camouflage", + ["component_camo_slide_finish9"] = "geometrische diacamouflage", + ["component_camo_slide_finish10"] = "boom Slide camouflage", + ["component_camo_slide_finish11"] = "patriottische diacamouflage", + + ["component_clip_default"] = "standaard magazijn", + ["component_clip_extended"] = "uitgebreid magazijn", + ["component_clip_drum"] = "drum magazijn", + ["component_clip_box"] = "box magazijn", + + ["component_scope_holo"] = "holografisch bereik", + ["component_scope_small"] = "klein bereik", + ["component_scope_medium"] = "gemiddeld bereik", + ["component_scope_large"] = "groot bereik", + ["component_scope"] = "gemonteerde scope", + ["component_scope_advanced"] = "geavanceerd bereik", + ["component_ironsights"] = "ironsights", + + ["component_suppressor"] = "suppressor", + ["component_compensator"] = "compensator", + + ["component_muzzle_flat"] = "platte mondingsrem", + ["component_muzzle_tactical"] = "tactische mondingsrem", + ["component_muzzle_fat"] = "fat-end mondingsrem", + ["component_muzzle_precision"] = "precisie mondingsrem", + ["component_muzzle_heavy"] = "zware mondingsrem", + ["component_muzzle_slanted"] = "schuine mondingsrem", + ["component_muzzle_split"] = "gespleten mondingsrem", + ["component_muzzle_squared"] = "kwadraat mondingsrem", + + ["component_flashlight"] = "zaklamp", + ["component_grip"] = "grip", + + ["component_barrel_default"] = "standaard handvat", + ["component_barrel_heavy"] = "zware handvat", + + ["component_ammo_tracer"] = "tracermunitie", + ["component_ammo_incendiary"] = "brandgevaarlijke munitie", + ["component_ammo_hollowpoint"] = "hollowpoint munitie", + ["component_ammo_fmj"] = "fMJ-munitie", + ["component_ammo_armor"] = "pantser piercing munitie", + ["component_ammo_explosive"] = "pantserpiercing brandgevaarlijke munitie", + + ["component_shells_default"] = "standaard shells", + ["component_shells_incendiary"] = "draken ademschelpen", + ["component_shells_armor"] = "stalen Buckshot Shells", + ["component_shells_hollowpoint"] = "flechette schelpen", + ["component_shells_explosive"] = "explosieve slakkenhuizen", + + -- Weapon Ammo + ["ammo_rounds"] = "ronde(n)", + ["ammo_shells"] = "huls/(zen)", + ["ammo_charge"] = "charge", + ["ammo_petrol"] = "liters brandstof", + ["ammo_firework"] = "vuurwerkpijl(en)", + ["ammo_rockets"] = "raket(ten)", + ["ammo_grenadelauncher"] = "granaat(en)", + ["ammo_grenade"] = "granaat(en)", + ["ammo_stickybomb"] = "bom(men)", + ["ammo_pipebomb"] = "bom(men)", + ["ammo_smokebomb"] = "bom(men)", + ["ammo_molotov"] = "cocktail(s)", + ["ammo_proxmine"] = "mijn(en)", + ["ammo_bzgas"] = "blik(ken)", + ["ammo_ball"] = "bal(len)", + ["ammo_snowball"] = "sneeuwbal(len)", + ["ammo_flare"] = "flare(s)", + ["ammo_flaregun"] = "flare(s)", + + -- Weapon Tints + ["tint_default"] = "standaard skin", + ["tint_green"] = "groene skin", + ["tint_gold"] = "goude skin", + ["tint_pink"] = "roze skin", + ["tint_army"] = "legerprint", + ["tint_lspd"] = "blauwe skin", + ["tint_orange"] = "oranje skin", + ["tint_platinum"] = "platina skin", +} \ No newline at end of file From 81de01e90e3551dd383b73759d2e1c3e28cc6a20 Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Sun, 17 Sep 2023 15:04:21 +0200 Subject: [PATCH 132/148] use locales in inventory. --- [core]/es_extended/client/functions.lua | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index 6e017ab64..80f38cc9f 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -1036,7 +1036,7 @@ function ESX.ShowInventory() local playerPed = ESX.PlayerData.ped local elements = { - { unselectable = true, icon = 'fas fa-box', title = 'Player Inventory' } + { unselectable = true, icon = 'fas fa-box' } } local currentWeight = 0 @@ -1075,6 +1075,8 @@ function ESX.ShowInventory() end end + elements[1].title = TranslateCap('inventory', currentWeight, Config.MaxWeight) + for _, v in ipairs(Config.Weapons) do local weaponHash = joaat(v.name) @@ -1096,12 +1098,6 @@ function ESX.ShowInventory() end end - elements[#elements + 1] = { - unselectable = true, - icon = "fas fa-weight", - title = "Current Weight: " .. currentWeight - } - ESX.CloseContext() ESX.OpenContext("right", elements, function(_, element) From f7ec1f9fe2c9cf9470b23f116474a7b40bafc8cf Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Sun, 17 Sep 2023 15:17:15 +0200 Subject: [PATCH 133/148] update weapons loop --- [core]/es_extended/client/functions.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index 80f38cc9f..c4b74ae29 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -1077,7 +1077,8 @@ function ESX.ShowInventory() elements[1].title = TranslateCap('inventory', currentWeight, Config.MaxWeight) - for _, v in ipairs(Config.Weapons) do + for i=1, #Config.Weapons do + local v = Config.Weapons[i] local weaponHash = joaat(v.name) if HasPedGotWeapon(playerPed, weaponHash, false) then @@ -1096,8 +1097,8 @@ function ESX.ShowInventory() canRemove = true } end - end - + end + ESX.CloseContext() ESX.OpenContext("right", elements, function(_, element) From d4e32411f3efd7f3266eeb8af07a3c72710f4615 Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Sun, 17 Sep 2023 15:24:24 +0200 Subject: [PATCH 134/148] :fire: Remove unused codes in player class --- [core]/es_extended/server/classes/player.lua | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index 33766ab88..62c12cf19 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -32,9 +32,6 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, stateBag:set("name", self.name, true) stateBag:set("metadata", self.metadata, true) - local jobKey = ("%s:count"):format(self.job.name) - GlobalState[jobKey] = (GlobalState[jobKey] or 0) + 1 - function self.triggerEvent(eventName, ...) TriggerClientEvent(eventName, self.source, ...) end @@ -382,13 +379,6 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, TriggerEvent('esx:setJob', self.source, self.job, lastJob) self.triggerEvent('esx:setJob', self.job, lastJob) Player(self.source).state:set("job", self.job, true) - - local lastJobKey = ('%s:count'):format(lastJob.name) - local jobKey = ('%s:count'):format(self.job.name) - local globalStateLastJob = GlobalState[lastJobKey] - - GlobalState[lastJobKey] = ((globalStateLastJob and globalStateLastJob > 0) and globalStateLastJob or 1) - 1 - GlobalState[jobKey] = (GlobalState[jobKey] or 0) + 1 else print(('[es_extended] [^3WARNING^7] Ignoring invalid ^5.setJob()^7 usage for ID: ^5%s^7, Job: ^5%s^7'):format(self.source, job)) end From d44f793136bb565ba4bed6eef3e45f25db0cd805 Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Sun, 17 Sep 2023 15:26:24 +0200 Subject: [PATCH 135/148] :rotating_light: Solving backward compatibility part 2 --- [core]/es_extended/server/functions.lua | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index d8a813f56..ade4cd075 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -241,8 +241,6 @@ local function checkTable(key, val, player, xPlayers) end function ESX.GetExtendedPlayers(key, val) - if not key then return ESX.Players end - local xPlayers = {} if type(val) == "table" then for _, v in pairs(ESX.Players) do @@ -250,7 +248,11 @@ function ESX.GetExtendedPlayers(key, val) end else for _, v in pairs(ESX.Players) do - if (key == 'job' and v.job.name == val) or v[key] == val then + if key then + if (key == 'job' and v.job.name == val) or v[key] == val then + xPlayers[#xPlayers + 1] = v + end + else xPlayers[#xPlayers + 1] = v end end From bad447383a6071bbacce620e9b9b77fba6c0f377 Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Sun, 17 Sep 2023 15:27:48 +0200 Subject: [PATCH 136/148] :package: Add GlobalState job count synchron --- [core]/es_extended/server/main.lua | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index 42107b41a..df2c380f2 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -380,7 +380,7 @@ AddEventHandler('playerDropped', function(reason) local job = xPlayer.getJob().name local currentJob = ESX.JobsPlayerCount[job] ESX.JobsPlayerCount[job] = ((currentJob and currentJob > 0) and currentJob or 1) -1 - + GlobalState[("%s:count"):format(job)] = ESX.JobsPlayerCount[job] Core.playersByIdentifier[xPlayer.identifier] = nil Core.SavePlayer(xPlayer, function() ESX.Players[playerId] = nil @@ -390,13 +390,22 @@ end) AddEventHandler("esx:playerLoaded", function(playerId, xPlayer, isNew) local job = xPlayer.getJob().name + local jobKey = ("%s:count"):format(job) + ESX.JobsPlayerCount[job] = (ESX.JobsPlayerCount[job] or 0) +1 + GlobalState[jobKey] = ESX.JobsPlayerCount[job] end) AddEventHandler("esx:setJob", function(src, job, lastJob) + local lastJobKey = ('%s:count'):format(lastJob.name) + local jobKey = ('%s:count'):format(job.name) local currentLastJob = ESX.JobsPlayerCount[lastJob.name] + ESX.JobsPlayerCount[lastJob.name] = ((currentLastJob and currentLastJob > 0) and currentLastJob or 1) -1 ESX.JobsPlayerCount[job.name] = (ESX.JobsPlayerCount[job.name] or 0) + 1 + + GlobalState[lastJobKey] = ESX.JobsPlayerCount[lastJob.name] + GlobalState[jobKey] = ESX.JobsPlayerCount[job.name] end) AddEventHandler('esx:playerLogout', function(playerId, cb) From a6b58866f88757736a410a8124fc16de69629676 Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Sun, 17 Sep 2023 15:59:43 +0200 Subject: [PATCH 137/148] fix stop do not use resources --- [core]/es_extended/server/main.lua | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index 118b88ed3..4dd1dd79c 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -748,16 +748,20 @@ local DoNotUse = { ['default_spawnpoint'] = true, } +AddEventHandler('onResourceStart', function(key) + if DoNotUse[string.lower(key)] then + while GetResourceState(key) ~= 'started' do + Wait() + end + + StopResource(key) + print(("[^1ERROR^7] WE STOPPED A RESOURCE THAT WILL BREAK ^1ESX^7, PLEASE REMOVE ^5%s^7"):format(key)) + end +end) + for key in pairs(DoNotUse) do if GetResourceState(key) == 'started' or GetResourceState(key) == 'starting' then - StopResource(key) + StopResource(key) print(("[^1ERROR^7] WE STOPPED A RESOURCE THAT WILL BREAK ^1ESX^7, PLEASE REMOVE ^5%s^7"):format(key)) end end - -AddEventHandler('onResourceStart', function(key) - if DoNotUse[string.lower(key)] then - StopResource(key) - print(("[^1ERROR^7] WE STOPPED A RESOURCE THAT WILL BREAK ^1ESX^7, PLEASE REMOVE ^5%s^7"):format(key)) - end -end) From c21294867a01f7585239d5bf37924c3419b54cc5 Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Sun, 17 Sep 2023 16:38:25 +0200 Subject: [PATCH 138/148] add 0 --- [core]/es_extended/server/main.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index 4dd1dd79c..b03092df0 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -751,7 +751,7 @@ local DoNotUse = { AddEventHandler('onResourceStart', function(key) if DoNotUse[string.lower(key)] then while GetResourceState(key) ~= 'started' do - Wait() + Wait(0) end StopResource(key) From 6b475400eac3e8c7bab766d72cf9cbf1ef87f9ca Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Sun, 17 Sep 2023 16:59:50 +0200 Subject: [PATCH 139/148] :wrench: Fix vehicle event throw warning message --- [core]/es_extended/client/modules/actions.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/[core]/es_extended/client/modules/actions.lua b/[core]/es_extended/client/modules/actions.lua index 9150f0057..2e4e0e675 100644 --- a/[core]/es_extended/client/modules/actions.lua +++ b/[core]/es_extended/client/modules/actions.lua @@ -15,7 +15,10 @@ local function GetData(vehicle) end local model = GetEntityModel(vehicle) local displayName = GetDisplayNameFromVehicleModel(model) - local netId = VehToNet(vehicle) + local netId = vehicle + if NetworkGetEntityIsNetworked(vehicle) then + netId = VehToNet(vehicle) + end return displayName, netId end From f8a74e660c9cf77823dc4b98b6722136d69dcc4e Mon Sep 17 00:00:00 2001 From: Xavitox <94683358+xavitoxdeb@users.noreply.github.com> Date: Mon, 18 Sep 2023 14:32:30 +0200 Subject: [PATCH 140/148] Update es.lua --- [core]/es_extended/locales/es.lua | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/[core]/es_extended/locales/es.lua b/[core]/es_extended/locales/es.lua index 7fd9438b9..a95160e3a 100644 --- a/[core]/es_extended/locales/es.lua +++ b/[core]/es_extended/locales/es.lua @@ -60,9 +60,9 @@ Locales["es"] = { ['command_car_car'] = 'Nombre del vehículo', ['command_cardel'] = 'Eliminar vehículos cercanos', ['command_cardel_radius'] = 'Opcional, eliminar todos los vehículos en el radio especificado', - ['command_repair'] = 'Repair your vehicle', - ['command_repair_success'] = 'Successfully repaired vehicle', - ['command_repair_success_target'] = 'An admin repaired your vehicle', + ['command_repair'] = 'Reparar tu vehiculo', + ['command_repair_success'] = 'Vehiculo reparado correctamente', + ['command_repair_success_target'] = 'Un administrador reparo tu vehiculo', ['command_clear'] = 'Limpiar chat para ti', ['command_clearall'] = 'Limpiar chat para todos los jugadores', ['command_clearinventory'] = 'Limpiar el inventario del jugador', @@ -121,10 +121,10 @@ Locales["es"] = { -- Weapons -- Drug Wars DLC - ['weapon_candycane'] = 'Candy Cane', -- not translated - ['weapon_acidpackage'] = 'Acid Package', -- not translated - ['weapon_pistolxm3'] = 'WM 29 Pistol', -- not translated - ['weapon_railgunxm3'] = 'Railgun', -- not translated + ['weapon_candycane'] = 'Hacha de Caramelo ', + ['weapon_acidpackage'] = 'Paquete de Acido', + ['weapon_pistolxm3'] = 'Pistola WM 29', + ['weapon_railgunxm3'] = 'Fusil electromagnético', -- Melee ["weapon_dagger"] = "Daga", @@ -162,7 +162,7 @@ Locales["es"] = { ["weapon_pistol50"] = "Pistola .50", ["weapon_snspistol"] = "Pistola SNS", ["weapon_snspistol_mk2"] = "Pistola SNS MK2", - ["weapon_stungun"] = "Tazer", + ["weapon_stungun"] = "Taser", ["weapon_raypistol"] = "Up-N-Atomizer", ["weapon_vintagepistol"] = "Pistola Vintage", @@ -204,7 +204,7 @@ Locales["es"] = { ["weapon_militaryrifle"] = "Rifle Militar", ["weapon_specialcarbine"] = "Carabina Especial", ["weapon_specialcarbine_mk2"] = "Carabina Especial MK2", - ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated + ["weapon_heavyrifle"] = "Rifle Pesado", -- Not Translated -- Sniper ["weapon_heavysniper"] = "Francotirador Pesado", From cb7bb95b43257c17ed38aa98175b9014864308bd Mon Sep 17 00:00:00 2001 From: TheFantomas <117121911+TheFantomas@users.noreply.github.com> Date: Mon, 18 Sep 2023 16:03:31 +0200 Subject: [PATCH 141/148] Update es.lua --- [core]/es_extended/locales/es.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/locales/es.lua b/[core]/es_extended/locales/es.lua index a95160e3a..9a3791a09 100644 --- a/[core]/es_extended/locales/es.lua +++ b/[core]/es_extended/locales/es.lua @@ -204,7 +204,7 @@ Locales["es"] = { ["weapon_militaryrifle"] = "Rifle Militar", ["weapon_specialcarbine"] = "Carabina Especial", ["weapon_specialcarbine_mk2"] = "Carabina Especial MK2", - ["weapon_heavyrifle"] = "Rifle Pesado", -- Not Translated + ["weapon_heavyrifle"] = "Rifle Pesado", -- Sniper ["weapon_heavysniper"] = "Francotirador Pesado", From b088ee9613eb00feed47c5544bb636ed319131fa Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Tue, 19 Sep 2023 23:39:10 +0200 Subject: [PATCH 142/148] fix vehicle spawning problem --- [core]/es_extended/client/functions.lua | 50 +++++++++++++++++++++---- 1 file changed, 42 insertions(+), 8 deletions(-) diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index c4b74ae29..da0177992 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -1325,22 +1325,56 @@ AddEventHandler('onResourceStop', function(resourceName) end end) +local mismatchedTypes = { + [`airtug`] = "automobile", -- trailer + [`avisa`] = "submarine", -- boat + [`blimp`] = "heli", -- plane + [`blimp2`] = "heli", -- plane + [`blimp3`] = "heli", -- plane + [`caddy`] = "automobile", -- trailer + [`caddy2`] = "automobile", -- trailer + [`caddy3`] = "automobile", -- trailer + [`chimera`] = "automobile", -- bike + [`docktug`] = "automobile", -- trailer + [`forklift`] = "automobile", -- trailer + [`kosatka`] = "submarine", -- boat + [`mower`] = "automobile", -- trailer + [`policeb`] = "bike", -- automobile + [`ripley`] = "automobile", -- trailer + [`rrocket`] = "automobile", -- bike + [`sadler`] = "automobile", -- trailer + [`sadler2`] = "automobile", -- trailer + [`scrap`] = "automobile", -- trailer + [`slamtruck`] = "automobile", -- trailer + [`Stryder`] = "automobile", -- bike + [`submersible`] = "submarine", -- boat + [`submersible2`] = "submarine", -- boat + [`thruster`] = "heli", -- automobile + [`towtruck`] = "automobile", -- trailer + [`towtruck2`] = "automobile", -- trailer + [`tractor`] = "automobile", -- trailer + [`tractor2`] = "automobile", -- trailer + [`tractor3`] = "automobile", -- trailer + [`trailersmall2`] = "trailer", -- automobile + [`utillitruck`] = "automobile", -- trailer + [`utillitruck2`] = "automobile", -- trailer + [`utillitruck3`] = "automobile", -- trailer +} + ---@param model number|string ---@return string function ESX.GetVehicleType(model) model = type(model) == 'string' and joaat(model) or model - - if model == `submersible` or model == `submersible2` then - return 'submarine' - end - - if model == `blimp` then - return 'heli' + if not IsModelInCdimage(model) then return end + + if mismatchedTypes[model] then + return mismatchedTypes[model] end local vehicleType = GetVehicleClassFromName(model) local types = { [8] = "bike", + [11] = "trailer", [13] = "bike", [14] = "boat", [15] = "heli", @@ -1349,4 +1383,4 @@ function ESX.GetVehicleType(model) } return types[vehicleType] or "automobile" -end +end \ No newline at end of file From 0a91ca9118dc53c1053052dd0e376f05b20492ee Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Tue, 19 Sep 2023 23:40:14 +0200 Subject: [PATCH 143/148] fix 2 --- [core]/es_extended/client/functions.lua | 30 +++++-------------------- 1 file changed, 5 insertions(+), 25 deletions(-) diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index da0177992..e90ea73c7 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -1326,39 +1326,19 @@ AddEventHandler('onResourceStop', function(resourceName) end) local mismatchedTypes = { - [`airtug`] = "automobile", -- trailer [`avisa`] = "submarine", -- boat [`blimp`] = "heli", -- plane [`blimp2`] = "heli", -- plane [`blimp3`] = "heli", -- plane - [`caddy`] = "automobile", -- trailer - [`caddy2`] = "automobile", -- trailer - [`caddy3`] = "automobile", -- trailer [`chimera`] = "automobile", -- bike - [`docktug`] = "automobile", -- trailer - [`forklift`] = "automobile", -- trailer [`kosatka`] = "submarine", -- boat - [`mower`] = "automobile", -- trailer [`policeb`] = "bike", -- automobile - [`ripley`] = "automobile", -- trailer [`rrocket`] = "automobile", -- bike - [`sadler`] = "automobile", -- trailer - [`sadler2`] = "automobile", -- trailer - [`scrap`] = "automobile", -- trailer - [`slamtruck`] = "automobile", -- trailer [`Stryder`] = "automobile", -- bike [`submersible`] = "submarine", -- boat [`submersible2`] = "submarine", -- boat [`thruster`] = "heli", -- automobile - [`towtruck`] = "automobile", -- trailer - [`towtruck2`] = "automobile", -- trailer - [`tractor`] = "automobile", -- trailer - [`tractor2`] = "automobile", -- trailer - [`tractor3`] = "automobile", -- trailer [`trailersmall2`] = "trailer", -- automobile - [`utillitruck`] = "automobile", -- trailer - [`utillitruck2`] = "automobile", -- trailer - [`utillitruck3`] = "automobile", -- trailer } ---@param model number|string @@ -1366,15 +1346,15 @@ local mismatchedTypes = { function ESX.GetVehicleType(model) model = type(model) == 'string' and joaat(model) or model if not IsModelInCdimage(model) then return end - - if mismatchedTypes[model] then - return mismatchedTypes[model] - end + + if mismatchedTypes[model] then + return mismatchedTypes[model] + end local vehicleType = GetVehicleClassFromName(model) + local types = { [8] = "bike", - [11] = "trailer", [13] = "bike", [14] = "boat", [15] = "heli", From a31c8787ce4f118ff61a480ea658bc8b2acac125 Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Tue, 19 Sep 2023 23:42:22 +0200 Subject: [PATCH 144/148] fix vehicle spawn --- [core]/es_extended/client/functions.lua | 29 ++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index e90ea73c7..091d31311 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -1326,19 +1326,39 @@ AddEventHandler('onResourceStop', function(resourceName) end) local mismatchedTypes = { + [`airtug`] = "automobile", -- trailer [`avisa`] = "submarine", -- boat [`blimp`] = "heli", -- plane [`blimp2`] = "heli", -- plane [`blimp3`] = "heli", -- plane + [`caddy`] = "automobile", -- trailer + [`caddy2`] = "automobile", -- trailer + [`caddy3`] = "automobile", -- trailer [`chimera`] = "automobile", -- bike + [`docktug`] = "automobile", -- trailer + [`forklift`] = "automobile", -- trailer [`kosatka`] = "submarine", -- boat + [`mower`] = "automobile", -- trailer [`policeb`] = "bike", -- automobile + [`ripley`] = "automobile", -- trailer [`rrocket`] = "automobile", -- bike + [`sadler`] = "automobile", -- trailer + [`sadler2`] = "automobile", -- trailer + [`scrap`] = "automobile", -- trailer + [`slamtruck`] = "automobile", -- trailer [`Stryder`] = "automobile", -- bike [`submersible`] = "submarine", -- boat [`submersible2`] = "submarine", -- boat [`thruster`] = "heli", -- automobile + [`towtruck`] = "automobile", -- trailer + [`towtruck2`] = "automobile", -- trailer + [`tractor`] = "automobile", -- trailer + [`tractor2`] = "automobile", -- trailer + [`tractor3`] = "automobile", -- trailer [`trailersmall2`] = "trailer", -- automobile + [`utillitruck`] = "automobile", -- trailer + [`utillitruck2`] = "automobile", -- trailer + [`utillitruck3`] = "automobile", -- trailer } ---@param model number|string @@ -1346,15 +1366,14 @@ local mismatchedTypes = { function ESX.GetVehicleType(model) model = type(model) == 'string' and joaat(model) or model if not IsModelInCdimage(model) then return end - - if mismatchedTypes[model] then - return mismatchedTypes[model] - end + if mismatchedTypes[model] then + return mismatchedTypes[model] + end local vehicleType = GetVehicleClassFromName(model) - local types = { [8] = "bike", + [11] = "trailer", [13] = "bike", [14] = "boat", [15] = "heli", From 054c760535160832bb7311748a4b8b9bb6c65558 Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Wed, 20 Sep 2023 00:16:15 +0200 Subject: [PATCH 145/148] change ismodelincdimage to ismodelavehicle, add credits to txadmin for list. --- [core]/es_extended/client/functions.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index 091d31311..bcae0712f 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -1324,7 +1324,7 @@ AddEventHandler('onResourceStop', function(resourceName) end end end) - +-- Credits to txAdmin for the list. local mismatchedTypes = { [`airtug`] = "automobile", -- trailer [`avisa`] = "submarine", -- boat @@ -1365,7 +1365,7 @@ local mismatchedTypes = { ---@return string function ESX.GetVehicleType(model) model = type(model) == 'string' and joaat(model) or model - if not IsModelInCdimage(model) then return end + if not IsModelAVehicle(model) then return end if mismatchedTypes[model] then return mismatchedTypes[model] end @@ -1382,4 +1382,4 @@ function ESX.GetVehicleType(model) } return types[vehicleType] or "automobile" -end \ No newline at end of file +end From b3a27994203f6a3cf6ebd33b11471ced6698caa4 Mon Sep 17 00:00:00 2001 From: Arctos2win <116841243+Arctos2win@users.noreply.github.com> Date: Wed, 20 Sep 2023 16:33:52 +0200 Subject: [PATCH 146/148] Update functions.lua --- [core]/es_extended/client/functions.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index bcae0712f..50300ab48 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -1365,7 +1365,7 @@ local mismatchedTypes = { ---@return string function ESX.GetVehicleType(model) model = type(model) == 'string' and joaat(model) or model - if not IsModelAVehicle(model) then return end + if not IsModelInCdimage(model) then return end if mismatchedTypes[model] then return mismatchedTypes[model] end From 527f8cd82637acd17f1beaf284b0146b31d7a17c Mon Sep 17 00:00:00 2001 From: Fellow25 <92899080+Fellow25@users.noreply.github.com> Date: Thu, 21 Sep 2023 00:04:41 +0100 Subject: [PATCH 147/148] update: change manifest version --- [core]/es_extended/fxmanifest.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/fxmanifest.lua b/[core]/es_extended/fxmanifest.lua index 8e9e178e4..8c7306869 100644 --- a/[core]/es_extended/fxmanifest.lua +++ b/[core]/es_extended/fxmanifest.lua @@ -3,7 +3,7 @@ fx_version 'cerulean' game 'gta5' description 'ES Extended' lua54 'yes' -version '1.10.1' +version '1.10.2' shared_scripts { 'locale.lua', From b8d2c14bf3e00c29366906d2a65562dec4dae6dc Mon Sep 17 00:00:00 2001 From: TheFantomas Date: Thu, 21 Sep 2023 14:46:05 +0200 Subject: [PATCH 148/148] Version fixes --- [core]/cron/fxmanifest.lua | 2 +- [core]/es_extended/fxmanifest.lua | 2 +- [core]/esx_context/fxmanifest.lua | 2 +- [core]/esx_identity/fxmanifest.lua | 2 +- [core]/esx_loadingscreen/fxmanifest.lua | 2 +- [core]/esx_menu_default/fxmanifest.lua | 2 +- [core]/esx_menu_dialog/fxmanifest.lua | 2 +- [core]/esx_menu_list/fxmanifest.lua | 2 +- [core]/esx_multicharacter/fxmanifest.lua | 2 +- [core]/esx_notify/fxmanifest.lua | 2 +- [core]/esx_progressbar/fxmanifest.lua | 2 +- [core]/esx_skin/fxmanifest.lua | 2 +- [core]/esx_textui/fxmanifest.lua | 2 +- [core]/skinchanger/fxmanifest.lua | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/[core]/cron/fxmanifest.lua b/[core]/cron/fxmanifest.lua index 4d8a31657..f6d4d6cbb 100644 --- a/[core]/cron/fxmanifest.lua +++ b/[core]/cron/fxmanifest.lua @@ -4,6 +4,6 @@ game 'gta5' author 'ESX-Framework' description 'cron' lua54 'yes' -version '1.10.1' +version '1.10.2' server_script 'server/main.lua' diff --git a/[core]/es_extended/fxmanifest.lua b/[core]/es_extended/fxmanifest.lua index 8e9e178e4..8c7306869 100644 --- a/[core]/es_extended/fxmanifest.lua +++ b/[core]/es_extended/fxmanifest.lua @@ -3,7 +3,7 @@ fx_version 'cerulean' game 'gta5' description 'ES Extended' lua54 'yes' -version '1.10.1' +version '1.10.2' shared_scripts { 'locale.lua', diff --git a/[core]/esx_context/fxmanifest.lua b/[core]/esx_context/fxmanifest.lua index 7e52d2247..dba78f6f7 100644 --- a/[core]/esx_context/fxmanifest.lua +++ b/[core]/esx_context/fxmanifest.lua @@ -4,7 +4,7 @@ game 'gta5' author 'ESX-Framework & Brayden' description 'Offical ESX Legacy Context Menu' lua54 'yes' -version '1.10.1' +version '1.10.2' ui_page 'index.html' diff --git a/[core]/esx_identity/fxmanifest.lua b/[core]/esx_identity/fxmanifest.lua index 8afa16115..e7e9a5991 100644 --- a/[core]/esx_identity/fxmanifest.lua +++ b/[core]/esx_identity/fxmanifest.lua @@ -3,7 +3,7 @@ fx_version 'adamant' game 'gta5' description 'ESX Identity' lua54 'yes' -version '1.10.1' +version '1.10.2' shared_scripts { '@es_extended/imports.lua', diff --git a/[core]/esx_loadingscreen/fxmanifest.lua b/[core]/esx_loadingscreen/fxmanifest.lua index 68cf84e4c..a5f6ca7bf 100644 --- a/[core]/esx_loadingscreen/fxmanifest.lua +++ b/[core]/esx_loadingscreen/fxmanifest.lua @@ -1,6 +1,6 @@ game 'common' -version '1.10.1' +version '1.10.2' fx_version 'cerulean' author 'ESX-Framework' lua54 'yes' diff --git a/[core]/esx_menu_default/fxmanifest.lua b/[core]/esx_menu_default/fxmanifest.lua index 58ad1d73c..01a3a79c7 100644 --- a/[core]/esx_menu_default/fxmanifest.lua +++ b/[core]/esx_menu_default/fxmanifest.lua @@ -3,7 +3,7 @@ fx_version 'adamant' game 'gta5' description 'ESX Menu Default' lua54 'yes' -version '1.10.1' +version '1.10.2' client_scripts { '@es_extended/imports.lua', 'client/main.lua' } diff --git a/[core]/esx_menu_dialog/fxmanifest.lua b/[core]/esx_menu_dialog/fxmanifest.lua index 21ad639e8..02f973b84 100644 --- a/[core]/esx_menu_dialog/fxmanifest.lua +++ b/[core]/esx_menu_dialog/fxmanifest.lua @@ -3,7 +3,7 @@ fx_version 'adamant' game 'gta5' description 'ESX Menu Dialog' lua54 'yes' -version '1.10.1' +version '1.10.2' client_scripts { '@es_extended/imports.lua', diff --git a/[core]/esx_menu_list/fxmanifest.lua b/[core]/esx_menu_list/fxmanifest.lua index db4b44279..9d4bdeade 100644 --- a/[core]/esx_menu_list/fxmanifest.lua +++ b/[core]/esx_menu_list/fxmanifest.lua @@ -3,7 +3,7 @@ fx_version 'adamant' game 'gta5' description 'ESX Menu List' lua54 'yes' -version '1.10.1' +version '1.10.2' client_scripts { diff --git a/[core]/esx_multicharacter/fxmanifest.lua b/[core]/esx_multicharacter/fxmanifest.lua index e3c36f284..74e786811 100644 --- a/[core]/esx_multicharacter/fxmanifest.lua +++ b/[core]/esx_multicharacter/fxmanifest.lua @@ -3,7 +3,7 @@ fx_version 'cerulean' game 'gta5' author 'ESX-Framework - Linden - KASH' description 'Official Multicharacter System For ESX Legacy' -version '1.10.1' +version '1.10.2' lua54 'yes' dependencies { 'es_extended', 'esx_context', 'esx_identity', 'esx_skin' } diff --git a/[core]/esx_notify/fxmanifest.lua b/[core]/esx_notify/fxmanifest.lua index 04d2cca31..9cd6490b5 100644 --- a/[core]/esx_notify/fxmanifest.lua +++ b/[core]/esx_notify/fxmanifest.lua @@ -2,7 +2,7 @@ fx_version 'adamant' lua54 'yes' game 'gta5' -version '1.10.1' +version '1.10.2' author 'ESX-Framework' description 'Official NUI Notification system for ESX' diff --git a/[core]/esx_progressbar/fxmanifest.lua b/[core]/esx_progressbar/fxmanifest.lua index 720378cd5..5e1eadad3 100644 --- a/[core]/esx_progressbar/fxmanifest.lua +++ b/[core]/esx_progressbar/fxmanifest.lua @@ -3,7 +3,7 @@ fx_version 'adamant' game 'gta5' author 'ESX-Framework' lua54 'yes' -version '1.10.1' +version '1.10.2' description 'ESX Progressbar' client_scripts { 'Progress.lua' } diff --git a/[core]/esx_skin/fxmanifest.lua b/[core]/esx_skin/fxmanifest.lua index f2c11c1d7..bf9b0039e 100644 --- a/[core]/esx_skin/fxmanifest.lua +++ b/[core]/esx_skin/fxmanifest.lua @@ -2,7 +2,7 @@ fx_version 'adamant' game 'gta5' description 'ESX Skin' -version '1.10.1' +version '1.10.2' lua54 'yes' shared_script '@es_extended/imports.lua' diff --git a/[core]/esx_textui/fxmanifest.lua b/[core]/esx_textui/fxmanifest.lua index 8739c6956..77616906a 100644 --- a/[core]/esx_textui/fxmanifest.lua +++ b/[core]/esx_textui/fxmanifest.lua @@ -2,7 +2,7 @@ fx_version 'adamant' game 'gta5' author 'ESX-Framework' -version '1.10.1' +version '1.10.2' description 'ESX TextUI' lua54 'yes' diff --git a/[core]/skinchanger/fxmanifest.lua b/[core]/skinchanger/fxmanifest.lua index 6d91f3d60..9ce2b0eee 100644 --- a/[core]/skinchanger/fxmanifest.lua +++ b/[core]/skinchanger/fxmanifest.lua @@ -3,7 +3,7 @@ fx_version 'adamant' game 'gta5' lua54 'yes' description 'Official ESX-Legacy resource for handling the Player`s Skin' -version '1.10.1' +version '1.10.2' client_scripts { '@es_extended/locale.lua',