diff --git a/README.md b/README.md index 30a1a87..f8ff2dd 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,7 @@ Join the Community Bridge Discord server for support, discussion, and contributi ## About Community Bridge Community Bridge is developed by The Order of the Sacred Framework, a collaborative team focused on improving interoperability and reducing development friction in the FiveM ecosystem. The project is open source and licensed under GPLv3. +We also have a vscode extension located at https://marketplace.visualstudio.com/items?itemName=TheOrderOfTheSacredFramework.fivem-community-bridge-lua --- diff --git a/fxmanifest.lua b/fxmanifest.lua index 221aee4..bf7a89a 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -5,7 +5,7 @@ use_experimental_fxv2_oal 'yes' author 'The Order of the Sacred Framework' name 'community_bridge' description 'A Universal Bridge for Our Community, created by a group of contributors with a shared vision to enhance both user and developer experiences. This bridge connects various frameworks, inventories, target systems, notification systems, and more, fostering compatibility and seamless integration.' -version '0.10.0' +version '0.11.0' shared_scripts { '@ox_lib/init.lua', diff --git a/locales/af.json b/locales/af.json index a173525..42a60a8 100644 --- a/locales/af.json +++ b/locales/af.json @@ -1,28 +1,37 @@ { "Shops": { "NotEnoughMoney": "Jy het nie genoeg geld om hierdie item te koop nie", - "Input": "Hoeveelheid invoer", - "PurchaseAmount": "Aankoop hoeveelheid", + "Input": "Hoeveelheid Invoer", + "PurchaseAmount": "Aankoop Hoeveelheid", "PurchasedItem": "Jy het gekoop ", - "CurrencySymbol": "R", - "Confirm": "Bevestig aankoop", - "AreYouSure": "Is jy seker jy wil 'n ", - "PayByCash": "Betaal kontant", - "PayByCard": "Betaal met kaart" + "CurrencySymbol": "$ %s", + "Confirm": "Bevestig Aankoop", + "AreYouSure": "Is jy seker jy wil 'n %s koop", + "PayByCash": "Betaal %s met kontant", + "PayByCard": "Betaal %s met kaart", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "Winkel Naam" }, "UNITTEST": { "UNITTESTA": "Ek is 'n %s %s", "locale-unit-test": "Dit is 'n toets string" }, "clipboard": { - "copy": "Gekopieer na knipbord" + "copy": "Gekopieer na klipbord" }, "placeable_object": { - "no_prop_defined": "Jy het geen voorwerp gedefinieer om te plaas nie", + "no_prop_defined": "Jy het nie enige voorwerp gedefinieer om te plaas nie", "cant_place_here": "Jy kan nie hierdie voorwerp hier plaas nie", "place_object_place": "[E] Plaas \n", "place_object_cancel": "[X] Kanselleer \n", - "place_object_scroll_up": "[SCROLL UP] Draai regs \n", - "place_object_scroll_down": "[SCROLL DOWN] Draai links" + "place_object_scroll_up": "[Scroll Up] Draai regs \n", + "place_object_scroll_down": "[Scroll Down] Draai links \n", + "object_place": "[%s] Plaas \n", + "object_cancel": "[%s] Kanselleer \n", + "object_scroll_up": "[%s] Draai regs \n", + "object_scroll_down": "[%s] Draai links \n", + "depth_modifier": "[%s] Diepte Beheer Wysiging \n" } } diff --git a/locales/ar.json b/locales/ar.json index 0f82346..8eb8ecd 100644 --- a/locales/ar.json +++ b/locales/ar.json @@ -1,14 +1,18 @@ { "Shops": { - "NotEnoughMoney": "ليس لديك مال كافٍ لشراء هذا العنصر", + "NotEnoughMoney": "ليس لديك ما يكفي من المال لشراء هذا العنصر", "Input": "إدخال الكمية", "PurchaseAmount": "كمية الشراء", - "PurchasedItem": "لقد اشتريت ", - "CurrencySymbol": "ر.س", + "PurchasedItem": "لقد قمت بشراء ", + "CurrencySymbol": "$ %s", "Confirm": "تأكيد الشراء", - "AreYouSure": "هل أنت متأكد من أنك تريد شراء ", - "PayByCash": "الدفع نقداً", - "PayByCard": "الدفع بالبطاقة" + "AreYouSure": "هل أنت متأكد أنك تريد شراء %s", + "PayByCash": "ادفع %s نقداً", + "PayByCard": "ادفع %s بالبطاقة", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "اسم المتجر" }, "UNITTEST": { "UNITTESTA": "أنا %s %s", @@ -22,7 +26,12 @@ "cant_place_here": "لا يمكنك وضع هذا الكائن هنا", "place_object_place": "[E] وضع \n", "place_object_cancel": "[X] إلغاء \n", - "place_object_scroll_up": "[SCROLL UP] تدوير يمين \n", - "place_object_scroll_down": "[SCROLL DOWN] تدوير يسار" + "place_object_scroll_up": "[Scroll Up] استدارة يمين \n", + "place_object_scroll_down": "[Scroll Down] استدارة يسار \n", + "object_place": "[%s] وضع \n", + "object_cancel": "[%s] إلغاء \n", + "object_scroll_up": "[%s] استدارة يمين \n", + "object_scroll_down": "[%s] استدارة يسار \n", + "depth_modifier": "[%s] تعديل التحكم بالعمق \n" } } diff --git a/locales/cs.json b/locales/cs.json index 45653d1..ac60736 100644 --- a/locales/cs.json +++ b/locales/cs.json @@ -1,14 +1,18 @@ { "Shops": { - "NotEnoughMoney": "Nemáte dostatek peněz na nákup této položky", + "NotEnoughMoney": "Nemáte dostatek peněz na koupi této položky", "Input": "Zadání množství", - "PurchaseAmount": "Množství k nákupu", + "PurchaseAmount": "Množství nákupu", "PurchasedItem": "Zakoupili jste ", - "CurrencySymbol": "Kč", + "CurrencySymbol": "$ %s", "Confirm": "Potvrdit nákup", - "AreYouSure": "Jste si jisti, že chcete koupit ", - "PayByCash": "Platit hotově", - "PayByCard": "Platit kartou" + "AreYouSure": "Jste si jisti, že chcete koupit %s", + "PayByCash": "Zaplatit %s hotovostí", + "PayByCard": "Zaplatit %s kartou", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "Název obchodu" }, "UNITTEST": { "UNITTESTA": "Jsem %s %s", @@ -19,10 +23,15 @@ }, "placeable_object": { "no_prop_defined": "Nedefinovali jste žádný objekt k umístění", - "cant_place_here": "Tento objekt zde nemůžete umístit", + "cant_place_here": "Tento objekt nemůžete umístit zde", "place_object_place": "[E] Umístit \n", "place_object_cancel": "[X] Zrušit \n", - "place_object_scroll_up": "[SCROLL UP] Otočit doprava \n", - "place_object_scroll_down": "[SCROLL DOWN] Otočit doleva" + "place_object_scroll_up": "[Scroll Up] Otočit doprava \n", + "place_object_scroll_down": "[Scroll Down] Otočit doleva \n", + "object_place": "[%s] Umístit \n", + "object_cancel": "[%s] Zrušit \n", + "object_scroll_up": "[%s] Otočit doprava \n", + "object_scroll_down": "[%s] Otočit doleva \n", + "depth_modifier": "[%s] Modifikátor kontroly hloubky \n" } } diff --git a/locales/da.json b/locales/da.json index d88f15a..dcaccd1 100644 --- a/locales/da.json +++ b/locales/da.json @@ -2,13 +2,17 @@ "Shops": { "NotEnoughMoney": "Du har ikke nok penge til at købe denne vare", "Input": "Mængde input", - "PurchaseAmount": "Købsmængde", + "PurchaseAmount": "Købs mængde", "PurchasedItem": "Du har købt ", - "CurrencySymbol": "kr", + "CurrencySymbol": "$ %s", "Confirm": "Bekræft køb", - "AreYouSure": "Er du sikker på, at du vil købe en ", - "PayByCash": "Betal kontant", - "PayByCard": "Betal med kort" + "AreYouSure": "Er du sikker på, at du vil købe en %s", + "PayByCash": "Betal %s med kontanter", + "PayByCard": "Betal %s med kort", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "Butiksnavn" }, "UNITTEST": { "UNITTESTA": "Jeg er en %s %s", @@ -22,7 +26,12 @@ "cant_place_here": "Du kan ikke placere dette objekt her", "place_object_place": "[E] Placer \n", "place_object_cancel": "[X] Annuller \n", - "place_object_scroll_up": "[SCROLL UP] Drej til højre \n", - "place_object_scroll_down": "[SCROLL DOWN] Drej til venstre" + "place_object_scroll_up": "[Scroll Up] Drej til højre \n", + "place_object_scroll_down": "[Scroll Down] Drej til venstre \n", + "object_place": "[%s] Placer \n", + "object_cancel": "[%s] Annuller \n", + "object_scroll_up": "[%s] Drej til højre \n", + "object_scroll_down": "[%s] Drej til venstre \n", + "depth_modifier": "[%s] Dybde kontrol modifier \n" } } diff --git a/locales/de.json b/locales/de.json index d146bcb..9225859 100644 --- a/locales/de.json +++ b/locales/de.json @@ -1,28 +1,37 @@ { "Shops": { - "NotEnoughMoney": "Du hast nicht genug Geld, um diesen Artikel zu kaufen", - "Input": "Mengeneingabe", + "NotEnoughMoney": "Sie haben nicht genug Geld, um diesen Artikel zu kaufen", + "Input": "Mengen-Eingabe", "PurchaseAmount": "Kaufmenge", - "PurchasedItem": "Du hast gekauft ", - "CurrencySymbol": "€", + "PurchasedItem": "Sie haben gekauft ", + "CurrencySymbol": "$ %s", "Confirm": "Kauf bestätigen", - "AreYouSure": "Bist du sicher, dass du einen ", - "PayByCash": "Bar bezahlen", - "PayByCard": "Mit Karte bezahlen" + "AreYouSure": "Sind Sie sicher, dass Sie einen %s kaufen möchten", + "PayByCash": "%s mit Bargeld bezahlen", + "PayByCard": "%s mit Karte bezahlen", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "Geschäftsname" }, "UNITTEST": { "UNITTESTA": "Ich bin ein %s %s", - "locale-unit-test": "Das ist ein Teststring" + "locale-unit-test": "Dies ist ein Test-String" }, "clipboard": { "copy": "In die Zwischenablage kopiert" }, "placeable_object": { - "no_prop_defined": "Du hast kein Objekt zum Platzieren definiert", - "cant_place_here": "Du kannst dieses Objekt hier nicht platzieren", + "no_prop_defined": "Sie haben kein Objekt zum Platzieren definiert", + "cant_place_here": "Sie können dieses Objekt hier nicht platzieren", "place_object_place": "[E] Platzieren \n", "place_object_cancel": "[X] Abbrechen \n", - "place_object_scroll_up": "[SCROLL UP] Rechts drehen \n", - "place_object_scroll_down": "[SCROLL DOWN] Links drehen" + "place_object_scroll_up": "[Scroll Up] Nach rechts drehen \n", + "place_object_scroll_down": "[Scroll Down] Nach links drehen \n", + "object_place": "[%s] Platzieren \n", + "object_cancel": "[%s] Abbrechen \n", + "object_scroll_up": "[%s] Nach rechts drehen \n", + "object_scroll_down": "[%s] Nach links drehen \n", + "depth_modifier": "[%s] Tiefenkontrolle Modifikator \n" } } diff --git a/locales/el.json b/locales/el.json index 3efe343..d5de10b 100644 --- a/locales/el.json +++ b/locales/el.json @@ -4,25 +4,34 @@ "Input": "Εισαγωγή ποσότητας", "PurchaseAmount": "Ποσότητα αγοράς", "PurchasedItem": "Αγοράσατε ", - "CurrencySymbol": "€", + "CurrencySymbol": "$ %s", "Confirm": "Επιβεβαίωση αγοράς", - "AreYouSure": "Είστε σίγουροι ότι θέλετε να αγοράσετε ", - "PayByCash": "Πληρωμή με μετρητά", - "PayByCard": "Πληρωμή με κάρτα" + "AreYouSure": "Είστε βέβαιοι ότι θέλετε να αγοράσετε ένα %s", + "PayByCash": "Πληρωμή %s με μετρητά", + "PayByCard": "Πληρωμή %s με κάρτα", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "Όνομα καταστήματος" }, "UNITTEST": { "UNITTESTA": "Είμαι ένας %s %s", - "locale-unit-test": "Αυτή είναι μια συμβολοσειρά δοκιμής" + "locale-unit-test": "Αυτό είναι ένα δοκιμαστικό κείμενο" }, "clipboard": { - "copy": "Αντιγράφηκε στο πρόχειρο" + "copy": "Αντιγράφηκε στο clipboard" }, "placeable_object": { - "no_prop_defined": "Δεν έχετε ορίσει κάποιο αντικείμενο προς τοποθέτηση", + "no_prop_defined": "Δεν ορίσατε κανένα αντικείμενο για τοποθέτηση", "cant_place_here": "Δεν μπορείτε να τοποθετήσετε αυτό το αντικείμενο εδώ", "place_object_place": "[E] Τοποθέτηση \n", "place_object_cancel": "[X] Ακύρωση \n", - "place_object_scroll_up": "[SCROLL UP] Περιστροφή δεξιά \n", - "place_object_scroll_down": "[SCROLL DOWN] Περιστροφή αριστερά" + "place_object_scroll_up": "[Scroll Up] Περιστροφή δεξιά \n", + "place_object_scroll_down": "[Scroll Down] Περιστροφή αριστερά \n", + "object_place": "[%s] Τοποθέτηση \n", + "object_cancel": "[%s] Ακύρωση \n", + "object_scroll_up": "[%s] Περιστροφή δεξιά \n", + "object_scroll_down": "[%s] Περιστροφή αριστερά \n", + "depth_modifier": "[%s] Τροποποιητής ελέγχου βάθους \n" } } diff --git a/locales/en.json b/locales/en.json index 2ce96d7..a29e42d 100644 --- a/locales/en.json +++ b/locales/en.json @@ -1,24 +1,28 @@ { "Shops": { - "NotEnoughMoney": "You dont have enough money to buy this item", + "NotEnoughMoney": "You don't have enough money to buy this item", "Input": "Amount Input", - "PurchaseAmount": "Purchase Quanity", + "PurchaseAmount": "Purchase Quantity", "PurchasedItem": "You Have Purchased ", - "CurrencySymbol": "$", + "CurrencySymbol": "$ %s", "Confirm": "Confirm Purchase", - "AreYouSure": "Are you sure you want to purchase a ", - "PayByCash": "Pay by cash", - "PayByCard": "Pay by card" + "AreYouSure": "Are you sure you want to purchase a %s", + "PayByCash": "Pay %s with cash", + "PayByCard": "Pay %s with card", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "Shop Name" }, "UNITTEST": { - "UNITTESTA": "Im a %s %s", + "UNITTESTA": "I'm a %s %s", "locale-unit-test": "This is a test string" }, "clipboard": { "copy": "Copied to clipboard" }, "placeable_object": { - "no_prop_defined": "You didnt define any object to place", + "no_prop_defined": "You didn't define any object to place", "cant_place_here": "You can't place this object here", "place_object_place": "[E] Place \n", "place_object_cancel": "[X] Cancel \n", diff --git a/locales/es.json b/locales/es.json index e029410..56c07d7 100644 --- a/locales/es.json +++ b/locales/es.json @@ -4,11 +4,15 @@ "Input": "Entrada de cantidad", "PurchaseAmount": "Cantidad de compra", "PurchasedItem": "Has comprado ", - "CurrencySymbol": "€", + "CurrencySymbol": "$ %s", "Confirm": "Confirmar compra", - "AreYouSure": "¿Estás seguro de que quieres comprar un ", - "PayByCash": "Pagar en efectivo", - "PayByCard": "Pagar con tarjeta" + "AreYouSure": "¿Estás seguro de que quieres comprar un %s?", + "PayByCash": "Pagar %s en efectivo", + "PayByCard": "Pagar %s con tarjeta", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "Nombre de la tienda" }, "UNITTEST": { "UNITTESTA": "Soy un %s %s", @@ -22,7 +26,12 @@ "cant_place_here": "No puedes colocar este objeto aquí", "place_object_place": "[E] Colocar \n", "place_object_cancel": "[X] Cancelar \n", - "place_object_scroll_up": "[SCROLL UP] Girar a la derecha \n", - "place_object_scroll_down": "[SCROLL DOWN] Girar a la izquierda" + "place_object_scroll_up": "[Scroll Up] Girar a la derecha \n", + "place_object_scroll_down": "[Scroll Down] Girar a la izquierda \n", + "object_place": "[%s] Colocar \n", + "object_cancel": "[%s] Cancelar \n", + "object_scroll_up": "[%s] Girar a la derecha \n", + "object_scroll_down": "[%s] Girar a la izquierda \n", + "depth_modifier": "[%s] Modificador de control de profundidad \n" } } diff --git a/locales/fi.json b/locales/fi.json index 3c84e82..9d7c9c3 100644 --- a/locales/fi.json +++ b/locales/fi.json @@ -1,28 +1,37 @@ { "Shops": { - "NotEnoughMoney": "Sinulla ei ole tarpeeksi rahaa tämän tuotteen ostamiseen", + "NotEnoughMoney": "Sinulla ei ole tarpeeksi rahaa ostaaksesi tätä tuotetta", "Input": "Määrän syöttö", "PurchaseAmount": "Ostomäärä", - "PurchasedItem": "Ostit ", - "CurrencySymbol": "€", + "PurchasedItem": "Olet ostanut ", + "CurrencySymbol": "$ %s", "Confirm": "Vahvista osto", - "AreYouSure": "Oletko varma, että haluat ostaa ", - "PayByCash": "Maksa käteisellä", - "PayByCard": "Maksa kortilla" + "AreYouSure": "Oletko varma, että haluat ostaa %s", + "PayByCash": "Maksa %s käteisellä", + "PayByCard": "Maksa %s kortilla", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "Kaupan nimi" }, "UNITTEST": { "UNITTESTA": "Olen %s %s", - "locale-unit-test": "Tämä on testijono" + "locale-unit-test": "Tämä on testimerkki" }, "clipboard": { "copy": "Kopioitu leikepöydälle" }, "placeable_object": { - "no_prop_defined": "Et ole määritellyt mitään objektia sijoitettavaksi", + "no_prop_defined": "Et ole määrittänyt mitään objektia sijoitettavaksi", "cant_place_here": "Et voi sijoittaa tätä objektia tähän", "place_object_place": "[E] Sijoita \n", "place_object_cancel": "[X] Peruuta \n", - "place_object_scroll_up": "[SCROLL UP] Käännä oikealle \n", - "place_object_scroll_down": "[SCROLL DOWN] Käännä vasemmalle" + "place_object_scroll_up": "[Scroll Up] Käännä oikealle \n", + "place_object_scroll_down": "[Scroll Down] Käännä vasemmalle \n", + "object_place": "[%s] Sijoita \n", + "object_cancel": "[%s] Peruuta \n", + "object_scroll_up": "[%s] Käännä oikealle \n", + "object_scroll_down": "[%s] Käännä vasemmalle \n", + "depth_modifier": "[%s] Syvyyshallinnan muokkaaja \n" } } diff --git a/locales/fr.json b/locales/fr.json index 83c3da9..b68c3fb 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -4,11 +4,15 @@ "Input": "Saisie de quantité", "PurchaseAmount": "Quantité d'achat", "PurchasedItem": "Vous avez acheté ", - "CurrencySymbol": "€", + "CurrencySymbol": "$ %s", "Confirm": "Confirmer l'achat", - "AreYouSure": "Êtes-vous sûr de vouloir acheter un ", - "PayByCash": "Payer en espèces", - "PayByCard": "Payer par carte" + "AreYouSure": "Êtes-vous sûr de vouloir acheter un %s", + "PayByCash": "Payer %s en espèces", + "PayByCard": "Payer %s par carte", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "Nom du magasin" }, "UNITTEST": { "UNITTESTA": "Je suis un %s %s", @@ -22,7 +26,12 @@ "cant_place_here": "Vous ne pouvez pas placer cet objet ici", "place_object_place": "[E] Placer \n", "place_object_cancel": "[X] Annuler \n", - "place_object_scroll_up": "[SCROLL UP] Tourner à droite \n", - "place_object_scroll_down": "[SCROLL DOWN] Tourner à gauche" + "place_object_scroll_up": "[Scroll Up] Tourner à droite \n", + "place_object_scroll_down": "[Scroll Down] Tourner à gauche \n", + "object_place": "[%s] Placer \n", + "object_cancel": "[%s] Annuler \n", + "object_scroll_up": "[%s] Tourner à droite \n", + "object_scroll_down": "[%s] Tourner à gauche \n", + "depth_modifier": "[%s] Modificateur de contrôle de profondeur \n" } } diff --git a/locales/hi.json b/locales/hi.json index ca9de22..ea1ddd6 100644 --- a/locales/hi.json +++ b/locales/hi.json @@ -1,28 +1,37 @@ { "Shops": { - "NotEnoughMoney": "आपके पास इस वस्तु को खरीदने के लिए पर्याप्त पैसे नहीं हैं", + "NotEnoughMoney": "इस वस्तु को खरीदने के लिए आपके पास पर्याप्त पैसे नहीं हैं", "Input": "मात्रा इनपुट", "PurchaseAmount": "खरीदारी की मात्रा", "PurchasedItem": "आपने खरीदा है ", - "CurrencySymbol": "₹", + "CurrencySymbol": "$ %s", "Confirm": "खरीदारी की पुष्टि करें", - "AreYouSure": "क्या आप वाकई एक खरीदना चाहते हैं ", - "PayByCash": "नकद भुगतान करें", - "PayByCard": "कार्ड से भुगतान करें" + "AreYouSure": "क्या आप वाकई %s खरीदना चाहते हैं", + "PayByCash": "%s नकदी से भुगतान करें", + "PayByCard": "%s कार्ड से भुगतान करें", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "दुकान का नाम" }, "UNITTEST": { - "UNITTESTA": "मैं एक %s %s हूँ", + "UNITTESTA": "मैं एक %s %s हूं", "locale-unit-test": "यह एक परीक्षण स्ट्रिंग है" }, "clipboard": { - "copy": "क्लिपबोर्ड में कॉपी किया गया" + "copy": "क्लिपबोर्ड पर कॉपी किया गया" }, "placeable_object": { "no_prop_defined": "आपने रखने के लिए कोई वस्तु परिभाषित नहीं की है", - "cant_place_here": "आप इस वस्तु को यहाँ नहीं रख सकते", + "cant_place_here": "आप इस वस्तु को यहां नहीं रख सकते", "place_object_place": "[E] रखें \n", "place_object_cancel": "[X] रद्द करें \n", - "place_object_scroll_up": "[SCROLL UP] दाईं ओर घुमाएं \n", - "place_object_scroll_down": "[SCROLL DOWN] बाईं ओर घुमाएं" + "place_object_scroll_up": "[Scroll Up] दाएं मुड़ें \n", + "place_object_scroll_down": "[Scroll Down] बाएं मुड़ें \n", + "object_place": "[%s] रखें \n", + "object_cancel": "[%s] रद्द करें \n", + "object_scroll_up": "[%s] दाएं मुड़ें \n", + "object_scroll_down": "[%s] बाएं मुड़ें \n", + "depth_modifier": "[%s] गहराई नियंत्रण संशोधक \n" } } diff --git a/locales/hu.json b/locales/hu.json index 5f1febf..ced006d 100644 --- a/locales/hu.json +++ b/locales/hu.json @@ -1,18 +1,22 @@ { "Shops": { - "NotEnoughMoney": "Nincs elegendő pénzed ennek a tételnek a megvásárlásához", + "NotEnoughMoney": "Nincs elég pénzed ennek a tételnek a megvásárlásához", "Input": "Mennyiség bevitel", "PurchaseAmount": "Vásárlási mennyiség", "PurchasedItem": "Megvásároltad ", - "CurrencySymbol": "Ft", + "CurrencySymbol": "$ %s", "Confirm": "Vásárlás megerősítése", - "AreYouSure": "Biztos vagy benne, hogy meg akarsz vásárolni ", - "PayByCash": "Készpénzzel fizet", - "PayByCard": "Kártyával fizet" + "AreYouSure": "Biztosan meg akarsz vásárolni egy %s-t", + "PayByCash": "%s fizetése készpénzzel", + "PayByCard": "%s fizetése kártyával", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "Bolt neve" }, "UNITTEST": { "UNITTESTA": "Én egy %s %s vagyok", - "locale-unit-test": "Ez egy teszt karakterlánc" + "locale-unit-test": "Ez egy teszt string" }, "clipboard": { "copy": "Vágólapra másolva" @@ -20,9 +24,14 @@ "placeable_object": { "no_prop_defined": "Nem definiáltál semmilyen objektumot elhelyezésre", "cant_place_here": "Nem helyezheted el ezt az objektumot itt", - "place_object_place": "[E] Elhelyez \n", + "place_object_place": "[E] Elhelyezés \n", "place_object_cancel": "[X] Mégse \n", - "place_object_scroll_up": "[SCROLL UP] Forgatás jobbra \n", - "place_object_scroll_down": "[SCROLL DOWN] Forgatás balra" + "place_object_scroll_up": "[Scroll Up] Jobbra fordítás \n", + "place_object_scroll_down": "[Scroll Down] Balra fordítás \n", + "object_place": "[%s] Elhelyezés \n", + "object_cancel": "[%s] Mégse \n", + "object_scroll_up": "[%s] Jobbra fordítás \n", + "object_scroll_down": "[%s] Balra fordítás \n", + "depth_modifier": "[%s] Mélység vezérlő módosító \n" } } diff --git a/locales/it.json b/locales/it.json index 5c77881..44968f7 100644 --- a/locales/it.json +++ b/locales/it.json @@ -1,14 +1,18 @@ { "Shops": { - "NotEnoughMoney": "Non hai abbastanza soldi per comprare questo articolo", + "NotEnoughMoney": "Non hai abbastanza denaro per comprare questo articolo", "Input": "Inserimento quantità", "PurchaseAmount": "Quantità di acquisto", "PurchasedItem": "Hai acquistato ", - "CurrencySymbol": "€", + "CurrencySymbol": "$ %s", "Confirm": "Conferma acquisto", - "AreYouSure": "Sei sicuro di voler comprare un ", - "PayByCash": "Paga in contanti", - "PayByCard": "Paga con carta" + "AreYouSure": "Sei sicuro di voler acquistare un %s", + "PayByCash": "Paga %s in contanti", + "PayByCard": "Paga %s con carta", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "Nome negozio" }, "UNITTEST": { "UNITTESTA": "Sono un %s %s", @@ -18,11 +22,16 @@ "copy": "Copiato negli appunti" }, "placeable_object": { - "no_prop_defined": "Non hai definito nessun oggetto da posizionare", + "no_prop_defined": "Non hai definito alcun oggetto da posizionare", "cant_place_here": "Non puoi posizionare questo oggetto qui", "place_object_place": "[E] Posiziona \n", "place_object_cancel": "[X] Annulla \n", - "place_object_scroll_up": "[SCROLL UP] Ruota a destra \n", - "place_object_scroll_down": "[SCROLL DOWN] Ruota a sinistra" + "place_object_scroll_up": "[Scroll Up] Ruota a destra \n", + "place_object_scroll_down": "[Scroll Down] Ruota a sinistra \n", + "object_place": "[%s] Posiziona \n", + "object_cancel": "[%s] Annulla \n", + "object_scroll_up": "[%s] Ruota a destra \n", + "object_scroll_down": "[%s] Ruota a sinistra \n", + "depth_modifier": "[%s] Modificatore controllo profondità \n" } } diff --git a/locales/ja.json b/locales/ja.json index c1691e2..0966d26 100644 --- a/locales/ja.json +++ b/locales/ja.json @@ -4,25 +4,34 @@ "Input": "数量入力", "PurchaseAmount": "購入数量", "PurchasedItem": "購入しました ", - "CurrencySymbol": "¥", + "CurrencySymbol": "$ %s", "Confirm": "購入を確認", - "AreYouSure": "本当に購入しますか ", - "PayByCash": "現金で支払う", - "PayByCard": "カードで支払う" + "AreYouSure": "%sを購入してもよろしいですか", + "PayByCash": "%sを現金で支払う", + "PayByCard": "%sをカードで支払う", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "店舗名" }, "UNITTEST": { "UNITTESTA": "私は%s %sです", "locale-unit-test": "これはテスト文字列です" }, "clipboard": { - "copy": "クリップボードにコピーしました" + "copy": "クリップボードにコピーされました" }, "placeable_object": { "no_prop_defined": "配置するオブジェクトが定義されていません", - "cant_place_here": "ここにこのオブジェクトを配置できません", + "cant_place_here": "このオブジェクトをここに配置することはできません", "place_object_place": "[E] 配置 \n", "place_object_cancel": "[X] キャンセル \n", - "place_object_scroll_up": "[SCROLL UP] 右回転 \n", - "place_object_scroll_down": "[SCROLL DOWN] 左回転" + "place_object_scroll_up": "[Scroll Up] 右回転 \n", + "place_object_scroll_down": "[Scroll Down] 左回転 \n", + "object_place": "[%s] 配置 \n", + "object_cancel": "[%s] キャンセル \n", + "object_scroll_up": "[%s] 右回転 \n", + "object_scroll_down": "[%s] 左回転 \n", + "depth_modifier": "[%s] 深度制御修飾子 \n" } } diff --git a/locales/ko.json b/locales/ko.json index f62cce2..5297b43 100644 --- a/locales/ko.json +++ b/locales/ko.json @@ -4,11 +4,15 @@ "Input": "수량 입력", "PurchaseAmount": "구매 수량", "PurchasedItem": "구매했습니다 ", - "CurrencySymbol": "₩", + "CurrencySymbol": "$ %s", "Confirm": "구매 확인", - "AreYouSure": "정말로 구매하시겠습니까 ", - "PayByCash": "현금으로 결제", - "PayByCard": "카드로 결제" + "AreYouSure": "%s를 구매하시겠습니까", + "PayByCash": "%s를 현금으로 지불", + "PayByCard": "%s를 카드로 지불", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "상점 이름" }, "UNITTEST": { "UNITTESTA": "나는 %s %s입니다", @@ -19,10 +23,15 @@ }, "placeable_object": { "no_prop_defined": "배치할 객체를 정의하지 않았습니다", - "cant_place_here": "여기에 이 객체를 배치할 수 없습니다", + "cant_place_here": "이 객체를 여기에 배치할 수 없습니다", "place_object_place": "[E] 배치 \n", "place_object_cancel": "[X] 취소 \n", - "place_object_scroll_up": "[SCROLL UP] 오른쪽으로 회전 \n", - "place_object_scroll_down": "[SCROLL DOWN] 왼쪽으로 회전" + "place_object_scroll_up": "[Scroll Up] 오른쪽으로 회전 \n", + "place_object_scroll_down": "[Scroll Down] 왼쪽으로 회전 \n", + "object_place": "[%s] 배치 \n", + "object_cancel": "[%s] 취소 \n", + "object_scroll_up": "[%s] 오른쪽으로 회전 \n", + "object_scroll_down": "[%s] 왼쪽으로 회전 \n", + "depth_modifier": "[%s] 깊이 제어 수정자 \n" } } diff --git a/locales/nl.json b/locales/nl.json index e1426bc..17917ab 100644 --- a/locales/nl.json +++ b/locales/nl.json @@ -4,11 +4,15 @@ "Input": "Hoeveelheid invoer", "PurchaseAmount": "Aankoop hoeveelheid", "PurchasedItem": "Je hebt gekocht ", - "CurrencySymbol": "€", + "CurrencySymbol": "$ %s", "Confirm": "Aankoop bevestigen", - "AreYouSure": "Weet je zeker dat je een ", - "PayByCash": "Contant betalen", - "PayByCard": "Met kaart betalen" + "AreYouSure": "Weet je zeker dat je een %s wilt kopen", + "PayByCash": "Betaal %s contant", + "PayByCard": "Betaal %s met kaart", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "Winkelnaam" }, "UNITTEST": { "UNITTESTA": "Ik ben een %s %s", @@ -22,7 +26,12 @@ "cant_place_here": "Je kunt dit object hier niet plaatsen", "place_object_place": "[E] Plaatsen \n", "place_object_cancel": "[X] Annuleren \n", - "place_object_scroll_up": "[SCROLL UP] Rechts draaien \n", - "place_object_scroll_down": "[SCROLL DOWN] Links draaien" + "place_object_scroll_up": "[Scroll Up] Rechtsom draaien \n", + "place_object_scroll_down": "[Scroll Down] Linksom draaien \n", + "object_place": "[%s] Plaatsen \n", + "object_cancel": "[%s] Annuleren \n", + "object_scroll_up": "[%s] Rechtsom draaien \n", + "object_scroll_down": "[%s] Linksom draaien \n", + "depth_modifier": "[%s] Diepte controle modifier \n" } } diff --git a/locales/no.json b/locales/no.json index 7318bfd..58fa8c7 100644 --- a/locales/no.json +++ b/locales/no.json @@ -4,11 +4,15 @@ "Input": "Mengde inndata", "PurchaseAmount": "Kjøpsmengde", "PurchasedItem": "Du har kjøpt ", - "CurrencySymbol": "kr", + "CurrencySymbol": "$ %s", "Confirm": "Bekreft kjøp", - "AreYouSure": "Er du sikker på at du vil kjøpe en ", - "PayByCash": "Betal kontant", - "PayByCard": "Betal med kort" + "AreYouSure": "Er du sikker på at du vil kjøpe en %s", + "PayByCash": "Betal %s med kontanter", + "PayByCard": "Betal %s med kort", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "Butikknavn" }, "UNITTEST": { "UNITTESTA": "Jeg er en %s %s", @@ -22,7 +26,12 @@ "cant_place_here": "Du kan ikke plassere dette objektet her", "place_object_place": "[E] Plasser \n", "place_object_cancel": "[X] Avbryt \n", - "place_object_scroll_up": "[SCROLL UP] Drei høyre \n", - "place_object_scroll_down": "[SCROLL DOWN] Drei venstre" + "place_object_scroll_up": "[Scroll Up] Snu til høyre \n", + "place_object_scroll_down": "[Scroll Down] Snu til venstre \n", + "object_place": "[%s] Plasser \n", + "object_cancel": "[%s] Avbryt \n", + "object_scroll_up": "[%s] Snu til høyre \n", + "object_scroll_down": "[%s] Snu til venstre \n", + "depth_modifier": "[%s] Dybdekontroll modifikator \n" } } diff --git a/locales/pl.json b/locales/pl.json index 050753d..fa3732c 100644 --- a/locales/pl.json +++ b/locales/pl.json @@ -1,14 +1,18 @@ { "Shops": { "NotEnoughMoney": "Nie masz wystarczająco pieniędzy, aby kupić ten przedmiot", - "Input": "Wprowadzenie ilości", + "Input": "Wprowadzanie ilości", "PurchaseAmount": "Ilość zakupu", "PurchasedItem": "Kupiłeś ", - "CurrencySymbol": "zł", + "CurrencySymbol": "$ %s", "Confirm": "Potwierdź zakup", - "AreYouSure": "Czy na pewno chcesz kupić ", - "PayByCash": "Zapłać gotówką", - "PayByCard": "Zapłać kartą" + "AreYouSure": "Czy na pewno chcesz kupić %s", + "PayByCash": "Zapłać %s gotówką", + "PayByCard": "Zapłać %s kartą", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "Nazwa sklepu" }, "UNITTEST": { "UNITTESTA": "Jestem %s %s", @@ -22,7 +26,12 @@ "cant_place_here": "Nie możesz umieścić tego obiektu tutaj", "place_object_place": "[E] Umieść \n", "place_object_cancel": "[X] Anuluj \n", - "place_object_scroll_up": "[SCROLL UP] Obróć w prawo \n", - "place_object_scroll_down": "[SCROLL DOWN] Obróć w lewo" + "place_object_scroll_up": "[Scroll Up] Obróć w prawo \n", + "place_object_scroll_down": "[Scroll Down] Obróć w lewo \n", + "object_place": "[%s] Umieść \n", + "object_cancel": "[%s] Anuluj \n", + "object_scroll_up": "[%s] Obróć w prawo \n", + "object_scroll_down": "[%s] Obróć w lewo \n", + "depth_modifier": "[%s] Modyfikator kontroli głębokości \n" } } diff --git a/locales/pt.json b/locales/pt.json index 46557fa..7ca66e4 100644 --- a/locales/pt.json +++ b/locales/pt.json @@ -4,11 +4,15 @@ "Input": "Entrada de quantidade", "PurchaseAmount": "Quantidade de compra", "PurchasedItem": "Você comprou ", - "CurrencySymbol": "R$", + "CurrencySymbol": "$ %s", "Confirm": "Confirmar compra", - "AreYouSure": "Tem certeza de que deseja comprar um ", - "PayByCash": "Pagar em dinheiro", - "PayByCard": "Pagar com cartão" + "AreYouSure": "Você tem certeza que quer comprar um %s", + "PayByCash": "Pagar %s em dinheiro", + "PayByCard": "Pagar %s com cartão", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "Nome da loja" }, "UNITTEST": { "UNITTESTA": "Eu sou um %s %s", @@ -22,7 +26,12 @@ "cant_place_here": "Você não pode colocar este objeto aqui", "place_object_place": "[E] Colocar \n", "place_object_cancel": "[X] Cancelar \n", - "place_object_scroll_up": "[SCROLL UP] Girar à direita \n", - "place_object_scroll_down": "[SCROLL DOWN] Girar à esquerda" + "place_object_scroll_up": "[Scroll Up] Girar para a direita \n", + "place_object_scroll_down": "[Scroll Down] Girar para a esquerda \n", + "object_place": "[%s] Colocar \n", + "object_cancel": "[%s] Cancelar \n", + "object_scroll_up": "[%s] Girar para a direita \n", + "object_scroll_down": "[%s] Girar para a esquerda \n", + "depth_modifier": "[%s] Modificador de controle de profundidade \n" } } diff --git a/locales/ro.json b/locales/ro.json index b23895c..32db7bd 100644 --- a/locales/ro.json +++ b/locales/ro.json @@ -1,14 +1,18 @@ { "Shops": { - "NotEnoughMoney": "Nu aveți suficienți bani pentru a cumpăra acest articol", + "NotEnoughMoney": "Nu ai destui bani să cumperi acest articol", "Input": "Introducere cantitate", - "PurchaseAmount": "Cantitatea de cumpărare", - "PurchasedItem": "Ați cumpărat ", - "CurrencySymbol": "lei", - "Confirm": "Confirmați achiziția", - "AreYouSure": "Sunteți sigur că doriți să cumpărați ", - "PayByCash": "Plătiți cu numerar", - "PayByCard": "Plătiți cu cardul" + "PurchaseAmount": "Cantitate de cumpărare", + "PurchasedItem": "Ai cumpărat ", + "CurrencySymbol": "$ %s", + "Confirm": "Confirmă cumpărarea", + "AreYouSure": "Ești sigur că vrei să cumperi un %s", + "PayByCash": "Plătește %s cu numerar", + "PayByCard": "Plătește %s cu cardul", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "Numele magazinului" }, "UNITTEST": { "UNITTESTA": "Sunt un %s %s", @@ -18,11 +22,16 @@ "copy": "Copiat în clipboard" }, "placeable_object": { - "no_prop_defined": "Nu ați definit niciun obiect de plasat", - "cant_place_here": "Nu puteți plasa acest obiect aici", - "place_object_place": "[E] Plasați \n", - "place_object_cancel": "[X] Anulați \n", - "place_object_scroll_up": "[SCROLL UP] Rotiți la dreapta \n", - "place_object_scroll_down": "[SCROLL DOWN] Rotiți la stânga" + "no_prop_defined": "Nu ai definit niciun obiect de plasat", + "cant_place_here": "Nu poți plasa acest obiect aici", + "place_object_place": "[E] Plasează \n", + "place_object_cancel": "[X] Anulează \n", + "place_object_scroll_up": "[Scroll Up] Rotește la dreapta \n", + "place_object_scroll_down": "[Scroll Down] Rotește la stânga \n", + "object_place": "[%s] Plasează \n", + "object_cancel": "[%s] Anulează \n", + "object_scroll_up": "[%s] Rotește la dreapta \n", + "object_scroll_down": "[%s] Rotește la stânga \n", + "depth_modifier": "[%s] Modificator control adâncime \n" } } diff --git a/locales/ru.json b/locales/ru.json index 6a9e829..e58033c 100644 --- a/locales/ru.json +++ b/locales/ru.json @@ -1,14 +1,18 @@ { "Shops": { - "NotEnoughMoney": "У вас недостаточно денег для покупки этого товара", + "NotEnoughMoney": "У вас недостаточно денег для покупки этого предмета", "Input": "Ввод количества", "PurchaseAmount": "Количество покупки", "PurchasedItem": "Вы купили ", - "CurrencySymbol": "₽", + "CurrencySymbol": "$ %s", "Confirm": "Подтвердить покупку", - "AreYouSure": "Вы уверены, что хотите купить ", - "PayByCash": "Оплатить наличными", - "PayByCard": "Оплатить картой" + "AreYouSure": "Вы уверены, что хотите купить %s", + "PayByCash": "Оплатить %s наличными", + "PayByCard": "Оплатить %s картой", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "Название магазина" }, "UNITTEST": { "UNITTESTA": "Я %s %s", @@ -18,11 +22,16 @@ "copy": "Скопировано в буфер обмена" }, "placeable_object": { - "no_prop_defined": "Вы не определили объект для размещения", + "no_prop_defined": "Вы не определили никакого объекта для размещения", "cant_place_here": "Вы не можете разместить этот объект здесь", "place_object_place": "[E] Разместить \n", - "place_object_cancel": "[X] Отмена \n", - "place_object_scroll_up": "[SCROLL UP] Повернуть вправо \n", - "place_object_scroll_down": "[SCROLL DOWN] Повернуть влево" + "place_object_cancel": "[X] Отменить \n", + "place_object_scroll_up": "[Scroll Up] Повернуть вправо \n", + "place_object_scroll_down": "[Scroll Down] Повернуть влево \n", + "object_place": "[%s] Разместить \n", + "object_cancel": "[%s] Отменить \n", + "object_scroll_up": "[%s] Повернуть вправо \n", + "object_scroll_down": "[%s] Повернуть влево \n", + "depth_modifier": "[%s] Модификатор контроля глубины \n" } } diff --git a/locales/sv.json b/locales/sv.json index eb346b7..4dd55b3 100644 --- a/locales/sv.json +++ b/locales/sv.json @@ -1,14 +1,18 @@ { "Shops": { - "NotEnoughMoney": "Du har inte tillräckligt med pengar för att köpa detta föremål", + "NotEnoughMoney": "Du har inte tillräckligt med pengar för att köpa denna vara", "Input": "Mängd inmatning", - "PurchaseAmount": "Köpmängd", + "PurchaseAmount": "Inköpsmängd", "PurchasedItem": "Du har köpt ", - "CurrencySymbol": "kr", + "CurrencySymbol": "$ %s", "Confirm": "Bekräfta köp", - "AreYouSure": "Är du säker på att du vill köpa en ", - "PayByCash": "Betala kontant", - "PayByCard": "Betala med kort" + "AreYouSure": "Är du säker på att du vill köpa en %s", + "PayByCash": "Betala %s kontant", + "PayByCard": "Betala %s med kort", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "Butiksnamn" }, "UNITTEST": { "UNITTESTA": "Jag är en %s %s", @@ -22,7 +26,12 @@ "cant_place_here": "Du kan inte placera detta objekt här", "place_object_place": "[E] Placera \n", "place_object_cancel": "[X] Avbryt \n", - "place_object_scroll_up": "[SCROLL UP] Vrid höger \n", - "place_object_scroll_down": "[SCROLL DOWN] Vrid vänster" + "place_object_scroll_up": "[Scroll Up] Vrid höger \n", + "place_object_scroll_down": "[Scroll Down] Vrid vänster \n", + "object_place": "[%s] Placera \n", + "object_cancel": "[%s] Avbryt \n", + "object_scroll_up": "[%s] Vrid höger \n", + "object_scroll_down": "[%s] Vrid vänster \n", + "depth_modifier": "[%s] Djupkontroll modifierare \n" } } diff --git a/locales/th.json b/locales/th.json index 587f5db..7d72a4d 100644 --- a/locales/th.json +++ b/locales/th.json @@ -1,28 +1,37 @@ { "Shops": { - "NotEnoughMoney": "คุณไม่มีเงินเพียงพอที่จะซื้อสินค้านี้", + "NotEnoughMoney": "คุณไม่มีเงินเพียงพอที่จะซื้อสิ่งนี้", "Input": "ป้อนจำนวน", - "PurchaseAmount": "จำนวนการซื้อ", - "PurchasedItem": "คุณซื้อแล้ว ", - "CurrencySymbol": "฿", + "PurchaseAmount": "จำนวนที่ซื้อ", + "PurchasedItem": "คุณได้ซื้อ ", + "CurrencySymbol": "$ %s", "Confirm": "ยืนยันการซื้อ", - "AreYouSure": "คุณแน่ใจหรือไม่ว่าต้องการซื้อ ", - "PayByCash": "จ่ายด้วยเงินสด", - "PayByCard": "จ่ายด้วยบัตร" + "AreYouSure": "คุณแน่ใจหรือว่าต้องการซื้อ %s", + "PayByCash": "จ่าย %s ด้วยเงินสด", + "PayByCard": "จ่าย %s ด้วยบัตร", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "ชื่อร้าน" }, "UNITTEST": { - "UNITTESTA": "ฉันคือ %s %s", + "UNITTESTA": "ฉันเป็น %s %s", "locale-unit-test": "นี่คือสตริงทดสอบ" }, "clipboard": { - "copy": "คัดลอกไปยังคลิปบอร์ดแล้ว" + "copy": "คัดลอกไปยังคลิปบอร์ด" }, "placeable_object": { - "no_prop_defined": "คุณไม่ได้กำหนดวัตถุใดๆ ให้วาง", - "cant_place_here": "คุณไม่สามารถวางวัตถุนี้ที่นี่ได้", + "no_prop_defined": "คุณไม่ได้กำหนดวัตถุใดๆ เพื่อวาง", + "cant_place_here": "คุณไม่สามารถวางวัตถุนี้ที่นี่", "place_object_place": "[E] วาง \n", "place_object_cancel": "[X] ยกเลิก \n", - "place_object_scroll_up": "[SCROLL UP] หมุนขวา \n", - "place_object_scroll_down": "[SCROLL DOWN] หมุนซ้าย" + "place_object_scroll_up": "[Scroll Up] หมุนไปทางขวา \n", + "place_object_scroll_down": "[Scroll Down] หมุนไปทางซ้าย \n", + "object_place": "[%s] วาง \n", + "object_cancel": "[%s] ยกเลิก \n", + "object_scroll_up": "[%s] หมุนไปทางขวา \n", + "object_scroll_down": "[%s] หมุนไปทางซ้าย \n", + "depth_modifier": "[%s] ตัวปรับเปลี่ยนการควบคุมความลึก \n" } } diff --git a/locales/tr.json b/locales/tr.json index f3bb8e4..00d59a4 100644 --- a/locales/tr.json +++ b/locales/tr.json @@ -1,28 +1,37 @@ { "Shops": { - "NotEnoughMoney": "Bu ürünü satın almak için yeterli paranız yok", + "NotEnoughMoney": "Bu öğeyi satın almak için yeterli paranız yok", "Input": "Miktar girişi", "PurchaseAmount": "Satın alma miktarı", "PurchasedItem": "Satın aldınız ", - "CurrencySymbol": "₺", + "CurrencySymbol": "$ %s", "Confirm": "Satın almayı onayla", - "AreYouSure": "Bir tane satın almak istediğinizden emin misiniz ", - "PayByCash": "Nakit ile öde", - "PayByCard": "Kart ile öde" + "AreYouSure": "Bir %s satın almak istediğinizden emin misiniz", + "PayByCash": "%s nakit ile öde", + "PayByCard": "%s kart ile öde", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "Mağaza adı" }, "UNITTEST": { - "UNITTESTA": "Ben bir %s %s", - "locale-unit-test": "Bu bir test dizesi" + "UNITTESTA": "Ben bir %s %s'yim", + "locale-unit-test": "Bu bir test dizesidir" }, "clipboard": { "copy": "Panoya kopyalandı" }, "placeable_object": { - "no_prop_defined": "Yerleştirilecek herhangi bir nesne tanımlamadınız", + "no_prop_defined": "Yerleştirmek için herhangi bir nesne tanımlamadınız", "cant_place_here": "Bu nesneyi buraya yerleştiremezsiniz", "place_object_place": "[E] Yerleştir \n", "place_object_cancel": "[X] İptal \n", - "place_object_scroll_up": "[SCROLL UP] Sağa çevir \n", - "place_object_scroll_down": "[SCROLL DOWN] Sola çevir" + "place_object_scroll_up": "[Scroll Up] Sağa döndür \n", + "place_object_scroll_down": "[Scroll Down] Sola döndür \n", + "object_place": "[%s] Yerleştir \n", + "object_cancel": "[%s] İptal \n", + "object_scroll_up": "[%s] Sağa döndür \n", + "object_scroll_down": "[%s] Sola döndür \n", + "depth_modifier": "[%s] Derinlik kontrol düzenleyicisi \n" } } diff --git a/locales/zh-cn.json b/locales/zh-cn.json index aed390a..fd7f36c 100644 --- a/locales/zh-cn.json +++ b/locales/zh-cn.json @@ -1,14 +1,18 @@ { "Shops": { - "NotEnoughMoney": "你没有足够的钱来购买这个物品", + "NotEnoughMoney": "您没有足够的钱购买此物品", "Input": "数量输入", "PurchaseAmount": "购买数量", - "PurchasedItem": "你已购买 ", - "CurrencySymbol": "¥", + "PurchasedItem": "您已购买 ", + "CurrencySymbol": "$ %s", "Confirm": "确认购买", - "AreYouSure": "你确定要购买一个 ", - "PayByCash": "现金支付", - "PayByCard": "刷卡支付" + "AreYouSure": "您确定要购买 %s 吗", + "PayByCash": "用现金支付 %s", + "PayByCard": "用卡支付 %s", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "商店名称" }, "UNITTEST": { "UNITTESTA": "我是一个 %s %s", @@ -18,11 +22,16 @@ "copy": "已复制到剪贴板" }, "placeable_object": { - "no_prop_defined": "你没有定义任何要放置的物体", - "cant_place_here": "你不能在这里放置这个物体", + "no_prop_defined": "您没有定义任何要放置的对象", + "cant_place_here": "您不能在此处放置此对象", "place_object_place": "[E] 放置 \n", "place_object_cancel": "[X] 取消 \n", - "place_object_scroll_up": "[滚轮上] 向右转 \n", - "place_object_scroll_down": "[滚轮下] 向左转" + "place_object_scroll_up": "[Scroll Up] 向右转 \n", + "place_object_scroll_down": "[Scroll Down] 向左转 \n", + "object_place": "[%s] 放置 \n", + "object_cancel": "[%s] 取消 \n", + "object_scroll_up": "[%s] 向右转 \n", + "object_scroll_down": "[%s] 向左转 \n", + "depth_modifier": "[%s] 深度控制修改器 \n" } } diff --git a/locales/zh-hk.json b/locales/zh-hk.json index 8e3f87b..bcef63c 100644 --- a/locales/zh-hk.json +++ b/locales/zh-hk.json @@ -1,28 +1,37 @@ { "Shops": { - "NotEnoughMoney": "你沒有足夠的錢來購買這個物品", + "NotEnoughMoney": "您沒有足夠的錢購買此物品", "Input": "數量輸入", "PurchaseAmount": "購買數量", - "PurchasedItem": "你已購買 ", - "CurrencySymbol": "HK$", + "PurchasedItem": "您已購買 ", + "CurrencySymbol": "$ %s", "Confirm": "確認購買", - "AreYouSure": "你確定要購買一個 ", - "PayByCash": "現金支付", - "PayByCard": "刷卡支付" + "AreYouSure": "您確定要購買 %s 嗎", + "PayByCash": "用現金支付 %s", + "PayByCard": "用卡支付 %s", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "商店名稱" }, "UNITTEST": { "UNITTESTA": "我是一個 %s %s", "locale-unit-test": "這是一個測試字符串" }, "clipboard": { - "copy": "已複製到剪貼板" + "copy": "已復制到剪貼板" }, "placeable_object": { - "no_prop_defined": "你沒有定義任何要放置的物體", - "cant_place_here": "你不能在這裡放置這個物體", + "no_prop_defined": "您沒有定義任何要放置的對象", + "cant_place_here": "您不能在此處放置此對象", "place_object_place": "[E] 放置 \n", "place_object_cancel": "[X] 取消 \n", - "place_object_scroll_up": "[滾輪上] 向右轉 \n", - "place_object_scroll_down": "[滾輪下] 向左轉" + "place_object_scroll_up": "[Scroll Up] 向右轉 \n", + "place_object_scroll_down": "[Scroll Down] 向左轉 \n", + "object_place": "[%s] 放置 \n", + "object_cancel": "[%s] 取消 \n", + "object_scroll_up": "[%s] 向右轉 \n", + "object_scroll_down": "[%s] 向左轉 \n", + "depth_modifier": "[%s] 深度控制修改器 \n" } } diff --git a/locales/zh-tw.json b/locales/zh-tw.json index 94ac9c1..198dc18 100644 --- a/locales/zh-tw.json +++ b/locales/zh-tw.json @@ -1,28 +1,37 @@ { "Shops": { - "NotEnoughMoney": "你沒有足夠的錢來購買這個物品", + "NotEnoughMoney": "您沒有足夠的錢購買此物品", "Input": "數量輸入", "PurchaseAmount": "購買數量", - "PurchasedItem": "你已購買 ", - "CurrencySymbol": "NT$", + "PurchasedItem": "您已購買 ", + "CurrencySymbol": "$ %s", "Confirm": "確認購買", - "AreYouSure": "你確定要購買一個 ", - "PayByCash": "現金支付", - "PayByCard": "刷卡支付" + "AreYouSure": "您確定要購買 %s 嗎", + "PayByCash": "用現金支付 %s", + "PayByCard": "用卡支付 %s", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "商店名稱" }, "UNITTEST": { "UNITTESTA": "我是一個 %s %s", "locale-unit-test": "這是一個測試字符串" }, "clipboard": { - "copy": "已複製到剪貼板" + "copy": "已複製到剪貼簿" }, "placeable_object": { - "no_prop_defined": "你沒有定義任何要放置的物體", - "cant_place_here": "你不能在這裡放置這個物體", + "no_prop_defined": "您沒有定義任何要放置的物件", + "cant_place_here": "您不能在此處放置此物件", "place_object_place": "[E] 放置 \n", "place_object_cancel": "[X] 取消 \n", - "place_object_scroll_up": "[滾輪上] 向右轉 \n", - "place_object_scroll_down": "[滾輪下] 向左轉" + "place_object_scroll_up": "[Scroll Up] 向右轉 \n", + "place_object_scroll_down": "[Scroll Down] 向左轉 \n", + "object_place": "[%s] 放置 \n", + "object_cancel": "[%s] 取消 \n", + "object_scroll_up": "[%s] 向右轉 \n", + "object_scroll_down": "[%s] 向左轉 \n", + "depth_modifier": "[%s] 深度控制修改器 \n" } } diff --git a/locales/zh.json b/locales/zh.json index aed390a..fd7f36c 100644 --- a/locales/zh.json +++ b/locales/zh.json @@ -1,14 +1,18 @@ { "Shops": { - "NotEnoughMoney": "你没有足够的钱来购买这个物品", + "NotEnoughMoney": "您没有足够的钱购买此物品", "Input": "数量输入", "PurchaseAmount": "购买数量", - "PurchasedItem": "你已购买 ", - "CurrencySymbol": "¥", + "PurchasedItem": "您已购买 ", + "CurrencySymbol": "$ %s", "Confirm": "确认购买", - "AreYouSure": "你确定要购买一个 ", - "PayByCash": "现金支付", - "PayByCard": "刷卡支付" + "AreYouSure": "您确定要购买 %s 吗", + "PayByCash": "用现金支付 %s", + "PayByCard": "用卡支付 %s", + "CardIcon": "fa-solid fa-building-columns", + "CashIcon": "fa-solid fa-money-bill-wave", + "ShopIcon": "fa-solid fa-basket-shopping", + "ShopName": "商店名称" }, "UNITTEST": { "UNITTESTA": "我是一个 %s %s", @@ -18,11 +22,16 @@ "copy": "已复制到剪贴板" }, "placeable_object": { - "no_prop_defined": "你没有定义任何要放置的物体", - "cant_place_here": "你不能在这里放置这个物体", + "no_prop_defined": "您没有定义任何要放置的对象", + "cant_place_here": "您不能在此处放置此对象", "place_object_place": "[E] 放置 \n", "place_object_cancel": "[X] 取消 \n", - "place_object_scroll_up": "[滚轮上] 向右转 \n", - "place_object_scroll_down": "[滚轮下] 向左转" + "place_object_scroll_up": "[Scroll Up] 向右转 \n", + "place_object_scroll_down": "[Scroll Down] 向左转 \n", + "object_place": "[%s] 放置 \n", + "object_cancel": "[%s] 取消 \n", + "object_scroll_up": "[%s] 向右转 \n", + "object_scroll_down": "[%s] 向左转 \n", + "depth_modifier": "[%s] 深度控制修改器 \n" } } diff --git a/modules/clothing/_default/client.lua b/modules/clothing/_default/client.lua index 35a84ec..abd882c 100644 --- a/modules/clothing/_default/client.lua +++ b/modules/clothing/_default/client.lua @@ -1,5 +1,4 @@ ---[[This module is incomplete]]-- - +---@diagnostic disable: duplicate-set-field Clothing = Clothing or {} ClothingBackup = {} @@ -25,10 +24,12 @@ function Clothing.GetAppearance(entity) local model = GetEntityModel(entity) local skinData = { model = model, components = {}, props = {} } for i = 0, 11 do - table.insert(skinData.components, { component_id = i, drawable = GetPedDrawableVariation(entity, i), texture = GetPedTextureVariation(entity, i) }) + table.insert(skinData.components, + { component_id = i, drawable = GetPedDrawableVariation(entity, i), texture = GetPedTextureVariation(entity, i) }) end for i = 0, 13 do - table.insert(skinData.props, { prop_id = i, drawable = GetPedPropIndex(entity, i), texture = GetPedPropTextureIndex(entity, i) }) + table.insert(skinData.props, + { prop_id = i, drawable = GetPedPropIndex(entity, i), texture = GetPedPropTextureIndex(entity, i) }) end return skinData end @@ -91,11 +92,10 @@ end, 1000) local onChange = nil Clothing.ToggleDebugging = function() - if Clothing.RunningDebug then Clothing.RunningDebug = false print("Clothing Debugging Disabled") - return Cache.RemoveOnChange('Clothing', onChange) + return Cache.RemoveOnChange('Clothing', onChange) end Clothing.RunningDebug = true print("Clothing Debugging Enabled") @@ -109,63 +109,23 @@ Clothing.ToggleDebugging = function() for k, v in pairs(old.components) do if v.component_id then if new.components[k].drawable ~= v.drawable or new.components[k].texture ~= v.texture then - print("Component ID: " .. v.component_id .. " Drawable: " .. new.components[k].drawable .. " Texture: " .. new.components[k].texture) + print("Component ID: " .. + v.component_id .. + " Drawable: " .. new.components[k].drawable .. " Texture: " .. new.components[k].texture) end end end for k, v in pairs(old.props) do if v.prop_id then if new.props[k].drawable ~= v.drawable or new.props[k].texture ~= v.texture then - print("Prop ID: " .. v.prop_id .. " Drawable: " .. new.props[k].drawable .. " Texture: " .. new.props[k].texture) + print("Prop ID: " .. + v.prop_id .. " Drawable: " .. new.props[k].drawable .. " Texture: " .. new.props[k].texture) end end end end) - -- CreateThread(function() - -- while Clothing.RunningDebug do - -- Wait(3) - -- local ped = PlayerPedId() - -- if ped then - -- if not Clothing.Cache then - -- Clothing.Cache = Clothing.GetAppearance(ped) - -- end - -- for k, v in pairs(Clothing.Cache.components) do - -- if v.component_id then - -- local drawable = GetPedDrawableVariation(ped, v.component_id) - -- local texture = GetPedTextureVariation(ped, v.component_id) - -- if drawable ~= v.drawable or texture ~= v.texture then - -- print("Component ID: " .. v.component_id .. " Drawable: " .. drawable .. " Texture: " .. texture) - -- Clothing.Cache.components[k].drawable = drawable - -- Clothing.Cache.components[k].texture = texture - -- end - -- end - -- end - -- for k, v in pairs(Clothing.Cache.props) do - -- if v.prop_id then - -- local drawable = GetPedPropIndex(ped, v.prop_id) - -- local texture = GetPedPropTextureIndex(ped, v.prop_id) - -- if drawable ~= v.drawable or texture ~= v.texture then - -- print("Prop ID: " .. v.prop_id .. " Drawable: " .. drawable .. " Texture: " .. texture) - -- Clothing.Cache.props[k].drawable = drawable - -- Clothing.Cache.props[k].texture = texture - -- end - -- end - -- end - -- end - -- -- esc key to exit - -- if IsControlJustPressed(0, 177) then - -- Clothing.RunningDebug = false - -- print("Clothing Debugging Disabled") - -- end - -- end - -- Clothing.Cache = nil - -- end) end -RegisterCommand("clothing:enabledebug", function(source, args, rawCommand) - Clothing.ToggleDebugging() -end) - RegisterNetEvent('community_bridge:client:SetAppearance', function(data) Clothing.SetAppearance(PlayerPedId(), data) end) @@ -178,10 +138,13 @@ RegisterNetEvent('community_bridge:client:RestoreAppearance', function() Clothing.RestoreAppearance(PlayerPedId()) end) -RegisterCommand("clothing:copy", function(source, args, rawCommand) - Clothing.CopyAppearanceToClipboard() -end) +-- RegisterCommand("clothing:enabledebug", function(source, args, rawCommand) +-- Clothing.ToggleDebugging() +-- end) + +-- RegisterCommand("clothing:copy", function(source, args, rawCommand) +-- Clothing.CopyAppearanceToClipboard() +-- end) - -return Clothing \ No newline at end of file +return Clothing diff --git a/modules/clothing/_default/server.lua b/modules/clothing/_default/server.lua index 6c42e0f..c6c2d0e 100644 --- a/modules/clothing/_default/server.lua +++ b/modules/clothing/_default/server.lua @@ -1,5 +1,4 @@ ---[[This module is incomplete]]-- - +---@diagnostic disable: duplicate-set-field Clothing = Clothing or {} Clothing.LastAppearance = Clothing.LastAppearance or {} Callback = Callback or Require("lib/utility/shared/callbacks.lua") @@ -10,7 +9,6 @@ function Clothing.IsMale(src) return GetEntityModel(ped) == `mp_m_freemode_01` end - function Clothing.GetAppearance(src) return Callback.Trigger('community_bridge:cb:GetAppearance', src) end @@ -55,4 +53,4 @@ end -- Clothing.ReloadSkin(src) -- end) -return Clothing \ No newline at end of file +return Clothing diff --git a/modules/clothing/esx_skin/client.lua b/modules/clothing/esx_skin/client.lua index 3f1d870..bfc6326 100644 --- a/modules/clothing/esx_skin/client.lua +++ b/modules/clothing/esx_skin/client.lua @@ -1,7 +1,8 @@ ---@diagnostic disable: duplicate-set-field if GetResourceState('esx_skin') == 'missing' then return end +if GetResourceState('rcore_clothing') ~= 'missing' then return end Clothing = Clothing or {} function Clothing.OpenMenu() - TriggerEvent('esx_skin:openMenu', function()end, function()end, true) -end \ No newline at end of file + TriggerEvent('esx_skin:openMenu', function() end, function() end, true) +end diff --git a/modules/clothing/esx_skin/server.lua b/modules/clothing/esx_skin/server.lua index 6bb0852..9a8bfcf 100644 --- a/modules/clothing/esx_skin/server.lua +++ b/modules/clothing/esx_skin/server.lua @@ -1,5 +1,6 @@ ---@diagnostic disable: duplicate-set-field if GetResourceState('esx_skin') == 'missing' then return end +if GetResourceState('rcore_clothing') ~= 'missing' then return end Clothing = Clothing or {} Clothing.Players = {} @@ -17,7 +18,7 @@ function Clothing.GetFullAppearanceData(src) if Clothing.Players[citId] then return Clothing.Players[citId] end - local result = MySQL.query.await('SELECT skin FROM users WHERE identifier = ?', { citId}) + local result = MySQL.query.await('SELECT skin FROM users WHERE identifier = ?', { citId }) if result[1] == nil then return end local model = GetEntityModel(GetPlayerPed(src)) @@ -63,6 +64,7 @@ function Clothing.Save(src) citId }) end + ---Sets a player's appearance based on the provided data ---@param src number The server ID of the player ---@param data table The appearance data to apply @@ -172,4 +174,4 @@ end) Callback.Register('community_bridge:cb:GetAppearance', function(source) local src = source return Clothing.GetAppearance(src) -end) \ No newline at end of file +end) diff --git a/modules/clothing/esx_skin/shared.lua b/modules/clothing/esx_skin/shared.lua index f8c3cea..f4cec6d 100644 --- a/modules/clothing/esx_skin/shared.lua +++ b/modules/clothing/esx_skin/shared.lua @@ -1,5 +1,6 @@ ---@diagnostic disable: duplicate-set-field if GetResourceState('esx_skin') == 'missing' then return end +if GetResourceState('rcore_clothing') ~= 'missing' then return end Clothing = Clothing or {} @@ -58,19 +59,19 @@ Props.InverseMap = { -- Converts from illinium format to esx format function Components.ConvertFromDefault(defaultComponents) local returnComponents = {} - for index, componentData in pairs(defaultComponents or {}) do + for index, componentData in pairs(defaultComponents or {}) do local componentId = Components.Map[componentData.component_id] if componentId then returnComponents[componentId .. '_1'] = componentData.drawable returnComponents[componentId .. '_2'] = componentData.texture end end - return returnComponents -end + return returnComponents +end function Components.ConvertToDefault(esxComponents) local returnComponents = {} - for componentIndex, componentData in pairs(esxComponents or {}) do + for componentIndex, componentData in pairs(esxComponents or {}) do local isTexture = componentIndex:find('_2') componentIndex = componentIndex:gsub('_1', ''):gsub('_2', '') local componentId = Components.InverseMap[componentIndex] @@ -103,7 +104,7 @@ end function Props.ConvertToDefault(esxProps) local returnProps = {} - for propIndex, propData in pairs(esxProps or {}) do + for propIndex, propData in pairs(esxProps or {}) do local isTexture = propIndex:find('_2') propIndex = propIndex:gsub('_1', ''):gsub('_2', '') local propId = Props.InverseMap[propIndex] @@ -142,19 +143,6 @@ function Clothing.ConvertToDefault(esxClothing) return { components = components, props = props } end - - - - - - - - - - - - - -- Clothing = {} -- StoredOldClothing = {} @@ -213,4 +201,4 @@ end -- end -- end -- TriggerEvent('esx-clothing:client:loadOutfit', repackedTable) --- end \ No newline at end of file +-- end diff --git a/modules/clothing/fivem-appearance/client.lua b/modules/clothing/fivem-appearance/client.lua index dcf0bfe..8030831 100644 --- a/modules/clothing/fivem-appearance/client.lua +++ b/modules/clothing/fivem-appearance/client.lua @@ -1,8 +1,8 @@ ---@diagnostic disable: duplicate-set-field if GetResourceState('fivem-appearance') == 'missing' then return end +if GetResourceState('rcore_clothing') ~= 'missing' then return end Clothing = Clothing or {} function Clothing.OpenMenu() TriggerEvent('qb-clothing:client:openMenu') end - diff --git a/modules/clothing/fivem-appearance/server.lua b/modules/clothing/fivem-appearance/server.lua index 4235be8..8b321f7 100644 --- a/modules/clothing/fivem-appearance/server.lua +++ b/modules/clothing/fivem-appearance/server.lua @@ -1,5 +1,6 @@ ---@diagnostic disable: duplicate-set-field if GetResourceState('fivem-appearance') == 'missing' then return end +if GetResourceState('rcore_clothing') ~= 'missing' then return end Clothing = Clothing or {} Clothing.Players = {} @@ -159,20 +160,20 @@ end) RegisterCommand('clothing:debug', function(source, args, rawCommand) local src = source Clothing.SetAppearance(src, { - components ={ - {component_id = 1, drawable = math.random(0, 50), texture = 0}, - {component_id = 2, drawable = math.random(0, 50), texture = 0}, - {component_id = 3, drawable = math.random(0, 50), texture = 0}, - {component_id = 4, drawable = math.random(0, 50), texture = 0}, - {component_id = 5, drawable = math.random(0, 50), texture = 0}, - {component_id = 6, drawable = math.random(0, 50), texture = 0}, - {component_id = 7, drawable = math.random(0, 50), texture = 0}, - {component_id = 8, drawable = math.random(0, 50), texture = 0}, + components = { + { component_id = 1, drawable = math.random(0, 50), texture = 0 }, + { component_id = 2, drawable = math.random(0, 50), texture = 0 }, + { component_id = 3, drawable = math.random(0, 50), texture = 0 }, + { component_id = 4, drawable = math.random(0, 50), texture = 0 }, + { component_id = 5, drawable = math.random(0, 50), texture = 0 }, + { component_id = 6, drawable = math.random(0, 50), texture = 0 }, + { component_id = 7, drawable = math.random(0, 50), texture = 0 }, + { component_id = 8, drawable = math.random(0, 50), texture = 0 }, }, props = { - {prop_id = 3, drawable = 0, texture = 0}, - {prop_id = 1, drawable = 0, texture = 0}, - {prop_id = 2, drawable = 0, texture = 0}, + { prop_id = 3, drawable = 0, texture = 0 }, + { prop_id = 1, drawable = 0, texture = 0 }, + { prop_id = 2, drawable = 0, texture = 0 }, } }, false, true) end, false) diff --git a/modules/clothing/illenium-appearance/client.lua b/modules/clothing/illenium-appearance/client.lua index d001e7e..adadeeb 100644 --- a/modules/clothing/illenium-appearance/client.lua +++ b/modules/clothing/illenium-appearance/client.lua @@ -1,8 +1,8 @@ ---@diagnostic disable: duplicate-set-field if GetResourceState('illenium-appearance') == 'missing' then return end +if GetResourceState('rcore_clothing') ~= 'missing' then return end Clothing = Clothing or {} function Clothing.OpenMenu() TriggerEvent('qb-clothing:client:openMenu') end - diff --git a/modules/clothing/illenium-appearance/server.lua b/modules/clothing/illenium-appearance/server.lua index b78c1b2..7f0b5a6 100644 --- a/modules/clothing/illenium-appearance/server.lua +++ b/modules/clothing/illenium-appearance/server.lua @@ -1,5 +1,6 @@ ---@diagnostic disable: duplicate-set-field if GetResourceState('illenium-appearance') == 'missing' then return end +if GetResourceState('rcore_clothing') ~= 'missing' then return end Clothing = Clothing or {} Clothing.Players = {} @@ -161,35 +162,35 @@ end) RegisterCommand('clothing:debug', function(source, args, rawCommand) local src = source Clothing.SetAppearance(src, { - components ={ - {component_id = 0, drawable = math.random(0, 50), texture = 0}, - {component_id = 1, drawable = math.random(0, 50), texture = 0}, - {component_id = 2, drawable = math.random(0, 50), texture = 0}, - {component_id = 3, drawable = math.random(0, 50), texture = 0}, - {component_id = 4, drawable = math.random(0, 50), texture = 0}, - {component_id = 5, drawable = math.random(0, 50), texture = 0}, - {component_id = 6, drawable = math.random(0, 50), texture = 0}, - {component_id = 7, drawable = math.random(0, 50), texture = 0}, - {component_id = 8, drawable = math.random(0, 50), texture = 0}, - {component_id = 9, drawable = math.random(0, 50), texture = 0}, - {component_id = 10, drawable = math.random(0, 50), texture = 0}, - {component_id = 11, drawable = math.random(0, 50), texture = 0}, + components = { + { component_id = 0, drawable = math.random(0, 50), texture = 0 }, + { component_id = 1, drawable = math.random(0, 50), texture = 0 }, + { component_id = 2, drawable = math.random(0, 50), texture = 0 }, + { component_id = 3, drawable = math.random(0, 50), texture = 0 }, + { component_id = 4, drawable = math.random(0, 50), texture = 0 }, + { component_id = 5, drawable = math.random(0, 50), texture = 0 }, + { component_id = 6, drawable = math.random(0, 50), texture = 0 }, + { component_id = 7, drawable = math.random(0, 50), texture = 0 }, + { component_id = 8, drawable = math.random(0, 50), texture = 0 }, + { component_id = 9, drawable = math.random(0, 50), texture = 0 }, + { component_id = 10, drawable = math.random(0, 50), texture = 0 }, + { component_id = 11, drawable = math.random(0, 50), texture = 0 }, }, props = { - {prop_id = 0, drawable = math.random(0, 50), texture = 0}, - {prop_id = 1, drawable = math.random(0, 50), texture = 0}, - {prop_id = 2, drawable = math.random(0, 50), texture = 0}, - {prop_id = 3, drawable = math.random(0, 50), texture = 0}, - {prop_id = 4, drawable = math.random(0, 50), texture = 0}, - {prop_id = 5, drawable = math.random(0, 50), texture = 0}, - {prop_id = 6, drawable = math.random(0, 50), texture = 0}, - {prop_id = 7, drawable = math.random(0, 50), texture = 0}, - {prop_id = 8, drawable = math.random(0, 50), texture = 0}, - {prop_id = 9, drawable = math.random(0, 50), texture = 0}, - {prop_id = 10, drawable = math.random(0, 50), texture = 0}, - {prop_id = 11, drawable = math.random(0, 50), texture = 0}, - {prop_id = 12, drawable = math.random(0, 50), texture = 0}, - {prop_id = 13, drawable = math.random(0, 50), texture = 0}, + { prop_id = 0, drawable = math.random(0, 50), texture = 0 }, + { prop_id = 1, drawable = math.random(0, 50), texture = 0 }, + { prop_id = 2, drawable = math.random(0, 50), texture = 0 }, + { prop_id = 3, drawable = math.random(0, 50), texture = 0 }, + { prop_id = 4, drawable = math.random(0, 50), texture = 0 }, + { prop_id = 5, drawable = math.random(0, 50), texture = 0 }, + { prop_id = 6, drawable = math.random(0, 50), texture = 0 }, + { prop_id = 7, drawable = math.random(0, 50), texture = 0 }, + { prop_id = 8, drawable = math.random(0, 50), texture = 0 }, + { prop_id = 9, drawable = math.random(0, 50), texture = 0 }, + { prop_id = 10, drawable = math.random(0, 50), texture = 0 }, + { prop_id = 11, drawable = math.random(0, 50), texture = 0 }, + { prop_id = 12, drawable = math.random(0, 50), texture = 0 }, + { prop_id = 13, drawable = math.random(0, 50), texture = 0 }, } }, false, true) end, false) @@ -218,34 +219,34 @@ RegisterCommand('clothing:crowley', function(source, args, rawCommand) local src = source Clothing.SetAppearance(src, { components = { - {drawable = 0, texture = 0, component_id = 0}, - {drawable = 0, texture = 0, component_id = 1}, - {drawable = 19, texture = 0, component_id = 2}, - {drawable = 6, texture = 0, component_id = 3}, - {drawable = 0, texture = 0, component_id = 4}, - {drawable = 0, texture = 0, component_id = 5}, - {drawable = 0, texture = 0, component_id = 6}, - {drawable = 0, texture = 0, component_id = 7}, - {drawable = 23, texture = 0, component_id = 8}, - {drawable = 0, texture = 0, component_id = 9}, - {drawable = 0, texture = 0, component_id = 10}, - {drawable = 4, texture = 2, component_id = 11} + { drawable = 0, texture = 0, component_id = 0 }, + { drawable = 0, texture = 0, component_id = 1 }, + { drawable = 19, texture = 0, component_id = 2 }, + { drawable = 6, texture = 0, component_id = 3 }, + { drawable = 0, texture = 0, component_id = 4 }, + { drawable = 0, texture = 0, component_id = 5 }, + { drawable = 0, texture = 0, component_id = 6 }, + { drawable = 0, texture = 0, component_id = 7 }, + { drawable = 23, texture = 0, component_id = 8 }, + { drawable = 0, texture = 0, component_id = 9 }, + { drawable = 0, texture = 0, component_id = 10 }, + { drawable = 4, texture = 2, component_id = 11 } }, props = { - {drawable = 27, prop_id = 0, texture = 0}, - {drawable = 0, prop_id = 1, texture = 0}, - {drawable = 0, prop_id = 2, texture = 0}, - {drawable = 0, prop_id = 3, texture = 0}, - {drawable = 0, prop_id = 4, texture = 0}, - {drawable = 0, prop_id = 5, texture = 0}, - {drawable = 0, prop_id = 6, texture = 0}, - {drawable = 0, prop_id = 7, texture = 0}, - {drawable = 0, prop_id = 8, texture = 0}, - {drawable = 0, prop_id = 9, texture = 0}, - {drawable = 0, prop_id = 10, texture = 0}, - {drawable = 0, prop_id = 11, texture = 0}, - {drawable = 0, prop_id = 12, texture = 0}, - {drawable = 0, prop_id = 13, texture = 0} + { drawable = 27, prop_id = 0, texture = 0 }, + { drawable = 0, prop_id = 1, texture = 0 }, + { drawable = 0, prop_id = 2, texture = 0 }, + { drawable = 0, prop_id = 3, texture = 0 }, + { drawable = 0, prop_id = 4, texture = 0 }, + { drawable = 0, prop_id = 5, texture = 0 }, + { drawable = 0, prop_id = 6, texture = 0 }, + { drawable = 0, prop_id = 7, texture = 0 }, + { drawable = 0, prop_id = 8, texture = 0 }, + { drawable = 0, prop_id = 9, texture = 0 }, + { drawable = 0, prop_id = 10, texture = 0 }, + { drawable = 0, prop_id = 11, texture = 0 }, + { drawable = 0, prop_id = 12, texture = 0 }, + { drawable = 0, prop_id = 13, texture = 0 } } }, false, true) diff --git a/modules/clothing/qb-clothing/client.lua b/modules/clothing/qb-clothing/client.lua index 45e0d71..cae21e0 100644 --- a/modules/clothing/qb-clothing/client.lua +++ b/modules/clothing/qb-clothing/client.lua @@ -1,7 +1,8 @@ ---@diagnostic disable: duplicate-set-field if GetResourceState('qb-clothing') == 'missing' then return end +if GetResourceState('rcore_clothing') ~= 'missing' then return end Clothing = Clothing or {} function Clothing.OpenMenu() TriggerEvent('qb-clothing:client:openMenu') -end \ No newline at end of file +end diff --git a/modules/clothing/qb-clothing/server.lua b/modules/clothing/qb-clothing/server.lua index 046f84a..7424c7a 100644 --- a/modules/clothing/qb-clothing/server.lua +++ b/modules/clothing/qb-clothing/server.lua @@ -1,5 +1,6 @@ ---@diagnostic disable: duplicate-set-field if GetResourceState('qb-clothing') == 'missing' then return end +if GetResourceState('rcore_clothing') ~= 'missing' then return end Clothing = Clothing or {} Clothing.Players = {} @@ -235,4 +236,4 @@ end, false) -- -- {drawable = 0, prop_id = 7, texture = 0}, -- } -- }, false, true) --- end, false) \ No newline at end of file +-- end, false) diff --git a/modules/clothing/qb-clothing/shared.lua b/modules/clothing/qb-clothing/shared.lua index 7a24b98..6a7a8aa 100644 --- a/modules/clothing/qb-clothing/shared.lua +++ b/modules/clothing/qb-clothing/shared.lua @@ -1,5 +1,7 @@ +---@diagnostic disable: duplicate-set-field if GetResourceState('qb-clothing') == 'missing' then return end +if GetResourceState('rcore_clothing') ~= 'missing' then return end Clothing = Clothing or {} @@ -49,7 +51,7 @@ Props.InverseMap = { function Components.ConvertFromDefault(defaultComponents) local returnComponents = {} - for index, componentData in pairs(defaultComponents or {}) do + for index, componentData in pairs(defaultComponents or {}) do local componentId = Components.Map[componentData.component_id] if componentId then returnComponents[componentId] = { @@ -58,12 +60,12 @@ function Components.ConvertFromDefault(defaultComponents) } end end - return returnComponents -end + return returnComponents +end function Components.ConvertToDefault(qbComponents) local returnComponents = {} - for componentIndex, componentData in pairs(qbComponents or {}) do + for componentIndex, componentData in pairs(qbComponents or {}) do local componentId = Components.InverseMap[componentIndex] if componentId then returnComponents[componentId] = { @@ -78,7 +80,7 @@ end function Props.ConvertFromDefault(defaultProps) local returnProps = {} - for index, propData in pairs(defaultProps or {}) do + for index, propData in pairs(defaultProps or {}) do local propId = Props.Map[propData.prop_id] if propId then returnProps[propId] = { @@ -87,7 +89,7 @@ function Props.ConvertFromDefault(defaultProps) } end end - return returnProps + return returnProps end function Props.ConvertToDefault(qbProps) @@ -125,21 +127,6 @@ function Clothing.ConvertToDefault(qbClothing) return { components = components, props = props } end - - - - - - - - - - - - - - - -- Clothing = {} -- StoredOldClothing = {} @@ -198,4 +185,4 @@ end -- end -- end -- TriggerEvent('qb-clothing:client:loadOutfit', repackedTable) --- end \ No newline at end of file +-- end diff --git a/modules/clothing/rcore_clothing/client.lua b/modules/clothing/rcore_clothing/client.lua new file mode 100644 index 0000000..11486f6 --- /dev/null +++ b/modules/clothing/rcore_clothing/client.lua @@ -0,0 +1,7 @@ +---@diagnostic disable: duplicate-set-field +if GetResourceState('rcore_clothing') == 'missing' then return end +Clothing = Clothing or {} + +function Clothing.OpenMenu() + TriggerEvent('qb-clothing:client:openMenu') +end \ No newline at end of file diff --git a/modules/framework/es_extended/client.lua b/modules/framework/es_extended/client.lua index ce90f27..38a2125 100644 --- a/modules/framework/es_extended/client.lua +++ b/modules/framework/es_extended/client.lua @@ -6,12 +6,28 @@ Callback = Callback or Require("lib/utility/shared/callbacks.lua") Framework = Framework or {} +local cachedItemList = nil +-- This is an internal function, its here to attempt to emulate qbs shared items mainly. +Framework.ItemList = function() + if cachedItemList then return cachedItemList end + local items = Callback.Trigger('community_bridge:Callback:GetFrameworkItems', false) + cachedItemList = { Items = items.Items or {} } + return cachedItemList +end + ---This will get the name of the framework being used (if a supported framework). ---@return string Framework.GetFrameworkName = function() return 'es_extended' end +---This will return true if the player is loaded, false otherwise. +---This could be useful in scripts that rely on player loaded events and offer a debug mode to hit this function. +---@return boolean +Framework.GetIsPlayerLoaded = function() + return ESX.IsPlayerLoaded() +end + ---This will return a table of the player data, this will be in the framework format. ---This is mainly for internal bridge use and should be avoided. ---@return table diff --git a/modules/framework/es_extended/server.lua b/modules/framework/es_extended/server.lua index 32583d3..8920d36 100644 --- a/modules/framework/es_extended/server.lua +++ b/modules/framework/es_extended/server.lua @@ -8,12 +8,38 @@ ESX = exports["es_extended"]:getSharedObject() Framework = Framework or {} +local cachedItemList = nil + ---This will return the name of the framework in use. ---@return string Framework.GetFrameworkName = function() return 'es_extended' end +-- This is an internal function, its here to attempt to emulate qbs shared items mainly. +Framework.ItemList = function() + if cachedItemList then return cachedItemList end + local items = ESX.Items + local repackedTable = {} + for k, v in pairs(items) do + if v.label then + repackedTable[k] = { + name = k, + label = v.label, + weight = v.weight, + type = "item", + image = k .. ".png", + unique = false, + useable = true, + shouldClose = true, + description = 'No description provided.', + } + end + end + cachedItemList = { Items = repackedTable or {} } + return cachedItemList +end + ---This will return if the player is an admin in the framework. ---@param src any ---@return boolean @@ -457,6 +483,11 @@ Callback.Register('community_bridge:Callback:GetFrameworkJobs', function(source) return Framework.GetFrameworkJobs() or {} end) +-- This is linked to an internal function, its an attempt to standardize the item list across frameworks. +Callback.Register('community_bridge:Callback:GetFrameworkItems', function(source) + return Framework.ItemList() or {} +end) + Framework.Commands = {} Framework.Commands.Add = function(name, help, arguments, argsrequired, callback, permission, ...) ESX.RegisterCommand(name, permission, function(xPlayer, args, showError) diff --git a/modules/framework/qb-core/client.lua b/modules/framework/qb-core/client.lua index f50eb57..f734482 100644 --- a/modules/framework/qb-core/client.lua +++ b/modules/framework/qb-core/client.lua @@ -14,6 +14,13 @@ Framework.GetFrameworkName = function() return 'qb-core' end +---This will return true if the player is loaded, false otherwise. +---This could be useful in scripts that rely on player loaded events and offer a debug mode to hit this function. +---@return boolean +Framework.GetIsPlayerLoaded = function() + return LocalPlayer.state.isLoggedIn or false +end + ---This will return a table of the player data, this will be in the framework format. ---This is mainly for internal bridge use and should be avoided. ---@return table diff --git a/modules/framework/qbx_core/client.lua b/modules/framework/qbx_core/client.lua index edd8eaf..af928e0 100644 --- a/modules/framework/qbx_core/client.lua +++ b/modules/framework/qbx_core/client.lua @@ -11,6 +11,13 @@ Framework.GetFrameworkName = function() return 'qbx_core' end +---This will return true if the player is loaded, false otherwise. +---This could be useful in scripts that rely on player loaded events and offer a debug mode to hit this function. +---@return boolean +Framework.GetIsPlayerLoaded = function() + return LocalPlayer.state.isLoggedIn or false +end + ---This will return a table of the player data, this will be in the framework format. ---This is mainly for internal bridge use and should be avoided. ---@return table diff --git a/modules/inventory/_default/client.lua b/modules/inventory/_default/client.lua index 7f460c5..820f869 100644 --- a/modules/inventory/_default/client.lua +++ b/modules/inventory/_default/client.lua @@ -42,4 +42,14 @@ Inventory.StripPNG = function(item) return item end +---This will return the entire items table from the inventory. +---@return table +Inventory.Items = function() + if not Framework.Shared or not Framework.Shared.Items then + local itemList = Framework.ItemList() or { Items = {} } + return itemList.Items + end + return Framework.Shared.Items +end + return Inventory \ No newline at end of file diff --git a/modules/inventory/_default/server.lua b/modules/inventory/_default/server.lua index e98fb18..c6b24d1 100644 --- a/modules/inventory/_default/server.lua +++ b/modules/inventory/_default/server.lua @@ -51,6 +51,16 @@ Inventory.GetItemInfo = function(item) return Framework.GetItemInfo(item) end +---This will return the entire items table from the inventory. +---@return table +Inventory.Items = function() + if not Framework.Shared or not Framework.Shared.Items then + local itemList = Framework.ItemList() or { Items = {} } + return itemList.Items + end + return Framework.Shared.Items +end + ---This will return the count of the item in the players inventory, if not found will return 0. ---if metadata is passed it will find the matching items count. ---example: 0 diff --git a/modules/inventory/codem-inventory/client.lua b/modules/inventory/codem-inventory/client.lua index ffe00a5..7c34524 100644 --- a/modules/inventory/codem-inventory/client.lua +++ b/modules/inventory/codem-inventory/client.lua @@ -21,6 +21,12 @@ Inventory.GetItemInfo = function(item) } end +---This will return the entire items table from the inventory. +---@return table +Inventory.Items = function() + return codem:GetItemList() +end + ---This will get the image path for this item, if not found will return placeholder. ---@param item string ---@return string diff --git a/modules/inventory/codem-inventory/server.lua b/modules/inventory/codem-inventory/server.lua index f80c7a3..fc652f9 100644 --- a/modules/inventory/codem-inventory/server.lua +++ b/modules/inventory/codem-inventory/server.lua @@ -46,6 +46,12 @@ Inventory.GetItemInfo = function(item) } end +---This will return the entire items table from the inventory. +---@return table +Inventory.Items = function() + return codem:GetItemList() +end + ---This wil return the players inventory. ---@param src number ---@return table diff --git a/modules/inventory/core_inventory/client.lua b/modules/inventory/core_inventory/client.lua index ffa4b4c..214f728 100644 --- a/modules/inventory/core_inventory/client.lua +++ b/modules/inventory/core_inventory/client.lua @@ -24,6 +24,24 @@ Inventory.GetItemInfo = function(item) return {name = dataRepack.name, label = dataRepack.label, stack = dataRepack.stack, weight = dataRepack.weight, description = dataRepack.description, image = Inventory.GetImagePath(dataRepack.name) } end +---This will return the entire items table from the inventory. +---@return table +Inventory.Items = function() + local frameworkName = Framework.GetFrameworkName() + if not frameworkName then return {} end + local dataRepack = {} + if frameworkName == 'es_extended' then + local callbackData = Callback.Trigger('community_bridge:Callback:core_inventory', false) + -- really really wish this inventory allowed me to pull the item list client side.... + dataRepack = callbackData + if not dataRepack then return {} end + elseif frameworkName == 'qb-core' then + dataRepack = Framework.Shared.Items + if not dataRepack then return {} end + end + return dataRepack +end + ---Will return boolean if the player has the item. ---@param item string ---@return boolean diff --git a/modules/inventory/core_inventory/server.lua b/modules/inventory/core_inventory/server.lua index b35868c..9d0956d 100644 --- a/modules/inventory/core_inventory/server.lua +++ b/modules/inventory/core_inventory/server.lua @@ -251,4 +251,10 @@ Callback.Register('community_bridge:Callback:core_inventory', function(source) return items or {} end) +---This will return the entire items table from the inventory. +---@return table +Inventory.Items = function() + return core:getItemsList() +end + return Inventory \ No newline at end of file diff --git a/modules/inventory/jpr-inventory/client.lua b/modules/inventory/jpr-inventory/client.lua index 34fc32d..e2448dc 100644 --- a/modules/inventory/jpr-inventory/client.lua +++ b/modules/inventory/jpr-inventory/client.lua @@ -27,6 +27,12 @@ Inventory.HasItem = function(item) return jpr:HasItem(item) end +---This will return the entire items table from the inventory. +---@return table +Inventory.Items = function() + return Framework.Shared.Items +end + ---This will get the image path for this item, if not found will return placeholder. ---@param item string ---@return string diff --git a/modules/inventory/jpr-inventory/server.lua b/modules/inventory/jpr-inventory/server.lua index 53fdefb..c46ae2a 100644 --- a/modules/inventory/jpr-inventory/server.lua +++ b/modules/inventory/jpr-inventory/server.lua @@ -40,6 +40,12 @@ Inventory.GetItemInfo = function(item) return itemTable end +---This will return the entire items table from the inventory. +---@return table +Inventory.Items = function() + return Framework.Shared.Items +end + ---Returns the specified slot data as a table. ---format {weight, name, metadata, slot, label, count} ---@param src number diff --git a/modules/inventory/origen_inventory/client.lua b/modules/inventory/origen_inventory/client.lua index 06f6b09..77d7adb 100644 --- a/modules/inventory/origen_inventory/client.lua +++ b/modules/inventory/origen_inventory/client.lua @@ -19,6 +19,12 @@ Inventory.GetItemInfo = function(item) } end +---This will return the entire items table from the inventory. +---@return table +Inventory.Items = function() + return origin:Items() +end + ---Will return boolean if the player has the item. ---@param item string ---@return boolean diff --git a/modules/inventory/origen_inventory/server.lua b/modules/inventory/origen_inventory/server.lua index 756fa60..b6d799c 100644 --- a/modules/inventory/origen_inventory/server.lua +++ b/modules/inventory/origen_inventory/server.lua @@ -92,6 +92,12 @@ Inventory.GetItemInfo = function(item) } end +---This will return the entire items table from the inventory. +---@return table +Inventory.Items = function() + return origin:Items() +end + ---This will return the count of the item in the players inventory, if not found will return 0. ---if metadata is passed it will find the matching items count. ---@param src number diff --git a/modules/inventory/ox_inventory/client.lua b/modules/inventory/ox_inventory/client.lua index 5539a97..9a676e8 100644 --- a/modules/inventory/ox_inventory/client.lua +++ b/modules/inventory/ox_inventory/client.lua @@ -23,6 +23,12 @@ Inventory.GetItemInfo = function(item) } end +---This will return the entire items table from the inventory. +---@return table +Inventory.Items = function() + return ox_inventory:Items() +end + ---Will return boolean if the player has the item. ---@param item string ---@return boolean diff --git a/modules/inventory/ox_inventory/server.lua b/modules/inventory/ox_inventory/server.lua index 35578e0..2a35e95 100644 --- a/modules/inventory/ox_inventory/server.lua +++ b/modules/inventory/ox_inventory/server.lua @@ -74,6 +74,12 @@ Inventory.GetItemInfo = function(item) } end +---This will return the entire items table from the inventory. +---@return table +Inventory.Items = function() + return ox_inventory:Items() +end + ---This will return the count of the item in the players inventory, if not found will return 0. --- ---if metadata is passed it will find the matching items count. diff --git a/modules/inventory/ps-inventory/client.lua b/modules/inventory/ps-inventory/client.lua index fa55848..86b4e55 100644 --- a/modules/inventory/ps-inventory/client.lua +++ b/modules/inventory/ps-inventory/client.lua @@ -20,6 +20,12 @@ Inventory.GetItemInfo = function(item) } end +---This will return the entire items table from the inventory. +---@return table +Inventory.Items = function() + return Framework.Shared.Items +end + ---Will return boolean if the player has the item. ---@param item string ---@return boolean diff --git a/modules/inventory/ps-inventory/server.lua b/modules/inventory/ps-inventory/server.lua index d6ba99e..0b53263 100644 --- a/modules/inventory/ps-inventory/server.lua +++ b/modules/inventory/ps-inventory/server.lua @@ -66,6 +66,12 @@ Inventory.GetItemInfo = function(item) } end +---This will return the entire items table from the inventory. +---@return table +Inventory.Items = function() + return Framework.Shared.Items +end + ---Returns the specified slot data as a table. --- ---format {weight, name, metadata, slot, label, count} diff --git a/modules/inventory/qb-inventory/client.lua b/modules/inventory/qb-inventory/client.lua index 6870be1..b71db1a 100644 --- a/modules/inventory/qb-inventory/client.lua +++ b/modules/inventory/qb-inventory/client.lua @@ -20,6 +20,12 @@ Inventory.GetItemInfo = function(item) } end +---This will return the entire items table from the inventory. +---@return table +Inventory.Items = function() + return Framework.Shared.Items +end + ---Will return boolean if the player has the item. ---@param item string ---@return boolean diff --git a/modules/inventory/qb-inventory/server.lua b/modules/inventory/qb-inventory/server.lua index cdefa7b..ae8b715 100644 --- a/modules/inventory/qb-inventory/server.lua +++ b/modules/inventory/qb-inventory/server.lua @@ -107,6 +107,12 @@ Inventory.GetItemInfo = function(item) } end +---This will return the entire items table from the inventory. +---@return table +Inventory.Items = function() + return Framework.Shared.Items +end + ---Returns the specified slot data as a table. ---format {weight, name, metadata, slot, label, count} ---@param src number diff --git a/modules/inventory/qs-inventory/client.lua b/modules/inventory/qs-inventory/client.lua index d309ddd..b63fc9a 100644 --- a/modules/inventory/qs-inventory/client.lua +++ b/modules/inventory/qs-inventory/client.lua @@ -22,6 +22,12 @@ Inventory.GetItemInfo = function(item) } end +---This will return the entire items table from the inventory. +---@return table +Inventory.Items = function() + return quasar:GetItemList() +end + ---Will return boolean if the player has the item. ---@param item string ---@return boolean diff --git a/modules/inventory/qs-inventory/server.lua b/modules/inventory/qs-inventory/server.lua index 70c480b..8ae16a4 100644 --- a/modules/inventory/qs-inventory/server.lua +++ b/modules/inventory/qs-inventory/server.lua @@ -84,6 +84,12 @@ Inventory.GetItemInfo = function(item) } end +---This will return the entire items table from the inventory. +---@return table +Inventory.Items = function() + return quasar:GetItemList() +end + ---This will return the count of the item in the players inventory, if not found will return 0. --- ---if metadata is passed it will find the matching items count. diff --git a/modules/inventory/tgiann-inventory/server.lua b/modules/inventory/tgiann-inventory/server.lua index 5c48b49..1e38751 100644 --- a/modules/inventory/tgiann-inventory/server.lua +++ b/modules/inventory/tgiann-inventory/server.lua @@ -46,6 +46,12 @@ Inventory.GetItemInfo = function(item) } end +---This will return the entire items table from the inventory. +---@return table +Inventory.Items = function() + return tgiann:GetItemList() +end + ---This will return the count of the item in the players inventory, if not found will return 0. --- ---if metadata is passed it will find the matching items count. diff --git a/modules/managment/kartik-banking/server.lua b/modules/managment/kartik-banking/server.lua new file mode 100644 index 0000000..5d7f53a --- /dev/null +++ b/modules/managment/kartik-banking/server.lua @@ -0,0 +1,39 @@ +---@diagnostic disable: duplicate-set-field +if GetResourceState('kartik-banking') == 'missing' then return end +Managment = Managment or {} + +local kartik = exports['kartik-banking'] + +---This will get the name of the Managment system being being used. +---@return string +Managment.GetManagmentName = function() + return 'kartik-banking' +end + +---This will return a number +---@param account string +---@return number +Managment.GetAccountMoney = function(account) + local balance = kartik:GetAccountMoney(account) + return balance or 0 +end + +---This will add money to the specified account of the passed amount +---@param account string +---@param amount number +---@param reason string +---@return boolean +Managment.AddAccountMoney = function(account, amount, reason) + return kartik:AddAccountMoney(account, amount, reason) +end + +---This will remove money from the specified account of the passed amount +---@param account string +---@param amount number +---@param reason string +---@return boolean +Managment.RemoveAccountMoney = function(account, amount, reason) + return kartik:RemoveAccountMoney(account, amount, reason) +end + +return Managment diff --git a/modules/managment/tgg-banking/server.lua b/modules/managment/tgg-banking/server.lua new file mode 100644 index 0000000..30a137c --- /dev/null +++ b/modules/managment/tgg-banking/server.lua @@ -0,0 +1,38 @@ +---@diagnostic disable: duplicate-set-field +if GetResourceState('tgg-banking') == 'missing' then return end +Managment = Managment or {} + +local tgg = exports['tgg-banking'] + +---This will get the name of the Managment system being being used. +---@return string +Managment.GetManagmentName = function() + return 'tgg-banking' +end + +---This will return a number +---@param account string +---@return number +Managment.GetAccountMoney = function(account) + return tgg:GetSocietyAccountMoney(account) or 0 +end + +---This will add money to the specified account of the passed amount +---@param account string +---@param amount number +---@param _ string +---@return boolean +Managment.AddAccountMoney = function(account, amount, _) + return tgg:AddSocietyMoney(account, amount) +end + +---This will remove money from the specified account of the passed amount +---@param account string +---@param amount number +---@param _ string +---@return boolean +Managment.RemoveAccountMoney = function(account, amount, _) + return tgg:RemoveSocietyMoney(account, amount) +end + +return Managment \ No newline at end of file diff --git a/modules/notify/fl-notify/client.lua b/modules/notify/fl-notify/client.lua new file mode 100644 index 0000000..c8d2a87 --- /dev/null +++ b/modules/notify/fl-notify/client.lua @@ -0,0 +1,29 @@ +---@diagnostic disable: duplicate-set-field +Notify = Notify or {} +local resourceName = "FL-Notify" +local configValue = BridgeSharedConfig.Notify +if (configValue == "auto" and GetResourceState(resourceName) ~= "started") or (configValue ~= "auto" and configValue ~= resourceName) then return end + + +Notify.GetResourceName = function() + return resourceName +end + +---This will send a notify message of the type and time passed +---@param message string +---@param _type string +---@param time number +---@return nil +Notify.SendNotify = function(message, _type, time) + time = time or 3000 + if _type == "error" or _type == "info" then + _type = tostring(1) + elseif _type == "success" then + _type = tostring(2) + elseif _type == "warning" or _type == "warn" then + _type = tostring(3) + end + return exports['FL-Notify']:Notify("Notification", "", message, 5000, tonumber(_type), 0) +end + +return Notify \ No newline at end of file diff --git a/modules/shops/_default/client.lua b/modules/shops/_default/client.lua index a80f41f..84dd8f9 100644 --- a/modules/shops/_default/client.lua +++ b/modules/shops/_default/client.lua @@ -15,17 +15,17 @@ Shops.FinalizeCheckOut = function(shopName, item, itemLabel, price, amount) local generatedID = Ids.CreateUniqueId() local buildMenu = { { - title = locale('Shops.PayByCash').." "..tostring(mathStuff), - description = locale('Shops.AreYouSure') .. itemLabel, - icon = "fa-solid fa-money-bill-wave", + title = string.format(locale('Shops.PayByCash'), tostring(mathStuff)), + description = string.format(locale('Shops.AreYouSure'), itemLabel), + icon = locale('Shops.CashIcon'), onSelect = function(_, __, ___) TriggerServerEvent('community_bridge:completeCheckout', shopName, item, amount, "money") end }, { - title = locale('Shops.PayByCard').." "..tostring(mathStuff), - description = locale('Shops.AreYouSure') .. itemLabel, - icon = "fa-solid fa-building-columns", + title = string.format(locale('Shops.PayByCard'), tostring(mathStuff)), + description = string.format(locale('Shops.AreYouSure'), itemLabel), + icon = locale('Shops.CardIcon'), onSelect = function(_, __, ___) TriggerServerEvent('community_bridge:completeCheckout', shopName, item, amount, "bank") end @@ -67,8 +67,8 @@ Shops.OpenShop = function(title, shopData) local getItemName = Inventory.GetItemInfo(v.name).label table.insert(buildMenu, { title = getItemName, - description = locale('Shops.CurrencySymbol')..tostring(v.price), - icon = "fa-solid fa-basket-shopping", + description = string.format(locale('Shops.CurrencySymbol'), tostring(v.price)), + icon = locale('Shops.ShopIcon'), onSelect = function(selected, secondary, args) Shops.AmountSelect(title, v.name, getItemName, v.price) --Shops.FinalizeCheckOut(title, v.name, getItemName, v.price) diff --git a/modules/version/server/VersionChecker.lua b/modules/version/server/VersionChecker.lua index 35ea71a..f9a6e16 100644 --- a/modules/version/server/VersionChecker.lua +++ b/modules/version/server/VersionChecker.lua @@ -4,7 +4,7 @@ Version = Version or {} --- ---Tebex is a optional boolean to determine if the message should be for a escrowed resource or not. --- ----Example Version.VersionChecker("The-Order-Of-The-Sacred-Framework/community_bridge", false) +---Example Version.VersionChecker("TheOrderFivem/community_bridge", false) ---@param repoPath string ---@param tebex boolean | nil ---@return nil @@ -30,7 +30,7 @@ end AddEventHandler('onResourceStart', function(resourceName) if GetCurrentResourceName() ~= resourceName then return end - Version.VersionChecker("The-Order-Of-The-Sacred-Framework/community_bridge") + Version.VersionChecker("TheOrderFivem/community_bridge") end) -return Version \ No newline at end of file +return Version diff --git a/settings/sharedConfig.lua b/settings/sharedConfig.lua index fec88a1..269b553 100644 --- a/settings/sharedConfig.lua +++ b/settings/sharedConfig.lua @@ -1,7 +1,7 @@ BridgeSharedConfig = {} BridgeSharedConfig.Lang = "auto" -- Change this to your preferred language (must match the locale file name ex. en or fr etc) BridgeSharedConfig.DebugLevel = 0 -- Change this to your Debug level, 0 for none, 1 for some, 2 for all data -BridgeSharedConfig.Notify = "auto" -- [ auto | ox_lib | r_notify | wasabi_notify | lation_ui | okokNotify | mythic_notify | pNotify | t-notify | brutal_notify] +BridgeSharedConfig.Notify = "auto" -- [ auto | ox_lib | r_notify | wasabi_notify | lation_ui | okokNotify | mythic_notify | pNotify | t-notify | brutal_notify | FL-Notify] BridgeSharedConfig.HelpText = "auto" -- [ auto | ox_lib | jg-textui | lation_ui | cd_drawtextui | lab-HintUI | okokTextUI] BridgeSharedConfig.Phone = "auto" -- [ auto | qs-smartphone | lb-phone | gksphone] BridgeSharedConfig.Skills = "auto" -- [ auto | OT_skills | evolent_skills | pickle_xp]