feat: esx_property: furniture translations

This commit is contained in:
Mycroft
2022-08-26 17:07:17 +01:00
parent 2a3f34af0b
commit a97d7a7372
4 changed files with 90 additions and 54 deletions
+34 -34
View File
@@ -89,40 +89,40 @@ if Config.Furniture.Enabled then
PushScaleformMovieFunctionParameterInt(1)
N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.Furniture.Controls.MinusX, true))
N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.Furniture.Controls.PlusX, true))
InstructionButtonMessage("X Axis")
InstructionButtonMessage(_U("rot_left_right"))
PopScaleformMovieFunctionVoid()
PushScaleformMovieFunction(scaleform, "SET_DATA_SLOT")
PushScaleformMovieFunctionParameterInt(3)
N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.Furniture.Controls.MinusY, true))
N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.Furniture.Controls.PlusY, true))
InstructionButtonMessage("Y axis")
InstructionButtonMessage(_U("rot_up_down"))
PopScaleformMovieFunctionVoid()
PushScaleformMovieFunction(scaleform, "SET_DATA_SLOT")
PushScaleformMovieFunctionParameterInt(5)
N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.Furniture.Controls.Up, true))
N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.Furniture.Controls.Down, true))
InstructionButtonMessage("Height")
InstructionButtonMessage(_U("Height"))
PopScaleformMovieFunctionVoid()
PushScaleformMovieFunction(scaleform, "SET_DATA_SLOT")
PushScaleformMovieFunctionParameterInt(7)
N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.Furniture.Controls.RotateLeft, true))
N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.Furniture.Controls.RotateRight, true))
InstructionButtonMessage("Rotation")
InstructionButtonMessage(_U("Rotation"))
PopScaleformMovieFunctionVoid()
PushScaleformMovieFunction(scaleform, "SET_DATA_SLOT")
PushScaleformMovieFunctionParameterInt(9)
N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.Furniture.Controls.Confirm, true))
InstructionButtonMessage("Place Furniture")
InstructionButtonMessage(_U("place"))
PopScaleformMovieFunctionVoid()
PushScaleformMovieFunction(scaleform, "SET_DATA_SLOT")
PushScaleformMovieFunctionParameterInt(0)
N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.Furniture.Controls.Exit, true))
InstructionButtonMessage("Delete")
InstructionButtonMessage(_U("delete_furni"))
PopScaleformMovieFunctionVoid()
PushScaleformMovieFunction(scaleform, "DRAW_INSTRUCTIONAL_BUTTONS")
@@ -221,17 +221,17 @@ if Config.Furniture.Enabled then
if IsControlJustPressed(0, Config.Furniture.Controls.Confirm) then
if not Existing then
ESX.OpenContext("right",
{{unslectable = true, title = "Do you want to buy " .. Config.FurnitureCatagories[PropCatagory][PropIndex].title .. "?",
description = "Price: $" .. Config.FurnitureCatagories[PropCatagory][PropIndex].price, icon = "fas fa-shopping-cart"},
{title = "Yes", value = "buy", icon = "fas fa-check"}, {title = "No", icon = "fas fa-minus"}}, function(menu, element)
{{unslectable = true, title = _U("confirm_buy",Config.FurnitureCatagories[PropCatagory][PropIndex].title),
description = _U("price",Config.FurnitureCatagories[PropCatagory][PropIndex].price), icon = "fas fa-shopping-cart"},
{title = _U("yes"), value = "buy", icon = "fas fa-check"}, {title = _U("no"), icon = "fas fa-minus"}}, function(menu, element)
if element.value and element.value == "buy" then
ESX.TriggerServerCallback("esx_property:buyFurniture", function(response)
if response then
DeleteEntity(CurrentlyEditing)
ESX.ShowNotification("You Bought ~b~" .. Config.FurnitureCatagories[PropCatagory][PropIndex].title .. "~s~!", "success")
ESX.ShowNotification(_U("bought_furni", Config.FurnitureCatagories[PropCatagory][PropIndex].title), "success")
ESX.CloseContext()
else
ESX.ShowNotification("You ~r~Cannot~s~ Buy This Furniture", "error")
ESX.ShowNotification(_U("cannot_buy"), "error")
end
end, CurrentId, PropName, PropIndex, PropCatagory, vector3(CurrentPos.x, CurrentPos.y, CurrentPos.z), CurrentHeading)
end
@@ -240,10 +240,10 @@ if Config.Furniture.Enabled then
ESX.TriggerServerCallback("esx_property:editFurniture", function(response)
if response then
DeleteEntity(CurrentlyEditing)
ESX.ShowNotification("You Edited ~b~" .. Config.FurnitureCatagories[PropCatagory][PropPrice].title .. "~s~!", "success")
ESX.ShowNotification(_U("edited_furni"), "success")
ESX.CloseContext()
else
ESX.ShowNotification("You ~r~Cannot~s~ Edit This Furniture", "error")
ESX.ShowNotification(_U("cannot_edit"), "error")
end
end, CurrentId, PropIndex, vector3(CurrentPos.x, CurrentPos.y, CurrentPos.z), CurrentHeading)
end
@@ -263,8 +263,8 @@ if Config.Furniture.Enabled then
end
function FurnitureItems(house, Store, StoreIndex, Catagory)
local Items = {{unselectable = true, title = Store .. " Store - " .. Catagory, icon = "fas fa-store"},
{title = "Go Back", value = "go-back", icon = "fas fa-arrow-left"}}
local Items = {{unselectable = true, title = _U("store_title", Catagory), icon = "fas fa-store"},
{title = _U("back"), value = "go-back", icon = "fas fa-arrow-left"}}
for k, v in pairs(Config.FurnitureCatagories[Catagory]) do
table.insert(Items, {title = v.title, value = v.name, index = k, description = "Price: " .. v.price, icon = "fas fa-shopping-cart"})
@@ -280,8 +280,8 @@ if Config.Furniture.Enabled then
end
function FurnitureCatagories(house, Store, StoreIndex)
local Catagories = {{unselectable = true, title = Store .. " Store", icon = "fas fa-store"},
{title = "Go Back", value = "go-back", icon = "fas fa-arrow-left"}}
local Catagories = {{unselectable = true, title = _U("store_title", Store), icon = "fas fa-store"},
{title = _U("back"), value = "go-back", icon = "fas fa-arrow-left"}}
for k, v in pairs(Config.FurnitureStores[StoreIndex].Catagories) do
table.insert(Catagories, {title = v})
@@ -299,9 +299,9 @@ if Config.Furniture.Enabled then
function FurnitureEdit(propertyId, furniture)
local furni = SpawnedFurniture[furniture]
local Funiture = Config.FurnitureCatagories[furni.data.Catagory][furni.data.Index]
local Catagories = {{unselectable = true, title = "Edit " .. Funiture.title, icon = "fas fa-store"},
{title = "Go Back", value = "go-back", icon = "fas fa-arrow-left"},
{title = "Move", value = "rotate", icon = "fas fa-sync-alt"}, {title = "Delete", value = "delete", icon = "fas fa-trash-alt"}}
local Catagories = {{unselectable = true, title = _U("edit_title",Funiture.title), icon = "fas fa-store"},
{title = _U("back"), value = "go-back", icon = "fas fa-arrow-left"},
{title = _U("move_title"), value = "rotate", icon = "fas fa-sync-alt"}, {title = _U("delete_furni"), value = "delete", icon = "fas fa-trash-alt"}}
ESX.OpenContext("right", Catagories, function(data, element)
if element.value == "go-back" then
@@ -310,10 +310,10 @@ if Config.Furniture.Enabled then
if element.value == "delete" then
ESX.TriggerServerCallback("esx_property:deleteFurniture", function(response)
if response then
ESX.ShowNotification("You Deleted ~b~" .. Funiture.title .. "~s~!", "success")
ESX.ShowNotification(_U("delete_confirm", Funiture.title), "success")
FurnitureEditSelect(propertyId)
else
ESX.ShowNotification("You ~r~Cannot~s~ Delete This Furniture", "error")
ESX.ShowNotification(_U("delete_error", Funiture.title), "error")
end
end, propertyId, furniture)
end
@@ -325,8 +325,8 @@ if Config.Furniture.Enabled then
end
function FurnitureEditSelect(propertyId)
local Furni = {{unselectable = true, title = "Owned Furniture", icon = "far fa-edit"},
{title = "Go Back", value = "go-back", icon = "fas fa-arrow-left"}}
local Furni = {{unselectable = true, title = _U("owned_furni"), icon = "far fa-edit"},
{title = _U("back"), value = "go-back", icon = "fas fa-arrow-left"}}
for k, v in pairs(SpawnedFurniture) do
local Funiture = Config.FurnitureCatagories[v.data.Catagory][v.data.Index]
@@ -343,8 +343,8 @@ if Config.Furniture.Enabled then
end
function FurnitureStores(house)
local Options = {{unselectable = true, title = "Furniture Stores", icon = "fas fa-store"},
{title = "Go Back", value = "go-back", icon = "fas fa-arrow-left"}}
local Options = {{unselectable = true, title = _U("menu_stores"), icon = "fas fa-store"},
{title = _U("back"), value = "go-back", icon = "fas fa-arrow-left"}}
for k, v in pairs(Config.FurnitureStores) do
table.insert(Options, {title = v.title, Store = k})
@@ -360,12 +360,12 @@ if Config.Furniture.Enabled then
end
function FurnitureMenu(PropertyId)
local Options = {{unselectable = true, title = "Furniture Management", icon = "fas fa-lamp"},
{title = "Furniture Shop", description = "Buy Furniture", icon = "fas fa-dollar-sign", value = "store"}}
local Options = {{unselectable = true, title = _U("furni_management"), icon = "fas fa-lamp"},
{title = _U("menu_stores"), description = _U("menu_stores_desc"), icon = "fas fa-dollar-sign", value = "store"}}
if #SpawnedFurniture > 0 then
Options[#Options + 1] = {title = "Reset", description = "Clears All Furniture", icon = "fas fa-trash", value = "reset"}
Options[#Options + 1] = {title = "Edit", description = "Move and/or Delete furniture items", icon = "fas fa-archive", value = "edit"}
Options[#Options + 1] = {title = _U("menu_reset"), description = _U("menu_reset_desc"), icon = "fas fa-trash", value = "reset"}
Options[#Options + 1] = {title = _U("menu_edit"), description = _U("menu_edit_desc"), icon = "fas fa-archive", value = "edit"}
end
ESX.OpenContext("right", Options, function(data, element)
@@ -377,9 +377,9 @@ if Config.Furniture.Enabled then
elseif element.value == "reset" then
ESX.TriggerServerCallback("esx_property:RemoveAllfurniture", function(Removed)
if Removed then
ESX.ShowNotification("Furniture Reset!", "success")
ESX.ShowNotification(_U("furni_reset_success"), "success")
else
ESX.ShowNotification("You Cannot Reset This Property!", "error")
ESX.ShowNotification(_U("furni_reset_error"), "error")
end
end, PropertyId)
end
@@ -387,7 +387,7 @@ if Config.Furniture.Enabled then
end)
end
ESX.RegisterInput("furniture", "(ESX Property) Open Furniture Menu", "keyboard", "M", function()
ESX.RegisterInput(_U("furni_command"), _U("furni_command_desc"), "keyboard", "M", function()
if InProperty then
ESX.TriggerServerCallback('esx_property:CanOpenFurniture', function(Access)
if Access then
@@ -397,7 +397,7 @@ if Config.Furniture.Enabled then
FurnitureStores(CurrentId)
end
else
ESX.ShowNotification("You ~r~Cannot~s~ Access This Menu!", 5000, "error")
ESX.ShowNotification(_U("furni_command_permission"), 5000, "error")
end
end, CurrentId)
else
+18 -18
View File
@@ -155,7 +155,7 @@ end
function GiveKeysMenu(Property)
ESX.TriggerServerCallback("esx_property:GetInsidePlayers", function(Players)
local Elements = {{unselectable = true, title = "Nearby Players", icon = "fas fa-user-plus"},
{title = "Go Back", icon = "fas fa-arrow-left", value = "go_back"}}
{title = _U("back"), icon = "fas fa-arrow-left", value = "go_back"}}
for i = 1, #Players, 1 do
Elements[#Elements + 1] = {title = Players[i].Name, icon = "far fa-user", index = Players[i].Id, value = "user"}
end
@@ -179,7 +179,7 @@ end
function RemoveKeysMenu(Property)
ESX.TriggerServerCallback("esx_property:GetPlayersWithKeys", function(Players)
local Elements = {{unselectable = true, title = "Remove Key From Player", icon = "fas fa-user-plus"},
{title = "Go Back", icon = "fas fa-arrow-left", value = "go_back"}}
{title = _U("back"), icon = "fas fa-arrow-left", value = "go_back"}}
for k, v in pairs(Players) do
local name = v.name
local Id = k
@@ -205,7 +205,7 @@ end
function ManageKeys(Property)
ESX.HideUI()
local Elements = {{unselectable = true, title = "Key Management", icon = "fas fa-key"},
{title = "Go Back", icon = "fas fa-arrow-left", value = "go_back"},
{title = _U("back"), icon = "fas fa-arrow-left", value = "go_back"},
{title = "Give Keys", icon = "fas fa-plus", value = "give_keys"},
{title = "Remove Keys", icon = "fas fa-minus", value = "remove_keys"}}
@@ -1016,7 +1016,7 @@ RegisterNetEvent("esx_property:CreateProperty", function()
description = "Current Status: " .. status, index = "ToggleCCTV"},
{title = "Set Angle", icon = "fas fa-rotate", disabled = not Property[6].value.enabled,
description = "Sets the Camera angle to your Cameras Direction", index = "SetCCTVangle"},
{title = "Go Back", icon = "fas fa-arrow-left", description = "return to property creation.", index = "return"}}
{title = _U("back"), icon = "fas fa-arrow-left", description = "return to property creation.", index = "return"}}
exports["esx_context"]:Refresh(opos, "right")
end
if element.index == "ToggleCCTV" then
@@ -1027,7 +1027,7 @@ RegisterNetEvent("esx_property:CreateProperty", function()
description = "Current Status: " .. status, index = "ToggleCCTV"},
{title = "Set Angle", icon = "fas fa-rotate", disabled = not Property[6].value.enabled,
description = "Sets the Camera angle to your Cameras Direction", index = "SetCCTVangle"},
{title = "Go Back", icon = "fas fa-arrow-left", description = "return to property creation.", index = "return"}}
{title = _U("back"), icon = "fas fa-arrow-left", description = "return to property creation.", index = "return"}}
exports["esx_context"]:Refresh(opos, "right")
end
if Config.Garage.Enabled and element.index == "garage" then
@@ -1039,10 +1039,10 @@ RegisterNetEvent("esx_property:CreateProperty", function()
opos[#opos + 1] = {title = "Set Position", icon = "fas fa-map-marker-alt", disabled = not Property[5].value.enabled,
description = "Sets the Camera angle to your Cameras Direction", index = "SetGaragePos"}
if Property[5].value.pos then
opos[#opos + 1] = {title = "Go Back", icon = "fas fa-arrow-left", description = "return to property creation.", index = "return"}
opos[#opos + 1] = {title = _U("back"), icon = "fas fa-arrow-left", description = "return to property creation.", index = "return"}
end
else
opos[#opos + 1] = {title = "Go Back", icon = "fas fa-arrow-left", description = "return to property creation.", index = "return"}
opos[#opos + 1] = {title = _U("back"), icon = "fas fa-arrow-left", description = "return to property creation.", index = "return"}
end
exports["esx_context"]:Refresh(opos, "right")
end
@@ -1056,7 +1056,7 @@ RegisterNetEvent("esx_property:CreateProperty", function()
opos[#opos + 1] = {title = "Set Position", icon = "fas fa-map-marker-alt", disabled = not Property[5].value.enabled,
description = "Sets the Camera angle to your Cameras Direction", index = "SetGaragePos"}
else
opos[#opos + 1] = {title = "Go Back", icon = "fas fa-arrow-left", description = "return to property creation.", index = "return"}
opos[#opos + 1] = {title = _U("back"), icon = "fas fa-arrow-left", description = "return to property creation.", index = "return"}
end
exports["esx_context"]:Refresh(opos, "right")
end
@@ -1130,7 +1130,7 @@ RegisterNetEvent("esx_property:AdminMenu", function()
local opos = {}
local function GetData()
local elements = {{unselectable = true, icon = "fas fa-cogs", title = "Property Management"},
{title = "Go Back", icon = "fas fa-arrow-left", value = "back"},
{title = _U("back"), icon = "fas fa-arrow-left", value = "back"},
{title = "Toggle Lock", icon = (Properties[currentProperty].Locked and "fas fa-lock") or "fas fa-unlock",
description = "Lock/Unlock The Property.", value = "lock"},
{title = "Enter", description = "Force Entry Into The Property.", icon = "fas fa-door-open", value = "enter"},
@@ -1206,11 +1206,11 @@ RegisterNetEvent("esx_property:AdminMenu", function()
disabled = not Properties[currentProperty].garage.enabled,
description = "Sets the Garage Position to your Players Position", value = "SetGaragePos"}
if Properties[currentProperty].garage.pos then
opos[#opos + 1] = {title = "Go Back", icon = "fas fa-arrow-left", description = "return to Property Management.",
opos[#opos + 1] = {title = _U("back"), icon = "fas fa-arrow-left", description = "return to Property Management.",
value = "return"}
end
else
opos[#opos + 1] = {title = "Go Back", icon = "fas fa-arrow-left", description = "return to Property Management", value = "return"}
opos[#opos + 1] = {title = _U("back"), icon = "fas fa-arrow-left", description = "return to Property Management", value = "return"}
end
exports["esx_context"]:Refresh(opos, "right")
end
@@ -1223,11 +1223,11 @@ RegisterNetEvent("esx_property:AdminMenu", function()
opos[#opos + 1] = {title = "Set Angle", icon = "fas fa-map-marker-alt", disabled = not Properties[currentProperty].cctv.enabled,
description = "Sets the Angle of the Camera.", value = "SetCCTVangle"}
if Properties[currentProperty].cctv.rot then
opos[#opos + 1] = {title = "Go Back", icon = "fas fa-arrow-left", description = "return to Property Management.",
opos[#opos + 1] = {title = _U("back"), icon = "fas fa-arrow-left", description = "return to Property Management.",
value = "return"}
end
else
opos[#opos + 1] = {title = "Go Back", icon = "fas fa-arrow-left", description = "return to Property Management", value = "return"}
opos[#opos + 1] = {title = _U("back"), icon = "fas fa-arrow-left", description = "return to Property Management", value = "return"}
end
exports["esx_context"]:Refresh(opos, "right")
end
@@ -1243,11 +1243,11 @@ RegisterNetEvent("esx_property:AdminMenu", function()
opos[#opos + 1] = {title = "Set Position", icon = "fas fa-map-marker-alt", disabled = not enabled,
description = "Sets the Garage Position to your Players Position", value = "SetGaragePos"}
if Properties[currentProperty].garage.pos then
opos[#opos + 1] = {title = "Go Back", icon = "fas fa-arrow-left", description = "return to Property Management.",
opos[#opos + 1] = {title = _U("back"), icon = "fas fa-arrow-left", description = "return to Property Management.",
value = "return"}
end
else
opos[#opos + 1] = {title = "Go Back", icon = "fas fa-arrow-left", description = "return to Property Management",
opos[#opos + 1] = {title = _U("back"), icon = "fas fa-arrow-left", description = "return to Property Management",
value = "return"}
end
exports["esx_context"]:Refresh(opos, "right")
@@ -1268,11 +1268,11 @@ RegisterNetEvent("esx_property:AdminMenu", function()
opos[#opos + 1] = {title = "Set Angle", icon = "fas fa-map-marker-alt", disabled = not enabled,
description = "Sets the Angle of the Camera.", value = "SetCCTVangle"}
if Properties[currentProperty].cctv.rot then
opos[#opos + 1] = {title = "Go Back", icon = "fas fa-arrow-left", description = "return to Property Management.",
opos[#opos + 1] = {title = _U("back"), icon = "fas fa-arrow-left", description = "return to Property Management.",
value = "return"}
end
else
opos[#opos + 1] = {title = "Go Back", icon = "fas fa-arrow-left", description = "return to Property Management",
opos[#opos + 1] = {title = _U("back"), icon = "fas fa-arrow-left", description = "return to Property Management",
value = "return"}
end
exports["esx_context"]:Refresh(opos, "right")
@@ -1447,7 +1447,7 @@ RegisterNetEvent("esx_property:AdminMenu", function()
ESX.TriggerServerCallback('esx_property:IsAdmin', function(data)
if data then
local elements = {{unselectable = true, icon = "fas fa-home", title = "Property Options"},
{title = "Go Back", icon = "fas fa-arrow-left", value = "back"},
{title = _U("back"), icon = "fas fa-arrow-left", value = "back"},
{title = "Manage", icon = "fas fa-cogs", description = "Alter This Property's Settings.", value = "manage"},
{title = "Teleport", description = "Teleport To This Property.", icon = "fas fa-map-marker-alt", value = "goto"},
{title = "Set GPS", description = "Set GPS position To Property.", icon = "fa-solid fa-location-dot", value = "gps"},
+37 -1
View File
@@ -8,5 +8,41 @@ Locales['en'] = {
["night_vision"] = "Toggle Night Vision",
["clipboard"] = "Link Copied To ~b~Cipboard",
["please_wait"] = "Please Wait Before taking another ~b~Picture",
["exit"] = "Exit"
["exit"] = "Exit",
--- Furniture Strings ------
["Height"] = "Height",
["rotate"] = "Rotation",
["place"] = "Place Furniture",
["delete_furni"] = "Delete",
["confirm_buy"] = "Do You Want To Buy %s ?",
["price"] = "Price: $&s",
["yes"] = "Yes",
["no"] = "No",
["action"] = "You %s ~b~%s~s~ !",
["bought_furni"] = "You Have ~g~Bought~s~ A ~b~%s~s~ !",
["edited_furni"] = "You Have Edited ~b~%s~s~ !",
["cannot_buy"] = "You ~r~Cannot~s~ Buy This!",
["cannot_edit"] = "You ~r~Cannot~s~ Edit This!",
["store_title"] = "Store - %s",
["back"] = "Return",
["edit_title"] = "Editing - %s",
["move_title"] = "Move",
["deleted_confirm"] = "Deleting ~b~%s~s~!",
["deleted_error"] = "Cannot Delete ~b~%s~s~!",
["owned_furni"] = "Owned Furniture",
["menu_stores"] = "Furniture Stores",
["menu_stores_desc"] = "Buy Furniture",
["menu_reset"] = "Reset",
["menu_reset_desc"] = "Clears All Furniture",
["menu_edit"] = "Edit",
["menu_edit_desc"] = "Move and/or Delete furniture items",
["furni_command"] = "furniture",
["furni_Command_desc"] = "(ESX Property) Open Furniture Menu",
["furni_command_permission"] = "You ~r~Cannot~s~ Access This Menu!",
["furni_reset_success"] = "Furniture Reset!",
["furni_cannot_afford"] = "You Cannot Afford Todo this!",
["furni_reset_error"] = "You ~r~Cannot~s~ Reset This Property!",
["furni_management"] = "Manage Furniture"
}
+1 -1
View File
@@ -248,7 +248,7 @@ ESX.RegisterServerCallback("esx_property:buyFurniture", function(source, cb, Pro
TriggerClientEvent("esx_property:syncFurniture", -1, PropertyId, Properties[PropertyId].furniture)
else
cb(false)
ESX.ShowNotification("You ~r~Cannot~s~ Afford This Furniture.")
ESX.ShowNotification(_U("furni_cannot_afford"))
end
else
cb(false)