Merge pull request #32 from penolakushari/rus_local

Russian localization, couple of bug fixes
This commit is contained in:
penolakushari 2024-02-07 22:00:35 +03:00 committed by GitHub
commit d844bc7830
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 221 additions and 21 deletions

View File

@ -24,11 +24,11 @@ function ENT:GetLinePositions(width)
end
local COLOR_YELLOW = Color(255, 255, 0, 255)
local pl, parent
local pl
function ENT:DrawLines(yellow, scale, width)
if not pl then pl = LocalPlayer() end
if not parent then parent = self:GetParent() end
local parent = self:GetParent()
local toscreen = {}
local linetable = self:GetLinePositions(width)
local eyepos = pl:EyePos()

View File

@ -56,21 +56,22 @@ end
local function rgmSendPhysBones(ent)
local num = ent:GetPhysicsObjectCount()
net.WriteUInt(num, 10)
net.WriteUInt(num, 6)
for i = 0, num do
for i = 0, num - 1 do
net.WriteUInt(ent:TranslatePhysBoneToBone(i), 10)
local parent = rgm.GetPhysBoneParent(ent, i)
parent = not parent and 1023 or ent:TranslatePhysBoneToBone(parent) -- 512 should be the absolute maximum bone amount, with those .dmx that sfm has
parent = parent and ent:TranslatePhysBoneToBone(parent) or 1023
net.WriteUInt(parent, 10)
end
end
local function rgmReceivePhysBones()
local bones = {}
local num = net.ReadUInt(6)
for i = 0, net.ReadUInt(10) do
for i = 0, num - 1 do
bones[net.ReadUInt(10)] = net.ReadUInt(10)
end
@ -392,14 +393,14 @@ local function ChainSaver(cpanel)
end
main.save = vgui.Create("DButton", main)
main.save:SetText("Save")
main.save:SetText("#tool.ragmover_ikchains.save")
main.save.DoClick = function()
net.Start("rgmikRequestSave")
net.SendToServer()
end
main.load = vgui.Create("DButton", main)
main.load:SetText("Load")
main.load:SetText("#tool.ragmover_ikchains.load")
main.load.DoClick = function()
if not SelectedEnt then return end
@ -446,7 +447,7 @@ local function ChainSaver(cpanel)
end
main.SetText = function(self, text)
self.label:SetText("Selected ragdoll: " .. text)
self.label:SetText(language.GetPhrase("#tool.ragmover_ikchains.selectedragdoll") .. " " .. text)
self.label:SizeToContents()
end
@ -531,13 +532,16 @@ function TOOL.BuildCPanel(CPanel)
end
local PrevEnt = nil
local COLOR_GREEN = Color(0, 200, 0, 255)
function TOOL:DrawHUD()
local pl = LocalPlayer()
local aimedent = pl:GetEyeTrace().Entity
if IsValid(aimedent) and (aimedent:GetClass() == "prop_ragdoll") then
if aimedent == PrevEnt and IsValid(aimedent) and (aimedent:GetClass() == "prop_ragdoll") then
if pl.ragdollmoverik_aimedskeleton then
for bone, pbone in pairs(pl.ragdollmoverik_aimedskeleton) do
@ -551,7 +555,7 @@ function TOOL:DrawHUD()
surface.DrawLine(ppos.x, ppos.y, pos.x, pos.y)
end
surface.DrawCircle(pos.x, pos.y, 2.5, Color(0, 200, 0, 255))
surface.DrawCircle(pos.x, pos.y, 2.5, COLOR_GREEN)
end
end
@ -562,6 +566,8 @@ function TOOL:DrawHUD()
rgm.DrawBoneName(aimedent, aimedbone)
end
else
PrevEnt = aimedent
end
local iktype = self:GetClientNumber("type", 1)

View File

