This commit is contained in:
Ivan Grachyov 2021-11-13 01:52:48 +05:00
commit d2e85d9c61
6 changed files with 28 additions and 10 deletions

View File

@ -6,7 +6,7 @@ require("/koptilnya/mesh_loader/builder.txt")
DEBUG_MODE = true DEBUG_MODE = true
local LINK = "https://drive.google.com/u/0/uc?id=1Q4V8lHwTIw3ccJrRWiiwf0WTwSE3qbWb&export=download" local LINK = "https://raw.githubusercontent.com/koptilnya/gmod-data/main/a6.obj"
local SCALE = Vector(1) local SCALE = Vector(1)
local Materials = local Materials =

View File

@ -37,7 +37,8 @@ if SERVER then
Настраиваем конкретный меш Настраиваем конкретный меш
азвание_объекта, позиция, угол, размер, цвет, материал, парент, относительноего_позиционировать) азвание_объекта, позиция, угол, размер, цвет, материал, парент, относительноего_позиционировать)
]] ]]
builder:build("wheel", Vector(0), Angle(0), SCALE, Color(255, 255, 255), "sprops/textures/sprops_rubber", chip(), chip()) builder:build("tire", Vector(0), Angle(0), SCALE, Color(255, 255, 255), "sprops/textures/sprops_rubber", chip(), chip())
builder:build("disk", Vector(0), Angle(0), SCALE, Color(255, 255, 255), "sprops/textures/sprops_rubber", chip(), chip())
--[[ --[[
Получаем текущий результат и отправляем его по возможности клиентам. Обычно вызывается после всех вызовов build Получаем текущий результат и отправляем его по возможности клиентам. Обычно вызывается после всех вызовов build

View File

@ -6,8 +6,7 @@ require("/koptilnya/mesh_loader/builder.txt")
DEBUG_MODE = true DEBUG_MODE = true
--local LINK = "https://drive.google.com/uc?id=1Z15GAuNhRU3GQ15J9YOSQHk3KrwrOzGE" local LINK = "https://drive.google.com/uc?id=1Z15GAuNhRU3GQ15J9YOSQHk3KrwrOzGE"
local LINK = "http://217.25.221.225/asd.obj"
local SCALE = Vector(0.9) local SCALE = Vector(0.9)
local builder = {} local builder = {}
@ -21,7 +20,7 @@ if SERVER then
builder:build("Vihlop", Vector(0), Angle(0), SCALE, Color(200, 200, 200), "sprops/textures/sprops_chrome", chip(), chip()) builder:build("Vihlop", Vector(0), Angle(0), SCALE, Color(200, 200, 200), "sprops/textures/sprops_chrome", chip(), chip())
builder:build("Podtumanniki", Vector(0), Angle(0), SCALE, Color(100, 100, 100), "models/debug/debugwhite", chip(), chip()) builder:build("Podtumanniki", Vector(0), Angle(0), SCALE, Color(100, 100, 100), "models/debug/debugwhite", chip(), chip())
builder:build("Nomera", Vector(0), Angle(0), SCALE, Color(54, 225, 220), "sprops/sprops_grid_orange_12x12", chip(), chip()) builder:build("Nomera", Vector(0), Angle(0), SCALE, Color(54, 225, 220), "https://i.imgur.com/ZVrOGSu.jpeg", chip(), chip())
builder:build("Okna", Vector(0), Angle(0), SCALE, Color(0, 0, 0, 200), "models/debug/debugwhite", chip(), chip()) builder:build("Okna", Vector(0), Angle(0), SCALE, Color(0, 0, 0, 200), "models/debug/debugwhite", chip(), chip())
builder:build("Skobi", Vector(0), Angle(0), SCALE, Color(55, 55, 55, 255), "models/debug/debugwhite", chip(), chip()) builder:build("Skobi", Vector(0), Angle(0), SCALE, Color(55, 55, 55, 255), "models/debug/debugwhite", chip(), chip())
builder:build("Nakladki", Vector(0), Angle(0), SCALE, Color(44, 44, 44, 255), "models/debug/debugwhite", chip(), chip()) builder:build("Nakladki", Vector(0), Angle(0), SCALE, Color(44, 44, 44, 255), "models/debug/debugwhite", chip(), chip())

View File

@ -5,7 +5,7 @@
require("/koptilnya/mesh_loader/builder.txt") require("/koptilnya/mesh_loader/builder.txt")
local LINK = "https://www.dropbox.com/s/uu2tia6ac13cobu/jdmwheel1.obj?dl=1" local LINK = "https://raw.githubusercontent.com/koptilnya/gmod-data/main/jdmwheel1.obj?d=1"
local SCALE = Vector(0.6) local SCALE = Vector(0.6)
local MATERIALS = { local MATERIALS = {
Center = "models/debug/debugwhite", Center = "models/debug/debugwhite",

View File

@ -1,7 +1,7 @@
-- @name koptilnya/libs/workers -- @name koptilnya/libs/workers
WORKERS = {} WORKERS = {}
WORKERS_QUOTA = 0.5 WORKERS_QUOTA = 0.4
local function execWorker(worker) local function execWorker(worker)
local status local status

View File

@ -49,6 +49,8 @@ local currentResult = {
time = 0 time = 0
} }
}, },
distance = 0,
quarter = 0,
maxSpeed = 0 maxSpeed = 0
} }
local results = {} local results = {}
@ -112,7 +114,7 @@ end
function setSpeed(value) function setSpeed(value)
value = math.clamp(value, 0, 999) value = math.clamp(value, 0, 999)
value = math.round(value) value = math.floor(value)
local str = string.rep("0", 3 - #tostring(value)) .. value local str = string.rep("0", 3 - #tostring(value)) .. value
@ -152,6 +154,8 @@ function reset()
end end
currentResult.maxSpeed = 0 currentResult.maxSpeed = 0
currentResult.quarter = 0
currentResult.distance = 0
setTime(0) setTime(0)
setSpeed(0) setSpeed(0)
@ -180,6 +184,11 @@ function printResult(result)
print(Color(255, 255, 255), string.format(format, 100, 200, math.abs(result.triggers[200].time - result.triggers[100].time))) print(Color(255, 255, 255), string.format(format, 100, 200, math.abs(result.triggers[200].time - result.triggers[100].time)))
end end
if (result.quarter > 0) then
print(Color(255, 255, 255), string.format("Quarter: %.02fs", result.quarter))
end
print(Color(200, 200, 200), string.format("Distance: %.02fm", result.distance))
print(Color(200, 200, 200), string.format("Max speed: %.02f km/h", result.maxSpeed)) print(Color(200, 200, 200), string.format("Max speed: %.02f km/h", result.maxSpeed))
end end
@ -191,8 +200,9 @@ hook.add("tick", "_tick", function()
local localVelocityLength = localVelocity:getLength() local localVelocityLength = localVelocity:getLength()
local MPH = localVelocityLength * (15 / 352) local MPH = localVelocityLength * (15 / 352)
local KPH = MPH * 1.609 local KPH = MPH * 1.609
local roundedSpeed = math.floor(KPH)
if KPH < 1 and active then if roundedSpeed < 1 and active then
if hasResult() then if hasResult() then
saveResult() saveResult()
@ -203,7 +213,7 @@ hook.add("tick", "_tick", function()
end end
reset() reset()
elseif not active and MPH >= 1 then elseif not active and roundedSpeed >= 1 then
active = true active = true
startTime = timer.systime() startTime = timer.systime()
end end
@ -228,6 +238,14 @@ hook.add("tick", "_tick", function()
end end
end end
currentResult.distance = currentResult.distance + KPH * game.getTickInterval() / 3.6
if (currentResult.quarter == 0 and currentResult.distance >= 402.33) then
currentResult.quarter = timer.systime() - startTime
chip():emitSound(reachSoundPath)
end
if hold and holdTime + holdDuration <= timer.systime() then if hold and holdTime + holdDuration <= timer.systime() then
hold = false hold = false
end end