mirror of
https://github.com/dvdvideo1234/TrackAssemblyTool.git
synced 2025-03-04 03:13:32 -05:00
Added: Custom user ghost fading control [0-1]
Fixed: First point picked for portal stairs elevation Added: Missing controls for frequently used count
This commit is contained in:
parent
0f56a68b7a
commit
24e79edfd8
@ -89,7 +89,7 @@ local asmlib = trackasmlib; if(not asmlib) then -- Module present
|
||||
------------ CONFIGURE ASMLIB ------------
|
||||
|
||||
asmlib.InitBase("track","assembly")
|
||||
asmlib.SetOpVar("TOOL_VERSION","8.667")
|
||||
asmlib.SetOpVar("TOOL_VERSION","8.668")
|
||||
asmlib.SetIndexes("V" ,1,2,3)
|
||||
asmlib.SetIndexes("A" ,1,2,3)
|
||||
asmlib.SetIndexes("WV",1,2,3)
|
||||
@ -157,6 +157,7 @@ asmlib.SetBorder(gsToolPrefL.."sizeucs" , 0, 50)
|
||||
asmlib.SetBorder(gsToolPrefL.."spawnrate", 1, 10)
|
||||
asmlib.SetBorder(gsToolPrefL.."sgradmenu", 1, 16)
|
||||
asmlib.SetBorder(gsToolPrefL.."dtmessage", 0, 10)
|
||||
asmlib.SetBorder(gsToolPrefL.."ghostfade", 0, 1)
|
||||
asmlib.SetBorder(gsToolPrefL.."rtradmenu", -gnMaxRot, gnMaxRot)
|
||||
|
||||
------------ CONFIGURE LOGGING ------------
|
||||
@ -254,12 +255,6 @@ local conCallBack = asmlib.GetContainer("CALLBAC_FUNC")
|
||||
conCallBack:Push({"endsvlock", function(sVar, vOld, vNew)
|
||||
asmlib.IsFlag("en_dsv_datalock", tobool(vNew))
|
||||
end})
|
||||
conCallBack:Push({"dtmessage", function(sVar, vOld, vNew)
|
||||
local sK = gsToolPrefL.."dtmessage"
|
||||
local nD = (tonumber(vNew) or 0)
|
||||
nD = asmlib.BorderValue(nD, sK)
|
||||
asmlib.SetOpVar("MSDELTA_SEND", nD)
|
||||
end})
|
||||
conCallBack:Push({"timermode", function(sVar, vOld, vNew)
|
||||
local arTim = gsSymDir:Explode(vNew)
|
||||
local mkTab, ID = asmlib.GetBuilderID(1), 1
|
||||
@ -269,6 +264,14 @@ local conCallBack = asmlib.GetContainer("CALLBAC_FUNC")
|
||||
ID = ID + 1; mkTab = asmlib.GetBuilderID(ID) -- Next table on the list
|
||||
end; asmlib.LogInstance("Timer update "..asmlib.GetReport(vNew),gtInitLogs)
|
||||
end})
|
||||
conCallBack:Push({"dtmessage", function(sVar, vOld, vNew)
|
||||
if(SERVER) then
|
||||
local sK = gsToolPrefL.."dtmessage"
|
||||
local nD = (tonumber(vNew) or 0)
|
||||
nD = asmlib.BorderValue(nD, sK)
|
||||
asmlib.SetOpVar("MSDELTA_SEND", nD)
|
||||
end
|
||||
end})
|
||||
|
||||
for iD = 1, conCallBack:GetSize() do
|
||||
local val = conCallBack:Select(iD)
|
||||
@ -4308,16 +4311,16 @@ else
|
||||
PIECES:Record({"models/props_underground/walkway_x.mdl", "#", "#", 2, "", "0,64,-2.125", "0, 90,0"})
|
||||
PIECES:Record({"models/props_underground/walkway_x.mdl", "#", "#", 3, "", "-64,0,-2.125","0,180,0"})
|
||||
PIECES:Record({"models/props_underground/walkway_x.mdl", "#", "#", 4, "", "0,-64,-2.125","0,-90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_32.mdl", "#", "#", 1, "", "0, 56,13.875", "0, 90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_32.mdl", "#", "#", 2, "", "0,-56,-18.125", "0,-90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_64.mdl", "#", "#", 1, "", "0, 80,29.875", "0, 90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_64.mdl", "#", "#", 2, "", "0,-80,-34.125", "0,-90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_128.mdl", "#", "#", 1, "", "0, 128,61.875", "0, 90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_128.mdl", "#", "#", 2, "", "0,-128,-66.125", "0,-90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_256.mdl", "#", "#", 1, "", "0, 224,125.875", "0, 90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_256.mdl", "#", "#", 2, "", "0,-224,-130.125", "0,-90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_exit.mdl", "#", "#", 1, "", "0, 112,61.875", "0, 90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_exit.mdl", "#", "#", 2, "", "0,-112,-66.125", "0,-90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_32.mdl", "#", "#", 1, "", "0,-56,-18.125", "0,-90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_32.mdl", "#", "#", 2, "", "0, 56,13.875", "0, 90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_64.mdl", "#", "#", 1, "", "0,-80,-34.125", "0,-90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_64.mdl", "#", "#", 2, "", "0, 80,29.875", "0, 90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_128.mdl", "#", "#", 1, "", "0,-128,-66.125", "0,-90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_128.mdl", "#", "#", 2, "", "0, 128,61.875", "0, 90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_256.mdl", "#", "#", 1, "", "0,-224,-130.125", "0,-90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_256.mdl", "#", "#", 2, "", "0, 224,125.875", "0, 90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_exit.mdl", "#", "#", 1, "", "0,-112,-66.125", "0,-90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_exit.mdl", "#", "#", 2, "", "0, 112,61.875", "0, 90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_landing_a.mdl", "#", "#", 1, "", "48,-42,-2.125", "0,-90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_landing_a.mdl", "#", "#", 2, "", "-48,-42,-2.125", "0,-90,0"})
|
||||
PIECES:Record({"models/props_underground/stair_landing_b.mdl", "#", "#", 1, "", "48,-42,-2.125", "0,-90,0"})
|
||||
|
@ -101,6 +101,10 @@
|
||||
tSet["tool."..sTool..".pntasist_con" ] = "Изобразявай асистента"
|
||||
tSet["tool."..sTool..".ghostcnt" ] = "Управлява изобразяването на броя парчета сенки"
|
||||
tSet["tool."..sTool..".ghostcnt_con" ] = "Изобразявай парчета сенки"
|
||||
tSet["tool."..sTool..".ghostfade" ] = "Управлява прозрачността на парчето сянка. Малка стойност за по-прозрачно"
|
||||
tSet["tool."..sTool..".ghostfade_con" ] = "Преливане на парчета сенки:"
|
||||
tSet["tool."..sTool..".dtmessage" ] = "Управлява времевия интервал между сърварните съобщения на контекстното меню"
|
||||
tSet["tool."..sTool..".dtmessage_con" ] = "Времеви интервал:"
|
||||
tSet["tool."..sTool..".engunsnap" ] = "Управлява залепването когато парчето е изпуснато с физическото оръдие на играча"
|
||||
tSet["tool."..sTool..".engunsnap_con" ] = "Залепване при изпускане"
|
||||
tSet["tool."..sTool..".upspanchor" ] = "Включете за обновяване на опората при всяко създаване без натрупвате"
|
||||
@ -155,7 +159,7 @@
|
||||
tSet["tool."..sTool..".incsnplin_con" ] = "Линейна стъпка:"
|
||||
tSet["tool."..sTool..".enradmenu" ] = "Когато се пусне позволява управление на режимите на работа чрез кръгово меню"
|
||||
tSet["tool."..sTool..".enradmenu_con" ] = "Разреши кръгово меню"
|
||||
tSet["tool."..sTool..".sgradmenu" ] = "Променете за да направите на кръговото меню по гладко. По-голяма стойност за по гладко"
|
||||
tSet["tool."..sTool..".sgradmenu" ] = "Променете за да направите на кръговото меню по-гладко. По-голяма стойност за по-гладко"
|
||||
tSet["tool."..sTool..".sgradmenu_con" ] = "Радиални сегменти:"
|
||||
tSet["tool."..sTool..".rtradmenu" ] = "Променете за да настроите базовия ъгъл на кръговоро меню и да преместите опциите"
|
||||
tSet["tool."..sTool..".rtradmenu_con" ] = "Радиална ротация:"
|
||||
|
@ -103,6 +103,10 @@
|
||||
tSet["tool."..sTool..".pntasist_con" ] = "Draw assistant"
|
||||
tSet["tool."..sTool..".ghostcnt" ] = "Controls rendering the tool ghosted holder pieces count"
|
||||
tSet["tool."..sTool..".ghostcnt_con" ] = "Ghosts count:"
|
||||
tSet["tool."..sTool..".ghostfade" ] = "Controls ghosts transperency blend. The lower the value more transperent"
|
||||
tSet["tool."..sTool..".ghostfade_con" ] = "Ghosts blend:"
|
||||
tSet["tool."..sTool..".dtmessage" ] = "Controls time intervals between context menu server messages"
|
||||
tSet["tool."..sTool..".dtmessage_con" ] = "Message delta:"
|
||||
tSet["tool."..sTool..".engunsnap" ] = "Controls snapping when the piece is dropped by the player physics gun"
|
||||
tSet["tool."..sTool..".engunsnap_con" ] = "Enable physics gun snap"
|
||||
tSet["tool."..sTool..".upspanchor" ] = "Enable to update the anchor on every spawn when not snapping"
|
||||
|
@ -4941,16 +4941,19 @@ end
|
||||
--[[
|
||||
* Fades the ghosts stack and makes the elements invisible
|
||||
* bNoD > The state of the No-Draw flag
|
||||
* nMrF > Fade margin in range [0-1]
|
||||
* Wait a minute, ghosts can't leave fingerprints!
|
||||
]]
|
||||
function FadeGhosts(bNoD)
|
||||
function FadeGhosts(bNoD, nMrF)
|
||||
if(SERVER) then return true end
|
||||
if(not HasGhosts()) then return true end
|
||||
local nMar = mathClamp((tonumber(nMrF) or 0), 0, 1)
|
||||
local tGho = GetOpVar("ARRAY_GHOST")
|
||||
local cPal = GetContainer("COLORS_LIST")
|
||||
local sMis, sMod = GetOpVar("MISS_NOMD"), tGho.Slot
|
||||
for iD = 1, tGho.Size do local eGho = tGho[iD]
|
||||
if(eGho and eGho:IsValid()) then
|
||||
if(nMrF) then eGho.marginRender = nMar end
|
||||
eGho:SetNoDraw(bNoD); eGho:DrawShadow(false)
|
||||
eGho:SetColor(cPal:Select("gh"))
|
||||
if(sMod and sMod ~= sMis and sMod ~= eGho:GetModel()) then
|
||||
@ -4984,8 +4987,9 @@ end
|
||||
* for all the ghosted props to draw all of them correctly
|
||||
]]
|
||||
local function BlendGhost(self)
|
||||
local mar = self.marginRender
|
||||
local num = renderGetBlend()
|
||||
renderSetBlend(0.8)
|
||||
renderSetBlend(mar)
|
||||
self:DrawModel()
|
||||
renderSetBlend(num)
|
||||
end
|
||||
@ -5002,6 +5006,7 @@ local function MakeEntityGhost(sModel, vPos, aAng)
|
||||
local eGho = entsCreateClientProp(sModel)
|
||||
if(not (eGho and eGho:IsValid())) then eGho = nil
|
||||
LogInstance("Ghost invalid "..sModel); return nil end
|
||||
eGho.marginRender = 1
|
||||
eGho.RenderOverride = BlendGhost
|
||||
eGho:SetModel(sModel)
|
||||
eGho:SetPos(vPos or GetOpVar("VEC_ZERO"))
|
||||
|
@ -131,6 +131,7 @@ TOOL.ClientConVar = {
|
||||
[ "forcelim" ] = 0,
|
||||
[ "ignphysgn" ] = 0,
|
||||
[ "ghostcnt" ] = 1,
|
||||
[ "ghostfade" ] = 0.8,
|
||||
[ "stackcnt" ] = 5,
|
||||
[ "maxstatts" ] = 3,
|
||||
[ "nocollide" ] = 1,
|
||||
@ -377,6 +378,10 @@ function TOOL:GetStackAttempts()
|
||||
return (mathClamp(self:GetClientNumber("maxstatts"),0,10))
|
||||
end
|
||||
|
||||
function TOOL:GetGhostFade()
|
||||
return (mathClamp(self:GetClientNumber("ghostfade"),0,1))
|
||||
end
|
||||
|
||||
function TOOL:GetPhysMeterial()
|
||||
return tostring(self:GetClientInfo("physmater") or "metal")
|
||||
end
|
||||
@ -1596,7 +1601,8 @@ function TOOL:UpdateGhostSpawn(stTrace, oPly)
|
||||
end
|
||||
|
||||
function TOOL:UpdateGhost(oPly)
|
||||
if(not asmlib.FadeGhosts(true)) then return end
|
||||
local ghostfade = self:GetGhostFade()
|
||||
if(not asmlib.FadeGhosts(true, ghostfade)) then return end
|
||||
if(self:GetGhostsCount() <= 0) then return end
|
||||
local stTrace = asmlib.GetCacheTrace(oPly)
|
||||
if(not stTrace) then return end
|
||||
@ -2422,6 +2428,7 @@ if(CLIENT) then
|
||||
asmlib.SetNumSlider(CPanel, "incsnplin", 0)
|
||||
asmlib.SetNumSlider(CPanel, "incsnpang", 0)
|
||||
asmlib.SetNumSlider(CPanel, "ghostcnt" , 0)
|
||||
asmlib.SetNumSlider(CPanel, "ghostfade", iMaxDec)
|
||||
asmlib.SetNumSlider(CPanel, "crvturnlm", iMaxDec)
|
||||
asmlib.SetNumSlider(CPanel, "crvleanlm", iMaxDec)
|
||||
asmlib.SetNumSlider(CPanel, "sgradmenu", 0)
|
||||
@ -2456,6 +2463,8 @@ if(CLIENT) then
|
||||
asmlib.SetNumSlider(CPanel, "maxactrad", iMaxDec)
|
||||
asmlib.SetNumSlider(CPanel, "maxstcnt" , 0)
|
||||
asmlib.SetNumSlider(CPanel, "maxstatts", 0)
|
||||
asmlib.SetNumSlider(CPanel, "maxfruse" , 0)
|
||||
asmlib.SetNumSlider(CPanel, "dtmessage", iMaxDec)
|
||||
asmlib.SetCheckBox(CPanel, "enwiremod")
|
||||
asmlib.SetCheckBox(CPanel, "enctxmenu")
|
||||
asmlib.SetCheckBox(CPanel, "enctxmall")
|
||||
|
Loading…
Reference in New Issue
Block a user