@ -11,14 +11,14 @@ tool.ragdollmover.right_gizmomode=Set offset to coordinate center of the object
tool.ragdollmover.reload_gizmomode=Cancel set offset mode
tool.ragdollmover.gizmopanel=Gizmo
tool.ragdollmover.localpos=Localized position gizmo
tool.ragdollmover.localang=Localized angle gizmo
tool.ragdollmover.localpos=Local position gizmo
tool.ragdollmover.localang=Local angle gizmo
tool.ragdollmover.scale=Scale
tool.ragdollmover.width=Width
tool.ragdollmover.fulldisc=Fully visible discs
tool.ragdollmover.gizmooffsetpanel=Gizmo Offset
tool.ragdollmover.gizmolocaloffset=Localized offset
tool.ragdollmover.gizmolocaloffset=Local offset
tool.ragdollmover.gizmorelativerotate=Rotate relative to gizmo
tool.ragdollmover.xoffset=X Offset
tool.ragdollmover.yoffset=Y Offset
@ -92,12 +92,12 @@ tool.ragdollmover.lockbone=Lock to this Bone
tool.ragdollmover.unlockbone=Unlock this Bone
tool.ragdollmover.freezebone=Freeze/Unfreeze this Bone
tool.ragdollmover.message0=Can't lock bone to its parent bone, how would that even work?
tool.ragdollmover.message0=Can't lock bone to its children bone!
tool.ragdollmover.message1=Bone locked successfully!
tool.ragdollmover.message2=Can't lock nonphysical bones! Good luck calculating rotations of those!
tool.ragdollmover.message2=Can't lock nonphysical bones to other bones!
tool.ragdollmover.message3=Can't lock bone to itself, that would be weird!
tool.ragdollmover.message4=Can't lock entity to nonphysical bones!
tool.ragdollmover.message5=Entity locking is not allowed here!
tool.ragdollmover.message5=Entity locking is not allowed on this server! (sv_ragdollmover_allow_constrained_locking 1)
tool.ragdollmover.message6=Entity locked successfully!
tool.ragdollmover.message7=Bone frozen!
tool.ragdollmover.message8=Bone unfrozen!
@ -119,7 +119,7 @@ tool.ragdollmover.lockedscale=Locked Scale Bone
tool.ragdollmover.nonphysbone=Nonphysical Bone
tool.ragdollmover.proceduralbone=Procedural Bone
tool.ragdollmover.parentedbone=Parented Bone
tool.ragdollmover.bonetolock=Left click on any physical bone on this list to lock it to this bone.
tool.ragdollmover.bonetolock=Left click on any physical bone on this list to lock it to this bone
tool.ragdollmover.lockedbonetobone=Physical Bone locked to another bone
tool.ragdollmover.entlock=Select a physical bone from bone list to lock this entity to
tool.ragdollmover.entselect=Select this entity
@ -141,6 +141,10 @@ tool.ragmover_ikchains.message5=Save successful!
tool.ragmover_ikchains.message6=Save failed. Make sure you have a ragdoll with existing IK chains selected!
tool.ragmover_ikchains.message7=IK Chain loaded!
tool.ragmover_ikchains.save=Save
tool.ragmover_ikchains.load=Load
tool.ragmover_ikchains.selectedragdoll=Selected ragdoll:
tool.ragmover_ikchains.ik1=Left Leg
tool.ragmover_ikchains.ik2=Right Leg
tool.ragmover_ikchains.ik3=Left Arm
@ -167,12 +171,12 @@ tool.ragmover_propragdoll.desc=Create a "Ragdoll" out of props for Ragdoll Mover
tool.ragmover_propragdoll.left=Add a prop to be a Prop Ragdoll bone (Make sure it is from the currently selected entities set)
tool.ragmover_propragdoll.left_use=Add a prop to a Prop Ragdoll and select it in the Prop Ragdoll tab
tool.ragmover_propragdoll.right=Select physics props and their constrained props
tool.ragmover_propragdoll.reload=Remove Prop Ragdoll Data
tool.ragmover_propragdoll.reload=Remove Prop Ragdoll
tool.ragmover_propragdoll.treeinfo=Drag nodes from Constrained Entities tab into Prop Ragdoll tab to create skeleton for your prop ragdoll and then apply it. This tool can not read Prop Ragdoll skeleton data from existing Prop Ragdolls
tool.ragmover_propragdoll.treeinfo=Drag nodes from "Constrained Entities" tab into "Prop Ragdoll" tab to create skeleton for your prop ragdoll and then click "Apply" button. This tool can not read Prop Ragdoll skeleton data from existing Prop Ragdolls
tool.ragmover_propragdoll.conents=Constrained Entities
tool.ragmover_propragdoll.propragdoll=Prop Ragdoll
tool.ragmover_propragdoll.apply=Apply Skeleton
tool.ragmover_propragdoll.apply=Apply
tool.ragmover_propragdoll.message0=Entities selected!
tool.ragmover_propragdoll.message1=Selection cleared!

