Merge pull request #130 from TheOrderFivem/dev

Dev
This commit is contained in:
MrNewb authored and GitHub committed 2025-07-13 19:06:51 -04:00
commit 0a87fb2007
72 files changed
+935 -436

No files matched your search

+1
View File
@@ -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
---
+1 -1
View File
@@ -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',
+20 -11
View File
@@ -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"
}
}
+17 -8
View File
@@ -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"
}
}
+18 -9
View File
@@ -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"
}
}
+16 -7
View File
@@ -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"
}
}
+21 -12
View File
@@ -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"
}
}
+18 -9
View File
@@ -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"
}
}
+12 -8
View File
@@ -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",
+15 -6
View File
@@ -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"
}
}
+19 -10
View File
@@ -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"
}
}
+15 -6
View File
@@ -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"
}
}
+19 -10
View File
@@ -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"
}
}
+18 -9
View File
@@ -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"
}
}
+17 -8
View File
@@ -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"
}
}
+17 -8
View File
@@ -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"
}
}
+16 -7
View File
@@ -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"
}
}
+15 -6
View File
@@ -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"
}
}
+15 -6
View File
@@ -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"
}
}
+16 -7
View File
@@ -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"
}
}
+15 -6
View File
@@ -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"
}
}
+23 -14
View File
@@ -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"
}
}
+18 -9
View File
@@ -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"
}
}
+17 -8
View File
@@ -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"
}
}
+22 -13
View File
@@ -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"
}
}
+19 -10
View File
@@ -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"
}
}
+19 -10
View File
@@ -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"
}
}
+20 -11
View File
@@ -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"
}
}
+20 -11
View File
@@ -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"
}
}
+19 -10
View File
@@ -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"
}
}
+19 -56
View File
@@ -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
return Clothing
+2 -4
View File
@@ -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
return Clothing
+3 -2
View File
@@ -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
TriggerEvent('esx_skin:openMenu', function() end, function() end, true)
end
+4 -2
View File
@@ -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)
end)
+7 -19
View File
@@ -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
-- end
+1 -1
View File
@@ -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
+13 -12
View File
@@ -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)
@@ -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
+54 -53
View File
@@ -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)
+2 -1
View File
@@ -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
end
+2 -1
View File
@@ -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)
-- end, false)
+9 -22
View File
@@ -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
-- end
@@ -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
+16
View File
@@ -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
+31
View File
@@ -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)
+7
View File
@@ -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
+7
View File
@@ -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
+10
View File
@@ -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
+10
View File
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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.
@@ -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
@@ -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}
@@ -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
@@ -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
@@ -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
@@ -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.
@@ -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.
@@ -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
+38
View File
@@ -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
+29
View File
@@ -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
+8 -8
View File
@@ -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)
+3 -3
View File
@@ -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
return Version
+1 -1
View File
@@ -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]