diff --git a/lua/autorun/trackassembly_init.lua b/lua/autorun/trackassembly_init.lua index 6482f470..7c6c9f69 100644 --- a/lua/autorun/trackassembly_init.lua +++ b/lua/autorun/trackassembly_init.lua @@ -151,6 +151,7 @@ asmlib.SetBorder(gsToolPrefL.."spawnrate", 1, 10) asmlib.SetBorder(gsToolPrefL.."sgradmenu", 1, 16) asmlib.SetBorder(gsToolPrefL.."dtmessage", 0, 10) asmlib.SetBorder(gsToolPrefL.."ghostblnd", 0, 1) +asmlib.SetBorder(gsToolPrefL.."crvsuprev", 0, 1) asmlib.SetBorder(gsToolPrefL.."rtradmenu", -gnMaxRot, gnMaxRot) ------------ CONFIGURE LOGGING ------------ @@ -574,7 +575,7 @@ if(CLIENT) then asmlib.SetAction("UPDATE_CURVE_NODE", function(nLen) local oPly, sLog = netReadEntity(), "*UPDATE_CURVE_NODE" - local vNode, vNorm, vBase = netReadVector(), netReadVector(), netReadVector() + local vNode, vNorm, vBase = netReadVector(), netReadNormal(), netReadVector() local vOrgw, aAngw, bRayw = netReadVector(), netReadAngle() , netReadBool() local iD, tC = netReadUInt(16), asmlib.GetCacheCurve(oPly) tC.Node[iD]:Set(vNode); tC.Norm[iD]:Set(vNorm) @@ -584,9 +585,14 @@ if(CLIENT) then asmlib.SetAction("DELETE_CURVE_NODE", function(nLen) local oPly, sLog = netReadEntity(), "*DELETE_CURVE_NODE" local tC = asmlib.GetCacheCurve(oPly) - tC.Size = (tC.Size - 1) -- Register the index before wiping the data for drawing - tableRemove(tC.Node); tableRemove(tC.Norm) - tableRemove(tC.Base); tableRemove(tC.Rays) + if(tC.Size and tC.Size > 0) then + tC.Size = (tC.Size - 1) -- Register the index before wiping the data for drawing + tableRemove(tC.Node); tableRemove(tC.Norm) + tableRemove(tC.Base); tableRemove(tC.Rays) + if(tC.Size and tC.Size > 0) then + tC.Norm[tC.Size]:Set(tC.Rays[tC.Size][2]:Up()) + end + end end) asmlib.SetAction("DELETE_ALL_CURVE_NODE", diff --git a/lua/weapons/gmod_tool/stools/trackassembly.lua b/lua/weapons/gmod_tool/stools/trackassembly.lua index 67d6dd16..6e913a32 100644 --- a/lua/weapons/gmod_tool/stools/trackassembly.lua +++ b/lua/weapons/gmod_tool/stools/trackassembly.lua @@ -142,6 +142,7 @@ TOOL.ClientConVar = { [ "upspanchor" ] = 0, [ "crvturnlm" ] = 0.95, [ "crvleanlm" ] = 0.95, + [ "crvsuprev" ] = 0.45, [ "flipoverid" ] = "" } @@ -204,6 +205,10 @@ TOOL.Category = languageGetPhrase and languageGetPhrase("tool."..gsToolNameL.. TOOL.Command = nil -- Command on click (nil for default) TOOL.ConfigName = nil -- Configure file name (nil for default) +function TOOL:GetSuperElevation() + return mathClamp(self:GetClientNumber("crvsuprev", 0), 0, 1) +end + function TOOL:GetCurveFactor() return asmlib.GetAsmConvar("curvefact", "FLT") end @@ -787,15 +792,15 @@ end --[[ * Uses heuristics to provide the best suitable location the * curve note closest location can be updated with. Three cases: - * 1. Both neighbors are active points. Intersect their active rays - * 2. Only one node is an active point. Project on its active ray - * 3. None of the neighbors are active points. Project on line bisector * iD > Curve node index to be updated * vPnt > The new location to update the node with * bMute > Mute mode. Used to disable server status messages * Returns multiple values: - * 1. Curve node calculated heuristics location vector - * 2. The amount of neighbor nodes that are active rays + * V > Curve node calculated heuristics location vector + * N > The amount of neighbor nodes that are active rays + * (2) Both neighbors are active points. Intersect their active rays + * (1) Only one node is an active point. Project on its active ray + * (0) None of the neighbors are active points. Project on line bisector ]]-- function TOOL:GetCurveNodeActive(iD, vPnt, bMute) local user = self:GetOwner() @@ -863,6 +868,9 @@ function TOOL:CurveClear(bAll, bMute) tableRemove(tC.Rays) tableEmpty(tC.Snap); tC.SSize = 0 tableRemove(tC.Base); tC.Size = (tC.Size - 1) + if(tC.Size and tC.Size > 0) then + tC.Norm[tC.Size]:Set(tC.Rays[tC.Size][2]:Up()) + end end end; return tC -- Returns the updated curve nodes table end @@ -914,24 +922,36 @@ function TOOL:GetCurveTransform(stTrace, bPnt) return tData end +function TOOL:ApplySuperElevation(tC, tData) + if(not tData) then -- The node being managed + asmlib.LogInstance("Data missing", gtLogs); return 0 end + if(not tC) then -- The curve containing all nodes + asmlib.LogInstance("Curve missing", gtLogs); return 0 end + local spnflat = self:GetSpawnFlat() + local crvsuprev = self:GetSuperElevation() + if(not (spnflat and crvsuprev > 0) then + asmlib.LogInstance("Auto roll disabled", gtLogs); return 0 end + if(not (tC.Size and tC.Size >= 2)) then + asmlib.LogInstance("Two vertices needed", gtLogs); return 0 end + local nS, iN = asmlib.GetOpVar("FULL_SLOPEDG"), tC.Size + local tO, tR, tN = tC.Node, tC.Rays, tC.Norm + local vL, vP = tO[iN], tO[iN - 1] + local vD = Vector(tData.Org); vD:Sub(vL); vD:Normalize() + local vF = Vector(vL); vF:Sub(vP); vF:Normalize() + local aN = vF:AngleEx(tR[iN][2]:Up()) + local nP = (crvsuprev * nS) * vD:Dot(aN:Right()) + aN:RotateAroundAxis(vF, nP) + local vN = aN:Up(); tN[iN]:Set(vN) + return iN, vN +end + function TOOL:CurveInsert(stTrace, bPnt, bMute) - local spnflat, iN, vN = self:GetSpawnFlat(), 0 local user, model = self:GetOwner(), self:GetModel() local tData = self:GetCurveTransform(stTrace, bPnt); if(not tData) then asmlib.LogInstance("Transform missing", gtLogs); return nil end local tC = asmlib.GetCacheCurve(user); if(not tC) then asmlib.LogInstance("Curve missing", gtLogs); return nil end - if(not spnflat and tC.Size and tC.Size >= 2) then - local nS, iC = asmlib.GetOpVar("FULL_SLOPEDG"), tC.Size - local tO, tR, tN = tC.Node, tC.Rays, tC.Norm - local vA, vB = tO[iC], tO[iC - 1] - local vD = Vector(tData.Org); vD:Sub(vA); vD:Normalize() - local vF = Vector(vA); vF:Sub(vB); vF:Normalize() - local aN = vF:AngleEx(tR[iC][2]:Up()) - local nP = 0.5 * nS * vD:Dot(aN:Right()) - aN:RotateAroundAxis(vF, nP) - vN = aN:Up(); tN[iC]:Set(vN); iN = iC - end + self:ApplySuperElevation(tC, tData) tC.Size = (tC.Size + 1) -- Increment stack size. Adding stuff tableInsert(tC.Node, Vector(tData.Org)) tableInsert(tC.Norm, tData.Ang:Up()) @@ -987,7 +1007,7 @@ function TOOL:CurveUpdate(stTrace, bPnt, bMute) netStart(gsLibName.."SendUpdateCurveNode") netWriteEntity(user) netWriteVector(tC.Node[mD]) - netWriteVector(tC.Norm[mD]) + netWriteNormal(tC.Norm[mD]) netWriteVector(tC.Base[mD]) netWriteVector(tC.Rays[mD][1]) netWriteAngle (tC.Rays[mD][2]) @@ -2496,6 +2516,7 @@ if(CLIENT) then asmlib.SetNumSlider(CPanel, "ghostblnd", iMaxDec) asmlib.SetNumSlider(CPanel, "crvturnlm", iMaxDec) asmlib.SetNumSlider(CPanel, "crvleanlm", iMaxDec) + asmlib.SetNumSlider(CPanel, "crvsuprev", iMaxDec) asmlib.SetNumSlider(CPanel, "sgradmenu", 0) asmlib.SetNumSlider(CPanel, "rtradmenu", iMaxDec) asmlib.SetCheckBox(CPanel, "enradmenu") @@ -2654,6 +2675,7 @@ if(CLIENT) then asmlib.SetAsmConvar(user, "endsvlock", asmlib.GetAsmConvar("endsvlock", "DEF")) asmlib.SetAsmConvar(user, "curvefact", asmlib.GetAsmConvar("curvefact", "DEF")) asmlib.SetAsmConvar(user, "curvsmple", asmlib.GetAsmConvar("curvsmple", "DEF")) + asmlib.SetAsmConvar(user, "crvsuprev", asmlib.GetAsmConvar("crvsuprev", "DEF")) asmlib.SetAsmConvar(user, "spawnrate", asmlib.GetAsmConvar("spawnrate", "DEF")) asmlib.SetAsmConvar(user, "bnderrmod", asmlib.GetAsmConvar("bnderrmod", "DEF")) asmlib.SetAsmConvar(user, "maxfruse" , asmlib.GetAsmConvar("maxfruse" , "DEF")) diff --git a/resource/localization/bg/trackassembly.properties b/resource/localization/bg/trackassembly.properties index f0bbb191..0f4f806e 100644 --- a/resource/localization/bg/trackassembly.properties +++ b/resource/localization/bg/trackassembly.properties @@ -32,6 +32,8 @@ tool.trackassembly.buttonas@M=Запомни стойност tool.trackassembly.client_var=Клиентски предпочитания на играча. Променливи създадени чрез инструмента конфигурация tool.trackassembly.crvleanlm=Променете тук за да настроите остротата на наклона при сегментиране на кривата tool.trackassembly.crvleanlm_con=Наклон на кривината\: +tool.trackassembly.crvsuprev=Променете тук за да настроите тежестта на коефицианта за свъхденивалация +tool.trackassembly.crvsuprev_con=Свръх денивелация\: tool.trackassembly.crvturnlm=Променете тук за да настроите остротата на завоя при сегментиране на кривата tool.trackassembly.crvturnlm_con=Завой на кривината\: tool.trackassembly.curvefact=Променете тук за да настроите тангенциалния коефициент на кривата @@ -185,10 +187,10 @@ tool.trackassembly.pn_display_lb=Дисплей за парчето tool.trackassembly.pn_export=Цъкнете за да съхраните базата данни на файл tool.trackassembly.pn_export_lb=Съхрани DB tool.trackassembly.pn_extdsv_act=Активен -tool.trackassembly.pn_extdsv_prf=Уникален префикс на базата -tool.trackassembly.pn_extdsv_inf=Допълнителна информация tool.trackassembly.pn_extdsv_hd=Списъка на DSV базите данни е показан тук +tool.trackassembly.pn_extdsv_inf=Допълнителна информация tool.trackassembly.pn_extdsv_lb=Външен DSV списък +tool.trackassembly.pn_extdsv_prf=Уникален префикс на базата tool.trackassembly.pn_externdb_bte=Експорт tool.trackassembly.pn_externdb_bte_tp=Експортира информацията от панела към файла за използване tool.trackassembly.pn_externdb_bti=Импорт @@ -198,13 +200,13 @@ tool.trackassembly.pn_externdb_ttt=Текущата стойност от кон tool.trackassembly.pn_pattern=Напишете шаблон тук и натиснете ЕНТЪР за да извършите търсене tool.trackassembly.pn_pattern_lb=Напишете шаблон tool.trackassembly.pn_routine=Списъкът с редовно използваните ви парчета трасе -tool.trackassembly.pn_routine_hd=Редовни парчета на\: -tool.trackassembly.pn_routine_use=Срок tool.trackassembly.pn_routine_end=Ръб -tool.trackassembly.pn_routine_typ=Тип -tool.trackassembly.pn_routine_nam=Име -tool.trackassembly.pn_routine_mod=Модел +tool.trackassembly.pn_routine_hd=Редовни парчета на\: tool.trackassembly.pn_routine_lb=Рутинни обекти +tool.trackassembly.pn_routine_mod=Модел +tool.trackassembly.pn_routine_nam=Име +tool.trackassembly.pn_routine_typ=Тип +tool.trackassembly.pn_routine_use=Срок tool.trackassembly.pn_srchcol=Изберете по коя колона да извършите търсене tool.trackassembly.pn_srchcol_lb=<Търси по> tool.trackassembly.pntasist=Управлява изобразяването на асистента за лепене diff --git a/resource/localization/en/trackassembly.properties b/resource/localization/en/trackassembly.properties index cbf10209..bda3fedf 100644 --- a/resource/localization/en/trackassembly.properties +++ b/resource/localization/en/trackassembly.properties @@ -32,6 +32,8 @@ tool.trackassembly.buttonas@M=Memorize value tool.trackassembly.client_var=Client side player preferences. Convars created in the tool client configuration tool.trackassembly.crvleanlm=Change this to adjust the lean curving sharpness limit for the segment tool.trackassembly.crvleanlm_con=Curvature lean\: +tool.trackassembly.crvsuprev=Change this to adjust the super-elevation magnitude used in the corners +tool.trackassembly.crvsuprev_con=Super elevation\: tool.trackassembly.crvturnlm=Change this to adjust the turn curving sharpness limit for the segment tool.trackassembly.crvturnlm_con=Curvature turn\: tool.trackassembly.curvefact=Change this to adjust the curving factor tangent coefficient @@ -185,10 +187,10 @@ tool.trackassembly.pn_display_lb=Piece display tool.trackassembly.pn_export=Click to export the client database as a file tool.trackassembly.pn_export_lb=Export DB tool.trackassembly.pn_extdsv_act=Active -tool.trackassembly.pn_extdsv_prf=Database unique prefix -tool.trackassembly.pn_extdsv_inf=Additional information tool.trackassembly.pn_extdsv_hd=External DSV databases list is displayed here +tool.trackassembly.pn_extdsv_inf=Additional information tool.trackassembly.pn_extdsv_lb=External DSV list +tool.trackassembly.pn_extdsv_prf=Database unique prefix tool.trackassembly.pn_externdb_bte=Export tool.trackassembly.pn_externdb_bte_tp=Exports information from the panel to the file list and apply tool.trackassembly.pn_externdb_bti=Import @@ -198,13 +200,13 @@ tool.trackassembly.pn_externdb_ttt=Current modified configuration value\: tool.trackassembly.pn_pattern=Write a pattern here and hit ENTER to perform a search tool.trackassembly.pn_pattern_lb=Write pattern tool.trackassembly.pn_routine=The list of your frequently used track pieces -tool.trackassembly.pn_routine_hd=Frequent pieces by\: -tool.trackassembly.pn_routine_use=Used tool.trackassembly.pn_routine_end=End -tool.trackassembly.pn_routine_typ=Type -tool.trackassembly.pn_routine_nam=Name -tool.trackassembly.pn_routine_mod=Model +tool.trackassembly.pn_routine_hd=Frequent pieces by\: tool.trackassembly.pn_routine_lb=Routine items +tool.trackassembly.pn_routine_mod=Model +tool.trackassembly.pn_routine_nam=Name +tool.trackassembly.pn_routine_typ=Type +tool.trackassembly.pn_routine_use=Used tool.trackassembly.pn_srchcol=Choose which list column you want to perform a search on tool.trackassembly.pn_srchcol_lb= tool.trackassembly.pntasist=Controls rendering the tool snap point assistant diff --git a/resource/localization/fr/trackassembly.properties b/resource/localization/fr/trackassembly.properties index 5390901a..502256f7 100644 --- a/resource/localization/fr/trackassembly.properties +++ b/resource/localization/fr/trackassembly.properties @@ -32,6 +32,8 @@ tool.trackassembly.buttonas@M=Mémoriser la valeur tool.trackassembly.client_var=Préférences utilisateur côté client. Convars créées dans la configuration client de l'outil tool.trackassembly.crvleanlm=Changer ceci pour ajuster la finesse de la courbure en inclinaison pour le segment tool.trackassembly.crvleanlm_con=Courbure en inclinaison\: +tool.trackassembly.crvsuprev=Modifiez ceci pour ajuster l'amplitude du dévers utilisé dans les virages +tool.trackassembly.crvsuprev_con=Dévers\: tool.trackassembly.crvturnlm=Changer ceci pour ajuster la finesse de la courbure en virage pour le segment tool.trackassembly.crvturnlm_con=Courbure en virage\: tool.trackassembly.curvefact=Changer ceci pour ajuster le facteur courbe du coefficient tangent diff --git a/resource/localization/ru/trackassembly.properties b/resource/localization/ru/trackassembly.properties index 4b236b1e..72bc5335 100644 --- a/resource/localization/ru/trackassembly.properties +++ b/resource/localization/ru/trackassembly.properties @@ -1,94 +1,22 @@  -tool.trackassembly.workmode.1=Общее создание/прилепание куски -tool.trackassembly.workmode.2=Пересечение активной точки -tool.trackassembly.workmode.3=Кривой отрезок линии фитинг -tool.trackassembly.workmode.4=Нормаль поверхности перевернуть -tool.trackassembly.desc=Создает дорогу для транспортных средств -tool.trackassembly.name=Сборка дороги -tool.trackassembly.phytype=Выберите тип физических свойств из тех которые перечислены здесь -tool.trackassembly.phytype_con=Тип поверхности\: -tool.trackassembly.phytype_def=<Выберите ТИП поверхности> -tool.trackassembly.phyname=Выберите имя физических свойств которые могут быть использованы при создании дороги так как это повлияет на поверхностное трение -tool.trackassembly.phyname_con=Имя поверхности\: -tool.trackassembly.phyname_def=<Выберите ИМЯ поверхности> -tool.trackassembly.bgskids=Код выбора через запятую для Группа-тела/Кожа ID -tool.trackassembly.bgskids_con=Группа-тела/Кожа\: -tool.trackassembly.bgskids_def=Написать код выбора здесь. Например 1,0,0,2,1/3 -tool.trackassembly.mass=Как тяжелый кусок создал будет -tool.trackassembly.mass_con=Масса куска\: -tool.trackassembly.model=Выберите кусок чтобы начать/продолжить свою дорогу выбирая тип дерева и нажав на листе -tool.trackassembly.model_con=Модель куска\: +Cleaned_asmtracks=Все куски дороги очищены +Cleanup_asmtracks=Собранные куски дороги +SBoxLimit_asmtracks=Вы достигли предела созданных кусков дороги! +sbox_maxasmtracks=Измените это, чтобы настроить объекты, создаваемые с помощью инструмента сборки треков на сервере +sbox_maxasmtracks_con=Всего сегментов\: tool.trackassembly.activrad=Минимальное расстояние чтобы выбрать активную точку tool.trackassembly.activrad_con=Активный радиус\: -tool.trackassembly.stackcnt=Максимальное количество куски для нагромождения -tool.trackassembly.stackcnt_con=Количество кусков\: +tool.trackassembly.adviser=Управляет отображением позиционного/углового советника +tool.trackassembly.adviser_con=Нарисовать советник tool.trackassembly.angsnap=Приклейте первый кусок созданный тем положением градусов tool.trackassembly.angsnap_con=Угловое выравнивание\: -tool.trackassembly.resetvars=Нажмите чтобы сбросить дополнительные значения -tool.trackassembly.resetvars_con=V Сбросить переменные V -tool.trackassembly.nextpic=Дополнительный сдвиг начала тангажом -tool.trackassembly.nextpic_con=Начало тангажа\: -tool.trackassembly.nextyaw=Дополнительный сдвиг начала рысканием -tool.trackassembly.nextyaw_con=Начало рыскания\: -tool.trackassembly.nextrol=Дополнительный сдвиг начала рулона -tool.trackassembly.nextrol_con=Начало рулона\: -tool.trackassembly.nextx=Дополнительное линейное смещение X -tool.trackassembly.nextx_con=Смещения X\: -tool.trackassembly.nexty=Дополнительное линейное смещение Y -tool.trackassembly.nexty_con=Смещения Y\: -tool.trackassembly.nextz=Дополнительное линейное смещение Z -tool.trackassembly.nextz_con=Смещения Z\: -tool.trackassembly.gravity=Управляет гравитацию куска -tool.trackassembly.gravity_con=Применить силу тяжести к куске -tool.trackassembly.weld=Создает сварные швы между кусками или кусоком/якорем -tool.trackassembly.weld_con=Сварной шов -tool.trackassembly.forcelim=Управляет сколько сил требуется чтобы сломать сварной шов -tool.trackassembly.forcelim_con=Ограничение силы\: -tool.trackassembly.ignphysgn=Игнорирует захвата физической пушки при созданием/приклеиванием/нагромождением куска -tool.trackassembly.ignphysgn_con=Игнорирует захвата физической пушки -tool.trackassembly.nocollide=Делает не-столкновение между кусками или кусоком/якорем -tool.trackassembly.nocollide_con=Не-столкновение -tool.trackassembly.nocollidew=Делает не-столкновение между кусками и миром -tool.trackassembly.nocollidew_con=Не-столкновение миром -tool.trackassembly.freeze=Создает заморожений кусок -tool.trackassembly.freeze_con=Заморозить кусок -tool.trackassembly.igntype=Игнорирует различные типы кусков прилипания/накопления -tool.trackassembly.igntype_con=Игнорировать тип кусков -tool.trackassembly.spnflat=Следующий кусок будет создан/приклеен/накоплен по горизонтали -tool.trackassembly.spnflat_con=Нагромождать по горизонтали -tool.trackassembly.spawncn=Создание куска в центре иначе в выбранной активной точке -tool.trackassembly.spawncn_con=Происхождение из центра -tool.trackassembly.surfsnap=Приклеить кусок к поверхности к которой ссылается пользователь -tool.trackassembly.surfsnap_con=Приклеивать к поверхности tool.trackassembly.appangfst=Применять угловое смещение только на первой кусок tool.trackassembly.appangfst_con=Применять угловое на первой tool.trackassembly.applinfst=Применять линейное смещение только на первой кусок tool.trackassembly.applinfst_con=Применять линейное на первой -tool.trackassembly.adviser=Управляет отображением позиционного/углового советника -tool.trackassembly.adviser_con=Нарисовать советник -tool.trackassembly.pntasist=Управляет изображение помощника для прилипания -tool.trackassembly.pntasist_con=Нарисовать помощника -tool.trackassembly.ghostcnt=Управляет подсчет отображением куска-тени -tool.trackassembly.ghostcnt_con=Нарисовать подсчет кусок-тень -tool.trackassembly.engunsnap=Управляет приклеивание когда кусок выпущен физической пушки пользователя -tool.trackassembly.engunsnap_con=Приклеивать выпуском -tool.trackassembly.upspanchor=Включите якорь обновить для каждый раз когда создаете без накопления -tool.trackassembly.upspanchor_con=Обновить якорь при создаване -tool.trackassembly.type=Выберите типа дороги для использования путем расширения папки -tool.trackassembly.type_con=Тип дороги\: -tool.trackassembly.subfolder=Выберите категорию дороги для использования путем расширения папки -tool.trackassembly.subfolder_con=Категория дороги\: -tool.trackassembly.workmode=Измените эту опцию чтобы использовать другой рабочий режим -tool.trackassembly.workmode_con=Рабочий режим\: -tool.trackassembly.pn_contextm_cp=Копировать -tool.trackassembly.pn_contextm_cpmd=Модель -tool.trackassembly.pn_contextm_cpnm=Имя -tool.trackassembly.pn_contextm_cpth=Путь -tool.trackassembly.pn_contextm_cpty=Тип -tool.trackassembly.pn_contextm_cpbx=Коробка -tool.trackassembly.pn_contextm_cprw=Ряд -sbox_maxasmtracks=Измените это, чтобы настроить объекты, создаваемые с помощью инструмента сборки треков на сервере -sbox_maxasmtracks_con=Всего сегментов\: +tool.trackassembly.bgskids=Код выбора через запятую для Группа-тела/Кожа ID +tool.trackassembly.bgskids_con=Группа-тела/Кожа\: +tool.trackassembly.bgskids_def=Написать код выбора здесь. Например 1,0,0,2,1/3 tool.trackassembly.bnderrmod=Измените это, чтобы определить поведение при попытке клиентов создавать объекты за пределами карты tool.trackassembly.bnderrmod_con=Режим границ\: tool.trackassembly.bnderrmod_error=Запрет на стек/создание, отображается сообщение об ошибке @@ -96,15 +24,23 @@ tool.trackassembly.bnderrmod_generic=Запрет на стек/создание tool.trackassembly.bnderrmod_hint=Запрет на стек/создание, отображается подсказка tool.trackassembly.bnderrmod_log=Запрет на стек/создание, ошибка логируется tool.trackassembly.bnderrmod_off=Разрешить стек/создание без ограничений +tool.trackassembly.buttonas+/-=Начение по умолчаниюз +tool.trackassembly.buttonas<>=Уменьшить/Увеличить +tool.trackassembly.buttonas@=Применять стоимость\: +tool.trackassembly.buttonas@D=Значение по умолчанию +tool.trackassembly.buttonas@M=Запомнить стоимость tool.trackassembly.client_var=Настройки клиента. Консольные переменные создаются в конфигурации инструмента клиента tool.trackassembly.crvleanlm=Измените это, чтобы настроить ограничение резкости при изгибе сегмента tool.trackassembly.crvleanlm_con=Наклон кривизны\: +tool.trackassembly.crvsuprev=Измените это, чтобы настроить величину поперечного наклона, используемого в поворотах +tool.trackassembly.crvsuprev_con=Поперечный наклон\: tool.trackassembly.crvturnlm=Измените это, чтобы настроить ограничение резкости при повороте сегмента tool.trackassembly.crvturnlm_con=Поворот кривизны\: tool.trackassembly.curvefact=Измените это, чтобы настроить коэффициент касательной кривизны tool.trackassembly.curvefact_con=Коэффициент кривизны\: tool.trackassembly.curvsmple=Измените это, чтобы настроить количество интерполяционных образцов кривизны tool.trackassembly.curvsmple_con=Образцы кривизны\: +tool.trackassembly.desc=Создает дорогу для транспортных средств tool.trackassembly.devmode=Включает режим разработчика для отслеживания и отладки tool.trackassembly.devmode_con=Включить режим разработчика tool.trackassembly.dtmessage=Управляет интервалами времени между серверными сообщениями в контекстном меню @@ -115,6 +51,8 @@ tool.trackassembly.enctxmenu=Включает контекстное меню и tool.trackassembly.enctxmenu_con=Включить контекстное меню tool.trackassembly.endsvlock=Включает блокировку внешней базы данных DSV tool.trackassembly.endsvlock_con=Включить блокировку базы данных DSV +tool.trackassembly.engunsnap=Управляет приклеивание когда кусок выпущен физической пушки пользователя +tool.trackassembly.engunsnap_con=Приклеивать выпуском tool.trackassembly.enmultask=Включает многозадачность в режиме стекового создания tool.trackassembly.enmultask_con=Включить многозадачность tool.trackassembly.enpntmscr=Включает переключение активных точек с помощью прокрутки мыши @@ -127,8 +65,20 @@ tool.trackassembly.exportdb=Включает экспорт базы данны tool.trackassembly.exportdb_con=Включить экспорт базы данных tool.trackassembly.factory_reset=Нажмите, чтобы применить настройки консольных переменных по умолчанию tool.trackassembly.factory_reset_con=Сброс настроек +tool.trackassembly.forcelim=Управляет сколько сил требуется чтобы сломать сварной шов +tool.trackassembly.forcelim_con=Ограничение силы\: +tool.trackassembly.freeze=Создает заморожений кусок +tool.trackassembly.freeze_con=Заморозить кусок tool.trackassembly.ghostblnd=Управляет прозрачностью призрачных объектов. Чем ниже значение, тем более прозрачные tool.trackassembly.ghostblnd_con=Прозрачность призраков\: +tool.trackassembly.ghostcnt=Управляет подсчет отображением куска-тени +tool.trackassembly.ghostcnt_con=Нарисовать подсчет кусок-тень +tool.trackassembly.gravity=Управляет гравитацию куска +tool.trackassembly.gravity_con=Применить силу тяжести к куске +tool.trackassembly.ignphysgn=Игнорирует захвата физической пушки при созданием/приклеиванием/нагромождением куска +tool.trackassembly.ignphysgn_con=Игнорирует захвата физической пушки +tool.trackassembly.igntype=Игнорирует различные типы кусков прилипания/накопления +tool.trackassembly.igntype_con=Игнорировать тип кусков tool.trackassembly.incsnpang=Определяет угловой инкрементный шаг при использовании ползунков tool.trackassembly.incsnpang_con=Угловой шаг\: tool.trackassembly.incsnplin=Определяет линейный инкрементный шаг при использовании ползунков @@ -147,6 +97,8 @@ tool.trackassembly.logfile=Включает запись журнала в от tool.trackassembly.logfile_con=Включить логирование в файл tool.trackassembly.logsmax=Измените это, чтобы настроить максимальное количество записей в журнале tool.trackassembly.logsmax_con=Логирование строк\: +tool.trackassembly.mass=Как тяжелый кусок создал будет +tool.trackassembly.mass_con=Масса куска\: tool.trackassembly.maxactrad=Измените это, чтобы настроить максимальный радиус для получения ID точки tool.trackassembly.maxactrad_con=Ограничение радиуса\: tool.trackassembly.maxforce=Измените это, чтобы настроить максимальную силу при создании соединений @@ -173,7 +125,39 @@ tool.trackassembly.modedb=Измените это, чтобы настроить tool.trackassembly.modedb_con=Режим базы данных\: tool.trackassembly.modedb_lua=Использовать прямое кеширование tool.trackassembly.modedb_sql=Кешировать только запрашиваемые записи +tool.trackassembly.model=Выберите кусок чтобы начать/продолжить свою дорогу выбирая тип дерева и нажав на листе +tool.trackassembly.model_con=Модель куска\: +tool.trackassembly.name=Сборка дороги +tool.trackassembly.nextpic=Дополнительный сдвиг начала тангажом +tool.trackassembly.nextpic_con=Начало тангажа\: +tool.trackassembly.nextrol=Дополнительный сдвиг начала рулона +tool.trackassembly.nextrol_con=Начало рулона\: +tool.trackassembly.nextx=Дополнительное линейное смещение X +tool.trackassembly.nextx_con=Смещения X\: +tool.trackassembly.nexty=Дополнительное линейное смещение Y +tool.trackassembly.nexty_con=Смещения Y\: +tool.trackassembly.nextyaw=Дополнительный сдвиг начала рысканием +tool.trackassembly.nextyaw_con=Начало рыскания\: +tool.trackassembly.nextz=Дополнительное линейное смещение Z +tool.trackassembly.nextz_con=Смещения Z\: +tool.trackassembly.nocollide=Делает не-столкновение между кусками или кусоком/якорем +tool.trackassembly.nocollide_con=Не-столкновение +tool.trackassembly.nocollidew=Делает не-столкновение между кусками и миром +tool.trackassembly.nocollidew_con=Не-столкновение миром tool.trackassembly.nonrep_var=Не реплицируемые консольные переменные. Они имеют разные значения на сервере и клиенте +tool.trackassembly.phyname=Выберите имя физических свойств которые могут быть использованы при создании дороги так как это повлияет на поверхностное трение +tool.trackassembly.phyname_con=Имя поверхности\: +tool.trackassembly.phyname_def=<Выберите ИМЯ поверхности> +tool.trackassembly.phytype=Выберите тип физических свойств из тех которые перечислены здесь +tool.trackassembly.phytype_con=Тип поверхности\: +tool.trackassembly.phytype_def=<Выберите ТИП поверхности> +tool.trackassembly.pn_contextm_cp=Копировать +tool.trackassembly.pn_contextm_cpbx=Коробка +tool.trackassembly.pn_contextm_cpmd=Модель +tool.trackassembly.pn_contextm_cpnm=Имя +tool.trackassembly.pn_contextm_cprw=Ряд +tool.trackassembly.pn_contextm_cpth=Путь +tool.trackassembly.pn_contextm_cpty=Тип tool.trackassembly.pn_contextm_ep=Развернуть узел tool.trackassembly.pn_contextm_ex=Экспортировать tool.trackassembly.pn_contextm_exdv=Внешний @@ -198,11 +182,35 @@ tool.trackassembly.pn_contextm_tg=Переключить tool.trackassembly.pn_contextm_ws=Мастерская tool.trackassembly.pn_contextm_wsid=Скопировать WID tool.trackassembly.pn_contextm_wsop=Открыть страницу +tool.trackassembly.pn_display=Модель вашего куска дороги здесь отображается +tool.trackassembly.pn_display_lb=Показать кусок +tool.trackassembly.pn_export=Нажмите чтобы сохранить файл базы данных +tool.trackassembly.pn_export_lb=Экспорт БД +tool.trackassembly.pn_extdsv_act=Активный +tool.trackassembly.pn_extdsv_hd=Список внешних баз данных DSV отображается здесь +tool.trackassembly.pn_extdsv_inf=Дополнительная информация +tool.trackassembly.pn_extdsv_lb=Внешний список DSV +tool.trackassembly.pn_extdsv_prf=Уникальный префикс базы данных tool.trackassembly.pn_externdb_bte=Экспортировать tool.trackassembly.pn_externdb_bte_tp=Экспортирует информацию из панели в список файлов и применяет tool.trackassembly.pn_externdb_bti=Импортировать tool.trackassembly.pn_externdb_bti_tp=Импортирует информацию из списка файлов в панель для редактирования +tool.trackassembly.pn_externdb_hd=Внешние базы данных для\: tool.trackassembly.pn_externdb_ttt=Текущее измененное значение конфигурации\: +tool.trackassembly.pn_pattern=Напишите шаблон здесь и нажмите ВВОД для выполнения поиска +tool.trackassembly.pn_pattern_lb=Напишите шаблон +tool.trackassembly.pn_routine=Список регулярно используемых кусков дороги +tool.trackassembly.pn_routine_end=Конец +tool.trackassembly.pn_routine_hd=Часто используемых кусков пользователя\: +tool.trackassembly.pn_routine_lb=Часто используемых кусков +tool.trackassembly.pn_routine_mod=Модель +tool.trackassembly.pn_routine_nam=Имя +tool.trackassembly.pn_routine_typ=Тип +tool.trackassembly.pn_routine_use=Срок +tool.trackassembly.pn_srchcol=Выберите столбец для поиска +tool.trackassembly.pn_srchcol_lb=<Искать по> +tool.trackassembly.pntasist=Управляет изображение помощника для прилипания +tool.trackassembly.pntasist_con=Нарисовать помощника tool.trackassembly.relica_var=Управление константами с репликацией. Значение на сервере передается всем клиентам для использования tool.trackassembly.reload.1=Удалить элемент трассы. Удерживайте SHIFT для выбора якоря tool.trackassembly.reload.2=Удалить элемент трассы. Удерживайте SHIFT для выбора луча связи @@ -214,6 +222,8 @@ tool.trackassembly.reload_use.2=Включить экспорт базы дан tool.trackassembly.reload_use.3=Включить экспорт базы данных для открытия менеджера DSV tool.trackassembly.reload_use.4=Включить экспорт базы данных для открытия менеджера DSV tool.trackassembly.reload_use.5=Включить экспорт базы данных для открытия менеджера DSV +tool.trackassembly.resetvars=Нажмите чтобы сбросить дополнительные значения +tool.trackassembly.resetvars_con=V Сбросить переменные V tool.trackassembly.right.1=Копировать модель элемента трассы или открыть окно частых элементов tool.trackassembly.right.2=Копировать модель элемента трассы или открыть окно частых элементов tool.trackassembly.right.3=Создать узел для сегментированной кривой. Удерживайте SHIFT для обновления @@ -230,8 +240,18 @@ tool.trackassembly.sgradmenu=Измените это для округления tool.trackassembly.sgradmenu_con=Сегменты радиального меню\: tool.trackassembly.sizeucs=Масштаб для отображаемых систем координат tool.trackassembly.sizeucs_con=Масштаб UCS\: +tool.trackassembly.spawncn=Создание куска в центре иначе в выбранной активной точке +tool.trackassembly.spawncn_con=Происхождение из центра tool.trackassembly.spawnrate=Измените это для настройки количества сегментов трассы, создаваемых за тик сервера tool.trackassembly.spawnrate_con=Скорость создания\: +tool.trackassembly.spnflat=Следующий кусок будет создан/приклеен/накоплен по горизонтали +tool.trackassembly.spnflat_con=Нагромождать по горизонтали +tool.trackassembly.stackcnt=Максимальное количество куски для нагромождения +tool.trackassembly.stackcnt_con=Количество кусков\: +tool.trackassembly.subfolder=Выберите категорию дороги для использования путем расширения папки +tool.trackassembly.subfolder_con=Категория дороги\: +tool.trackassembly.surfsnap=Приклеить кусок к поверхности к которой ссылается пользователь +tool.trackassembly.surfsnap_con=Приклеивать к поверхности tool.trackassembly.timermode_ap=Нажмите здесь, чтобы применить изменения в конфигурации менеджера памяти SQL tool.trackassembly.timermode_ap_con=Применить настройки памяти tool.trackassembly.timermode_cqt=Таймер запроса кэша через запрос записи @@ -244,36 +264,18 @@ tool.trackassembly.timermode_mem=Менеджер памяти для табли tool.trackassembly.timermode_obj=Таймер объекта, прикрепленного к записи кэша tool.trackassembly.timermode_rd=При включении удаляет запись из кэша, присваивая значение nil tool.trackassembly.timermode_rd_con=Включить удаление записи +tool.trackassembly.type=Выберите типа дороги для использования путем расширения папки +tool.trackassembly.type_con=Тип дороги\: +tool.trackassembly.upspanchor=Включите якорь обновить для каждый раз когда создаете без накопления +tool.trackassembly.upspanchor_con=Обновить якорь при создаване tool.trackassembly.utilities_admin=Настройка параметров администратора tool.trackassembly.utilities_user=Настройка параметров пользователя +tool.trackassembly.weld=Создает сварные швы между кусками или кусоком/якорем +tool.trackassembly.weld_con=Сварной шов +tool.trackassembly.workmode.1=Общее создание/прилепание куски +tool.trackassembly.workmode.2=Пересечение активной точки +tool.trackassembly.workmode.3=Кривой отрезок линии фитинг +tool.trackassembly.workmode.4=Нормаль поверхности перевернуть tool.trackassembly.workmode.5=Переходы с касательной -tool.trackassembly.pn_export=Нажмите чтобы сохранить файл базы данных -tool.trackassembly.pn_export_lb=Экспорт БД -tool.trackassembly.pn_routine=Список регулярно используемых кусков дороги -tool.trackassembly.pn_routine_hd=Часто используемых кусков пользователя\: -tool.trackassembly.pn_externdb_hd=Внешние базы данных для\: -tool.trackassembly.pn_extdsv_lb=Внешний список DSV -tool.trackassembly.pn_extdsv_hd=Список внешних баз данных DSV отображается здесь -tool.trackassembly.pn_extdsv_act=Активный -tool.trackassembly.pn_extdsv_prf=Уникальный префикс базы данных -tool.trackassembly.pn_extdsv_inf=Дополнительная информация -tool.trackassembly.pn_display=Модель вашего куска дороги здесь отображается -tool.trackassembly.pn_pattern=Напишите шаблон здесь и нажмите ВВОД для выполнения поиска -tool.trackassembly.pn_srchcol=Выберите столбец для поиска -tool.trackassembly.pn_srchcol_lb=<Искать по> -tool.trackassembly.pn_routine_use=Срок -tool.trackassembly.pn_routine_end=Конец -tool.trackassembly.pn_routine_typ=Тип -tool.trackassembly.pn_routine_nam=Имя -tool.trackassembly.pn_routine_mod=Модель -tool.trackassembly.pn_routine_lb=Часто используемых кусков -tool.trackassembly.pn_display_lb=Показать кусок -tool.trackassembly.pn_pattern_lb=Напишите шаблон -tool.trackassembly.buttonas<>=Уменьшить/Увеличить -tool.trackassembly.buttonas+/-=Начение по умолчаниюз -tool.trackassembly.buttonas@M=Запомнить стоимость -tool.trackassembly.buttonas@D=Значение по умолчанию -tool.trackassembly.buttonas@=Применять стоимость\: -Cleanup_asmtracks=Собранные куски дороги -Cleaned_asmtracks=Все куски дороги очищены -SBoxLimit_asmtracks=Вы достигли предела созданных кусков дороги! +tool.trackassembly.workmode=Измените эту опцию чтобы использовать другой рабочий режим +tool.trackassembly.workmode_con=Рабочий режим\: