diff --git a/entities/entities/nut_item.lua b/entities/entities/nut_item.lua
index 6e81c9c3..9728565c 100644
--- a/entities/entities/nut_item.lua
+++ b/entities/entities/nut_item.lua
@@ -57,7 +57,7 @@ if (SERVER) then
self:SetModel(model)
self:SetSkin(itemTable.skin or 0)
self:SetMaterial(itemTable.material or "")
- self:SetColor(itemTable.color or Color(255,255,255))
+ self:SetColor(itemTable.color or color_white)
self:PhysicsInit(SOLID_VPHYSICS)
self:SetSolid(SOLID_VPHYSICS)
self:setNetVar("id", itemTable.uniqueID)
diff --git a/entities/weapons/nut_hands.lua b/entities/weapons/nut_hands.lua
index d593aa08..7bee9891 100644
--- a/entities/weapons/nut_hands.lua
+++ b/entities/weapons/nut_hands.lua
@@ -538,7 +538,7 @@ function SWEP:pickup(entity, trace)
self.carryHack:SetModel("models/weapons/w_bugbait.mdl")
- self.carryHack:SetColor(Color(50, 250, 50, 240))
+ --self.carryHack:SetColor(Color(50, 250, 50, 240))
self.carryHack:SetNoDraw(true)
self.carryHack:DrawShadow(false)
diff --git a/gamemode/config/sh_config.lua b/gamemode/config/sh_config.lua
index 91a6b232..336ed323 100644
--- a/gamemode/config/sh_config.lua
+++ b/gamemode/config/sh_config.lua
@@ -16,23 +16,52 @@ nut.config.add("maxChars", 5, "The maximum number of characters a player can hav
category = "characters"
})
-nut.config.add("color", Color(75, 119, 190), "The main color theme for the framework.", nil, {category = "appearance"})
+nut.config.add("color", Color(75, 119, 190), "The main color theme for the framework.", function()
+ if CLIENT then hook.Run("nutUpdateColors") end
+end, {category = "appearance"})
+
+nut.config.add("colorAutoTheme", "dark", "Whether secondary and background colours generated from the main color should be dark or light themed.\nGenerated colors will be estimates and not guaranteed to look good.\nDisable to enable manual tuning", function()
+ if CLIENT then hook.Run("nutUpdateColors") end
+end, {
+ form = "Combo",
+ category = "appearance",
+ options = {"dark", "light", "disabled"}
+ }
+)
+
+nut.config.add("colorSecondary", Color(55, 87, 140), "The secondary color for the framework, used for accents.", function()
+ if CLIENT then hook.Run("nutUpdateColors") end
+end, {category = "appearance"})
+
+nut.config.add("colorBackground", Color(25, 40, 64), "The background color for the framework, used in derma backgrounds", function()
+ if CLIENT then hook.Run("nutUpdateColors") end
+end, {category = "appearance"})
+
+nut.config.add("colorText", color_white, "The main text color for the framework.", function()
+ if CLIENT then hook.Run("nutUpdateColors") end
+end, {category = "appearance"})
nut.config.add("font", "Arial", "The font used to display titles.", function(oldValue, newValue)
if (CLIENT) then
- hook.Run("LoadNutFonts", newValue, nut.config.get("genericFont"))
+ hook.Run("LoadNutFonts", newValue, nut.config.get("genericFont"), nut.config.get("configFont"))
end
end, {category = "appearance"})
nut.config.add("genericFont", "Segoe UI", "The font used to display generic texts.", function(oldValue, newValue)
if (CLIENT) then
- hook.Run("LoadNutFonts", nut.config.get("font"), newValue)
+ hook.Run("LoadNutFonts", nut.config.get("font"), newValue, nut.config.get("configFont"))
+ end
+end, {category = "appearance"})
+
+nut.config.add("configFont", "Segoe UI", "The font used to display config and admin menu texts.", function(oldValue, newValue)
+ if (CLIENT) then
+ hook.Run("LoadNutFonts", nut.config.get("font"), nut.config.get("genericFont"), newValue)
end
end, {category = "appearance"})
nut.config.add("fontScale", 1.0, "The scale for the font.", function(oldValue, newValue)
if (CLIENT) then
- hook.Run("LoadNutFonts", nut.config.get("font"), nut.config.get("genericFont"))
+ hook.Run("LoadNutFonts", nut.config.get("font"), nut.config.get("genericFont"), nut.config.get("configFont"))
end
end, {
form = "Float",
diff --git a/gamemode/core/derma/cl_config.lua b/gamemode/core/derma/cl_config.lua
new file mode 100644
index 00000000..722a0a36
--- /dev/null
+++ b/gamemode/core/derma/cl_config.lua
@@ -0,0 +1,588 @@
+local gradientD = nut.util.getMaterial("vgui/gradient-d")
+local gradientR = nut.util.getMaterial("vgui/gradient-r")
+local gradientL = nut.util.getMaterial("vgui/gradient-l")
+
+-- Originally, the plan was to allow both serverside configs and clientside quick settings to be editable here. However, I've decided to keep them separate for now.
+-- I do not wish to break the quick menu, nor use ugly hacks.
+-- if you wish to change it, then complete populateConfig.client, and at the bottom, uncomment self.selectPanel = self:Add("NutConfigSelectPanel") to show the server/client buttons
+-- Tov
+
+local populateConfig = {
+ server = function(panel)
+ local buffer = {}
+
+ for k, v in pairs(nut.config.stored) do
+ -- Get the category name.
+ local index = v.data and v.data.category or "misc"
+
+ -- Insert the config into the category list.
+ buffer[index] = buffer[index] or {}
+ buffer[index][k] = v
+ end
+
+ panel.data = buffer
+ end,
+ client = function(panel)
+ end,
+}
+
+local serverIcon, clientIcon, check, uncheck
+-- wait until icons are loaded, then load icons
+hook.Add("EasyIconsLoaded", "nutConfigIcons", function()
+ serverIcon = getIcon("icon-equalizer")
+ clientIcon = getIcon("icon-child")
+ check = getIcon("icon-ok-squared")
+ uncheck = getIcon("icon-check-empty")
+end)
+
+local PANEL = {}
+
+function PANEL:Init()
+ self:SetSize(100, 0)
+ self:DockMargin(0, 0, 0, 0)
+ self:Dock(LEFT)
+ self:InvalidateLayout(true)
+
+ local parent = self:GetParent()
+
+ print(parent, nut.gui.config, nut.gui.config == parent)
+ print(parent.populateConfigs)
+
+ self:createConfigButton(serverIcon, "Server", function()
+ local config = parent.configListPanel
+ populateConfig.server(config)
+ config:InvalidateChildren(true)
+ config:populateConfigs()
+ end)
+
+ self:createConfigButton(clientIcon, "Client", function()
+ local config = parent.configListPanel
+ populateConfig.client(config)
+ config:InvalidateChildren(true)
+ config:populateConfigs()
+ end)
+end
+
+function PANEL:createConfigButton(icon, name, func)
+ local button = self:Add("DButton")
+ button:Dock(TOP)
+ button:DockMargin(0, 0, 0, 0)
+ button:SetSize(self:GetWide(), 30)
+ button:SetText("")
+
+ local icon_label = button:Add("DLabel")
+ icon_label:Dock(LEFT)
+ icon_label:DockMargin(0, 0, 0, 0)
+ icon_label:SetSize(30, 30)
+ icon_label:SetText("")
+ icon_label.Paint = function(_, w, h)
+ nut.util.drawText(icon, w * 0.5, h * 0.5, color_white, 1, 1, "nutIconsSmallNew")
+ end
+
+ local text_label = button:Add("DLabel")
+ text_label:SetText(name)
+ text_label:SetContentAlignment(5)
+ text_label:SetFont("nutMediumConfigFont")
+ text_label:Dock(FILL)
+ text_label:DockMargin(0, 0, 0, 0)
+
+ button.DoClick = function()
+ self:GetParent():ClearConfigs()
+ func()
+ end
+
+ return button
+end
+
+function PANEL:Paint() end
+
+vgui.Register("NutConfigSelectPanel", PANEL, "DPanel")
+
+-- the center panel, listing all the configs
+PANEL = {}
+
+function PANEL:Init()
+ self:Dock(FILL)
+ self:InvalidateParent(true)
+
+ hook.Run("CreateConfigPanel", self)
+
+ -- a dTextEntry that will filter the list of configs
+ self.filter = self:Add("DTextEntry")
+ self.filter:Dock(TOP)
+ self.filter:DockMargin(0, 0, 0, 0)
+ self.filter:SetSize(self:GetWide(), 30)
+ self.filter:SetPlaceholderText("Filter configs")
+ self.filter:SetUpdateOnType(true)
+ self.filter.OnChange = function()
+ self:filterConfigs(self.filter:GetValue())
+ end
+
+ -- a dScrollPanel that will contain the list of configs
+ self.scroll = self:Add("DScrollPanel")
+ self.scroll:Dock(FILL)
+ self.scroll.Paint = function() end
+
+ populateConfig.server(self)
+
+ self:InvalidateChildren(true)
+
+ self:populateConfigs()
+end
+
+local paintFunc = function(panel, w, h)
+ local r, g, b = nut.config.get("color"):Unpack()
+ surface.SetDrawColor(r, g, b, 255)
+
+ surface.SetMaterial(gradientR)
+ surface.DrawTexturedRect(0, 0, w/2, h)
+ surface.SetMaterial(gradientL)
+ surface.DrawTexturedRect(w/2, 0, w/2, h)
+
+end
+
+local mathRound, mathFloor = math.Round, math.floor
+local labelSpacing = 0.25
+
+local configElement = {
+ Int = function(name, config, parent)
+ local panel = vgui.Create("DNumSlider")
+ panel:SetSize(parent:GetWide(), 30)
+ panel:InvalidateChildren(true)
+
+ panel:SetMin(config.data.data and config.data.data.min or 0)
+ panel:SetMax(config.data.data and config.data.data.max or 1)
+ panel:SetDecimals(0)
+ panel:SetValue(config.value)
+ panel:SetText(name)
+ panel.TextArea:SetFont("nutConfigFont")
+ panel.Label:SetFont("nutConfigFont")
+ panel.Label:SetTextInset(10, 0)
+ panel.OnValueChanged = function(_, newValue)
+ timer.Create("nutConfigChange"..name, 1, 1, function() netstream.Start("cfgSet", name, mathFloor(newValue)) end)
+ end
+
+ panel.Paint = function(this, w, h)
+ paintFunc(this, w, h)
+ end
+
+ panel.PerformLayout = function(this)
+ this.Label:SetWide( parent:GetWide() * labelSpacing )
+ end
+
+ -- prevent right click from triggering default behaviour when we want to reset
+ local oldMousePressed = panel.Scratch.OnMousePressed
+ panel.Scratch.OnMousePressed = function(this, code)
+ if code ~= MOUSE_RIGHT then
+ oldMousePressed(this, code)
+ end
+ end
+
+ return panel
+ end,
+ Float = function(name, config, parent)
+ local panel = vgui.Create("DNumSlider")
+ panel:SetSize(parent:GetWide(), 30)
+ panel:InvalidateChildren(true)
+
+ panel:SetMin(config.data.data and config.data.data.min or 0)
+ panel:SetMax(config.data.data and config.data.data.max or 1)
+ panel:SetDecimals(2)
+ panel:SetValue(config.value)
+ panel:SetText(name)
+ panel.TextArea:SetFont("nutConfigFont")
+ panel.Label:SetFont("nutConfigFont")
+ panel.Label:SetTextInset(10, 0)
+ panel.OnValueChanged = function(_, newValue)
+ timer.Create("nutConfigChange"..name, 1, 1, function() netstream.Start("cfgSet", name, mathRound(newValue, 2)) end)
+ end
+
+ panel.Paint = function(this, w, h)
+ paintFunc(this, w, h)
+ end
+
+ panel.PerformLayout = function(this)
+ this.Label:SetWide( parent:GetWide() * labelSpacing )
+ end
+
+ -- prevent right click from triggering default behaviour when we want to reset
+ local oldMousePressed = panel.Scratch.OnMousePressed
+ panel.Scratch.OnMousePressed = function(this, code)
+ if code ~= MOUSE_RIGHT then
+ oldMousePressed(this, code)
+ end
+ end
+
+ return panel
+ end,
+ Generic = function(name, config, parent)
+ local panel = vgui.Create("DPanel")
+ panel:SetSize(parent:GetWide(), 30)
+ panel:SetTall(30)
+
+ -- draw the label over the entry, docked to the left
+ local label = panel:Add("DLabel")
+ label:Dock(LEFT)
+ label:DockMargin(0, 0, 0, 0)
+ label:SetWide(panel:GetWide() * labelSpacing)
+ label:SetText(name)
+ label:SetFont("nutConfigFont")
+ label:SetContentAlignment(4)
+ label:SetTextInset(10, 0)
+
+ local entry = panel:Add("DTextEntry")
+ entry:Dock(FILL)
+ entry:DockMargin(0, 0, 0, 0)
+ entry:SetText(tostring(config.value))
+ entry.OnValueChange = function(_, newValue)
+ netstream.Start("cfgSet", name, newValue)
+ end
+ entry.OnLoseFocus = function(this)
+ timer.Simple(0, function() this:SetText(tostring(config.value)) end)
+ end
+
+ panel.SetValue = function(this, value) -- for compatibility
+ entry:SetText(tostring(value))
+ end
+
+ panel.Paint = function(this, w, h)
+ paintFunc(this, w, h)
+ end
+
+ return panel
+ end,
+ Boolean = function(name, config, parent)
+ local panel = vgui.Create("DPanel")
+ panel:SetSize(parent:GetWide(), 30)
+ panel:SetTall(30)
+
+ local button = panel:Add("DButton")
+ button:Dock(FILL)
+ button:DockMargin(0, 0, 0, 0)
+ button:SetText("")
+ button.Paint = function(_, w, h)
+ nut.util.drawText(config.value and check or uncheck, w * 0.5, h * 0.5, color_white, 1, 1, "nutIconsSmallNew")
+ end
+ button.DoClick = function()
+ netstream.Start("cfgSet", name, not config.value)
+ end
+
+ local label = button:Add("DLabel")
+ label:Dock(LEFT)
+ label:DockMargin(0, 0, 0, 0)
+ label:SetWide(parent:GetWide())
+ label:SetText(name)
+ label:SetFont("nutConfigFont")
+ label:SetContentAlignment(4)
+ label:SetTextInset(10, 0)
+
+ panel.Paint = function(this, w, h)
+ paintFunc(this, w, h)
+ end
+
+ return panel
+
+ end,
+ Color = function(name, config, parent)
+ local panel = vgui.Create("DPanel")
+ panel:SetSize(parent:GetWide(), 30)
+ panel:SetTall(30)
+
+ local button = panel:Add("DButton")
+ button:Dock(FILL)
+ button:DockMargin(0, 0, 0, 0)
+ button:SetText("")
+ button.Paint = function(_, w, h)
+ draw.RoundedBox(4, w/2 - 9, h/2 - 9, 18, 18, config.value)
+ nut.util.drawText(config.value.r .. " " .. config.value.g .. " " .. config.value.b, w/2 + 18, h/2, nut.config.get("colorText"), 0, 1, "nutConfigFont")
+ end
+ button.DoClick = function(this)
+
+ local pickerFrame = this:Add("DFrame")
+
+ pickerFrame:SetSize(ScrW()*0.15, ScrH()*0.2) -- Good size for example
+ pickerFrame:SetPos(gui.MouseX(), gui.MouseY())
+ pickerFrame:MakePopup()
+
+ if IsValid(button.picker) then button.picker:Remove() end
+ button.picker = pickerFrame
+
+ local Mixer = pickerFrame:Add( "DColorMixer")
+ Mixer:Dock(FILL) -- Make Mixer fill place of Frame
+ Mixer:SetPalette(true) -- Show/hide the palette DEF:true
+ Mixer:SetAlphaBar(true) -- Show/hide the alpha bar DEF:true
+ Mixer:SetWangs(true) -- Show/hide the R G B A indicators DEF:true
+ Mixer:SetColor(config.value) -- Set the default color
+ pickerFrame.curColor = config.value
+
+ local confirm = pickerFrame:Add("DButton")
+ confirm:Dock(BOTTOM)
+ confirm:DockMargin(0, 0, 0, 0)
+ confirm:SetText("Apply")
+ confirm:SetTextColor(pickerFrame.curColor)
+ confirm.DoClick = function()
+ netstream.Start("cfgSet", name, pickerFrame.curColor)
+ pickerFrame:Remove()
+ end
+
+ Mixer.ValueChanged = function(_, value)
+ pickerFrame.curColor = value
+ confirm:SetTextColor(value)
+ end
+ end
+
+ local label = button:Add("DLabel")
+ label:Dock(LEFT)
+ label:SetWide(parent:GetWide())
+ label:SetText(name)
+ label:SetFont("nutConfigFont")
+ label:SetContentAlignment(4)
+ label:SetTextInset(10, 0)
+
+ panel.Paint = function(this, w, h)
+ paintFunc(this, w, h)
+ end
+
+ return panel
+ end,
+ Combo = function(name, config, parent)
+ -- a DTextEntry with a label on the left
+ local panel = vgui.Create("DPanel")
+ panel:SetSize(parent:GetWide(), 30)
+ panel:SetTall(30)
+
+ -- draw the label over the entry, docked to the left
+ local label = panel:Add("DLabel")
+ label:Dock(LEFT)
+ label:DockMargin(0, 0, 0, 0)
+ label:SetWide(panel:GetWide() * labelSpacing)
+ label:SetText(name)
+ label:SetFont("nutConfigFont")
+ label:SetContentAlignment(4)
+ label:SetTextInset(10, 0)
+
+ local combo = panel:Add("DComboBox")
+ combo:Dock(FILL)
+ combo:DockMargin(0, 0, 0, 0)
+ combo:SetSortItems(false)
+ combo:SetValue(tostring(config.value))
+ combo.OnSelect = function(_, index, value)
+ netstream.Start("cfgSet", name, value)
+ end
+
+ for _, v in ipairs(config.data.options) do
+ combo:AddChoice(v)
+ end
+
+ panel.Paint = function(this, w, h)
+ paintFunc(this, w, h)
+ end
+
+ panel.SetValue = function(this, value) -- for compatibility
+ combo:SetValue(tostring(value))
+ end
+
+ return panel
+
+ end,
+}
+
+local function typeConvert(value)
+ local t = type(value)
+ if t == "boolean" then
+ return "Boolean"
+ elseif t == "number" then
+ if math.floor(value) == value then
+ return "Int"
+ else
+ return "Float"
+ end
+ elseif t == "table" and value.r and value.g and value.b then
+ return "Color"
+ end
+ return "Generic"
+end
+
+function PANEL:populateConfigs()
+ local sorted = {}
+ self.entries = {}
+ self.categories = {}
+
+ if not self.data then return end
+
+ for k in pairs(self.data) do
+ table.insert(sorted, k)
+ end
+
+ -- sort alphabetically, case insensitive
+ table.sort(sorted, function(a, b)
+ return a:lower() < b:lower()
+ end)
+
+ self:InvalidateLayout(true)
+
+
+ for _, category in ipairs(sorted) do
+ local panel = self.scroll:Add("DPanel")
+ panel:Dock(TOP)
+ panel:DockMargin(0,1,0,4)
+ panel:DockPadding(0,0,0,10)
+ panel:SetSize(self:GetWide(), 30)
+ panel:SetPaintBackground(false)
+ panel.category = category
+
+ local label = panel:Add("DLabel")
+ label:Dock(TOP)
+ label:DockMargin(1, 1, 1, 4)
+ label:SetSize(self:GetWide(), 30)
+ label:SetFont("nutMediumConfigFont")
+ label:SetContentAlignment(5)
+ label:SetText(category:gsub("^%l", string.upper))
+
+ for name, config in SortedPairs(self.data[category]) do
+ local form = config.data and config.data.form
+ local value = config.default
+ if not form then form = typeConvert(value) end
+ local entry = panel:Add(configElement[form or "Generic"](name, config, panel))
+ entry:Dock(TOP)
+ entry:DockMargin(0, 1, 5, 2)
+ entry:SetTooltip(config.desc)
+ entry.shown = true
+ entry.name = name
+ entry.config = config
+
+ table.insert(self.entries, entry)
+ end
+ panel:SizeToChildren(false, true)
+
+ table.insert(self.categories, panel)
+ end
+end
+
+local function requestReset(panel)
+ if panel.name and panel.config then
+ -- a query to reset config to default
+ Derma_Query("Reset " .. panel.name .. " to default? ("..tostring(panel.config.default)..")", "Reset Config", "Yes", function()
+ netstream.Start("cfgSet", panel.name, panel.config.default or nil)
+ if panel.SetValue then panel:SetValue(panel.config.default) end
+ end, "No")
+ end
+ if panel:GetParent() then
+ requestReset(panel:GetParent())
+ end
+end
+
+hook.Add("VGUIMousePressed", "nutConfigReset", function(panel, code)
+ -- if the panel or any children, recursively, have .name and .config, reset it to default
+ if code == MOUSE_RIGHT then requestReset(panel) end
+end)
+
+local animTime = 0.3
+
+function PANEL:filterConfigs(filter)
+ filter = filter:lower()
+ for _, entry in ipairs(self.entries) do
+ if not (entry.wide and entry.tall) then
+ entry.wide, entry.tall = entry:GetSize()
+ end
+ local text = entry.name:lower()
+ local category = entry.config.data.category:lower()
+ local description = entry.config.desc:lower()
+
+ if filter == "" or string.find(text, filter) or string.find(category, filter) or string.find(description, filter) then
+ if not entry.shown then
+ entry:SetVisible(true)
+ entry.shown = true
+ entry:SizeTo(entry.wide, entry.tall, animTime, 0, -1, function()
+
+ end)
+ end
+ else
+ if entry.shown then
+ entry:SizeTo(entry.wide, 0, animTime, 0, -1, function()
+ entry:SetVisible(false)
+ entry.shown = false
+ end)
+ end
+ end
+ end
+end
+
+function PANEL:Think()
+ for _, category in ipairs(self.categories) do
+ local shown = false
+
+ for _, entry in ipairs(self.entries) do
+ if entry.shown and entry.config.data.category:lower() == category.category:lower() then
+ shown = true
+ break
+ end
+ end
+
+ if shown then
+ category:SetVisible(true)
+ category:SizeToChildren(false, true)
+ else
+ category:SetVisible(false)
+ category:SetTall(0)
+ end
+ end
+ self.scroll:InvalidateLayout(true)
+ self.scroll:SizeToChildren(false, true)
+end
+
+function PANEL:Paint() end
+
+vgui.Register("NutConfigListPanel", PANEL, "DPanel")
+
+-- the master panel, containing the left and center panels
+PANEL = {}
+
+function PANEL:Init()
+ if nut.gui.config then
+ nut.gui.config:Remove()
+ end
+
+ nut.gui.config = self
+
+ self:InvalidateLayout(true)
+end
+
+function PANEL:ClearConfigs()
+ if self.scroll then self.scroll:Clear() end
+end
+
+function PANEL:AddElements()
+ --self.selectPanel = self:Add("NutConfigSelectPanel")
+ self.configListPanel = self:Add("NutConfigListPanel")
+end
+
+local sin = math.sin
+
+function PANEL:Paint(w, h)
+ local colorR, colorG, colorB = nut.config.get("color"):Unpack()
+ local backgroundR, backgroundG, backgroundB = nut.config.get("colorBackground"):Unpack()
+ nut.util.drawBlur(self, 10)
+
+ if not self.startTime then self.startTime = CurTime() end
+
+ local curTime = (self.startTime - CurTime())/4
+ local alpha = 200 * ((sin(curTime - 1.8719) + sin(curTime - 1.8719/2))/4 + 0.44)
+
+ surface.SetDrawColor(colorR, colorG, colorB, alpha)
+ surface.DrawRect(0, 0, w, h)
+
+ surface.SetDrawColor(backgroundR, backgroundG, backgroundB, 255)
+ surface.SetMaterial(gradientD)
+ surface.DrawTexturedRect(0, 0, w, h)
+ surface.SetMaterial(gradientR)
+ surface.DrawTexturedRect(0, 0, w, h)
+
+--[[ local WebMaterial = surface.GetURL("https://i.redd.it/9tgk6up2ltb11.jpg", w, h)
+ surface.SetDrawColor( 255, 255, 255, 255 )
+ surface.SetMaterial( WebMaterial )
+ surface.DrawTexturedRect( 0, 0, WebMaterial:Width(), WebMaterial:Height() ) ]]
+ --lmao
+end
+
+vgui.Register("NutConfigPanel", PANEL, "DPanel")
diff --git a/gamemode/core/derma/cl_dev_icon.lua b/gamemode/core/derma/cl_dev_icon.lua
index 70ad2d82..46e072fa 100644
--- a/gamemode/core/derma/cl_dev_icon.lua
+++ b/gamemode/core/derma/cl_dev_icon.lua
@@ -9,7 +9,7 @@ ICON_INFO.h = ICON_INFO.h or 1
ICON_INFO.modelAng = ICON_INFO.modelAng or Angle()
ICON_INFO.modelName = ICON_INFO.modelName or "models/Items/grenadeAmmo.mdl"
ICON_INFO.outline = ICON_INFO.outline or false
-ICON_INFO.outlineColor = ICON_INFO.outlineColor or Color(255, 255, 255)
+ICON_INFO.outlineColor = ICON_INFO.outlineColor or color_white
local vTxt = "xyz"
local aTxt = "pyr"
@@ -87,7 +87,7 @@ function PANEL:Init()
local exIcon = ikon:getIcon("iconEditor")
if (exIcon) then
surface.SetMaterial(exIcon)
- surface.SetDrawColor(color_white)
+ surface.SetDrawColor(255, 255, 255)
surface.DrawTexturedRect(0, 0, x, y)
end
end
@@ -500,7 +500,7 @@ end
function PANEL:AddText(str)
local label = self.list:Add("DLabel")
label:SetFont("ChatFont")
- label:SetTextColor(color_white)
+ label:SetTextColor(nut.config.get("colorText", color_white))
label:Dock(TOP)
label:DockMargin(5, 5, 5, 0)
label:SetContentAlignment(5)
diff --git a/gamemode/core/derma/cl_inventory.lua b/gamemode/core/derma/cl_inventory.lua
index 97c2b1b9..42611b82 100644
--- a/gamemode/core/derma/cl_inventory.lua
+++ b/gamemode/core/derma/cl_inventory.lua
@@ -153,7 +153,13 @@ local buildActionFunc = function(action, actionIndex, itemTable, invID, sub)
end
end
+local function nutDermaMenu(parentmenu, parent)
+ if ( not parentmenu ) then CloseDermaMenus() end
+ local dmenu = vgui.Create( "nutDMenu", parent )
+
+ return dmenu
+end
function PANEL:openActionMenu()
local itemTable = self.itemTable
@@ -161,7 +167,7 @@ function PANEL:openActionMenu()
assert(itemTable, "attempt to open action menu for invalid item")
itemTable.player = LocalPlayer()
- local menu = DermaMenu()
+ local menu = nutDermaMenu()
local override = hook.Run("OnCreateItemInteractionMenu", self, menu, itemTable)
if (override) then
if (IsValid(menu)) then
@@ -196,7 +202,11 @@ function PANEL:openActionMenu()
end
end
- menu:Open()
+ menu:Open(self:LocalToScreen(self:GetWide(), 0))
+ -- position menu to be on the right of the icon
+ --[[ local x = self:LocalToScreen(self:GetWide(), 0)
+ menu:SetX(x) ]]
+
itemTable.player = nil
end
@@ -295,3 +305,231 @@ hook.Add("CreateMenuButtons", "nutInventory", function(tabs)
end)
end
end)
+
+PANEL = {}
+
+function PANEL:Open( x, y, skipanimation, ownerpanel )
+
+ RegisterDermaMenuForClose( self )
+
+ local maunal = x and y
+
+ x = x or gui.MouseX()
+ y = y or gui.MouseY()
+
+ local OwnerHeight = 0
+ local OwnerWidth = 0
+
+ if ( ownerpanel ) then
+ OwnerWidth, OwnerHeight = ownerpanel:GetSize()
+ end
+
+ self:InvalidateLayout( true )
+
+ local w = self:GetWide()
+ local h = self:GetTall()
+
+
+ self:SetSize(0,0 )
+
+ if ( y + h > ScrH() ) then y = ( ( maunal and ScrH() ) or ( y + OwnerHeight ) ) - h end
+ if ( x + w > ScrW() ) then x = ( ( maunal and ScrW() ) or x ) - w end
+ if ( y < 1 ) then y = 1 end
+ if ( x < 1 ) then x = 1 end
+
+ local p = self:GetParent()
+ if ( IsValid( p ) and p:IsModal() ) then
+ -- Can't popup while we are parented to a modal panel
+ -- We will end up behind the modal panel in that case
+
+ x, y = p:ScreenToLocal( x, y )
+
+ -- We have to reclamp the values
+ if ( y + h > p:GetTall() ) then y = p:GetTall() - h end
+ if ( x + w > p:GetWide() ) then x = p:GetWide() - w end
+ if ( y < 1 ) then y = 1 end
+ if ( x < 1 ) then x = 1 end
+
+ self:SetPos( x, y )
+ else
+ self:SetPos( x, y )
+
+ -- Popup!
+ self:MakePopup()
+ end
+
+ -- Make sure it's visible!
+ self:SetVisible( true )
+
+ -- Keep the mouse active while the menu is visible.
+ self:SetKeyboardInputEnabled( false )
+
+end
+
+function PANEL:PerformLayout( w, h )
+
+ w = self:GetMinimumWidth()
+
+ -- Find the widest one
+ for k, pnl in ipairs( self:GetCanvas():GetChildren() ) do
+
+ pnl:InvalidateLayout( true )
+ w = math.max( w, pnl:GetWide() )
+
+ end
+
+ if self.animComplete then self:SetWide( w ) end
+
+ local y = 0 -- for padding
+
+ for k, pnl in ipairs( self:GetCanvas():GetChildren() ) do
+
+ pnl:SetWide( w )
+ pnl:SetPos( 0, y )
+ pnl:InvalidateLayout( true )
+
+ y = y + pnl:GetTall()
+
+ end
+
+ y = math.min( y, self:GetMaxHeight() )
+
+ if self.animComplete then self:SetTall( y ) end
+
+ if not self.animComplete and not self.animStarted then
+ self.animStarted = true
+ self:SetSize(0,0)
+ self:SizeTo(w, 10, 0.1, 0, -1, function()
+ self:SizeTo(w, y, 0.2, 0, 0.9, function()
+ self.animComplete = true
+ end)
+ end)
+ end
+
+ derma.SkinHook( "Layout", "Menu", self )
+ DScrollPanel.PerformLayout( self, w, h )
+
+ if not self.animComplete then
+ self:GetVBar():SetWide(0)
+ end
+end
+
+local gradientL = nut.util.getMaterial("vgui/gradient-l")
+local gradientR = nut.util.getMaterial("vgui/gradient-r")
+local gradientD = nut.util.getMaterial("vgui/gradient-d")
+local testGradient = nut.util.getMaterial("vgui/gradient_down")
+
+--[[ function PANEL:Paint(w, h)
+ local r, g ,b = nut.config.get("color"):Unpack()
+
+ surface.SetDrawColor(r, g, b, 255)
+ surface.DrawRect(0, 0, w, h)
+
+ surface.SetDrawColor(0, 0, 0, 255)
+ surface.SetMaterial(gradientR)
+ surface.DrawTexturedRect(0, 0, w, h)
+ surface.SetMaterial(gradientD)
+ surface.DrawTexturedRect(0, 0, w, h)
+end ]]
+
+function PANEL:AddOption( strText, funcFunction )
+
+ local pnl = vgui.Create( "nutDMenuOption", self )
+ pnl:SetMenu( self )
+ pnl:SetText( strText )
+ if ( funcFunction ) then pnl.DoClick = funcFunction end
+
+ self:AddPanel( pnl )
+
+ return pnl
+
+end
+
+function PANEL:AddSubMenu( strText, funcFunction )
+
+ local pnl = vgui.Create( "nutDMenuOption", self )
+ local SubMenu = pnl:AddSubMenu( strText, funcFunction )
+
+ pnl:SetText( strText )
+ if ( funcFunction ) then pnl.DoClick = funcFunction end
+
+ self:AddPanel( pnl )
+
+ return SubMenu, pnl
+
+end
+
+vgui.Register("nutDMenu", PANEL, "DMenu")
+
+--remake DMenuOption as nutDMenuOption, so we can use nutDMenuOption in nutDMenu. Make the panel bigger
+PANEL = {}
+
+function PANEL:Init()
+
+ self:SetContentAlignment( 4 )
+ self:SetTextInset( 32, 0 ) -- Room for icon on left
+ self:SetContentAlignment(5)
+ self:SetChecked( false )
+ self:SetFont("nutSmallFont")
+end
+
+function PANEL:PerformLayout( w, h )
+
+ self:SizeToContents()
+ self:SetWide( self:GetWide() + 30 )
+
+ local w = math.max( self:GetParent():GetWide(), self:GetWide() )
+
+ surface.SetFont( self:GetFont() )
+ local _, y = surface.GetTextSize( "W" )
+ self:SetSize( w, y + 5)
+
+ if ( IsValid( self.SubMenuArrow ) ) then
+
+ self.SubMenuArrow:SetSize( 15, 15 )
+ self.SubMenuArrow:CenterVertical()
+ self.SubMenuArrow:AlignRight( 4 )
+
+ end
+
+ DButton.PerformLayout( self, w, h )
+
+end
+
+local glow = nut.util.getMaterial("particle/Particle_Glow_04_Additive")
+
+--[[ function PANEL:Paint(w, h)
+ local r, g, b = nut.config.get("color"):Unpack()
+
+ local alpha = 0
+ -- if hovered, alpha is 100, if selected alpha is 255
+ if (self.Hovered) then
+
+ alpha = 200
+
+ elseif (self:GetChecked()) then
+ alpha = 150
+ end
+
+ surface.SetDrawColor(r, g, b, alpha)
+ surface.SetMaterial(gradientR)
+ surface.DrawTexturedRect(0, 0, w/2, h)
+ surface.DrawRect(0, 0, w, h)
+ surface.SetMaterial(glow)
+ surface.DrawTexturedRect(-w*0.25, 0, w*1.5, h*2.5)
+end ]]
+
+function PANEL:AddSubMenu()
+
+ local SubMenu = nutDermaMenu( true, self )
+ SubMenu:SetVisible( false )
+ SubMenu:SetParent( self )
+
+ self:SetSubMenu( SubMenu )
+
+ return SubMenu
+
+end
+
+
+vgui.Register("nutDMenuOption", PANEL, "DMenuOption")
\ No newline at end of file
diff --git a/gamemode/core/derma/cl_quick.lua b/gamemode/core/derma/cl_quick.lua
index 0a8f5cfc..30782cb7 100644
--- a/gamemode/core/derma/cl_quick.lua
+++ b/gamemode/core/derma/cl_quick.lua
@@ -1,4 +1,12 @@
local PANEL = {}
+local color_offWhite = Color(250, 250, 250)
+local color_blackTransparent = Color(0,0,0,175)
+local color_blackTransparent2 = Color(0,0,0,150)
+
+local gradientD = nut.util.getMaterial("vgui/gradient-d")
+local gradientR = nut.util.getMaterial("vgui/gradient-r")
+local gradientL = nut.util.getMaterial("vgui/gradient-l")
+
function PANEL:Init()
if (IsValid(nut.gui.quick)) then
nut.gui.quick:Remove()
@@ -19,8 +27,8 @@ function PANEL:Init()
self.title:SetText(L"quickSettings")
self.title:SetContentAlignment(4)
self.title:SetTextInset(44, 0)
- self.title:SetTextColor(Color(250, 250, 250))
- self.title:SetExpensiveShadow(1, Color(0, 0, 0, 175))
+ self.title:SetTextColor(nut.config.get("colorText", color_white))
+ self.title:SetExpensiveShadow(1, color_blackTransparent)
self.title.Paint = function(this, w, h)
surface.SetDrawColor(nut.config.get("color"))
surface.DrawRect(0, 0, w, h)
@@ -31,8 +39,8 @@ function PANEL:Init()
self.expand:SetText("`")
self.expand:SetFont("nutIconsMedium")
self.expand:SetPaintBackground(false)
- self.expand:SetTextColor(color_white)
- self.expand:SetExpensiveShadow(1, Color(0, 0, 0, 150))
+ self.expand:SetTextColor(nut.config.get("colorText", color_white))
+ self.expand:SetExpensiveShadow(1, color_blackTransparent2)
self.expand:SetSize(36, 36)
self.expand.DoClick = function(this)
if (self.expanded) then
@@ -71,16 +79,54 @@ function PANEL:Init()
end
local function paintButton(button, w, h)
- local alpha = 0
+ local r, g, b = nut.config.get("color"):Unpack()
+ local alpha = 100
if (button.Depressed or button.m_bSelected) then
- alpha = 5
+ alpha = 255
elseif (button.Hovered) then
- alpha = 2
+ alpha = 200
end
- surface.SetDrawColor(255, 255, 255, alpha)
- surface.DrawRect(0, 0, w, h)
+--[[ surface.SetDrawColor(255, 255, 255, alpha)
+ surface.DrawRect(0, 0, w, h) ]]
+ surface.SetDrawColor(r, g, b, alpha)
+
+ surface.SetMaterial(gradientR)
+ surface.DrawTexturedRect(0, 0, w/2, h)
+ surface.SetMaterial(gradientL)
+ surface.DrawTexturedRect(w/2, 0, w/2, h)
+end
+
+local categoryDoClick = function(this)
+ this.expanded = not this.expanded
+ local items = nut.gui.quick.items
+ local index = table.KeyFromValue(items, this)
+ for i = index + 1, #items do
+ if items[i].categoryLabel then
+ break
+ end
+ if not items[i].h then
+ items[i].w, items[i].h = items[i]:GetSize()
+ end
+
+ items[i]:SizeTo(items[i].w, this.expanded and (items[i].h or 36) or 0, 0.15)
+ end
+end
+
+function PANEL:addCategory(text)
+ local label = self:addButton(text, categoryDoClick)
+ label.categoryLabel = true
+ label.expanded = true
+ label:SetText(text)
+ label:SetTall(36)
+ label:Dock(TOP)
+ label:DockMargin(0, 1, 0, 0)
+ label:SetFont("nutMediumFont")
+ label:SetTextColor(nut.config.get("colorText", color_white))
+ label:SetExpensiveShadow(1, color_blackTransparent2)
+ label:SetContentAlignment(5)
+ label.Paint = function() end
end
function PANEL:addButton(text, callback)
@@ -90,10 +136,10 @@ function PANEL:addButton(text, callback)
button:Dock(TOP)
button:DockMargin(0, 1, 0, 0)
button:SetFont("nutMediumLightFont")
- button:SetExpensiveShadow(1, Color(0, 0, 0, 150))
+ button:SetExpensiveShadow(1, color_blackTransparent2)
button:SetContentAlignment(4)
button:SetTextInset(8, 0)
- button:SetTextColor(color_white)
+ button:SetTextColor(nut.config.get("colorText", color_white))
button.Paint = paintButton
if (callback) then
@@ -133,11 +179,11 @@ function PANEL:addSlider(text, callback, value, min, max, decimal)
slider:SetValue(value or 0)
slider.Label:SetFont("nutMediumLightFont")
- slider.Label:SetTextColor(color_white)
+ slider.Label:SetTextColor(nut.config.get("colorText", color_white))
local textEntry = slider:GetTextArea()
textEntry:SetFont("nutMediumLightFont")
- textEntry:SetTextColor(color_white)
+ textEntry:SetTextColor(nut.config.get("colorText", color_white))
if (callback) then
slider.OnValueChanged = function(this, value)
@@ -148,6 +194,8 @@ function PANEL:addSlider(text, callback, value, min, max, decimal)
self.items[#self.items + 1] = slider
+ slider.Paint = paintButton
+
return slider
end
@@ -185,12 +233,14 @@ function PANEL:setIcon(char)
end
function PANEL:Paint(w, h)
+ surface.SetDrawColor(0, 0, 0, 200)
+ surface.DrawRect(0, 0, w, h)
nut.util.drawBlur(self)
surface.SetDrawColor(nut.config.get("color"))
surface.DrawRect(0, 0, w, 36)
- surface.SetDrawColor(255, 255, 255, 5)
- surface.DrawRect(0, 0, w, h)
+ --[[ surface.SetDrawColor(255, 255, 255, 5)
+ surface.DrawRect(0, 0, w, h) ]]
end
-vgui.Register("nutQuick", PANEL, "EditablePanel")
+vgui.Register("nutQuick", PANEL, "EditablePanel")
\ No newline at end of file
diff --git a/gamemode/core/derma/cl_spawnicon.lua b/gamemode/core/derma/cl_spawnicon.lua
index b76889b3..d8487c10 100644
--- a/gamemode/core/derma/cl_spawnicon.lua
+++ b/gamemode/core/derma/cl_spawnicon.lua
@@ -28,14 +28,17 @@ local setSequence = function(entity)
entity:ResetSequence(4)
end
+local color_grey = Color(155, 155 ,155)
+local color_darkgrey = Color(20, 20, 20)
+
function PANEL:Init()
self:setHidden(false)
for i = 0, 5 do
if (i == 1 or i == 5) then
- self:SetDirectionalLight(i, Color(155, 155, 155))
+ self:SetDirectionalLight(i, color_grey)
else
- self:SetDirectionalLight(i, Color(255, 255, 255))
+ self:SetDirectionalLight(i, color_white)
end
end
@@ -66,21 +69,21 @@ end
function PANEL:setHidden(hidden)
if (hidden) then
self:SetAmbientLight(color_black)
- self:SetColor(Color(0, 0, 0))
+ self:SetColor(color_black)
for i = 0, 5 do
self:SetDirectionalLight(i, color_black)
end
else
- self:SetAmbientLight(Color(20, 20, 20))
+ self:SetAmbientLight(color_darkgrey)
self:SetAlpha(255)
- self:SetColor(Color(255, 255, 255))
+ self:SetColor(color_white)
for i = 0, 5 do
if (i == 1 or i == 5) then
- self:SetDirectionalLight(i, Color(155, 155, 155))
+ self:SetDirectionalLight(i, color_grey)
else
- self:SetDirectionalLight(i, Color(255, 255, 255))
+ self:SetDirectionalLight(i, color_white)
end
end
end
diff --git a/gamemode/core/derma/cl_tooltip.lua b/gamemode/core/derma/cl_tooltip.lua
index ba4d460c..90506e61 100644
--- a/gamemode/core/derma/cl_tooltip.lua
+++ b/gamemode/core/derma/cl_tooltip.lua
@@ -15,11 +15,21 @@ hook.Add("TooltipInitialize", "nutItemTooltip", function(self, panel)
end
end)
+local gradientL = nut.util.getMaterial("vgui/gradient-l")
+local gradientR = nut.util.getMaterial("vgui/gradient-r")
+
hook.Add("TooltipPaint", "nutItemTooltip", function(self, w, h)
if (self.isItemTooltip) then
nut.util.drawBlur(self, 2, 2)
- surface.SetDrawColor(0, 0, 0, 230)
- surface.DrawRect(0, 0, w, h)
+ --[[ surface.SetDrawColor(0, 0, 0, 230)
+ surface.DrawRect(0, 0, w, h) ]]
+
+ local r, g, b = nut.config.get("color"):Unpack()
+ surface.SetDrawColor(r, g, b, 255)
+ surface.SetMaterial(gradientR)
+ surface.DrawTexturedRect(0, 0, w/2, h)
+ surface.SetMaterial(gradientL)
+ surface.DrawTexturedRect(w/2, 0, w/2, h)
if (self.markupObject) then
self.markupObject:draw(PADDING_HALF, PADDING_HALF + 2)
diff --git a/gamemode/core/hooks/cl_hooks.lua b/gamemode/core/hooks/cl_hooks.lua
index df74f9c3..56f4b981 100644
--- a/gamemode/core/hooks/cl_hooks.lua
+++ b/gamemode/core/hooks/cl_hooks.lua
@@ -1,5 +1,6 @@
-function GM:LoadNutFonts(font, genericFont)
- local oldFont, oldGenericFont = font, genericFont
+function GM:LoadNutFonts(font, genericFont, configFont)
+ local oldFont, oldGenericFont, oldConfigFont = font, genericFont, configFont
+
local scale = math.Round(nut.config.get("fontScale", 1), 2)
surface.CreateFont("nut3D2DFont", {
font = font,
@@ -218,9 +219,34 @@ function GM:LoadNutFonts(font, genericFont)
antialias = true
})
- hook.Run("LoadFonts", oldFont, oldGenericFont)
+ --config fonts
+ surface.CreateFont("nutConfigFont", {
+ font = configFont,
+ size = 22,
+ weight = 500,
+ extended = true,
+ antialias = true
+ })
+
+ surface.CreateFont("nutMediumConfigFont", {
+ font = configFont,
+ size = 25 * scale,
+ extended = true,
+ weight = 1000
+ })
+
+ surface.CreateFont("nutSmallConfigFont", {
+ font = configFont,
+ size = math.max(ScreenScale(6), 17) * scale,
+ extended = true,
+ weight = 500
+ })
+
+ hook.Run("LoadFonts", oldFont, oldGenericFont, oldConfigFont)
end
+local color_offRed = Color(255, 50, 50)
+
function GM:CreateLoadingScreen()
if (IsValid(nut.gui.loading)) then
nut.gui.loading:Remove()
@@ -239,7 +265,7 @@ function GM:CreateLoadingScreen()
label:SetText(L"loading")
label:SetFont("nutNoticeFont")
label:SetContentAlignment(5)
- label:SetTextColor(color_white)
+ label:SetTextColor(nut.config.get("colorText", color_white))
label:InvalidateLayout(true)
label:SizeToContents()
@@ -257,7 +283,7 @@ function GM:CreateLoadingScreen()
label:SetText(fault)
label:SetContentAlignment(5)
label:SizeToContentsY()
- label:SetTextColor(Color(255, 50, 50))
+ label:SetTextColor(color_offRed)
end
end
end)
@@ -273,7 +299,8 @@ function GM:InitializedConfig()
hook.Run(
"LoadNutFonts",
nut.config.get("font"),
- nut.config.get("genericFont")
+ nut.config.get("genericFont"),
+ nut.config.get("configFont")
)
if (not nut.config.loaded) then
@@ -282,6 +309,8 @@ function GM:InitializedConfig()
end
nut.config.loaded = true
end
+
+ hook.Run("nutUpdateColors")
end
function GM:CharacterListLoaded()
@@ -476,6 +505,8 @@ end
function GM:SetupQuickMenu(menu)
-- Performance
+ menu:addCategory("Performance")
+
menu:addCheck(L"cheapBlur", function(panel, state)
if (state) then
RunConsoleCommand("nut_cheapblur", "1")
@@ -485,6 +516,7 @@ function GM:SetupQuickMenu(menu)
end, NUT_CVAR_CHEAP:GetBool())
-- Language settings
+ menu:addCategory("Language Settings")
menu:addSpacer()
local current
@@ -532,7 +564,8 @@ function GM:ScreenResolutionChanged(oldW, oldH)
hook.Run(
"LoadNutFonts",
nut.config.get("font"),
- nut.config.get("genericFont")
+ nut.config.get("genericFont"),
+ nut.config.get("configFont")
)
end
diff --git a/gamemode/core/hooks/sv_hooks.lua b/gamemode/core/hooks/sv_hooks.lua
index 402a2bee..f899ecfb 100644
--- a/gamemode/core/hooks/sv_hooks.lua
+++ b/gamemode/core/hooks/sv_hooks.lua
@@ -250,7 +250,6 @@ end
function GM:PlayerSay(client, message)
local chatType, message, anonymous = nut.chat.parse(client, message, true)
-
if (chatType == "ic") and (nut.command.parse(client, message)) then
return ""
end
diff --git a/gamemode/core/libs/cl_easyicons.lua b/gamemode/core/libs/cl_easyicons.lua
new file mode 100644
index 00000000..e85bb118
--- /dev/null
+++ b/gamemode/core/libs/cl_easyicons.lua
@@ -0,0 +1,32 @@
+NS_ICON_FONT = nil
+
+local function ScrapPage()
+ local d = deferred.new()
+
+ http.Fetch('https://dobytchick.github.io/', function(resp)
+ local headpos = select(2, resp:find('
'))
+ local body = resp:sub(headpos)
+ local scrapped = {}
+
+ for str in body:gmatch('(icon-%S+);') do
+ local whitespaced = str:gsub('">', ' ')
+ local nulled = whitespaced:gsub('', '0')
+
+ local splitted = nulled:Split(' ')
+ scrapped[splitted[1]] = splitted[2]
+ end
+
+ d:resolve(scrapped)
+ end)
+
+ return d
+end
+
+ScrapPage():next(function(scrapped)
+ NS_ICON_FONT = scrapped
+ hook.Run("EasyIconsLoaded")
+end)
+
+function getIcon(sIcon, bIsCode)
+ return not bIsCode and utf8.char(tonumber(NS_ICON_FONT[sIcon])) or utf8.char(tonumber(sIcon))
+end
\ No newline at end of file
diff --git a/gamemode/core/libs/cl_playerinteract.lua b/gamemode/core/libs/cl_playerinteract.lua
index 53913228..2360136f 100644
--- a/gamemode/core/libs/cl_playerinteract.lua
+++ b/gamemode/core/libs/cl_playerinteract.lua
@@ -99,6 +99,8 @@ end
local scrW = ScrW()
local scrH = ScrH()
+local color_blackTransparent = Color(0,0,0, 150)
+local color_whiteTransparent = Color(255, 255, 255 ,120)
hook.Add("HUDPaint", "nut.playerInteract", function()
if (!isInteracting and interfaceScale < 0) then return end
@@ -125,10 +127,10 @@ hook.Add("HUDPaint", "nut.playerInteract", function()
nut.util.drawBlurAt(loadingCentreX - (loadingMaxW / 2), loadingCentreY, loadingMaxW, loadingH)
- surface.SetDrawColor(Color(0, 0, 0, 150))
+ surface.SetDrawColor(color_blackTransparent)
surface.DrawRect(loadingCentreX - (loadingMaxW / 2), loadingCentreY, loadingMaxW, loadingH, 1)
- surface.SetDrawColor(255, 255, 255, 120)
+ surface.SetDrawColor(color_whiteTransparent)
surface.DrawOutlinedRect(loadingCentreX - (loadingMaxW / 2) + 1, loadingCentreY + 1, loadingMaxW - 2, loadingH - 2)
surface.SetDrawColor(color_white)
diff --git a/gamemode/core/libs/sh_chatbox.lua b/gamemode/core/libs/sh_chatbox.lua
index f777a217..73872d06 100644
--- a/gamemode/core/libs/sh_chatbox.lua
+++ b/gamemode/core/libs/sh_chatbox.lua
@@ -12,6 +12,8 @@ function nut.chat.timestamp(ooc)
return nut.config.get("chatShowTime") and (ooc and " " or "") .. "(" .. nut.date.getFormatted("%H:%M") .. ")" .. (ooc and "" or " ") or ""
end
+local color_yellow = Color(242, 230, 160)
+
-- Registers a new chat type with the information provided.
function nut.chat.register(chatType, data)
if (not data.onCanHear) then
@@ -63,7 +65,7 @@ function nut.chat.register(chatType, data)
end
-- Chat text color.
- data.color = data.color or Color(242, 230, 160)
+ data.color = data.color or color_yellow
if (not data.onChatAdd) then
data.format = data.format or "%s: \"%s\""
@@ -180,7 +182,6 @@ if (SERVER) then
return
end
end
-
netstream.Start(receivers, "cMsg", speaker, chatType, hook.Run("PlayerMessageSend", speaker, chatType, text, anonymous, receivers) or text, anonymous)
end
end
@@ -281,6 +282,8 @@ do
prefix = {"/y", "/yell"}
})
+ local color_offRed = Color(255, 50, 50)
+
-- Out of character.
nut.chat.register("ooc", {
onCanSay = function(speaker, text)
@@ -335,7 +338,7 @@ do
end
icon = Material(hook.Run("GetPlayerIcon", speaker) or icon)
- chat.AddText(icon, nut.chat.timestamp(true), Color(255, 50, 50), " [OOC] ", speaker, color_white, ": " .. text)
+ chat.AddText(icon, nut.chat.timestamp(true), color_offRed, " [OOC] ", speaker, color_white, ": " .. text)
end,
prefix = {"//", "/ooc"},
noSpaceAfter = true,
@@ -366,7 +369,7 @@ do
if (nut.config.get("oocLimit", 0) ~= 0) and (#text > nut.config.get("oocLimit", 0)) then
text = string.sub(text, 1, nut.config.get("oocLimit", 0)) .. "..."
end
- chat.AddText(nut.chat.timestamp(false), Color(255, 50, 50), "[LOOC] ", nut.config.get("chatColor"), speaker:Name() .. ": " .. text)
+ chat.AddText(nut.chat.timestamp(false), color_offRed, "[LOOC] ", nut.config.get("chatColor"), speaker:Name() .. ": " .. text)
end,
radius = function()
return nut.config.get("chatRange", 280)
@@ -396,13 +399,15 @@ nut.chat.register("pm", {
deadCanChat = true
})
+local color_orange = Color(255, 150, 0)
+
-- Global events.
nut.chat.register("event", {
onCanSay = function(speaker, text)
return speaker:IsAdmin()
end,
onChatAdd = function(speaker, text)
- chat.AddText(nut.chat.timestamp(false), Color(255, 150, 0), text)
+ chat.AddText(nut.chat.timestamp(false), color_orange, text)
end,
prefix = {"/event"}
})
diff --git a/gamemode/core/libs/sv_database.lua b/gamemode/core/libs/sv_database.lua
index 1e374b42..3b912059 100644
--- a/gamemode/core/libs/sv_database.lua
+++ b/gamemode/core/libs/sv_database.lua
@@ -1,14 +1,16 @@
nut.db = nut.db or {}
nut.db.queryQueue = nut.db.queue or {}
+local color_red = Color(255, 0, 0)
+
local function ThrowQueryFault(query, fault)
- MsgC(Color(255, 0, 0), "* "..query.."\n")
- MsgC(Color(255, 0, 0), fault.."\n")
+ MsgC(color_red, "* "..query.."\n")
+ MsgC(color_red, fault.."\n")
end
local function ThrowConnectionFault(fault)
- MsgC(Color(255, 0, 0), "NutScript has failed to connect to the database.\n")
- MsgC(Color(255, 0, 0), fault.."\n")
+ MsgC(color_red, "NutScript has failed to connect to the database.\n")
+ MsgC(color_red, fault.."\n")
setNetVar("dbError", fault)
end
@@ -202,10 +204,9 @@ modules.mysqloo = {
if (not pcall(require, "mysqloo")) then
return setNetVar("dbError", system.IsWindows() and "Server is missing VC++ redistributables! " or "Server is missing binaries for mysqloo! ")
end
-
if (mysqloo.VERSION ~= "9" or not mysqloo.MINOR_VERSION or tonumber(mysqloo.MINOR_VERSION) < 1) then
- MsgC(Color(255, 0, 0), "You are using an outdated mysqloo version\n")
- MsgC(Color(255, 0, 0), "Download the latest mysqloo9 from here\n")
+ MsgC(color_red, "You are using an outdated mysqloo version\n")
+ MsgC(color_red, "Download the latest mysqloo9 from here\n")
MsgC(Color(86, 156, 214), "https://github.com/syl0r/MySQLOO/releases")
return
end
@@ -303,7 +304,7 @@ modules.mysqloo = {
prepObj:start()
else
- MsgC(Color(255, 0, 0), "INVALID PREPARED STATEMENT : " .. key .. "\n")
+ MsgC(color_red, "INVALID PREPARED STATEMENT : " .. key .. "\n")
end
end
}
@@ -335,7 +336,15 @@ function nut.db.connect(callback, reconnect)
nut.db.escape = dbModule.escape
nut.db.query = dbModule.query
else
- ErrorNoHalt("[NutScript] '"..(nut.db.module or "nil").."' is not a valid data storage method! \n")
+ local errMessage = "[NutScript] '"..(nut.db.module or "nil").."' is not a valid data storage method!\nValid modules are:"
+
+ --loop through all the modules and add them to the error message, separated by a comma
+ for k in pairs(modules) do
+ errMessage = errMessage .. " '" .. k .. "',"
+ end
+
+ --print the error message
+ ErrorNoHalt(string.sub(errMessage, 1, -2) .. "\n")
end
end
@@ -460,7 +469,7 @@ function nut.db.wipeTables(callback)
local function realCallback()
nut.db.query("SET FOREIGN_KEY_CHECKS = 1;", function()
MsgC(
- Color(255, 0, 0),
+ color_red,
"[Nutscript] ALL NUTSCRIPT DATA HAS BEEN WIPED\n"
)
if (isfunction(callback)) then
@@ -501,11 +510,11 @@ concommand.Add("nut_recreatedb", function(client)
if (resetCalled < RealTime()) then
resetCalled = RealTime() + 3
- MsgC(Color(255, 0, 0), "[Nutscript] TO CONFIRM DATABASE RESET, RUN 'nut_recreatedb' AGAIN in 3 SECONDS.\n")
+ MsgC(color_red, "[Nutscript] TO CONFIRM DATABASE RESET, RUN 'nut_recreatedb' AGAIN in 3 SECONDS.\n")
else
resetCalled = 0
- MsgC(Color(255, 0, 0), "[Nutscript] DATABASE WIPE IN PROGRESS.\n")
+ MsgC(color_red, "[Nutscript] DATABASE WIPE IN PROGRESS.\n")
hook.Run("OnWipeTables")
nut.db.wipeTables(nut.db.loadTables)
@@ -704,7 +713,7 @@ function GM:SetupDatabase()
end
if (not nut.db.config) then
- MsgC(Color(255, 0, 0), "Database not configured.\n")
+ MsgC(color_red, "Database not configured.\n")
for k, v in pairs(defaultConfig) do
nut.db[k] = v
diff --git a/gamemode/core/sh_config.lua b/gamemode/core/sh_config.lua
index 93271763..25f2df63 100644
--- a/gamemode/core/sh_config.lua
+++ b/gamemode/core/sh_config.lua
@@ -4,8 +4,14 @@ nut.config.stored = nut.config.stored or {}
function nut.config.add(key, value, desc, callback, data, noNetworking, schemaOnly)
assert(isstring(key), "expected config key to be string, got " .. type(key))
local oldConfig = nut.config.stored[key]
+ local savedValue
+ if (oldConfig) then
+ savedValue = oldConfig.value
+ else
+ savedValue = value
+ end
- nut.config.stored[key] = {data = data, value = oldConfig and oldConfig.value or value, default = value, desc = desc, noNetworking = noNetworking, global = not schemaOnly, callback = callback}
+ nut.config.stored[key] = {data = data, value = savedValue, default = value, desc = desc, noNetworking = noNetworking, global = not schemaOnly, callback = callback}
end
function nut.config.setDefault(key, value)
@@ -181,111 +187,145 @@ else
end
if (CLIENT) then
+ local legacyConfigMenu = CreateClientConVar("nut_legacyconfig", "0", true, true)
+
hook.Add("CreateMenuButtons", "nutConfig", function(tabs)
if (not LocalPlayer():IsSuperAdmin() or hook.Run("CanPlayerUseConfig", LocalPlayer()) == false) then
return
end
tabs["config"] = function(panel)
- local scroll = panel:Add("DScrollPanel")
- scroll:Dock(FILL)
- hook.Run("CreateConfigPanel", panel)
+ if legacyConfigMenu:GetBool() ~= true then
+ local canvas = panel:Add("DPanel")
+ canvas:Dock(FILL)
+ canvas:SetPaintBackground(false)
- local properties = scroll:Add("DProperties")
- properties:SetSize(panel:GetSize())
+ canvas:InvalidateLayout(true)
- nut.gui.properties = properties
+ local config = canvas:Add("NutConfigPanel")
+ config:SetSize(panel:GetSize())
+ config:AddElements()
+ else
+ local scroll = panel:Add("DScrollPanel")
+ scroll:Dock(FILL)
- -- We're about to store the categories in this buffer.
- local buffer = {}
+ hook.Run("CreateConfigPanel", panel)
- for k, v in pairs(nut.config.stored) do
- -- Get the category name.
- local index = v.data and v.data.category or "misc"
+ local properties = scroll:Add("DProperties")
+ properties:SetSize(panel:GetSize())
- -- Insert the config into the category list.
- buffer[index] = buffer[index] or {}
- buffer[index][k] = v
- end
+ nut.gui.properties = properties
+
+ -- We're about to store the categories in this buffer.
+ local buffer = {}
+
+ for k, v in pairs(nut.config.stored) do
+ -- Get the category name.
+ local index = v.data and v.data.category or "misc"
+
+ -- Insert the config into the category list.
+ buffer[index] = buffer[index] or {}
+ buffer[index][k] = v
+ end
- -- Loop through the categories in alphabetical order.
- for category, configs in SortedPairs(buffer) do
- category = L(category)
-
- -- Ditto, except we're looping through configs.
- for k, v in SortedPairs(configs) do
- -- Determine which type of panel to create.
- local form = v.data and v.data.form
- local value = nut.config.stored[k].default
-
- -- Let's see if the parameter has a form to perform some additional operations.
- if (form) then
- if (form == "Int") then
- -- math.Round can create an error without failing silently as expected if the parameter is invalid.
- -- So an alternate value is entered directly into the function and not outside of it.
- value = math.Round(nut.config.get(k) or value)
- elseif (form == "Float") then
- value = tonumber(nut.config.get(k)) or value
- elseif (form == "Boolean") then
- value = tobool(nut.config.get(k)) or value
+ -- Loop through the categories in alphabetical order.
+ for category, configs in SortedPairs(buffer) do
+ category = L(category)
+
+ -- Ditto, except we're looping through configs.
+ for k, v in SortedPairs(configs) do
+ -- Determine which type of panel to create.
+ local form = v.data and v.data.form
+ local value = nut.config.stored[k].default
+
+ -- Let's see if the parameter has a form to perform some additional operations.
+ if (form) then
+ if (form == "Int") then
+ -- math.Round can create an error without failing silently as expected if the parameter is invalid.
+ -- So an alternate value is entered directly into the function and not outside of it.
+ value = math.Round(nut.config.get(k) or value)
+ elseif (form == "Float") then
+ value = tonumber(nut.config.get(k)) or value
+ elseif (form == "Boolean") then
+ value = tobool(nut.config.get(k)) or value
+ else
+ value = nut.config.get(k) or value
+ end
else
- value = nut.config.get(k) or value
+ local formType = type(value)
+
+ if (formType == "number") then
+ form = "Int"
+ value = tonumber(nut.config.get(k)) or value
+ elseif (formType == "boolean") then
+ form = "Boolean"
+ value = tobool(nut.config.get(k))
+ else
+ form = "Generic"
+ value = nut.config.get(k) or value
+ end
end
- else
- local formType = type(value)
-
- if (formType == "number") then
- form = "Int"
- value = tonumber(nut.config.get(k)) or value
- elseif (formType == "boolean") then
- form = "Boolean"
- value = tobool(nut.config.get(k))
- else
- form = "Generic"
- value = nut.config.get(k) or value
+
+ if form == "Combo" then
+ v.data.data = v.data.data or {}
+ v.data.data.text = value
+ v.data.data.values = {}
+ for niceName, optionData in pairs(v.data.options) do
+ niceName = tonumber(niceName) and optionData or niceName
+ v.data.data.values[tonumber(niceName) and optionData or niceName] = optionData
+
+ if optionData == value then
+ v.data.data.text = niceName
+ end
+ end
end
- end
- -- VectorColor currently only exists for DProperties.
- if (form == "Generic" and istable(value) and value.r and value.g and value.b) then
- -- Convert the color to a vector.
- value = Vector(value.r / 255, value.g / 255, value.b / 255)
- form = "VectorColor"
- end
+ -- VectorColor currently only exists for DProperties.
+ if (form == "Generic" and istable(value) and value.r and value.g and value.b) then
+ -- Convert the color to a vector.
+ value = Vector(value.r / 255, value.g / 255, value.b / 255)
+ form = "VectorColor"
+ end
- local delay = 1
+ local delay = 1
- if (form == "Boolean") then
- delay = 0
- end
+ if (form == "Boolean") or (form == "Combo") then
+ delay = 0
+ end
- -- Add a new row for the config to the properties.
- local row = properties:CreateRow(category, tostring(k))
- row:Setup(form, v.data and v.data.data or {})
- row:SetValue(value)
- row:SetTooltip(v.desc)
- row.DataChanged = function(this, newValue)
- timer.Create("nutCfgSend" .. k, delay, 1, function()
- if (not IsValid(row)) then
- return
- end
+ -- Add a new row for the config to the properties.
+ local row = properties:CreateRow(category, tostring(k))
+ row:Setup(form, v.data and v.data.data or {})
+ row:SetValue(value)
+ row:SetTooltip(v.desc)
+ row.DataChanged = function(this, newValue)
+ debug.Trace()
+ timer.Create("nutCfgSend" .. k, delay, 1, function()
+ if (not IsValid(row)) then
+ return
+ end
- if (form == "VectorColor") then
- local vector = Vector(newValue)
+ if (form == "VectorColor") then
+ local vector = Vector(newValue)
- newValue = Color(math.floor(vector.x * 255), math.floor(vector.y * 255), math.floor(vector.z * 255))
- elseif (form == "Int" or form == "Float") then
- newValue = tonumber(newValue)
+ newValue = Color(math.floor(vector.x * 255), math.floor(vector.y * 255), math.floor(vector.z * 255))
+ elseif (form == "Int" or form == "Float") then
+ newValue = tonumber(newValue)
- if (form == "Int") then
- newValue = math.Round(newValue)
+ if (form == "Int") then
+ newValue = math.Round(newValue)
+ end
+ elseif (form == "Boolean") then
+ newValue = tobool(newValue)
end
- elseif (form == "Boolean") then
- newValue = tobool(newValue)
- end
- netstream.Start("cfgSet", k, newValue)
- end)
+ netstream.Start("cfgSet", k, newValue)
+ end)
+ end
+
+ if form == "Combo" then
+ row.SetValue = function() end -- without this config gets set twice. idk why - Tov
+ end
end
end
end
diff --git a/gamemode/core/sh_util.lua b/gamemode/core/sh_util.lua
index 24598565..a8f95a60 100644
--- a/gamemode/core/sh_util.lua
+++ b/gamemode/core/sh_util.lua
@@ -48,18 +48,18 @@ function nut.util.includeDir(directory, fromLua, recursive)
return
end
- for k, v in pairs(files) do
+ for _, v in pairs(files) do
nut.util.include(folder .. "/" .. v)
end
- for k, v in pairs(folders) do
+ for _, v in pairs(folders) do
AddRecursive(folder .. "/" .. v)
end
end
AddRecursive((fromLua and "" or baseDir)..directory)
else
-- Find all of the files within the directory.
- for k, v in ipairs(
+ for _, v in ipairs(
file.Find((fromLua and "" or baseDir)..directory.."/*.lua", "LUA")
) do
-- Include the file from the prefix.
@@ -80,7 +80,7 @@ end
function nut.util.getAdmins(isSuper)
local admins = {}
- for k, v in ipairs(player.GetAll()) do
+ for _, v in ipairs(player.GetAll()) do
if (isSuper) then
if (v:IsSuperAdmin()) then
admins[#admins + 1] = v
@@ -113,7 +113,7 @@ function nut.util.findPlayer(identifier, allowPatterns)
identifier = string.PatternSafe(identifier)
end
- for k, v in ipairs(player.GetAll()) do
+ for _, v in ipairs(player.GetAll()) do
if (nut.util.stringMatches(v:Name(), identifier)) then
return v
end
@@ -138,7 +138,7 @@ end
function nut.util.getAllChar()
local charTable = {}
- for k, v in ipairs(player.GetAll()) do
+ for _, v in ipairs(player.GetAll()) do
if (v:getChar()) then
table.insert(charTable, v:getChar():getID())
end
@@ -233,7 +233,7 @@ do
end
if (self.nutRestrictWeps) then
- for k, v in ipairs(self.nutRestrictWeps) do
+ for _, v in ipairs(self.nutRestrictWeps) do
self:Give(v)
end
diff --git a/gamemode/init.lua b/gamemode/init.lua
index 6ad8bc1e..33ec461c 100644
--- a/gamemode/init.lua
+++ b/gamemode/init.lua
@@ -16,6 +16,9 @@ include("core/sh_util.lua")
include("core/sv_data.lua")
include("shared.lua")
+local color_green = Color(0, 255, 0)
+local color_red = Color(255, 0, 0)
+
-- Connect to the database using SQLite, mysqloo, or tmysql4.
timer.Simple(0, function()
hook.Run("SetupDatabase")
@@ -25,8 +28,8 @@ timer.Simple(0, function()
nut.db.loadTables()
nut.log.loadTables()
- MsgC(Color(0, 255, 0), "NutScript has connected to the database.\n")
- MsgC(Color(0, 255, 0), "Database Type: "..nut.db.module..".\n")
+ MsgC(color_green, "NutScript has connected to the database.\n")
+ MsgC(color_green, "Database Type: "..nut.db.module..".\n")
hook.Run("DatabaseConnected")
end)
@@ -34,8 +37,8 @@ end)
concommand.Add("nut_setowner", function(client, command, arguments)
if (!IsValid(client)) then
- MsgC(Color(255, 0, 0), "** 'nut_setowner' has been deprecated in NutScript 1.1\n")
- MsgC(Color(255, 0, 0), "** Instead, please install an admin mod and use that instead.\n")
+ MsgC(color_red, "** 'nut_setowner' has been deprecated in NutScript 1.1\n")
+ MsgC(color_red, "** Instead, please install an admin mod and use that instead.\n")
end
end)
diff --git a/gamemode/languages/sh_dutch.lua b/gamemode/languages/sh_dutch.lua
index 78a3485c..05682f66 100644
--- a/gamemode/languages/sh_dutch.lua
+++ b/gamemode/languages/sh_dutch.lua
@@ -2,159 +2,266 @@
NAME = "Nederlands"
LANGUAGE = {
- loading = "Laden",
- dbError = "Database verbinding gefaald",
- unknown = "Onbekend",
- noDesc = "Geen beschrijving beschikbaar",
- create = "Creƫer",
- createTip = "Maak een nieuw karakter aan om mee te spelen.",
- load = "Laad",
- loadTip = "Kies een eerder gemaakte karakter om mee te spelen.",
- leave = "Verlaat",
- leaveTip = "Verlaat de huidige server.",
- ["return"] = "Terug",
- returnTip = "Ga terug naar het vorige menu.",
- name = "Naam",
- desc = "Beschrijving",
- model = "Model",
- attribs = "Attributen",
- charCreateTip = "Vul de velden hieronder in en druk op 'Voltooi' om je karakter te maken.",
- invalid = "Je hebt een ongeldige %s voorzien",
- descMinLen = "Je beschrijving moet ten minste %d tekens zijn.",
- model = "Model",
- player = "Speler",
- finish = "Voltooi",
- finishTip = "Voltooi het maken van jouw karakter.",
- needModel = "Je moet een geldig 'Model' kiezen.",
- creating = "Je karakter wordt gemaakt...",
- unknownError = "Er is een onbekende fout opgetreden",
- delConfirm = "Weet je zeker dat je %s wilt verwijderen?",
- no = "Nee",
- yes = "Ja",
- itemInfo = "Naam: %s\nBeschrijving: %s",
- cloud_no_repo = "Deze opslaagplaats is niet geldig.",
- cloud_no_plugin = "Deze plugin is niet geldig.",
- inv = "Inventaris",
- plugins = "Plugins",
- author = "Auteur",
- version = "Versie",
- characters = "Karakters",
- business = "Bedrijf",
- settings = "Instellingen",
- config = "Config",
- chat = "Chat",
- appearance = "Uiterlijk",
- misc = "Gemengd",
- oocDelay = "Je moet %s seconde(n) wachten voordat je weer in OOC kan praten.",
- loocDelay = "Je moet %s seconde(n) wachten voordat je weer in LOOC kan praten.",
- usingChar = "Je bent dit karakter al aan het gebruiken.",
- notAllowed = "Sorry, Je mag dat niet doen.",
- itemNoExist = "Sorry, het item dat je hebt opgevraagd bestaat niet.",
- cmdNoExist = "Sorry, dat commando bestaat niet.",
- plyNoExist = "Sorry, Er is geen speler gevonden met die naam.",
- cfgSet = "%s heeft \"%s\" gezet tot %s.",
- drop = "Vallen",
- dropTip = "Dit laat deze item(s) vallen uit je inventaris.",
- take = "Nemen",
- takeTip = "Dit laat deze item(s) oppakken en het in je inventaris doen.",
- dTitle = "Unowned Door",
- dTitleOwned = "Purchased Door",
- dIsNotOwnable = "Deze deur kan niet gekocht worden.",
- dIsOwnable = "Je kan deze deur kopen door op 'F2' te drukken.",
- dMadeUnownable = "Je hebt deze deur niet verkoopbaar gemaakt.",
- dMadeOwnable = "Je hebt deze deur verkoopbaar gemaakt.",
- dNotAllowedToOwn = "Je mag deze deur niet bezitten.",
- dSetDisabled = "Je hebt deze deur uitgeschakeld.",
- dSetNotDisabled = "Je hebt deze deur ingeschakeld.",
- dSetParentDoor = "Je hebt deze deur als je 'Parent' deur gezet. ",
- dCanNotSetAsChild = "Je kan deze 'Parent' deur niet als een 'Child' deur zetten.",
- dAddChildDoor = "Je hebt deze deur als een 'Child' toegevoegd.",
- dRemoveChildren = "Je hebt alle 'Childs' van deze deur verwijderd.",
- dRemoveChildDoor = "Je hebt de 'Child' status van deze deur verwijderd.",
- dNoParentDoor = "Je hebt nog geen 'Parent' deur ingeschakeld.",
- dOwnedBy = "%s is de eigenaar van deze deur.",
- dConfigName = "Deuren",
- dSetFaction = "Deze deur behoort nu toe aan de %s 'faction'.",
- dRemoveFaction = "Deze deur behoort niet meer toe aan een 'faction'.",
- dNotValid = "Je kijkt niet naar een geldige deur.",
- canNotAfford = "Je kunt het je niet veroorloven om dit te kopen.",
- dPurchased = "Je hebt deze deur gekocht voor %s.",
- dSold = "Je hebt deze deur verkocht voor %s.",
- notOwner = "Je bent niet de eigenaar van dit.",
- invalidArg = "Je hebt een ongeldige waarde voor argument #%s.",
- invalidFaction = "De 'faction' die u zoekt kan niet worden gevonden.",
- flagGive = "%s heeft %s '%s' flags gegeven.",
- flagTake = "%s heeft '%s' flags van %s genomen.",
- flagNoMatch = "Je moet (de) \"%s\" Flag(s) hebben om dit te doen",
- textAdded = "Je hebt een tekst toegevoegd.",
- textRemoved = "Je hebt de %s tekst(en) verwijderd.",
- moneyTaken = "Je hebt %s gevonden.",
- businessPurchase = "Je hebt %s gekocht voor %s.",
- businessSell = "Je verkocht %s voor %s.",
- cChangeModel = "%s veranderde %s's model naar %s.",
- cChangeName = "%s veranderde %s's naam naar %s.",
- playerCharBelonging = "Dit object behoort aan je andere karakter toe.",
- business = "Bedrijf",
- invalidFaction = "Je hebt een ongeldige 'faction' voorzien",
- spawnAdd = "Je hebt een spawn toegevoegd voor de %s 'faction'.",
- spawnDeleted = "Je hebt (een) %s spawn punt(en) verwijderd.",
- someone = "Iemand",
- rgnLookingAt = "Toestaan dat de persoon waar je naar kijkt je herkent.",
- rgnWhisper = "Toestaan dat degene(n) in het fluister gebied je herkent.",
- rgnTalk = "Toestaan dat de personen in het praat gebied je herkennen.",
- rgnYell = "Toestaan dat de personen in het schreeuw gebied je herkennen.",
- icFormat = "%s zegt \"%s\"",
- rollFormat = "%s heeft %s uitgerold.",
- wFormat = "%s fluistert \"%s\"",
- yFormat = "%s schreeuwt \"%s\"",
- sbOptions = "Klik om opties over %s te zien.",
- spawnAdded = "Je hebt een spawn toegevoegd voor %s.",
- whitelist = "%s heeft %s gewhitelist voor de %s 'faction'.",
- unwhitelist = "%s heeft %s geblacklist van de %s 'faction'.",
- gettingUp = "Je staat nu op...",
- wakingUp = "Je krijgt je bewustzijn terug...",
- Weapons = "Wapens",
- checkout = "Ga naar checkout (%s)",
- purchase = "Koop",
- purchasing = "Aan het kopen...",
- success = "Succes",
- buyFailed = "De koop is gefaald!",
- buyGood = "Succesvol gekocht!",
- shipment = "Lading",
- shipmentDesc = "Deze lading behoort toe aan %s.",
- class = "Class",
- classes = "Classes",
- illegalAccess = "Illegale toegang",
- becomeClassFail = "Het is niet gelukt om %s te worden.",
- becomeClass = "Je bent %s geworden.",
- attribSet = "You set %s's %s to %s.",
- attribUpdate = "You added %s's %s by %s.",
- noFit = "Deze item(s) passen niet in je inventaris",
- help = "Hulp",
- commands = "Commando's",
- helpDefault = "Selecteer een categorie",
- doorSettings = "Deur Instellingen",
- sell = "Verkoop",
- access = "Toegang",
- locking = "Bezig deze 'Entity' opslot te zetten ...",
- unlocking = "Bezig deze 'Entity' van het slot te zetten ...",
- modelNoSeq = "Je model ondersteunt deze 'Act' niet.",
- notNow = "Je kan dat nu niet doen.",
- faceWall = "Je moet de muur aankijken om dit te doen.",
- faceWallBack = "Je moet met je rug tegen de muur staan om dit te doen",
- descChanged = "Je hebt je karakter's beschrijving veranderd.",
- charMoney = "Je hebt momenteel %s.",
- charFaction = "Je bent een lid van de %s 'faction'.",
- charClass = "Je bent %s van de 'faction'.",
- noSpace = "Inventaris is vol.",
- noOwner = "De eigenaar is niet geldig.",
- notAllowed = "Dit is niet toegestaan.",
- invalidIndex = "De Item Index is Ongeldig.",
- invalidItem = "De Item Object is Ongeldig.",
- invalidInventory = "Het inventaris object is ongeldig.",
- home = "Home",
- charKick = "%s kickde karakter %s.",
- charBan = "%s heeft karakter %s verbannen.",
- charBanned = "Deze karakter is verbannen.",
- setMoney = "Je hebt %s's geld tot %s gezet."
-}
\ No newline at end of file
+ loading = "Laden",
+ dbError = "Database verbinding mislukt",
+ unknown = "Onbekend",
+ noDesc = "Geen beschrijving beschikbaar",
+ create = "Aanmaken",
+ createTip = "Maak een nieuw personage om mee te spelen.",
+ load = "Laden",
+ loadTip = "Kies een eerder aangemaakt personage om mee te spelen.",
+ leave = "Verlaten",
+ leaveTip = "Verlaat de huidige server.",
+ ["return"] = "Terug",
+ returnTip = "Ga terug naar het vorige menu.",
+ name = "Naam",
+ desc = "Beschrijving",
+ model = "Model",
+ attribs = "Attributen",
+ charCreateTip = "Vul de velden hieronder in en klik op 'Voltooien' om je personage aan te maken.",
+ invalid = "Je hebt een ongeldige %s opgegeven",
+ descMinLen = "Je beschrijving moet minimaal %d karakter(s) bevatten.",
+ player = "Speler",
+ finish = "Voltooien",
+ finishTip = "Voltooi het aanmaken van het personage.",
+ needModel = "Je moet een geldig model kiezen",
+ creating = "Je personage wordt aangemaakt...",
+ unknownError = "Er is een onbekende fout opgetreden",
+ delConfirm = "Weet je zeker dat je %s PERMANENT wilt verwijderen?",
+ no = "Nee",
+ yes = "Ja",
+ itemInfo = "Naam: %s\nBeschrijving: %s",
+ itemCreated = "Item succesvol aangemaakt.",
+ cloud_no_repo = "Het opgegeven repository is niet geldig.",
+ cloud_no_plugin = "Het opgegeven plugin is niet geldig.",
+ inv = "Inventaris",
+ plugins = "Plugins",
+ togglePlugins = "Schakel plugins in/uit",
+ author = "Auteur",
+ version = "Versie",
+ characters = "Personages",
+ settings = "Instellingen",
+ config = "Configuratie",
+ chat = "Chat",
+ appearance = "Uiterlijk",
+ misc = "Diversen",
+ oocDelay = "Je moet nog %s seconde(n) wachten voordat je weer OOC kunt gebruiken.",
+ loocDelay = "Je moet nog %s seconde(n) wachten voordat je weer LOOC kunt gebruiken.",
+ usingChar = "Dit Personage is al in gebruik.",
+ itemNoExist = "Sorry, het gevraagde item bestaat niet.",
+ cmdNoExist = "Sorry, die opdracht bestaat niet.",
+ plyNoExist = "Sorry, er kon geen overeenkomende speler worden gevonden.",
+ cfgSet = "%s heeft \"%s\" ingesteld op %s.",
+ drop = "Neerzetten",
+ dropTip = "Zet dit item uit je inventaris.",
+ take = "Oppakken",
+ takeTip = "Pak dit item op en plaats het in je inventaris.",
+ dTitle = "Niet toegeƫigende Deur",
+ dTitleOwned = "Gekochte Deur",
+ dIsNotOwnable = "Deze deur is niet te bezitten.",
+ dIsOwnable = "Je kunt deze deur kopen door op F2 te drukken.",
+ dMadeUnownable = "Je hebt deze deur niet toekenbaar gemaakt.",
+ dMadeOwnable = "Je hebt deze deur toekenbaar gemaakt",
+ dNotAllowedToOwn = "Je mag deze deur niet bezitten.",
+ dSetDisabled = "Je hebt deze deur uitgeschakeld.",
+ dSetNotDisabled = "Je hebt deze deur Ingeschakeld.",
+ dSetHidden = "Je hebt deze deur verborgen.",
+ dSetNotHidden = "Je hebt deze deur niet langer verborgen.",
+ dSetParentDoor = "Je hebt deze deur als hoofd deur ingesteld.",
+ dCanNotSetAsChild = "Je kunt de hoofd deur niet als secundair instellen.",
+ dAddChildDoor = "Je hebt deze deur als kind toegevoegd.",
+ dRemoveChildren = "Je hebt alle secundaire van deze deur verwijderd.",
+ dRemoveChildDoor = "Je hebt deze deur verwijderd als secundaire.",
+ dNoParentDoor = "Je hebt geen ouderdeur ingesteld.",
+ dOwnedBy = "Deze deur is eigendom van %s.",
+ dConfigName = "Deuren",
+ dSetFaction = "Deze deur behoort nu tot de factie %s.",
+ dRemoveFaction = "Deze deur behoort niet langer tot een factie.",
+ dNotValid = "Je kijkt niet naar een geldige deur.",
+ canNotAfford = "Je kunt je dit niet veroorloven om te kopen.",
+ dPurchased = "Je hebt deze deur gekocht voor %s.",
+ dSold = "Je hebt deze deur verkocht voor %s.",
+ notOwner = "Je bent hier niet de eigenaar van.",
+ invalidArg = "Je hebt een ongeldige waarde opgegeven voor argument #%s.",
+ flagGive = "%s heeft %s de vlaggen '%s' gegeven.",
+ flagGiveTitle = "Vlaggen Geven",
+ flagGiveDesc = "Geef de volgende vlaggen aan de speler.",
+ flagTake = "%s heeft de vlaggen '%s' van %s afgenomen.",
+ flagTakeTitle = "Vlaggen Afnemen",
+ flagTakeDesc = "Verwijder de volgende vlaggen van de speler.",
+ flagNoMatch = "Je moet \"%s\" vlag(gen) hebben om deze actie uit te voeren.",
+ textAdded = "Je hebt een tekst toegevoegd.",
+ textRemoved = "Je hebt %s tekst(en) verwijderd.",
+ moneyTaken = "Je hebt %s gevonden.",
+ businessPurchase = "Je hebt %s gekocht voor %s.",
+ businessSell = "Je hebt %s verkocht voor %s.",
+ cChangeModel = "%s heeft het model van %s veranderd naar %s.",
+ cChangeName = "%s heeft de naam van %s veranderd naar %s.",
+ cChangeSkin = "%s heeft de skin van %s veranderd naar %s.",
+ cChangeGroups = "%s heeft de \"%s\" lichaamsstijl van %s veranderd naar %s.",
+ cChangeFaction = "%s heeft %s overgezet naar de factie %s.",
+ playerCharBelonging = "Dit object behoort toe aan je andere personage.",
+ business = "Zakelijk",
+ invalidFaction = "Je hebt een ongeldige factie opgegeven.",
+ limitFaction = "Deze factie is vol. Probeer het later opnieuw.",
+ spawnAdd = "Je hebt een spawnpunt toegevoegd voor %s.",
+ spawnDeleted = "Je hebt %s spawnpunt(en) verwijderd.",
+ someone = "Iemand",
+ rgnLookingAt = "Laat de persoon naar wie je kijkt je herkennen.",
+ rgnWhisper = "Laat degenen in fluisterafstand je herkennen.",
+ rgnTalk = "Laat degenen in praatafstand je herkennen.",
+ rgnYell = "Laat degenen in schreeuwafstand je herkennen.",
+ icFormat = "%s zegt \"%s\"",
+ rollFormat = "%s heeft %s gegooid.",
+ wFormat = "%s fluistert \"%s\"",
+ yFormat = "%s schreeuwt \"%s\"",
+ sbOptions = "Klik om opties te bekijken voor %s.",
+ spawnAdded = "Je hebt een spawnpunt toegevoegd voor %s.",
+ whitelist = "%s heeft %s op de whitelist gezet voor de factie %s.",
+ unwhitelist = "%s heeft %s van de whitelist van de factie %s verwijderd.",
+ gettingUp = "Je staat op...",
+ wakingUp = "Je komt langzaam weer bij bewustzijn...",
+ Weapons = "Wapens",
+ checkout = "Ga naar de Kassa (%s)",
+ purchase = "Kopen",
+ purchasing = "Aan het kopen...",
+ success = "Succes",
+ buyFailed = "Aankoop mislukt.",
+ buyGood = "Aankoop succesvol!",
+ shipment = "Zending",
+ shipmentDesc = "Deze zending behoort toe aan %s.",
+ class = "Klasse",
+ classes = "Klassen",
+ illegalAccess = "Illegale toegang.",
+ becomeClassFail = "Niet gelukt om %s te worden.",
+ becomeClass = "Je bent nu %s.",
+ attribSet = "Je hebt %s's %s ingesteld op %s.",
+ attribUpdate = "Je hebt %s's %s met %s verhoogd.",
+ noFit = "Dit item past niet in je inventaris.",
+ help = "Help",
+ commands = "Commando's",
+ helpDefault = "Selecteer een categorie",
+ doorSettings = "Deurinstellingen",
+ sell = "Verkopen",
+ access = "Toegang",
+ locking = "Dit object wordt vergrendeld...",
+ unlocking = "Dit object wordt ontgrendeld...",
+ modelNoSeq = "Je model ondersteunt deze handeling niet.",
+ notNow = "Je mag dit nu niet doen.",
+ faceWall = "Je moet naar de muur kijken om dit te doen.",
+ faceWallBack = "Je rug moet naar de muur gericht zijn om dit te doen.",
+ descChanged = "Je hebt de beschrijving van je personage veranderd.",
+ charMoney = "Je hebt momenteel %s.",
+ charFaction = "Je bent lid van de factie %s.",
+ charClass = "Je bent %s van de factie.",
+ noSpace = "Inventaris is vol.",
+ noOwner = "De eigenaar is ongeldig.",
+ notAllowed = "Deze actie is niet toegestaan.",
+ invalidIndex = "Het itemnummer is ongeldig.",
+ invalidItem = "Het itemobject is ongeldig.",
+ invalidInventory = "Het inventarisobject is ongeldig.",
+ home = "Thuis",
+ charKick = "%s heeft karakter %s gekickt.",
+ charBan = "%s heeft het personage %s verbannen.",
+ charBanned = "Dit personage is verbannen.",
+ setMoney = "Je hebt het geld van %s op %s gezet.",
+ itemPriceInfo = "Je kunt dit item kopen voor %s.\nJe kunt dit item verkopen voor %s",
+ free = "Gratis",
+ vendorNoSellItems = "Er zijn geen items te koop.",
+ vendorNoBuyItems = "Er zijn geen items te koop.",
+ vendorSettings = "Verkopersinstellingen",
+ vendorUseMoney = "Moet de verkoper geld gebruiken?",
+ vendorNoBubble = "Verberg de verkopers spraakbel?",
+ mode = "Modus",
+ price = "Prijs",
+ stock = "Voorraad",
+ none = "Geen",
+ vendorBoth = "Kopen en verkopen",
+ vendorBuy = "Alleen kopen",
+ vendorSell = "Alleen verkopen",
+ maxStock = "Maximale voorraad",
+ vendorFaction = "Factie-editor",
+ buy = "Kopen",
+ vendorWelcome = "Welkom in mijn winkel, wat kan ik voor je doen?",
+ vendorBye = "Kom snel weer terug!",
+ charSearching = "Je bent al op zoek naar een ander personage, wacht even.",
+ charUnBan = "%s heeft het personage %s geunbanned.",
+ charNotBanned = "Dit personage is niet verbannen.",
+ storPass = "Je hebt het wachtwoord van deze opslagruimte ingesteld op %s.",
+ storPassRmv = "Je hebt het wachtwoord van deze opslagruimte verwijderd.",
+ storPassWrite = "Voer het wachtwoord in.",
+ wrongPassword = "Je hebt het verkeerde wachtwoord ingevoerd.",
+ cheapBlur = "Vervaging uitschakelen? (Verhoogt FPS)",
+ quickSettings = "Snelle instellingen",
+ vmSet = "Je hebt je voicemail ingesteld.",
+ vmRem = "Je hebt je voicemail verwijderd.",
+ altLower = "Handen verbergen wanneer deze omlaag zijn?",
+ noPerm = "Je hebt geen toestemming om dit te doen.",
+ youreDead = "Je bent dood",
+ injMajor = "Lijkt ernstig gewond te zijn.",
+ injLittle = "Lijkt gewond te zijn",
+ toggleObserverTP = "Schakel observer-teleportatie in/uit",
+ toggleESP = "Schakel Admin ESP in/uit",
+ toggleESPAdvanced = "ESP Geavanceerde modus",
+ chgName = "Naam wijzigen",
+ chgNameDesc = "Voer hieronder de nieuwe naam van het personage in.",
+ thirdpersonToggle = "Schakel Derdepersoonsmodus in/uit",
+ thirdpersonClassic = "Gebruik Klassieke Derdepersoonsmodus",
+ thirdpersonConfig = "Derdepersoonsconfiguratie",
+ equippedBag = "Uitgeruste items kunnen niet tussen inventarissen worden verplaatst.",
+ useTip = "Gebruikt het item.",
+ equipTip = "Rust het item uit.",
+ unequipTip = "Leg het item weg.",
+ consumables = "Verbruiksartikelen",
+ plyNotValid = "Je kijkt niet naar een geldige speler.",
+ restricted = "Je functies zijn beperkt.",
+ viewProfile = "Bekijk Steam-profiel",
+ salary = "Je hebt %s van je salaris ontvangen.",
+ noRecog = "Je herkent dit persoon niet.",
+ curTime = "De huidige tijd is %s.",
+ vendorEditor = "Verkoper Editor",
+ edit = "Bewerken",
+ disable = "Uitschakelen",
+ vendorPriceReq = "Voer de nieuwe prijs voor dit item in.",
+ vendorEditCurStock = "Huidige voorraad bewerken",
+ you = "Jij",
+ vendorSellScale = "Verkoopprijs schaal",
+ vendorNoTrade = "Je kunt niet handelen met deze verkoper.",
+ vendorNoMoney = "Deze verkoper kan dat item niet betalen.",
+ vendorNoStock = "Deze verkoper heeft dat item niet op voorraad.",
+ contentTitle = "NutScript Inhoud Ontbreekt",
+ contentWarning = "Je hebt de NutScript-inhoud niet geĆÆnstalleerd. Hierdoor kunnen bepaalde functies ontbreken.\nHet adres van de Nutscript-inhoud is gewijzigd naar dat van rebel1324.\nWil je de Workshop-pagina voor de NutScript-inhoud openen?",
+ flags = "Vlaggen",
+ chooseTip = "Kies dit personage om mee te spelen.",
+ deleteTip = "Verwijder dit personage.",
+ moneyLeft = "Jouw geld: ",
+ currentMoney = "Resterend geld: ",
+ -- 2018 patch
+ ammoLoadAll = "Alles laden",
+ ammoLoadAmount = "%s laden",
+ ammoLoadCustom = "Laden...",
+ split = "Delen",
+ splitHelp = "Voer een getal in om te splitsen.",
+ splitHalf = "Helft splitsen",
+ splitQuarter = "Kwart splitsen",
+ recognize = "Laat dit personage je herkennen.",
+ recognized = "Je hebt dit personage je identiteit gegeven.",
+ already_recognized = "Dit personage kent je al.",
+ isTied = "Deze persoon is vastgebonden.",
+ tying = "Vastbinden",
+ untying = "Los maken",
+ beingUntied = "Je wordt los gemaakt.",
+ beingTied = "Je wordt vastgebonden.",
+ sameOutfitCategory = "Je draagt al dit soort outfit.",
+ noBusiness = "Je mag op dit moment niets kopen.",
+ panelRemoved = "Je hebt %s 3D-panelen verwijderd.",
+ panelAdded = "Je hebt een 3D-paneel toegevoegd.",
+ itemOnGround = "Je item is op de grond geplaatst.",
+ forbiddenActionStorage = "Je kunt deze actie niet uitvoeren met een opgeslagen item.",
+ cantDropBagHasEquipped = "Je kunt de tas niet laten vallen zolang er een uitgerust item in zit.",
+ -- 2021 patch
+ lookToUseAt = "Je moet naar iemand kijken om '@' te gebruiken.",
+ mustProvideString = "Je moet een tekenreeks voor de variabele opgeven",
+ -- 2023 patch
+ togglePluginsDesc = "Geselecteerde plugins worden uitgeschakeld.\nDe kaart moet worden herstart na het maken van wijzigingen!",
+}
diff --git a/gamemode/languages/sh_english.lua b/gamemode/languages/sh_english.lua
index 26f10444..32c16ee5 100644
--- a/gamemode/languages/sh_english.lua
+++ b/gamemode/languages/sh_english.lua
@@ -1,4 +1,3 @@
-
NAME = "English"
LANGUAGE = {
@@ -36,6 +35,7 @@ LANGUAGE = {
cloud_no_plugin = "The plugin provided is not valid.",
inv = "Inventory",
plugins = "Plugins",
+ togglePlugins = "Toggle plugins",
author = "Author",
version = "Version",
characters = "Characters",
@@ -258,10 +258,14 @@ LANGUAGE = {
panelRemoved = "You have removed %s 3D panels.",
panelAdded = "You have added a 3D panel.",
itemOnGround = "Your item has been placed on the ground.",
- forbiddenActionStorage = "You can't do this action with storaged item.",
- cantDropBagHasEquipped = "You can't drop bag that has equipped item.",
+ forbiddenActionStorage = "You can't do this action with a storaged item.",
+ cantDropBagHasEquipped = "You can't drop a bag that has equipped item.",
-- 2021 patch
lookToUseAt = "You need to be looking at someone to use '@'",
mustProvideString = "You must provide a string for the variable",
+
+ -- 2023 patch
+
+ togglePluginsDesc = "Selected Plugins will be disabled.\nThe map must be restarted after making changes!",
}
diff --git a/gamemode/languages/sh_french.lua b/gamemode/languages/sh_french.lua
index 6e70ad9e..4c57ea1f 100644
--- a/gamemode/languages/sh_french.lua
+++ b/gamemode/languages/sh_french.lua
@@ -3,265 +3,265 @@ NAME = "FranƧais"
LANGUAGE = {
loading = "Chargement",
- dbError = "Connexion avec la base de donnƩes ƩchouƩe",
+ dbError = "Ćchec de la connexion Ć la base de donnĆ©es",
unknown = "Inconnu",
noDesc = "Aucune description disponible",
- create = "CrĆer",
- createTip = "CrƩer un nouveau personnage pour jouer avec.",
+ create = "CrƩer",
+ createTip = "CrƩez un nouveau personnage pour jouer.",
load = "Charger",
- loadTip = "Charger un personnage crƩe auparavant pour jouer avec.",
+ loadTip = "Choisissez un personnage déjà créé pour jouer.",
leave = "Quitter",
- leaveTip = "Quitter le serveur actuel.",
+ leaveTip = "Quittez le serveur actuel.",
["return"] = "Retour",
- returnTip = "Retourner au menu prƩcƩdent.",
+ returnTip = "Revenir au menu prƩcƩdent.",
name = "Nom",
desc = "Description",
model = "ModĆØle",
attribs = "Attributs",
charCreateTip = "Remplissez les champs ci-dessous et appuyez sur 'Terminer' pour crƩer votre personnage.",
invalid = "Vous avez fourni un %s invalide",
- descMinLen = "Votre description doit comporter au moins %d caractĆØre(s).",
+ descMinLen = "Votre description doit contenir au moins %d caractĆØre(s).",
player = "Joueur",
finish = "Terminer",
- finishTip = "Terminer la crƩation du personnage.",
+ finishTip = "Terminez la crƩation du personnage.",
needModel = "Vous devez choisir un modĆØle valide",
creating = "Votre personnage est en cours de crƩation...",
- unknownError = "Une erreur inconnue est survenue",
- delConfirm = "Ćtes-vous sĆ»r de vouloir supprimer dĆ©finitivement %s?",
+ unknownError = "Une erreur inconnue s'est produite",
+ delConfirm = "Ćtes-vous sĆ»r de vouloir SUPPRIMER %s de faƧon PERMANENTE ?",
no = "Non",
yes = "Oui",
- itemInfo = "Nom: %s\nDescription: %s",
- itemCreated = "L'objet à été créé avec succès.",
- cloud_no_repo = "Les rƩfƩrentiels fournies ne sont pas valides.",
- cloud_no_plugin = "Les plugins fournies ne sont pas valides.",
+ itemInfo = "Nom : %s\nDescription : %s",
+ itemCreated = "Objet créé avec succès.",
+ cloud_no_repo = "Le rƩfƩrentiel fourni n'est pas valide.",
+ cloud_no_plugin = "Le plugin fourni n'est pas valide.",
inv = "Inventaire",
plugins = "Plugins",
+ togglePlugins = "Activer/dƩsactiver les plugins",
author = "Auteur",
version = "Version",
characters = "Personnages",
settings = "ParamĆØtres",
config = "Configuration",
- chat = "Chat",
+ chat = "Discussion",
appearance = "Apparence",
misc = "Divers",
- oocDelay = "Vous devez attendre %s seconde(s) avant de pouvoir utiliser de nouveau le OOC.",
- loocDelay = "Vous devez attendre %s seconde(s) avant de pouvoir utiliser de nouveau le LOOC.",
+ oocDelay = "Vous devez attendre encore %s seconde(s) avant de pouvoir utiliser OOC Ć nouveau.",
+ loocDelay = "Vous devez attendre encore %s seconde(s) avant de pouvoir utiliser LOOC Ć nouveau.",
usingChar = "Vous utilisez déjà ce personnage.",
- itemNoExist = "DƩsolƩ, l'objet que vous avez demandƩ n'a pas ƩtƩ trouvƩ ou n'existe pas.",
- cmdNoExist = "DƩsolƩ, cette commande n'a pas ƩtƩ trouvƩ ou n'existe pas.",
- plyNoExist = "DƩsolƩ, le joueur n'a pas ƩtƩ trouvƩ ou n'existe pas.",
- cfgSet = "%s a mis \"%s\" Ć %s.",
+ itemNoExist = "DƩsolƩ, l'objet que vous avez demandƩ n'existe pas.",
+ cmdNoExist = "DƩsolƩ, cette commande n'existe pas.",
+ plyNoExist = "Désolé, aucun joueur correspondant n'a pu être trouvé.",
+ cfgSet = "%s a dƩfini \"%s\" sur %s.",
drop = "LĆ¢cher",
- dropTip = "LĆ¢cher cet objet de votre inventaire.",
+ dropTip = "LĆ¢chez cet objet de votre inventaire.",
take = "Prendre",
- takeTip = "Prendre cet objet et le placer dans votre inventaire.",
- dTitle = "Porte en vente",
+ takeTip = "Prenez cet objet et placez-le dans votre inventaire.",
+ dTitle = "Porte non possƩdƩe",
dTitleOwned = "Porte achetƩe",
- dIsNotOwnable = "Cette porte est inachetable.",
+ dIsNotOwnable = "Cette porte n'est pas achetable.",
dIsOwnable = "Vous pouvez acheter cette porte en appuyant sur F2.",
- dMadeUnownable = "Vous avez rendu cette porte inachetable.",
+ dMadeUnownable = "Vous avez rendu cette porte non achetable.",
dMadeOwnable = "Vous avez rendu cette porte achetable.",
dNotAllowedToOwn = "Vous n'êtes pas autorisé à posséder cette porte.",
dSetDisabled = "Vous avez dƩsactivƩ cette porte.",
- dSetNotDisabled = "Vous avez activƩ cette porte.",
- dSetHidden = "Vous avez cachƩe cette porte.",
- dSetNotHidden = "Vous avez rendu visible cette porte.",
- dSetParentDoor = "Vous avez fait de cette porte, la porte principale.",
- dCanNotSetAsChild = "Vous avez fait de cette porte, la porte secondaire.",
- dAddChildDoor = "Vous avez ajoutƩ une porte secondaire.",
- dRemoveChildren = "Vous avez supprimƩ toutes les portes secondaires, pour ne laisser que celle-ci.",
- dRemoveChildDoor = "Vous avez supprimƩ cette porte secondaire.",
- dNoParentDoor = "Vous ne disposez pas d'une porte principale.",
+ dSetNotDisabled = "Vous avez rƩactivƩ cette porte.",
+ dSetHidden = "Vous avez rendu cette porte invisible.",
+ dSetNotHidden = "Vous avez rendu cette porte visible.",
+ dSetParentDoor = "Vous avez dƩfini cette porte comme votre porte parente.",
+ dCanNotSetAsChild = "Vous ne pouvez pas dƩfinir la porte parente comme enfant.",
+ dAddChildDoor = "Vous avez ajoutƩ cette porte comme enfant.",
+ dRemoveChildren = "Vous avez retirƩ tous les enfants de cette porte.",
+ dRemoveChildDoor = "Vous avez retirƩ cette porte en tant qu'enfant.",
+ dNoParentDoor = "Vous n'avez pas de porte parente dƩfinie.",
dOwnedBy = "Cette porte appartient Ć %s.",
dConfigName = "Portes",
- dSetFaction = "Cette porte appartient maintenant Ć la faction %s.",
+ dSetFaction = "Cette porte appartient désormais à la faction %s.",
dRemoveFaction = "Cette porte n'appartient plus Ć aucune faction.",
dNotValid = "Vous ne regardez pas une porte valide.",
- canNotAfford = "Vous ne pouvez pas vous permettre d'acheter ceci.",
+ canNotAfford = "Vous ne pouvez pas vous permettre d'acheter cela.",
dPurchased = "Vous avez achetƩ cette porte pour %s.",
dSold = "Vous avez vendu cette porte pour %s.",
notOwner = "Vous n'êtes pas le propriétaire de ceci.",
- invalidArg = "Vous avez fourni une valeur non valide pour l'argument #%s.",
- flagGive = "%s a donné à %s les drapeaux \"%s\".",
- flagGiveTitle = "Donner drapeaux",
- flagGiveDesc = "Donner les drapeaux suivants Ć un joueur.",
- flagTake = "%s a retiré les drapeaux \"%s\" à %s.",
- flagTakeTitle = "Retirer drapeaux",
- flagTakeDesc = "Retirer les drapeaux suivants Ć un joueur.",
- flagNoMatch = "Vous devez avoir le ou les drapeaux \"%s\" pour rƩaliser cette action.",
+ invalidArg = "Vous avez fourni une valeur invalide pour l'argument #%s.",
+ flagGive = "%s a donné les drapeaux '%s' à %s.",
+ flagGiveTitle = "Donner des drapeaux",
+ flagGiveDesc = "Donnez les drapeaux suivants au joueur.",
+ flagTake = "%s a retirƩ les drapeaux '%s' de %s.",
+ flagTakeTitle = "Retirer les drapeaux",
+ flagTakeDesc = "Retirez les drapeaux suivants du joueur.",
+ flagNoMatch = "Vous devez avoir les drapeaux \"%s\" pour effectuer cette action.",
textAdded = "Vous avez ajoutƩ un texte.",
textRemoved = "Vous avez supprimƩ %s texte(s).",
moneyTaken = "Vous avez trouvƩ %s.",
businessPurchase = "Vous avez achetƩ %s pour %s.",
businessSell = "Vous avez vendu %s pour %s.",
- cChangeModel = "%s a modifié le modèle de %s par \"%s\".",
- cChangeName = "%s a modifiƩ le nom roleplay de %s par \"%s\".",
- cChangeSkin = "%s a modifiƩ la peau (skin) de %s par \"%s\".",
- cChangeGroups = "%s a modifiƩ le bodygroup de %s avec (nom: %s, index: %s).",
- cChangeFaction = "%s a modifiƩ la faction de %s par \"%s\".",
- playerCharBelonging = "Cet objet appartient Ć un autre de vos personnages.",
- business = "MarchƩ",
- invalidFaction = "La faction que vous avez fourni n'a pu être trouvée.",
+ cChangeModel = "%s a changé le modèle de %s en %s.",
+ cChangeName = "%s a changƩ le nom de %s en %s.",
+ cChangeSkin = "%s a changƩ la peau de %s en %s.",
+ cChangeGroups = "%s a changƩ le groupe corporel \"%s\" de %s en %s.",
+ cChangeFaction = "%s a transfƩrƩ %s vers la faction %s.",
+ playerCharBelonging = "Cet objet appartient Ć un autre personnage.",
+ business = "Commerce",
+ invalidFaction = "Vous avez fourni une faction invalide.",
limitFaction = "Cette faction est complète. Réessayez plus tard.",
spawnAdd = "Vous avez ajoutƩ un point d'apparition pour %s.",
spawnDeleted = "Vous avez supprimƩ %s point(s) d'apparition.",
someone = "Quelqu'un",
- rgnLookingAt = "Permettre à la personne que vous regardez de vous reconnaître.",
- rgnWhisper = "Permettre à ceux qui vous entendent chuchoter de vous reconnaître.",
- rgnTalk = "Permettre à ceux qui vous entendent parler de vous reconnaître.",
- rgnYell = "Permettre à ceux qui vous entendent crier de vous reconnaître.",
+ rgnLookingAt = "Permet à la personne que vous regardez de vous reconnaître.",
+ rgnWhisper = "Permet à ceux qui chuchotent de vous reconnaître.",
+ rgnTalk = "Permet à ceux qui parlent de vous reconnaître.",
+ rgnYell = "Permet à ceux qui crient de vous reconnaître.",
icFormat = "%s dit \"%s\"",
- rollFormat = "%s a jetƩ les dƩs, %s.",
+ rollFormat = "%s a fait un jet de %s.",
wFormat = "%s chuchote \"%s\"",
yFormat = "%s crie \"%s\"",
- sbOptions = "Cliquez pour voir les options de %s.",
+ sbOptions = "Cliquez pour voir les options pour %s.",
spawnAdded = "Vous avez ajoutƩ un point d'apparition pour %s.",
- whitelist = "%s a ajouté à la liste blanche %s pour la faction %s.",
- unwhitelist = "%s a retirƩ de la liste blanche %s pour la faction %s.",
- gettingUp = "Vous ĆŖtes maintenant debout...",
- wakingUp = "Vous avez repris conscience...",
+ whitelist = "%s a mis %s sur la liste blanche pour la faction %s.",
+ unwhitelist = "%s a retirƩ %s de la liste blanche de la faction %s.",
+ gettingUp = "Vous vous levez maintenant...",
+ wakingUp = "Vous reprenez conscience...",
Weapons = "Armes",
- checkout = "Panier (%s)",
+ checkout = "Aller Ć la caisse (%s)",
purchase = "Acheter",
- purchasing = "Achat...",
+ purchasing = "Achat en cours...",
success = "SuccĆØs",
- buyFailed = "Achat ƩchouƩ.",
- buyGood = "Achat rƩussi.",
- shipment = "Cargaison",
- shipmentDesc = "Cette cargaison appartient Ć %s.",
+ buyFailed = "L'achat a ƩchouƩ.",
+ buyGood = "Achat rƩussi !",
+ shipment = "ExpƩdition",
+ shipmentDesc = "Cette expédition appartient à %s.",
class = "Classe",
- classes = "MƩtiers",
+ classes = "Classes",
illegalAccess = "Accès illégal.",
- becomeClassFail = "Impossible de devenir %s.",
- becomeClass = "Vous ĆŖtes devenu %s.",
- attribSet = "Vous avez mis Ć %s de %s Ć %s.",
- attribUpdate = "Vous avez ajouté à %s de %s, %s pour être précis.",
- noFit = "Cet objet ne peut pas rentrer dans votre inventaire.",
+ becomeClassFail = "Ćchec pour devenir %s.",
+ becomeClass = "Vous ĆŖtes maintenant %s.",
+ attribSet = "Vous avez dƩfini les %s de %s sur %s.",
+ attribUpdate = "Vous avez augmentƩ les %s de %s de %s.",
+ noFit = "Cet objet ne peut pas être rangé dans votre inventaire.",
help = "Aide",
commands = "Commandes",
- helpDefault = "Choisir une fichier d'aide",
- doorSettings = "Modifications",
+ helpDefault = "SƩlectionnez une catƩgorie",
+ doorSettings = "ParamĆØtres de la porte",
sell = "Vendre",
access = "AccĆØs",
- locking = "VERROUILLAGE DE L'ENTITĆ...",
- unlocking = "DĆVERROUILLAGE DE L'ENTITĆ...",
- modelNoSeq = "Votre modĆØle ne prend pas en charge cet acte.",
- notNow = "Vous n'êtes pas autorisé à faire ceci maintenant.",
- faceWall = "Vous devez ĆŖtre face au mur.",
- faceWallBack = "Votre dos doit être orientée vers le mur.",
- descChanged = "Vous avez changƩ la description de votre personnage.",
+ locking = "Verrouillage de cette entitƩ...",
+ unlocking = "DƩverrouillage de cette entitƩ...",
+ modelNoSeq = "Votre modĆØle ne prend pas en charge cette action.",
+ notNow = "Vous n'êtes pas autorisé à faire cela pour le moment.",
+ faceWall = "Vous devez faire face au mur pour faire cela.",
+ faceWallBack = "Votre dos doit être tourné vers le mur pour faire cela.",
+ descChanged = "Vous avez modifiƩ la description de votre personnage.",
charMoney = "Vous avez actuellement %s.",
- charFaction = "Vous ĆŖtes un membre de la faction %s.",
- charClass = "Vous ĆŖtes %s dans votre faction.",
- noSpace = "L'inventaire est complet.",
- noOwner = "Le propriƩtaire est invalide.",
- notAllowed = "Cette action n'est pas autorisƩ.",
- invalidIndex = "L'objet de l'index est invalide.",
+ charFaction = "Vous ĆŖtes membre de la faction %s.",
+ charClass = "Vous ĆŖtes %s de la faction.",
+ noSpace = "L'inventaire est plein.",
+ noOwner = "Le propriƩtaire n'est pas valide.",
+ notAllowed = "Cette action n'est pas autorisƩe.",
+ invalidIndex = "L'index de l'objet est invalide.",
invalidItem = "L'objet est invalide.",
- invalidInventory = "L'object de l'inventaire est invalide.",
+ invalidInventory = "L'inventaire est invalide.",
home = "Accueil",
- charKick = "%s a kick le personnage %s.",
+ charKick = "%s a expulsƩ le personnage %s.",
charBan = "%s a banni le personnage %s.",
charBanned = "Ce personnage est banni.",
- setMoney = "Vous avez défini l'argent de %s à %s.",
- itemPriceInfo = "Vous pouvez acheter cet objet pour %s.\nVous pouvez vendre cet objet pour %s.",
+ setMoney = "Vous avez dƩfini l'argent de %s sur %s.",
+ itemPriceInfo = "Vous pouvez acheter cet objet pour %s.\nVous pouvez vendre cet objet pour %s",
free = "Gratuit",
- vendorNoSellItems = "Il n'y a pas d'objet Ć vendre.",
- vendorNoBuyItems = "Il n'y a pas d'objet Ć acheter.",
- vendorSettings = "Modifications",
- vendorUseMoney = "Le PNJ peut utiliser de l'argent?",
- vendorNoBubble = "Cacher la bulle du PNJ ?",
+ vendorNoSellItems = "Il n'y a aucun objet Ć vendre.",
+ vendorNoBuyItems = "Il n'y a aucun objet Ć acheter.",
+ vendorSettings = "ParamĆØtres du vendeur",
+ vendorUseMoney = "Le vendeur devrait-il utiliser de l'argent ?",
+ vendorNoBubble = "Masquer la bulle du vendeur ?",
mode = "Mode",
price = "Prix",
stock = "Stock",
none = "Aucun",
- vendorBoth = "Achat et vente",
- vendorBuy = "Achat seulement",
- vendorSell = "Vente seulement",
- maxStock = "Max stock",
- vendorFaction = "Modification faction",
- buy = "Achat",
- vendorWelcome = "Bienvenue dans mon magasin, tout ce que je peux vous obtenir se trouve ici !",
- vendorBye = "à bientÓt !",
- charSearching = "Vous êtes déjà à la recherche d'un autre personnage, veuillez attendre.",
+ vendorBoth = "Acheter et Vendre",
+ vendorBuy = "Acheter Uniquement",
+ vendorSell = "Vendre Uniquement",
+ maxStock = "Stock Max",
+ vendorFaction = "Ćditeur de Faction",
+ buy = "Acheter",
+ vendorWelcome = "Bienvenue dans mon magasin, que puis-je vous offrir aujourd'hui ?",
+ vendorBye = "Revenez bientƓt !",
+ charSearching = "Vous recherchez déjà un autre personnage, veuillez patienter.",
charUnBan = "%s a dƩbanni le personnage %s.",
- charNotBanned = "Ce personnage n'est pas interdit.",
- storPass = "Le mot de passe de ce stockage est %s.",
+ charNotBanned = "Ce personnage n'est pas banni.",
+ storPass = "Vous avez dƩfini le mot de passe de ce stockage sur %s.",
storPassRmv = "Vous avez supprimƩ le mot de passe de ce stockage.",
storPassWrite = "Entrez le mot de passe.",
wrongPassword = "Vous avez entrƩ un mauvais mot de passe.",
- cheapBlur = "DƩsactiver le flou ? (Gain FPS)",
- quickSettings = "ParamĆØtres rapides",
- vmSet = "Vous avez dƩfini votre messagerie vocale.",
- vmRem = "Vous avez supprimƩ votre messagerie vocale.",
- altLower = "Cacher les mains quand elles sont baissƩes ?",
- noPerm = "Vous n'êtes pas autorisé à faire ceci.",
+ cheapBlur = "DƩsactiver le flou ? (Augmente les FPS)",
+ quickSettings = "ParamĆØtres Rapides",
+ vmSet = "Vous avez dƩfini votre boƮte vocale.",
+ vmRem = "Vous avez supprimƩ votre boƮte vocale.",
+ altLower = "Masquer les mains lorsqu'elles sont baissƩes ?",
+ noPerm = "Vous n'êtes pas autorisé à faire cela.",
youreDead = "Vous ĆŖtes mort",
- injMajor = "Il semble grièvement blessé.",
- injLittle = "Il semble blessƩ.",
- toggleObserverTP = "Activer l'observation des tƩlƩportations",
- toggleESP = "Activer l'ESP admin",
- toggleESPAdvanced = "Mode avancƩ de l'ESP",
- chgName = "Changer de nom",
+ injMajor = "Semble gravement blessƩ.",
+ injLittle = "Semble blessƩ",
+ toggleObserverTP = "Activer/dƩsactiver la tƩlƩportation de l'observateur",
+ toggleESP = "Activer/dƩsactiver l'ESP Admin",
+ toggleESPAdvanced = "Mode ESP AvancƩ",
+ chgName = "Changer le Nom",
chgNameDesc = "Entrez le nouveau nom du personnage ci-dessous.",
- thirdpersonToggle = "Activer la troisiĆØme personne",
- thirdpersonClassic = "Utiliser troisiĆØme personne classique",
- thirdpersonConfig = "Configuration troisiĆØme personne",
+ thirdpersonToggle = "Activer/désactiver la Troisième Personne",
+ thirdpersonClassic = "Utiliser la TroisiĆØme Personne Classique",
+ thirdpersonConfig = "Configuration de la TroisiĆØme Personne",
equippedBag = "Les objets équipés ne peuvent pas être déplacés entre les inventaires.",
- useTip = "Utiliser l'objet.",
- equipTip = "Ćquiper l'objet.",
- unequipTip = "DƩsƩquiper l'objet.",
+ useTip = "Utilisez l'objet.",
+ equipTip = "Ćquipez l'objet.",
+ unequipTip = "DƩsƩquipez l'objet.",
consumables = "Consommables",
plyNotValid = "Vous ne regardez pas un joueur valide.",
- restricted = "Vous avez ƩtƩ attachƩ",
+ restricted = "Vous ĆŖtes restreint.",
viewProfile = "Voir le profil Steam",
- salary = "Vous avez reƧu votre salaire, %s.",
- noRecog = "Vous ne connaissez pas cette personne.",
- curTime = "L'heure et la date actuelle, %s.",
- vendorEditor = "Ćdition du vendeur",
- edit = "Ćditer",
+ salary = "Vous avez reƧu %s de salaire.",
+ noRecog = "Vous ne reconnaissez pas cette personne.",
+ curTime = "Il est actuellement %s.",
+ vendorEditor = "Ćditeur de Vendeur",
+ edit = "Modifier",
disable = "DƩsactiver",
- vendorPriceReq = "Entrez le nouveau prix pour cet objet.",
- vendorEditCurStock = "Modifier le stock actuel",
+ vendorPriceReq = "Entrez le nouveau prix de cet objet.",
+ vendorEditCurStock = "Modifier le Stock Actuel",
you = "Vous",
- vendorSellScale = "Ćchelle de prix de vente",
- vendorNoTrade = "Vous ne pouvez pas faire de commerce avec ce vendeur.",
- vendorNoMoney = "Ce vendeur ne peut pas se payer cet article.",
- vendorNoStock = "Ce vendeur n'a pas cet article en stock.",
- contentTitle = "Contenu NutScript manquant",
- contentWarning = "Vous n'avez pas montƩ le contenu NutScript. Cela peut entraƮner l'absence de certaines fonctionnalitƩs. L'adresse du contenu NutScript a ƩtƩ remplacƩe par celle de rebel1324.\nVoulez-vous ouvrir la page de l'atelier pour le contenu NutScript ?",
+ vendorSellScale = "Ćchelle de Prix de Vente",
+ vendorNoTrade = "Vous ne pouvez pas commercer avec ce vendeur.",
+ vendorNoMoney = "Ce vendeur ne peut pas se permettre cet objet.",
+ vendorNoStock = "Ce vendeur n'a pas cet objet en stock.",
+ contentTitle = "Contenu de NutScript Manquant",
+ contentWarning = "Vous n'avez pas le contenu de NutScript installƩ. Cela peut entraƮner l'absence de certaines fonctionnalitƩs.\nL'adresse du contenu Nutscript a ƩtƩ modifiƩe pour celle de rebel1324.\nSouhaitez-vous ouvrir la page Workshop pour le contenu NutScript ?",
flags = "Drapeaux",
- chooseTip = "Choisissez ce personnage pour jouer avec lui.",
+ chooseTip = "Choisissez ce personnage pour jouer.",
deleteTip = "Supprimez ce personnage.",
- moneyLeft = "Votre argent : ",
- currentMoney = "Argent restant : ",
-
+ moneyLeft = "Votre Argent : ",
+ currentMoney = "Argent Restant : ",
-- 2018 patch
-
- ammoLoadAll = "Tout charger",
+ ammoLoadAll = "Tout Charger",
ammoLoadAmount = "Charger %s",
- ammoLoadCustom = "Chargement...",
+ ammoLoadCustom = "Charger...",
split = "Diviser",
- splitHelp = "Saisissez un nombre pour diviser.",
- splitHalf = "Diviser 1/2",
- splitQuarter = "Diviser 1/4",
+ splitHelp = "Entrez un nombre pour diviser.",
+ splitHalf = "Diviser par 2",
+ splitQuarter = "Diviser par 4",
recognize = "Permettez à ce personnage de vous reconnaître.",
- recognized = "Tu as donné ton identité à ce personnage.",
+ recognized = "Vous avez donné votre identité à ce personnage.",
already_recognized = "Ce personnage vous connaît déjà .",
- isTied = "Cette personne a ƩtƩ attachƩe.",
+ isTied = "Cette personne est attachƩe.",
tying = "Attachement",
untying = "DƩtachement",
- beingUntied = "Tu as ƩtƩ dƩtachƩ.",
- beingTied = "Tu as ƩtƩ attachƩ.",
+ beingUntied = "Vous êtes en train d'être détaché.",
+ beingTied = "Vous êtes en train d'être attaché.",
sameOutfitCategory = "Vous portez déjà ce type de tenue.",
noBusiness = "Vous n'êtes pas autorisé à acheter quoi que ce soit pour le moment.",
- panelRemoved = "Vous avez supprimƩ %s interfaces 3D.",
- panelAdded = "Vous avez ajoutƩ une interface 3D.",
- itemOnGround = "Votre article a ƩtƩ placƩ sur le sol.",
- forbiddenActionStorage = "Vous ne pouvez pas faire cette action avec un objet stockƩ.",
- cantDropBagHasEquipped = "Vous ne pouvez pas dƩposer un sac qui a un objet ƩquipƩ.",
-
+ panelRemoved = "Vous avez supprimƩ %s panneau(x) 3D.",
+ panelAdded = "Vous avez ajoutƩ un panneau 3D.",
+ itemOnGround = "Votre objet a ƩtƩ placƩ sur le sol.",
+ forbiddenActionStorage = "Vous ne pouvez pas effectuer cette action avec un objet stockƩ.",
+ cantDropBagHasEquipped = "Vous ne pouvez pas lâcher un sac contenant un objet équipé.",
-- 2021 patch
- lookToUseAt = "Vous devez regarder quelqu'un pour utiliser '@'.",
+ lookToUseAt = "Vous devez regarder quelqu'un pour utiliser '@'",
mustProvideString = "Vous devez fournir une chaîne de caractères pour la variable",
+ -- 2023 patch
+ togglePluginsDesc = "Les plugins sélectionnés seront désactivés.\nLa carte doit être redémarrée après avoir apporté des modifications !",
}
diff --git a/gamemode/languages/sh_german.lua b/gamemode/languages/sh_german.lua
new file mode 100644
index 00000000..d7c7e832
--- /dev/null
+++ b/gamemode/languages/sh_german.lua
@@ -0,0 +1,266 @@
+NAME = "Deutsch"
+
+LANGUAGE = {
+ loading = "Lade",
+ dbError = "Datenbankverbindung fehlgeschlagen",
+ unknown = "Unbekannt",
+ noDesc = "Keine Beschreibung verfügbar",
+ create = "Erstellen",
+ createTip = "Erstelle einen neuen Charakter, um zu spielen.",
+ load = "Laden",
+ loadTip = "WƤhle einen zuvor erstellten Charakter zum Spielen aus.",
+ leave = "Verlassen",
+ leaveTip = "Verlasse den aktuellen Server.",
+ ["return"] = "Zurück",
+ returnTip = "Zurück zum vorherigen Menü.",
+ name = "Name",
+ desc = "Beschreibung",
+ model = "Modell",
+ attribs = "Attribute",
+ charCreateTip = "Fülle die unten stehenden Felder aus und klicke auf 'Fertig', um deinen Charakter zu erstellen.",
+ invalid = "Du hast eine ungültige %s angegeben",
+ descMinLen = "Deine Beschreibung muss mindestens %d Zeichen lang sein.",
+ player = "Spieler",
+ finish = "Fertigstellen",
+ finishTip = "Beende die Charaktererstellung.",
+ needModel = "Du musst ein gültiges Modell auswählen",
+ creating = "Dein Charakter wird erstellt...",
+ unknownError = "Ein unbekannter Fehler ist aufgetreten",
+ delConfirm = "Bist du sicher, dass du %s dauerhaft lƶschen mƶchtest?",
+ no = "Nein",
+ yes = "Ja",
+ itemInfo = "Name: %s\nBeschreibung: %s",
+ itemCreated = "Gegenstand erfolgreich erstellt.",
+ cloud_no_repo = "Das angegebene Repository ist ungültig.",
+ cloud_no_plugin = "Das angegebene Plugin ist ungültig.",
+ inv = "Inventar",
+ plugins = "Plugins",
+ togglePlugins = "Plugins umschalten",
+ author = "Autor",
+ version = "Version",
+ characters = "Charaktere",
+ settings = "Einstellungen",
+ config = "Konfiguration",
+ chat = "Chat",
+ appearance = "Erscheinung",
+ misc = "Verschiedenes",
+ oocDelay = "Du musst noch %s Sekunde(n) warten, bevor du OOC erneut verwenden kannst.",
+ loocDelay = "Du musst noch %s Sekunde(n) warten, bevor du LOOC erneut verwenden kannst.",
+ usingChar = "Du verwendest bereits diesen Charakter.",
+ itemNoExist = "Entschuldigung, der angeforderte Gegenstand existiert nicht.",
+ cmdNoExist = "Entschuldigung, dieser Befehl existiert nicht.",
+ plyNoExist = "Entschuldigung, es konnte kein passender Spieler gefunden werden.",
+ cfgSet = "%s hat \"%s\" auf %s gesetzt.",
+ drop = "Ablegen",
+ dropTip = "Diesen Gegenstand aus deinem Inventar ablegen.",
+ take = "Nehmen",
+ takeTip = "Diesen Gegenstand nehmen und in dein Inventar legen.",
+ dTitle = "Unbesitzte Tür",
+ dTitleOwned = "Gekaufte Tür",
+ dIsNotOwnable = "Diese Tür kann nicht besessen werden.",
+ dIsOwnable = "Du kannst diese Tür durch Drücken von F2 kaufen.",
+ dMadeUnownable = "Du hast diese Tür unbesitzbar gemacht.",
+ dMadeOwnable = "Du hast diese Tür besitzbar gemacht.",
+ dNotAllowedToOwn = "Du darfst diese Tür nicht besitzen.",
+ dSetDisabled = "Du hast diese Tür deaktiviert.",
+ dSetNotDisabled = "Du hast diese Tür nicht mehr deaktiviert.",
+ dSetHidden = "Du hast diese Tür versteckt.",
+ dSetNotHidden = "Du hast diese Tür nicht mehr versteckt.",
+ dSetParentDoor = "Du hast diese Tür als Elterntür festgelegt.",
+ dCanNotSetAsChild = "Du kannst die Elterntür nicht als Kind festlegen.",
+ dAddChildDoor = "Du hast diese Tür als Kind hinzugefügt.",
+ dRemoveChildren = "Du hast alle Kinder für diese Tür entfernt.",
+ dRemoveChildDoor = "Du hast diese Tür als Kind entfernt.",
+ dNoParentDoor = "Du hast keine Elterntür festgelegt.",
+ dOwnedBy = "Diese Tür gehört %s.",
+ dConfigName = "Türen",
+ dSetFaction = "Diese Tür gehört jetzt zur Fraktion %s.",
+ dRemoveFaction = "Diese Tür gehört jetzt keiner Fraktion mehr.",
+ dNotValid = "Du schaust keine gültige Tür an.",
+ canNotAfford = "Du kannst dir den Kauf dieses Gegenstands nicht leisten.",
+ dPurchased = "Du hast diese Tür für %s gekauft.",
+ dSold = "Du hast diese Tür für %s verkauft.",
+ notOwner = "Du bist nicht der Besitzer davon.",
+ invalidArg = "Du hast einen ungültigen Wert für das Argument #%s angegeben.",
+ flagGive = "%s hat %s '%s' Flags gegeben.",
+ flagGiveTitle = "Flags geben",
+ flagGiveDesc = "Gib dem Spieler die folgenden Flags.",
+ flagTake = "%s hat '%s' Flags von %s genommen.",
+ flagTakeTitle = "Flags entfernen",
+ flagTakeDesc = "Nimm dem Spieler die folgenden Flags weg.",
+ flagNoMatch = "Du musst \"%s\" Flag(s) haben, um diese Aktion auszuführen.",
+ textAdded = "Du hast einen Text hinzugefügt.",
+ textRemoved = "Du hast %s Text(e) entfernt.",
+ moneyTaken = "Du hast %s gefunden.",
+ businessPurchase = "Du hast %s für %s gekauft.",
+ businessSell = "Du hast %s für %s verkauft.",
+ cChangeModel = "%s hat %s Modell zu %s geƤndert.",
+ cChangeName = "%s hat %s Namen zu %s geƤndert.",
+ cChangeSkin = "%s hat %s Skin zu %s geƤndert.",
+ cChangeGroups = "%s hat %s \"%s\" Bodygroup zu %s geƤndert.",
+ cChangeFaction = "%s hat %s zur Fraktion %s transferiert.",
+ playerCharBelonging = "Dieses Objekt gehƶrt deinem anderen Charakter.",
+ business = "GeschƤft",
+ invalidFaction = "Du hast eine ungültige Fraktion angegeben.",
+ limitFaction = "Diese Fraktion ist voll. Versuche es spƤter erneut.",
+ spawnAdd = "Du hast einen Spawnpunkt für %s hinzugefügt.",
+ spawnDeleted = "Du hast %s Spawnpunkt(e) entfernt.",
+ someone = "Jemand",
+ rgnLookingAt = "Erlaube der Person, die du ansiehst, dich zu erkennen.",
+ rgnWhisper = "Erlaube denen in Flüsternähe, dich zu erkennen.",
+ rgnTalk = "Erlaube denen in SprechnƤhe, dich zu erkennen.",
+ rgnYell = "Erlaube denen in Schreiweite, dich zu erkennen.",
+ icFormat = "%s sagt \"%s\"",
+ rollFormat = "%s hat %s geworfen.",
+ wFormat = "%s flüstert \"%s\"",
+ yFormat = "%s schreit \"%s\"",
+ sbOptions = "Klicke, um Optionen für %s zu sehen.",
+ spawnAdded = "Du hast einen Spawnpunkt für %s hinzugefügt.",
+ whitelist = "%s hat %s für die Fraktion %s auf die Whitelist gesetzt.",
+ unwhitelist = "%s hat %s von der Whitelist der Fraktion %s entfernt.",
+ gettingUp = "Du stehst jetzt auf...",
+ wakingUp = "Du kommst langsam wieder zu Bewusstsein...",
+ Weapons = "Waffen",
+ checkout = "Zur Kasse gehen (%s)",
+ purchase = "Kaufen",
+ purchasing = "Kaufe...",
+ success = "Erfolg",
+ buyFailed = "Kauf fehlgeschlagen.",
+ buyGood = "Kauf erfolgreich!",
+ shipment = "Lieferung",
+ shipmentDesc = "Diese Lieferung gehƶrt zu %s.",
+ class = "Klasse",
+ classes = "Klassen",
+ illegalAccess = "Illegale Zugriffe.",
+ becomeClassFail = "Fehler beim Wechsel zu %s.",
+ becomeClass = "Du bist jetzt %s.",
+ attribSet = "Du hast %s's %s auf %s gesetzt.",
+ attribUpdate = "Du hast %s's %s um %s erhƶht.",
+ noFit = "Dieser Gegenstand passt nicht in dein Inventar.",
+ help = "Hilfe",
+ commands = "Befehle",
+ helpDefault = "WƤhle eine Kategorie",
+ doorSettings = "Tür-Einstellungen",
+ sell = "Verkaufen",
+ access = "Zugriff",
+ locking = "Sperre dieses Objekt...",
+ unlocking = "Entsperre dieses Objekt...",
+ modelNoSeq = "Dein Modell unterstützt diese Aktion nicht.",
+ notNow = "Du darfst das gerade nicht tun.",
+ faceWall = "Du musst zur Wand schauen, um dies zu tun.",
+ faceWallBack = "Dein Rücken muss zur Wand zeigen, um dies zu tun.",
+ descChanged = "Du hast die Beschreibung deines Charakters geƤndert.",
+ charMoney = "Du hast derzeit %s.",
+ charFaction = "Du bist Mitglied der Fraktion %s.",
+ charClass = "Du bist %s der Fraktion.",
+ noSpace = "Inventar ist voll.",
+ noOwner = "Der Besitzer ist ungültig.",
+ notAllowed = "Diese Aktion ist nicht erlaubt.",
+ invalidIndex = "Der Gegenstandsindex ist ungültig.",
+ invalidItem = "Das Gegenstandsobjekt ist ungültig.",
+ invalidInventory = "Das Inventarobjekt ist ungültig.",
+ home = "Zuhause",
+ charKick = "%s hat Charakter %s gekickt.",
+ charBan = "%s hat den Charakter %s gebannt.",
+ charBanned = "Dieser Charakter ist gebannt.",
+ setMoney = "Du hast %s's Geld auf %s gesetzt.",
+ itemPriceInfo = "Du kannst diesen Gegenstand für %s kaufen.\nDu kannst diesen Gegenstand für %s verkaufen",
+ free = "Kostenlos",
+ vendorNoSellItems = "Es gibt keine GegenstƤnde zum Verkauf.",
+ vendorNoBuyItems = "Es gibt keine GegenstƤnde zum Kauf.",
+ vendorSettings = "VerkƤufer-Einstellungen",
+ vendorUseMoney = "Soll der VerkƤufer Geld verwenden?",
+ vendorNoBubble = "VerkƤufer-Bubble ausblenden?",
+ mode = "Modus",
+ price = "Preis",
+ stock = "Lagerbestand",
+ none = "Keine",
+ vendorBoth = "Kaufen und Verkaufen",
+ vendorBuy = "Nur Kaufen",
+ vendorSell = "Nur Verkaufen",
+ maxStock = "Maximaler Lagerbestand",
+ vendorFaction = "Fraktions-Editor",
+ buy = "Kaufen",
+ vendorWelcome = "Willkommen in meinem Geschäft, was kann ich für dich tun?",
+ vendorBye = "Komm bald wieder!",
+ charSearching = "Du suchst bereits nach einem anderen Charakter, bitte warte.",
+ charUnBan = "%s hat den Charakter %s entbannt.",
+ charNotBanned = "Dieser Charakter ist nicht gebannt.",
+ storPass = "Du hast das Passwort für diesen Speicher auf %s gesetzt.",
+ storPassRmv = "Du hast das Passwort für diesen Speicher entfernt.",
+ storPassWrite = "Gib das Passwort ein.",
+ wrongPassword = "Du hast ein falsches Passwort eingegeben.",
+ cheapBlur = "UnschƤrfe deaktivieren? (Erhƶht FPS)",
+ quickSettings = "Schnelleinstellungen",
+ vmSet = "Du hast deine Voicemail festgelegt.",
+ vmRem = "Du hast deine Voicemail entfernt.",
+ altLower = "HƤnde verstecken, wenn sie gesenkt sind?",
+ noPerm = "Du darfst das nicht tun.",
+ youreDead = "Du bist tot",
+ injMajor = "Scheint schwer verletzt zu sein.",
+ injLittle = "Scheint verletzt zu sein",
+ toggleObserverTP = "Beobachter-Teleport umschalten",
+ toggleESP = "Admin ESP umschalten",
+ toggleESPAdvanced = "ESP Erweiterter Modus",
+ chgName = "Namen Ƥndern",
+ chgNameDesc = "Gib den neuen Namen des Charakters unten ein.",
+ thirdpersonToggle = "Dritte Person umschalten",
+ thirdpersonClassic = "Klassische dritte Person verwenden",
+ thirdpersonConfig = "Dritte Person Konfiguration",
+ equippedBag = "Ausgerüstete Gegenstände können nicht zwischen Inventaren verschoben werden.",
+ useTip = "Verwendet den Gegenstand.",
+ equipTip = "Rüstet den Gegenstand aus.",
+ unequipTip = "Rüstet den Gegenstand ab.",
+ consumables = "Verbrauchsgüter",
+ plyNotValid = "Du schaust keinen gültigen Spieler an.",
+ restricted = "Du wurdest eingeschrƤnkt.",
+ viewProfile = "Steam-Profil anzeigen",
+ salary = "Du hast %s von deinem Gehalt erhalten.",
+ noRecog = "Du erkennst diese Person nicht.",
+ curTime = "Die aktuelle Zeit ist %s.",
+ vendorEditor = "VerkƤufer-Editor",
+ edit = "Bearbeiten",
+ disable = "Deaktivieren",
+ vendorPriceReq = "Gib den neuen Preis für diesen Gegenstand ein.",
+ vendorEditCurStock = "Aktuellen Lagerbestand bearbeiten",
+ you = "Du",
+ vendorSellScale = "Verkaufspreisskala",
+ vendorNoTrade = "Du kannst nicht mit diesem VerkƤufer handeln.",
+ vendorNoMoney = "Dieser VerkƤufer kann sich diesen Gegenstand nicht leisten.",
+ vendorNoStock = "Dieser VerkƤufer hat diesen Gegenstand nicht auf Lager.",
+ contentTitle = "NutScript Inhalt fehlt",
+ contentWarning = "Du hast den NutScript Inhalt nicht installiert. Dies kann dazu führen, dass bestimmte Funktionen fehlen.\nDie Adresse des Nutscript-Inhalts wurde zu rebel1324 geändert.\nMöchtest du die Workshop-Seite für den NutScript-Inhalt öffnen?",
+ flags = "Flags",
+ chooseTip = "WƤhle diesen Charakter zum Spielen.",
+ deleteTip = "Lƶsche diesen Charakter.",
+ moneyLeft = "Dein Geld: ",
+ currentMoney = "Verbleibendes Geld: ",
+ -- 2018 patch
+ ammoLoadAll = "Alle laden",
+ ammoLoadAmount = "%s laden",
+ ammoLoadCustom = "Laden...",
+ split = "Teilen",
+ splitHelp = "Gib eine Zahl zum Teilen ein.",
+ splitHalf = "HƤlfte teilen",
+ splitQuarter = "Viertel teilen",
+ recognize = "Erlaube diesem Charakter, dich zu erkennen.",
+ recognized = "Du hast diesem Charakter deine IdentitƤt gegeben.",
+ already_recognized = "Dieser Charakter kennt dich bereits.",
+ isTied = "Diese Person wurde gefesselt.",
+ tying = "Binden",
+ untying = "Entfesseln",
+ beingUntied = "Du wirst entfesselt.",
+ beingTied = "Du wirst gefesselt.",
+ sameOutfitCategory = "Du trƤgst bereits diese Art von Kleidung.",
+ noBusiness = "Du darfst gerade nichts kaufen.",
+ panelRemoved = "Du hast %s 3D-Panels entfernt.",
+ panelAdded = "Du hast ein 3D-Panel hinzugefügt.",
+ itemOnGround = "Dein Gegenstand wurde auf den Boden gelegt.",
+ forbiddenActionStorage = "Du kannst diese Aktion nicht mit gelagertem Gegenstand durchführen.",
+ cantDropBagHasEquipped = "Du kannst die Tasche nicht ablegen, solange ein ausgerüsteter Gegenstand darin ist.",
+ -- 2021 patch
+ lookToUseAt = "Du musst jemanden anschauen, um '@' zu verwenden.",
+ mustProvideString = "Du musst eine Zeichenfolge für die Variable angeben",
+ -- 2023 patch
+ togglePluginsDesc = "AusgewƤhlte Plugins werden deaktiviert.\nDie Karte muss nach den Ćnderungen neu gestartet werden!",
+}
diff --git a/gamemode/languages/sh_korean.lua b/gamemode/languages/sh_korean.lua
index 0174f454..f3a10035 100644
--- a/gamemode/languages/sh_korean.lua
+++ b/gamemode/languages/sh_korean.lua
@@ -1,256 +1,273 @@
NAME = "ķźµģ“"
LANGUAGE = {
- loading = "ė¶ė¬ģ¤ė ģ¤",
- dbError = "DB ģė² ģ°ź²° ģ¤ķØ",
- unknown = "ģ ģ ģģ",
- noDesc = "ģ ė³“ź° ģ”“ģ¬ķģ§ ģģµėė¤.",
- create = "ģģ±",
- createTip = "ģė”ģ“ ģŗė¦ķ°ė„¼ ģģ±ķ©ėė¤.",
- load = "ź³ģ",
- loadTip = "ķė ģ“ķ ģŗė¦ķ°ė„¼ ė¶ė¬ģµėė¤.",
- leave = "ģ¢
ė£",
- leaveTip = "ģė²ģģ ķ“ģ„ķ©ėė¤.",
- ["return"] = "ė¤ė”",
- returnTip = "ģ“ģ ė©ė“ė” ėģź°ėė¤.",
- name = "ģ“ė¦",
- desc = "ģ 볓",
- model = "ģøź“",
- attribs = "ė„ė „",
- charCreateTip = "ė¹ģ¹øė¤ģ ģ±ģ°ź³ ģė 'ģė£' ė²ķ¼ģ ėė¬ ģŗė¦ķ°ė„¼ ģģ±ķģģģ¤.",
- invalid = "ė¤ģ ģ ė³“ź° ģ”“ģ¬ķģ§ ģģµėė¤: %s",
- descMinLen = "ģ 볓ė ģ ģ“ė %d ģ ģ“ģģ“ģ“ģ¼ ķ©ėė¤.",
- model = "ģøź“",
- player = "ķė ģ“ģ“",
- finish = "ģė£",
- finishTip = "ģŗė¦ķ° ģģ±ģ ģė£ķ©ėė¤.",
- needModel = "ģ¬ė°ė„ø ģøź“ģ ģ ķķģ¬ģ¼ ķ©ėė¤.",
- creating = "ģŗė¦ķ°ė„¼ ģģ±ģ¤ģ
ėė¤...",
- unknownError = "ģ¤ė„ź° ė°ģķģģµėė¤.",
- delConfirm = "%s ģźµ¬ķ ģģ ķ ģģ ķ©ėź¹?",
- no = "ģėģ¤",
- yes = "ģ",
- itemInfo = "ģ“ė¦: %s\nģ 볓: %s",
- cloud_no_repo = "ķ“ė¼ģ°ė ź²½ė”ź° 씓ģ¬ķģ§ ģģµėė¤.",
- cloud_no_plugin = "ķ“ė¼ģ°ė ģ¶ź° źø°ė„ģ“ ģ”“ģ¬ķģ§ ģģµėė¤.",
- inv = "ģøė²¤ķ 리",
- plugins = "ģ¶ź° źø°ė„",
- author = "ģ ģģ",
- version = "ė²ģ ",
- characters = "ģŗė¦ķ°",
- business = "ģ¬ģ
",
- settings = "ģ¤ģ ",
- config = "ģ¤ģ ",
- chat = "ėķ",
- appearance = "ģøź“",
- misc = "źø°ķ",
- oocDelay = "%s ģ“넼 ė źø°ė¤ė ¤ģ¼ OOC ėķź° ź°ė„ķ©ėė¤.",
- loocDelay = "%s ģ“넼 ė źø°ė¤ė ¤ģ¼ LOOC ėķź° ź°ė„ķ©ėė¤.",
- usingChar = "ģ“미 ģ“ ģŗė¦ķ°ė” ģė²ģģ ķė ģ“ķź³ ģģµėė¤.",
- notAllowed = "ė¹ģ ģ ģ“ź²ģ ķ ź¶ķģ“ ģģµėė¤.",
- itemNoExist = "ė¹ģ ģ“ ģģ²ķ ģģ“ķ
ģ 씓ģ¬ķģ§ ģģµėė¤.",
- cmdNoExist = "ė¹ģ ģ“ ģģ²ķ ėŖ
ė ¹ģ 씓ģ¬ķģ§ ģģµėė¤.",
- plyNoExist = "ź·ø ģ“ė¦ģ ź°ģ§ ķė ģ“ģ“넼 ź²ģķ ģ ģģµėė¤.",
- cfgSet = "%s ėģ“ \"%s\" 넼 %s ģ¼ė” ģ¤ģ ķģģµėė¤.",
- drop = "ė²ė¦¬źø°",
- dropTip = "ģģ“ķ
ģ ģģ§ķģģ ģ ģøģķµėė¤.",
- take = "ź°ģ§źø°",
- takeTip = "ģģ“ķ
ģ ģģ§ķģ ģ¶ź°ģķµėė¤.",
- dTitle = "ģģ ėģ§ ģģ 문",
- dTitleOwned = "ģģ ė 문",
- dIsNotOwnable = "ģ“ ė¬øģ ģģ ķ ģ ģģµėė¤.",
- dIsOwnable = "F2넼 ėė¬ģ ģ“ ė¬øģ ģģ ķ ģ ģģµėė¤.",
- dMadeUnownable = "ė¹ģ ģ ģ“ ė¬øģ ģģ ķ ģ ģėė” ģ¤ģ ķģµėė¤.",
- dMadeOwnable = "ė¹ģ ģ ģ“ ė¬øģģ ģģ ķ ģ ģėė” ģ¤ģ ķģµėė¤.",
- dNotAllowedToOwn = "ģ“ ė¬øģ ģģ ķėė” ķź°ėģ§ ģģģµėė¤.",
- dSetDisabled = "ė¹ģ ģ ģ“ ė¬øģ źø°ė„ģ ź»ģµėė¤.",
- dSetNotDisabled = "ė¹ģ ģ ģ“ ė¬øģ źø°ė„ģ ė¤ģ ģ¼°ģµėė¤.",
- dSetHidden = "ė¹ģ ģ ģ“ ė¬øģ ģØź²¼ģµėė¤.",
- dSetNotHidden = "ė¹ģ ģ ģ“ ė¬øģ ģØź¹ ķ“ģ ķģµėė¤.",
- dSetParentDoor = "ė¹ģ ģ ģ“ ė¬øģ ģģ ź°ģ²“ė” ģ¤ģ ķģģµėė¤.",
- dCanNotSetAsChild = "ė¹ģ ģ ģ“ ė¬øģ ķģ ź°ģ²“ė” ģ¤ģ ķ ģ ģģµėė¤.",
- dAddChildDoor = "ė¹ģ ģ ģ“ ė¬øģ ķģ ź°ģ²“ė” ģ¤ģ ķģģµėė¤.",
- dRemoveChildren = "ė¹ģ ģ ģ“ ė¬øģ ķ ė¹ė ėŖØė ķģ ź°ģ²“넼 ģģ ķģµėė¤.",
- dRemoveChildDoor = "ė¹ģ ģ ģ“ ė¬øģ ķģ ź°ģ²“ģģ ģģ ķģµėė¤.",
- dNoParentDoor = "ģģ ź°ģ²“ģø ė¬øģ“ ģģµėė¤.",
- dOwnedBy = "ģ“ ė¬øģ %s ėģ ģģ ģ
ėė¤.",
- dConfigName = "문",
- dSetFaction = "ģ“ ė¬øģ ģ“ģ %s ėØģ²“ģ ģķź² ė©ėė¤.",
- dRemoveFaction = "ģ“ ė¬øģ ģ“ģ ģ“ė ėØģ²“ģė ģķģ§ ģģµėė¤.",
- dNotValid = "ģ ķØķ 문ģ ė°ė¼ė³“ź³ ģģ“ģ¼ ķ©ėė¤.",
- canNotAfford = "ģ“ ė¬øģ źµ¬ė§¤ķ ģ¶©ė¶ķ ģźøģ ź°ģ§ź³ ģģ§ ģģµėė¤.",
- dPurchased = "ģ“ ė¬øģ %sģ¼ė” 구매ķģµėė¤.",
- dSold = "ė¹ģ ģ ģ“ ė¬øģ %sģ¼ė” ķ매ķģµėė¤.",
- notOwner = "ė¹ģ ģ ģ“ ė¬øģ ģģ ķź³ ģģ§ ģģµėė¤.",
- invalidArg = "#%s ė²ģ§ø ėŖ
ė ¹ ė³ģģ ģ¬ė°ė„ø ź°ģ ģ
ė „ķ“ģ¼ ķ©ėė¤.",
- invalidFaction = "ģ ģė ģ“ė¦ģ¼ė” ė ėØģ²“넼 ģ°¾ģ ģ ģģµėė¤.",
- flagGive = "%s ėģ“ %s ėģź² '%s' ź¶ķģ 주ģģµėė¤.",
- flagGiveTitle = "ź¶ķ 주기",
- flagGiveDesc = "ģ“ ź¶ķė¤ģ ķė ģ“ģ“ģź² ģ¤ėė¤.",
- flagTake = "%s ėģ“ '%s' ź¶ķģ %s ėģ¼ė” ė¶ķ° ė°ģģµėė¤.",
- flagTakeTitle = "ķėź·ø ź°ģ§źø°.",
- flagTakeDesc = "ģ“ ź¶ķė¤ģ ķė ģ“ģ“ģź²ģ ėŗģµėė¤.",
- flagNoMatch = "ģ“ ķėģ \"%s\" ź¶ķģ ķģė” ķ©ėė¤.",
- textAdded = "ķ
ģ¤ķøė„¼ ģ¶ź°ķģģµėė¤.",
- textRemoved = "%sź°ģ ķģ¤ķøė„¼ ģģ ķģģµėė¤.",
- moneyTaken = "%s ė°ź²¬.",
- businessPurchase = "ė¹ģ ģ %s ģ/넼 %sģ źµ¬ė§¤ķģģµėė¤.",
- businessSell = "ė¹ģ ģ %s ģ/넼 %sģ ķ매ķģµėė¤.",
- cChangeModel = "%sėģ“ %sėģ ģøź“ģ źµģ²“ķģµėė¤: %s.",
- cChangeName = "%sėģ“ %sėģ ģ“ė¦ģ źµģ²“ķģµėė¤: %s.",
- cChangeSkin = "%s ź° %s's ģ ģ¤ķØģ %s ė” ė°ź¾øģģµėė¤.",
- cChangeGroups = "%s ź° %s ģ \"%s\" ė°ė그룹ģ %s ė” ė°ź¾øģģµėė¤.",
- cChangeFaction = "%s ė %s 넼 %s ķ©ģ
ģ¼ė” ģ“ėģģ¼°ģµėė¤.",
- playerCharBelonging = "ģ“ ė¬¼ź±“ģ ė¹ģ ģ ė¤ė„ø ģŗė¦ķ°ģ 물걓ģ
ėė¤.",
- business = "ģ¬ģ
",
- invalidFaction = "ė¹ģ ģ ģėŖ»ė ėØģ²“넼 ģ°øģ”°ķģµėė¤.",
- spawnAdd = "%s ź°ģ ģģģ§ģ ģ ģ¶ź°ķģģµėė¤.",
- spawnDeleted = "%sź°ģ ģģģ§ģ ģ ģģ ķģģµėė¤.",
- someone = "ėźµ°ź°",
- rgnLookingAt = "ė¹ģ ģ“ ė³“ź³ ģė ģ¬ėģ“ ė¹ģ ģ ģøģķėė” ģ ģø.",
- rgnWhisper = "ź·ģė§ ź±°ė¦¬ģ ģė ģ¬ėģ ė¹ģ ģ ģøģķėė” ģ ģø",
- rgnTalk = "ģ¼ė° ėķ ź±°ė¦¬ģ ģė ģ¬ėģ ė¹ģ ģ ģøģķėė” ģ ģø",
- rgnYell = "ģøģ¹Ø ėķ ź±°ė¦¬ģ ģė ģ¬ėģ ė¹ģ ģ ģøģķėė” ģ ģø",
- icFormat = "%s: \"%s\"",
- rollFormat = "%sėģ“ ģ£¼ģ¬ģ넼 źµ“ė øģµėė¤: %s.",
- wFormat = "%s(ź·ģė§): \"%s\"",
- yFormat = "%s(ģøģ¹Ø): \"%s\"",
- sbOptions = "%sėģ ėķ ģ ķģ§ė„¼ ė³“ė ¤ė©“ ķ“ė¦ķģģģ¤.",
- spawnAdded = "%s ėØģ²“넼 ģķ ģģ ģ§ģ ģ“ ģ¶ź°ėģģµėė¤.",
- whitelist = "%sėģ“ %sėģ %s ėØģ²“ģ ė¤ģ“ź°ėė” ķź°ķģµėė¤.",
- unwhitelist = "%sėģ“ %sėģ %s ėØģ²“ģ ė¤ģ“ź°ė ź²ģ źøģ§ķģµėė¤.",
- gettingUp = "ėŖøģ ģ¼ģ¼ķ¤ė ģ¤ģ
ėė¤...",
- wakingUp = "ģ ģ ģ 차리ė ģ¤ģ
ėė¤...",
- Weapons = "묓기",
- checkout = "물걓 ź²°ģ (%s)",
- purchase = "구매",
- purchasing = "ź²°ģ ģ§ķģ¤...",
- success = "ģ±ź³µ",
- buyFailed = "ź²°ģ ģ¤ķØ.",
- buyGood = "ź²°ģ ź° ģė£ėģģµėė¤!",
- shipment = "ģģ 물",
- shipmentDesc = "ģ“ ģģ 물ģ %sėģ ėŖ
ģė” ėģ“ģģµėė¤.",
- class = "ģ§ģ
",
- classes = "ģ§ģ
",
- illegalAccess = "ģėŖ»ė ģ ź·¼ģ
ėė¤.",
- becomeClassFail = "%sģ“/ź° ėė ź²ģ ģ¤ķØķģµėė¤.",
- becomeClass = "%sģ“/ź° ėģģµėė¤.",
- attribSet = "ė¹ģ ģ %sėģ %sģ/넼 %sė” ģ¤ģ ķģģµėė¤.",
- attribUpdate = "ė¹ģ ģ %sėģ %sģ/넼 %sė§ķ¼ ģ¶ź°ķģģµėė¤.",
- noFit = "ģģ§ķ ź³µź°ģ“ ė¶ģ”±ķ©ėė¤.",
- help = "ėģė§",
- commands = "ėŖ
ė ¹ģ“",
- helpDefault = "ėŖ©ģ°Ø ģ ķ",
- doorSettings = "문 ģ¤ģ ",
- sell = "ķ매",
- access = "ģ ź·¼",
- locking = "ģ“ ė¬¼ź±“ģ ģ ź·øė ģ¤ģ
ėė¤...",
- unlocking = "ģ“ ė¬¼ź±“ģ ģ¬ė ģ¤ģ
ėė¤...",
- modelNoSeq = "ė¹ģ ģ ģøź“ģ ģ“ ķėģ ģ§ģķģ§ ģģµėė¤.",
- notNow = "ė¹ģ ģ ģģ§ ģ“ ķėģ ķ ģ ģģµėė¤.",
- faceWall = "ģ“ ķėģ ģķ“ģ ė²½ģ ė°ė¼ė³“ź³ ģģ“ģ¼ ķ©ėė¤.",
- faceWallBack = "ģ“ ķėģ ģķ“ģ ė²½ģ ė±ģ§ź³ ģģ“ģ¼ ķ©ėė¤.",
- descChanged = "ė¹ģ ģ ģŗė¦ķ°ģ ģ 볓넼 ė³ź²½ķģµėė¤.",
- charMoney = "ė¹ģ ģ ģģ§źøģ %s ģ
ėė¤.",
- charFaction = "ė¹ģ ģ %s ėØģ²“ģ ģģėģ“ ģģµėė¤.",
- charClass = "ė¹ģ ģ ģ“ ėØģ²“ģ %s ģ
ėė¤.",
- noSpace = "ģģ§ķģ“ ź°ė ģ°¼ģµėė¤.",
- noOwner = "ģģ ģź° 씓ģ¬ķģ§ ģģµėė¤.",
- notAllowed = "ģ“ ķėģ ķź°ėģ§ ģģģµėė¤.",
- invalidIndex = "ģģ“ķ
ģ źµ¬ė¶ ė²ķøź° ģ¬ė°ė„“ģ§ ģģµėė¤.",
- invalidItem = "ģģ“ķ
ź°ģ²“ ģ°øģ”°ź° ģėŖ»ėģģµėė¤.",
- invalidInventory = "ģģ§ķ ź°ģ²“ ģ°øģ”°ź° ģėŖ»ėģģµėė¤.",
- home = "ģ“źø°",
- charKick = "%sėģ“ %sėģ ģŗė¦ķ°ė„¼ ģ¶ė°©ķģģµėė¤.",
- charBan = "%sėģ“ %sėģ ģŗė¦ķ°ė„¼ ģźµ¬ķ ģ¶ė°©ķģģµėė¤.",
- charBanned = "ģ“ ģŗė¦ķ°ė ģ¬ģ©ģ“ źøģ§ėģģµėė¤.",
- setMoney = "ė¹ģ ģ %sėģ ėģ %sģ¼ė” ģ¤ģ ķģģµėė¤.",
- itemPriceInfo = "ģ“ ģģ“ķ
ģ %sģ źµ¬ė§¤ź° ź°ė„ķ©ėė¤.\nģ“ ģģ“ķ
ģ %sģ ķė§¤ź° ź°ė„ķ©ėė¤",
- free = "묓ė£",
- vendorNoSellItems = "ķ매ķ ģģ“ķ
ģ“ ģģµėė¤.",
- vendorNoBuyItems = "구매ķ ģģ“ķ
ģ“ ģģµėė¤.",
- vendorSettings = "ģģø ģ¤ģ ",
- vendorUseMoney = "ģģøģ ģ ķė ė",
- vendorNoBubble = "ė§ķģ ė³“ģ“źø°",
- mode = "ģķ",
- price = "ź°ź²©",
- stock = "ģ¬ź³ ",
- none = "ģģ",
- vendorBoth = "ķė§¤ģ źµ¬ė§¤",
- vendorBuy = "구매 ģ ģ©",
- vendorSell = "ķ매 ģ ģ©",
- maxStock = "ģµė ģ¬ź³ ",
- vendorFaction = "ķ©ģ
ģėķ°",
- buy = "구매",
- vendorWelcome = "ģ“ģģ¤ģøģ. 묓ģģ ģ°¾ģ¼ģėź¹?",
- vendorBye = "ė¤ģģ ė ģ¤ģøģ!",
- charSearching = "ģ“미 ģŗė¦ķ°ė„¼ ģģķź³ ģģµėė¤.",
- charUnBan = "%s ėģ“ ė¤ģ ģŗė¦ķ°ė„¼ źøģ§ ķ“ģ ķģµėė¤: %s.",
- charNotBanned = "ģ“ ģŗė¦ķ°ė źøģ§ėģ§ ģģģµėė¤.",
- storPass = "ģ“ ė³“ź“ķØģ ģķøė„¼ %s ģ¼ė” ģ¤ģ ķģģµėė¤.",
- storPassRmv = "ģ“ ė³“ź“ķØģ ģķøė„¼ ģģ ķģµėė¤.",
- storPassWrite = "ģķøė„¼ ģ
ė „ķ“ ģ£¼ģģģ¤.",
- wrongPassword = "ģķøź° ė¤ė¦
ėė¤.",
- cheapBlur = "ėøė¬ ķØź³¼ ģ¬ģ© (FPS ķ„ģ)",
- quickSettings = "ė¹ ė„ø ģ¤ģ ",
- vmSet = "ź°ģø ź·ģė§ģ ģ¤ģ ķģµėė¤.",
- vmRem = "ź°ģø ź·ģė§ģ ģģ ķģµėė¤.",
- altLower = "주먹 미ģ¬ģ©ģ ģØź¹",
- noPerm = "ģ“ ķģ넼 ķ ź¶ķģ“ ģģµėė¤.",
- youreDead = "ė¹ģ ģ 죽ģģµėė¤",
- injMajor = "ģ¤ģģ ģ
ģ.",
- injLittle = "ė¶ģģ ģ
ģ.",
- toggleESP = "ģ“ė민 ģķµ ģ¬ģ©",
- chgName = "ģ“ė¦ ė³ź²½",
- chgNameDesc = "ģėģ ģŗė¦ķ°ģ ģė”ģ“ ģ“ė¦ģ ģ
ė „ķģøģ.",
- thirdpersonToggle = "3ģøģ¹ ģ¬ģ©",
- thirdpersonClassic = "ķ“ėģ 3ģøģ¹ ģ¬ģ©",
- equippedBag = "ź°ė°© ė“ė¶ģ ģ¬ģ©ģ¤ģø ģģ“ķ
ģ“ ģģµėė¤.",
- useTip = "ģ“ ģģ“ķ
ģ ģ¬ģ©ķ©ėė¤.",
- equipTip = "ģ“ ģģ“ķ
ģ ģ°©ģ©ķ©ėė¤.",
- unequipTip = "ģ“ ģģ“ķ
ģ ģ°©ģ©ķ“ģ ķ©ėė¤.",
- consumables = "ģėŖØķ",
- plyNotValid = "ė¹ģ ģ ģėŖ»ė ķė ģ“ģ“넼 ė³“ź³ ģģµėė¤.",
- restricted = "ė¹ģ ģ ģ ģ§ėģģµėė¤.",
- viewProfile = "ģ¤ķ ķė”ķ 볓기",
- salary = "ė¹ģ ģ &s ė§ķ¼ģ ėģ ė“źøģ¼ė” ė°ģģµėė¤.",
- noRecog = "ė¹ģ ģ ģ“ ģ¬ėģ ģøģķģ§ ģģģµėė¤.",
- curTime = "ģ§źø ģź°ģ %s.",
- vendorEditor = "ģģø ģģ ",
- edit = "ģģ ",
- disable = "ķ“ģ ",
- vendorPriceReq = "ģ“ ė¬¼ķģ ģė”ģ“ ź°ź²©ģ ģ ģ¼ģģģ¤.",
- vendorEditCurStock = "ķģ¬ ģ¬ź³ ģģ ",
- you = "ė¹ģ ",
- vendorSellScale = "ķ매 ź°ź²© ź·ėŖØ",
- vendorNoTrade = "ė¹ģ ģ ģ“ ģģøź³¼ ź±°ėķ ģ ģģµėė¤.",
- vendorNoMoney = "ģ“ ģģøģ ķ“ė¹ ė¬¼ķģ ģ¬ė¤ģ¼ ģ ģģµėė¤.",
- vendorNoStock = "ģ“ ģģøģ ķ“ė¹ ė¬¼ķģ ģ¬ź³ ź° ģģµėė¤.",
- contentTitle = "NutScript ģ½ķ
ģø ģģ.",
- contentWarning = "ė¹ģ ģ NutScript ģ½ķ
ģø ź° ģ ģ©ėģ“ģģ§ ģģµėė¤. ķ¹ģ źø°ė„ģ“ ėė½ė ģ ģģµėė¤.\nNutscipt ģ½ķ
ģø ė„¼ ģ ģ©ķ“ģ¼ ķ©ėė¤.",
- flags = "ķėź·ø",
+ LANGUAGE = {
+ loading = "ė”ė© ģ¤",
+ dbError = "ė°ģ“ķ°ė² ģ“ģ¤ ģ°ź²° ģ¤ķØ",
+ unknown = "ģ ģ ģģ",
+ noDesc = "ģ¤ėŖ
ģģ",
+ create = "ģģ±",
+ createTip = "ģė”ģ“ ģŗė¦ķ°ė„¼ ģģ±ķ©ėė¤.",
+ load = "ė¶ė¬ģ¤źø°",
+ loadTip = "ģ“ģ ģ ģģ±ķ ģŗė¦ķ°ė„¼ ģ ķķģ¬ ķė ģ“ķ©ėė¤.",
+ leave = "ėź°źø°",
+ leaveTip = "ķģ¬ ģė²ģģ ėź°ėė¤.",
+ ["return"] = "ėģź°źø°",
+ returnTip = "ģ“ģ ė©ė“ė” ėģź°ėė¤.",
+ name = "ģ“ė¦",
+ desc = "ģ¤ėŖ
",
+ model = "ėŖØėø",
+ attribs = "ģģ±",
+ charCreateTip = "ģė ķė넼 ģģ±ķź³ 'ģė£'넼 ėė¬ ģŗė¦ķ°ė„¼ ģģ±ķ©ėė¤.",
+ invalid = "%s넼 ģėŖ» ģ
ė „ķģ
Øģµėė¤.",
+ descMinLen = "ģ¤ėŖ
ģ ģµģ %dģ ģ“ģģ“ģ“ģ¼ ķ©ėė¤.",
+ player = "ķė ģ“ģ“",
+ finish = "ģė£",
+ finishTip = "ģŗė¦ķ° ģģ±ģ ģė£ķ©ėė¤.",
+ needModel = "ģ¬ė°ė„ø ėŖØėøģ ģ ķķ“ģ¼ ķ©ėė¤.",
+ creating = "ģŗė¦ķ° ģģ± ģ¤...",
+ unknownError = "ģ ģ ģė ģ¤ė„ź° ė°ģķģµėė¤.",
+ delConfirm = "%sģ(넼) ģźµ¬ģ ģ¼ė” ģģ ķģź² ģµėź¹?",
+ no = "ģėģ¤",
+ yes = "ģ",
+ itemInfo = "ģ“ė¦: %s\nģ¤ėŖ
: %s",
+ itemCreated = "ģģ“ķ
ģ ģ±ź³µģ ģ¼ė” ģģ±ķģµėė¤.",
+ cloud_no_repo = "ģ ź³µė ģ ģ„ģź° ģ ķØķģ§ ģģµėė¤.",
+ cloud_no_plugin = "ģ ź³µė ķė¬ź·øģøģ“ ģ ķØķģ§ ģģµėė¤.",
+ inv = "ģøė²¤ķ 리",
+ plugins = "ķė¬ź·øģø",
+ togglePlugins = "ķė¬ź·øģø ķģ±ķ/ė¹ķģ±ķ",
+ author = "ģģ±ģ",
+ version = "ė²ģ ",
+ characters = "ģŗė¦ķ°",
+ settings = "ģ¤ģ ",
+ config = "구ģ±",
+ chat = "ģ±ķ
",
+ appearance = "ģøėŖØ",
+ misc = "źø°ķ",
+ oocDelay = "OOC넼 ė¤ģ ģ¬ģ©ķė ¤ė©“ %s ģ“넼 ė źø°ė¤ė ¤ģ¼ ķ©ėė¤.",
+ loocDelay = "LOOC넼 ė¤ģ ģ¬ģ©ķė ¤ė©“ %s ģ“넼 ė źø°ė¤ė ¤ģ¼ ķ©ėė¤.",
+ usingChar = "ģ“미 ģ“ ģŗė¦ķ°ė„¼ ģ¬ģ©ķź³ ģģµėė¤.",
+ itemNoExist = "ģ£ģ”ķ©ėė¤, ģģ²ķ ģģ“ķ
ģ“ ģ”“ģ¬ķģ§ ģģµėė¤.",
+ cmdNoExist = "ģ£ģ”ķ©ėė¤, ķ“ė¹ ėŖ
ė ¹ģ“ź° 씓ģ¬ķģ§ ģģµėė¤.",
+ plyNoExist = "ģ£ģ”ķ©ėė¤, ģ¼ģ¹ķė ķė ģ“ģ“넼 ģ°¾ģ ģ ģģµėė¤.",
+ cfgSet = "%sėģ“ \"%s\"넼 %s(ģ¼)ė” ģ¤ģ ķģģµėė¤.",
+ drop = "ė²ė¦¬źø°",
+ dropTip = "ģøė²¤ķ 리ģģ ģ“ ģģ“ķ
ģ ė²ė¦½ėė¤.",
+ take = "ź°ģ øź°źø°",
+ takeTip = "ģ“ ģģ“ķ
ģ ź°ģ øģģ ģøė²¤ķ 리ģ ė£ģµėė¤.",
+ dTitle = "ģģ ėģ§ ģģ 문",
+ dTitleOwned = "구매ė 문",
+ dIsNotOwnable = "ģ“ ė¬øģ ģģ ķ ģ ģģµėė¤.",
+ dIsOwnable = "F2넼 ėė¬ ģ“ ė¬øģ źµ¬ė§¤ķ ģ ģģµėė¤.",
+ dMadeUnownable = "ģ“ ė¬øģ ģģ ķ ģ ģź² ė§ė¤ģģµėė¤.",
+ dMadeOwnable = "ģ“ ė¬øģ ģģ ķ ģ ģź² ė§ė¤ģģµėė¤.",
+ dNotAllowedToOwn = "ģ“ ė¬øģ ģģ ķ ź¶ķģ“ ģģµėė¤.",
+ dSetDisabled = "ģ“ ė¬øģ ė¹ķģ±ķķģµėė¤.",
+ dSetNotDisabled = "ģ“ ė¬øģ ė ģ“ģ ė¹ķģ±ķķģ§ ģģģµėė¤.",
+ dSetHidden = "ģ“ ė¬øģ ģØź¹ ģ²ė¦¬ķģµėė¤.",
+ dSetNotHidden = "ģ“ ė¬øģ ė ģ“ģ ģØź¹ ģ²ė¦¬ķģ§ ģģģµėė¤.",
+ dSetParentDoor = "ģ“ ė¬øģ ģģ 문ģ¼ė” ģ¤ģ ķģµėė¤.",
+ dCanNotSetAsChild = "ģģ 문ģ ķģė” ģ¤ģ ķ ģ ģģµėė¤.",
+ dAddChildDoor = "ģ“ ė¬øģ ķģė” ģ¶ź°ķģµėė¤.",
+ dRemoveChildren = "ģ“ ė¬øģ ėŖØė ķģ 문ģ ģ ź±°ķģµėė¤.",
+ dRemoveChildDoor = "ģ“ ė¬øģ ķģ 문ģģ ģ ź±°ķģµėė¤.",
+ dNoParentDoor = "ģģ ė¬øģ“ ģ¤ģ ėģ§ ģģģµėė¤.",
+ dOwnedBy = "ģ“ ė¬øģ %s ģģ ģ
ėė¤.",
+ dConfigName = "문",
+ dSetFaction = "ģ“ ė¬øģ ģ“ģ %s ķ©ģ
ģ ģķ©ėė¤.",
+ dRemoveFaction = "ģ“ ė¬øģ ė ģ“ģ ģ“ė¤ ķ©ģ
ģė ģķģ§ ģģµėė¤.",
+ dNotValid = "ģ ķØķ 문ģ ė³“ź³ ģģ§ ģģµėė¤.",
+ canNotAfford = "ģ“ź²ģ 구매ķ ėģ“ ė¶ģ”±ķ©ėė¤.",
+ dPurchased = "ģ“ ė¬øģ %sģź² 구매ķģµėė¤.",
+ dSold = "ģ“ ė¬øģ %sģź² ķ매ķģµėė¤.",
+ notOwner = "ģ“ź²ģ ģģ ģź° ģėėė¤.",
+ invalidArg = "ģøģ #%sģ ėķ ģėŖ»ė ź°ģ“ ģ ź³µėģģµėė¤.",
+ flagGive = "%sėģ“ %sģź² '%s' ķėź·øė„¼ ė¶ģ¬ķģģµėė¤.",
+ flagGiveTitle = "ķėź·ø ė¶ģ¬",
+ flagGiveDesc = "ė¤ģģ ķėź·øė„¼ ķė ģ“ģ“ģź² ė¶ģ¬ķ©ėė¤.",
+ flagTake = "%sėģ“ %sė”ė¶ķ° '%s' ķėź·øė„¼ ģ ź±°ķģģµėė¤.",
+ flagTakeTitle = "ķėź·ø ģ ź±°",
+ flagTakeDesc = "ķė ģ“ģ“ė”ė¶ķ° ė¤ģģ ķėź·øė„¼ ģ ź±°ķ©ėė¤.",
+ flagNoMatch = "ģ“ ģģ
ģ ģķķė ¤ė©“ \"%s\" ķėź·øź° ķģķ©ėė¤.",
+ textAdded = "ķ
ģ¤ķøė„¼ ģ¶ź°ķģµėė¤.",
+ textRemoved = "%sź°ģ ķ
ģ¤ķøė„¼ ģ ź±°ķģµėė¤.",
+ moneyTaken = "%s넼 ģ°¾ģģµėė¤.",
+ businessPurchase = "%sģ(넼) %sģź² 구매ķģµėė¤.",
+ businessSell = "%sģ(넼) %sģź² ķ매ķģµėė¤.",
+ cChangeModel = "%sėģ“ %sģ ėŖØėøģ %s(ģ¼)ė” ė³ź²½ķģģµėė¤.",
+ cChangeName = "%sėģ“ %sģ ģ“ė¦ģ %s(ģ¼)ė” ė³ź²½ķģģµėė¤.",
+ cChangeSkin = "%sėģ“ %sģ ģ¤ķØģ %s(ģ¼)ė” ė³ź²½ķģģµėė¤.",
+ cChangeGroups = "%sėģ“ %sģ \"%s\" ė°ė그룹ģ %s(ģ¼)ė” ė³ź²½ķģģµėė¤.",
+ cChangeFaction = "%sėģ“ %sģ(넼) %s ķ©ģ
ģ¼ė” ģ“ģ ķģģµėė¤.",
+ playerCharBelonging = "ģ“ ė¬¼ź±“ģ ė¤ė„ø ģŗė¦ķ°ģ ģģ 물ģ
ėė¤.",
+ business = "ģģ
",
+ invalidFaction = "ģ ķØķģ§ ģģ ķ©ģ
ģ ģ ź³µķģģµėė¤.",
+ limitFaction = "ģ“ ķ©ģ
ģ ź°ė ģ°¼ģµėė¤. ėģ¤ģ ė¤ģ ģėķģøģ.",
+ spawnAdd = "%s ģ¤ķ° ģ§ģ ģ ģ¶ź°ķģģµėė¤.",
+ spawnDeleted = "%s ģ¤ķ° ģ§ģ ģ ģģ ķģģµėė¤.",
+ someone = "ėźµ°ź°",
+ rgnLookingAt = "ė¹ģ ģ ė³“ź³ ģė ģ¬ėģź² ģøģėėė” ķģ©ķ©ėė¤.",
+ rgnWhisper = "ģģģ ė²ģģ ģ¬ėģź² ģøģėėė” ķģ©ķ©ėė¤.",
+ rgnTalk = "ė§ ė²ģģ ģ¬ėģź² ģøģėėė” ķģ©ķ©ėė¤.",
+ rgnYell = "ģøģ¹Ø ė²ģģ ģ¬ėģź² ģøģėėė” ķģ©ķ©ėė¤.",
+ icFormat = "%sėģ“ \"%s\"(ģ)넼 ė§ķģģµėė¤.",
+ rollFormat = "%sėģ“ %s(ģ)넼 źµ“ė øģµėė¤.",
+ wFormat = "%sėģ“ ģģģ: \"%s\"",
+ yFormat = "%sėģ“ ģøģ¹Ø: \"%s\"",
+ sbOptions = "%sģ ģµģ
ģ ė³“ė ¤ė©“ ķ“ė¦ķģøģ.",
+ spawnAdded = "%s ģ¤ķ° ģ§ģ ģ ģ¶ź°ķģģµėė¤.",
+ whitelist = "%sėģ“ %sģ(넼) %s ķ©ģ
ģ ķģ“ķøė¦¬ģ¤ķøģ ģ¶ź°ķģģµėė¤.",
+ unwhitelist = "%sėģ“ %sģ(넼) %s ķ©ģ
ģ ķģ“ķøė¦¬ģ¤ķøģģ ģ ź±°ķģģµėė¤.",
+ gettingUp = "ģ“ģ ģ¼ģ“ėė ģ¤ģ
ėė¤...",
+ wakingUp = "ģģģ ķė³µ ģ¤ģ
ėė¤...",
+ Weapons = "묓기",
+ checkout = "첓ķ¬ģģģ¼ė” ģ“ė (%s)",
+ purchase = "구매",
+ purchasing = "구매 ģ¤...",
+ success = "ģ±ź³µ",
+ buyFailed = "구매 ģ¤ķØ",
+ buyGood = "구매 ģ±ź³µ!",
+ shipment = "ģ¶ķ",
+ shipmentDesc = "ģ“ ģ¶ķ물ģ %s ģģ ģ
ėė¤.",
+ class = "ķ“ėģ¤",
+ classes = "ķ“ėģ¤",
+ illegalAccess = "ė¶ė² ģ ź·¼.",
+ becomeClassFail = "%sģ“(ź°) ėė ė° ģ¤ķØķģģµėė¤.",
+ becomeClass = "ģ“ģ %sģ
ėė¤.",
+ attribSet = "%sėģ“ %sģ %sģ(넼) %sģ¼ė” ģ¤ģ ķģģµėė¤.",
+ attribUpdate = "%sėģ“ %sģ %sģ(넼) %sė§ķ¼ ģ¦ź°ķģģµėė¤.",
+ noFit = "ģ“ ģģ“ķ
ģ ģøė²¤ķ 리ģ ė¤ģ“ź°ģ§ ģģµėė¤.",
+ help = "ėģė§",
+ commands = "ėŖ
ė ¹ģ“",
+ helpDefault = "칓ķ
ź³ ė¦¬ė„¼ ģ ķķģøģ.",
+ doorSettings = "문 ģ¤ģ ",
+ sell = "ķ매",
+ access = "ģ ź·¼",
+ locking = "ģ“ ģķ°ķ°ė„¼ ģ ź·øė ģ¤...",
+ unlocking = "ģ“ ģķ°ķ°ė„¼ ģ“ģ“ė ģ¤...",
+ modelNoSeq = "ėŖØėøģ“ ģ“ ėģģ ģ§ģķģ§ ģģµėė¤.",
+ notNow = "ķģ¬ ģ“ ģģ
ģ ģķķ ģ ģģµėė¤.",
+ faceWall = "ģ“ ė²½ģ ė°ė¼ė³“ģģ¼ ķ©ėė¤.",
+ faceWallBack = "ģ“ ė²½ģ ė·ė©“ģ ė°ė¼ė³“ģģ¼ ķ©ėė¤.",
+ descChanged = "ģŗė¦ķ° ģ¤ėŖ
ģ ė³ź²½ķģģµėė¤.",
+ charMoney = "ķģ¬ ė³“ģ źøģ”: %s",
+ charFaction = "%s ķ©ģ
ģ ģ¼ģģ
ėė¤.",
+ charClass = "ė¹ģ ģ %s ķ©ģ
ģ %sģ
ėė¤.",
+ noSpace = "ģøė²¤ķ ė¦¬ź° ź°ė ģ°¼ģµėė¤.",
+ noOwner = "ģģ ģź° ģ ķØķģ§ ģģµėė¤.",
+ notAllowed = "ģ“ ģģ
ģ ķģ©ėģ§ ģģµėė¤.",
+ invalidIndex = "ģģ“ķ
ģøė±ģ¤ź° ģ ķØķģ§ ģģµėė¤.",
+ invalidItem = "ģģ“ķ
ź°ģ²“ź° ģ ķØķģ§ ģģµėė¤.",
+ invalidInventory = "ģøė²¤ķ 리 ź°ģ²“ź° ģ ķØķģ§ ģģµėė¤.",
+ home = "ķ",
+ charKick = "%sėģ“ ģŗė¦ķ° %sģ(넼) ķ„ķģģµėė¤.",
+ charBan = "%sėģ“ ģŗė¦ķ° %sģ(넼) ė°“ķģģµėė¤.",
+ charBanned = "ģ“ ģŗė¦ķ°ė ė°“ėģģµėė¤.",
+ setMoney = "%sėģ“ %sģ ėģ %sģ¼ė” ģ¤ģ ķģģµėė¤.",
+ itemPriceInfo = "ģ“ ģģ“ķ
ģ %sģ źµ¬ė§¤ķź±°ė %sģ ķ매ķ ģ ģģµėė¤.",
+ free = "묓ė£",
+ vendorNoSellItems = "ķ매ķ ģģ“ķ
ģ“ ģģµėė¤.",
+ vendorNoBuyItems = "구매ķ ģģ“ķ
ģ“ ģģµėė¤.",
+ vendorSettings = "ķ매ģ ģ¤ģ ",
+ vendorUseMoney = "ķė§¤ģź° ėģ ģ¬ģ©ķ“ģ¼ ķėģ?",
+ vendorNoBubble = "ķ매ģ ė§ķģ ģØźø°źø°?",
+ mode = "ėŖØė",
+ price = "ź°ź²©",
+ stock = "ģ¬ź³ ",
+ none = "ģģ",
+ vendorBoth = "구매 ė° ķ매",
+ vendorBuy = "구매 ģ ģ©",
+ vendorSell = "ķ매 ģ ģ©",
+ maxStock = "ģµė ģ¬ź³ ",
+ vendorFaction = "ķ©ģ
ģėķ°",
+ buy = "구매",
+ vendorWelcome = "ė“ ź°ź²ģ ģ¤ģ ź²ģ ķģķ©ėė¤. ģ¤ė ģ“ė¤ ź²ģ ė릓ź¹ģ?",
+ vendorBye = "ė¤ģģ ė ģ¤ģøģ!",
+ charSearching = "ģ“미 ė¤ė„ø ģŗė¦ķ°ė„¼ ź²ģ ģ¤ģ
ėė¤. ģ ģ źø°ė¤ė ¤ģ£¼ģøģ.",
+ charUnBan = "%sėģ“ ģŗė¦ķ° %sģ ė°“ģ ķ“ģ ķģģµėė¤.",
+ charNotBanned = "ģ“ ģŗė¦ķ°ė ė°“ėģ§ ģģģµėė¤.",
+ storPass = "ģ“ ģ ģ„ģģ ė¹ė°ė²ķøė„¼ %s(ģ¼)ė” ģ¤ģ ķģģµėė¤.",
+ storPassRmv = "ģ“ ģ ģ„ģģ ė¹ė°ė²ķøė„¼ ģ ź±°ķģģµėė¤.",
+ storPassWrite = "ė¹ė°ė²ķøė„¼ ģ
ė „ķģøģ.",
+ wrongPassword = "ģėŖ»ė ė¹ė°ė²ķøė„¼ ģ
ė „ķģģµėė¤.",
+ cheapBlur = "ķ림 ķØź³¼ ė¹ķģ±ķ? (FPS ģģ¹)",
+ quickSettings = "ė¹ ė„ø ģ¤ģ ",
+ vmSet = "ģģ± ė©ģģ§ė„¼ ģ¤ģ ķģģµėė¤.",
+ vmRem = "ģģ± ė©ģģ§ė„¼ ģ ź±°ķģģµėė¤.",
+ altLower = "ģģ ģØźøøź¹ģ?",
+ noPerm = "ģ“ ģģ
ģ ģķķ ź¶ķģ“ ģģµėė¤.",
+ youreDead = "ė¹ģ ģ 죽ģģµėė¤",
+ injMajor = "ģ¹ėŖ
ģ ģø ģģ²ź° ģė ź² ź°ģµėė¤.",
+ injLittle = "ģģ²ė„¼ ģ
ģ ź² ź°ģµėė¤",
+ toggleObserverTP = "ź“ģ ģ ķ
ė ķ¬ķø ķ źø",
+ toggleESP = "ź“리ģ ESP ķ źø",
+ toggleESPAdvanced = "ESP ź³ źø ėŖØė",
+ chgName = "ģ“ė¦ ė³ź²½",
+ chgNameDesc = "ģėģ ģŗė¦ķ°ģ ģ ģ“ė¦ģ ģ
ė „ķģøģ.",
+ thirdpersonToggle = "ģėķ¼ģØ ķ źø",
+ thirdpersonClassic = "ķ“ėģ ģėķ¼ģØ ģ¬ģ©",
+ thirdpersonConfig = "ģėķ¼ģØ ģ¤ģ ",
+ equippedBag = "ģ„ė¹ė„¼ ģ„ģ°©ķ ģģ“ķ
ģ ģøė²¤ķ 리 ź° ģ“ėģ“ ė¶ź°ė„ķ©ėė¤.",
+ useTip = "ģģ“ķ
ģ¬ģ©",
+ equipTip = "ģģ“ķ
ģ„ģ°©",
+ unequipTip = "ģģ“ķ
ķ“ģ ",
+ consumables = "ģė¹ķ",
+ plyNotValid = "ģ ķØķ ķė ģ“ģ“넼 ė³“ź³ ģģ§ ģģµėė¤.",
+ restricted = "ģ ķėØ",
+ viewProfile = "ģ¤ķ ķė”ķ 볓기",
+ salary = "ė¹ģ ģ ģźøģ¼ė” %sģ(넼) ė°ģģµėė¤.",
+ noRecog = "ė¹ģ ģ ģ“ ģ¬ėģ ģøģķģ§ ėŖ»ķ©ėė¤.",
+ curTime = "ķģ¬ ģź°ģ %s ģ
ėė¤.",
+ vendorEditor = "ķ매ģ ģėķ°",
+ edit = "ķøģ§",
+ disable = "ė¹ķģ±ķ",
+ vendorPriceReq = "ģ“ ģģ“ķ
ģ ģ ź°ź²©ģ ģ
ė „ķģøģ.",
+ vendorEditCurStock = "ķģ¬ ģ¬ź³ ķøģ§",
+ you = "ė¹ģ ",
+ vendorSellScale = "ķ매 ź°ź²© ģ¤ģ¼ģ¼",
+ vendorNoTrade = "ģ“ ķ매ģģ ź±°ėķ ģ ģģµėė¤.",
+ vendorNoMoney = "ģ“ ķ매ģė ź·ø ģģ“ķ
ģ źµ¬ė§¤ķ ģ ģģµėė¤.",
+ vendorNoStock = "ģ“ ķ매ģė ź·ø ģģ“ķ
ģ ģ¬ź³ ģ ź°ģ§ź³ ģģ§ ģģµėė¤.",
+ contentTitle = "NutScript ģ½ķ
ģø ģģ",
+ contentWarning = "NutScript ģ½ķ
ģø ė„¼ ė§ģ“ķøķģ§ ģģģµėė¤. ģ“ė” ģøķ“ ģ¼ė¶ źø°ė„ģ“ ėė½ė ģ ģģµėė¤.\nNutscript ģ½ķ
ģø ģ ģ£¼ģź° rebel1324ģ ź²ģ¼ė” ė³ź²½ėģģµėė¤.\nNutScript ģ½ķ
ģø ģ ģķ¬ģµ ķģ“ģ§ė„¼ ģ“ģ“ė³“ģź² ģµėź¹?",
+ flags = "ķėź·ø",
+ chooseTip = "ģ“ ģŗė¦ķ°ė„¼ ģ ķķģ¬ ķė ģ“ķģøģ.",
+ deleteTip = "ģ“ ģŗė¦ķ°ė„¼ ģģ ķģøģ.",
+ moneyLeft = "ė³“ģ źøģ”: ",
+ currentMoney = "ėØģ ė: ",
- -- 2018 patch
+ -- 2018 ķØģ¹
+
+ ammoLoadAll = "ģ 첓 ģ„ģ ",
+ ammoLoadAmount = "%s ģ„ģ ",
+ ammoLoadCustom = "ģ¬ģ©ģ ģ ģė” ģ„ģ ...",
+ split = "ėėźø°",
+ splitHelp = "ėė ģ«ģ넼 ģ
ė „ķģøģ.",
+ splitHalf = "1/2 ėėźø°",
+ splitQuarter = "1/4 ėėźø°",
+ recognize = "ģ“ ģŗė¦ķ°ģź² ė¹ģ ģ ģøģķź² ķģ©ķ©ėė¤.",
+ recognized = "ģ“ ģŗė¦ķ°ģź² ė¹ģ ģ ģ ģģ ģė øģµėė¤.",
+ already_recognized = "ģ“ ģŗė¦ķ°ė ģ“미 ė¹ģ ģ ģź³ ģģµėė¤.",
+ isTied = "ģ“ ģ¬ėģ ė¬¶ģ¬ ģģµėė¤.",
+ tying = "묶ė ģ¤",
+ untying = "묶기 ķ“ģ ģ¤",
+ beingUntied = "ė¹ģ ģ ģ§źø ė¬¶źø°ź° ķ“ģ ėź³ ģģµėė¤.",
+ beingTied = "ė¹ģ ģ ģ§źø ė¬¶źø°ź° ėź³ ģģµėė¤.",
+ sameOutfitCategory = "ģ“ ģ ķģ ģģģ ģ“미 ģ
ź³ ģģµėė¤.",
+ noBusiness = "ķģ¬ ģ묓ź²ė źµ¬ė§¤ķ ź¶ķģ“ ģģµėė¤.",
+ panelRemoved = "%s ź°ģ 3D ķØėģ ģ ź±°ķģģµėė¤.",
+ panelAdded = "3D ķØėģ ģ¶ź°ķģģµėė¤.",
+ itemOnGround = "ģģ“ķ
ģ“ ė
ģ ėģģµėė¤.",
+ forbiddenActionStorage = "ģ ģ„ė ģģ“ķ
ģ¼ė”ė ģ“ ģģ
ģ ģķķ ģ ģģµėė¤.",
+ cantDropBagHasEquipped = "ģ„ė¹ź° ģ„ģ°©ė ź°ė°©ģ ė²ė¦“ ģ ģģµėė¤.",
+
+ -- 2021 ķØģ¹
+ lookToUseAt = "ģ¬ģ©ķė ¤ė©“ ėźµ°ź°ė„¼ ė°ė¼ė“ģ¼ ķ©ėė¤.",
+ mustProvideString = "ė³ģģ 문ģģ“ģ ģ ź³µķ“ģ¼ ķ©ėė¤.",
+
+ -- 2023 ķØģ¹
+ togglePluginsDesc = "ģ ķķ ķė¬ź·øģøģ“ ė¹ķģ±ķė©ėė¤.\nė³ź²½ ģ¬ķģ ģ ģ©ķė ¤ė©“ ė§µģ ė¤ģ ģģķ“ģ¼ ķ©ėė¤!",
+ }
- ammoLoadAll = "ėŖØė ģ¬ģ©",
- ammoLoadAmount = "%sź° ģ¬ģ©",
- ammoLoadCustom = "ģė ģ
ė „",
- split = "ėėźø°",
- splitHelp = "ėė ģėģ ģ
ė „ķģøģ.",
- splitHalf = "1/2ė” ėėźø°",
- splitQuarter = "1/4ė” ėėźø°",
- recognize = "ģ“ ģŗė¦ķ°ź° ė¹ģ ģ ģøģķėė” ķģ©ķ©ėė¤.",
- recognized = "ģ“ ģŗė¦ķ°ģź² ė¹ģ ģ ģøģķź² ķģµėė¤.",
- already_recognized = "ģ“ ģŗė¦ķ°ė ģ“미 ė¹ģ ģ ģøģķģµėė¤.",
- isTied = "ģ“ ģ¬ėģ ģģ“ ė¬¶ģ¬ ģģµėė¤.",
- tying = "묶ė ģ¤",
- untying = "ķģ“주ė ģ¤",
- beingUntied = "ė¹ģ ģ ģģ“ ķė¦¬ź³ ģģµėė¤.",
- beingTied = "ė¹ģ ģ ģģ“ ė¬¶ģ“ź³ ģģµėė¤.",
- sameOutfitCategory = "ė¹ģ ģ ģ“미 ķ“ė¹ ģ ķģ ģģģ ģ°©ģ©ķź³ ģģµėė¤.",
- noBusiness = "ė¹ģ ģ ģ§źø ģ묓ź²ė 구매ķģ¤ ģ ģģµėė¤.",
- panelRemoved = "ė¹ģ ģ %sź°ģ 3D ķØėģ ģ§ģ ģµėė¤.",
- panelAdded = "ė¹ģ ģ 3D ķØėģ ģ¶ź°ķģµėė¤.",
- forbiddenActionStorage = "ķ“ė¹ ķėģ 볓ź“ė ģģ“ķ
ģź² ķ ģ ģģµėė¤.",
- cantDropBagHasEquipped = "ģ„ģ°©ė ģģ“ķ
ģ“ ģė ź°ė°©ģ ė²ė¦“ ģ ģģµėė¤."
}
diff --git a/gamemode/languages/sh_norwegian.lua b/gamemode/languages/sh_norwegian.lua
index 1dc74f52..be529945 100644
--- a/gamemode/languages/sh_norwegian.lua
+++ b/gamemode/languages/sh_norwegian.lua
@@ -1,232 +1,269 @@
NAME = "Norwegian"
LANGUAGE = {
- loading = "Laster",
- dbError = "Database tilkobling feilet",
- unknown = "Ukjent",
- noDesc = "Ingen beskrivelse tilgjengelig",
- create = "Lag",
- createTip = "Lag en ny karakter til Ć„ spille med.",
- load = "Last",
- loadTip = "Velg en tidligere brukt karakter til Ć„ spille med.",
- leave = "Forlat",
- leaveTip = "Forlat den nƄvƦrende serveren.",
- ["return"] = "Tilbake",
- returnTip = "Tilbake til den forrige menyen.",
- name = "Navn",
- desc = "Beskrivelse",
- model = "Modell",
- attribs = "Attributter",
- charCreateTip = "Fyll inn feltene nedenfor og trykk pÄ 'Fullfør' for Ä skape din karakter.",
- invalid = "Du har gitt et ugyldig %s",
- descMinLen = "Din beskrivelse mƄ vƦre minst %d bokstav(er).",
- model = "Modell",
- player = "Spiller",
- finish = "FullfĆør",
- finishTip = "FullfĆør med Ć„ lage karakteren.",
- needModel = "Du mƄ velge en gyldig modell",
- creating = "Din karakter blir skapt...",
- unknownError = "Det har oppstƄtt en ukjent feil",
- delConfirm = "Er du sikker pƄ at du vil PERMANENT slette %s?",
- no = "Nei",
- yes = "Ja",
- itemInfo = "Navn: %s\nDescription: %s",
- cloud_no_repo = "The repository provided is not valid.",
- cloud_no_plugin = "The plugin provided is not valid.",
- inv = "Inventar",
- plugins = "Tillegg",
- author = "Forfatter",
- version = "Versjon",
- characters = "Karakterer",
- business = "Handel",
- settings = "Innstillinger",
- config = "Konfigurasjon",
- chat = "Chat",
- appearance = "Utseende",
- misc = "Diverse",
- oocDelay = "Du mƄ vente %s sekund(er) med Ƅ bruke OOC igjen.",
- loocDelay = "Du mƄ vente %s sekund(er) med Ƅ bruke LOOC igjen.",
- usingChar = "Du bruker allerede denne karakteren.",
- notAllowed = "Beklager, du har ikke lov til Ć„ gjĆøre dette.",
- itemNoExist = "Beklager, det elementet du forespurte finnes ikke.",
- cmdNoExist = "Beklager, den kommandoen ekisterer ikke.",
- plyNoExist = "Beklager, en matchende spiller ble ikke funnet.",
- cfgSet = "%s har satt \"%s\" til %s.",
- drop = "FrigjĆør",
- dropTip = "FrigjĆør dette elementet fra ditt inventar.",
- take = "Ta",
- takeTip = "Ta dette elementet og putt det i inventaret ditt.",
- dTitle = "Ueid DĆør",
- dTitleOwned = "KjĆøpt DĆør",
- dIsNotOwnable = "Denne dĆøren er ikke mulig Ć„ kjĆøpe.",
- dIsOwnable = "Du kan kjøpe denne døren med Ä trykke pÄ F2.",
- dMadeUnownable = "Du har gjordt denne dĆøren umulig Ć„ kjĆøpe.",
- dMadeOwnable = "Du har gjordt denne dĆøren mulig Ć„ kjĆøpe.",
- dNotAllowedToOwn = "Du er ikke tillatt Ć„ eie denne dĆøra.",
- dSetDisabled = "Du har deaktivert denne dĆøren.",
- dSetNotDisabled = "Du har gjordt denne dĆøren ikke lenger deaktivert.",
- dSetHidden = "Du har gjordt denne dĆøren gjemt.",
- dSetNotHidden = "Du har gjordt at dĆøren ikke er gjemt lenger.",
- dSetParentDoor = "Du har gjort denne dĆøren, hoveddĆøren.",
- dCanNotSetAsChild = "Du kan ikke sette hoveddøren som sekundær døren.",
- dAddChildDoor = "Du har lagt til en sekundær dør.",
- dRemoveChildren = "Du har fjernet alle sekundære dører fra denne døren.",
- dRemoveChildDoor = "Du har fjernet denne døren fra Ä være en sekundær dør.",
- dNoParentDoor = "Du har ikke en hoveddĆør satt.",
- dOwnedBy = "Denne dĆøren er eid av %s.",
- dConfigName = "DĆører",
- dSetFaction = "Denne dĆøren tilhĆører %s gruppen.",
- dRemoveFaction = "Denne dĆøren tilhĆører ikke en gruppe lenger.",
- dNotValid = "Du ser ikke pÄ en gyldig dør.",
- canNotAfford = "Du har ikke rÄd til Ä kjøpe dette.",
- dPurchased = "Du har kjĆøpt denne dĆøren for %s.",
- dSold = "Du har solgt denne dĆøren for %s.",
- notOwner = "Du er ikke eieren av dette.",
- invalidArg = "Du har gitt en ugyldig verdi for argumentet #%s.",
- invalidFaction = "Gruppen du hadde gitt ekisterer ikke.",
- flagGive = "%s har gitt %s '%s' flaggene.",
- flagGiveTitle = "Gi Flagg",
- flagGiveDesc = "Gi de fĆølgene flaggene til en spiller.",
- flagTake = "%s har tatt '%s' flaggene fra %s.",
- flagTakeTitle = "Ta Flagg",
- flagTakeDesc = "Fjern de fĆølgene flaggene til en spiller.",
- flagNoMatch = "Du mÄ ha \"%s\" Flagg for Ä gjøre denne handlingen.",
- textAdded = "Du har lagt til en tekst.",
- textRemoved = "Du har fjernet %s tekst(er).",
- moneyTaken = "Du har funnet %s.",
- businessPurchase = "Du har kjĆøpt %s for %s.",
- businessSell = "Du har solgt %s for %s.",
- cChangeModel = "%s endret %s's modell til %s.",
- cChangeName = "%s endret %s's navn til %s.",
- cChangeSkin = "%s endret %s's skin til %s.",
- cChangeGroups = "%s endret %s's \"%s\" kroppsgruppe to %s.",
- cChangeFaction = "%s har overfĆørt %s til %s gruppen.",
- playerCharBelonging = "Dette objektet tilhĆører en av dine andre karakterer.",
- business = "Handel",
- invalidFaction = "Du har gitt en ugyldig gruppe.",
- spawnAdd = "Du har lagt til spawnen for %s.",
- spawnDeleted = "Du har fjernet %s spawn punkt(er).",
- someone = "Noen",
- rgnLookingAt = "Tillat personen du ser pƄ Ƅ gjenkjenne deg.",
- rgnWhisper = "Tillat de innen hviske radius Ć„ gjenkjenne deg.",
- rgnTalk = "Tillat de innen prate radius Ć„ gjenkjenne deg.",
- rgnYell = "Tillat de innen rope radius Ć„ gjenkjenne deg.",
- icFormat = "%s sier \"%s\"",
- rollFormat = "%s har rullet %s.",
- wFormat = "%s hvisker \"%s\"",
- yFormat = "%s roper \"%s\"",
- sbOptions = "Klikk for Ć„ se instillingene for %s.",
- spawnAdded = "Du har lagt til spawnen for %s.",
- whitelist = "%s har hvitelistet %s for %s gruppen.",
- unwhitelist = "%s har fjernet %s fra hvitelisten til %s gruppen.",
- gettingUp = "Du reiser deg opp...",
- wakingUp = "Du er kommer til bevissthet...",
- Weapons = "VƄpen",
- checkout = "GĆ„ til kassen (%s)",
- purchase = "KjĆøp",
- purchasing = "KjĆøp = er...",
- success = "Suksess",
- buyFailed = "KjĆøpet mislyktes.",
- buyGood = "KjĆøp vellykket!",
- shipment = "Forsendelsen",
- shipmentDesc = "Denne forsendelsen tilhĆører %s.",
- class = "Klasse",
- classes = "Klasser",
- illegalAccess = "Ulovlig Tilgang.",
- becomeClassFail = "Klarte ikke Ć„ bli %s.",
- becomeClass = "Du har bltt %s.",
- attribSet = "Du har satt %s's %s til %s.",
- attribUpdate = "Du har lagt til %s's %s av %s.",
- noFit = "Dette elementet kan ikke passe i inventaret ditt.",
- help = "Hjelp",
- commands = "Kommandoer",
- helpDefault = "Velg et katagori",
- doorSettings = "DĆør innstillinger",
- sell = "Selg",
- access = "Tilgang",
- locking = "LƄser denne enheten...",
- unlocking = "LƄser opp denne enheten...",
- modelNoSeq = "Din modell stĆøtter ikke denne handlingen.",
- notNow = "Du er ikke tillatt.",
- faceWall = "Du mÄ stÄ mot veggen for Ä gjøre dette.",
- faceWallBack = "Din rygg mÄ stÄ mot veggen for Ä gjøre dette.",
- descChanged = "Du har endret din karakters beskrivelse.",
- charMoney = "Du har akkurat nƄ %s.",
- charFaction = "Du er et medlem av denne %s gruppen.",
- charClass = "Du er %s i gruppen.",
- noSpace = "Inventaret er fult.",
- noOwner = "Eieren er ugyldig.",
- notAllowed = "Denne handlingen er ikke tillatt.",
- invalidIndex = "Elementet's Index er ugyldig.",
- invalidItem = "Element Objektet er ugyldig.",
- invalidInventory = "Inventar objektet er ugyldig.",
- home = "Hjem",
- charKick = "%s sparket karakteren %s.",
- charBan = "%s utestengte karakteren %s.",
- charBanned = "Denne karakteren er utestengt.",
- setMoney = "Du har satt %s's penger til %s.",
- itemPriceInfo = "Du kan kjĆøpe dette elementet for %s.\nDu kan kjĆøpe dette elementet for %s",
- free = "Gratis",
- vendorNoSellItems = "Det er ingen elementer for Ć„ selle.",
- vendorNoBuyItems = "Det er ingen elementer til Ć„ kjĆøpe.",
- vendorSettings = "LeverandĆør Innstillinger",
- vendorUseMoney = "LeverandĆør skal bruke penger?",
- vendorNoBubble = "Gjem leverandĆør bobblen?",
- mode = "Modus",
- price = "Pris",
- stock = "PĆ„ lager",
- none = "Ingen",
- vendorBoth = "KjĆøp og selg",
- vendorBuy = "Kun KjĆøp",
- vendorSell = "Kun Selg",
- maxStock = "Maks pƄ lager",
- vendorFaction = "Gruppe endrer",
- buy = "KjĆøp",
- vendorWelcome = "Velkommen til butikken min, hva kan jeg gi deg i dag?",
- vendorBye = "Kom tilbake snart!",
- charSearching = "Du sĆøker allerede etter en annen karakter, vennligst vent.",
- charUnBan = "%s har fjernet %s fra karakter utestengt listen.",
- charNotBanned = "Denne karakteren er ikke utestengt.",
- storPass = "Du har satt dette lagerets passord til %s.",
- storPassRmv = "Du har fjernet dette lagerets passord.",
- storPassWrite = "Skriv inn passordet.",
- wrongPassword = "Du har skrivd inn feil passord.",
- cheapBlur = "Deaktiver uklarhet? (Bedre FPS)",
- quickSettings = "Hurtiginnstillinger",
- vmSet = "Du har satt ditt mobilsvar.",
- vmRem = "Du har fjernet ditt mobilsvar.",
- altLower = "Gjemme hendene nƄr senket?",
- noPerm = "Du er ikke tillatt til Ć„ gjĆøre dette.",
- youreDead = "Du er dĆød.",
- injMajor = "Ser kritisk skadd ut.",
- injLittle = "Ser skadd ut.",
- toggleESP = "Veksle Admin ESP",
- chgName = "Endre navn",
- chgNameDesc = "Skriv in karakterens nye navn under.",
- thirdpersonToggle = "Veksle Tredje-Person",
- thirdpersonClassic = "Bruk klassisk Tredje-Person",
- equippedBag = "Posen at du flyttet har utstyrt element.",
- useTip = "Bruk dette elementet.",
- equipTip = "Ta pƄ dette elementet.",
- unequipTip = "Ta av dette elementet.",
- consumables = "Forbruksvarer",
- plyNotValid = "Du ser ikke pƄ en gyldig spiller.",
- restricted = "Du har blitt tilbakeholdne.",
- viewProfile = "Se Steam Profil",
- salary = "Du har motatt %s fra lĆønnen din.",
- noRecog = "Du kjenner ikke denne personen.",
- curTime = "Tiden er %s.",
- vendorEditor = "LeverandĆør Redigering",
- edit = "Rediger",
- disable = "Deaktiver",
- vendorPriceReq = "Skriv in den nye prisen for dette elementet.",
- vendorEditCurStock = "Rediger nƄvƦrende lager",
- you = "Du",
- vendorSellScale = "Utsalgspris skala",
- vendorNoTrade = "Du er ikke i stand til Ć„ handle med denne leverandĆøren.",
- vendorNoMoney = "Denne leverandøren ikke har rÄd til dette elementet.",
- vendorNoStock = "Denne leverandøren har ikke at varen pÄ lager.",
- contentTitle = "NutScript Innhold Mangler",
- contentWarning = "Du har ikke NutScript innhold montert. Dette kan føre til enkelte funksjoner mangler. \nVil du Äpne Workshop side for NutScript innhold?",
- flags = "Flagg"
+ loading = "Laster",
+ dbError = "Database-tilkobling mislyktes",
+ unknown = "Ukjent",
+ noDesc = "Ingen beskrivelse tilgjengelig",
+ create = "Opprett",
+ createTip = "Opprett en ny karakter Ć„ spille som.",
+ load = "Last",
+ loadTip = "Velg en tidligere opprettet karakter Ć„ spille som.",
+ leave = "Forlat",
+ leaveTip = "Forlat den gjeldende serveren.",
+ ["return"] = "Tilbake",
+ returnTip = "GĆ„ tilbake til forrige meny.",
+ name = "Navn",
+ desc = "Beskrivelse",
+ model = "Modell",
+ attribs = "Egenskaper",
+ charCreateTip = "Fyll ut feltene nedenfor og trykk 'FullfĆør' for Ć„ opprette karakteren din.",
+ invalid = "Du har oppgitt en ugyldig %s",
+ descMinLen = "Beskrivelsen din mƄ vƦre minst %d tegn(lang).",
+ player = "Spiller",
+ finish = "FullfĆør",
+ finishTip = "FullfĆør opprettelsen av karakteren.",
+ needModel = "Du mƄ velge en gyldig modell",
+ creating = "Karakteren din opprettes...",
+ unknownError = "En ukjent feil har oppstƄtt",
+ delConfirm = "Er du sikker pƄ at du vil SLETTE %s PERMANENT?",
+ no = "Nei",
+ yes = "Ja",
+ itemInfo = "Navn: %s\nBeskrivelse: %s",
+ itemCreated = "Gjenstanden ble opprettet vellykket.",
+ cloud_no_repo = "Den git-repositoryen er ikke gyldig.",
+ cloud_no_plugin = "Den git-plugins er ikke gyldig.",
+ inv = "Inventar",
+ plugins = "Plugins",
+ togglePlugins = "Bytt plugins",
+ author = "Forfatter",
+ version = "Versjon",
+ characters = "Karakterer",
+ settings = "Innstillinger",
+ config = "Konfigurasjon",
+ chat = "Chat",
+ appearance = "Utseende",
+ misc = "Diverse",
+ oocDelay = "Du mÄ vente %s sekund(er) til før du kan bruke OOC igjen.",
+ loocDelay = "Du mÄ vente %s sekund(er) til før du kan bruke LOOC igjen.",
+ usingChar = "Du bruker allerede denne karakteren.",
+ itemNoExist = "Beklager, gjenstanden du spurte etter eksisterer ikke.",
+ cmdNoExist = "Beklager, den kommandoen eksisterer ikke.",
+ plyNoExist = "Beklager, ingen passende spiller ble funnet.",
+ cfgSet = "%s har satt \"%s\" til %s.",
+ drop = "Slipp",
+ dropTip = "Slipp denne gjenstanden fra inventaret ditt.",
+ take = "Ta",
+ takeTip = "Ta denne gjenstanden og legg den i inventaret ditt.",
+ dTitle = "Ueiet dĆør",
+ dTitleOwned = "KjĆøpt dĆør",
+ dIsNotOwnable = "Denne dĆøren kan ikke eies.",
+ dIsOwnable = "Du kan kjĆøpe denne dĆøren ved Ć„ trykke F2.",
+ dMadeUnownable = "Du har gjort denne dĆøren ueiet.",
+ dMadeOwnable = "Du har gjort denne dĆøren eiet.",
+ dNotAllowedToOwn = "Du har ikke lov til Ć„ eie denne dĆøren.",
+ dSetDisabled = "Du har gjort denne dĆøren deaktivert.",
+ dSetNotDisabled = "Du har gjort denne dĆøren ikke lenger deaktivert.",
+ dSetHidden = "Du har gjort denne dĆøren skjult.",
+ dSetNotHidden = "Du har gjort denne dĆøren ikke lenger skjult.",
+ dSetParentDoor = "Du har satt denne dĆøren som din overordnede dĆør.",
+ dCanNotSetAsChild = "Du kan ikke sette overordnede dĆør som en underordnet.",
+ dAddChildDoor = "Du har lagt til denne dĆøren som en underordnet.",
+ dRemoveChildren = "Du har fjernet alle underordnede for denne dĆøren.",
+ dRemoveChildDoor = "Du har fjernet denne dĆøren som en underordnet.",
+ dNoParentDoor = "Du har ikke en overordnet dĆør satt.",
+ dOwnedBy = "Denne dĆøren eies av %s.",
+ dConfigName = "DĆører",
+ dSetFaction = "Denne døren tilhører nÄ %s fraksjonen.",
+ dRemoveFaction = "Denne dĆøren tilhĆører ikke lenger noen fraksjon.",
+ dNotValid = "Du ser ikke pÄ en gyldig dør.",
+ canNotAfford = "Du har ikke rÄd til Ä kjøpe dette.",
+ dPurchased = "Du har kjĆøpt denne dĆøren for %s.",
+ dSold = "Du har solgt denne dĆøren for %s.",
+ notOwner = "Du er ikke eieren av dette.",
+ invalidArg = "Du har oppgitt en ugyldig verdi for argument #%s.",
+ flagGive = "%s har gitt %s '%s' flagg.",
+ flagGiveTitle = "Gi flagg",
+ flagGiveDesc = "Gi fĆølgende flagg til spilleren.",
+ flagTake = "%s har tatt '%s' flagg fra %s.",
+ flagTakeTitle = "Ta flagg",
+ flagTakeDesc = "Fjern fĆølgende flagg fra spilleren.",
+ flagNoMatch = "Du mÄ ha \"%s\" Flag(g) for Ä utføre denne handlingen.",
+ textAdded = "Du har lagt til en tekst.",
+ textRemoved = "Du har fjernet %s tekster.",
+ moneyTaken = "Du fant %s.",
+ businessPurchase = "Du har kjĆøpt %s for %s.",
+ businessSell = "Du har solgt %s for %s.",
+ cChangeModel = "%s har endret %s sin modell til %s.",
+ cChangeName = "%s har endret %s sin navn til %s.",
+ cChangeSkin = "%s har endret %s sin hud til %s.",
+ cChangeGroups = "%s har endret %s sin \"%s\" kroppstype til %s.",
+ cChangeFaction = "%s har overfĆørt %s til %s fraksjonen.",
+ playerCharBelonging = "Dette objektet tilhĆører en annen karakter.",
+ business = "Forretning",
+ invalidFaction = "Du har oppgitt en ugyldig fraksjon.",
+ limitFaction = "Denne fraksjonen er full. PrĆøv igjen senere.",
+ spawnAdd = "Du har lagt til en spawn for %s.",
+ spawnDeleted = "Du har fjernet %s spawn punkt(er).",
+ someone = "Noen",
+ rgnLookingAt = "Tillat personen du ser pƄ Ƅ gjenkjenne deg.",
+ rgnWhisper = "Tillat de som er i en hviskende avstand Ć„ gjenkjenne deg.",
+ rgnTalk = "Tillat de som er i en samtaleavstand Ć„ gjenkjenne deg.",
+ rgnYell = "Tillat de som er i en roper avstand Ć„ gjenkjenne deg.",
+ icFormat = "%s sier \"%s\"",
+ rollFormat = "%s har rullet %s.",
+ wFormat = "%s hvisker \"%s\"",
+ yFormat = "%s roper \"%s\"",
+ sbOptions = "Klikk for Ć„ se alternativer for %s.",
+ spawnAdded = "Du la til spawn for %s.",
+ whitelist = "%s har satt %s pƄ hvitelisten for %s fraksjonen.",
+ unwhitelist = "%s har fjernet %s fra hvitelisten for %s fraksjonen.",
+ gettingUp = "Du stƄr nƄ opp...",
+ wakingUp = "Du er i ferd med Ƅ vƄkne...",
+ Weapons = "VƄpen",
+ checkout = "GĆ„ til kassen (%s)",
+ purchase = "KjĆøp",
+ purchasing = "KjĆøper...",
+ success = "Suksess",
+ buyFailed = "KjĆøp mislyktes.",
+ buyGood = "KjĆøp vellykket!",
+ shipment = "Sending",
+ shipmentDesc = "Denne forsendelsen tilhĆører %s.",
+ class = "Klasse",
+ classes = "Klasser",
+ illegalAccess = "Ulovlig tilgang.",
+ becomeClassFail = "Klasseendring til %s mislyktes.",
+ becomeClass = "Du har blitt %s.",
+ attribSet = "Du har satt %s sin %s til %s.",
+ attribUpdate = "Du har lagt til %s sin %s med %s.",
+ noFit = "Denne gjenstanden passer ikke i inventaret ditt.",
+ help = "Hjelp",
+ commands = "Kommandoer",
+ helpDefault = "Velg en kategori",
+ doorSettings = "DĆørinnstillinger",
+ sell = "Selg",
+ access = "Tilgang",
+ locking = "LƄser dette objektet...",
+ unlocking = "LƄser opp dette objektet...",
+ modelNoSeq = "Modellen din stĆøtter ikke denne handlingen.",
+ notNow = "Du har ikke lov til Ä gjøre dette akkurat nÄ.",
+ faceWall = "Du mÄ stÄ vendt mot veggen for Ä gjøre dette.",
+ faceWallBack = "Du mÄ ha ryggen mot veggen for Ä gjøre dette.",
+ descChanged = "Du har endret karakterens beskrivelse.",
+ charMoney = "Du har for Ćøyeblikket %s.",
+ charFaction = "Du er medlem av %s fraksjonen.",
+ charClass = "Du er %s i fraksjonen.",
+ noSpace = "Inventaret er fullt.",
+ noOwner = "Eieren er ugyldig.",
+ notAllowed = "Denne handlingen er ikke tillatt.",
+ invalidIndex = "Elementindeksen er ugyldig.",
+ invalidItem = "Gjenstanden er ugyldig.",
+ invalidInventory = "Inventaret er ugyldig.",
+ home = "Hjem",
+ charKick = "%s sparket karakteren %s.",
+ charBan = "%s har forbudt karakteren %s.",
+ charBanned = "Denne karakteren er forbudt.",
+ setMoney = "Du har satt %s sin penger til %s.",
+ itemPriceInfo = "Du kan kjĆøpe denne gjenstanden for %s.\nDu kan selge denne gjenstanden for %s.",
+ free = "Gratis",
+ vendorNoSellItems = "Det er ingen gjenstander Ć„ selge.",
+ vendorNoBuyItems = "Det er ingen gjenstander Ć„ kjĆøpe.",
+ vendorSettings = "Selgerinnstillinger",
+ vendorUseMoney = "Skal selgeren bruke penger?",
+ vendorNoBubble = "Skjul selgerboble?",
+ mode = "Modus",
+ price = "Pris",
+ stock = "Lager",
+ none = "Ingen",
+ vendorBoth = "KjĆøp og Selg",
+ vendorBuy = "KjĆøp Bare",
+ vendorSell = "Selg Bare",
+ maxStock = "Maks Lager",
+ vendorFaction = "Fraksjonsredigerer",
+ buy = "KjĆøp",
+ vendorWelcome = "Velkommen til butikken min, hva kan jeg hjelpe deg med i dag?",
+ vendorBye = "Kom igjen snart!",
+ charSearching = "Du sĆøker allerede etter en annen karakter, vennligst vent.",
+ charUnBan = "%s har opphevet forbudet mot karakteren %s.",
+ charNotBanned = "Denne karakteren er ikke forbudt.",
+ storPass = "Du har satt passordet for denne lagringen til %s.",
+ storPassRmv = "Du har fjernet passordet for denne lagringen.",
+ storPassWrite = "Skriv inn passordet.",
+ wrongPassword = "Du har oppgitt feil passord.",
+ cheapBlur = "Deaktiver uskarphet? (Ćker FPS)",
+ quickSettings = "Rask innstilling",
+ vmSet = "Du har satt din telefonsvarer.",
+ vmRem = "Du har fjernet din telefonsvarer.",
+ altLower = "Skjul hender nƄr de er nede?",
+ noPerm = "Du har ikke lov til Ć„ gjĆøre dette.",
+ youreDead = "Du er dĆød",
+ injMajor = "Ser kritisk skadet ut.",
+ injLittle = "Ser skadet ut",
+ toggleObserverTP = "Veksle observatĆør teleportering",
+ toggleESP = "Veksle Admin ESP",
+ toggleESPAdvanced = "ESP Avansert modus",
+ chgName = "Endre navn",
+ chgNameDesc = "Skriv inn den nye karakterens navn nedenfor.",
+ thirdpersonToggle = "Veksle Tredjeperson",
+ thirdpersonClassic = "Bruk Klassisk Tredjeperson",
+ thirdpersonConfig = "Tredjeperson Konfigurasjon",
+ equippedBag = "Utstyrte gjenstander kan ikke flyttes mellom inventar.",
+ useTip = "Bruker gjenstanden.",
+ equipTip = "Utstyr gjenstanden.",
+ unequipTip = "Fjern utstyr gjenstanden.",
+ consumables = "Forbruksvarer",
+ plyNotValid = "Du ser ikke pƄ en gyldig spiller.",
+ restricted = "Du har blitt begrenset.",
+ viewProfile = "Se Steam-profil",
+ salary = "Du har mottatt %s fra lĆønnen din.",
+ noRecog = "Du gjenkjenner ikke denne personen.",
+ curTime = "NƄvƦrende tid er %s.",
+ vendorEditor = "Selgerredigerer",
+ edit = "Rediger",
+ disable = "Deaktiver",
+ vendorPriceReq = "Skriv inn den nye prisen for denne gjenstanden.",
+ vendorEditCurStock = "Rediger nƄvƦrende lager",
+ you = "Du",
+ vendorSellScale = "Salgsprisskala for selger",
+ vendorNoTrade = "Du kan ikke handle med denne selgeren.",
+ vendorNoMoney = "Denne selgeren har ikke rƄd til den gjenstanden.",
+ vendorNoStock = "Denne selgeren har ikke den gjenstanden pƄ lager.",
+ contentTitle = "NutScript Innhold Mangler",
+ contentWarning = "Du har ikke NutScript-innholdet montert. Dette kan føre til at visse funksjoner mangler.\nVil du Äpne Workshopen for NutScript-innholdet?",
+ flags = "Flagg",
+ chooseTip = "Velg denne karakteren Ć„ spille med.",
+ deleteTip = "Slett denne karakteren.",
+ moneyLeft = "Dine penger: ",
+ currentMoney = "GjenvƦrende penger: ",
+
+ -- 2018-patch
+ ammoLoadAll = "Last alle",
+ ammoLoadAmount = "Last %s",
+ ammoLoadCustom = "Last tilpasset...",
+ split = "Del",
+ splitHelp = "Skriv inn et tall for Ć„ dele.",
+ splitHalf = "Del 1/2",
+ splitQuarter = "Del 1/4",
+ recognize = "Tillat denne karakteren Ć„ gjenkjenne deg.",
+ recognized = "Du ga denne karakteren identiteten din.",
+ already_recognized = "Denne karakteren vet allerede hvem du er.",
+ isTied = "Denne personen er bundet.",
+ tying = "Binder",
+ untying = "LĆøser opp",
+ beingUntied = "Du blir lĆøst opp.",
+ beingTied = "Du blir bundet.",
+ sameOutfitCategory = "Du har allerede pƄ deg denne typen antrekk.",
+ noBusiness = "Du har ikke lov til Ä kjøpe noe akkurat nÄ.",
+ panelRemoved = "Du har fjernet %s 3D-paneler.",
+ panelAdded = "Du har lagt til et 3D-panel.",
+ itemOnGround = "Gjenstanden din er plassert pƄ bakken.",
+ forbiddenActionStorage = "Du kan ikke utfĆøre denne handlingen med lagret gjenstand.",
+ cantDropBagHasEquipped = "Du kan ikke droppe en bag som har utstyrte gjenstander.",
+
+ -- 2021-patch
+ lookToUseAt = "Du mƄ se pƄ noen for Ƅ bruke '@'",
+ mustProvideString = "Du mƄ oppgi en streng for variabelen",
+
+ -- 2023-patch
+ togglePluginsDesc = "Valgte plugins vil bli deaktivert.\nKartet mƄ startes pƄ nytt etter Ƅ ha gjort endringer!",
}
diff --git a/gamemode/languages/sh_polish.lua b/gamemode/languages/sh_polish.lua
index 45b4c72a..32b81c22 100644
--- a/gamemode/languages/sh_polish.lua
+++ b/gamemode/languages/sh_polish.lua
@@ -4,211 +4,266 @@
NAME = "Polski"
LANGUAGE = {
- loading = "Åadowanie",
- dbError = "PoÅÄ
czenie z bazÄ
danych nie powiodÅo siÄ",
- unknown = "Nieznane",
- noDesc = "Rysopis niedostÄpny",
- create = "Stwórz",
- createTip = "Stwórz nowÄ
postaÄ aby niÄ
zagraÄ.",
- load = "ZaÅaduj",
- loadTip = "ZaÅaduj uprzednio stworzonÄ
postaÄ aby niÄ
zagraÄ.",
- leave = "WyjdÅŗ",
- leaveTip = "OpuÅÄ serwer.",
- ["return"] = "Powrót",
- returnTip = "Powrót do poprzedniego menu.",
- name = "ImiÄ i nazwisko",
- desc = "Opis",
- model = "Model",
- attribs = "Atrybuty",
- charCreateTip = "WypeÅnij pola poniżej i klinij 'ZakoÅcz' aby stworzyÄ swojÄ
postaÄ.",
- invalid = "PodaÅeÅ niewÅaÅciwe(Ä
) %s",
- descMinLen = "Opis musi zawieraÄ minimum %d znak(ów).",
- model = "Model",
- player = "Gracz",
- finish = "ZakoÅcz",
- finishTip = "ZakoÅcz tworzenie postaci.",
- needModel = "Musisz wybraÄ prawidÅowy model",
- creating = "Twoja postaÄ jest aktualnie tworzona...",
- unknownError = "WystÄ
piÅ nieznany bÅÄ
d",
- delConfirm = "Czy jesteÅ pewien, że chcesz PERMANENTNIE skasowaÄ %s?",
- no = "Nie",
- yes = "Tak",
- itemInfo = "ImiÄ i nazwisko %s\nRysopis: %s",
- cloud_no_repo = "Repozytorium, które zostaÅo podane nie jest prawidÅowe.",
- cloud_no_plugin = "Podany plugin nie jest prawidÅowy.",
- inv = "Ekwipunek",
- plugins = "Pluginy",
- author = "Autor",
- version = "Wersja",
- characters = "Postacie",
- business = "Biznes",
- settings = "Ustawienia",
- config = "Konfiguracja",
- chat = "Czat",
- appearance = "WyglÄ
d",
- misc = "Różne",
- oocDelay = "Musisz poczekaÄ %s sekund przed ponownym użyciem OOC.",
- loocDelay = "Musisz poczekaÄ %s sekund przed ponownym użyciem LOOC.",
- usingChar = "Aktualnie już używasz tej postaci.",
- notAllowed = "Przepraszamy, nie masz uprawnieÅ do zrobienia tego.",
- itemNoExist = "Przepraszamy, przedmiot o który prosiÅeÅ nie istnieje.",
- cmdNoExist = "Przepraszamy, ta komenda nie istnieje.",
- plyNoExist = "Przepraszamy, nie znaleziono pasujÄ
cego gracza.",
- cfgSet = "%s ustawiÅ \"%s\" na %s.",
- drop = "UpuÅÄ",
- dropTip = "Upuszcza ten przedmiot z Twojego ekwipunku.",
- take = "WeÅŗ",
- takeTip = "WeÅŗ ten przedmiot i umieÅÄ go w swoim ekwipunku.",
- dTitle = "Drzwi możliwe do wykupienia",
- dTitleOwned = "Wykupione Drzwi",
- dIsNotOwnable = "Tych drzwi nie można kupiÄ.",
- dIsOwnable = "Możesz kupiÄ te drzwi naciskajÄ
c F2.",
- dMadeUnownable = "UczyniÅeÅ te drzwi niemożliwymi do kupienia.",
- dMadeOwnable = "UczyniÅeÅ te drzwi możliwymi do kupienia.",
- dNotAllowedToOwn = "Nie możesz kupiÄ tych drzwi.",
- dSetDisabled = "WyÅÄ
czyÅeÅ te drzwi z użytku.",
- dSetNotDisabled = "Ponownie można używaÄ tych drzwi.",
- dSetParentDoor = "UczyniÅeÅ te drzwi swoimi drzwiami nadrzÄdnymi.",
- dCanNotSetAsChild = "Nie możesz ustawi aby drzwi nadrzÄdne byÅy drzwiami podrzÄdnymi.",
- dAddChildDoor = "DodaÅeÅ te drzwi jako drzwi podrzÄdne.",
- dRemoveChildren = "UsunÄ
ÅeÅ wszystkie drzwi podrzÄdne należÄ
ce do tych drzwi.",
- dRemoveChildDoor = "Te drzwi już nie sÄ
drzwiami podrzÄdnymi.",
- dNoParentDoor = "Nie masz ustawionych drzwi nadrzÄdnych.",
- dOwnedBy = "Te drzwi należÄ
do %s.",
- dConfigName = "Drzwi",
- dSetFaction = "Te drzwi należÄ
teraz do frakcji %s.",
- dRemoveFaction = "Te drzwi już nie należÄ
do żadnej frakcji.",
- dNotValid = "Patrzysz na nie prawidÅowe drzwi.",
- canNotAfford = "Nie staÄ CiÄ na kupienie tego.",
- dPurchased = "KupiÅeÅ te drzwi za %s.",
- dSold = "SprzedaÅeÅ te drzwi za %s.",
- notOwner = "Nie jesteÅ wÅaÅcicielem tego.",
- invalidArg = "PodaÅeÅ niepoprawnÄ
wartoÅÄ dla argumentu #%s.",
- invalidFaction = "Frakcja, którÄ
podaÅeÅ nie mogÅa zostaÄ znaleziona.",
- flagGive = "%s daÅ %s nastÄpujÄ
ce flagi: '%s'.",
- flagGiveTitle = "Daj Flagi",
- flagGiveDesc = "Daj nastÄpujÄ
ce flagi graczowi.",
- flagTake = "%s zabraÅ od %s nastÄpujÄ
ce flagi: '%s'.",
- flagTakeTitle = "Zabierz Flagi",
- flagTakeDesc = "Zabierz nastÄpujÄ
ce flagi od gracza.",
- flagNoMatch = "Musisz posiadaÄ flagÄ(i) \"%s\" aby wykonaÄ tÄ
czynnoÅÄ.",
- textAdded = "DodaÅeÅ tekst.",
- textRemoved = "UsunÄ
ÅeÅ %s tekst(y).",
- moneyTaken = "ZnalazÅeÅ %s.",
- businessPurchase = "KupiÅeÅ %s za %s.",
- businessSell = "SprzedaÅeÅ %s za %s.",
- cChangeModel = "%s zmieniÅ model gracza %s na %s.",
- cChangeName = "%s zmieniÅ imiÄ gracza %s na %s.",
- playerCharBelonging = "Ten przedmiot należy do innej postaci należÄ
cej do Ciebie.",
- business = "Biznes",
- invalidFaction = "WprowadziÅeÅ niewÅaÅciwÄ
frakcjÄ.",
- spawnAdd = "Dodaj punkt odradzania siÄ (Spawn) dla %s.",
- spawnDeleted = "UsunÄ
ÅeÅ %s punktów odradzania siÄ (spawn'u).",
- someone = "KtoÅ",
- rgnLookingAt = "Pozwól osobie na którÄ
patrzysz aby CiÄ rozpoznawaÅa.",
- rgnWhisper = "Pozwól tym, którzy sÄ
w zasiÄgu Twoich szeptów aby CiÄ rozpoznawali.",
- rgnTalk = "Pozwól tym, którzy sÄ
w zasiÄgu normalnych rozmów aby CiÄ rozpoznawali.",
- rgnYell = "Pozwól tym, którzy sÄ
w zasiÄgu Twoich krzyków aby CiÄ rozpoznawali.",
- icFormat = "%s mówi: \"%s\"",
- rollFormat = "%s wylosowaÅ %s rzucajÄ
c koÅÄmi.",
- wFormat = "%s szepcze: \"%s\"",
- yFormat = "%s krzyczy: \"%s\"",
- sbOptions = "Kliknij aby zobaczyÄ opcje dla %s.",
- spawnAdded = "DodaÅeÅ punkt odradzania siÄ (Spawn) dla %s.",
- whitelist = "%s dodaÅ %s na biaÅÄ
listÄ frakcji %s.",
- unwhitelist = "%s usunÄ
Å %s z biaÅej listy frakcji %s.",
- gettingUp = "Podnosisz siÄ...",
- wakingUp = "Wraca Ci ÅwiadomoÅÄ...",
- Weapons = "BroÅ",
- checkout = "IdÅŗ do kasy (%s)",
- purchase = "Kup",
- purchasing = "KupujÄ...",
- success = "Sukces",
- buyFailed = "Zakupy nie powiodÅy siÄ.",
- buyGood = "Zakupy udane!",
- shipment = "Dostawa",
- shipmentDesc = "Ta dostawa należy do %s.",
- class = "Klasa",
- classes = "Klasy",
- illegalAccess = "Nielegalny DostÄp.",
- becomeClassFail = "Nie udaÅo Ci siÄ zostaÄ %s.",
- becomeClass = "ZostaÅeÅ %s.",
- attribSet = "PostaÄ %s ma teraz %s ustawionÄ
na %s.",
- attribUpdate = "PostaÄ %s ma teraz %s podwyższonÄ
o %s.",
- noFit = "Ten przedmiot nie mieÅci siÄ w Twoim ekwipunku.",
- help = "Pomoc",
- commands = "Komendy",
- helpDefault = "Wybierz kateogriÄ",
- doorSettings = "Ustawienia drzwi",
- sell = "Sprzedaj",
- access = "DostÄp",
- locking = "Zamykanie przedmiotu...",
- unlocking = "Otwieranie przedmiotu...",
- modelNoSeq = "Twój model nie obsÅuguje tej animacji.",
- notNow = "Nie możesz tego aktualnie zrobiÄ.",
- faceWall = "Musisz patrzeÄ na ÅcianÄ aby to wykonaÄ.",
- faceWallBack = "Musisz staÄ tyÅem do Åciany aby to wykonaÄ.",
- descChanged = "ZmieniÅeÅ rysopis swojej postaci.",
- charMoney = "Aktualnie posiadasz %s.",
- charFaction = "JesteÅ czÅonkiem frakcji %s.",
- charClass = "Piastujesz stanowisko %s we frakcji.",
- noSpace = "Ekwipunek jest peÅny.",
- noOwner = "NieprawidÅowy wÅaÅciciel.",
- notAllowed = "Ta akcja jest niedozowolna.",
- invalidIndex = "Index przedmiotu jest nieprawidÅowy.",
- invalidItem = "Obiekt przedmiotu jest nieprawidÅowy.",
- invalidInventory = "Obiekt ekwipunku jest nieprawidÅowy.",
- home = "Strona gÅówna",
- charKick = "%s wyrzuciÅ %s.",
- charBan = "%s zbanowaÅ postaÄ %s.",
- charBanned = "Ta postaÄ jest niedostÄpna.",
- setMoney = "UstawiÅem iloÅÄ pieniÄdzy %s na %s.",
- itemPriceInfo = "Możesz kupiÄ ten przedmiot za %s.\nMożesz sprzedaÄ ten przedmiot za %s",
- free = "Darmowe",
- vendorNoSellItems = "Nie ma przedmiotów do sprzedania.",
- vendorNoBuyItems = "Nie ma przedmiotów do kupienia.",
- vendorSettings = "Ustawienia sprzedawców",
- vendorUseMoney = "Czy sprzedawcy powinni używaÄ pieniÄdzy?",
- vendorNoBubble = "UkryÄ dymek sprzedawcy?",
- mode = "Tryb",
- price = "Cena",
- stock = "Zasób",
- none = "Nic",
- vendorBoth = "Kupowanie i Sprzedawanie",
- vendorBuy = "Tylko kupowanie",
- vendorSell = "Tylko sprzedawanie",
- maxStock = "Maksymalny zasób",
- vendorFaction = "Edytor frakcji",
- buy = "Kup",
- vendorWelcome = "Witaj w moim sklepie, czy mogÄ Ci coÅ podaÄ?",
- vendorBye = "PrzyjdÅŗ niedÅugo z powrotem!",
- charSearching = "Aktualnie szukasz już innej postaci, proszÄ poczekaÄ.",
- charUnBan = "%s odbanowaÅ postaÄ %s.",
- charNotBanned = "Ta postaÄ nie jest zbanowana.",
- storPass = "UstawiÅeÅ hasÅo tego pojemnika na %s.",
- storPassRmv = "UsunÄ
ÅeÅ hasÅo z tego pojemnika.",
- storPassWrite = "WprowadÅŗ hasÅo.",
- wrongPassword = "WprowadziÅeÅ zÅe hasÅo.",
- cheapBlur = "WyÅÄ
czyÄ rozmazywanie? (Podnosi FPSy)",
- quickSettings = "Szybkie Ustawienia",
- vmSet = "UstawiÅeÅ swojÄ
automatycznÄ
sekretarkÄ.",
- vmRem = "UsunÄ
ÅeÅ swojÄ
automatycznÄ
sekretarkÄ.",
- altLower = "UkryÄ dÅonie kiedy sÄ
opuszczone?",
- noPerm = "Nie wolno Ci tego zrobiÄ.",
- youreDead = "JesteÅ martwy.",
- injMajor = "Widoczne krytyczne obrażenia.",
- injLittle = "Widoczne obrażenia.",
- toggleESP = "WÅÄ
cz/WyÅÄ
cz AdmiÅski wallhack.",
- chgName = "ZmieÅ imiÄ i nazwisko.",
- chgNameDesc = "WprowadÅŗ nowÄ imiÄ i nazwisko postaci poniżej.",
- thirdpersonToggle = "PrzeÅÄ
cz widok z trzeciej osoby",
- thirdpersonClassic = "Używaj klasycznego widoku z trzeciej osoby",
- equippedBag = "Torba którÄ
przesunÄ
ÅeÅ posiada przedmiot(y).",
- useTip = "Używa przedmiotu.",
- equipTip = "ZakÅada przedmiot.",
- unequipTip = "Zdejmuje przedmiot.",
- consumables = "Towary konsumpcyjne.",
- plyNotValid = "Nie patrzysz na prawidÅowego gracza.",
- restricted = "ZostaÅeÅ zwiÄ
zany.",
- viewProfile = "Obejrzyj profil Steam."
-}
+ loading = "Åadowanie",
+ dbError = "BÅÄ
d poÅÄ
czenia z bazÄ
danych",
+ unknown = "Nieznane",
+ noDesc = "Brak dostÄpnych opisów",
+ create = "Stwórz",
+ createTip = "Stwórz nowÄ
postaÄ do gry.",
+ load = "Wczytaj",
+ loadTip = "Wybierz wczeÅniej stworzonÄ
postaÄ do gry.",
+ leave = "Opuszcz",
+ leaveTip = "Opuszcz obecny serwer.",
+ ["return"] = "Powrót",
+ returnTip = "PowrĆ³Ä do poprzedniego menu.",
+ name = "ImiÄ",
+ desc = "Opis",
+ model = "Model",
+ attribs = "Atrybuty",
+ charCreateTip = "WypeÅnij pola poniżej i naciÅnij 'ZakoÅcz', aby stworzyÄ swojÄ
postaÄ.",
+ invalid = "Podano nieprawidÅowy %s",
+ descMinLen = "Twój opis musi mieÄ co najmniej %d znak(ów).",
+ player = "Gracz",
+ finish = "ZakoÅcz",
+ finishTip = "ZakoÅcz tworzenie postaci.",
+ needModel = "Musisz wybraÄ prawidÅowy model postaci",
+ creating = "Twoja postaÄ jest tworzona...",
+ unknownError = "WystÄ
piÅ nieznany bÅÄ
d",
+ delConfirm = "Czy na pewno chcesz TRWALE usunÄ
Ä %s?",
+ no = "Nie",
+ yes = "Tak",
+ itemInfo = "Nazwa: %s\nOpis: %s",
+ itemCreated = "Przedmiot pomyÅlnie stworzony.",
+ cloud_no_repo = "Podane repozytorium jest nieprawidÅowe.",
+ cloud_no_plugin = "Podana wtyczka jest nieprawidÅowa.",
+ inv = "Inwentarz",
+ plugins = "Wtyczki",
+ togglePlugins = "PrzeÅÄ
cz wtyczki",
+ author = "Autor",
+ version = "Wersja",
+ characters = "Postacie",
+ settings = "Ustawienia",
+ config = "Konfiguracja",
+ chat = "Czat",
+ appearance = "WyglÄ
d",
+ misc = "Różne",
+ oocDelay = "Musisz poczekaÄ jeszcze %s sekund(y), zanim bÄdziesz mógÅ ponownie używaÄ czatu OOC.",
+ loocDelay = "Musisz poczekaÄ jeszcze %s sekund(y), zanim bÄdziesz mógÅ ponownie używaÄ czatu LOOC.",
+ usingChar = "Już używasz tej postaci.",
+ itemNoExist = "Przepraszam, ale przedmiot, który chciaÅeÅ, nie istnieje.",
+ cmdNoExist = "Przepraszam, ale ta komenda nie istnieje.",
+ plyNoExist = "Przepraszam, ale nie znaleziono pasujÄ
cego gracza.",
+ cfgSet = "%s ustawiÅ \"%s\" na %s.",
+ drop = "UpuÅÄ",
+ dropTip = "UpuÅÄ ten przedmiot z twojego inwentarza.",
+ take = "WeÅŗ",
+ takeTip = "WeÅŗ ten przedmiot i umieÅÄ go w swoim inwentarzu.",
+ dTitle = "Drzwi niezakupione",
+ dTitleOwned = "Zakupione drzwi",
+ dIsNotOwnable = "Te drzwi nie mogÄ
byÄ zakupione.",
+ dIsOwnable = "Możesz zakupiÄ te drzwi, naciskajÄ
c F2.",
+ dMadeUnownable = "ZrobiÅeÅ te drzwi niezakupionymi.",
+ dMadeOwnable = "ZrobiÅeÅ te drzwi zakupionymi.",
+ dNotAllowedToOwn = "Nie masz uprawnieÅ do zakupu tych drzwi.",
+ dSetDisabled = "ZrobiÅeÅ te drzwi wyÅÄ
czonymi.",
+ dSetNotDisabled = "ZrobiÅeÅ te drzwi nie wyÅÄ
czonymi.",
+ dSetHidden = "ZrobiÅeÅ te drzwi ukrytymi.",
+ dSetNotHidden = "ZrobiÅeÅ te drzwi nie ukrytymi.",
+ dSetParentDoor = "UstawiÅeÅ te drzwi jako drzwi nadrzÄdne.",
+ dCanNotSetAsChild = "Nie możesz ustawiÄ drzwi nadrzÄdnych jako drzwi podrzÄdnych.",
+ dAddChildDoor = "DodaÅeÅ te drzwi jako drzwi podrzÄdne.",
+ dRemoveChildren = "UsunÄ
ÅeÅ wszystkie podrzÄdne drzwi dla tych drzwi.",
+ dRemoveChildDoor = "UsunÄ
ÅeÅ te drzwi jako drzwi podrzÄdne.",
+ dNoParentDoor = "Nie masz ustawionego drzwi nadrzÄdnego.",
+ dOwnedBy = "Te drzwi sÄ
wÅasnoÅciÄ
%s.",
+ dConfigName = "Drzwi",
+ dSetFaction = "Te drzwi teraz należÄ
do frakcji %s.",
+ dRemoveFaction = "Te drzwi już nie należÄ
do żadnej frakcji.",
+ dNotValid = "Nie patrzysz na prawidÅowe drzwi.",
+ canNotAfford = "Nie staÄ ciÄ na zakup tego przedmiotu.",
+ dPurchased = "ZakupiÅeÅ te drzwi za %s.",
+ dSold = "SprzedaÅeÅ te drzwi za %s.",
+ notOwner = "Nie jesteÅ wÅaÅcicielem tego.",
+ invalidArg = "Podano nieprawidÅowÄ
wartoÅÄ dla argumentu #%s.",
+ flagGive = "%s nadaÅ %s flagÄ '%s'.",
+ flagGiveTitle = "Nadaj Flagi",
+ flagGiveDesc = "Nadaj nastÄpujÄ
ce flagi graczowi.",
+ flagTake = "%s odebraÅ flagÄ '%s' od %s.",
+ flagTakeTitle = "UsuÅ Flagi",
+ flagTakeDesc = "UsuÅ nastÄpujÄ
ce flagi graczowi.",
+ flagNoMatch = "Musisz mieÄ Flagi \"%s\" aby wykonaÄ tÄ akcjÄ.",
+ textAdded = "DodaÅeÅ tekst.",
+ textRemoved = "UsunÄ
ÅeÅ %s tekst(y).",
+ moneyTaken = "ZnalazÅeÅ %s.",
+ businessPurchase = "ZakupiÅeÅ %s za %s.",
+ businessSell = "SprzedaÅeÅ %s za %s.",
+ cChangeModel = "%s zmieniÅ model %s na %s.",
+ cChangeName = "%s zmieniÅ imiÄ %s na %s.",
+ cChangeSkin = "%s zmieniÅ skórkÄ %s na %s.",
+ cChangeGroups = "%s zmieniÅ grupÄ ciaÅa \"%s\" na %s.",
+ cChangeFaction = "%s przetransferowaÅ %s do frakcji %s.",
+ playerCharBelonging = "Ten przedmiot należy do innej postaci.",
+ business = "Biznes",
+ invalidFaction = "Podano nieprawidÅowÄ
frakcjÄ.",
+ limitFaction = "Ta frakcja jest peÅna. Spróbuj ponownie później.",
+ spawnAdd = "DodaÅeÅ punkt spawnu dla %s.",
+ spawnDeleted = "UsunÄ
ÅeÅ %s punkt(y) spawnu.",
+ someone = "KtoÅ",
+ rgnLookingAt = "Pozwól osobie, na którÄ
patrzysz, ciÄ rozpoznaÄ.",
+ rgnWhisper = "Pozwól tym, którzy sÄ
w zasiÄgu szeptu, ciÄ rozpoznaÄ.",
+ rgnTalk = "Pozwól tym, którzy sÄ
w zasiÄgu rozmowy, ciÄ rozpoznaÄ.",
+ rgnYell = "Pozwól tym, którzy sÄ
w zasiÄgu krzyku, ciÄ rozpoznaÄ.",
+ icFormat = "%s mówi \"%s\"",
+ rollFormat = "%s rzuciÅ %s.",
+ wFormat = "%s szepce \"%s\"",
+ yFormat = "%s krzyczy \"%s\"",
+ sbOptions = "Kliknij, aby zobaczyÄ opcje dla %s.",
+ spawnAdded = "DodaÅeÅ punkt spawnu dla %s.",
+ whitelist = "%s dodaÅ %s do biaÅej listy frakcji %s.",
+ unwhitelist = "%s usunÄ
Å %s z biaÅej listy frakcji %s.",
+ gettingUp = "Teraz wstajesz...",
+ wakingUp = "Zdajesz sobie sprawÄ...",
+ Weapons = "Bronie",
+ checkout = "IdÅŗ do Kasy (%s)",
+ purchase = "Zakup",
+ purchasing = "Zakupy...",
+ success = "Sukces",
+ buyFailed = "Zakup nieudany.",
+ buyGood = "Zakup udany!",
+ shipment = "Dostawa",
+ shipmentDesc = "Ta dostawa należy do %s.",
+ class = "Klasa",
+ classes = "Klasy",
+ illegalAccess = "Nielegalny dostÄp.",
+ becomeClassFail = "Nie udaÅo siÄ zostaÄ %s.",
+ becomeClass = "StaÅeÅ siÄ %s.",
+ attribSet = "UstawiÅeÅ %s atrybut %s na %s.",
+ attribUpdate = "DodaÅeÅ %s atrybut %s o %s.",
+ noFit = "Ten przedmiot nie mieÅci siÄ w twoim inwentarzu.",
+ help = "Pomoc",
+ commands = "Komendy",
+ helpDefault = "Wybierz kategoriÄ",
+ doorSettings = "Ustawienia drzwi",
+ sell = "Sprzedaj",
+ access = "DostÄp",
+ locking = "Zamykanie tego obiektu...",
+ unlocking = "Otwieranie tego obiektu...",
+ modelNoSeq = "Twój model nie obsÅuguje tej animacji.",
+ notNow = "Nie możesz teraz tego zrobiÄ.",
+ faceWall = "Musisz staÄ twarzÄ
do Åciany, żeby to zrobiÄ.",
+ faceWallBack = "Musisz staÄ plecami do Åciany, żeby to zrobiÄ.",
+ descChanged = "ZmieniÅeÅ opis swojej postaci.",
+ charMoney = "Aktualnie masz %s.",
+ charFaction = "JesteÅ czÅonkiem frakcji %s.",
+ charClass = "JesteÅ %s w frakcji.",
+ noSpace = "Inwentarz jest peÅny.",
+ noOwner = "WÅaÅciciel jest nieprawidÅowy.",
+ notAllowed = "Ta akcja jest niedozwolona.",
+ invalidIndex = "Indeks przedmiotu jest nieprawidÅowy.",
+ invalidItem = "Obiekt przedmiotu jest nieprawidÅowy.",
+ invalidInventory = "Obiekt inwentarza jest nieprawidÅowy.",
+ home = "Dom",
+ charKick = "%s wykickowaÅ postaÄ %s.",
+ charBan = "%s zbanowaÅ postaÄ %s.",
+ charBanned = "Ta postaÄ jest zbanowana.",
+ setMoney = "UstawiÅeÅ pieniÄ
dze %s na %s.",
+ itemPriceInfo = "Możesz zakupiÄ ten przedmiot za %s.\nMożesz sprzedaÄ ten przedmiot za %s",
+ free = "Darmowe",
+ vendorNoSellItems = "Nie ma przedmiotów do sprzedaży.",
+ vendorNoBuyItems = "Nie ma przedmiotów do zakupu.",
+ vendorSettings = "Ustawienia sprzedawcy",
+ vendorUseMoney = "Czy sprzedawca powinien używaÄ pieniÄdzy?",
+ vendorNoBubble = "Ukryj dymek sprzedawcy?",
+ mode = "Tryb",
+ price = "Cena",
+ stock = "Zapas",
+ none = "Brak",
+ vendorBoth = "Kup i Sprzedaj",
+ vendorBuy = "Tylko Kup",
+ vendorSell = "Tylko Sprzedaj",
+ maxStock = "Maksymalny Zapas",
+ vendorFaction = "Edytor Frakcji",
+ buy = "Zakup",
+ vendorWelcome = "Witaj w moim sklepie, czym mogÄ sÅużyÄ?",
+ vendorBye = "Do zobaczenia nastÄpnym razem!",
+ charSearching = "Już wyszukujesz innÄ
postaÄ, proszÄ czekaÄ.",
+ charUnBan = "%s odbanowaÅ postaÄ %s.",
+ charNotBanned = "Ta postaÄ nie jest zbanowana.",
+ storPass = "UstawiÅeÅ hasÅo do tego schowka na %s.",
+ storPassRmv = "UsunÄ
ÅeÅ hasÅo tego schowka.",
+ storPassWrite = "Podaj hasÅo.",
+ wrongPassword = "Podano zÅe hasÅo.",
+ cheapBlur = "WyÅÄ
czyÄ rozmycie? (ZwiÄksza FPS)",
+ quickSettings = "Szybkie ustawienia",
+ vmSet = "UstawiÅeÅ pocztÄ gÅosowÄ
.",
+ vmRem = "UsunÄ
ÅeÅ pocztÄ gÅosowÄ
.",
+ altLower = "UkryÄ rÄce podczas opuszczenia?",
+ noPerm = "Nie masz uprawnieÅ do tego.",
+ youreDead = "JesteÅ martwy",
+ injMajor = "Wydajesz siÄ byÄ ciÄżko ranny.",
+ injLittle = "Wydajesz siÄ byÄ ranny",
+ toggleObserverTP = "PrzeÅÄ
cz teleportacjÄ obserwatora",
+ toggleESP = "PrzeÅÄ
cz ESP administratora",
+ toggleESPAdvanced = "Zaawansowany tryb ESP",
+ chgName = "ZmieÅ imiÄ",
+ chgNameDesc = "WprowadÅŗ nowe imiÄ postaci poniżej.",
+ thirdpersonToggle = "PrzeÅÄ
cz tryb widoku z trzeciej osoby",
+ thirdpersonClassic = "Użyj klasycznego widoku z trzeciej osoby",
+ thirdpersonConfig = "Konfiguracja widoku z trzeciej osoby",
+ equippedBag = "Przedmioty wyposażone nie mogÄ
byÄ przenoszone miÄdzy inwentarzami.",
+ useTip = "Używa przedmiot.",
+ equipTip = "Wyposaża przedmiot.",
+ unequipTip = "Usuwa wyposażenie przedmiot.",
+ consumables = "Årodki spożywcze",
+ plyNotValid = "Nie patrzysz na prawidÅowego gracza.",
+ restricted = "JesteÅ ograniczony.",
+ viewProfile = "Zobacz profil Steam",
+ salary = "OtrzymaÅeÅ %s z twojej pensji.",
+ noRecog = "Nie rozpoznajesz tej osoby.",
+ curTime = "Obecny czas to %s.",
+ vendorEditor = "Edytor sprzedawcy",
+ edit = "Edytuj",
+ disable = "WyÅÄ
cz",
+ vendorPriceReq = "Podaj nowÄ
cenÄ tego przedmiotu.",
+ vendorEditCurStock = "Edytuj bieżÄ
cy zapas",
+ you = "Ty",
+ vendorSellScale = "Skala ceny sprzedaży",
+ vendorNoTrade = "Nie możesz handlowaÄ z tym sprzedawcÄ
.",
+ vendorNoMoney = "Ten sprzedawca nie staÄ na ten przedmiot.",
+ vendorNoStock = "Ten sprzedawca nie ma tego przedmiotu w zapasach.",
+ contentTitle = "BrakujÄ
ca zawartoÅÄ NutScript",
+ contentWarning = "Nie masz zamontowanej zawartoÅci NutScript. Może to skutkowaÄ brakiem pewnych funkcji.\nCzy chcesz otworzyÄ stronÄ Warsztatu z zawartoÅciÄ
NutScript?",
+ flags = "Flagi",
+ chooseTip = "Wybierz tÄ postaÄ, aby graÄ.",
+ deleteTip = "UsuÅ tÄ postaÄ.",
+ moneyLeft = "Twoje pieniÄ
dze: ",
+ currentMoney = "PozostaÅe pieniÄ
dze: ",
+ -- 2018-patch
+ ammoLoadAll = "ZaÅaduj wszystko",
+ ammoLoadAmount = "ZaÅaduj %s",
+ ammoLoadCustom = "ZaÅaduj...",
+ split = "Podziel",
+ splitHelp = "WprowadÅŗ liczbÄ, aby podzieliÄ.",
+ splitHalf = "Podziel 1/2",
+ splitQuarter = "Podziel 1/4",
+ recognize = "Pozwól tej postaci ciÄ rozpoznaÄ.",
+ recognized = "PodarowaÅeÅ tej postaci swojÄ
tożsamoÅÄ.",
+ already_recognized = "Ta postaÄ już ciÄ zna.",
+ isTied = "Ta osoba jest zwiÄ
zana.",
+ tying = "WiÄ
zanie",
+ untying = "RozwiÄ
zywanie",
+ beingUntied = "JesteÅ rozwiÄ
zywany.",
+ beingTied = "JesteÅ wiÄ
zany.",
+ sameOutfitCategory = "JesteŠjuż ubrany w ten typ ubioru.",
+ noBusiness = "Obecnie nie masz dostÄpu do zakupów.",
+ panelRemoved = "UsunÄ
ÅeÅ %s panele 3D.",
+ panelAdded = "DodaÅeÅ panel 3D.",
+ itemOnGround = "Twój przedmiot zostaŠumieszczony na ziemi.",
+ forbiddenActionStorage = "Nie możesz wykonywaÄ tej akcji z przechowywanym przedmiotem.",
+ cantDropBagHasEquipped = "Nie możesz upuÅciÄ torby, która ma zaÅożony przedmiot.",
+ -- 2021-patch
+ lookToUseAt = "Musisz patrzeÄ na kogoÅ, żeby użyÄ '@'",
+ mustProvideString = "Musisz podaÄ ciÄ
g znaków dla zmiennej",
+ -- 2023-patch
+ togglePluginsDesc = "Wybrane wtyczki zostanÄ
wyÅÄ
czone.\nMapa musi zostaÄ ponownie uruchomiona po wprowadzeniu zmian!",
+}
\ No newline at end of file
diff --git a/gamemode/languages/sh_portuguese.lua b/gamemode/languages/sh_portuguese.lua
index 25c570c5..e54ee74b 100644
--- a/gamemode/languages/sh_portuguese.lua
+++ b/gamemode/languages/sh_portuguese.lua
@@ -1,267 +1,267 @@
-NAME = "Portuguese" ---//Contact Barata#2411 if you have any translation change suggestion\\----
-
+NAME = "Portuguese"
LANGUAGE = {
- loading = "A carregar",
- dbError = "Erro ao conectar Ć database",
+ loading = "Carregando",
+ dbError = "Falha na conexão com o banco de dados",
unknown = "Desconhecido",
noDesc = "Nenhuma descrição disponĆvel",
create = "Criar",
- createTip = "Criar um novo personagem para jogar como.",
+ createTip = "Criar um novo personagem para jogar.",
load = "Carregar",
- loadTip = "Escolhe um personagem que jĆ” tenhas criado.",
+ loadTip = "Escolher um personagem previamente criado para jogar.",
leave = "Sair",
leaveTip = "Sair do servidor atual.",
["return"] = "Retornar",
- returnTip = "Retornar ao menu anterior.",
+ returnTip = "Voltar ao menu anterior.",
name = "Nome",
desc = "Descrição",
- attribs = "Atributos",
- charCreateTip = "Preenche os campos abaixo e pressiona 'Acabar' para criar o teu personagem.",
- invalid = "Deste uma %s invƔlida",
- descMinLen = "A tua descrição têm de ter pelo menos %d caracteres.",
model = "Modelo",
+ attribs = "Atributos",
+ charCreateTip = "Preencha os campos abaixo e pressione 'Concluir' para criar seu personagem.",
+ invalid = "Você forneceu um(a) %s invÔlido(a)",
+ descMinLen = "Sua descrição deve ter pelo menos %d caractere(s).",
player = "Jogador",
- finish = "Acabar",
- finishTip = "Acabar de criar o teu personagem.",
- needModel = "Escolhe um modelo vƔlido",
- creating = "O teu personagem estĆ” a ser criado...",
- unknownError = "Ocorreu um erro desconhecido.",
- delConfirm = "Tens a certeza que queres apagar %s PERMANENTEMENTE?",
+ finish = "Concluir",
+ finishTip = "Concluir a criação do personagem.",
+ needModel = "Você precisa escolher um modelo vÔlido",
+ creating = "Seu personagem estĆ” sendo criado...",
+ unknownError = "Um erro desconhecido ocorreu",
+ delConfirm = "VocĆŖ tem certeza de que deseja EXCLUIR PERMANENTEMENTE %s?",
no = "NĆ£o",
yes = "Sim",
itemInfo = "Nome: %s\nDescrição: %s",
- itemCreated = "Objecto criado com sucesso.",
- cloud_no_repo = "O repositório providenciado não é valido.",
- cloud_no_plugin = "O plugin providenciado não é vÔlido.",
+ itemCreated = "Item criado com sucesso.",
+ cloud_no_repo = "O repositório fornecido não é vÔlido.",
+ cloud_no_plugin = "O plugin fornecido não é vÔlido.",
inv = "InventƔrio",
plugins = "Plugins",
+ togglePlugins = "Ativar/desativar plugins",
author = "Autor",
version = "Versão",
characters = "Personagens",
- settings = "DefiniƧƵes",
- config = "Configuração",
+ settings = "ConfiguraƧƵes",
+ config = "Config",
chat = "Chat",
- appearance = "Aparencia",
+ appearance = "AparĆŖncia",
misc = "Diversos",
- oocDelay = "Deves esperar %s mais segundos antes de usares o OOC de novo.",
- loocDelay = "Deves esperar %s mais segundos antes de usares o LOOC de novo.",
- usingChar = "JƔ estƔs a usar este personagem.",
- notAllowed = "Desculpa, não podes fazer isto.",
- itemNoExist = "Desculpa, o item que pediste não existe.",
- cmdNoExist = "Desculpa, o comando não existe.",
- plyNoExist = "Desculpa, um jogador que procuras não foi encontrado.",
- cfgSet = "%s mudou \"%s\" para %s.",
+ oocDelay = "VocĆŖ deve esperar mais %s segundo(s) antes de usar o OOC novamente.",
+ loocDelay = "VocĆŖ deve esperar mais %s segundo(s) antes de usar o LOOC novamente.",
+ usingChar = "VocĆŖ jĆ” estĆ” usando este personagem.",
+ itemNoExist = "Desculpe, o item que você solicitou não existe.",
+ cmdNoExist = "Desculpe, esse comando não existe.",
+ plyNoExist = "Desculpe, nenhum jogador correspondente foi encontrado.",
+ cfgSet = "%s definiu \"%s\" para %s.",
drop = "Largar",
- dropTip = "Solta este objecto do teu inventƔrio.",
- take = "Levar",
- takeTip = "Leva este item e pƵe no teu inventƔrio.",
- dTitle = "Porta sem dono",
+ dropTip = "Larga este item do seu inventƔrio.",
+ take = "Pegar",
+ takeTip = "Pegar este item e colocƔ-lo em seu inventƔrio.",
+ dTitle = "Porta não pertencente",
dTitleOwned = "Porta Comprada",
- dIsNotOwnable = "Esta porta não pode ser comprada.",
- dIsOwnable = "Podes comprar esta porta ao clicar F2.",
- dMadeUnownable = "Fizeste esta porta não ser comprÔvel.",
- dMadeOwnable = "Fizeste esta porta ser compravel.",
- dNotAllowedToOwn = "NĆ£o podes comprar esta porta.",
- dSetDisabled = "Desativaste esta porta.",
- dSetNotDisabled = "Esta porta jÔ não estÔ desativada.",
- dSetHidden = "Escondeste a porta.",
- dSetNotHidden = "Esta porta jÔ não estÔ escondida.",
- dSetParentDoor = "Tornaste esta porta numa porta parente.",
- dCanNotSetAsChild = "Não pode tornar esta porta parente numa porta criança.",
- dAddChildDoor = "Adicionaste esta porta como porta crianƧa.",
- dRemoveChildren = "Removeste todos os filhos de esta porta.",
- dRemoveChildDoor = "Removeste esta porta de ser filho.",
- dNoParentDoor = "NĆ£o tens uma porta parente definida.",
- dOwnedBy = "Este porta Ć© propriedade de %s.",
+ dIsNotOwnable = "Esta porta nĆ£o pode ser possuĆda.",
+ dIsOwnable = "VocĆŖ pode comprar esta porta pressionando F2.",
+ dMadeUnownable = "VocĆŖ tornou esta porta nĆ£o-possuĆvel.",
+ dMadeOwnable = "VocĆŖ tornou esta porta possuĆvel.",
+ dNotAllowedToOwn = "Você não estÔ autorizado a possuir esta porta.",
+ dSetDisabled = "VocĆŖ tornou esta porta desativada.",
+ dSetNotDisabled = "Você tornou esta porta não mais desativada.",
+ dSetHidden = "VocĆŖ tornou esta porta oculta.",
+ dSetNotHidden = "Você tornou esta porta não mais oculta.",
+ dSetParentDoor = "VocĆŖ definiu esta porta como sua porta principal.",
+ dCanNotSetAsChild = "Você não pode definir a porta principal como uma porta secundÔria.",
+ dAddChildDoor = "Você adicionou esta porta como uma porta secundÔria.",
+ dRemoveChildren = "Você removeu todas as portas secundÔrias para esta porta.",
+ dRemoveChildDoor = "Você removeu esta porta como uma porta secundÔria.",
+ dNoParentDoor = "Você não tem uma porta principal definida.",
+ dOwnedBy = "Esta porta pertence a %s.",
dConfigName = "Portas",
- dSetFaction = "Esta porta pertence à facção %s.",
- dRemoveFaction = "Esta porta jÔ não pertence a uma facção.",
- dNotValid = "Não estÔs a olhar para uma porta vÔlida.",
- canNotAfford = "NĆ£o tens dinheiro suficiente para comprar isto.",
- dPurchased = "Compraste esta porta por %s.",
- dSold = "Vendeste esta porta por %s.",
- notOwner = "Não és o dono disto.",
- invalidArg = "Deste um valor invalido para o argumento #%s.",
- flagGive = "%s deu %s '%s' flags.",
- flagGiveTitle = "Dar Flags",
- flagGiveDesc = "Dar as flags seguintes ao jogador.",
- flagTake = "%s tirou '%s' flags de %s.",
- flagTakeTitle = "Tirar Flags",
- flagTakeDesc = "Remover Flags do jogador.",
- flagNoMatch = "Tu deves ter a Flag \"%s\" para fazeres isto.",
- textAdded = "Adicionaste texto.",
- textRemoved = "Removeste %s textos.",
- moneyTaken = "Encontraste %s.",
- businessPurchase = "Compraste %s por %s.",
- businessSell = "Vendeste %s por %s.",
+ dSetFaction = "Esta porta agora pertence à facção %s.",
+ dRemoveFaction = "Esta porta não pertence mais a nenhuma facção.",
+ dNotValid = "Você não estÔ olhando para uma porta vÔlida.",
+ canNotAfford = "Você não pode pagar por esta compra.",
+ dPurchased = "VocĆŖ comprou esta porta por %s.",
+ dSold = "VocĆŖ vendeu esta porta por %s.",
+ notOwner = "Você não é o proprietÔrio disso.",
+ invalidArg = "Você forneceu um valor invÔlido para o argumento #%s.",
+ flagGive = "%s deu a %s a(s) bandeira(s) '%s'.",
+ flagGiveTitle = "Dar Bandeiras",
+ flagGiveDesc = "DĆŖ as seguintes bandeiras ao jogador.",
+ flagTake = "%s retirou a(s) bandeira(s) '%s' de %s.",
+ flagTakeTitle = "Retirar Bandeiras",
+ flagTakeDesc = "Remova as seguintes bandeiras do jogador.",
+ flagNoMatch = "Você precisa ter bandeira(s) \"%s\" para executar esta ação.",
+ textAdded = "VocĆŖ adicionou um texto.",
+ textRemoved = "VocĆŖ removeu %s texto(s).",
+ moneyTaken = "VocĆŖ encontrou %s.",
+ businessPurchase = "VocĆŖ comprou %s por %s.",
+ businessSell = "VocĆŖ vendeu %s por %s.",
cChangeModel = "%s mudou o modelo de %s para %s.",
cChangeName = "%s mudou o nome de %s para %s.",
cChangeSkin = "%s mudou a skin de %s para %s.",
- cChangeGroups = "%s mudou o bodygroup de %s \"%s\" para %s.",
+ cChangeGroups = "%s mudou o grupo de corpo \"%s\" de %s para %s.",
cChangeFaction = "%s transferiu %s para a facção %s.",
- playerCharBelonging = "Isto pertence a outro personagem.",
+ playerCharBelonging = "Este objeto pertence a outro personagem seu.",
business = "Negócios",
- invalidFaction = "Deste uma facção invÔlida.",
- limitFaction = "Esta facção estÔ cheia. Tenta mais tarde.",
- spawnAdd = "Adicionaste um spawn para a %s.",
- spawnDeleted = "Removeste %s spawn point(s).",
+ invalidFaction = "Você forneceu uma facção invÔlida.",
+ limitFaction = "Esta facção estÔ cheia. Tente novamente mais tarde.",
+ spawnAdd = "VocĆŖ adicionou um ponto de spawn para %s.",
+ spawnDeleted = "VocĆŖ removeu %s ponto(s) de spawn.",
someone = "AlguƩm",
- rgnLookingAt = "Permite que a pessoa te reconheƧa.",
- rgnWhisper = "Permite que a(s) pessoa(s) na area de sussuro te reconheƧam.",
- rgnTalk = "Permite que a(s) pessoa(s) na area de fala te reconheƧam.",
- rgnYell = "Permite que a(s) pessoa(s) na area de gritar te reconheƧam.",
+ rgnLookingAt = "Permitir que a pessoa que você estÔ olhando o reconheça.",
+ rgnWhisper = "Permitir que aqueles em um sussurro reconheçam você.",
+ rgnTalk = "Permitir que aqueles em uma conversa reconheçam você.",
+ rgnYell = "Permitir que aqueles em um grito reconheçam você.",
icFormat = "%s diz \"%s\"",
- rollFormat = "%s deu roll a %s.",
+ rollFormat = "%s rolou %s.",
wFormat = "%s sussurra \"%s\"",
yFormat = "%s grita \"%s\"",
- sbOptions = "Clica para veres as opƧƵes para %s.",
- spawnAdded = "Adicionaste um spawn para %s.",
- whitelist = "%s deu uma whitelist a %s para a facção %s.",
- unwhitelist = "%s tirou uma whitelist a %s para a facção %s.",
- gettingUp = "EstƔs a levantar-te...",
- wakingUp = "EstÔs a ganhar consciência...",
+ sbOptions = "Clique para ver opƧƵes para %s.",
+ spawnAdded = "VocĆŖ adicionou um spawn para %s.",
+ whitelist = "%s incluiu %s na whitelist da facção %s.",
+ unwhitelist = "%s excluiu %s da whitelist da facção %s.",
+ gettingUp = "VocĆŖ estĆ” se levantando agora...",
+ wakingUp = "VocĆŖ estĆ” recuperando a consciĆŖncia...",
Weapons = "Armas",
- checkout = "Vai para o pagamento (%s)",
+ checkout = "Ir para o Checkout (%s)",
purchase = "Comprar",
purchasing = "Comprando...",
success = "Sucesso",
- buyFailed = "Compra Falhada.",
- buyGood = "Compra bem sucedida!",
+ buyFailed = "Compra falhou.",
+ buyGood = "Compra bem-sucedida!",
shipment = "Remessa",
shipmentDesc = "Esta remessa pertence a %s.",
- class = "Class",
+ class = "Classe",
classes = "Classes",
- illegalAccess = "Acesso Ilegal.",
- becomeClassFail = "Falhaste a tornar-te %s.",
- becomeClass = "Tornaste-te %s.",
- attribSet = "Definiste %s %s para %s.",
- attribUpdate = "Adicionaste %s %s para %s.",
- noFit = "Este item não cabe no teu inventÔrio.",
+ illegalAccess = "Acesso ilegal.",
+ becomeClassFail = "Falha ao se tornar %s.",
+ becomeClass = "VocĆŖ se tornou %s.",
+ attribSet = "VocĆŖ definiu %s's %s como %s.",
+ attribUpdate = "VocĆŖ adicionou %s's %s por %s.",
+ noFit = "Este item não cabe em seu inventÔrio.",
help = "Ajuda",
commands = "Comandos",
- helpDefault = "Selecionar Categoria",
- doorSettings = "DefiniƧƵes da porta",
+ helpDefault = "Selecione uma categoria",
+ doorSettings = "ConfiguraƧƵes da Porta",
sell = "Vender",
access = "Acesso",
locking = "Trancando esta entidade...",
- unlocking = "Desbloqueando esta entidade...",
- modelNoSeq = "O teu modelo não suporta este ato.",
- notNow = "Não és permitido a fazer isto agora.",
- faceWall = "Deves estar a olhar para uma parede para fazer isto.",
- faceWallBack = "Deves estar de costas para uma parede para fazer isto.",
- descChanged = "Mudaste a aparĆŖncia do teu personagem.",
- charMoney = "Tens %s.",
- charFaction = "Ćs membro da facção %s.",
- charClass = "Tu %s da facção.",
+ unlocking = "Destrancando esta entidade...",
+ modelNoSeq = "Seu modelo não suporta essa ação.",
+ notNow = "Você não tem permissão para fazer isso agora.",
+ faceWall = "VocĆŖ precisa estar de frente para a parede para fazer isso.",
+ faceWallBack = "Sua parte de trƔs deve estar voltada para a parede para fazer isso.",
+ descChanged = "Você alterou a descrição do seu personagem.",
+ charMoney = "VocĆŖ tem atualmente %s.",
+ charFaction = "Você é um membro da facção %s.",
+ charClass = "Você é %s da facção.",
noSpace = "InventƔrio estƔ cheio.",
- noOwner = "O dono Ć© invalido.",
- invalidIndex = "O Ćndice deste item Index Ć© invalido.",
- invalidItem = "O objeto deste item Index Ć© invalido.",
- invalidInventory = "O objecto do inventƔrio Ʃ invaldio.",
- home = "Home",
- charKick = "%s deu kick ao personagem %s.",
+ noOwner = "O proprietƔrio Ʃ invƔlido.",
+ notAllowed = "Esta ação não é permitida.",
+ invalidIndex = "O Ćndice do Item Ć© InvĆ”lido.",
+ invalidItem = "O Objeto do Item Ʃ InvƔlido.",
+ invalidInventory = "O Objeto de InventƔrio Ʃ InvƔlido.",
+ home = "InĆcio",
+ charKick = "%s chutou o personagem %s.",
charBan = "%s baniu o personagem %s.",
charBanned = "Este personagem estĆ” banido.",
- setMoney = "Definiste o dinheiro de %s para %s.",
- itemPriceInfo = "Podes comprar este item por %s.\nPodes vender este item por %s",
- free = "De GraƧa",
- vendorNoSellItems = "NĆ£o existem items para vender.",
- vendorNoBuyItems = "NĆ£o existem items para comprar.",
- vendorSettings = "DefiniƧƵes do vendedor",
- vendorUseMoney = "O vendedor deve usar dinheiro?",
- vendorNoBubble = "Esconder a bolha do vendedor?",
+ setMoney = "VocĆŖ definiu o dinheiro de %s como %s.",
+ itemPriceInfo = "VocĆŖ pode comprar este item por %s.\nVocĆŖ pode vender este item por %s",
+ free = "GrƔtis",
+ vendorNoSellItems = "NĆ£o hĆ” itens para vender.",
+ vendorNoBuyItems = "NĆ£o hĆ” itens para comprar.",
+ vendorSettings = "ConfiguraƧƵes do Vendedor",
+ vendorUseMoney = "Vendedor deve usar dinheiro?",
+ vendorNoBubble = "Esconder balão do vendedor?",
mode = "Modo",
price = "PreƧo",
- stock = "Stock",
+ stock = "Estoque",
none = "Nenhum",
vendorBoth = "Comprar e Vender",
vendorBuy = "Apenas Comprar",
vendorSell = "Apenas Vender",
- maxStock = "Stock MƔximo",
- vendorFaction = "Editor de FacƧƵes",
+ maxStock = "Estoque MƔximo",
+ vendorFaction = "Editor de Facção",
buy = "Comprar",
- vendorWelcome = "Bem vindo Ć minha loja, o que Ć© que te posso arranjar hoje?",
- vendorBye = "Volta brevemente!",
- charSearching = "JƔ estƔs a procurar um personagem, espera por favor.",
+ vendorWelcome = "Bem-vindo Ć minha loja, o que posso pegar para vocĆŖ hoje?",
+ vendorBye = "Volte sempre!",
+ charSearching = "VocĆŖ jĆ” estĆ” procurando por outro personagem, por favor, espere.",
charUnBan = "%s desbaniu o personagem %s.",
charNotBanned = "Este personagem não estÔ banido.",
- storPass = "Definiste a password deste armazƩm para %s.",
- storPassRmv = "Removeste a password deste armazƩm.",
- storPassWrite = "Mete a password.",
- wrongPassword = "Meteste a password errada.",
- cheapBlur = "Desativar obscurecimento? (Aumenta os FPS)",
- quickSettings = "DefiniƧƵes rƔpidas",
- vmSet = "Definiste voicemail.",
- vmRem = "Removeste o teu voicemail.",
+ storPass = "VocĆŖ definiu a senha deste armazenamento como %s.",
+ storPassRmv = "VocĆŖ removeu a senha deste armazenamento.",
+ storPassWrite = "Digite a senha.",
+ wrongPassword = "VocĆŖ digitou a senha errada.",
+ cheapBlur = "Desativar o desfoque? (Aumenta o FPS)",
+ quickSettings = "ConfiguraƧƵes RƔpidas",
+ vmSet = "VocĆŖ definiu sua caixa postal.",
+ vmRem = "VocĆŖ removeu sua caixa postal.",
altLower = "Esconder mãos quando abaixadas?",
- noPerm = "Não estÔs permitido a fazer isto.",
- youreDead = "Tu estƔs morto",
- injMajor = "Parece estar criticamente ferido.",
- injLittle = "Parece magoado",
- toggleObserverTP = "Alternar teleportador do Observer",
- toggleESP = "Alternar ESP de Admin",
- toggleESPAdvanced = "Modo avanƧado do ESP",
- chgName = "Mudar nome",
- chgNameDesc = "PƵe o novo nome do personagem abaixo.",
- thirdpersonToggle = "Alternar Terceira Pessoa",
- thirdpersonClassic = "Usar Terceira Pessoa clƔssica",
- thirdpersonConfig = "Configuração da Terceira Pessoa",
- equippedBag = "items equipados não podem ser movidos por inventarios.",
- useTip = "Usa o item",
- equipTip = "Equipa o item.",
- unequipTip = "Desequipa o item.",
+ noPerm = "Você não tem permissão para fazer isso.",
+ youreDead = "VocĆŖ estĆ” morto",
+ injMajor = "Parece gravemente ferido.",
+ injLittle = "Parece ferido",
+ toggleObserverTP = "Alternar teletransporte de observador",
+ toggleESP = "Alternar ESP de Administrador",
+ toggleESPAdvanced = "Modo AvanƧado de ESP",
+ chgName = "Mudar Nome",
+ chgNameDesc = "Digite o novo nome do personagem abaixo.",
+ thirdpersonToggle = "Alternar Visão de Terceira Pessoa",
+ thirdpersonClassic = "Usar Visão de Terceira Pessoa ClÔssica",
+ thirdpersonConfig = "Configuração de Terceira Pessoa",
+ equippedBag = "Itens equipados não podem ser movidos entre inventÔrios.",
+ useTip = "Usa o item.",
+ equipTip = "Equipar o item.",
+ unequipTip = "Desquipar o item.",
consumables = "ConsumĆveis",
- plyNotValid = "Não estÔs a olhar para um jogador valido.",
- restricted = "Foste contido.",
- viewProfile = "Ver perfil Steam",
- salary = "Recebeste %s do teu salƔrio.",
- noRecog = "NĆ£o reconheces esta pessoa.",
- curTime = "SĆ£o %s.",
- vendorEditor = "Editar Vendedor",
+ plyNotValid = "Você não estÔ olhando para um jogador vÔlido.",
+ restricted = "VocĆŖ estĆ” restrito.",
+ viewProfile = "Ver Perfil Steam",
+ salary = "Você recebeu %s do seu salÔrio.",
+ noRecog = "Você não reconhece esta pessoa.",
+ curTime = "O horƔrio atual Ʃ %s.",
+ vendorEditor = "Editor de Vendedor",
edit = "Editar",
- disable = "Desabilitar",
- vendorPriceReq = "PƵe o novo preƧo para este item.",
- vendorEditCurStock = "Edit Current Stock",
- you = "Tu",
- vendorSellScale = "Escala do PreƧo de Venda",
- vendorNoTrade = "Tu não podes trocar com este vendedor.",
- vendorNoMoney = "Este vendedor não têm dinheiro suficiente para esse item.",
- vendorNoStock = "Este vendedor não têm esse item em stock.",
- contentTitle = "Conteúdo NutScript não encontrado",
- contentWarning = "Não tens o conteúdo do NutScript montado. Isto pode resultar em alguns recursos não funcionarem .\nO conteúdo do Nutscript foi mudado para o do rebel1324.\nQueres abrir a pagina da loja para o conteúdo do NutScript?",
- flags = "Flags",
- chooseTip = "Escolhe este personagem para jogares.",
- deleteTip = "Apagar este personagem.",
- moneyLeft = "O teu dinheiro: ",
+ disable = "Desativar",
+ vendorPriceReq = "Digite o novo preƧo para este item.",
+ vendorEditCurStock = "Editar Estoque Atual",
+ you = "VocĆŖ",
+ vendorSellScale = "Escala de preƧo de venda",
+ vendorNoTrade = "Você não pode negociar com este vendedor.",
+ vendorNoMoney = "Este vendedor não pode pagar por esse item.",
+ vendorNoStock = "Este vendedor não tem esse item em estoque.",
+ contentTitle = "ConteĆŗdo do NutScript Ausente",
+ contentWarning = "Você não tem o conteúdo do NutScript montado. Isso pode resultar em algumas funcionalidades ausentes.\nO endereço do conteúdo do Nutscript foi alterado para o de rebel1324.\nGostaria de abrir a pÔgina da Oficina para o conteúdo do NutScript?",
+ flags = "Bandeiras",
+ chooseTip = "Escolha este personagem para jogar com.",
+ deleteTip = "Excluir este personagem.",
+ moneyLeft = "Seu Dinheiro: ",
currentMoney = "Dinheiro Restante: ",
-
- -- 2018 patch
-
- ammoLoadAll = "Carregar tudo",
+ -- 2018-patch
+ ammoLoadAll = "Carregar Tudo",
ammoLoadAmount = "Carregar %s",
ammoLoadCustom = "Carregar...",
split = "Dividir",
- splitHelp = "Mete um nĆŗmero para dividir.",
+ splitHelp = "Digite um nĆŗmero para dividir.",
splitHalf = "Dividir 1/2",
splitQuarter = "Dividir 1/4",
- recognize = "Permite que este personagem te reconheƧa.",
- recognized = "Deste a tua identidade a este personagem.",
+ recognize = "Permitir que este personagem o reconheƧa.",
+ recognized = "VocĆŖ deu sua identidade a este personagem.",
already_recognized = "Este personagem jĆ” te conhece.",
- isTied = "Esta personagem jĆ” estĆ” atada.",
- tying = "Atando",
- untying = "Desatando",
- beingUntied = "EstƔs a ser desatado.",
- beingTied = "EstƔs a ser atado.",
- sameOutfitCategory = "JƔ estƔs a vestir uma roupa deste tipo.",
- noBusiness = "NĆ£o podes comprar nada.",
- panelRemoved = "Removeste %s 3D panels.",
- panelAdded = "Adicionaste 1 3D panel.",
- itemOnGround = "O teu item foi colocado no chão.",
- forbiddenActionStorage = "NĆ£o podes fazer isto com itens armazenados.",
- cantDropBagHasEquipped = "NĆ£o podes largar uma mala equipada.",
-
- -- 2021 patch
- lookToUseAt = "Precisas de estar a olhar para alguƩm para usar '@'",
- mustProvideString = "Deves dar uma string para a variƔvel",
+ isTied = "Esta pessoa estĆ” amarrada.",
+ tying = "Amarrando",
+ untying = "Desamarrando",
+ beingUntied = "VocĆŖ estĆ” sendo desamarrado.",
+ beingTied = "VocĆŖ estĆ” sendo amarrado.",
+ sameOutfitCategory = "VocĆŖ jĆ” estĆ” usando esse tipo de roupa.",
+ noBusiness = "Você não estÔ autorizado a comprar nada no momento.",
+ panelRemoved = "VocĆŖ removeu %s painel(ns) 3D.",
+ panelAdded = "VocĆŖ adicionou um painel 3D.",
+ itemOnGround = "Seu item foi colocado no chão.",
+ forbiddenActionStorage = "Você não pode fazer essa ação com um item guardado.",
+ cantDropBagHasEquipped = "Você não pode soltar a bolsa que possui um item equipado.",
+ -- 2021-patch
+ lookToUseAt = "Olhe para alguƩm para usar '@'",
+ mustProvideString = "Você deve fornecer uma string para a variÔvel",
+ -- 2023-patch
+ togglePluginsDesc = "Os Plugins selecionados serão desativados.\nO mapa deve ser reiniciado após fazer as alterações!",
}
+
diff --git a/gamemode/languages/sh_russian.lua b/gamemode/languages/sh_russian.lua
index 0aceb1ac..4b746b04 100644
--- a/gamemode/languages/sh_russian.lua
+++ b/gamemode/languages/sh_russian.lua
@@ -1,6 +1,6 @@

--[[
-Russian translation by:
+Russian translation by:
Shadow Nova (http://steamcommunity.com/profiles/76561197989134302),
Schwarz Kruppzo (http://steamcommunity.com/id/schwarzkruppzo),
Neon (http://steamcommunity.com/id/ru_neon),
@@ -11,288 +11,269 @@ Tov (https://steamcommunity.com/id/TOVARISCHPOOTIS)
NAME = "Š ŃŃŃŠŗŠøŠ¹"
LANGUAGE = {
- loading = "ŠŠ°Š³ŃŃŠ¶Š°ŠµŃŃŃ",
- dbError = "ŠŠ¾Š“ŠŗŠ»ŃŃŠµŠ½ŠøŠµ Šŗ базе ГаннŃŃ
ŠæŃŠ¾Š²Š°Š»ŠøŠ»Š¾ŃŃ",
- unknown = "ŠŠµŠøŠ·Š²ŠµŃŃŠ½Š¾",
- noDesc = "ŠŠæŠøŃŠ°Š½ŠøŠµ оŃŃŃŃŃŃŠ²ŃеŃ",
- create = "ДозГаŃŃ",
- createTip = "ДозГаŃŃ Š½Š¾Š²Š¾Š³Š¾ пеŃŃŠ¾Š½Š°Š¶Š°, за ŠŗŠ¾ŃоŃого Š²Ń Š±ŃŠ“ŠµŃŠµ ŠøŠ³ŃŠ°ŃŃ.",
- load = "ŠŠ°Š³ŃŃŠ·ŠøŃŃ",
- loadTip = "ŠŃŠ±ŠµŃŠøŃе ŃŠ°Š½ŠµŠµ ŃŠ¾Š·Š“анного вами пеŃŃŠ¾Š½Š°Š¶Š°.",
- leave = "ŠŃŠ¹ŃŠø",
- leaveTip = "ŠŠ¾ŠŗŠøŠ½ŃŃŃ ŃŠµŠŗŃŃŠøŠ¹ ŃŠµŃвеŃ.",
- ["return"] = "ŠŠµŃнŃŃŃŃŃ",
- returnTip = "ŠŠµŃнŃŃŃŃŃ Šŗ ŠæŃŠµŠ“ŃŠ“ŃŃŠµŠ¼Ń менŃ.",
- name = "ŠŠ¼Ń",
- desc = "ŠŠæŠøŃŠ°Š½ŠøŠµ",
- model = "ŠŠ¾Š“елŃ",
- attribs = "ŠŃŃŠøŠ±ŃŃŃ",
- charCreateTip = "ŠŠ°ŠæŠ¾Š»Š½ŠøŃе ŃŃŃŠ¾ŃŠŗŠø ниже Šø Š½Š°Š¶Š¼ŠøŃŠµ 'ŠŠ°Š²ŠµŃŃŠøŃŃ', ŃŃŠ¾Š±Ń ŃŠ¾Š·Š“аŃŃ Š²Š°ŃŠµŠ³Š¾ пеŃŃŠ¾Š½Š°Š¶Š°.",
- invalid = "ŠŃ ŠæŃŠµŠ“ŃŃŠ²ŠøŠ»Šø неГейŃŃŠ²ŠøŃŠµŠ»ŃŠ½Ńй %s",
- descMinLen = "ŠŠ°Ńе Š¾ŠæŠøŃание Голжно Ń
оŃŃ Š±Ń ŠøŠ¼ŠµŃŃ %d ŠŗŠ¾Š»ŠøŃŠµŃŃŠ²Š¾ Š±ŃŠŗŠ².",
- player = "ŠŠ³Ńок",
- finish = "ŠŠ°Š²ŠµŃŃŠøŃŃ",
- finishTip = "ŠŠ°Š²ŠµŃŃŠøŃŃ ŃŠ¾Š·Š“ание пеŃŃŠ¾Š½Š°Š¶Š°.",
- needModel = "ŠŃ Š“Š¾Š»Š¶Š½Ń Š²ŃŠ±ŃаŃŃ Š“ŠµŠ¹ŃŃŠ²ŠøŃŠµŠ»ŃŠ½ŃŃ Š¼Š¾Š“ŠµŠ»Ń",
- creating = "ŠŠ°Ń пеŃŃŠ¾Š½Š°Š¶ ŃŠ¾Š·Š“аŃŃŃŃ...",
- unknownError = "ŠŠ±Š½Š°ŃŃŠ¶ŠµŠ½Š° неизвеŃŃŠ½Š°Ń Š¾ŃŠøŠ±ŠŗŠ°",
- delConfirm = "ŠŃ ŃŠ²ŠµŃенŃ, ŃŃŠ¾ Ń
Š¾ŃŠøŃе ŠŠŠŠ”ŠŠŠŠ ŃŠ“алиŃŃ %s?",
- no = "ŠŠµŃ",
- yes = "ŠŠ°",
- choose = "ŠŃŠ±ŃŠ°ŃŃ",
- delete = "УГалиŃŃ",
- chooseTip = "ŠŃŠ±ŃŠ°ŃŃ ŃŃŠ¾Š³Š¾ пеŃŃŠ¾Š½Š°Š¶Š°.",
- deleteTip = "УГалиŃŃ ŃŃŠ¾Š³Š¾ пеŃŃŠ¾Š½Š°Š¶Š°.",
- itemInfo = "ŠŠ°Š·Š²Š°Š½ŠøŠµ: %s\nŠŠæŠøŃŠ°Š½ŠøŠµ: %s",
- cloud_no_repo = "ŠŃŠ±ŃŠ°Š½Š½Š¾Šµ Ń
ŃŠ°Š½ŠøŠ»ŠøŃе неГейŃŃŠ²ŠøŃŠµŠ»ŃŠ½Š¾Šµ.",
- cloud_no_plugin = "ŠŃŠ±ŃŠ°Š½Š½Ńй плагин неГейŃŃŠ²ŠøŃелен.",
- inv = "ŠŠ½Š²ŠµŠ½ŃаŃŃ",
- plugins = "ŠŠ»Š°Š³ŠøŠ½",
- author = "ŠŠ²ŃоŃ",
- version = "ŠŠµŃŃŠøŃ",
- characters = "ŠŠµŃŃŠ¾Š½Š°Š¶Šø",
- business = "ŠŠøŠ·Š½ŠµŃ",
- settings = "ŠŠ°ŃŃŃŠ¾Š¹ŠŗŠø",
- config = "ŠŠ¾Š½Ńиг",
- chat = "ЧаŃ",
- appearance = "ŠŠ½ŠµŃний виГ",
- misc = "ŠŃŃŠ°Š»Ńное",
- oocDelay = "ŠŃ Š“Š¾Š»Š¶Š½Ń Š“Š¾Š¶Š“Š°ŃŃŃŃ %s ŃŠµŠŗŃнГ, ŃŃŠ¾Š±Ń Š²Š¾ŃŠæŠ¾Š»ŃŠ·Š¾Š²Š°ŃŃŃ OOC ŃŠ°Ńом ŃŠ½Š¾Š²Š°.",
- loocDelay = "ŠŃ Š“Š¾Š»Š¶Š½Ń Š“Š¾Š¶Š“Š°ŃŃŃŃ %s ŃŠµŠŗŃнГ ŃŃŠ¾Š±Ń Š²Š¾ŃŠæŠ¾Š»ŃŠ·Š¾Š²Š°ŃŃŃ LOOC ŃŠ°Ńом ŃŠ½Š¾Š²Š°.",
- usingChar = "ŠŃ ŃŠ¶Šµ ŠøŃŠæŠ¾Š»ŃŠ·ŃŠµŃŠµ ŃŃŠ¾Š³Š¾ пеŃŃŠ¾Š½Š°Š¶Š°.",
- notAllowed = "ŠŠ·Š²ŠøŠ½ŠøŃе, но Š²Ń не Š¼Š¾Š¶ŠµŃе ŃŃŠ¾Š³Š¾ ŃŠ“елаŃŃ.",
- itemNoExist = "ŠŠ·Š²ŠøŠ½ŠøŃе, но ŠæŃеГмеŃ, ŠŗŠ¾ŃŠ¾ŃŃŠ¹ Š²Ń ŠæŃŠ¾ŃŠøŃŠµ не ŃŃŃŠµŃŃŠ²ŃеŃ.",
- cmdNoExist = "ŠŠ·Š²ŠøŠ½ŠøŃе, но ŃŃŠ° команГа не ŃŃŃŠµŃŃŠ²ŃеŃ.",
- plyNoExist = "ŠŠ·Š²ŠøŠ½ŠøŃе, ŠøŠ³ŃŠ¾Šŗ Ń ŃŠ°ŠŗŠøŠ¼ именем не найГен.",
- cfgSet = "%s изменил \"%s\" на %s.",
- drop = "ŠŃŠ±ŃŠ¾ŃŠøŃŃ",
- dropTip = "ŠŃŠ±ŃŠ¾ŃŠøŃŃ ŃŃŠ¾Ń ŠæŃŠµŠ“Š¼ŠµŃ ŠøŠ· ŠøŠ½Š²ŠµŠ½ŃŠ°ŃŃ.",
- take = "ŠŠ·ŃŃŃ",
- takeTip = "ŠŠ·ŃŃŃ ŠæŃŠµŠ“Š¼ŠµŃ Šø положиŃŃ ŠµŠ³Š¾ в ŠøŠ½Š²ŠµŠ½ŃаŃŃ.",
- dTitle = "ŠŠµŃŃ
Š¾Š·Š½Š°Ń Š“Š²ŠµŃŃ",
- dTitleOwned = "ŠŃŠµŠ½Š“Š¾Š²Š°Š½Š½Š°Ń Š“Š²ŠµŃŃ",
- dIsNotOwnable = "ŠŃŃ Š“Š²ŠµŃŃ Š½ŠµŠ²Š¾Š·Š¼Š¾Š¶Š½Š¾ Š°ŃŠµŠ½Š“оваŃŃ.",
- dIsOwnable = "ŠŃ Š¼Š¾Š¶ŠµŃŠµ Š°ŃŠµŠ½Š“оваŃŃ ŃŃŃ Š“Š²ŠµŃŃ, Š½Š°Š¶ŠøŠ¼Š°Ń ŠŗŠ½Š¾ŠæŠŗŃ F2.",
- dMadeUnownable = "ŠŃ ŃŠ“елали ŃŃŃ Š“Š²ŠµŃŃ Š½Šµ ŠæŠ¾Š“Š»ŠµŠ¶Š°ŃŠµŠ¹ Šŗ Š°ŃŠµŠ½Š“е.",
- dMadeOwnable = "ŠŃ ŃŠ“елали ŃŃŃ Š“Š²ŠµŃŃ ŠæŠ¾Š“Š»ŠµŠ¶Š°ŃŠµŠ¹ Šŗ Š°ŃŠµŠ½Š“е.",
- dNotAllowedToOwn = "ŠŠ°Š¼ не позволено Š°ŃенГоваŃŃ ŃŃŃ Š“Š²ŠµŃŃ.",
- dSetDisabled = "ŠŃ ŃŠ“елали ŃŃŃ Š“Š²ŠµŃŃ Š½ŠµŃŠ°Š±Š¾Ńей.",
- dSetNotDisabled = "ŠŃ ŃŠ“елали ŃŃŃ Š“Š²ŠµŃŃ Š²Š½Š¾Š²Ń ŃŠ°Š±Š¾Ńей.",
- dSetHidden = "ŠŃ ŃŠ“елали ŃŃŃ Š“Š²ŠµŃŃ Š½ŠµŠ²ŠøŠ“ŠøŠ¼Š¾Š¹.",
- dSetNotHidden = "ŠŃ ŃŠ“елали ŃŃŃ Š“Š²ŠµŃŃ Š²Š½Š¾Š²Ń Š²ŠøŠ“ŠøŠ¼Š¾Š¹.",
- dSetParentDoor = "ŠŃ ŃŠ“елали ŃŃŃ Š“Š²ŠµŃŃ Š³Š»Š°Š²Š½Š¾Š¹.",
- dCanNotSetAsChild = "ŠŃ не Š¼Š¾Š¶ŠµŃе ŃŠ“елаŃŃ Š³Š»Š°Š²Š½ŃŃ Š“Š²ŠµŃŃ Š²ŃŠ¾ŃоŃŃŠµŠæŠµŠ½Š½Š¾Š¹.",
- dAddChildDoor = "ŠŃ Гобавили ŃŃŃ Š“Š²ŠµŃŃ ŠŗŠ°Šŗ Š²ŃŠ¾ŃоŃŃŠµŠæŠµŠ½Š½ŃŃ.",
- dRemoveChildren = "ŠŃ ŃŠ±Ńали Š²Ńе Š²ŃоŃоŃŃŠµŠæŠµŠ½Š½Ńе Š“Š²ŠµŃŠø ŠøŠ· ŠæŠµŃŠµŃŠ½Ń Š³Š»Š°Š²Š½Š¾Š¹.",
- dRemoveChildDoor = "ŠŃ ŃŠ±Ńали Š²ŃоŃоŃŃŠµŠæŠµŠ½Š½ŃŃ Š“Š²ŠµŃŃ ŠøŠ· ŠæŠµŃŠµŃŠ½Ń Š³Š»Š°Š²Š½Š¾Š¹.",
- dNoParentDoor = "Š£ Š²Š°Ń Š½Šµ ŃŃŃŠ°Š½Š¾Š²Š»ŠµŠ½Š½Š° Š³Š»Š°Š²Š½Š°Ń Š“Š²ŠµŃŃ.",
- dOwnedBy = "ŠŃа ГвеŃŃ ŠæŃŠøŠ½Š°Š“Š»ŠµŠ¶ŠøŃ %s.",
- dConfigName = "ŠŠ²ŠµŃŃ",
- dSetFaction = "Š”ŠµŠ¹ŃŠ°Ń ŃŃŠ° ГвеŃŃ ŠæŃŠøŠ½Š°Š“Š»ŠµŠ¶ŠøŃ %s ŃŃŠ°ŠŗŃий.",
- dRemoveFaction = "ŠŃа ГвеŃŃ Š½Šµ ŠæŃŠøŠ½Š°Š“Š»ŠµŠ¶ŠøŃ Š½ŠøŠŗŠ°ŠŗŠ¾Š¹ ŃŃŠ°ŠŗŃŠøŠø.",
- dNotValid = "ŠŃ ŃŠ¼Š¾ŃŃŠøŃе не на поГлиннŃŃ Š“Š²ŠµŃŃ.",
- canNotAfford = "Š£ Š²Š°Ń Š½ŠµŠ“Š¾ŃŃŠ°ŃŠ¾ŃŠ½Š¾ ŃŃŠµŠ“ŃŃŠ², ŃŃŠ¾Š±Ń ŠŗŃŠæŠøŃŃ ŃŃŠ¾.",
- dPurchased = "ŠŃ Š°ŃŠµŠ½Š“овали ŃŃŃ Š“Š²ŠµŃŃ Š·Š° %s.",
- dSold = "ŠŃ ŠæŃŠ¾Š“али ŃŃŃ Š“Š²ŠµŃŃ Š·Š° %s.",
- notOwner = "ŠŃ не Š²Š»Š°Š“ŠµŠ»ŠµŃ ŃŃŠ¾Š³Š¾.",
- invalidArg = "ŠŃ ŠæŃŠµŠ“оŃŃŠ°Š²ŠøŠ»Šø неГопŃŃŃŠøŠ¼Š¾Šµ Š·Š½Š°ŃŠµŠ½ŠøŠµ Š°ŃŠ³ŃŠ¼ŠµŠ½ŃŠ° #%s.",
- tellAdmin = "ŠŃибка: %s. Š”Š¾Š¾Š±ŃŠøŃе аГминиŃŃŃŠ°ŃоŃŃ!",
- flagGive = "%s Š²ŃŠ“ал %s '%s' ŃŠ»Š°Š³Šø.",
- flagTake = "%s Š¾ŃŠ½ŃŠ» '%s' ŃŠ»Š°Š³Šø Ń %s.",
- flagNoMatch = "Š£ Š²Š°Ń Š“Š¾Š»Š¶Š½Ń Š±ŃŃŃ \"%s\" ŃŠ»Š°Š³Šø, ŃŃŠ¾Š±Ń Š²ŃŠæŠ¾Š»Š½ŠøŃŃ ŃŃŠ¾ ГейŃŃŠ²ŠøŠµ.",
- textAdded = "ŠŃ Гобавили ŃŠµŠŗŃŃ.",
- textRemoved = "ŠŃ ŃŠ“алили %s ŃŠµŠŗŃŃ(ов).",
- moneyTaken = "ŠŃ Š½Š°ŃŠ»Šø %s.",
- businessPurchase = "ŠŃ ŠŗŃŠæŠøŠ»Šø %s за %s.",
- businessSell = "ŠŃ ŠæŃŠ¾Š“али %s за %s.",
- cChangeModel = "%s ŠæŠ¾Š¼ŠµŠ½ŃŠ» Š¼Š¾Š“ŠµŠ»Ń %s на %s.",
- cChangeName = "%s ŠæŠ¾Š¼ŠµŠ½ŃŠ» ŠøŠ¼Ń %s на %s.",
- cChangeSkin = "%s ŠæŠ¾Š¼ŠµŠ½ŃŠ» ŃŠŗŠøŠ½ %s на %s.",
- cChangeGroups = "%s ŠæŠ¾Š¼ŠµŠ½ŃŠ» %s \"%s\" боГигŃŃŠæŠæŃ Š½Š° %s.",
- cChangeFaction = "%s ŠæŠµŃŠµŠ¼ŠµŃŃŠøŠ» %s в ŃŃŠ°ŠŗŃŠøŃ %s.",
- playerCharBelonging = "ŠŃŠ¾Ń Š¾Š±ŃŠµŠŗŃ ŠæŃŠøŠ½Š°Š“Š»ŠµŠ¶ŠøŃ Š“ŃŃŠ³Š¾Š¼Ń Š²Š°ŃŠµŠ¼Ń пеŃŃŠ¾Š½Š°Š¶Ń.",
- invalidFaction = "ŠŃ ŠæŃŠµŠ“ŃŃŠ²ŠøŠ»Šø неГейŃŃŠ²ŠøŃŠµŠ»ŃŠ½ŃŃ ŃŃŠ°ŠŗŃŠøŃ.",
- spawnAdd = "ŠŃ ŃŠ¾Š·Š“али ŃŠ¾ŃŠŗŃ Š²Š¾Š·ŃŠ¾Š¶Š“ŠµŠ½ŠøŃ Š“Š»Ń %s.",
- spawnDeleted = "ŠŃ ŃŠ“алили %s ŃŠ¾ŃŠŗŃ (ŃŠ¾ŃŠŗŠø) Š²Š¾Š·ŃŠ¾Š¶Š“ениŃ.",
- someone = "ŠŃо-ŃŠ¾",
- rgnLookingAt = "ŠŠ¾Š·Š²Š¾Š»ŠøŃŃ ŃŠµŠ»Š¾Š²ŠµŠŗŃ, на ŠŗŠ¾ŃоŃого Š²Ń ŃŠ¼Š¾ŃŃŠøŃе Š²Š°Ń ŃŠ°ŃпознаŃŃ.",
- rgnWhisper = "ŠŠ¾Š·Š²Š¾Š»ŠøŃŃ Š»ŃŠ“ŃŠ¼ в ŃŠ°Š“ŠøŃŃŠµ ŃŠ»ŃŃŠøŠ¼Š¾ŃŃŠø ŃŠµŠæŠ¾Ńа Š²Š°Ń ŃŠ°ŃпознаŃŃ.",
- rgnTalk = "ŠŠ¾Š·Š²Š¾Š»ŠøŃŃ Š»ŃŠ“ŃŠ¼ в ŃŠ°Š“ŠøŃŃŠµ ŃŠ»ŃŃŠøŠ¼Š¾ŃŃŠø ŃŠµŃŠø Š²Š°Ń ŃŠ°ŃпознаŃŃ.",
- rgnYell = "ŠŠ¾Š·Š²Š¾Š»ŠøŃŃ Š»ŃŠ“ŃŠ¼ в ŃŠ°Š“ŠøŃŃŠµ ŃŠ»ŃŃŠøŠ¼Š¾ŃŃŠø ŠŗŃŠøŠŗŠ° Š²Š°Ń ŃŠ°ŃпознаŃŃ.",
- icFormat = "%s Š³Š¾Š²Š¾ŃŠøŃ \"%s\"",
- rollFormat = "%s Š²ŃŠæŠ°Š»Š¾ ŃŠøŃло %s.",
- wFormat = "%s ŃŠµŠæŃŠµŃ \"%s\"",
- yFormat = "%s ŠŗŃŠøŃŠøŃ \"%s\"",
- sbOptions = "ŠŠ°Š¶Š¼ŠøŃе, ŃŃŠ¾Š±Ń ŃŠ²ŠøŠ“еŃŃ Š¾ŠæŃŠøŠø Š“Š»Ń %s.",
- spawnAdded = "ŠŃ ŃŠ¾Š·Š“али ŃŠ¾ŃŠŗŃ Š²Š¾Š·ŃŠ¾Š¶Š“ŠµŠ½ŠøŃ Š“Š»Ń %s.",
- whitelist = "%s Гобавил %s в ŠæŠµŃŠµŃŠµŠ½Ń ŃŃŠ°ŠŗŃŠøŠø %s.",
- unwhitelist = "%s ŠøŃŠŗŠ»ŃŃŠøŠ» %s ŠøŠ· ŠæŠµŃŠµŃŠ½Ń ŃŃŠ°ŠŗŃŠøŠø %s.",
- gettingUp = "ŠŃ ŠæŠ¾Š“Š½ŠøŠ¼Š°ŠµŃŠµŃŃ...",
- wakingUp = "ŠŃ ŠæŃŠøŃ
Š¾Š“ŠøŃŠµ в ŃŃŠ²ŃŃŠ²Š¾...",
- Weapons = "ŠŃŃŠ¶ŠøŠµ",
- checkout = "ŠŠµŃŠµŠ¹ŃŠø Šŗ Š¾ŃŠ¾ŃŠ¼Š»ŠµŠ½ŠøŃ Š·Š°ŠŗŠ°Š·Š° (%s)",
- purchase = "ŠŠ¾ŠŗŃпка",
- purchasing = "ŠŠ¾ŠŗŃпаем...",
- success = "Š£ŃŠæŠµŃ
",
- buyFailed = "ŠŠ¾ŠŗŃпка ŠæŃовалилаŃŃ.",
- buyGood = "ŠŠ¾ŠŗŃпка ŃŃŠæŠµŃŠ½Š°!",
- shipment = "ŠŃŃŠ·",
- shipmentDesc = "ŠŃŠ¾Ń Š³ŃŃŠ· ŠæŃŠøŠ½Š°Š“Š»ŠµŠ¶ŠøŃ %s.",
- class = "ŠŠ»Š°ŃŃ",
- classes = "ŠŠ»Š°ŃŃŃ",
- illegalAccess = "ŠŠ°ŠæŃеŃŃŠ½Š½Ńй ГоŃŃŃŠæ.",
- becomeClassFail = "ŠŠµ полŃŃŠøŠ»Š¾ŃŃ ŃŃŠ°ŃŃ %s.",
- becomeClass = "ŠŃ ŃŃŠ°Š»Šø %s.",
- attribSet = "ŠŃ ŠæŠ¾Š¼ŠµŠ½ŃŠ»Šø ŠøŠ³ŃŠ¾ŠŗŃ %s %s на %s.",
- attribUpdate = "ŠŃ Гобавили ŠøŠ³ŃŠ¾ŠŗŃ %s %s by %s.",
- noFit = "ŠŃŠ¾Ń ŠæŃŠµŠ“Š¼ŠµŃ Š½Šµ ŠæŠ¾Š¼ŠµŃŠ°ŠµŃŃŃ Š² ŠøŠ½Š²ŠµŠ½ŃŠ°Ńе.",
- help = "ŠŠ¾Š¼Š¾ŃŃ",
- commands = "ŠŠ¾Š¼Š°Š½Š“Ń",
- helpDefault = "ŠŃŠ±ŠµŃŠøŃе ŠŗŠ°ŃŠµŠ³Š¾ŃŠøŃ",
- doorSettings = "ŠŠ°ŃŃŃŠ¾Š¹ŠŗŠø Š“Š²ŠµŃŠµŠ¹",
- sell = "ŠŃоГаŃŃ",
- access = "ŠŠ¾ŃŃŃŠæ",
- locking = "ŠŠ°ŠæŠøŃаем ŃŃŠ¾Ń Š¾Š±ŃŠµŠŗŃ...",
- unlocking = "ŠŃŠŗŃŃŠ²Š°ŠµŠ¼ ŃŃŠ¾Ń Š¾Š±ŃŠµŠŗŃ...",
- modelNoSeq = "ŠŃа Š¼Š¾Š“ŠµŠ»Ń Š½Šµ ŠæŠ¾Š“Š“ŠµŃŠ¶ŠøŠ²Š°ŠµŃ ŃŃŃ Š°Š½ŠøŠ¼Š°ŃŠøŃ.",
- notNow = "ŠŃ не Š¼Š¾Š¶ŠµŃе ŃŃŠ¾ ŃŠ“елаŃŃ ŃŠµŠ¹ŃаŃ.",
- faceWall = "ŠŃ Š“Š¾Š»Š¶Š½Ń ŃŃŠ¾ŃŃŃ Š»ŠøŃŠ¾Š¼ Šŗ ŃŃŠµŠ½Šµ, ŃŃŠ¾Š±Ń ŃŠ“елаŃŃ ŃŃŠ¾.",
- faceWallBack = "ŠŠ°Ńа ŃŠæŠøŠ½Š° Голжна бŃŃŃ ŠæŃŠøŠ¶Š°Ńа Šŗ ŃŃŠµŠ½Šµ, ŃŃŠ¾Š±Ń ŃŠ“елаŃŃ ŃŃŠ¾.",
- descChanged = "ŠŃ ŠæŠ¾Š¼ŠµŠ½ŃŠ»Šø Š¾ŠæŠøŃŠ°Š½ŠøŠµ Š²Š°ŃŠµŠ³Š¾ пеŃŃŠ¾Š½Š°Š¶Š°.",
- livesLeft = "ŠŠøŠ·Š½ŠµŠ¹ оŃŃŠ°Š»Š¾ŃŃ: %s",
- charIsDead = "ŠŠ°Ń пеŃŃŠ¾Š½Š°Š¶ ŃŠ¼ŠµŃ",
- charMoney = "Š£ Š²Š°Ń ŃŠµŠ¹ŃŠ°Ń %s.",
- charFaction = "ŠŃ ŃŠ²Š»ŃŠµŃŠµŃŃ ŃŠ»ŠµŠ½Š¾Š¼ ŃŃŠ°ŠŗŃŠøŠø %s.",
- charClass = "ŠŃ %s ŃŃŠ°ŠŗŃий.",
- noSpace = "ŠŠ°Ń ŠøŠ½Š²ŠµŠ½ŃŠ°ŃŃ ŠæŠ¾Š»Š¾Š½.",
- noOwner = "ŠŠ»Š°Š“ŠµŠ»ŠµŃ Š½ŠµŠ“ŠµŠ¹ŃŃŠ²ŠøŃелен.",
- invalidIndex = "ŠŠ½Š“ŠµŠŗŃ ŠæŃŠµŠ“Š¼ŠµŃŠ° неГейŃŃŠ²ŠøŃелен.",
- invalidItem = "ŠŠ±ŃŠµŠŗŃ ŠæŃŠµŠ“Š¼ŠµŃŠ° неГейŃŃŠ²ŠøŃелен.",
- invalidInventory = "ŠŠ±ŃŠµŠŗŃ ŠøŠ½Š²ŠµŠ½ŃŠ°ŃŃ Š½ŠµŠ“ŠµŠ¹ŃŃŠ²ŠøŃелен.",
- home = "ŠŠ¾Š¼",
- charKick = "%s ŠŗŠøŠŗŠ½ŃŠ» пеŃŃŠ¾Š½Š°Š¶Š° %s.",
- charBan = "%s забанил пеŃŃŠ¾Š½Š°Š¶Š° %s.",
- charBanned = "ŠŃŠ¾Ń ŠæŠµŃŃŠ¾Š½Š°Š¶ забанен.",
- setMoney = "ŠŃ ŃŃŃŠ°Š½Š¾Š²ŠøŠ»Šø %s's ŠŗŠ¾Š»ŠøŃŠµŃŃŠ²Š¾ Генег на %s.",
- itemPriceInfo = "ŠŃ Š¼Š¾Š¶ŠµŃŠµ ŠŗŃŠæŠøŃŃ ŃŃŠ¾Ń ŠæŃŠµŠ“Š¼ŠµŃ Š·Š° %s.\nŠŃ Š¼Š¾Š¶ŠµŃŠµ ŠæŃŠ¾Š“аŃŃ ŃŃŠ¾Ń ŠæŃŠµŠ“Š¼ŠµŃ Š·Š° %s",
- free = "ŠŠµŃŠæŠ»Š°ŃŠ½Š¾",
- vendorNoSellItems = "ŠŠ“еŃŃ Š½ŠµŃŃ ŠæŃŠµŠ“Š¼ŠµŃŠ¾Š² Š“Š»Ń ŠæŃŠ¾Š“ажи.",
- vendorNoBuyItems = "ŠŠ“еŃŃ Š½ŠµŃŃ ŠæŃŠµŠ“Š¼ŠµŃŠ¾Š² Š“Š»Ń ŠæŠ¾ŠŗŃŠæŠŗŠø.",
- vendorSettings = "ŠŠ°ŃŃŃŠ¾ŠøŠŗŠø ŃŠ°Š·Š“аŃŃŠøŠŗŠ°",
- vendorUseMoney = "ŠŃŠ“ŠµŃ Š»Šø ŃŠ°Š·Š“аŃŃŠøŠŗ Š±ŃŠ°ŃŃ Š“ŠµŠ½ŃŠ³Šø?",
- vendorNoBubble = "ДпŃŃŃŠ°ŃŃ Š¾Š±Š»Š°ŃŠŗŠ¾ ŃŠ°Š·Š“аŃŃŠøŠŗŠ°?",
- mode = "ŠŠ¾Š“",
- price = "Цена",
- stock = "ŠŠ°ŠæŠ°Ń",
- none = "ŠŠøŃего",
- vendorBoth = "ŠŃпиŃŃ Šø ŠæŃŠ¾Š“аŃŃ",
- vendorBuy = "Š¢Š¾Š»ŃŠŗŠ¾ ŠŗŃŠæŠøŃŃ",
- vendorSell = "Š¢Š¾Š»ŃŠŗŠ¾ ŠæŃŠ¾Š“аŃŃ",
- maxStock = "ŠŠ°ŠŗŃŠøŠ¼Š°Š»ŃŠ½Ńй запаŃ",
- vendorFaction = "ŠŠ°ŃŃŃŠ¾Š¹ŠŗŠø ŃŃŠ°ŠŗŃий",
- buy = "ŠŃпиŃŃ",
- vendorWelcome = "ŠŃивеŃŃŃŠ²ŃŃ Š²Š°Ń Š² моем магазине, ŃŃŠ¾ ŠæŠ¾Š¶ŠµŠ»Š°ŠµŃŠµ?",
- vendorBye = "ŠŃŠøŃ
Š¾Š“ŠøŃŠµ ŠµŃŠµ!",
- charSearching = "ŠŃ ŃŠ¶Šµ ŠøŃŠøŃе Š“ŃŃŠ³Š¾Š³Š¾ пеŃŃŠ¾Š½Š°Š¶Š°, ŠæŠ¾Š¶Š°Š»ŃŠ¹ŃŃŠ°, ŠæŠ¾Š“Š¾Š¶Š“ŠøŃŠµ.",
- charUnBan = "%s ŃŠ°Š·Š±Š°Š½ŠøŠ» пеŃŃŠ¾Š½Š°Š¶Š° %s.",
- charNotBanned = "ŠŃŠ¾Ń ŠæŠµŃŃŠ¾Š½Š°Š¶ не забанен.",
- storPass = "ŠŃ ŃŃŃŠ°Š½Š¾Š²ŠøŠ»Šø ŠæŠ°ŃŠ¾Š»Ń ŠŗŠ¾Š½ŃŠµŠ¹Š½ŠµŃа на %s.",
- storPassRmv = "ŠŃ ŃŠ±Ńали ŠæŠ°ŃŠ¾Š»Ń ŠŗŠ¾Š½ŃŠµŠ¹Š½ŠµŃа.",
- storPassWrite = "ŠŠ²ŠµŠ“ŠøŃŠµ ŠæŠ°ŃŠ¾Š»Ń.",
- wrongPassword = "ŠŃ ввели Š½ŠµŠæŃŠ°Š²ŠøŠ»ŃŠ½Ńй ŠæŠ°ŃŠ¾Š»Ń.",
- cheapBlur = "ŠŃŠŗŠ»ŃŃŠøŃŃ ŃŠ°Š·Š¼ŃŃŠøŠµ? (ŠŠ¾Š²ŃŃŠ°ŠµŃ FPS)",
- quickSettings = "ŠŃŃŃŃŃŠµ наŃŃŃŠ¾Š¹ŠŗŠø",
- vmSet = "ŠŃ ŃŃŃŠ°Š½Š¾Š²ŠøŠ»Šø Š²Š°Ń Š°Š²ŃŠ¾Š¾ŃвеŃŃŠøŠŗ.",
- vmRem = "ŠŃ избавилиŃŃ Š¾Ń Š°Š²ŃŠ¾Š¾ŃвеŃŃŠøŠŗŠ°.",
- altLower = "ДпŃŃŃŠ°ŃŃ ŃŃŠŗŠø, пока они опŃŃŠµŠ½Ń?",
- noPerm = "ŠŠ°Š¼ не позволено ŃŠ“елаŃŃ ŃŃŠ¾.",
- youreDead = "ŠŃ меŃŃŠ²Ń",
- injMajor = "ŠŠ¾Ń
оже, ŃŃŠ¾ он Š¾ŃŠµŠ½Ń ŃŠøŠ»Ńно ŃŠ°Š½ŠµŠ½.",
- injLittle = "ŠŠ¾Ń
оже, ŃŃŠ¾ он ŃŠ°Š½ŠµŠ½",
- toggleESP = "ŠŠŗŠ»ŃŃŠøŃŃ Admin ESP",
- chgName = "ŠŠ¾Š¼ŠµŠ½ŃŃŃ ŠøŠ¼Ń",
- chgNameDesc = "ŠŠæŠøŃŠøŃе новое ŠøŠ¼Ń Š“Š»Ń ŠæŠµŃŃŠ¾Š½Š°Š¶Š°.",
- thirdpersonToggle = "ŠŠŗŠ»ŃŃŠøŃŃ Š²ŠøŠ“ Š¾Ń ŃŃŠµŃŃŠµŠ³Š¾ Š»ŠøŃŠ°",
- thirdpersonClassic = "ŠŃŠæŠ¾Š»ŃŠ·Š¾Š²Š°ŃŃ ŠŗŠ»Š°ŃŃŠøŃŠµŃŠŗŠøŠ¹ виГ Š¾Ń ŃŃŠµŃŃŠµŠ³Š¾ Š»ŠøŃŠ°",
- equippedBag = "Š”ŃŠ¼ŠŗŠ°, ŠŗŠ¾ŃŠ¾ŃŃŃ Š²Ń ŃŠ“Š²ŠøŠ½ŃŠ»Šø ŠøŠ¼ŠµŠµŃ Š¾Š“ŠµŃŃŃ Š²Š°Š¼Šø веŃŃ.",
- useTip = "ŠŃŠæŠ¾Š»ŃŠ·Š¾Š²Š°ŃŃ ŠæŃŠµŠ“меŃ.",
- equipTip = "ŠŠ“еŃŃ ŠæŃŠµŠ“меŃ.",
- unequipTip = "ДнŃŃŃ ŠæŃŠµŠ“меŃ.",
- consumables = "ŠŠ¾ŃŃŠµŠ±Š½Š¾ŃŃŠø",
- plyNotValid = "ŠŃ ŃŠ¼Š¾ŃŃŠøŃе не на поГлинного ŠøŠ³Ńока.",
- restricted = "ŠŃ Š±ŃŠ»Šø ŃŠ²ŃзанŃ.",
- viewProfile = "ŠŠ¾ŠŗŠ°Š·Š°ŃŃ ŠæŃŠ¾ŃŠøŠ»Ń Steam",
- salary = "ŠŃ полŃŃŠøŠ»Šø %s ŠøŠ· Š²Š°ŃŠµŠ¹ Š·Š°ŃŠæŠ»Š°ŃŃ.",
- noRecog = "ŠŃ не ŃŠ·Š½Š°ŃŃŠµ ŃŃŠ¾Š³Š¾ ŃŠµŠ»Š¾Š²ŠµŠŗŠ°.",
- curTime = "ТекŃŃŠµŠµ Š²ŃŠµŠ¼Ń: %s.",
- vendorEditor = "Š ŠµŠ“Š°ŠŗŃŠ¾Ń ŃŠ¾ŃŠ³Š¾Š²ŃŠ°",
- edit = "ŠŠ·Š¼ŠµŠ½ŠøŃŃ",
- disable = "ŠŃŠŗŠ»ŃŃŠøŃŃ",
- vendorPriceReq = "ŠŠ²ŠµŠ“ŠøŃŠµ новŃŃ ŃŠµŠ½Ń ŠæŃŠµŠ“Š¼ŠµŃŠ°.",
- vendorEditCurStock = "ŠŠ·Š¼ŠµŠ½ŠøŃŃ ŠŗŠ¾Š»ŠøŃŠµŃŃŠ²Š¾",
- radioFreq = "ŠŠ·Š¼ŠµŠ½ŠøŃŃ ŃŠ°ŃŃŠ¾ŃŃ ŃŠ°Š“ŠøŠ¾ŠæŃŠøŃма",
- radioSubmit = "ДоŃ
ŃŠ°Š½ŠøŃŃ",
- you = "ŠŃ",
- isTied = "Š”Š²ŃŠ·Š°Š½",
- tying = "Š”Š²ŃŠ·Ńвание...",
- unTying = "Š Š°Š·Š²ŃŠ·Ńвание...",
- On = "ŠŠŗŠ»ŃŃŠµŠ½",
- Off = "ŠŃŠŗŠ»ŃŃŠµŠ½",
- vendorSellScale = "ŠŠ½Š¾Š¶ŠøŃŠµŠ»Ń ŃŠµŠ½ ŠæŃŠ¾Š“ажи",
- vendorNoTrade = "ŠŃ не Š¼Š¾Š¶ŠµŃе взаимоГейŃŃŠ²Š¾Š²Š°ŃŃ Ń ŃŃŠøŠ¼ ŃŠ¾ŃŠ³Š¾Š²ŃŠµŠ¼.",
- vendorNoMoney = "Š¢Š¾ŃŠ³Š¾Š²ŠµŃ не Š¼Š¾Š¶ŠµŃ ŠŗŃŠæŠøŃŃ Ń Š²Š°Ń ŠæŃŠµŠ“меŃ.",
- vendorNoStock = "Š£ ŃŃŠ¾Š³Š¾ ŃŠ¾ŃŠ³Š¾Š²ŃŠ° Š½ŠµŃ Š² Š½Š°Š»ŠøŃŠøŠø ŃŃŠ¾Š³Š¾ ŠæŃŠµŠ“Š¼ŠµŃŠ°.",
- contentTitle = "ŠŃŃŃŃŃŃŠ²ŃŠµŃ ŠŗŠ¾Š½ŃŠµŠ½Ń NutScript",
- contentWarning = "Š£ Š²Š°Ń Š½Šµ ŃŃŃŠ°Š½Š¾Š²Š»ŠµŠ½ ŠŗŠ¾Š½ŃŠµŠ½Ń NutScript. ŠŠµŠŗŠ¾ŃоŃŃŠµ ŃŃŠ½ŠŗŃŠøŠø могŃŃ Š½Šµ ŃŠ°Š±Š¾ŃаŃŃ.\nŠŃ Š¶ŠµŠ»Š°ŠµŃŠµ ŠæŠµŃŠµŠ¹ŃŠø на ŃŃŃŠ°Š½ŠøŃŃ ŃŠŗŠ°ŃŠøŠ²Š°Š½ŠøŃ ŠŗŠ¾Š½ŃŠµŠ½Ńа?",
- Assign = "ŠŃŠøŃŠ²Š¾ŠøŃŃ",
- Freq = "ЧаŃŃŠ¾Ńа",
- Toggle = "ŠŠµŃеклŃŃŠøŃŃ",
- Use = "ŠŃŠæŠ¾Š»ŃŠ·Š¾Š²Š°ŃŃ",
- UseForward = "ŠŃŠæŠ¾Š»ŃŠ·Š¾Š²Š°ŃŃ Š½Š° ŠøŠ³ŃŠ¾ŠŗŠµ",
- Equip = "ŠŠŗŠøŠæŠøŃоваŃŃ",
- Unequip = "ДнŃŃŃ",
- Load = "Š Š°ŃŠæŠ°ŠŗŠ¾Š²Š°ŃŃ",
- View = "ŠŃŠŗŃŃŃŃ",
- flags = "Флаги",
- moneyLeft = "ŠŠ°ŃŠø Š“ŠµŠ½ŃŠ³Šø: ",
- currentMoney = "ŠŃŃŠ°Š»Š¾ŃŃ Š“ŠµŠ½ŠµŠ³: ",
- moneyGiven = "ŠŃ Гали %s",
+ loading = "ŠŠ°Š³ŃŃŠ·ŠŗŠ°",
+ dbError = "ŠŃибка поГклŃŃŠµŠ½ŠøŃ Šŗ базе ГаннŃŃ
",
+ unknown = "ŠŠµŠøŠ·Š²ŠµŃŃŠ½Š¾",
+ noDesc = "ŠŠæŠøŃŠ°Š½ŠøŠµ оŃŃŃŃŃŃŠ²ŃеŃ",
+ create = "ДозГаŃŃ",
+ createTip = "ДозГаŃŃ Š½Š¾Š²Š¾Š³Š¾ пеŃŃŠ¾Š½Š°Š¶Š° Š“Š»Ń ŠøŠ³ŃŃ.",
+ load = "ŠŠ°Š³ŃŃŠ·ŠøŃŃ",
+ loadTip = "ŠŃŠ±ŃŠ°ŃŃ ŃŠ°Š½ŠµŠµ ŃŠ¾Š·Š“анного пеŃŃŠ¾Š½Š°Š¶Š° Š“Š»Ń ŠøŠ³ŃŃ.",
+ leave = "ŠŃŠ¹ŃŠø",
+ leaveTip = "ŠŠ¾ŠŗŠøŠ½ŃŃŃ ŃŠµŠŗŃŃŠøŠ¹ ŃŠµŃвеŃ.",
+ ["return"] = "ŠŠµŃнŃŃŃŃŃ",
+ returnTip = "ŠŠµŃнŃŃŃŃŃ Š² ŠæŃŠµŠ“ŃŠ“ŃŃŠµŠµ менŃ.",
+ name = "ŠŠ¼Ń",
+ desc = "ŠŠæŠøŃŠ°Š½ŠøŠµ",
+ model = "ŠŠ¾Š“елŃ",
+ attribs = "ŠŃŃŠøŠ±ŃŃŃ",
+ charCreateTip = "ŠŠ°ŠæŠ¾Š»Š½ŠøŃе ŠæŠ¾Š»Ń Š½ŠøŠ¶Šµ Šø Š½Š°Š¶Š¼ŠøŃŠµ 'ŠŠ°Š²ŠµŃŃŠøŃŃ', ŃŃŠ¾Š±Ń ŃŠ¾Š·Š“аŃŃ ŃŠ²Š¾ŠµŠ³Š¾ пеŃŃŠ¾Š½Š°Š¶Š°.",
+ invalid = "ŠŃ ŃŠŗŠ°Š·Š°Š»Šø неГопŃŃŃŠøŠ¼Ńй %s",
+ descMinLen = "ŠŠ°Ńе Š¾ŠæŠøŃание Голжно ŃŠ¾Š“ŠµŃŠ¶Š°ŃŃ ŠŗŠ°Šŗ Š¼ŠøŠ½ŠøŠ¼ŃŠ¼ %d ŃŠøŠ¼Š²Š¾Š»(ов).",
+ player = "ŠŠ³Ńок",
+ finish = "ŠŠ°Š²ŠµŃŃŠøŃŃ",
+ finishTip = "ŠŠ°Š²ŠµŃŃŠøŃŃ ŃŠ¾Š·Š“ание пеŃŃŠ¾Š½Š°Š¶Š°.",
+ needModel = "ŠŠ°Š¼ Š½ŃŠ¶Š½Š¾ Š²ŃŠ±ŃаŃŃ ŠæŠ¾Š“Ń
оГŃŃŃŃ Š¼Š¾Š“ŠµŠ»Ń",
+ creating = "ŠŠ°Ń пеŃŃŠ¾Š½Š°Š¶ ŃŠ¾Š·Š“аеŃŃŃ...",
+ unknownError = "ŠŃŠ¾ŠøŠ·Š¾ŃŠ»Š° неизвеŃŃŠ½Š°Ń Š¾ŃŠøŠ±ŠŗŠ°",
+ delConfirm = "ŠŃ ŃŠ²ŠµŃенŃ, ŃŃŠ¾ Ń
Š¾ŃŠøŃе ŠŠŠ ŠŠŠŠŠŠ¢ŠŠ ŃŠ“алиŃŃ %s?",
+ no = "ŠŠµŃ",
+ yes = "ŠŠ°",
+ itemInfo = "ŠŠ°Š·Š²Š°Š½ŠøŠµ: %s\nŠŠæŠøŃŠ°Š½ŠøŠµ: %s",
+ itemCreated = "ŠŃŠµŠ“Š¼ŠµŃ ŃŃŠæŠµŃŠ½Š¾ ŃŠ¾Š·Š“ан.",
+ cloud_no_repo = "Š£ŠŗŠ°Š·Š°Š½Š½ŃŠ¹ ŃŠµŠæŠ¾Š·ŠøŃŠ¾ŃŠøŠ¹ неГейŃŃŠ²ŠøŃелен.",
+ cloud_no_plugin = "Š£ŠŗŠ°Š·Š°Š½Š½ŃŠ¹ плагин неГейŃŃŠ²ŠøŃелен.",
+ inv = "ŠŠ½Š²ŠµŠ½ŃаŃŃ",
+ plugins = "ŠŠ»Š°Š³ŠøŠ½Ń",
+ togglePlugins = "ŠŠŗŠ»ŃŃŠøŃŃ/Š²ŃŠŗŠ»ŃŃŠøŃŃ ŠæŠ»Š°Š³ŠøŠ½Ń",
+ author = "ŠŠ²ŃоŃ",
+ version = "ŠŠµŃŃŠøŃ",
+ characters = "ŠŠµŃŃŠ¾Š½Š°Š¶Šø",
+ settings = "ŠŠ°ŃŃŃŠ¾Š¹ŠŗŠø",
+ config = "ŠŠ¾Š½ŃигŃŃŠ°ŃŠøŃ",
+ chat = "ЧаŃ",
+ appearance = "ŠŠ½ŠµŃноŃŃŃ",
+ misc = "Разное",
+ oocDelay = "ŠŃ Š“Š¾Š»Š¶Š½Ń ŠæŠ¾Š“Š¾Š¶Š“Š°ŃŃ ŠµŃŠµ %s ŃŠµŠŗŃнГ(Ń) ŠæŠµŃŠµŠ“ ŠæŠ¾Š²ŃŠ¾ŃŠ½ŃŠ¼ ŠøŃŠæŠ¾Š»ŃŠ·Š¾Š²Š°Š½ŠøŠµŠ¼ OOC.",
+ loocDelay = "ŠŃ Š“Š¾Š»Š¶Š½Ń ŠæŠ¾Š“Š¾Š¶Š“Š°ŃŃ ŠµŃŠµ %s ŃŠµŠŗŃнГ(Ń) ŠæŠµŃŠµŠ“ ŠæŠ¾Š²ŃŠ¾ŃŠ½ŃŠ¼ ŠøŃŠæŠ¾Š»ŃŠ·Š¾Š²Š°Š½ŠøŠµŠ¼ LOOC.",
+ usingChar = "ŠŃ ŃŠ¶Šµ ŠøŃŠæŠ¾Š»ŃŠ·ŃŠµŃŠµ ŃŃŠ¾Š³Š¾ пеŃŃŠ¾Š½Š°Š¶Š°.",
+ itemNoExist = "ŠŠ·Š²ŠøŠ½ŠøŃе, Š·Š°ŠæŃŠ¾ŃŠµŠ½Š½ŃŠ¹ вами ŠæŃŠµŠ“Š¼ŠµŃ Š½Šµ ŃŃŃŠµŃŃŠ²ŃеŃ.",
+ cmdNoExist = "ŠŠ·Š²ŠøŠ½ŠøŃе, ŃŃŠ¾Š¹ ŠŗŠ¾Š¼Š°Š½Š“Ń Š½Šµ ŃŃŃŠµŃŃŠ²ŃеŃ.",
+ plyNoExist = "ŠŠ·Š²ŠøŠ½ŠøŃе, ŠøŠ³ŃŠ¾Šŗ Ń ŃŠ°ŠŗŠøŠ¼ именем не найГен.",
+ cfgSet = "%s ŃŃŃŠ°Š½Š¾Š²ŠøŠ» \"%s\" на %s.",
+ drop = "Š£Š±ŃŠ°ŃŃ",
+ dropTip = "Š£Š±ŃŠ°ŃŃ ŃŃŠ¾Ń ŠæŃŠµŠ“Š¼ŠµŃ ŠøŠ· Š²Š°ŃŠµŠ³Š¾ ŠøŠ½Š²ŠµŠ½ŃŠ°ŃŃ.",
+ take = "ŠŠ·ŃŃŃ",
+ takeTip = "ŠŠ·ŃŃŃ ŃŃŠ¾Ń ŠæŃŠµŠ“Š¼ŠµŃ Šø помеŃŃŠøŃŃ ŠµŠ³Š¾ в Š²Š°Ń ŠøŠ½Š²ŠµŠ½ŃŠ°ŃŃ.",
+ dTitle = "ŠŠµŠ·Ń
Š¾Š·Š½Š°Ń Š“Š²ŠµŃŃ",
+ dTitleOwned = "ŠŃŠøŠ¾Š±ŃŠµŃŠµŠ½Š½Š°Ń Š“Š²ŠµŃŃ",
+ dIsNotOwnable = "ŠŃа ГвеŃŃ Š½Šµ Š¼Š¾Š¶ŠµŃ Š±ŃŃŃ Š²Š·ŃŃŠ° во влаГение.",
+ dIsOwnable = "ŠŃ Š¼Š¾Š¶ŠµŃŠµ ŠæŃŠøŠ¾Š±ŃеŃŃŠø ŃŃŃ Š“Š²ŠµŃŃ, нажав F2.",
+ dMadeUnownable = "ŠŃ ŃŠ“елали ŃŃŃ Š“Š²ŠµŃŃ Š½ŠµŠ²Š»Š°Š“ŠµŠµŠ¼Š¾Š¹.",
+ dMadeOwnable = "ŠŃ ŃŠ“елали ŃŃŃ Š“Š²ŠµŃŃ Š²Š»Š°Š“ŠµŠµŠ¼Š¾Š¹.",
+ dNotAllowedToOwn = "ŠŠ°Š¼ Š·Š°ŠæŃŠµŃено влаГеŃŃ ŃŃŠ¾Š¹ ГвеŃŃŃ.",
+ dSetDisabled = "ŠŃ ŃŠ“елали ŃŃŃ Š“Š²ŠµŃŃ Š½ŠµŠ“Š¾ŃŃŃŠæŠ½Š¾Š¹.",
+ dSetNotDisabled = "ŠŃ ŃŠ“елали ŃŃŃ Š“Š²ŠµŃŃ ŃŠ½Š¾Š²Š° ГоŃŃŃŠæŠ½Š¾Š¹.",
+ dSetHidden = "ŠŃ ŃŠŗŃŃŠ»Šø ŃŃŃ Š“Š²ŠµŃŃ.",
+ dSetNotHidden = "ŠŃ ŃŠ“елали ŃŃŃ Š“Š²ŠµŃŃ Š²ŠøŠ“ŠøŠ¼Š¾Š¹.",
+ dSetParentDoor = "ŠŃ ŃŃŃŠ°Š½Š¾Š²ŠøŠ»Šø ŃŃŃ Š“Š²ŠµŃŃ ŠŗŠ°Šŗ ŃŠ¾Š“ŠøŃŠµŠ»ŃŃŠŗŃŃ.",
+ dCanNotSetAsChild = "ŠŃ не Š¼Š¾Š¶ŠµŃе ŃŃŃŠ°Š½Š¾Š²ŠøŃŃ ŃŠ¾Š“ŠøŃŠµŠ»ŃŃŠŗŃŃ Š“Š²ŠµŃŃ ŠŗŠ°Šŗ Š“Š¾ŃŠµŃнŃŃ.",
+ dAddChildDoor = "ŠŃ Гобавили ŃŃŃ Š“Š²ŠµŃŃ Š² ŠŗŠ°ŃŠµŃŃŠ²Šµ Š“Š¾ŃŠµŃней.",
+ dRemoveChildren = "ŠŃ ŃŠ“алили Š²Ńе Š“Š¾ŃŠµŃние Š“Š²ŠµŃŠø Š“Š»Ń ŃŃŠ¾Š¹ Š“Š²ŠµŃŠø.",
+ dRemoveChildDoor = "ŠŃ ŃŠ“алили ŃŃŃ Š“Š²ŠµŃŃ ŠŗŠ°Šŗ Š“Š¾ŃŠµŃнŃŃ.",
+ dNoParentDoor = "Š£ Š²Š°Ń Š½Šµ ŃŃŃŠ°Š½Š¾Š²Š»ŠµŠ½Š° ŃŠ¾Š“ŠøŃŠµŠ»ŃŃŠŗŠ°Ń ГвеŃŃ.",
+ dOwnedBy = "ŠŃа ГвеŃŃ ŠæŃŠøŠ½Š°Š“Š»ŠµŠ¶ŠøŃ %s.",
+ dConfigName = "ŠŠ²ŠµŃŠø",
+ dSetFaction = "ŠŃа ГвеŃŃ ŃŠµŠæŠµŃŃ ŠæŃŠøŠ½Š°Š“Š»ŠµŠ¶ŠøŃ ŃŃŠ°ŠŗŃŠøŠø %s.",
+ dRemoveFaction = "ŠŃа ГвеŃŃ Š±Š¾Š»ŃŃŠµ не ŠæŃŠøŠ½Š°Š“Š»ŠµŠ¶ŠøŃ Š½ŠøŠŗŠ°ŠŗŠ¾Š¹ ŃŃŠ°ŠŗŃŠøŠø.",
+ dNotValid = "ŠŃ не ŃŠ¼Š¾ŃŃŠøŃе на ГейŃŃŠ²ŠøŃŠµŠ»ŃŠ½ŃŃ Š“Š²ŠµŃŃ.",
+ canNotAfford = "Š£ Š²Š°Ń Š½ŠµŃ Š“ŠµŠ½ŠµŠ³, ŃŃŠ¾Š±Ń ŠŗŃŠæŠøŃŃ ŃŃŠ¾.",
+ dPurchased = "ŠŃ ŠæŃŠøŠ¾Š±Ńели ŃŃŃ Š“Š²ŠµŃŃ Š·Š° %s.",
+ dSold = "ŠŃ ŠæŃŠ¾Š“али ŃŃŃ Š“Š²ŠµŃŃ Š·Š° %s.",
+ notOwner = "ŠŃ не ŃŠ²Š»ŃŠµŃŠµŃŃ Š²Š»Š°Š“ŠµŠ»ŃŃŠµŠ¼ ŃŃŠ¾Š³Š¾.",
+ invalidArg = "ŠŃ ŠæŃŠµŠ“оŃŃŠ°Š²ŠøŠ»Šø неГопŃŃŃŠøŠ¼Š¾Šµ Š·Š½Š°ŃŠµŠ½ŠøŠµ Š“Š»Ń Š°ŃŠ³ŃŠ¼ŠµŠ½ŃŠ° #%s.",
+ flagGive = "%s Гал %s ŃŠ»Š°Š³Šø '%s'.",
+ flagGiveTitle = "ŠŃГаŃŃ ŃŠ»Š°Š³Šø",
+ flagGiveDesc = "ŠŃŠ“Š°Š¹ŃŠµ ŃŠ»ŠµŠ“ŃŃŃŠøŠµ ŃŠ»Š°Š³Šø ŠøŠ³ŃŠ¾ŠŗŃ.",
+ flagTake = "%s Š²Š·ŃŠ» ŃŠ»Š°Š³Šø '%s' Ń %s.",
+ flagTakeTitle = "ŠŠ°Š±ŃаŃŃ ŃŠ»Š°Š³Šø",
+ flagTakeDesc = "Š£Š±ŠµŃŠøŃе ŃŠ»ŠµŠ“ŃŃŃŠøŠµ ŃŠ»Š°Š³Šø Ń ŠøŠ³ŃŠ¾ŠŗŠ°.",
+ flagNoMatch = "ŠŠ»Ń Š²ŃŠæŠ¾Š»Š½ŠµŠ½ŠøŃ ŃŃŠ¾Š³Š¾ ГейŃŃŠ²ŠøŃ вам Š½Ńжно имеŃŃ ŃŠ»Š°Š³(Šø) \"%s\".",
+ textAdded = "ŠŃ Гобавили ŃŠµŠŗŃŃ.",
+ textRemoved = "ŠŃ ŃŠ“алили %s ŃŠµŠŗŃŃ(ов).",
+ moneyTaken = "ŠŃ Š½Š°ŃŠ»Šø %s.",
+ businessPurchase = "ŠŃ ŠæŃŠøŠ¾Š±Ńели %s за %s.",
+ businessSell = "ŠŃ ŠæŃŠ¾Š“али %s за %s.",
+ cChangeModel = "%s ŃŠ¼ŠµŠ½ŠøŠ» Š¼Š¾Š“ŠµŠ»Ń %s на %s.",
+ cChangeName = "%s ŃŠ¼ŠµŠ½ŠøŠ» ŠøŠ¼Ń %s на %s.",
+ cChangeSkin = "%s ŃŠ¼ŠµŠ½ŠøŠ» ŃŠŗŠøŠ½ %s на %s.",
+ cChangeGroups = "%s ŃŠ¼ŠµŠ½ŠøŠ» боГигŃŃŠæŠæŃ \"%s\" Ń %s на %s.",
+ cChangeFaction = "%s ŠæŠµŃŠµŠ²ŠµŠ» %s в ŃŃŠ°ŠŗŃŠøŃ %s.",
+ playerCharBelonging = "ŠŃŠ¾Ń Š¾Š±ŃŠµŠŗŃ ŃŠ²Š»ŃеŃŃŃ ŠøŠ¼ŃŃŠµŃŃŠ²Š¾Š¼ Š“ŃŃŠ³Š¾Š³Š¾ Š²Š°ŃŠµŠ³Š¾ пеŃŃŠ¾Š½Š°Š¶Š°.",
+ business = "ŠŠøŠ·Š½ŠµŃ",
+ invalidFaction = "ŠŃ ŃŠŗŠ°Š·Š°Š»Šø неГейŃŃŠ²ŠøŃŠµŠ»ŃŠ½ŃŃ ŃŃŠ°ŠŗŃŠøŃ.",
+ limitFaction = "ŠŃа ŃŃŠ°ŠŗŃŠøŃ ŠæŠ¾Š»Š½Š°. ŠŠ¾ŠæŃŠ¾Š±ŃŠ¹Ńе позже.",
+ spawnAdd = "ŠŃ Гобавили ŃŠ¾ŃŠŗŃ ŠæŠ¾ŃŠ²Š»ŠµŠ½ŠøŃ Š“Š»Ń %s.",
+ spawnDeleted = "ŠŃ ŃŠ“алили %s ŃŠ¾Ńек ŠæŠ¾ŃŠ²Š»ŠµŠ½ŠøŃ.",
+ someone = "ŠŃо-ŃŠ¾",
+ rgnLookingAt = "Š Š°Š·ŃŠµŃŠøŃŃ ŃŠµŠ»Š¾Š²ŠµŠŗŃ, на ŠŗŠ¾ŃоŃого Š²Ń ŃŠ¼Š¾ŃŃŠøŃе, ŃŠ·Š½Š°ŃŃ Š²Š°Ń.",
+ rgnWhisper = "Š Š°Š·ŃŠµŃŠøŃŃ ŃŠµŠ¼, ŠŗŃŠ¾ наŃ
оГиŃŃŃ Š² ŃŠ°Š“ŠøŃŃŠµ ŃŠµŠæŠ¾Ńа, ŃŠ·Š½Š°ŃŃ Š²Š°Ń.",
+ rgnTalk = "Š Š°Š·ŃŠµŃŠøŃŃ ŃŠµŠ¼, ŠŗŃŠ¾ наŃ
оГиŃŃŃ Š² ŃŠ°Š“ŠøŃŃŠµ ŃŠ°Š·Š³Š¾Š²Š¾Ńа, ŃŠ·Š½Š°ŃŃ Š²Š°Ń.",
+ rgnYell = "Š Š°Š·ŃŠµŃŠøŃŃ ŃŠµŠ¼, ŠŗŃŠ¾ наŃ
оГиŃŃŃ Š² ŃŠ°Š“ŠøŃŃŠµ ŠŗŃŠøŠŗŠ°, ŃŠ·Š½Š°ŃŃ Š²Š°Ń.",
+ icFormat = "%s Š³Š¾Š²Š¾ŃŠøŃ \"%s\"",
+ rollFormat = "%s Š±ŃŠ¾ŃŠøŠ» %s.",
+ wFormat = "%s ŃŠµŠæŃŠµŃ \"%s\"",
+ yFormat = "%s ŠŗŃŠøŃŠøŃ \"%s\"",
+ sbOptions = "ŠŠ°Š¶Š¼ŠøŃе, ŃŃŠ¾Š±Ń ŃŠ²ŠøŠ“еŃŃ Š¾ŠæŃŠøŠø Š“Š»Ń %s.",
+ spawnAdded = "ŠŃ Гобавили ŃŠ¾ŃŠŗŃ ŠæŠ¾ŃŠ²Š»ŠµŠ½ŠøŃ Š“Š»Ń %s.",
+ whitelist = "%s Гобавил в Š±ŠµŠ»Ńй ŃŠæŠøŃŠ¾Šŗ %s Š“Š»Ń ŃŃŠ°ŠŗŃŠøŠø %s.",
+ unwhitelist = "%s ŃŠ±Ńал ŠøŠ· белого ŃŠæŠøŃŠŗŠ° %s ŠøŠ· ŃŃŠ°ŠŗŃŠøŠø %s.",
+ gettingUp = "ŠŃ вŃŃŠ°ŠµŃе...",
+ wakingUp = "ŠŃ ŠæŃŠøŃ
Š¾Š“ŠøŃŠµ в ŃŠ¾Š·Š½Š°Š½ŠøŠµ...",
+ Weapons = "ŠŃŃŠ¶ŠøŠµ",
+ checkout = "ŠŠµŃŠµŠ¹ŃŠø Šŗ Š¾ŃŠ¾ŃŠ¼Š»ŠµŠ½ŠøŃ (%s)",
+ purchase = "ŠŠ¾ŠŗŃпка",
+ purchasing = "ŠŠ¾ŠŗŃпка...",
+ success = "Š£ŃŠæŠµŃ
",
+ buyFailed = "ŠŠ¾ŠŗŃпка не ŃŠ“алаŃŃ.",
+ buyGood = "ŠŠ¾ŠŗŃпка ŃŃŠæŠµŃŠ½Š¾ завеŃŃŠµŠ½Š°!",
+ shipment = "ŠŠ°ŃŃŠøŃ",
+ shipmentDesc = "ŠŃа паŃŃŠøŃ ŠæŃŠøŠ½Š°Š“Š»ŠµŠ¶ŠøŃ %s.",
+ class = "ŠŠ»Š°ŃŃ",
+ classes = "ŠŠ»Š°ŃŃŃ",
+ illegalAccess = "ŠŠµŠ·Š°ŠŗŠ¾Š½Š½Ńй ГоŃŃŃŠæ.",
+ becomeClassFail = "ŠŠµ ŃŠ“алоŃŃ ŃŃŠ°ŃŃ %s.",
+ becomeClass = "ŠŃ ŃŃŠ°Š»Šø %s.",
+ attribSet = "ŠŃ ŃŃŃŠ°Š½Š¾Š²ŠøŠ»Šø %s %s на %s.",
+ attribUpdate = "ŠŃ ŃŠ²ŠµŠ»ŠøŃили %s %s на %s.",
+ noFit = "ŠŃŠ¾Ń ŠæŃŠµŠ“Š¼ŠµŃ Š½Šµ ŠæŠ¾Š¼ŠµŃŠ°ŠµŃŃŃ Š² Š²Š°Ń ŠøŠ½Š²ŠµŠ½ŃŠ°ŃŃ.",
+ help = "ŠŠ¾Š¼Š¾ŃŃ",
+ commands = "ŠŠ¾Š¼Š°Š½Š“Ń",
+ helpDefault = "ŠŃŠ±ŠµŃŠøŃе ŠŗŠ°ŃŠµŠ³Š¾ŃŠøŃ",
+ doorSettings = "ŠŠ°ŃŃŃŠ¾Š¹ŠŗŠø Š“Š²ŠµŃŠµŠ¹",
+ sell = "ŠŃоГаŃŃ",
+ access = "ŠŠ¾ŃŃŃŠæ",
+ locking = "ŠŠ°ŠŗŃŃŠ²Š°Ń ŃŃŠ¾Ń Š¾Š±ŃŠµŠŗŃ...",
+ unlocking = "ŠŃŠŗŃŃŠ²Š°Ń ŃŃŠ¾Ń Š¾Š±ŃŠµŠŗŃ...",
+ modelNoSeq = "ŠŠ°Ńа Š¼Š¾Š“ŠµŠ»Ń Š½Šµ ŠæŠ¾Š“Š“ŠµŃŠ¶ŠøŠ²Š°ŠµŃ ŃŃŠ¾ ГейŃŃŠ²ŠøŠµ.",
+ notNow = "ŠŠ°Š¼ ŃŠµŠ¹ŃŠ°Ń Š½ŠµŠ»ŃŠ·Ń ŃŃŠ¾ ГелаŃŃ.",
+ faceWall = "ŠŃ Š“Š¾Š»Š¶Š½Ń ŃŠ¼Š¾ŃŃŠµŃŃ Š½Š° ŃŃŠµŠ½Ń, ŃŃŠ¾Š±Ń ŃŠ“елаŃŃ ŃŃŠ¾.",
+ faceWallBack = "ŠŠ°Ńа ŃŠæŠøŠ½Š° Голжна бŃŃŃ Š¾Š±ŃŠ°Ńена Šŗ ŃŃŠµŠ½Šµ, ŃŃŠ¾Š±Ń ŃŠ“елаŃŃ ŃŃŠ¾.",
+ descChanged = "ŠŃ изменили Š¾ŠæŠøŃание ŃŠ²Š¾ŠµŠ³Š¾ пеŃŃŠ¾Š½Š°Š¶Š°.",
+ charMoney = "Š£ Š²Š°Ń ŃŠµŠ¹ŃŠ°Ń %s.",
+ charFaction = "ŠŃ ŃŠ²Š»ŃŠµŃŠµŃŃ ŃŠ»ŠµŠ½Š¾Š¼ ŃŃŠ°ŠŗŃŠøŠø %s.",
+ charClass = "ŠŃ %s ŃŃŠ°ŠŗŃŠøŠø.",
+ noSpace = "ŠŠ½Š²ŠµŠ½ŃаŃŃ ŠæŠ¾Š»Š¾Š½.",
+ noOwner = "ŠŠ»Š°Š“ŠµŠ»ŠµŃ Š½ŠµŠ“ŠµŠ¹ŃŃŠ²ŠøŃелен.",
+ notAllowed = "ŠŃо ГейŃŃŠ²ŠøŠµ не ŃŠ°Š·ŃŠµŃŠµŠ½Š¾.",
+ invalidIndex = "ŠŠ½Š“ŠµŠŗŃ ŠæŃŠµŠ“Š¼ŠµŃŠ° неГейŃŃŠ²ŠøŃелен.",
+ invalidItem = "ŠŠ±ŃŠµŠŗŃ ŠæŃŠµŠ“Š¼ŠµŃŠ° неГейŃŃŠ²ŠøŃелен.",
+ invalidInventory = "ŠŠ±ŃŠµŠŗŃ ŠøŠ½Š²ŠµŠ½ŃŠ°ŃŃ Š½ŠµŠ“ŠµŠ¹ŃŃŠ²ŠøŃелен.",
+ home = "ŠŠ¾Š¼Š¾Š¹",
+ charKick = "%s Š²ŃŠ³Š½Š°Š» пеŃŃŠ¾Š½Š°Š¶Š° %s.",
+ charBan = "%s забанил пеŃŃŠ¾Š½Š°Š¶Š° %s.",
+ charBanned = "ŠŃŠ¾Ń ŠæŠµŃŃŠ¾Š½Š°Š¶ забанен.",
+ setMoney = "ŠŃ ŃŃŃŠ°Š½Š¾Š²ŠøŠ»Šø Š“ŠµŠ½ŃŠ³Šø %s на %s.",
+ itemPriceInfo = "ŠŃ Š¼Š¾Š¶ŠµŃŠµ ŠæŃŠøŠ¾Š±ŃеŃŃŠø ŃŃŠ¾Ń ŠæŃŠµŠ“Š¼ŠµŃ Š·Š° %s.\nŠŃ Š¼Š¾Š¶ŠµŃŠµ ŠæŃŠ¾Š“аŃŃ ŃŃŠ¾Ń ŠæŃŠµŠ“Š¼ŠµŃ Š·Š° %s",
+ free = "ŠŠµŃŠæŠ»Š°ŃŠ½Š¾",
+ vendorNoSellItems = "ŠŠµŃ ŠæŃŠµŠ“Š¼ŠµŃŠ¾Š² Š“Š»Ń ŠæŃŠ¾Š“ажи.",
+ vendorNoBuyItems = "ŠŠµŃ ŠæŃŠµŠ“Š¼ŠµŃŠ¾Š² Š“Š»Ń ŠæŠ¾ŠŗŃŠæŠŗŠø.",
+ vendorSettings = "ŠŠ°ŃŃŃŠ¾Š¹ŠŗŠø ŠæŃŠ¾Š“Š°Š²ŃŠ°",
+ vendorUseMoney = "ŠŃŠ¾Š“Š°Š²ŠµŃ Š“Š¾Š»Š¶ŠµŠ½ ŠøŃŠæŠ¾Š»ŃŠ·Š¾Š²Š°ŃŃ Š“ŠµŠ½ŃŠ³Šø?",
+ vendorNoBubble = "ДкŃŃŃŃ Š¾Š±Š»Š°ŃŠŗŠ¾ ŠæŃŠ¾Š“Š°Š²ŃŠ°?",
+ mode = "Режим",
+ price = "Цена",
+ stock = "ДклаГ",
+ none = "ŠŠµŃ",
+ vendorBoth = "ŠŃпиŃŃ Šø ŠæŃŠ¾Š“аŃŃ",
+ vendorBuy = "Š¢Š¾Š»ŃŠŗŠ¾ ŠæŠ¾ŠŗŃŠæŠŗŠ°",
+ vendorSell = "Š¢Š¾Š»ŃŠŗŠ¾ ŠæŃŠ¾Š“ажа",
+ maxStock = "ŠŠ°ŠŗŃŠøŠ¼Š°Š»ŃŠ½Ńй запаŃ",
+ vendorFaction = "Š ŠµŠ“Š°ŠŗŃŠ¾Ń ŃŃŠ°ŠŗŃŠøŠø",
+ buy = "ŠŃпиŃŃ",
+ vendorWelcome = "ŠŠ¾Š±Ńо пожаловаŃŃ Š² мой магазин, ŃŃŠ¾ Ń Š¼Š¾Š³Ń Š“Š»Ń Š²Š°Ń ŃŠ“елаŃŃ?",
+ vendorBye = "ŠŃŠøŃ
Š¾Š“ŠøŃŠµ ŠµŃŠµ!",
+ charSearching = "ŠŃ ŃŠ¶Šµ ŠøŃŠµŃе Š“ŃŃŠ³Š¾Š³Š¾ пеŃŃŠ¾Š½Š°Š¶Š°, ŠæŠ¾Š¶Š°Š»ŃŠ¹ŃŃŠ°, ŠæŠ¾Š“Š¾Š¶Š“ŠøŃŠµ.",
+ charUnBan = "%s ŃŠ°Š·Š±Š°Š½ŠøŠ» пеŃŃŠ¾Š½Š°Š¶Š° %s.",
+ charNotBanned = "ŠŃŠ¾Ń ŠæŠµŃŃŠ¾Š½Š°Š¶ не забанен.",
+ storPass = "ŠŃ ŃŃŃŠ°Š½Š¾Š²ŠøŠ»Šø ŠæŠ°ŃŠ¾Š»Ń Š“Š»Ń ŃŃŠ¾Š³Š¾ Ń
ŃŠ°Š½ŠøŠ»ŠøŃа: %s.",
+ storPassRmv = "ŠŃ ŃŠ“алили ŠæŠ°ŃŠ¾Š»Ń Š“Š»Ń ŃŃŠ¾Š³Š¾ Ń
ŃŠ°Š½ŠøŠ»ŠøŃа.",
+ storPassWrite = "ŠŠ²ŠµŠ“ŠøŃŠµ ŠæŠ°ŃŠ¾Š»Ń.",
+ wrongPassword = "ŠŃ ввели Š½ŠµŠ²ŠµŃнŃй ŠæŠ°ŃŠ¾Š»Ń.",
+ cheapBlur = "ŠŃŠŗŠ»ŃŃŠøŃŃ ŃŠ°Š·Š¼ŃŃŠøŠµ? (ŠŠ¾Š²ŃŃŠ°ŠµŃ FPS)",
+ quickSettings = "ŠŃŃŃŃŃŠµ наŃŃŃŠ¾Š¹ŠŗŠø",
+ vmSet = "ŠŃ ŃŃŃŠ°Š½Š¾Š²ŠøŠ»Šø ŃŠ²Š¾Ń Š³Š¾Š»Š¾ŃŠ¾Š²ŃŃ ŠæŠ¾ŃŃŃ.",
+ vmRem = "ŠŃ ŃŠ“алили ŃŠ²Š¾Ń Š³Š¾Š»Š¾ŃŠ¾Š²ŃŃ ŠæŠ¾ŃŃŃ.",
+ altLower = "ДкŃŃŠ²Š°ŃŃ ŃŃŠŗŠø, когГа они опŃŃŠµŠ½Ń?",
+ noPerm = "ŠŠ°Š¼ Š·Š°ŠæŃŠµŃено ŃŃŠ¾ ГелаŃŃ.",
+ youreDead = "ŠŃ меŃŃŠ²Ń",
+ injMajor = "ŠŃŠ³Š»ŃŠ“ŠøŃ ŠŗŃŠøŃŠøŃŠµŃŠŗŠø ŃŠ°Š½ŠµŠ½Ńм/ой.",
+ injLittle = "ŠŃŠ³Š»ŃŠ“ŠøŃ ŃŠ°Š½ŠµŠ½Ńм/ой.",
+ toggleObserverTP = "ŠŠµŃеклŃŃŠøŃŃ ŃŠµŠ»ŠµŠæŠ¾ŃŃŠ°ŃŠøŃ Š½Š°Š±Š»ŃŠ“Š°ŃŠµŠ»Ń",
+ toggleESP = "ŠŠµŃеклŃŃŠøŃŃ ŃŠµŠ¶ŠøŠ¼ аГминиŃŃŃŠ°ŃŠ¾ŃŠ° ESP",
+ toggleESPAdvanced = "РаŃŃŠøŃŠµŠ½Š½ŃŠ¹ ŃŠµŠ¶ŠøŠ¼ ESP",
+ chgName = "ŠŠ·Š¼ŠµŠ½ŠøŃŃ ŠøŠ¼Ń",
+ chgNameDesc = "ŠŠ²ŠµŠ“ŠøŃŠµ новое ŠøŠ¼Ń пеŃŃŠ¾Š½Š°Š¶Š°.",
+ thirdpersonToggle = "ŠŠµŃеклŃŃŠøŃŃ Š²ŠøŠ“ Š¾Ń ŃŃŠµŃŃŠµŠ³Š¾ Š»ŠøŃŠ°",
+ thirdpersonClassic = "ŠŃŠæŠ¾Š»ŃŠ·Š¾Š²Š°ŃŃ ŠŗŠ»Š°ŃŃŠøŃŠµŃŠŗŠøŠ¹ виГ Š¾Ń ŃŃŠµŃŃŠµŠ³Š¾ Š»ŠøŃŠ°",
+ thirdpersonConfig = "ŠŠ°ŃŃŃŠ¾Š¹ŠŗŠ° виГа Š¾Ń ŃŃŠµŃŃŠµŠ³Š¾ Š»ŠøŃŠ°",
+ equippedBag = "ŠŠŗŠøŠæŠøŃŠ¾Š²Š°Š½Š½ŃŠµ ŠæŃŠµŠ“меŃŃ Š½ŠµŠ»ŃŠ·Ń ŠæŠµŃŠµŠ¼ŠµŃаŃŃ Š¼ŠµŠ¶Š“Ń ŠøŠ½Š²ŠµŠ½ŃŠ°ŃŃŠ¼Šø.",
+ useTip = "ŠŃŠæŠ¾Š»ŃŠ·ŃŠµŃ ŠæŃŠµŠ“меŃ.",
+ equipTip = "ŠŠŗŠøŠæŠøŃŃŠµŃ ŠæŃŠµŠ“меŃ.",
+ unequipTip = "Š”Š½ŠøŠ¼Š°ŠµŃ ŠæŃŠµŠ“меŃ.",
+ consumables = "РаŃŃ
Š¾Š“ŃŠµŠ¼Ńе",
+ plyNotValid = "ŠŃ не ŃŠ¼Š¾ŃŃŠøŃе на ГейŃŃŠ²ŠøŃŠµŠ»ŃŠ½Š¾Š³Š¾ ŠøŠ³ŃŠ¾ŠŗŠ°.",
+ restricted = "ŠŃ Š±ŃŠ»Šø Š·Š°Š“ŠµŃŠ¶Š°Š½Ń.",
+ viewProfile = "ŠŃŠ¾ŃŠ¼Š¾ŃŃŠµŃŃ ŠæŃŠ¾ŃŠøŠ»Ń Steam",
+ salary = "ŠŃ полŃŃŠøŠ»Šø %s Š¾Ń ŃŠ²Š¾ŠµŠ¹ Š·Š°ŃŠæŠ»Š°ŃŃ.",
+ noRecog = "ŠŃ не ŃŠ·Š½Š°ŠµŃе ŃŃŠ¾Š³Š¾ ŃŠµŠ»Š¾Š²ŠµŠŗŠ°.",
+ curTime = "ТекŃŃŠµŠµ Š²ŃŠµŠ¼Ń: %s.",
+ vendorEditor = "Š ŠµŠ“Š°ŠŗŃŠ¾Ń ŠæŃŠ¾Š“Š°Š²ŃŠ°",
+ edit = "Š ŠµŠ“Š°ŠŗŃŠøŃоваŃŃ",
+ disable = "ŠŃŠŗŠ»ŃŃŠøŃŃ",
+ vendorPriceReq = "ŠŠ²ŠµŠ“ŠøŃŠµ новŃŃ ŃŠµŠ½Ń Š“Š»Ń ŃŃŠ¾Š³Š¾ ŠæŃŠµŠ“Š¼ŠµŃŠ°.",
+ vendorEditCurStock = "Š ŠµŠ“Š°ŠŗŃŠøŃоваŃŃ ŃŠµŠŗŃŃŠøŠ¹ ŃŠŗŠ»Š°Š“",
+ you = "ŠŃ",
+ vendorSellScale = "ŠŠ°ŃŃŃŠ°Š± ŃŠµŠ½Ń ŠæŃŠ¾Š“ажи",
+ vendorNoTrade = "ŠŃ не Š¼Š¾Š¶ŠµŃе ŃŠ¾ŃговаŃŃ Ń ŃŃŠøŠ¼ ŠæŃŠ¾Š“Š°Š²ŃŠ¾Š¼.",
+ vendorNoMoney = "Š£ ŃŃŠ¾Š³Š¾ ŠæŃŠ¾Š“Š°Š²ŃŠ° Š½ŠµŃ Š“ŠµŠ½ŠµŠ³ на ŃŃŠ¾Ń ŠæŃŠµŠ“меŃ.",
+ vendorNoStock = "Š£ ŃŃŠ¾Š³Š¾ ŠæŃŠ¾Š“Š°Š²ŃŠ° Š½ŠµŃ ŃŃŠ¾Š³Š¾ ŠæŃŠµŠ“Š¼ŠµŃŠ° в Š½Š°Š»ŠøŃŠøŠø.",
+ contentTitle = "ŠŃŃŃŃŃŃŠ²ŃŠµŃ ŠŗŠ¾Š½ŃŠµŠ½Ń NutScript",
+ contentWarning = "Š£ Š²Š°Ń Š½Šµ ŃŃŃŠ°Š½Š¾Š²Š»ŠµŠ½ ŠŗŠ¾Š½ŃŠµŠ½Ń NutScript. ŠŃо Š¼Š¾Š¶ŠµŃ ŠæŃŠøŠ²ŠµŃŃŠø Šŗ неГоŃŃŃŠæŠ½Š¾ŃŃŠø Š½ŠµŠŗŠ¾ŃŠ¾ŃŃŃ
ŃŃŠ½ŠŗŃий.\nŠŠ“ŃŠµŃ ŠŗŠ¾Š½ŃŠµŠ½Ńа NutScript Š±ŃŠ» изменен на Š°Š“ŃŠµŃ rebel1324.\nŠ„Š¾ŃŠøŃе Š¾ŃŠŗŃŃŃŃ ŃŃŃŠ°Š½ŠøŃŃ Š¼Š°ŃŃŠµŃŃŠŗŠ¾Š¹ Š“Š»Ń ŠŗŠ¾Š½ŃŠµŠ½Ńа NutScript?",
+ flags = "Флаги",
+ chooseTip = "ŠŃŠ±ŠµŃŠøŃе ŃŃŠ¾Š³Š¾ пеŃŃŠ¾Š½Š°Š¶Š° Š“Š»Ń ŠøŠ³ŃŃ.",
+ deleteTip = "УГалиŃŃ ŃŃŠ¾Š³Š¾ пеŃŃŠ¾Š½Š°Š¶Š°.",
+ moneyLeft = "ŠŠ°ŃŠø Š“ŠµŠ½ŃŠ³Šø: ",
+ currentMoney = "ŠŃŃŠ°Ńок Генег: ",
- -- 2021 patch
- itemCreated = "ŠŃŠµŠ“Š¼ŠµŃ ŃŃŠæŠµŃŠ½Š¾ ŃŠ¾Š·Š“ан.",
- flagGiveTitle = "ŠŠ°ŃŃ ŃŠ»Š°Š³Šø",
- flagGiveDesc = "ŠŃГаŃŃ ŃŠ»ŠµŠ“ŃŃŃŠøŠµ ŃŠ»Š°Š³Šø ŠøŠ³ŃŠ¾ŠŗŃ.",
- flagTakeTitle = "ŠŃнŃŃŃ ŃŠ»Š°Š³Šø",
- flagTakeDesc = "ŠŃнŃŃŃ ŃŠ»ŠµŠ“ŃŃŃŠøŠµ ŃŠ»Š°Š³Šø Š¾Ń ŠøŠ³ŃŠ¾ŠŗŠ°.",
- limitFaction = "ŠŠ°Š½Š½Š°Ń ŃŃŠ°ŠŗŃŠøŃ ŠæŠ¾Š»Š½Š°. ŠŠ¾ŠæŃŠ¾Š±ŃŠ¹Ńе попозже.",
- toggleObserverTP = "ŠŠµŃеклŃŃŠøŃŃ ŃŠµŠ»ŠµŠæŠ¾ŃŃŠøŃование ŠæŃŠø Š½Š°Š±Š»ŃŠ“ении.",
- toggleESPAdvanced = "ŠŠµŃеклŃŃŠøŃŃ ŃŠ°ŃŃŠøŃŠµŠ½Š½ŃŠ¹ ŃŠµŠ¶ŠøŠ¼ ESP",
- thirdpersonConfig = "ŠŠ°ŃŃŃŠ¾Š¹ŠŗŠ° ŃŃŠµŃŃŠµŠ³Š¾ Š»ŠøŃŠ°",
- ammoLoadAll = "ŠŠ°ŃŃŠ“ŠøŃŃ Š²ŃŃ",
- ammoLoadAmount = "ŠŠ°ŃŃŠ“ŠøŃŃ %s",
- ammoLoadCustom = "ŠŠ°ŃŃŠ“ŠøŃŃ...",
- split = "РазГелиŃŃ",
- splitHelp = "ŠŠ²ŠµŠ“ŠøŃŠµ ŃŃŠ¼Š¼Ń Š“Š»Ń ŃŠ°Š·Š“елениŃ.",
- splitHalf = "РазГелиŃŃ 1/2",
- splitQuarter = "РазГелиŃŃ 1/4",
- recognize = "ŠŠ¾Š·Š²Š¾Š»ŠøŃŃ ŃŃŠ¾Š¼Ń пеŃŃŠ¾Š½Š°Š¶Ń ŃŠ·Š½Š°ŃŃ Š²Š°ŃŃ Š»ŠøŃŠ½Š¾ŃŃŃ.",
- recognized = "ŠŠ°Š½Š½Ńй пеŃŃŠ¾Š½Š°Š¶ ŃŠ·Š½Š°Š» ваŃŃ Š»ŠøŃŠ½Š¾ŃŃŃ.",
- already_recognized = "ŠŠ°Š½Š½Ńй пеŃŃŠ¾Š½Š°Š¶ ŃŠ¶Šµ Š·Š½Š°ŠµŃ Š²Š°ŃŃ Š»ŠøŃŠ½Š¾ŃŃŃ.",
- untying = "Š Š°Š·Š²ŃŠ·Ńвание...",
- beingUntied = "ŠŠ°Ń ŃŠ°Š·Š²ŃŠ·ŃŠ²Š°ŃŃ...",
- beingTied = "ŠŠ°Ń ŃŠ²ŃŠ·ŃŠ²Š°ŃŃ...",
- sameOutfitCategory = "Такой виГ ŃŠŗŠøŠæŠøŃовки на Š²Š°Ń ŃŠ¶Šµ наГеŃ.",
- noBusiness = "Š Š“Š°Š½Š½ŃŠ¹ Š¼Š¾Š¼ŠµŠ½Ń Š²Ń Š½Šµ Š¼Š¾Š¶ŠµŃŠµ Š½ŠøŃŠµŠ³Š¾ ŠŗŃŠæŠøŃŃ.",
- panelRemoved = "ŠŃ ŃŠ“алили %s 3D панелей.",
- panelAdded = "ŠŃ Гобавили 3D панелŃ.",
- itemOnGround = "ŠŠ°Ń ŠæŃŠµŠ“Š¼ŠµŃ Š±ŃŠ» ŠæŠ¾Š»Š¾Š¶ŠµŃ Š½Š° землŃ.",
- forbiddenActionStorage = "ŠŠµŠ¹ŃŃŠ²ŠøŠµ Ń Ń
ŃŠ°Š½ŠøŠ¼Ńм ŠæŃŠµŠ“Š¼ŠµŃŠ¾Š¼ Š·Š°ŠæŃŠµŃено.",
- cantDropBagHasEquipped = "ŠŠ°ŠæŃŠµŃŠµŠ½Š¾ Š±ŃŠ¾ŃаŃŃ ŃŃŠ¼ŠŗŃ Ń ŃŠŗŠøŠæŠøŃŠ¾Š²Š°Š½Š½ŃŠ¼ ŠæŃŠµŠ“Š¼ŠµŃŠ¾Š¼.",
- lookToUseAt = "ŠŠµŠ¾Š±Ń
оГимо ŃŠ¼Š¾ŃŃŠµŃŃ Š½Š° ŠøŠ³ŃŠ¾ŠŗŠ° Š“Š»Ń ŠøŃŠæŠ¾Š»ŃŠ·Š¾Š²Š°Š½ŠøŃ '@'",
- mustProvideString = "ŠŠµŠ¾Š±Ń
оГимо ŠæŃеГŃŃŠ²ŠøŃŃ ŃŃŃŠ¾ŠŗŠ¾Š²ŃŃ Š“Š»Ń ŃŃŠ¾Š¹ ŃŃŠ½ŠŗŃŠøŠø",
-
- --Attributes
- Endurance = "Š”ŠŗŠ¾ŃŠ¾ŃŃŃ Š±ŠµŠ³Š°",
- Stamina = "ŠŃŠ½Š¾ŃŠ»ŠøŠ²Š¾ŃŃŃ",
- Strength = "Дила",
+ -- ŠŠ°ŃŃ 2018 гоГа
+ ammoLoadAll = "ŠŠ°Š³ŃŃŠ·ŠøŃŃ Š²ŃŃ",
+ ammoLoadAmount = "ŠŠ°Š³ŃŃŠ·ŠøŃŃ %s",
+ ammoLoadCustom = "ŠŠ°Š³ŃŃŠ·ŠøŃŃ...",
+ split = "РазГелиŃŃ",
+ splitHelp = "ŠŠ²ŠµŠ“ŠøŃŠµ ŃŠøŃло Š“Š»Ń ŃŠ°Š·Š“елениŃ.",
+ splitHalf = "РазГелиŃŃ Š½Š° 1/2",
+ splitQuarter = "РазГелиŃŃ Š½Š° 1/4",
+ recognize = "Š Š°Š·ŃŠµŃŠøŃŃ ŃŃŠ¾Š¼Ń пеŃŃŠ¾Š½Š°Š¶Ń Š²Š°Ń ŃŠ·Š½Š°Š²Š°ŃŃ.",
+ recognized = "ŠŃ ŠæŃŠµŠ“оŃŃŠ°Š²ŠøŠ»Šø ŃŃŠ¾Š¼Ń пеŃŃŠ¾Š½Š°Š¶Ń ŃŠ²Š¾Ń Š»ŠøŃŠ½Š¾ŃŃŃ.",
+ already_recognized = "ŠŃŠ¾Ń ŠæŠµŃŃŠ¾Š½Š°Š¶ ŃŠ¶Šµ Š²Š°Ń Š·Š½Š°ŠµŃ.",
+ isTied = "ŠŃого ŃŠµŠ»Š¾Š²ŠµŠŗŠ° ŃŠ²Ńзали.",
+ tying = "Š”Š²ŃŠ·Ńвание",
+ untying = "Š Š°Š·Š²ŃŠ·Ńвание",
+ beingUntied = "ŠŠ°Ń ŃŠ°Š·Š²ŃŠ·ŃŠ²Š°ŃŃ.",
+ beingTied = "ŠŠ°Ń ŃŠ²ŃŠ·ŃŠ²Š°ŃŃ.",
+ sameOutfitCategory = "ŠŃ ŃŠ¶Šµ Š½Š¾ŃŠøŃе ŃŃŠ¾Ń ŃŠøŠæ наŃŃŠ“а.",
+ noBusiness = "ŠŠ°Š¼ ŃŠµŠ¹ŃŠ°Ń Š½Šµ ŃŠ°Š·ŃŠµŃŠ°ŠµŃŃŃ Š½ŠøŃŠµŠ³Š¾ ŠæŠ¾ŠŗŃŠæŠ°ŃŃ.",
+ panelRemoved = "ŠŃ ŃŠ“алили %s 3D-панелей.",
+ panelAdded = "ŠŃ Гобавили 3D-панелŃ.",
+ itemOnGround = "ŠŠ°Ń ŠæŃŠµŠ“Š¼ŠµŃ Š±ŃŠ» ŠæŠ¾Š¼ŠµŃŠµŠ½ на землŃ.",
+ forbiddenActionStorage = "ŠŃ не Š¼Š¾Š¶ŠµŃе Š²ŃполнŃŃŃ ŃŃŠ¾ ГейŃŃŠ²ŠøŠµ Ń ŠæŠ¾Š¼Š¾ŃŃŃ ŠæŃŠµŠ“Š¼ŠµŃŠ° в Ń
ŃŠ°Š½ŠøŠ»ŠøŃе.",
+ cantDropBagHasEquipped = "ŠŃ не Š¼Š¾Š¶ŠµŃе Š²ŃŠ±ŃŠ¾ŃŠøŃŃ ŃŃŠ¼ŠŗŃ, в ŠŗŠ¾ŃоŃой еŃŃŃ ŃŠŗŠøŠæŠøŃŠ¾Š²Š°Š½Š½ŃŠ¹ ŠæŃŠµŠ“меŃ.",
+
+ -- ŠŠ°ŃŃ 2021 гоГа
+ lookToUseAt = "ŠŃ Š“Š¾Š»Š¶Š½Ń ŃŠ¼Š¾ŃŃŠµŃŃ Š½Š° кого-ŃŠ¾, ŃŃŠ¾Š±Ń ŠøŃŠæŠ¾Š»ŃŠ·Š¾Š²Š°ŃŃ '@'",
+ mustProvideString = "ŠŃ Š“Š¾Š»Š¶Š½Ń ŠæŃŠµŠ“оŃŃŠ°Š²ŠøŃŃ ŃŃŃŠ¾ŠŗŃ Š“Š»Ń ŠæŠµŃŠµŠ¼ŠµŠ½Š½Š¾Š¹",
+
+ -- ŠŠ°ŃŃ 2023 гоГа
+ togglePluginsDesc = "ŠŃŠ±ŃŠ°Š½Š½Ńе ŠæŠ»Š°Š³ŠøŠ½Ń Š±ŃŠ“ŃŃ Š¾ŃŠŗŠ»ŃŃŠµŠ½Ń.\nŠŠ°ŃŃŠ° Голжна бŃŃŃ ŠæŠµŃŠµŠ·Š°ŠæŃŃŠµŠ½Š° ŠæŠ¾ŃŠ»Šµ Š²Š½ŠµŃŠµŠ½ŠøŃ изменений!",
}
diff --git a/gamemode/languages/sh_spanish.lua b/gamemode/languages/sh_spanish.lua
index dec2466e..4ffb66da 100644
--- a/gamemode/languages/sh_spanish.lua
+++ b/gamemode/languages/sh_spanish.lua
@@ -1,264 +1,266 @@
----//Translation made by Barata#2411 & CVAROG#7222\\----
----//Contact DasBarata#2411 if you have any translation change suggestion\\----
-NAME = "EspaƱol"
-LANGUAGE = {
- loading = "Cargando",
- dbError = "Fallo de conexión con la Base de Datos",
- unknown = "Desconocido",
- noDesc = "Descripción no disponible",
- create = "Crear",
- createTip = "Crea un nuevo personaje con el que jugar.",
- load = "Cargar",
- loadTip = "Escoge un personaje previamente creado con el que jugar.",
- leave = "Abandonar",
- leaveTip = "Abandonar el servidor.",
- ["return"] = "Volver",
- returnTip = "Vuelve al menĆŗ anterior.",
- name = "Nombre",
- desc = "Descripción",
- model = "Modelo",
- attribs = "Atributos",
- charCreateTip = "Completa todos los campos obligatorios y haz clic en 'Finalizar' para crear a tu personaje.",
- invalid = "Has provisto un %s invƔlido.",
- descMinLen = "Tu descripción debe ser de al menos %d caracteres.",
- player = "Jugador",
- finish = "Finalizar",
- finishTip = "Finaliza la creación de personaje.",
- needModel = "Necesitas escoger un modelo vƔlido.",
- creating = "Tu personaje estĆ” siendo creado...",
- unknownError = "Ha ocurrido un error desconocido",
- delConfirm = "¿EstÔs seguro que quieres borrar PERMANENTEMENTE a %s?",
- no = "No",
- yes = "SĆ",
- itemInfo = "Nombre: %s\nDescripción: %s",
- cloud_no_repo = "El repositorio provisto no es vƔlido.",
- cloud_no_plugin = "El plugin provisto no es vƔlido.",
- inv = "Inventario",
- plugins = "Plugins",
- author = "Autor",
- version = "Versión",
- characters = "Personajes",
- business = "Negocios",
- settings = "Opciones",
- config = "Configuración",
- chat = "Chat",
- appearance = "Apariencia",
- misc = "MiscelƔneo",
- oocDelay = "Espera %s segundo(s) antes de usar el chat OOC de nuevo.",
- loocDelay = "Espera %s segundo(s) antes de usar el chat LOOC de nuevo.",
- usingChar = "Ya estƔs usando Ʃste personaje.",
- notAllowed = "Lo siento, no tienes permitido hacer eso.",
- itemNoExist = "Lo siento, el objeto que solicitaste no existe.",
- cmdNoExist = "Lo siento, Ʃste comando no existe.",
- plyNoExist = "Lo siento, el jugador correspondiente no ha podido ser encontrado.",
- cfgSet = "%s ha establecido \"%s\" a %s.",
- drop = "Tirar",
- dropTip = "Tira el objeto desde tu inventario.",
- take = "Coger",
- takeTip = "Coge Ʃste objeto y colocarlo en tu inventario.",
- dTitle = "Puerta sin propietario",
- dTitleOwned = "Puerta comprada",
- dIsNotOwnable = "EstĆ” puerta no se puede poseer.",
- dIsOwnable = "Puedes comprar Ʃsta puerta pulsando F2.",
- dMadeUnownable = "Has hecho Ć©sta puerta 'No poseĆble'.",
- dMadeOwnable = "Has hecho Ć©sta puerta 'PoseĆble'.",
- dNotAllowedToOwn = "No tienes permiso a poseer Ʃsta puerta.",
- dSetDisabled = "Has hecho que Ʃsta puerta este 'Dehabilitada'.",
- dSetNotDisabled = "Has hecho que Ʃsta puerta este 'Habilitada'.",
- dSetHidden = "Has hecho que Ʃsta puerta estƩ oculta.",
- dSetNotHidden = "Has hecho que Ʃsta puerta no estƩ oculta.",
- dSetParentDoor = "Has establecido Ʃsta puerta como tu puerta principal.",
- dCanNotSetAsChild = "No puedes establecer la puerta principal como puerta secundaria.",
- dAddChildDoor = "Has aƱadido Ʃsta puerta como puerta secundaria.",
- dRemoveChildren = "Has eliminado todas las puertas secundarias de Ʃsta puerta.",
- dRemoveChildDoor = "Has eliminado Ʃsta puerta como puerta secundaria.",
- dNoParentDoor = "No tienes una puerta principal establecida.",
- dOwnedBy = "Ćsta puerta estĆ” poseĆda por %s.",
- dConfigName = "Puertas",
- dSetFaction = "Ćsta puerta ahora pertenece a la facción %s.",
- dRemoveFaction = "Ćsta puerta ya no pertenece a ninguna facción.",
- dNotValid = "No estƔs mirando a una puerta vƔlida.",
- canNotAfford = "No puedes permitirte el gasto para comprar Ʃsto.",
- dPurchased = "Has comprado Ʃsta puerta por %s.",
- dSold = "Has vendido Ʃsta puerta por %s.",
- notOwner = "No eres el propietario de Ʃsto.",
- invalidArg = "Has provisto un valor invƔlido para el argumento #%s.",
- invalidFaction = "No se ha encontrado la facción que has provisto.",
- flagGive = "%s ha dado a %s las flags '%s'.",
- flagGiveTitle = "Dar Flags",
- flagGiveDesc = "Da las siguientes flags al jugador.",
- flagTake = "%s ha quitado las flags '%s' de %s.",
- flagTakeTitle = "Quitar Flags",
- flagTakeDesc = "Quita las siguientes flags del jugador.",
- flagNoMatch = "Debes tener la(s) flag(s) \"%s\" para hacer ésta acción.",
- textAdded = "Has aƱadido un texto.",
- textRemoved = "Has borrado %s texto(s).",
- moneyTaken = "Has encontrado %s.",
- businessPurchase = "Has comprado %s por %s.",
- businessSell = "Has vendido %s por %s.",
- cChangeModel = "%s ha cambiado el modelo de %s a %s.",
- cChangeName = "%s ha cambiado el nombre de %s a %s.",
- cChangeSkin = "%s ha cambiado el skin de %s a %s.",
- cChangeGroups = "%s ha cambiado el bodygroup \"%s\" de %s a %s.",
- cChangeFaction = "%s ha transferido a %s a la facción %s.",
- playerCharBelonging = "Ćste objeto ya pertenece a otro de tus personajes.",
- spawnAdd = "Has aƱadido un spawn para %s.",
- spawnDeleted = "Has eliminado el spawn de %s.",
- someone = "Alguien",
- rgnLookingAt = "Permite que te reconozca a quien estƔs mirando.",
- rgnWhisper = "Permite que te reconozcan aquellos que te escuchen susurrar.",
- rgnTalk = "Permite que te reconozcan aquellos que te escuchen hablar.",
- rgnYell = "Permite que te reconozcan aquellos que te escuchen gritar.",
- icFormat = "%s dice \"%s\"",
- rollFormat = "%s ha tirado los dados y ha sacado un %s.",
- wFormat = "%s susurra \"%s\"",
- yFormat = "%s gritar \"%s\"",
- sbOptions = "Haz clic para ver las opciones de %s.",
- spawnAdded = "Has añadido punto de aparición de %s.",
- whitelist = "%s ha metido a %s en la 'whitelist' de la facción %s.",
- unwhitelist = "%s ha sacado a %s de la 'whitelist' de la facción %s.",
- gettingUp = "Te estƔs levantando...",
- wakingUp = "EstƔs recuperando la consciencia...",
- Weapons = "Armas",
- checkout = "Ir a la cesta (%s)",
- purchase = "Comprar",
- purchasing = "Comprando...",
- success = "Ćxito.",
- buyFailed = "Compra fallida.",
- buyGood = "Compra exitosa!",
- shipment = "EnvĆo",
- shipmentDesc = "Ćste envĆo pertenece a %s.",
- class = "Clase",
- classes = "Clases",
- illegalAccess = "Acceso ilegal.",
- becomeClassFail = "Fallo en convertirse en %s.",
- becomeClass = "Te has convertido en %s.",
- attribSet = "Has establecido el nivel de %s de %s a %s puntos.",
- attribUpdate = "Has aƱadido al nivel de %s de %s %s puntos.",
- noFit = "Ćste objeto no cabe en tu inventario.",
- help = "Ayuda",
- commands = "Comandos",
- helpDefault = "Selecciona una categorĆa",
- doorSettings = "Configuración de puertas",
- sell = "Vender",
- access = "Acceso",
- locking = "Bloqueando Ʃsta entidad...",
- unlocking = "Desbloqueando Ʃsta entidad...",
- modelNoSeq = "Tu modelo no es compatible con Ʃste acto.",
- notNow = "No tienes permiso para hacer Ʃsto ahora.",
- faceWall = "Debes estar mirando una pared para hacer Ʃsto.",
- faceWallBack = "Tu espalda tiene que estar mirando una pared para hacer Ʃsto.",
- descChanged = "Has cambiado la descripción de tu personaje.",
- charMoney = "Actualmente tienes %s.",
- charFaction = "Eres un miembro de %s.",
- charClass = "Eres %s de la facción.",
- noSpace = "El inventario estĆ” lleno.",
- noOwner = "El propietario no es vƔlido.",
- invalidIndex = "El Ćndice no es vĆ”lido.",
- invalidItem = "El objeto no es vƔlido.",
- invalidInventory = "El inventario no es vƔlido.",
- home = "Inicio",
- charKick = "%s ha echado a %s.",
- charBan = "%s ha expulsado a %s.",
- charBanned = "Ćste personaje estĆ” expulsado.",
- setMoney = "Has establecido el dinero de %s a %s.",
- itemPriceInfo = "Puedes comprar Ʃste objeto por %s.\nPuedes vender Ʃste objeto por %s",
- free = "Gratis",
- vendorNoSellItems = "No hay objetos para vender.",
- vendorNoBuyItems = "No hay objetos para comprar.",
- vendorSettings = "Configuración del Vendedor",
- vendorUseMoney = "ĀæEl vendedor debe usar dinero?",
- vendorNoBubble = "ĀæEsconder burbuja del vendedor?",
- mode = "Modo",
- price = "Precio",
- stock = "Stock",
- none = "Nada",
- vendorBoth = "Comprar y vender",
- vendorBuy = "Sólo comprar",
- vendorSell = "Sólo vender",
- maxStock = "Stock mƔximo",
- vendorFaction = "Editor de facción",
- buy = "Comprar",
- vendorWelcome = "Bienvenid@ a mi tienda, ¿qué puedo hacer por usted?",
- vendorBye = "”Vuelva pronto!",
- charSearching = "Ya estĆ” buscando a otro personaje, por favor espere.",
- charUnBan = "%s ha perdonado la expulsión a %s.",
- charNotBanned = "Ćste personaje no estĆ” expulsado.",
- storPass = "Has establecido la contraseña de éste depósito como %s.",
- storPassRmv = "Has eliminado la contraseña de éste depósito.",
- storPassWrite = "Introduce la contraseƱa.",
- wrongPassword = "Has introducido una constraseña errónea.",
- cheapBlur = "¿Deshabilitar difuminación?",
- quickSettings = "Configuración rÔpida",
- vmSet = "Has establecido tu buzón de voz.",
- vmRem = "Has eliminado tu buzón de voz.",
- altLower = "ĀæOcultar las manos cuando se bajen?",
- noPerm = "No tienes permiso para hacer Ʃsto.",
- youreDead = "EstƔs muerto.",
- injMajor = "Parece que estĆ” gravemente herido.",
- injLittle = "Parece que estĆ” herido.",
- toggleESP = "Activar/Desactivar Admin ESP",
- chgName = "Cambiar nombre",
- chgNameDesc = "Introduce abajo el nuevo nombre del personaje.",
- thirdpersonToggle = "Activar/Desactivar Tercera Persona",
- thirdpersonClassic = "Usar el sistema de Tercera Persona clƔsico",
- equippedBag = "La bolsa que has movido tiene un objeto que te has equipado.",
- useTip = "Usa el objeto.",
- equipTip = "Equipa el objeto.",
- unequipTip = "Desequipa el objeto.",
- consumables = "Consumibles",
- plyNotValid = "No estƔs mirando a un jugador vƔlido.",
- restricted = "Has sido atado.",
- viewProfile = "Ver el perfil de Steam.",
- salary = "Has recibido %s de tu salario.",
- noRecog = "No reconoces a Ʃsta persona.",
- curTime = "La hora actual es %s.",
- vendorEditor = "Editor de vendedor",
- edit = "Editar",
- disable = "Deshabilitar",
- vendorPriceReq = "Introduce el nuevo precio del objeto.",
- vendorEditCurStock = "Editar Stock actual",
- you = "TĆŗ",
- model = "Modelo",
- business = "Negocios",
- invalidFaction = "Has provisto una facción invÔlida.",
- notAllowed = "Ćsta acción no estĆ” permitida.",
- -- 2021 patch
+NAME = "EspaƱol"
- thirdpersonConfig = "Configuración de cÔmara en tercera persona",
- vendorSellScale = "Escala de precios de venta",
- vendorNoTrade = "No puedes comprar a este vendedor.",
- vendorNoMoney = "Este vendedor no puede pagar este artĆculo.",
- vendorNoStock = "Este vendedor no tiene este artĆculo en stock.",
- contentTitle = "Content del NutScript Ausent",
- contentWarning = "No tienes el contenido de NutScript montado. Esto puede probocar ciertas fallas en las funciones.\nUtilice el contenido de Nutscript de Rebel1324.\nĀæLe gustarĆa abrir la pĆ”gina del Workshop para el contenido de NutScript?",
- flags = "Flags",
- chooseTip = "Elige este personaje para jugar.",
- deleteTip = "Eliminar este personaje.",
- moneyLeft = "Tu Dinero: ",
- currentMoney = "Dinero Sobrante: ",
- ammoLoadAll = "Cargar todo",
- ammoLoadAmount = "Cargar %s",
- ammoLoadCustom = "Cargar...",
- split = "Dividr",
- splitHelp = "Ingrese un nĆŗmero para dividir.",
- splitHalf = "Dividir 1/2",
- splitQuarter = "Dividir 1/4",
- recognize = "Deja que este personaje te reconozca.",
- recognized = "Le diste a este personaje tu identidad.",
- already_recognized = "Este personaje ya te conoce.",
- isTied = "Esta persona ha sido atada.",
- tying = "Atando",
- untying = "Desatando",
- beingUntied = "Estas siendo desatado.",
- beingTied = "Estas siendo atado.",
- sameOutfitCategory = "Ya llevas este tipo de atuendo.",
- noBusiness = "No se le permite comprar nada en este momento.",
- panelRemoved = "Te has quitado %s 3D panels.",
- panelAdded = "Has agregado a 3D panel.",
- itemOnGround = "Tu artĆculo ha sido colocado en el suelo.",
- forbiddenActionStorage = "No puedes realizar esta acción con un artĆculo almacenado.",
- cantDropBagHasEquipped = "No puedes soltar la bolsa que tiene un artĆculo equipado.",
- lookToUseAt = "Necesitas estar buscando a alguien para usar '@'",
- mustProvideString = "Debes proporcionar una string para la variable.",
-}
+LANGUAGE = {
+ loading = "Cargando",
+ dbError = "Error de conexión a la base de datos",
+ unknown = "Desconocido",
+ noDesc = "Descripción no disponible",
+ create = "Crear",
+ createTip = "Crear un nuevo personaje para jugar.",
+ load = "Cargar",
+ loadTip = "Seleccionar un personaje previamente creado para jugar.",
+ leave = "Salir",
+ leaveTip = "Abandonar el servidor actual.",
+ ["return"] = "Volver",
+ returnTip = "Volver al menĆŗ anterior.",
+ name = "Nombre",
+ desc = "Descripción",
+ model = "Modelo",
+ attribs = "Atributos",
+ charCreateTip = "Rellena los campos a continuación y pulsa 'Finalizar' para crear tu personaje.",
+ invalid = "Has proporcionado un(a) %s invƔlido(a)",
+ descMinLen = "Tu descripción debe tener al menos %d caracteres.",
+ player = "Jugador",
+ finish = "Finalizar",
+ finishTip = "Terminar la creación del personaje.",
+ needModel = "Debes elegir un modelo vƔlido",
+ creating = "Tu personaje se estĆ” creando...",
+ unknownError = "Ha ocurrido un error desconocido",
+ delConfirm = "¿EstÔs seguro de que quieres BORRAR PERMANENTEMENTE a %s?",
+ no = "No",
+ yes = "SĆ",
+ itemInfo = "Nombre: %s\nDescripción: %s",
+ itemCreated = "Objeto creado exitosamente.",
+ cloud_no_repo = "El repositorio proporcionado no es vƔlido.",
+ cloud_no_plugin = "El complemento proporcionado no es vƔlido.",
+ inv = "Inventario",
+ plugins = "Complementos",
+ togglePlugins = "Activar/Desactivar complementos",
+ author = "Autor",
+ version = "Versión",
+ characters = "Personajes",
+ settings = "Configuración",
+ config = "Config",
+ chat = "Chat",
+ appearance = "Apariencia",
+ misc = "MiscelƔneo",
+ oocDelay = "Debes esperar %s segundo(s) mƔs antes de usar OOC nuevamente.",
+ loocDelay = "Debes esperar %s segundo(s) mƔs antes de usar LOOC nuevamente.",
+ usingChar = "Ya estƔs usando este personaje.",
+ itemNoExist = "Lo siento, el objeto que has solicitado no existe.",
+ cmdNoExist = "Lo siento, ese comando no existe.",
+ plyNoExist = "Lo siento, no se ha encontrado ningĆŗn jugador coincidente.",
+ cfgSet = "%s ha configurado \"%s\" como %s.",
+ drop = "Soltar",
+ dropTip = "Soltar este objeto de tu inventario.",
+ take = "Recoger",
+ takeTip = "Recoger este objeto y colocarlo en tu inventario.",
+ dTitle = "Puerta sin propietario",
+ dTitleOwned = "Puerta Comprada",
+ dIsNotOwnable = "Esta puerta no puede ser poseĆda.",
+ dIsOwnable = "Puedes comprar esta puerta presionando F2.",
+ dMadeUnownable = "Has hecho que esta puerta no sea poseĆble.",
+ dMadeOwnable = "Has hecho que esta puerta sea poseĆble.",
+ dNotAllowedToOwn = "No tienes permitido ser el propietario de esta puerta.",
+ dSetDisabled = "Has desactivado esta puerta.",
+ dSetNotDisabled = "Has reactivado esta puerta.",
+ dSetHidden = "Has ocultado esta puerta.",
+ dSetNotHidden = "Has revelado esta puerta.",
+ dSetParentDoor = "Has establecido esta puerta como tu puerta principal.",
+ dCanNotSetAsChild = "No puedes establecer la puerta principal como una puerta secundaria.",
+ dAddChildDoor = "Has aƱadido esta puerta como una puerta secundaria.",
+ dRemoveChildren = "Has eliminado todas las puertas secundarias de esta puerta.",
+ dRemoveChildDoor = "Has eliminado esta puerta como una puerta secundaria.",
+ dNoParentDoor = "No tienes una puerta principal establecida.",
+ dOwnedBy = "Esta puerta es propiedad de %s.",
+ dConfigName = "Puertas",
+ dSetFaction = "Esta puerta ahora pertenece a la facción %s.",
+ dRemoveFaction = "Esta puerta ya no pertenece a ninguna facción.",
+ dNotValid = "No estƔs mirando a una puerta vƔlida.",
+ canNotAfford = "No puedes permitirte comprar esto.",
+ dPurchased = "Has comprado esta puerta por %s.",
+ dSold = "Has vendido esta puerta por %s.",
+ notOwner = "No eres el propietario de esto.",
+ invalidArg = "Has proporcionado un valor invƔlido para el argumento #%s.",
+ flagGive = "%s ha dado a %s las banderas '%s'.",
+ flagGiveTitle = "Dar Banderas",
+ flagGiveDesc = "Dar las siguientes banderas al jugador.",
+ flagTake = "%s ha quitado las banderas '%s' de %s.",
+ flagTakeTitle = "Quitar Banderas",
+ flagTakeDesc = "Quitar las siguientes banderas del jugador.",
+ flagNoMatch = "Necesitas tener banderas \"%s\" para realizar esta acción.",
+ textAdded = "Has aƱadido un texto.",
+ textRemoved = "Has eliminado %s texto(s).",
+ moneyTaken = "Encontraste %s.",
+ businessPurchase = "Has comprado %s por %s.",
+ businessSell = "Has vendido %s por %s.",
+ cChangeModel = "%s ha cambiado el modelo de %s a %s.",
+ cChangeName = "%s ha cambiado el nombre de %s a %s.",
+ cChangeSkin = "%s ha cambiado la apariencia de %s a %s.",
+ cChangeGroups = "%s ha cambiado el bodygroup \"%s\" de %s a %s.",
+ cChangeFaction = "%s ha transferido a %s a la facción %s.",
+ playerCharBelonging = "Este objeto pertenece a tu otro personaje.",
+ business = "Negocio",
+ invalidFaction = "Has proporcionado una facción invÔlida.",
+ limitFaction = "Esta facción estÔ llena. Inténtalo de nuevo mÔs tarde.",
+ spawnAdd = "Has aƱadido un punto de spawn para %s.",
+ spawnDeleted = "Has eliminado %s punto(s) de spawn.",
+ someone = "Alguien",
+ rgnLookingAt = "Permite a la persona a la que estƔs mirando reconocerte.",
+ rgnWhisper = "Permite a los que estƔn susurrando reconocerte.",
+ rgnTalk = "Permite a los que estƔn hablando reconocerte.",
+ rgnYell = "Permite a los que estƔn gritando reconocerte.",
+ icFormat = "%s dice \"%s\"",
+ rollFormat = "%s ha sacado %s.",
+ wFormat = "%s susurra \"%s\"",
+ yFormat = "%s grita \"%s\"",
+ sbOptions = "Haz clic para ver las opciones de %s.",
+ spawnAdded = "Has aƱadido un punto de spawn para %s.",
+ whitelist = "%s ha añadido a %s a la lista blanca de la facción %s.",
+ unwhitelist = "%s ha eliminado a %s de la lista blanca de la facción %s.",
+ gettingUp = "Te estƔs levantando...",
+ wakingUp = "EstƔs recobrando la conciencia...",
+ Weapons = "Armas",
+ checkout = "Ir al Pago (%s)",
+ purchase = "Comprar",
+ purchasing = "Comprando...",
+ success = "Ćxito",
+ buyFailed = "Compra fallida.",
+ buyGood = "Compra exitosa.",
+ shipment = "EnvĆo",
+ shipmentDesc = "Este envĆo pertenece a %s.",
+ class = "Clase",
+ classes = "Clases",
+ illegalAccess = "Acceso ilegal.",
+ becomeClassFail = "Fallo al convertirse en %s.",
+ becomeClass = "Te has convertido en %s.",
+ attribSet = "Has establecido %s's %s como %s.",
+ attribUpdate = "Has aumentado %s's %s por %s.",
+ noFit = "Este objeto no cabe en tu inventario.",
+ help = "Ayuda",
+ commands = "Comandos",
+ helpDefault = "Selecciona una categorĆa",
+ doorSettings = "Configuración de Puertas",
+ sell = "Vender",
+ access = "Acceso",
+ locking = "Bloqueando esta entidad...",
+ unlocking = "Desbloqueando esta entidad...",
+ modelNoSeq = "Tu modelo no admite esta acción.",
+ notNow = "No tienes permitido hacer esto en este momento.",
+ faceWall = "Debes estar mirando a la pared para hacer esto.",
+ faceWallBack = "Debes tener la espalda hacia la pared para hacer esto.",
+ descChanged = "Has cambiado la descripción de tu personaje.",
+ charMoney = "Actualmente tienes %s.",
+ charFaction = "Eres miembro de la facción %s.",
+ charClass = "Eres %s de la facción.",
+ noSpace = "Inventario lleno.",
+ noOwner = "El propietario no es vƔlido.",
+ notAllowed = "Esta acción no estÔ permitida.",
+ invalidIndex = "El Ćndice del objeto no es vĆ”lido.",
+ invalidItem = "El objeto no es vƔlido.",
+ invalidInventory = "El inventario no es vƔlido.",
+ home = "Inicio",
+ charKick = "%s expulsó al personaje %s.",
+ charBan = "%s ha baneado al personaje %s.",
+ charBanned = "Este personaje estĆ” baneado.",
+ setMoney = "Has establecido el dinero de %s como %s.",
+ itemPriceInfo = "Puedes comprar este objeto por %s.\nPuedes vender este objeto por %s",
+ free = "Gratis",
+ vendorNoSellItems = "No hay objetos para vender.",
+ vendorNoBuyItems = "No hay objetos para comprar.",
+ vendorSettings = "Configuración de Vendedor",
+ vendorUseMoney = "ĀæEl vendedor debe usar dinero?",
+ vendorNoBubble = "ĀæOcultar burbuja del vendedor?",
+ mode = "Modo",
+ price = "Precio",
+ stock = "Existencias",
+ none = "Ninguno",
+ vendorBoth = "Comprar y Vender",
+ vendorBuy = "Solo Comprar",
+ vendorSell = "Solo Vender",
+ maxStock = "Existencias MƔximas",
+ vendorFaction = "Editor de Facciones",
+ buy = "Comprar",
+ vendorWelcome = "Bienvenido a mi tienda, ¿qué puedo conseguirte hoy?",
+ vendorBye = "”Vuelve pronto!",
+ charSearching = "Ya estƔs buscando otro personaje, por favor espera.",
+ charUnBan = "%s ha desbaneado al personaje %s.",
+ charNotBanned = "Este personaje no estĆ” baneado.",
+ storPass = "Has establecido la contraseƱa de este almacenamiento como %s.",
+ storPassRmv = "Has eliminado la contraseƱa de este almacenamiento.",
+ storPassWrite = "Ingresa la contraseƱa.",
+ wrongPassword = "Has ingresado una contraseƱa incorrecta.",
+ cheapBlur = "ĀæDesactivar el desenfoque? (Aumenta FPS)",
+ quickSettings = "Configuración RÔpida",
+ vmSet = "Has establecido tu correo de voz.",
+ vmRem = "Has eliminado tu correo de voz.",
+ altLower = "¿Ocultar las manos cuando estÔn bajas?",
+ noPerm = "No tienes permiso para hacer esto.",
+ youreDead = "EstƔs muerto",
+ injMajor = "Pareces gravemente herido.",
+ injLittle = "Pareces herido",
+ toggleObserverTP = "Alternar teletransporte de observador",
+ toggleESP = "Alternar ESP de Administrador",
+ toggleESPAdvanced = "Modo Avanzado de ESP",
+ chgName = "Cambiar Nombre",
+ chgNameDesc = "Ingresa el nuevo nombre del personaje a continuación.",
+ thirdpersonToggle = "Alternar Tercera Persona",
+ thirdpersonClassic = "Usar Tercera Persona ClƔsica",
+ thirdpersonConfig = "Configuración de Tercera Persona",
+ equippedBag = "Los objetos equipados no se pueden mover entre inventarios.",
+ useTip = "Usa el objeto.",
+ equipTip = "Equipar el objeto.",
+ unequipTip = "Desequipar el objeto.",
+ consumables = "Consumibles",
+ plyNotValid = "No estƔs mirando a un jugador vƔlido.",
+ restricted = "Has sido restringido.",
+ viewProfile = "Ver Perfil de Steam",
+ salary = "Has recibido %s de tu salario.",
+ noRecog = "No reconoces a esta persona.",
+ curTime = "La hora actual es %s.",
+ vendorEditor = "Editor de Vendedor",
+ edit = "Editar",
+ disable = "Desactivar",
+ vendorPriceReq = "Ingresa el nuevo precio para este objeto.",
+ vendorEditCurStock = "Editar Existencias Actuales",
+ you = "TĆŗ",
+ vendorSellScale = "Escala de precio de venta",
+ vendorNoTrade = "No puedes comerciar con este vendedor.",
+ vendorNoMoney = "Este vendedor no puede permitirse ese objeto.",
+ vendorNoStock = "Este vendedor no tiene ese objeto en stock.",
+ contentTitle = "Contenido Faltante de NutScript",
+ contentWarning = "No tienes montado el contenido de NutScript. Esto puede resultar en la falta de ciertas caracterĆsticas.\nLa dirección del contenido de Nutscript ha sido cambiada a la de rebel1324.\nĀæDeseas abrir la pĆ”gina del Workshop para el contenido de NutScript?",
+ flags = "Banderas",
+ chooseTip = "Elige este personaje para jugar con Ʃl.",
+ deleteTip = "Eliminar este personaje.",
+ moneyLeft = "Tu Dinero: ",
+ currentMoney = "Dinero Restante: ",
+ -- Parche de 2018
+ ammoLoadAll = "Cargar Todo",
+ ammoLoadAmount = "Cargar %s",
+ ammoLoadCustom = "Cargar...",
+ split = "Dividir",
+ splitHelp = "Ingresa un nĆŗmero para dividir.",
+ splitHalf = "Dividir 1/2",
+ splitQuarter = "Dividir 1/4",
+ recognize = "Permitir que este personaje te reconozca.",
+ recognized = "Le diste tu identidad a este personaje.",
+ already_recognized = "Este personaje ya te conoce.",
+ isTied = "Esta persona estĆ” atada.",
+ tying = "Atando",
+ untying = "Desatando",
+ beingUntied = "Te estƔn desatando.",
+ beingTied = "Te estƔn atando.",
+ sameOutfitCategory = "Ya estƔs usando este tipo de atuendo.",
+ noBusiness = "No tienes permitido comprar nada en este momento.",
+ panelRemoved = "Has eliminado %s paneles 3D.",
+ panelAdded = "Has agregado un panel 3D.",
+ itemOnGround = "Tu objeto ha sido colocado en el suelo.",
+ forbiddenActionStorage = "No puedes hacer esta acción con un objeto almacenado.",
+ cantDropBagHasEquipped = "No puedes soltar la bolsa que tiene un objeto equipado.",
+ -- Parche de 2021
+ lookToUseAt = "Debes mirar a alguien para usar '@'",
+ mustProvideString = "Debes proporcionar una cadena para la variable.",
+ -- Parche de 2023
+ togglePluginsDesc = "Los complementos seleccionados se desactivarƔn.\nEl mapa debe reiniciarse despuƩs de realizar cambios.",
+}
\ No newline at end of file
diff --git a/gamemode/shared.lua b/gamemode/shared.lua
index 4e5583b3..3f63727f 100644
--- a/gamemode/shared.lua
+++ b/gamemode/shared.lua
@@ -76,7 +76,8 @@ function GM:OnReloaded()
hook.Run(
"LoadNutFonts",
nut.config.get("font"),
- nut.config.get("genericFont")
+ nut.config.get("genericFont"),
+ nut.config.get("configFont")
)
else
-- Auto-reload support for faction pay timers.
@@ -96,6 +97,7 @@ function GM:OnReloaded()
end
nut.faction.formatModelData()
+ hook.Run("nutUpdateColors")
end
-- Include default NutScript chat commands.
diff --git a/plugins/area/derma/cl_areamanager.lua b/plugins/area/derma/cl_areamanager.lua
index 7765e8fb..bcbe3675 100644
--- a/plugins/area/derma/cl_areamanager.lua
+++ b/plugins/area/derma/cl_areamanager.lua
@@ -9,7 +9,7 @@ function PANEL:Init()
local noticeBar = self:Add("DLabel")
noticeBar:Dock(TOP)
- noticeBar:SetTextColor(color_white)
+ noticeBar:SetTextColor(nut.config.get("colorText", color_white))
noticeBar:SetExpensiveShadow(1, color_black)
noticeBar:SetContentAlignment(8)
noticeBar:SetFont("nutChatFont")
@@ -31,7 +31,7 @@ function PANEL:loadAreas()
local panel = self.list:Add("DButton")
panel:SetText(data.name)
panel:SetFont("ChatFont")
- panel:SetTextColor(color_white)
+ panel:SetTextColor(nut.config.get("colorText", color_white))
panel:SetTall(30)
local onConfirm = function(newName)
netstream.Start("areaEdit", class, {name = newName})
diff --git a/plugins/area/sh_plugin.lua b/plugins/area/sh_plugin.lua
index 13b24704..d4b5999d 100644
--- a/plugins/area/sh_plugin.lua
+++ b/plugins/area/sh_plugin.lua
@@ -12,7 +12,8 @@ nut.config.add("areaFontSize", 26, "The size of the font of Area Display.",
hook.Run(
"LoadNutFonts",
nut.config.get("font"),
- nut.config.get("genericFont")
+ nut.config.get("genericFont"),
+ nut.config.get("configFont")
)
end
end,
@@ -343,6 +344,8 @@ else
end
end
+ local textR, textG, textB = nut.config.get("colorText", color_white):Unpack()
+
-- draw recursive
for i = 1, math.min(maxDisplay, strEnd) do
-- character scale/color lerp
@@ -361,7 +364,7 @@ else
math.Round(h / 3 - (sy or 0) * scale / 2),
Vector(Format("%.2f", flipTable[i][1]), Format("%.2f", scale), 1),
nil,
- Color(255, 255, 255,
+ Color(textR, textG, textB,
(dieTrigger and dieTimer < RealTime()) and dieAlpha or flipTable[i][2])
)
diff --git a/plugins/attributes/derma/cl_attribute.lua b/plugins/attributes/derma/cl_attribute.lua
index 26c338d2..33cb03fd 100644
--- a/plugins/attributes/derma/cl_attribute.lua
+++ b/plugins/attributes/derma/cl_attribute.lua
@@ -1,7 +1,7 @@
local PANEL = {}
local gradient = nut.util.getMaterial("vgui/gradient-u")
local gradient2 = nut.util.getMaterial("vgui/gradient-d")
-
+ local color_blackTransparent = Color(0,0,0,60)
function PANEL:Init()
self:SetTall(20)
@@ -83,7 +83,7 @@ local PANEL = {}
self.label = self.bar:Add("DLabel")
self.label:Dock(FILL)
- self.label:SetExpensiveShadow(1, Color(0, 0, 60))
+ self.label:SetExpensiveShadow(1, color_blackTransparent)
self.label:SetContentAlignment(5)
end
diff --git a/plugins/attributes/derma/cl_attributes_step.lua b/plugins/attributes/derma/cl_attributes_step.lua
index 74a9938b..14e9a9f2 100644
--- a/plugins/attributes/derma/cl_attributes_step.lua
+++ b/plugins/attributes/derma/cl_attributes_step.lua
@@ -98,7 +98,7 @@ function PANEL:Init()
self.quantity = self.buttons:Add("DLabel")
self.quantity:SetFont("nutCharSubTitleFont")
- self.quantity:SetTextColor(color_white)
+ self.quantity:SetTextColor(nut.config.get("colorText", color_white))
self.quantity:Dock(FILL)
self.quantity:SetText("0")
self.quantity:SetContentAlignment(5)
@@ -106,7 +106,7 @@ function PANEL:Init()
self.name = self:Add("DLabel")
self.name:SetFont("nutCharSubTitleFont")
self.name:SetContentAlignment(4)
- self.name:SetTextColor(nut.gui.character.WHITE)
+ self.name:SetTextColor(nut.gui.character.color)
self.name:Dock(FILL)
self.name:DockMargin(8, 0, 0, 0)
end
diff --git a/plugins/attributes/sh_plugin.lua b/plugins/attributes/sh_plugin.lua
index bc47c684..c579e611 100644
--- a/plugins/attributes/sh_plugin.lua
+++ b/plugins/attributes/sh_plugin.lua
@@ -55,13 +55,14 @@ if (SERVER) then
end
end
else
+ local color_blackTransparent = Color(0,0,0,150)
function PLUGIN:CreateCharInfoText(panel, suppress)
if (suppress and suppress.attrib) then return end
panel.attribName = panel.info:Add("DLabel")
panel.attribName:Dock(TOP)
panel.attribName:SetFont("nutMediumFont")
- panel.attribName:SetTextColor(color_white)
- panel.attribName:SetExpensiveShadow(1, Color(0, 0, 0, 150))
+ panel.attribName:SetTextColor(nut.config.get("colorText", color_white))
+ panel.attribName:SetExpensiveShadow(1, color_blackTransparent)
panel.attribName:DockMargin(0, 10, 0, 0)
panel.attribName:SetText(L"attribs")
diff --git a/plugins/business/derma/cl_business.lua b/plugins/business/derma/cl_business.lua
index ce559548..f9ccdd21 100644
--- a/plugins/business/derma/cl_business.lua
+++ b/plugins/business/derma/cl_business.lua
@@ -6,6 +6,9 @@ function PANEL:Init()
self:SetSize(size, size * 1.4)
end
+local color_blackTransparent = Color(0,0,0,200)
+local color_blackTransparent2 = Color(0,0,0,150)
+
function PANEL:setItem(itemTable)
self.itemName = L(itemTable.name):lower()
@@ -13,17 +16,17 @@ function PANEL:setItem(itemTable)
self.price:Dock(BOTTOM)
self.price:SetText(itemTable:getPrice() and nut.currency.get(itemTable:getPrice()) or L"free":upper())
self.price:SetContentAlignment(5)
- self.price:SetTextColor(color_white)
+ self.price:SetTextColor(nut.config.get("colorText", color_white))
self.price:SetFont("nutSmallFont")
- self.price:SetExpensiveShadow(1, Color(0, 0, 0, 200))
+ self.price:SetExpensiveShadow(1, color_blackTransparent)
self.name = self:Add("DLabel")
self.name:Dock(TOP)
self.name:SetText(itemTable.getName and itemTable:getName() or L(itemTable.name))
self.name:SetContentAlignment(5)
- self.name:SetTextColor(color_white)
+ self.name:SetTextColor(nut.config.get("colorText", color_white))
self.name:SetFont("nutSmallFont")
- self.name:SetExpensiveShadow(1, Color(0, 0, 0, 200))
+ self.name:SetExpensiveShadow(1, color_blackTransparent)
self.name.Paint = function(this, w, h)
surface.SetDrawColor(0, 0, 0, 75)
surface.DrawRect(0, 0, w, h)
@@ -60,7 +63,7 @@ function PANEL:Init()
self.error:SetFont("nutMenuButtonLightFont")
self.error:Dock(FILL)
self.error:SetText(L"noBusiness")
- self.error:SetTextColor(color_white)
+ self.error:SetTextColor(nut.config.get("colorText", color_white))
self.error:SetExpensiveShadow(1, color_black)
self.error:SizeToContents()
self.error:SetContentAlignment(5)
@@ -109,11 +112,11 @@ function PANEL:Init()
self.checkout = self:Add("DButton")
self.checkout:Dock(BOTTOM)
- self.checkout:SetTextColor(color_white)
+ self.checkout:SetTextColor(nut.config.get("colorText", color_white))
self.checkout:SetTall(36)
self.checkout:SetFont("nutMediumFont")
self.checkout:DockMargin(10, 10, 0, 0)
- self.checkout:SetExpensiveShadow(1, Color(0, 0, 0, 150))
+ self.checkout:SetExpensiveShadow(1, color_blackTransparent2)
self.checkout:SetText(L("checkout", 0))
self.checkout.DoClick = function()
if (!IsValid(nut.gui.checkout) and self:getCartCount() > 0) then
@@ -141,10 +144,10 @@ function PANEL:Init()
button:SetTall(36)
button:SetText(category)
button:Dock(TOP)
- button:SetTextColor(color_white)
+ button:SetTextColor(nut.config.get("colorText", color_white))
button:DockMargin(5, 5, 5, 0)
button:SetFont("nutMediumFont")
- button:SetExpensiveShadow(1, Color(0, 0, 0, 150))
+ button:SetExpensiveShadow(1, color_blackTransparent2)
button.Paint = function(this, w, h)
surface.SetDrawColor(self.selected == this and nut.config.get("color") or dark)
surface.DrawRect(0, 0, w, h)
@@ -156,7 +159,7 @@ function PANEL:Init()
if (self.selected ~= this) then
self.selected = this
self:loadItems(realName)
- timer.Simple(0.01, function()
+ timer.Simple(0.01, function()
self.scroll:InvalidateLayout()
end)
end
@@ -255,7 +258,7 @@ PANEL = {}
self.buy = self:Add("DButton")
self.buy:Dock(BOTTOM)
self.buy:SetText(L"purchase")
- self.buy:SetTextColor(color_white)
+ self.buy:SetTextColor(nut.config.get("colorText", color_white))
self.buy.DoClick = function(this)
if ((this.nextClick or 0) < CurTime()) then
this.nextClick = CurTime() + 0.5
@@ -285,7 +288,7 @@ PANEL = {}
self.text = self:Add("DLabel")
self.text:Dock(FILL)
self.text:SetContentAlignment(5)
- self.text:SetTextColor(color_white)
+ self.text:SetTextColor(nut.config.get("colorText", color_white))
self.text:SetText(L"purchasing")
self.text:SetFont("nutMediumFont")
@@ -317,14 +320,14 @@ PANEL = {}
self.current = self.data:Add("DLabel")
self.current:SetFont("nutSmallFont")
self.current:SetContentAlignment(6)
- self.current:SetTextColor(color_white)
+ self.current:SetTextColor(nut.config.get("colorText", color_white))
self.current:Dock(TOP)
self.current:SetTextInset(4, 0)
self.total = self.data:Add("DLabel")
self.total:SetFont("nutSmallFont")
self.total:SetContentAlignment(6)
- self.total:SetTextColor(color_white)
+ self.total:SetTextColor(nut.config.get("colorText", color_white))
self.total:Dock(TOP)
self.total:SetTextInset(4, 0)
@@ -340,14 +343,14 @@ PANEL = {}
self.final = self.data:Add("DLabel")
self.final:SetFont("nutSmallFont")
self.final:SetContentAlignment(6)
- self.final:SetTextColor(color_white)
+ self.final:SetTextColor(nut.config.get("colorText", color_white))
self.final:Dock(TOP)
self.final:SetTextInset(4, 0)
self.finalGlow = self.final:Add("DLabel")
self.finalGlow:Dock(FILL)
self.finalGlow:SetFont("nutSmallFont")
- self.finalGlow:SetTextColor(color_white)
+ self.finalGlow:SetTextColor(nut.config.get("colorText", color_white))
self.finalGlow:SetContentAlignment(6)
self.finalGlow:SetAlpha(0)
self.finalGlow:SetTextInset(4, 0)
@@ -358,6 +361,9 @@ PANEL = {}
self:onQuantityChanged()
end
+ local color_offGreen = Color(46, 204, 113)
+ local color_offRed = Color(217, 30, 24)
+
function PANEL:onQuantityChanged()
local price = 0
local money = LocalPlayer():getChar():getMoney()
@@ -375,7 +381,7 @@ PANEL = {}
self.current:SetText(L"currentMoney"..nut.currency.get(money))
self.total:SetText("- "..nut.currency.get(price))
self.final:SetText(L"moneyLeft"..nut.currency.get(money - price))
- self.final:SetTextColor((money - price) >= 0 and Color(46, 204, 113) or Color(217, 30, 24))
+ self.final:SetTextColor((money - price) >= 0 and color_offGreen or color_offRed)
self.preventBuy = (money - price) < 0 or valid == 0
end
@@ -402,7 +408,7 @@ PANEL = {}
slot.name:SetSize(180, 32)
slot.name:SetFont("nutChatFont")
slot.name:SetText(L(itemTable.getName and itemTable:getName() or L(itemTable.name)).." ("..(itemTable:getPrice() and nut.currency.get(itemTable:getPrice()) or L"free":upper())..")")
- slot.name:SetTextColor(color_white)
+ slot.name:SetTextColor(nut.config.get("colorText", color_white))
slot.quantity = slot:Add("DTextEntry")
slot.quantity:SetSize(32, 32)
@@ -440,7 +446,7 @@ PANEL = {}
function PANEL:Think()
if (!self:HasFocus()) then
self:MakePopup()
- end
+ end
end
vgui.Register("nutBusinessCheckout", PANEL, "DFrame")
diff --git a/plugins/business/derma/cl_shipment.lua b/plugins/business/derma/cl_shipment.lua
index 84fbbec0..06727f6a 100644
--- a/plugins/business/derma/cl_shipment.lua
+++ b/plugins/business/derma/cl_shipment.lua
@@ -12,6 +12,7 @@ local PANEL = {}
self.list:Dock(FILL)
end
+ local color_blackTransparent = Color(0,0,0,150)
function PANEL:setItems(entity, items)
self.entity = entity
@@ -38,7 +39,7 @@ local PANEL = {}
item.quantity:SetTextInset(0, 0)
item.quantity:SetText(v)
item.quantity:SetFont("DermaDefaultBold")
- item.quantity:SetExpensiveShadow(1, Color(0, 0, 0, 150))
+ item.quantity:SetExpensiveShadow(1, color_blackTransparent)
item.name = item:Add("DLabel")
item.name:SetPos(38, 0)
@@ -46,7 +47,7 @@ local PANEL = {}
item.name:SetFont("nutSmallFont")
item.name:SetText(L(itemTable.name))
item.name:SetContentAlignment(4)
- item.name:SetTextColor(color_white)
+ item.name:SetTextColor(nut.config.get("colorText", color_white))
item.take = item:Add("DButton")
item.take:Dock(RIGHT)
diff --git a/plugins/chatbox/derma/cl_chatbox.lua b/plugins/chatbox/derma/cl_chatbox.lua
index 33e51f59..c9ba646e 100644
--- a/plugins/chatbox/derma/cl_chatbox.lua
+++ b/plugins/chatbox/derma/cl_chatbox.lua
@@ -212,6 +212,8 @@ local PANEL = {}
surface.DrawOutlinedRect(0, 0, w, h)
end
+ local color_blackTransparent = Color(0,0,0,200)
+
function PANEL:addFilterButton(filter)
local name = L(filter)
@@ -222,8 +224,8 @@ local PANEL = {}
tab:DockMargin(0, 0, 3, 0)
tab:SetWide(tab:GetWide() + 32)
tab:Dock(LEFT)
- tab:SetTextColor(color_white)
- tab:SetExpensiveShadow(1, Color(0, 0, 0, 200))
+ tab:SetTextColor(nut.config.get("colorText", color_white))
+ tab:SetExpensiveShadow(1, color_blackTransparent)
tab.Paint = PaintFilterButton
tab.DoClick = function(this)
this.active = !this.active
diff --git a/plugins/doors/derma/cl_door.lua b/plugins/doors/derma/cl_door.lua
index 0dbb8242..64481f3e 100644
--- a/plugins/doors/derma/cl_door.lua
+++ b/plugins/doors/derma/cl_door.lua
@@ -1,4 +1,6 @@
local PANEL = {}
+local color_darkGrey = Color(25, 25, 25)
+
function PANEL:Init()
self:SetSize(280, 240)
self:SetTitle(L"doorSettings")
@@ -7,8 +9,8 @@ local PANEL = {}
self.access = self:Add("DListView")
self.access:Dock(FILL)
- self.access:AddColumn(L"name").Header:SetTextColor(Color(25, 25, 25))
- self.access:AddColumn(L"access").Header:SetTextColor(Color(25, 25, 25))
+ self.access:AddColumn(L"name").Header:SetTextColor(color_darkGrey)
+ self.access:AddColumn(L"access").Header:SetTextColor(color_darkGrey)
self.access.OnClickLine = function(this, line, selected)
if (IsValid(line.player)) then
local menu = DermaMenu()
@@ -51,7 +53,7 @@ local PANEL = {}
self.sell = self:Add("DButton")
self.sell:Dock(BOTTOM)
self.sell:SetText(L"sell")
- self.sell:SetTextColor(color_white)
+ self.sell:SetTextColor(nut.config.get("colorText", color_white))
self.sell:DockMargin(0, 5, 0, 0)
self.sell.DoClick = function(this)
self:Remove()
diff --git a/plugins/f1menu/derma/cl_classes.lua b/plugins/f1menu/derma/cl_classes.lua
index 8d514691..b81bf0a1 100644
--- a/plugins/f1menu/derma/cl_classes.lua
+++ b/plugins/f1menu/derma/cl_classes.lua
@@ -1,9 +1,10 @@
local PANEL = {}
+local color_darkBlue = Color(0,0,60)
function PANEL:Init()
self:SetTall(64)
-
- local function assignClick(panel)
+
+ local function assignClick(panel)
panel.OnMousePressed = function()
self.pressing = -1
self:onClick()
@@ -40,26 +41,26 @@ local PANEL = {}
end
*/
end
- assignClick(self.icon)
+ assignClick(self.icon)
self.limit = self:Add("DLabel")
self.limit:Dock(RIGHT)
self.limit:SetMouseInputEnabled(true)
self.limit:SetCursor("hand")
- self.limit:SetExpensiveShadow(1, Color(0, 0, 60))
+ self.limit:SetExpensiveShadow(1, color_darkBlue)
self.limit:SetContentAlignment(5)
self.limit:SetFont("nutMediumFont")
self.limit:SetWide(64)
- assignClick(self.limit)
+ assignClick(self.limit)
self.label = self:Add("DLabel")
self.label:Dock(FILL)
self.label:SetMouseInputEnabled(true)
self.label:SetCursor("hand")
- self.label:SetExpensiveShadow(1, Color(0, 0, 60))
+ self.label:SetExpensiveShadow(1, color_darkBlue)
self.label:SetContentAlignment(5)
self.label:SetFont("nutMediumFont")
- assignClick(self.label)
+ assignClick(self.label)
end
function PANEL:onClick()
@@ -95,8 +96,8 @@ local PANEL = {}
self.icon:SetModel(model)
end
- self.label:SetText(L(data.name))
- self.data = data
+ self.label:SetText(L(data.name))
+ self.data = data
self.class = data.index
self:setNumber(#nut.class.getPlayers(data.index))
@@ -121,7 +122,7 @@ PANEL = {}
function PANEL:loadClasses()
self.list:Clear()
-
+
for k, v in ipairs(nut.class.list) do
local no, why = nut.class.canBe(LocalPlayer(), k)
local itsFull = ("class is full" == why)
diff --git a/plugins/f1menu/derma/cl_information.lua b/plugins/f1menu/derma/cl_information.lua
index 7b4b8c12..e33a2b0f 100644
--- a/plugins/f1menu/derma/cl_information.lua
+++ b/plugins/f1menu/derma/cl_information.lua
@@ -1,4 +1,5 @@
local PANEL = {}
+local color_blackTransparent = Color(0,0,0,150)
function PANEL:Init()
if (IsValid(nut.gui.info)) then
nut.gui.info:Remove()
@@ -34,8 +35,8 @@ local PANEL = {}
self.name:SetFont("nutHugeFont")
self.name:SetTall(60)
self.name:Dock(TOP)
- self.name:SetTextColor(color_white)
- self.name:SetExpensiveShadow(1, Color(0, 0, 0, 150))
+ self.name:SetTextColor(nut.config.get("colorText", color_white))
+ self.name:SetExpensiveShadow(1, color_blackTransparent)
end
if (!suppress or !suppress.desc) then
@@ -50,16 +51,16 @@ local PANEL = {}
self.time:SetFont("nutMediumFont")
self.time:SetTall(28)
self.time:Dock(TOP)
- self.time:SetTextColor(color_white)
- self.time:SetExpensiveShadow(1, Color(0, 0, 0, 150))
+ self.time:SetTextColor(nut.config.get("colorText", color_white))
+ self.time:SetExpensiveShadow(1, color_blackTransparent)
end
if (!suppress or !suppress.money) then
self.money = self.info:Add("DLabel")
self.money:Dock(TOP)
self.money:SetFont("nutMediumFont")
- self.money:SetTextColor(color_white)
- self.money:SetExpensiveShadow(1, Color(0, 0, 0, 150))
+ self.money:SetTextColor(nut.config.get("colorText", color_white))
+ self.money:SetExpensiveShadow(1, color_blackTransparent)
self.money:DockMargin(0, 10, 0, 0)
end
@@ -67,8 +68,8 @@ local PANEL = {}
self.faction = self.info:Add("DLabel")
self.faction:Dock(TOP)
self.faction:SetFont("nutMediumFont")
- self.faction:SetTextColor(color_white)
- self.faction:SetExpensiveShadow(1, Color(0, 0, 0, 150))
+ self.faction:SetTextColor(nut.config.get("colorText", color_white))
+ self.faction:SetExpensiveShadow(1, color_blackTransparent)
self.faction:DockMargin(0, 10, 0, 0)
end
@@ -79,8 +80,8 @@ local PANEL = {}
self.class = self.info:Add("DLabel")
self.class:Dock(TOP)
self.class:SetFont("nutMediumFont")
- self.class:SetTextColor(color_white)
- self.class:SetExpensiveShadow(1, Color(0, 0, 0, 150))
+ self.class:SetTextColor(nut.config.get("colorText", color_white))
+ self.class:SetExpensiveShadow(1, color_blackTransparent)
self.class:DockMargin(0, 10, 0, 0)
end
end
diff --git a/plugins/f1menu/derma/cl_menu.lua b/plugins/f1menu/derma/cl_menu.lua
index 104a9514..943dba47 100644
--- a/plugins/f1menu/derma/cl_menu.lua
+++ b/plugins/f1menu/derma/cl_menu.lua
@@ -1,6 +1,9 @@
local PANEL = {}
- local gradient = nut.util.getMaterial("vgui/gradient-u")
- local gradient2 = nut.util.getMaterial("vgui/gradient-d")
+ local gradientU = nut.util.getMaterial("vgui/gradient-u")
+ local gradientD = nut.util.getMaterial("vgui/gradient-d")
+ local gradientL = nut.util.getMaterial("vgui/gradient-l")
+ local gradientR = nut.util.getMaterial("vgui/gradient-r")
+ local color_blackTransparent = Color(0,0,0,150)
local alpha = 80
function PANEL:Init()
@@ -27,8 +30,8 @@ local PANEL = {}
self.title = self:Add("DLabel")
self.title:SetPos(self.panel.x, self.panel.y - 80)
- self.title:SetTextColor(color_white)
- self.title:SetExpensiveShadow(1, Color(0, 0, 0, 150))
+ self.title:SetTextColor(nut.config.get("colorText", color_white))
+ self.title:SetExpensiveShadow(1, color_blackTransparent)
self.title:SetFont("nutTitleFont")
self.title:SetText("")
self.title:SetAlpha(0)
@@ -102,42 +105,73 @@ local PANEL = {}
local color_bright = Color(240, 240, 240, 180)
function PANEL:Paint(w, h)
+--[[ local r, g, b = nut.config.get("color"):Unpack()
+ surface.SetDrawColor(r, g, b, 200)
+ surface.DrawRect(-10, -10, w + 10, h + 10)
+
+ surface.SetDrawColor(0, 0, 0, 255)
+ surface.SetMaterial(gradientD)
+ surface.DrawTexturedRect(-10, -10, w + 10, h + 10)
+
+ surface.SetMaterial(gradientR)
+ surface.DrawTexturedRect(-10, -10, w + 10, h + 10)
+
+ nut.util.drawBlur(self) ]]
nut.util.drawBlur(self, 12)
+ local r, g, b = nut.config.get("color"):Unpack()
+
surface.SetDrawColor(0, 0, 0)
- surface.SetMaterial(gradient)
+ surface.SetMaterial(gradientU)
surface.DrawTexturedRect(0, 0, w, h)
- surface.SetDrawColor(30, 30, 30, alpha)
- surface.DrawRect(0, 0, w, 78)
+ surface.SetDrawColor(r, g, b, alpha)
+ surface.SetMaterial(gradientR)
+ surface.DrawTexturedRect(0, 0, w/2, 78)
+ surface.SetMaterial(gradientL)
+ surface.DrawTexturedRect(w/2, 0, w/2, 78)
surface.SetDrawColor(color_bright)
surface.DrawRect(0, 78, w, 8)
end
+ local color_offWhite = Color(250,250,250)
+
function PANEL:addTab(name, callback, uniqueID)
name = L(name)
local function paintTab(tab, w, h)
+ local r, g, b = nut.config.get("color"):Unpack()
if (self.activeTab == tab) then
- surface.SetDrawColor(ColorAlpha(nut.config.get("color"), 200))
- surface.DrawRect(0, h - 8, w, 8)
+ surface.SetDrawColor(r, g, b, 255)
+--[[ surface.SetMaterial(gradientR)
+ surface.DrawTexturedRect(0, 0, w/2, 78)
+ surface.SetMaterial(gradientL)
+ surface.DrawTexturedRect(w/2, 0, w/2, 78) ]]
+
+ surface.SetMaterial(gradientR)
+ surface.DrawTexturedRect(0, h - 8, w*0.26, 8)
+ surface.DrawRect(w*0.25, h - 8, w*0.5, 8)
+ surface.SetMaterial(gradientL)
+ surface.DrawTexturedRect(w*0.74, h - 8, w*0.26, 8)
elseif (tab.Hovered) then
- surface.SetDrawColor(0, 0, 0, 50)
- surface.DrawRect(0, h - 8, w, 8)
+ surface.SetDrawColor(r, g, b, 200)
+ surface.SetMaterial(gradientR)
+ surface.DrawTexturedRect(0, h - 8, w/2, 8)
+ surface.SetMaterial(gradientL)
+ surface.DrawTexturedRect(w/2, h - 8, w/2, 8)
end
end
surface.SetFont("nutMenuButtonLightFont")
local w = surface.GetTextSize(name)
- local tab = self.tabs:Add("DButton")
+ local tab = self.tabs:Add("nutMenuButton")
tab:SetSize(0, self.tabs:GetTall())
- tab:SetText(name)
+ tab:setText(name)
tab:SetPos(self.tabs:GetWide(), 0)
- tab:SetTextColor(Color(250, 250, 250))
tab:SetFont("nutMenuButtonLightFont")
- tab:SetExpensiveShadow(1, Color(0, 0, 0, 150))
+ tab:SetExpensiveShadow(1, color_blackTransparent)
tab:SizeToContentsX()
tab:SetWide(w + 32)
tab.Paint = paintTab
@@ -154,7 +188,10 @@ local PANEL = {}
self.title:MoveAbove(self.panel, 8)
self.panel:AlphaTo(255, 0.5, 0.1)
+ if self.activeTab then self.activeTab:setActive(false) end
self.activeTab = this
+ this:setActive(true)
+
lastMenuTab = uniqueID
if (callback) then
diff --git a/plugins/f1menu/derma/cl_menubutton.lua b/plugins/f1menu/derma/cl_menubutton.lua
index aa737ad8..8cc3f9e9 100644
--- a/plugins/f1menu/derma/cl_menubutton.lua
+++ b/plugins/f1menu/derma/cl_menubutton.lua
@@ -1,63 +1,61 @@
local PANEL = {}
- function PANEL:Init()
- self:SetFont("nutMenuButtonFont")
- self:SetExpensiveShadow(2, Color(0, 0, 0, 200))
- self:SetTextColor(color_white)
- self:SetPaintBackground(false)
- self.OldSetTextColor = self.SetTextColor
- self.SetTextColor = function(this, color)
- this:OldSetTextColor(color)
- this:SetFGColor(color)
- end
+local color = Color(0, 0, 0, 255)
+local colorSelected = Color(0, 0, 0, 255)
+local colorHovered = Color(0, 0, 0, 255)
+
+function PANEL:Init()
+ self:SetFont("nutMenuButtonLightFont")
+ self:SetExpensiveShadow(2, Color(0, 0, 0, 200))
+ self:SetPaintBackground(false)
+ self.OldSetTextColor = self.SetTextColor
+ self.SetTextColor = function(this, color)
+ this:OldSetTextColor(color)
+ this:SetFGColor(color)
end
- function PANEL:setText(text, noTranslation)
- surface.SetFont("nutMenuButtonFont")
+ local nscolor = table.Copy(nut.config.get("colorText", color_white))
+ color.r, color.g, color.b = nscolor.r - 30, nscolor.g - 30, nscolor.b - 30
+ colorHovered.r, colorHovered.g, colorHovered.b = nscolor.r - 15, nscolor.g - 15, nscolor.b - 15
+ colorSelected.r, colorSelected.g, colorSelected.b = nscolor.r, nscolor.g, nscolor.b
+ self.color, self.colorHovered, self.colorSelected = color, colorHovered, colorSelected
- self:SetText(noTranslation and text:upper() or L(text):upper())
+ self:SetTextColor(self.active and self.colorSelected or self.color)
+end
- if (!noTranslation) then
- self:SetTooltip(L(text.."Tip"))
- end
+function PANEL:setText(text, noTranslation)
+ self:SetText("")
+ text = noTranslation and text or L(text)
+ self:SetText(text)
+end
- local w, h = surface.GetTextSize(self:GetText())
- self:SetSize(w + 64, h + 32)
- end
-
- function PANEL:OnCursorEntered()
- local color = self:GetTextColor()
- self:SetTextColor(Color(math.max(color.r - 25, 0), math.max(color.g - 25, 0), math.max(color.b - 25, 0)))
+function PANEL:OnCursorEntered()
+ self:SetTextColor(self.colorHovered)
+ surface.PlaySound(SOUND_MENU_BUTTON_ROLLOVER)
+end
- surface.PlaySound(SOUND_MENU_BUTTON_ROLLOVER)
- end
+function PANEL:OnCursorExited()
+ self:SetTextColor(self.active and self.colorSelected or self.color)
+end
- function PANEL:OnCursorExited()
- if (self.color) then
- self:SetTextColor(self.color)
- else
- self:SetTextColor(color_white)
- end
- end
+function PANEL:OnMousePressed(code)
- function PANEL:OnMousePressed(code)
- if (self.color) then
- self:SetTextColor(self.color)
- else
- self:SetTextColor(nut.config.get("color"))
- end
+ self:SetTextColor(self.colorSelected)
- surface.PlaySound(SOUND_MENU_BUTTON_PRESSED)
+ surface.PlaySound(SOUND_MENU_BUTTON_PRESSED)
- if (code == MOUSE_LEFT and self.DoClick) then
- self:DoClick(self)
- end
+ if (code == MOUSE_LEFT and self.DoClick) then
+ self:DoClick(self)
end
+end
+
+function PANEL:OnMouseReleased(key)
+ self:SetTextColor(self.active and self.colorSelected or self.color)
+end
+
+function PANEL:setActive(active)
+ self.active = active
+ self:SetFont(active and "nutMenuButtonFont" or "nutMenuButtonLightFont")
+ self:SetTextColor(self.active and self.colorSelected or self.color)
+end
- function PANEL:OnMouseReleased(key)
- if (self.color) then
- self:SetTextColor(self.color)
- else
- self:SetTextColor(color_white)
- end
- end
vgui.Register("nutMenuButton", PANEL, "DButton")
\ No newline at end of file
diff --git a/plugins/multichar/plugins/charselect/derma/cl_button.lua b/plugins/multichar/plugins/charselect/derma/cl_button.lua
index 312a6e9b..20b8281d 100644
--- a/plugins/multichar/plugins/charselect/derma/cl_button.lua
+++ b/plugins/multichar/plugins/charselect/derma/cl_button.lua
@@ -3,17 +3,17 @@ local PANEL = {}
function PANEL:Init()
self:SetFont("nutCharButtonFont")
self:SizeToContentsY()
- self:SetTextColor(nut.gui.character.WHITE)
+ self:SetTextColor(nut.gui.character.color)
self:SetPaintBackground(false)
end
function PANEL:OnCursorEntered()
nut.gui.character:hoverSound()
- self:SetTextColor(nut.gui.character.HOVERED)
+ self:SetTextColor(nut.gui.character.colorHovered)
end
function PANEL:OnCursorExited()
- self:SetTextColor(nut.gui.character.WHITE)
+ self:SetTextColor(nut.gui.character.color)
end
function PANEL:OnMousePressed()
diff --git a/plugins/multichar/plugins/charselect/derma/cl_character.lua b/plugins/multichar/plugins/charselect/derma/cl_character.lua
index 9e801eb9..7c85117e 100644
--- a/plugins/multichar/plugins/charselect/derma/cl_character.lua
+++ b/plugins/multichar/plugins/charselect/derma/cl_character.lua
@@ -1,11 +1,7 @@
local PANEL = {}
local WHITE = Color(255, 255, 255, 150)
-local SELECTED = Color(255, 255, 255, 230)
-PANEL.WHITE = WHITE
-PANEL.SELECTED = SELECTED
-PANEL.HOVERED = Color(255, 255, 255, 50)
PANEL.ANIM_SPEED = 0.1
PANEL.FADE_SPEED = 0.5
@@ -38,36 +34,55 @@ function PANEL:createTabs()
self:fadeOut()
end
end, true)
- return
+
+ else
+
+ -- Otherwise, add a disconnect button.
+ self:addTab("leave", function()
+ vgui.Create("nutCharacterConfirm")
+ :setTitle(L("disconnect"):upper().."?")
+ :setMessage(L("You will disconnect from the server."):upper())
+ :onConfirm(function() LocalPlayer():ConCommand("disconnect") end)
+ end, true)
+ end
+
+ -- get the width of the tabs summed up
+ local totalWidth = -32
+ for _, v in ipairs(self.tabs:GetChildren()) do
+ totalWidth = totalWidth + v:GetWide()
end
- -- Otherwise, add a disconnect button.
- self:addTab("leave", function()
- vgui.Create("nutCharacterConfirm")
- :setTitle(L("disconnect"):upper().."?")
- :setMessage(L("You will disconnect from the server."):upper())
- :onConfirm(function() LocalPlayer():ConCommand("disconnect") end)
- end, true)
+ -- set the dock margin of self.tabs to center the tabs
+ if nut.config.get("charMenuAlignment", "center") == "center" then
+ self.tabs:DockMargin(self.tabs:GetWide() * 0.5 - totalWidth * 0.5, 0, 0, 0)
+ end
end
function PANEL:createTitle()
+ local alignment = nut.config.get("charMenuAlignment", "center")
self.title = self:Add("DLabel")
self.title:Dock(TOP)
- self.title:DockMargin(64, 48, 0, 0)
- self.title:SetContentAlignment(1)
- self.title:SetTall(96)
+ self.title:DockMargin(alignment == "left" and 64 or 0, 48, alignment == "right" and 64 or 0, 0)
+ self.title:SetContentAlignment(alignment == "left" and 4 or alignment == "center" and 5 or 6)
self.title:SetFont("nutCharTitleFont")
self.title:SetText(L(SCHEMA and SCHEMA.name or "Unknown"):upper())
- self.title:SetTextColor(WHITE)
+ self.title:SetTextColor(self.color)
+
+ surface.SetFont("nutCharTitleFont")
+ local _, h = surface.GetTextSize(self.title:GetText())
+ self.title:SetTall(h)
self.desc = self:Add("DLabel")
self.desc:Dock(TOP)
- self.desc:DockMargin(64, 0, 0, 0)
- self.desc:SetTall(32)
- self.desc:SetContentAlignment(7)
+ self.desc:DockMargin(alignment == "left" and 64 or 0, 0, alignment == "right" and 64 or 0, 0)
+ self.desc:SetContentAlignment(alignment == "left" and 7 or alignment == "center" and 8 or 9)
self.desc:SetText(L(SCHEMA and SCHEMA.desc or ""):upper())
self.desc:SetFont("nutCharDescFont")
- self.desc:SetTextColor(WHITE)
+ self.desc:SetTextColor(self.color)
+
+ surface.SetFont("nutCharDescFont")
+ _, h = surface.GetTextSize(self.title:GetText())
+ self.desc:SetTall(h)
end
function PANEL:loadBackground()
@@ -109,7 +124,12 @@ function PANEL:loadBackground()
end
end
-local gradient = nut.util.getMaterial("vgui/gradient-u")
+local gradientU = nut.util.getMaterial("vgui/gradient-u")
+local gradientD = nut.util.getMaterial("vgui/gradient-d")
+local gradientR = nut.util.getMaterial("vgui/gradient-r")
+local gradientL = nut.util.getMaterial("vgui/gradient-l")
+
+local sin = math.sin
function PANEL:paintBackground(w, h)
if (IsValid(self.background)) then return end
@@ -119,9 +139,22 @@ function PANEL:paintBackground(w, h)
surface.DrawRect(0, 0, w, h)
end
- surface.SetMaterial(gradient)
- surface.SetDrawColor(0, 0, 0, 250)
- surface.DrawTexturedRect(0, 0, w, h * 1.5)
+ if not self.startTime then self.startTime = CurTime() end
+
+ local r, g, b = nut.config.get("color"):Unpack()
+ local curTime = (self.startTime - CurTime())/4
+ local alpha = 200 * ((sin(curTime - 1.8719) + sin(curTime - 1.8719/2))/4 + 0.44)
+
+
+ surface.SetDrawColor(r, g, b, alpha)
+ surface.DrawRect(0,0,w,h)
+
+ surface.SetDrawColor(0, 0, 0, 255)
+ surface.SetMaterial(gradientD)
+ surface.DrawTexturedRect(0,0,w,h)
+
+ surface.SetMaterial(gradientL)
+ surface.DrawTexturedRect(0,0,w,h)
end
function PANEL:addTab(name, callback, justClick)
@@ -175,6 +208,12 @@ function PANEL:Init()
end
nut.gui.character = self
+ local color = nut.config.get("colorText")
+
+ self.color = ColorAlpha(color, 150)
+ self.colorSelected = color
+ self.colorHovered = ColorAlpha(color, 50)
+
self:Dock(FILL)
self:MakePopup()
self:SetAlpha(0)
@@ -195,6 +234,10 @@ function PANEL:Init()
self.music = self:Add("nutCharBGMusic")
self:loadBackground()
+
+ self:InvalidateParent(true)
+ self:InvalidateChildren(true)
+
self:showContent()
end
diff --git a/plugins/multichar/plugins/charselect/derma/cl_character_slot.lua b/plugins/multichar/plugins/charselect/derma/cl_character_slot.lua
index abafa3a4..6ab5af0a 100644
--- a/plugins/multichar/plugins/charselect/derma/cl_character_slot.lua
+++ b/plugins/multichar/plugins/charselect/derma/cl_character_slot.lua
@@ -1,6 +1,7 @@
local PANEL = {}
local STRIP_HEIGHT = 4
+local WIDTH = 240
function PANEL:isCursorWithinBounds()
local x, y = self:LocalCursorPos()
@@ -17,7 +18,6 @@ function PANEL:confirmDelete()
end
function PANEL:Init()
- local WIDTH = 240
self:SetWide(WIDTH)
self:SetPaintBackground(false)
@@ -37,12 +37,12 @@ function PANEL:Init()
self.name:DockMargin(0, 16, 0, 0)
self.name:SetContentAlignment(5)
self.name:SetFont("nutCharSmallButtonFont")
- self.name:SetTextColor(nut.gui.character.WHITE)
+ self.name:SetTextColor(nut.gui.character.color)
self.name:SizeToContentsY()
self.model = self:Add("nutModelPanel")
self.model:Dock(FILL)
- self.model:SetFOV(37)
+ self.model:SetFOV(30)
self.model.PaintOver = function(model, w, h)
if (self.banned) then
local centerX, centerY = w * 0.5, h * 0.5 - 24
@@ -136,10 +136,14 @@ function PANEL:onHoverChanged(isHovered)
self.faction:AlphaTo(isHovered and 250 or 100, ANIM_SPEED)
end
+local gradientU = nut.util.getMaterial("vgui/gradient-u")
+
function PANEL:Paint(w, h)
- nut.util.drawBlur(self)
- surface.SetDrawColor(0, 0, 0, 50)
- surface.DrawRect(0, STRIP_HEIGHT, w, h)
+ --nut.util.drawBlur(self)
+ local secondaryR, secondaryG, secondaryB = nut.config.get("colorBackground"):Unpack()
+ surface.SetDrawColor(secondaryR, secondaryG, secondaryB, 200)
+ surface.SetMaterial(gradientU)
+ surface.DrawTexturedRect(0, STRIP_HEIGHT, w, h)
if (not self:isCursorWithinBounds() and self.isHovered) then
self:onHoverChanged(false)
diff --git a/plugins/multichar/plugins/charselect/derma/cl_confirmation.lua b/plugins/multichar/plugins/charselect/derma/cl_confirmation.lua
index c4ce2ac8..4bed4f64 100644
--- a/plugins/multichar/plugins/charselect/derma/cl_confirmation.lua
+++ b/plugins/multichar/plugins/charselect/derma/cl_confirmation.lua
@@ -22,25 +22,30 @@ function PANEL:Init()
self.title = self.content:Add("DLabel")
self.title:SetText(L("Are you sure?"):upper())
self.title:SetFont("nutCharButtonFont")
- self.title:SetTextColor(color_white)
+ self.title:SetTextColor(nut.config.get("colorText", color_white))
self.title:SizeToContents()
self.title:CenterHorizontal()
self.title.y = 64
self.message = self.content:Add("DLabel")
self.message:SetFont("nutCharSubTitleFont")
- self.message:SetTextColor(color_white)
+ self.message:SetTextColor(nut.config.get("colorText", color_white))
self.message:SetSize(ScrW(), 32)
self.message:CenterVertical()
self.message:SetContentAlignment(5)
local SPACING = 16
+ local confirmText, cancelText = L("yes"):upper(), L("no"):upper()
+ surface.SetFont("nutCharSmallButtonFont")
+ local confirmWidth = surface.GetTextSize(confirmText) + SPACING
+ local cancelWidth = surface.GetTextSize(cancelText) + SPACING
+
self.confirm = self.content:Add("DButton")
self.confirm:SetFont("nutCharSmallButtonFont")
- self.confirm:SetText(L("yes"):upper())
+ self.confirm:SetText(confirmText)
self.confirm:SetPaintBackground(false)
- self.confirm:SetSize(64, 32)
+ self.confirm:SetSize(confirmWidth, 32)
self.confirm.OnCursorEntered = function() nut.gui.character:hoverSound() end
self.confirm.OnCursorEntered = function(cancel)
cancel.BaseClass.OnCursorEntered(cancel)
@@ -60,9 +65,9 @@ function PANEL:Init()
self.cancel = self.content:Add("DButton")
self.cancel:SetFont("nutCharSmallButtonFont")
- self.cancel:SetText(L("no"):upper())
+ self.cancel:SetText(cancelText)
self.cancel:SetPaintBackground(false)
- self.cancel:SetSize(64, 32)
+ self.cancel:SetSize(cancelWidth, 32)
self.cancel.OnCursorEntered = function(cancel)
cancel.BaseClass.OnCursorEntered(cancel)
nut.gui.character:hoverSound()
diff --git a/plugins/multichar/plugins/charselect/derma/cl_creation.lua b/plugins/multichar/plugins/charselect/derma/cl_creation.lua
index 5231b193..11db27fe 100644
--- a/plugins/multichar/plugins/charselect/derma/cl_creation.lua
+++ b/plugins/multichar/plugins/charselect/derma/cl_creation.lua
@@ -173,7 +173,7 @@ function PANEL:showMessage(message, ...)
self.message = self:Add("DLabel")
self.message:SetFont("nutCharButtonFont")
- self.message:SetTextColor(nut.gui.character.WHITE)
+ self.message:SetTextColor(nut.gui.character.color)
self.message:Dock(FILL)
self.message:SetContentAlignment(5)
self.message:SetText(message)
diff --git a/plugins/multichar/plugins/charselect/derma/cl_selection.lua b/plugins/multichar/plugins/charselect/derma/cl_selection.lua
index 5d210eab..b10cdfad 100644
--- a/plugins/multichar/plugins/charselect/derma/cl_selection.lua
+++ b/plugins/multichar/plugins/charselect/derma/cl_selection.lua
@@ -3,7 +3,9 @@ local PANEL = {}
function PANEL:Init()
self:Dock(FILL)
self:DockMargin(0, 64, 0, 0)
+ self:InvalidateParent(true)
self:InvalidateLayout(true)
+
self.panels = {}
self.scroll = self:Add("nutHorizontalScroll")
@@ -35,15 +37,19 @@ end
-- Creates a nutCharacterSlot for each of the local player's characters.
function PANEL:createCharacterSlots()
+ local alignment = nut.config.get("charMenuAlignment", "center")
self.scroll:Clear()
if (#nut.characters == 0) then
return nut.gui.character:showContent()
end
+
+ local totalWide = 0
for _, id in ipairs(nut.characters) do
local character = nut.char.loaded[id]
if (not character) then continue end
local panel = self.scroll:Add("nutCharacterSlot")
+ totalWide = totalWide + panel:GetWide() + 8
panel:Dock(LEFT)
panel:DockMargin(0, 0, 8, 8)
panel:setCharacter(character)
@@ -51,6 +57,12 @@ function PANEL:createCharacterSlots()
self:onCharacterSelected(character)
end
end
+
+ totalWide = totalWide - 8
+ self.scroll:SetWide(self:GetWide())
+ -- This is a hack to make sure the scroll panel is the correct size
+ local multiplier = alignment == "center" and 0.5 or alignment == "left" and 0 or 1
+ self.scroll:DockMargin(math.max(0, self.scroll:GetWide()*multiplier - totalWide*multiplier), 0, 0, 0)
end
-- Called when a character slot has been selected. This actually loads the
diff --git a/plugins/multichar/plugins/charselect/derma/cl_tab_button.lua b/plugins/multichar/plugins/charselect/derma/cl_tab_button.lua
index 211ff111..700a6eba 100644
--- a/plugins/multichar/plugins/charselect/derma/cl_tab_button.lua
+++ b/plugins/multichar/plugins/charselect/derma/cl_tab_button.lua
@@ -1,7 +1,8 @@
local PANEL = {}
function PANEL:Init()
- self:Dock(LEFT)
+ local alignment = nut.config.get("charMenuAlignment", "center")
+ self:Dock(alignment == "right" and RIGHT or LEFT)
self:DockMargin(0, 0, 32, 0)
self:SetContentAlignment(4)
end
@@ -23,7 +24,7 @@ function PANEL:setSelected(isSelected)
local menu = nut.gui.character
if (isSelected and IsValid(menu)) then
if (IsValid(menu.lastTab)) then
- menu.lastTab:SetTextColor(nut.gui.character.WHITE)
+ menu.lastTab:SetTextColor(nut.gui.character.color)
menu.lastTab.isSelected = false
end
menu.lastTab = self
@@ -31,8 +32,8 @@ function PANEL:setSelected(isSelected)
self:SetTextColor(
isSelected
- and nut.gui.character.SELECTED
- or nut.gui.character.WHITE
+ and nut.gui.character.colorSelected
+ or nut.gui.character.color
)
self.isSelected = isSelected
if (isfunction(self.callback)) then
@@ -40,14 +41,28 @@ function PANEL:setSelected(isSelected)
end
end
+local gradientR = nut.util.getMaterial("vgui/gradient-r")
+local gradientL = nut.util.getMaterial("vgui/gradient-l")
+
function PANEL:Paint(w, h)
if (self.isSelected or self:IsHovered()) then
- surface.SetDrawColor(
+ local r, g, b = nut.config.get("color"):Unpack()
+--[[ surface.SetDrawColor(
self.isSelected
and nut.gui.character.WHITE
or nut.gui.character.HOVERED
- )
- surface.DrawRect(0, h - 4, w, 4)
+ ) ]]
+ if (self.isSelected) then
+ surface.SetDrawColor(r, g, b, 200)
+ else
+ surface.SetDrawColor(r, g, b, 100)
+ end
+ surface.SetMaterial(gradientR)
+ surface.DrawTexturedRect(0, h-4, w/2, 4)
+
+ surface.SetMaterial(gradientL)
+ surface.DrawTexturedRect(w/2, h-4, w/2, 4)
+ --surface.DrawRect(0, h - 4, w, 4)
end
end
diff --git a/plugins/multichar/plugins/charselect/derma/steps/cl_faction.lua b/plugins/multichar/plugins/charselect/derma/steps/cl_faction.lua
index 7b3ced5f..4b84879f 100644
--- a/plugins/multichar/plugins/charselect/derma/steps/cl_faction.lua
+++ b/plugins/multichar/plugins/charselect/derma/steps/cl_faction.lua
@@ -13,7 +13,7 @@ function PANEL:Init()
surface.SetDrawColor(0, 0, 0, 100)
surface.DrawRect(0, 0, w, h)
end
- self.faction:SetTextColor(color_white)
+ self.faction:SetTextColor(nut.config.get("colorText", color_white))
self.faction.OnSelect = function(faction, index, value, id)
self:onFactionSelected(nut.faction.teams[id])
end
diff --git a/plugins/multichar/plugins/charselect/sh_plugin.lua b/plugins/multichar/plugins/charselect/sh_plugin.lua
index bec478de..1e78de89 100644
--- a/plugins/multichar/plugins/charselect/sh_plugin.lua
+++ b/plugins/multichar/plugins/charselect/sh_plugin.lua
@@ -38,6 +38,18 @@ nut.config.add(
{category = PLUGIN.name}
)
+nut.config.add(
+ "charMenuAlignment",
+ "center",
+ "Where the character menu is aligned.",
+ nil,
+ {
+ options = {"left", "center", "right"},
+ form = "Combo",
+ category = PLUGIN.name
+ }
+)
+
if (SERVER) then return end
local function ScreenScale(size)
diff --git a/plugins/newvoice.lua b/plugins/newvoice.lua
index 50dbbe81..dcc3551e 100644
--- a/plugins/newvoice.lua
+++ b/plugins/newvoice.lua
@@ -11,7 +11,7 @@ if (CLIENT) then
hi:SetFont("nutIconsMedium")
hi:Dock(LEFT)
hi:DockMargin(8, 0, 8, 0)
- hi:SetTextColor(color_white)
+ hi:SetTextColor(nut.config.get("colorText", color_white))
hi:SetText("i")
hi:SetWide(30)
@@ -19,7 +19,7 @@ if (CLIENT) then
self.LabelName:SetFont("nutMediumFont")
self.LabelName:Dock(FILL)
self.LabelName:DockMargin(0, 0, 0, 0)
- self.LabelName:SetTextColor(color_white)
+ self.LabelName:SetTextColor(nut.config.get("colorText", color_white))
self.Color = color_transparent
diff --git a/plugins/notices/derma/cl_notice.lua b/plugins/notices/derma/cl_notice.lua
index f88f1707..74b5f885 100644
--- a/plugins/notices/derma/cl_notice.lua
+++ b/plugins/notices/derma/cl_notice.lua
@@ -6,7 +6,7 @@ local PANEL = {}
self:SetContentAlignment(5)
self:SetExpensiveShadow(1, Color(0, 0, 0, 150))
self:SetFont("nutNoticeFont")
- self:SetTextColor(color_white)
+ self:SetTextColor(nut.config.get("colorText", color_white))
self:SetDrawOnTop(true)
end
diff --git a/plugins/nscredits.lua b/plugins/nscredits.lua
index 3e080ce6..db91ae6a 100644
--- a/plugins/nscredits.lua
+++ b/plugins/nscredits.lua
@@ -21,15 +21,26 @@ surface.CreateFont("nutBigCredits", {
weight = 600
})
+local colorCreator, colorLDev, colorDev = Color(255, 0, 0), Color(138,43,226), Color(34,139,34)
+
local authorCredits = {
- {desc = "Creator", steamid = "76561198030127257", color = Color(255, 0, 0)}, -- Chessnut
- {desc = "Co-Creator", steamid = "76561197999893894", color = Color(255, 0, 0)}, -- Black Tea
- {desc = "Lead Developer", steamid = "76561198060659964", color = Color(138,43,226)}, -- Zoephix
- {desc = "Lead Developer", steamid = "76561198070441753", color = Color(138,43,226)}, -- TovarischPootis
- {desc = "Developer", steamid = "76561198036551982", color = Color(34,139,34)}, -- Seamus
- {desc = "Developer", steamid = "76561198031437460", color = Color(34,139,34)}, -- Milk
+ {desc = "Creator", steamid = "76561198030127257", color = colorCreator}, -- Chessnut
+ {desc = "Co-Creator", steamid = "76561197999893894", color = colorCreator}, -- Black Tea
+ {desc = "Lead Developer", steamid = "76561198060659964", color = colorLDev}, -- Zoephix
+ {desc = "Lead Developer", steamid = "76561198070441753", color = colorLDev}, -- TovarischPootis
+ {desc = "Developer", steamid = "76561198036551982", color = colorDev}, -- Seamus
+ {desc = "Developer", steamid = "76561198251000796", color = colorDev}, -- Dobytchick
+ {desc = "Developer", steamid = "76561198031437460", color = colorDev}, -- Milk
}
+do
+ for _, v in ipairs(authorCredits) do
+ steamworks.RequestPlayerInfo(v.steamid, function(steamName)
+ v.name = steamName or "Loading..."
+ end)
+ end
+end
+
local contributors = {desc = "View All Contributors", url = "https://github.com/NutScript/NutScript/graphs/contributors"}
local discord = {desc = "Join the NutScript Community Discord", url = "https://discord.gg/ySZY8TY"}
@@ -62,15 +73,9 @@ function PANEL:setAvatarImage(id)
end
end
-function PANEL:setName(name, isID, color)
+function PANEL:setName(name, color)
if not IsValid(self.name) then return end
- if isID then
- steamworks.RequestPlayerInfo(name, function(steamName)
- self.name:SetText(steamName or "Loading...")
- end)
- else
- self.name:SetText(name)
- end
+ self.name:SetText(name)
if color then
self.name:SetTextColor(color)
end
@@ -133,7 +138,7 @@ function PANEL:setPerson(data, left)
local id = left and "creditleft" or "creditright"
self[id] = self:Add("CreditsNamePanel")
self[id]:setAvatarImage(data.steamid)
- self[id]:setName(data.steamid, true, data.color)
+ self[id]:setName(data.name, data.color)
self[id]:setDesc(data.desc)
self[id]:Dock(left and LEFT or RIGHT)
self[id]:InvalidateLayout(true)
diff --git a/plugins/nshud/sh_plugin.lua b/plugins/nshud/sh_plugin.lua
index 9dbe3004..32e630f7 100644
--- a/plugins/nshud/sh_plugin.lua
+++ b/plugins/nshud/sh_plugin.lua
@@ -22,7 +22,8 @@ local toScreen = FindMetaTable("Vector").ToScreen
local NUT_CVAR_NSHUD_DESCWIDTH = CreateClientConVar("nut_hud_descwidth", 0.5, true, false)
function PLUGIN:SetupQuickMenu(menu)
- menu:addSlider("HUD Desc Width Modifier", function(panel, value)
+ menu:addCategory("NSHUD")
+ menu:addSlider("Desc Width Modifier", function(panel, value)
NUT_CVAR_NSHUD_DESCWIDTH:SetFloat(value)
end, NUT_CVAR_NSHUD_DESCWIDTH:GetFloat(), 0.1, 1, 2)
menu:addSpacer()
@@ -127,9 +128,6 @@ function PLUGIN:DrawEntityInfo(entity, alpha, position)
entity.nutDescCache = nil
end
- entity.nutNameCache = nil
- entity.nutDescCache = nil
-
local name = hookRun("GetDisplayedName", entity, nil, "hud") or character.getName(character)
if (name ~= entity.nutNameCache) then
diff --git a/plugins/nsintro/derma/cl_intro.lua b/plugins/nsintro/derma/cl_intro.lua
index f2e11dd8..a58a56f9 100644
--- a/plugins/nsintro/derma/cl_intro.lua
+++ b/plugins/nsintro/derma/cl_intro.lua
@@ -26,7 +26,7 @@ local PANEL = {}
self.authors = self:Add("DLabel")
self.authors:SetText(GAMEMODE.Author.." Presents")
self.authors:SetFont("nutIntroMediumFont")
- self.authors:SetTextColor(color_white)
+ self.authors:SetTextColor(nut.config.get("colorText", color_white))
self.authors:SetAlpha(0)
self.authors:AlphaTo(255, 5, 1.5, function()
self.authors:AlphaTo(0, 5, 3, function()
@@ -60,7 +60,7 @@ local PANEL = {}
self.name = self:Add("DLabel")
self.name:SetText(GAMEMODE.Name)
self.name:SetFont("nutIntroTitleFont")
- self.name:SetTextColor(color_white)
+ self.name:SetTextColor(nut.config.get("colorText", color_white))
self.name:SizeToContents()
self.name:Center()
self.name:SetPos(self.name.x, ScrH() * 0.4)
diff --git a/plugins/nstheme/derma/cl_skin.lua b/plugins/nstheme/derma/cl_skin.lua
index dea65906..26e892f9 100644
--- a/plugins/nstheme/derma/cl_skin.lua
+++ b/plugins/nstheme/derma/cl_skin.lua
@@ -1,3 +1,10 @@
+local gradientU = nut.util.getMaterial("vgui/gradient-u")
+local gradientD = nut.util.getMaterial("vgui/gradient-d")
+local gradientL = nut.util.getMaterial("vgui/gradient-l")
+local gradientR = nut.util.getMaterial("vgui/gradient-r")
+local gradientC = nut.util.getMaterial("gui/center_gradient")
+local palette = palette or {}
+
local SKIN = {}
SKIN.fontFrame = "BudgetLabel"
SKIN.fontTab = "nutSmallFont"
@@ -7,34 +14,187 @@ local SKIN = {}
SKIN.Colours.Window.TitleActive = Color(0, 0, 0)
SKIN.Colours.Window.TitleInactive = Color(255, 255, 255)
- SKIN.Colours.Button.Normal = Color(80, 80, 80)
- SKIN.Colours.Button.Hover = Color(255, 255, 255)
+ local defaultLight, defaultDark = color_white, Color(80, 80, 80)
+
+ SKIN.Colours.Button.Normal = defaultDark
+ SKIN.Colours.Button.Hover = defaultLight
SKIN.Colours.Button.Down = Color(180, 180, 180)
SKIN.Colours.Button.Disabled = Color(0, 0, 0, 100)
- function SKIN:PaintFrame(panel)
- nut.util.drawBlur(panel, 10)
+ local clamp = function(value)
+ return math.Clamp(value, 0.2, 1)
+ end
- surface.SetDrawColor(45, 45, 45, 200)
- surface.DrawRect(0, 0, panel:GetWide(), panel:GetTall())
+ local toColor = function(baseColor)
+ return Color(baseColor.r, baseColor.g, baseColor.b)
+ end
- surface.SetDrawColor(nut.config.get("color"))
- surface.DrawRect(0, 0, panel:GetWide(), 24)
+ local themeGenerator = {
+ ["dark"] = function(h, s, l)
+ local secondary = HSVToColor(h, s, l - 0.5 <=0.2 and l + 0.3 or l - 0.5)
+ local background = HSVToColor(h, s - 0.3 < 0.1 and s + 0.3 or s - 0.3, l - 0.5 <=0.2 and l + 0.3 or l - 0.5)
+ local light = HSVToColor(h, 0.1, 1)
+ local dark = HSVToColor(h, 1, 0.2)
- surface.SetDrawColor(nut.config.get("color"))
- surface.DrawOutlinedRect(0, 0, panel:GetWide(), panel:GetTall())
+ return toColor(secondary), toColor(background), toColor(light), toColor(dark)
+ end,
+ ["light"] = function(h, s, l)
+ local secondary = HSVToColor(h, s, l - 0.2 <=0.2 and l + 0.6 or l - 0.2)
+ local background = HSVToColor(h, s - 0.3 < 0.1 and s + 0.3 or s - 0.3, clamp(s + 0.05))
+ local light = HSVToColor(h, 0.1, 1)
+ local dark = HSVToColor(h, 1, 0.2)
+
+ return toColor(secondary), toColor(background), toColor(light), toColor(dark)
+ end,
+ }
+ -- Function to create a monochromatic color palette
+ local function createMonochromaticPalette()
+ -- Calculate the HSL values of the base color
+ local theme = nut.config.get("colorAutoTheme", "dark")
+ local primary = nut.config.get("color")
+ local h, s, l = ColorToHSV(primary)
+ local secondary = nut.config.get("colorSecondary", Color(55, 87, 140))
+ local background = nut.config.get("colorBackground", Color(45, 45, 45))
+ local light, dark = defaultLight, defaultDark
+ if themeGenerator[theme] ~= nil then
+ secondary, background, light, dark = themeGenerator[theme](h, s, l)
+ end
+
+ return {primary = primary, secondary = secondary, background = background, light = light, dark = dark}
+ end
+
+ hook.Add("PostDrawHUD", "nutdebugTestlalal", function()
+ --[[ if not table.IsEmpty(palette) then
+ local x, y = 0, 0
+ local w, h = 100, 100
+ for i = 1, #palette do
+ local color = palette[i]
+ surface.SetDrawColor(color)
+ surface.DrawRect(x, y, w, h)
+ --draw text inside the box with the color r,g,b
+ draw.SimpleText("R: "..color.r, "nutSmallFont", x + w/2, y + h*0.25, Color(255, 255, 255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)
+ draw.SimpleText("G: "..color.g, "nutSmallFont", x + w/2, y + h*0.5, Color(255, 255, 255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)
+ draw.SimpleText("B: "..color.b, "nutSmallFont", x + w/2, y + h*0.75, Color(255, 255, 255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)
+
+ x = x + w
+ end
+ end ]]
+ end)
+
+ local function updateColors()
+
+ timer.Simple(0, function()
+ palette = createMonochromaticPalette()
+ local primary, secondary, background, light, dark = palette.primary, palette.secondary, palette.background, palette.light, palette.dark
+ nut.config.set("color", primary)
+ nut.config.set("colorSecondary", secondary)
+ nut.config.set("colorBackground", background)
+
+ if themeGenerator[nut.config.get("colorAutoTheme", "dark")] ~= nil then
+ nut.config.setDefault("colorSecondary", secondary)
+ nut.config.setDefault("colorBackground", background)
+ end
+
+ SKIN.Colours.Window.TitleActive = secondary
+ SKIN.Colours.Window.TitleInactive = Color(255, 255, 255)
+
+ SKIN.tex.CategoryList.Header = function( x, y, w, h )
+ surface.SetDrawColor( primary )
+ surface.DrawRect( x, y, w, h )
+ end
+
+ SKIN.Colours.Button.Normal = light
+
+--[[ SKIN.Colours.Button.Normal = secondary
+ SKIN.Colours.Button.Hover = light
+ SKIN.Colours.Button.Down = dark
+ SKIN.Colours.Button.Disabled = background ]]
+
+ SKIN.colTextEntryTextHighlight = secondary
+ end)
+ end
+
+ hook.Add("nutUpdateColors", "nutSkinUpdateColors", updateColors)
+
+ local function updateTextColors()
+ timer.Simple(0, function()
+ local normal = nut.config.get("colorText")
+
+ local h, s, v = ColorToHSV(normal)
+ local h1, s1, v1 = ColorToHSV(nut.config.get("color"))
+
+ local hover = HSVToColor(h1, s, v)
+ local down = HSVToColor(h, 0, v*0.2)
+ local bright = HSVToColor(h, 0, v*1.2)
+ local dark = HSVToColor(h, 0, v*0.8)
+ local disabled = HSVToColor(h, 0, v*0.5)
+
+ SKIN.Colours.Button.Normal = normal
+ SKIN.Colours.Button.Hover = hover
+ SKIN.Colours.Button.Down = down
+ SKIN.Colours.Button.Disabled = disabled
+
+ SKIN.Colours.Tree.Normal = normal
+ SKIN.Colours.Tree.Hover = hover
+ SKIN.Colours.Tree.Selected = down
+
+ SKIN.Colours.Category.Line.Text = normal
+ SKIN.Colours.Category.Line.Text_Hover = hover
+ SKIN.Colours.Category.Line.Text_Selected = down
+ SKIN.Colours.Category.LineAlt.Text = normal
+ SKIN.Colours.Category.LineAlt.Text_Hover = hover
+ SKIN.Colours.Category.LineAlt.Text_Selected = down
+ SKIN.Colours.Label.Default = normal
+ SKIN.Colours.Label.Bright = bright
+ SKIN.Colours.Label.Dark = dark
+ SKIN.Colours.Label.Highlight = hover
+ end)
+
+ if (IsValid(nut.gui.score)) then nut.gui.score:Remove() end
end
- function SKIN:DrawGenericBackground(x, y, w, h)
- surface.SetDrawColor(45, 45, 45, 240)
+ hook.Add("nutUpdateColors", "nutSkinUpdateTextColors", updateTextColors)
+
+ local function nsBackground(panel, x, y, w, h, alt)
+ local colorR, colorG, colorB = nut.config.get("color"):Unpack()
+ local backgroundR, backgroundG, backgroundB = nut.config.get("colorBackground"):Unpack()
+ nut.util.drawBlur(panel, 10)
+
+ surface.SetDrawColor(alt and 255 or colorR, alt and 255 or colorG, alt and 255 or colorB, 200)
surface.DrawRect(x, y, w, h)
- surface.SetDrawColor(0, 0, 0, 180)
- surface.DrawOutlinedRect(x, y, w, h)
+ surface.SetDrawColor(backgroundR, backgroundG, backgroundB, 255)
+ surface.SetMaterial(gradientD)
+ surface.DrawTexturedRect(x, y, w, h)
+ surface.SetMaterial(gradientR)
+ surface.DrawTexturedRect(x, y, w, h)
+ end
+
+ local function nsComboBackground(panel, x, y, w, h, alt)
+ local colorR, colorG, colorB = nut.config.get("color"):Unpack()
+ local backgroundR, backgroundG, backgroundB = nut.config.get("colorSecondary"):Unpack()
+ --nut.util.drawBlur(panel, 10)
+
+ surface.SetDrawColor(backgroundR, backgroundG, backgroundB, 255)
+ surface.DrawRect(x, y, w, h)
+
+ if alt then
+ surface.SetDrawColor(colorR, colorG, colorB, 255)
+ surface.SetMaterial(gradientL)
+ surface.DrawTexturedRect(x, y, w, h)
+ end
+ end
+
+ function SKIN:PaintFrame(panel, w, h)
+ nsBackground(panel, 0, 0, w, h)
+
+ surface.SetDrawColor(nut.config.get("color"))
+ surface.DrawRect(0, 0, panel:GetWide(), 24)
+
+ surface.SetDrawColor(nut.config.get("color"))
+ surface.DrawOutlinedRect(0, 0, panel:GetWide(), panel:GetTall())
- surface.SetDrawColor(100, 100, 100, 25)
- surface.DrawOutlinedRect(x + 1, y + 1, w - 2, h - 2)
end
function SKIN:PaintPanel(panel)
@@ -43,9 +203,11 @@ local SKIN = {}
return
end
+ local backgroundR, backgroundG, backgroundB = nut.config.get("colorBackground"):Unpack()
+
local w, h = panel:GetWide(), panel:GetTall()
- surface.SetDrawColor(0, 0, 0, 100)
+ surface.SetDrawColor(backgroundR, backgroundG, backgroundB, 100)
surface.DrawRect(0, 0, w, h)
surface.DrawOutlinedRect(0, 0, w, h)
end
@@ -56,21 +218,24 @@ local SKIN = {}
return
end
+ local backgroundR, backgroundG, backgroundB = nut.config.get("colorBackground"):Unpack()
+ local secondaryR, secondaryG, secondaryB = nut.config.get("colorSecondary"):Unpack()
+
local w, h = panel:GetWide(), panel:GetTall()
local alpha = 50
if (panel:GetDisabled()) then
alpha = 10
elseif (panel.Depressed) then
- alpha = 180
+ alpha = 100
elseif (panel.Hovered) then
alpha = 75
end
- surface.SetDrawColor(30, 30, 30, alpha)
+ surface.SetDrawColor(backgroundR, backgroundG, backgroundB, alpha)
surface.DrawRect(0, 0, w, h)
- surface.SetDrawColor(0, 0, 0, 180)
+ surface.SetDrawColor(secondaryR, secondaryG, secondaryB, 180)
surface.DrawOutlinedRect(0, 0, w, h)
surface.SetDrawColor(180, 180, 180, 2)
@@ -83,5 +248,159 @@ local SKIN = {}
function SKIN:PaintWindowMaximizeButton(panel, w, h)
end
+
+ function SKIN:PaintCollapsibleCategory( panel, w, h )
+
+ if ( h <= panel:GetHeaderHeight() ) then
+ --self.tex.CategoryList.Header( 0, 0, w, h )
+ draw.RoundedBoxEx( 6, 0, 0, w, h, palette.secondary, true, true, false, false )
+ -- Little hack, draw the ComboBox's dropdown arrow to tell the player the category is collapsed and not empty
+ if ( !panel:GetExpanded() ) then self.tex.Input.ComboBox.Button.Down( w - 18, h / 2 - 8, 15, 15 ) end
+ return
+ end
+
+ --self.tex.CategoryList.InnerH( 0, 0, w, panel:GetHeaderHeight() )
+ draw.RoundedBoxEx( 6, 0, 0, w, panel:GetHeaderHeight(), palette.primary, true, true, false, false )
+ --self.tex.CategoryList.Inner( 0, panel:GetHeaderHeight(), w, h - panel:GetHeaderHeight() )
+ nsBackground(panel, 0, panel:GetHeaderHeight(), w, h - panel:GetHeaderHeight())
+
+ end
+
+ --[[---------------------------------------------------------
+ Panel
+ -----------------------------------------------------------]]
+ function SKIN:PaintPanel( panel, w, h )
+
+ if ( !panel.m_bBackground ) then return end
+ nsBackground(panel, 0, 0, w, h)
+ end
+
+ --[[---------------------------------------------------------
+ Tree
+ -----------------------------------------------------------]]
+ function SKIN:PaintTree( panel, w, h )
+
+ if ( !panel.m_bBackground ) then return end
+ nsBackground(panel, 0, 0, w, h)
+ end
+
+ --[[---------------------------------------------------------
+ Menu
+ -----------------------------------------------------------]]
+ function SKIN:PaintMenu( panel, w, h )
+
+ if ( panel:GetDrawColumn() ) then
+ self.tex.MenuBG_Column( 0, 0, w, h )
+ else
+ nsBackground(panel, 0, 0, w, h)
+ end
+ end
+
+ --[[---------------------------------------------------------
+ MenuOption
+ -----------------------------------------------------------]]
+ function SKIN:PaintMenuOption( panel, w, h )
+
+ --[[ if ( panel.m_bBackground && !panel:IsEnabled() ) then
+ surface.SetDrawColor( Color( 0, 0, 0, 50 ) )
+ surface.DrawRect( 0, 0, w, h )
+ end ]]
+
+ --[[ if ( panel.m_bBackground && ( panel.Hovered || panel.Highlight) ) then
+ self.tex.MenuBG_Hover( 0, 0, w, h )
+ end ]]
+
+ if ( panel:GetChecked() ) then
+ self.tex.Menu_Check( 5, h / 2 - 7, 15, 15 )
+ end
+
+ nsComboBackground(panel, 0, 0, w, h, panel.m_bBackground && ( panel.Hovered || panel.Highlight))
+
+ end
+
+ --[[---------------------------------------------------------
+ ComboBox
+ -----------------------------------------------------------]]
+ function SKIN:PaintComboBox( panel, w, h )
+
+ if ( panel:GetDisabled() ) then
+ return self.tex.Input.ComboBox.Disabled( 0, 0, w, h )
+ end
+
+ if ( panel.Depressed || panel:IsMenuOpen() ) then
+ return self.tex.Input.ComboBox.Down( 0, 0, w, h )
+ end
+
+ if ( panel.Hovered ) then
+ nsComboBackground(panel, 0, 0, w, h, true)
+ return
+ end
+
+ nsComboBackground(panel, 0, 0, w, h)
+
+ end
+
+
+ function SKIN:PaintCategoryButton( panel, w, h )
+ local r, g, b = nut.config.get("colorSecondary"):Unpack()
+ local r2, g2, b2 = r - 25, g - 25, b - 25
+
+
+ if ( panel.AltLine ) then
+
+ surface.SetDrawColor( r, g, b )
+
+ else
+
+ surface.SetDrawColor( r2, g2, b2 )
+
+ end
+
+ surface.DrawRect( 0, 0, w, h )
+
+ end
+
+
+ function SKIN:PaintListBox( panel, w, h )
+
+ nsBackground(panel, 0, 0, w, h)
+
+ end
+
+ function SKIN:PaintListView( panel, w, h )
+
+ if ( !panel.m_bBackground ) then return end
+
+ nsBackground(panel, 0, 0, w, h)
+
+ end
+
+ function SKIN:PaintMenuBar( panel, w, h )
+
+ local colorR, colorG, colorB = nut.config.get("color"):Unpack()
+ local backgroundR, backgroundG, backgroundB = nut.config.get("colorBackground"):Unpack()
+ nut.util.drawBlur(panel, 10)
+
+ surface.SetDrawColor(backgroundR, backgroundG, backgroundB, 200)
+ surface.DrawRect(0, 0, w, h)
+
+ surface.SetDrawColor(colorR, colorG, colorB, 255)
+ surface.SetMaterial(gradientC)
+ surface.DrawTexturedRect(0, 0, w, h)
+ end
+
+ function SKIN:PaintProgress( panel, w, h )
+
+ local colorR, colorG, colorB = nut.config.get("color"):Unpack()
+ local backgroundR, backgroundG, backgroundB = nut.config.get("colorBackground"):Unpack()
+
+ surface.SetDrawColor(backgroundR, backgroundG, backgroundB, 200)
+ surface.DrawRect(0, 0, w, h)
+
+ surface.SetDrawColor(colorR, colorG, colorB, 255)
+ --surface.SetMaterial(gradientC)
+ surface.DrawRect(0, 0, w * panel:GetFraction(), h)
+ end
+
derma.DefineSkin("nutscript", "The base skin for the NutScript framework.", SKIN)
-derma.RefreshSkins()
+derma.RefreshSkins()
\ No newline at end of file
diff --git a/plugins/nstheme/derma/cl_skin_alt.lua b/plugins/nstheme/derma/cl_skin_alt.lua
new file mode 100644
index 00000000..22cc0036
--- /dev/null
+++ b/plugins/nstheme/derma/cl_skin_alt.lua
@@ -0,0 +1,90 @@
+local palette = palette or {}
+
+local SKIN = {}
+ SKIN.fontFrame = "BudgetLabel"
+ SKIN.fontTab = "nutSmallFont"
+ SKIN.fontButton = "nutSmallFont"
+
+ SKIN.Colours = table.Copy(derma.SkinList.Default.Colours)
+ SKIN.Colours.Window.TitleActive = Color(0, 0, 0)
+ SKIN.Colours.Window.TitleInactive = Color(255, 255, 255)
+
+ local defaultLight, defaultDark = color_white, Color(80, 80, 80)
+
+ SKIN.Colours.Button.Normal = defaultDark
+ SKIN.Colours.Button.Hover = defaultLight
+ SKIN.Colours.Button.Down = Color(180, 180, 180)
+ SKIN.Colours.Button.Disabled = Color(0, 0, 0, 100)
+
+ local clamp = function(value)
+ return math.Clamp(value, 0.2, 1)
+ end
+
+ local toColor = function(baseColor)
+ return Color(baseColor.r, baseColor.g, baseColor.b)
+ end
+
+ local themeGenerator = {
+ ["dark"] = function(h, s, l)
+ local secondary = HSVToColor(h, s, l - 0.5 <=0.2 and l + 0.3 or l - 0.5)
+ local background = HSVToColor(h, s - 0.3 < 0.1 and s + 0.3 or s - 0.3, l - 0.5 <=0.2 and l + 0.3 or l - 0.5)
+ local light = HSVToColor(h, 0.1, 1)
+ local dark = HSVToColor(h, 1, 0.2)
+
+ return toColor(secondary), toColor(background), toColor(light), toColor(dark)
+ end,
+ ["light"] = function(h, s, l)
+ local secondary = HSVToColor(h, s, l - 0.2 <=0.2 and l + 0.6 or l - 0.2)
+ local background = HSVToColor(h, s - 0.3 < 0.1 and s + 0.3 or s - 0.3, clamp(s + 0.05))
+ local light = HSVToColor(h, 0.1, 1)
+ local dark = HSVToColor(h, 1, 0.2)
+
+ return toColor(secondary), toColor(background), toColor(light), toColor(dark)
+ end,
+ }
+ -- Function to create a monochromatic color palette
+ local function createMonochromaticPalette()
+ -- Calculate the HSL values of the base color
+ local theme = nut.config.get("colorAutoTheme", "dark")
+ local primary = nut.config.get("color")
+ local h, s, l = ColorToHSV(primary)
+ local secondary = nut.config.get("colorSecondary", Color(55, 87, 140))
+ local background = nut.config.get("colorBackground", Color(45, 45, 45))
+ local light, dark = defaultLight, defaultDark
+ if themeGenerator[theme] ~= nil then
+ secondary, background, light, dark = themeGenerator[theme](h, s, l)
+ end
+
+ return {primary = primary, secondary = secondary, background = background, light = light, dark = dark}
+ end
+
+ local function updateColors()
+
+ timer.Simple(0, function()
+ palette = createMonochromaticPalette()
+ local primary, secondary, background, light, dark = palette.primary, palette.secondary, palette.background, palette.light, palette.dark
+ nut.config.set("color", primary)
+ nut.config.set("colorSecondary", secondary)
+ nut.config.set("colorBackground", background)
+
+ if themeGenerator[nut.config.get("colorAutoTheme", "dark")] ~= nil then
+ nut.config.setDefault("colorSecondary", secondary)
+ nut.config.setDefault("colorBackground", background)
+ end
+
+ SKIN.Colours.Window.TitleActive = secondary
+ SKIN.Colours.Window.TitleInactive = Color(255, 255, 255)
+
+ SKIN.tex.CategoryList.Header = function( x, y, w, h )
+ surface.SetDrawColor( primary )
+ surface.DrawRect( x, y, w, h )
+ end
+
+ SKIN.colTextEntryTextHighlight = secondary
+ end)
+ end
+
+ hook.Add("nutUpdateColors", "nutSkinUpdateColors_Alt", updateColors)
+
+derma.DefineSkin("nutscript_alt", "Alternative skin for the NutScript framework.", SKIN)
+derma.RefreshSkins()
\ No newline at end of file
diff --git a/plugins/nstheme/derma/cl_skin_old.lua b/plugins/nstheme/derma/cl_skin_old.lua
new file mode 100644
index 00000000..cac76679
--- /dev/null
+++ b/plugins/nstheme/derma/cl_skin_old.lua
@@ -0,0 +1,87 @@
+local SKIN = {}
+ SKIN.fontFrame = "BudgetLabel"
+ SKIN.fontTab = "nutSmallFont"
+ SKIN.fontButton = "nutSmallFont"
+
+ SKIN.Colours = table.Copy(derma.SkinList.Default.Colours)
+ SKIN.Colours.Window.TitleActive = Color(0, 0, 0)
+ SKIN.Colours.Window.TitleInactive = Color(255, 255, 255)
+
+ SKIN.Colours.Button.Normal = Color(80, 80, 80)
+ SKIN.Colours.Button.Hover = Color(255, 255, 255)
+ SKIN.Colours.Button.Down = Color(180, 180, 180)
+ SKIN.Colours.Button.Disabled = Color(0, 0, 0, 100)
+
+ function SKIN:PaintFrame(panel)
+ nut.util.drawBlur(panel, 10)
+
+ surface.SetDrawColor(45, 45, 45, 200)
+ surface.DrawRect(0, 0, panel:GetWide(), panel:GetTall())
+
+ surface.SetDrawColor(nut.config.get("color"))
+ surface.DrawRect(0, 0, panel:GetWide(), 24)
+
+ surface.SetDrawColor(nut.config.get("color"))
+ surface.DrawOutlinedRect(0, 0, panel:GetWide(), panel:GetTall())
+
+ end
+
+ function SKIN:DrawGenericBackground(x, y, w, h)
+ surface.SetDrawColor(45, 45, 45, 240)
+ surface.DrawRect(x, y, w, h)
+
+ surface.SetDrawColor(0, 0, 0, 180)
+ surface.DrawOutlinedRect(x, y, w, h)
+
+ surface.SetDrawColor(100, 100, 100, 25)
+ surface.DrawOutlinedRect(x + 1, y + 1, w - 2, h - 2)
+ end
+
+ function SKIN:PaintPanel(panel)
+ if (not panel.m_bBackground) then return end
+ if (panel.GetPaintBackground and not panel:GetPaintBackground()) then
+ return
+ end
+
+ local w, h = panel:GetWide(), panel:GetTall()
+
+ surface.SetDrawColor(0, 0, 0, 100)
+ surface.DrawRect(0, 0, w, h)
+ surface.DrawOutlinedRect(0, 0, w, h)
+ end
+
+ function SKIN:PaintButton(panel)
+ if (not panel.m_bBackground) then return end
+ if (panel.GetPaintBackground and not panel:GetPaintBackground()) then
+ return
+ end
+
+ local w, h = panel:GetWide(), panel:GetTall()
+ local alpha = 50
+
+ if (panel:GetDisabled()) then
+ alpha = 10
+ elseif (panel.Depressed) then
+ alpha = 180
+ elseif (panel.Hovered) then
+ alpha = 75
+ end
+
+ surface.SetDrawColor(30, 30, 30, alpha)
+ surface.DrawRect(0, 0, w, h)
+
+ surface.SetDrawColor(0, 0, 0, 180)
+ surface.DrawOutlinedRect(0, 0, w, h)
+
+ surface.SetDrawColor(180, 180, 180, 2)
+ surface.DrawOutlinedRect(1, 1, w - 2, h - 2)
+ end
+
+ -- I don't think we gonna need minimize button and maximize button.
+ function SKIN:PaintWindowMinimizeButton(panel, w, h)
+ end
+
+ function SKIN:PaintWindowMaximizeButton(panel, w, h)
+ end
+derma.DefineSkin("nutscript_legacy", "The base skin for the NutScript framework.", SKIN)
+derma.RefreshSkins()
\ No newline at end of file
diff --git a/plugins/nstheme/sh_plugin.lua b/plugins/nstheme/sh_plugin.lua
index 21993361..95a78bcc 100644
--- a/plugins/nstheme/sh_plugin.lua
+++ b/plugins/nstheme/sh_plugin.lua
@@ -2,8 +2,27 @@ PLUGIN.name = "NutScript Theme"
PLUGIN.author = "Cheesenut"
PLUGIN.desc = "Adds a dark Derma skin for NutScript."
+local function getRegisteredThemes()
+ local themes = {}
+ if CLIENT then
+ for k in pairs(derma.GetSkinTable()) do
+ themes[#themes + 1] = k
+ end
+ end
+
+ return themes
+end
+
+nut.config.add("theme", "nutscript", "Which derma skin to use. Requires restart to apply", nil, {
+ form = "Combo",
+ category = "appearance",
+ options = getRegisteredThemes()
+ }
+)
+
if (CLIENT) then
function PLUGIN:ForceDermaSkin()
- return "nutscript"
+ local theme = nut.config.get("theme", "nutscript")
+ return derma.GetNamedSkin(theme) and theme or "nutscript"
end
end
diff --git a/plugins/observer.lua b/plugins/observer.lua
index 02081cae..4a756f90 100644
--- a/plugins/observer.lua
+++ b/plugins/observer.lua
@@ -41,6 +41,8 @@ if (CLIENT) then
function PLUGIN:SetupQuickMenu(menu)
if (LocalPlayer():IsAdmin()) then
+ menu:addCategory(self.name)
+
local buttonESP = menu:addCheck(L"toggleESP", function(panel, state)
if (state) then
RunConsoleCommand("nut_obsesp", "1")
diff --git a/plugins/pluginconfig.lua b/plugins/pluginconfig.lua
index 8e652476..6dc2d9c1 100644
--- a/plugins/pluginconfig.lua
+++ b/plugins/pluginconfig.lua
@@ -88,10 +88,10 @@ if (SERVER) then
net.Receive("nutPluginList", function(_, client)
if (not client:IsSuperAdmin()) then return end
local plugins = PLUGIN:getPluginList()
- local disabled, plugin
+ local disabled
net.Start("nutPluginList")
net.WriteUInt(#plugins, 32)
- for k, plugin in ipairs(plugins) do
+ for _, plugin in ipairs(plugins) do
if (PLUGIN.overwrite[plugin] ~= nil) then
disabled = PLUGIN.overwrite[plugin]
else
@@ -105,7 +105,7 @@ if (SERVER) then
else
function PLUGIN:createPluginPanel(parent, plugins)
local frame = vgui.Create("DFrame")
- frame:SetTitle(L"Plugins")
+ frame:SetTitle(L"togglePlugins")
frame:SetSize(256, 512)
frame:MakePopup()
frame:Center()
@@ -119,10 +119,14 @@ else
nut.gui.pluginConfig = frame
local info = frame:Add("DLabel")
- info:SetText("The map must be restarted after making changes!")
+ local text = L"togglePluginsDesc"
+ info:SetText(text)
info:Dock(TOP)
info:DockMargin(0, 0, 0, 4)
info:SetContentAlignment(5)
+ surface.SetFont(info:GetFont())
+ local _, h = surface.GetTextSize(text)
+ info:SetTall(h)
local scroll = frame:Add("DScrollPanel")
scroll:Dock(FILL)
@@ -163,11 +167,11 @@ else
function PLUGIN:CreateConfigPanel(parent)
local button = parent:Add("DButton")
- button:SetText(L"Plugins")
+ button:SetText(L"togglePlugins")
button:Dock(TOP)
button:DockMargin(0, 0, 0, 8)
button:SetSkin("Default")
- button.DoClick = function(button)
+ button.DoClick = function()
self:createPluginPanel(parent)
end
end
@@ -175,7 +179,7 @@ else
net.Receive("nutPluginList", function()
local length = net.ReadUInt(32)
local plugins = {}
- for i = 1, length do
+ for _ = 1, length do
plugins[net.ReadString()] = net.ReadBit() == 1
end
hook.Run("RetrievedPluginList", plugins)
diff --git a/plugins/raiseweapons/cl_hooks.lua b/plugins/raiseweapons/cl_hooks.lua
index 90a398fb..6bf17c0b 100644
--- a/plugins/raiseweapons/cl_hooks.lua
+++ b/plugins/raiseweapons/cl_hooks.lua
@@ -31,7 +31,7 @@ function PLUGIN:CalcViewModelView(weapon, viewModel, oldEyePos, oldEyeAngles, ey
end
function PLUGIN:SetupQuickMenu(menu)
- menu:addSpacer()
+ menu:addCategory("Raise Weapons")
menu:addCheck(L"altLower", function(panel, state)
if (state) then
RunConsoleCommand("nut_usealtlower", "1")
diff --git a/plugins/scoreboard/derma/cl_scoreboard.lua b/plugins/scoreboard/derma/cl_scoreboard.lua
index e1b6f77a..91084105 100644
--- a/plugins/scoreboard/derma/cl_scoreboard.lua
+++ b/plugins/scoreboard/derma/cl_scoreboard.lua
@@ -21,7 +21,7 @@ local PANEL = {}
self.title:SetText(GetHostName())
self.title:SetFont("nutBigFont")
self.title:SetContentAlignment(5)
- self.title:SetTextColor(color_white)
+ self.title:SetTextColor(nut.config.get("colorText", color_white))
self.title:SetExpensiveShadow(1, color_black)
self.title:Dock(TOP)
self.title:SizeToContentsY()
@@ -67,7 +67,7 @@ local PANEL = {}
header:SetText(L(v.name))
header:SetTextInset(3, 0)
header:SetFont("nutMediumFont")
- header:SetTextColor(color_white)
+ header:SetTextColor(nut.config.get("colorText", color_white))
header:SetExpensiveShadow(1, color_black)
header:SetTall(28)
header.Paint = function(this, w, h)
@@ -166,7 +166,7 @@ local PANEL = {}
slot.name:DockMargin(65, 0, 48, 0)
slot.name:SetTall(18)
slot.name:SetFont("nutGenericFont")
- slot.name:SetTextColor(color_white)
+ slot.name:SetTextColor(nut.config.get("colorText", color_white))
slot.name:SetExpensiveShadow(1, color_black)
slot.ping = slot:Add("DLabel")
@@ -180,7 +180,7 @@ local PANEL = {}
end
slot.ping:SetFont("nutGenericFont")
slot.ping:SetContentAlignment(6)
- slot.ping:SetTextColor(color_white)
+ slot.ping:SetTextColor(nut.config.get("colorText", color_white))
slot.ping:SetTextInset(16, 0)
slot.ping:SetExpensiveShadow(1, color_black)
@@ -189,7 +189,7 @@ local PANEL = {}
slot.desc:DockMargin(65, 0, 48, 0)
slot.desc:SetWrap(true)
slot.desc:SetContentAlignment(7)
- slot.desc:SetTextColor(color_white)
+ slot.desc:SetTextColor(nut.config.get("colorText", color_white))
slot.desc:SetExpensiveShadow(1, Color(0, 0, 0, 100))
slot.desc:SetFont("nutSmallFont")
diff --git a/plugins/thirdperson.lua b/plugins/thirdperson.lua
index 4116741f..884d5a68 100644
--- a/plugins/thirdperson.lua
+++ b/plugins/thirdperson.lua
@@ -72,6 +72,7 @@ if (CLIENT) then
function PLUGIN:SetupQuickMenu(menu)
if (isAllowed()) then
+ menu:addCategory("Thirdperson")
local button = menu:addCheck(L"thirdpersonToggle", function(panel, state)
if (state) then
RunConsoleCommand("nut_tp_enabled", "1")