View File

@ -0,0 +1,190 @@
tool.ragdollmover.name=Ragdoll Mover
tool.ragdollmover.desc=Продвинутое позирование рэгдолов!
tool.ragdollmover.left_default=Выбрать и передвигать кости
tool.ragdollmover.info_default=Меняйте режим между передвижением/вращением/масштабированием через кнопки заданными в меню инструмента (По умолчанию: Средняя и правая кнопки мыши)
tool.ragdollmover.reload_default=Выбрать корневую кость рэгдола
tool.ragdollmover.left_gizmomode=Задать сдвиг гизмо
tool.ragdollmover.right_gizmomode=Задать сдвиг гизмо в координатный центр объекта
tool.ragdollmover.reload_gizmomode=Отменить режим задания сдвига гизмо
tool.ragdollmover.gizmopanel=Гизмо
tool.ragdollmover.localpos=Перемещение относительно кости
tool.ragdollmover.localang=Вращение относительно кости
tool.ragdollmover.scale=Размер
tool.ragdollmover.width=Ширина
tool.ragdollmover.fulldisc=Отображать диски целиком
tool.ragdollmover.gizmooffsetpanel=Смещение гизмо
tool.ragdollmover.gizmolocaloffset=Относительно кости
tool.ragdollmover.gizmorelativerotate=Вращение относительно гизмо
tool.ragdollmover.xoffset=Смещение по X
tool.ragdollmover.yoffset=Смещение по Y
tool.ragdollmover.zoffset=Смещение по Z
tool.ragdollmover.resetoffset=Сбросить смещение
tool.ragdollmover.setoffset=Установить смещение при помощи тулгана
tool.ragdollmover.ikpanel=Инверсивная кинематика
tool.ragdollmover.ik3=Левая рука
tool.ragdollmover.ik4=Правая рука
tool.ragdollmover.ik1=Левая нога
tool.ragdollmover.ik2=Правая нога
tool.ragdollmover.ikchain=Цепь
tool.ragdollmover.ikall=Включить/выключить все
tool.ragdollmover.additional=Дополнительные цепи
tool.ragdollmover.miscpanel=Дополнительно
tool.ragdollmover.unfreeze=Разморозка при отпускании
tool.ragdollmover.unfreezetip=Разморозить кости которые были заморожены перетаскиванием рэгдола
tool.ragdollmover.disablefilter=Выключить фильтр энтитей
tool.ragdollmover.disablefiltertip=Позволяет выбрать ЛЮБУЮ энтити на карте. ВНИМАНИЕ - может вызывать баги
tool.ragdollmover.drawskeleton=Отображать скелет
tool.ragdollmover.updaterate=Частота обновлений
tool.ragdollmover.lockselected=Отключить выделение энтитей
tool.ragdollmover.bindrot=Режим вращения
tool.ragdollmover.bindscale=Режим масштабирования
tool.ragdollmover.bonemanpanel=Манипуляции с костями
tool.ragdollmover.bonemanip=Точные манипуляции с нефизическими костями
tool.ragdollmover.pos1=Смещение по X
tool.ragdollmover.pos2=Смещение по Y
tool.ragdollmover.pos3=Смещение по Z
tool.ragdollmover.rot1=Pitch
tool.ragdollmover.rot2=Yaw
tool.ragdollmover.rot3=Roll
tool.ragdollmover.scale1=Размер X
tool.ragdollmover.scale2=Размер Y
tool.ragdollmover.scale3=Размер Z
tool.ragdollmover.resetallbones=Сбросить все кости
tool.ragdollmover.scalechildren=Масштабировать дочерние кости
tool.ragdollmover.smovechildren=Двигать дочерние кости с изменением масштаба
tool.ragdollmover.physmove=Нефизические кости двигают физические кости
tool.ragdollmover.physmovetip=Манипулирование нефизическими костями при помощи гизмо будет также двигать дочерние физические кости. Для более лучших результатов используйте инструменты Ragdoll Stretch и Ragdoll Weight с воркшопа
tool.ragdollmover.snapenable=Включить пошаговый поворот
tool.ragdollmover.snapamount=Шаг поворота
tool.ragdollmover.resetmenu=Сброс
tool.ragdollmover.resetpos=Сброс позиции
tool.ragdollmover.resetrot=Сброс вращения
tool.ragdollmover.resetscale=Сброс масштабирования
tool.ragdollmover.reset=Сброс всего
tool.ragdollmover.resetposchildren=+Сброс позиции потомка
tool.ragdollmover.resetrotchildren=+Сброс вращения потомка
tool.ragdollmover.resetscalechildren=+Сброс масштабирования потомка
tool.ragdollmover.resetchildren=+Сброс потомка
tool.ragdollmover.scalezero=Установить нулевой размер
tool.ragdollmover.bone=Кость
tool.ragdollmover.bonechildren=Кость + Потомок
tool.ragdollmover.lockpos=Заблокировать позицию
tool.ragdollmover.unlockpos=Разблокировать позицию
tool.ragdollmover.lockang=Заблокировать поворот
tool.ragdollmover.unlockang=Разблокировать поворот
tool.ragdollmover.lockscale=Заблокировать масштабирование
tool.ragdollmover.unlockscale=Разблокировать масштабирование
tool.ragdollmover.lockbone=Привязать к этой кости
tool.ragdollmover.unlockbone=Разблокировать кость
tool.ragdollmover.freezebone=Заморозить/разморозить кость
tool.ragdollmover.message0=Невозможно привязать кость к её дочерней кости!
tool.ragdollmover.message1=Кость зафиксирована успешно!
tool.ragdollmover.message2=Невозможно привязать кость к нефизической кости!
tool.ragdollmover.message3=Невозможно привязать кость к самой себе!
tool.ragdollmover.message4=Невозможно привязать энтити к нефизической кости!
tool.ragdollmover.message5=Привязка энтитей запрещена на сервере (sv_ragdollmover_allow_constrained_locking 1)!
tool.ragdollmover.message6=Энтити зафиксирована успешно!
tool.ragdollmover.message7=Кость заморожена!
tool.ragdollmover.message8=Кость разморожена!
tool.ragdollmover.message20=Выбор энтитей запрещена опцией "Отключить выделение энтитей"!
tool.ragdollmover.putgizmopos=Сместить гизмо сюда
tool.ragdollmover.bonelist=Список костей
tool.ragdollmover.listshowall=Все
tool.ragdollmover.listshowphys=Физические
tool.ragdollmover.listshownonphys=Нефизические
tool.ragdollmover.entchildren=Дочерние энтити
tool.ragdollmover.conents=Прикреплённые энтити
tool.ragdollmover.conentshelp=Здесь перечислены энтити, присоединённые к выделенной энтити.\nЕсли выделенная энтити является рэгдолом, вы должны уточнить (через список костей) к какой именно кости вы хотите присоединить.
tool.ragdollmover.physbone=Физическая кость
tool.ragdollmover.lockedbone=Зафиксированная физическая кость
tool.ragdollmover.lockedscale=Кость фиксированного размера
tool.ragdollmover.nonphysbone=Нефизическая кость
tool.ragdollmover.proceduralbone=Процедурная кость
tool.ragdollmover.parentedbone=Кость привязанная к родительской кости
tool.ragdollmover.bonetolock=ЛКМ по физической кости в этом списке для привязки к этой кости
tool.ragdollmover.lockedbonetobone=Эта физическая кость прикреплена к другой кости
tool.ragdollmover.entlock=Выберите физическую кость из списка, чтобы привязать эту энтити к ней
tool.ragdollmover.entselect=Выбрать эту энтити
tool.ragmover_ikchains.name=Ragdoll Mover - IK Chains
tool.ragmover_ikchains.name2=Rag Mover - IK Chains
tool.ragmover_ikchains.desc=Инструмент для создания ИК цепей из костей скелета, которые могут быть использованы Ragdoll Mover.
tool.ragmover_ikchains.0=Используйте ЛКМ для выбора кости бедра/плеча. ПКМ для выбора рэгдолов для сохранения/загрузки ИК цепей.
tool.ragmover_ikchains.1=Используйте ЛКМ ещё раз для выбора кости колена/локтя.
tool.ragmover_ikchains.2=Теперь используйте ЛКМ ещё раз для выбора костей ступни/кисти.
tool.ragmover_ikchains.message0=Неправильный порядок костей, сброс процесса подготовки
tool.ragmover_ikchains.message1=Эта цепь уже выбрана в качестве другой части ИК
tool.ragmover_ikchains.message2=ИК цепь установлена!
tool.ragmover_ikchains.message3=ИК цепь создана!
tool.ragmover_ikchains.message4=Энтити выбрана!
tool.ragmover_ikchains.message5=Успешно сохранено!
tool.ragmover_ikchains.message6=Сохранение не удалось. Убедитесь что у вас есть рэгдол с ИК цепями!
tool.ragmover_ikchains.message7=ИК цепи загружены!
tool.ragmover_ikchains.save=Сохранить
tool.ragmover_ikchains.load=Загрузить
tool.ragmover_ikchains.selectedragdoll=Выбранный рэгдолл:
tool.ragmover_ikchains.ik1=Левая нога
tool.ragmover_ikchains.ik2=Правая нога
tool.ragmover_ikchains.ik3=Левая рука
tool.ragmover_ikchains.ik4=Правая рука
tool.ragmover_ikchains.ik5=Дополнительный слот 1
tool.ragmover_ikchains.ik6=Дополнительный слот 2
tool.ragmover_ikchains.ik7=Дополнительный слот 3
tool.ragmover_ikchains.ik8=Дополнительный слот 4
tool.ragmover_ikchains.ik9=Дополнительный слот 5
tool.ragmover_ikchains.ik10=Дополнительный слот 6
tool.ragmover_ikchains.ikslot=Слот ИК:
tool.ragmover_ikchains.hip=Бедро
tool.ragmover_ikchains.upperarm=Верхнее плечо
tool.ragmover_ikchains.knee=Колено
tool.ragmover_ikchains.elbow=Локоть
tool.ragmover_propragdoll.name=Ragdoll Mover - Prop Ragdoll
tool.ragmover_propragdoll.name2=Rag Mover - Prop Ragdoll
tool.ragmover_propragdoll.desc=Инструмент для создания рэгдолов из пропов, с которым может работать Ragdoll Mover
tool.ragmover_propragdoll.left=Добавить проп как кость Prop Ragdoll (убедитесь, что он находится в текущем выбранном наборе сущностей)
tool.ragmover_propragdoll.left_use=Добавить проп к Prop Ragdoll выделить его во вкладке Prop Ragdoll
tool.ragmover_propragdoll.right=Выделить физические кости и прикреплённые к ним пропы
tool.ragmover_propragdoll.reload=Удалить Prop Ragdoll
tool.ragmover_propragdoll.treeinfo=Перетащите энтити из вкладки "Прикреплённые энтити" на вкладку "Prop Ragdoll" чтобы создать скелет, после чего нажмите "Применить". Этот инструмент не может прочитать данные о Prop Ragdoll из уже существующих Prop Ragdoll
tool.ragmover_propragdoll.conents=Прикреплённые энтити
tool.ragmover_propragdoll.propragdoll=Prop Ragdoll
tool.ragmover_propragdoll.apply=Применить
tool.ragmover_propragdoll.message0=Энтити выбраны!
tool.ragmover_propragdoll.message1=Выделение сброшено!
tool.ragmover_propragdoll.message2=Создан скелет Prop Ragdoll!
tool.ragmover_propragdoll.message3=Скелет Prop Ragdoll не может быть создан. Что-то не так с пропами.
tool.ragmover_propragdoll.message4=Слишком много пропов в одном скелете!
tool.ragmover_propragdoll.message5=Prop Ragdoll skeleton удалён!
tool.ragmover_propragdoll.message6=Выбранный проп не прикреплён к остальным!
tool.ragmover_propragdoll.setroot=Выбранный проп установлен в качестве корневой кости!
tool.ragmover_propragdoll.attach=Выбранный проп установлен как дочерний к пропу