69 lines
2.6 KiB
Plaintext
69 lines
2.6 KiB
Plaintext
--@shared
|
|
--@name JDM Wheels
|
|
--@author Opti1337, .hemp
|
|
--@include /libs/meshbuilder.txt
|
|
local MeshBuilder = require("/libs/meshbuilder.txt")
|
|
|
|
local LINK = "https://raw.githubusercontent.com/koptilnya/gmod-data/main/jdmwheel1.obj?d=1"
|
|
local SCALE = Vector(0.6)
|
|
local MATERIALS = {
|
|
Center = "models/debug/debugwhite",
|
|
Bolt = "sprops/textures/sprops_chrome",
|
|
Chrome = "sprops/trans/wheels/wheel_d_rim1",
|
|
Plastic = "sprops/textures/sprops_rubber2",
|
|
Rim = "sprops/trans/wheels/wheel_d_rim1",
|
|
RimAround = "sprops/trans/wheels/wheel_d_rim1"
|
|
}
|
|
local COLORS = {
|
|
Center = Color(45,45,45),
|
|
Bolt = Color(255, 255, 255),
|
|
Chrome = Color(255, 255, 255),
|
|
Plastic = Color(255, 255, 255),
|
|
Rim = Color(255, 255, 255),
|
|
RimAround = Color(255,255,255)
|
|
}
|
|
local OFFSET = 1
|
|
|
|
|
|
local builder = {}
|
|
|
|
if SERVER then
|
|
wire.adjustPorts(
|
|
{
|
|
Wheels = "ARRAY"
|
|
},
|
|
{
|
|
}
|
|
)
|
|
|
|
builder = MeshBuilder:new(LINK)
|
|
|
|
hook.add("input", "_input", function(name, value)
|
|
if name == "Wheels" then
|
|
builder:reset()
|
|
|
|
for _, wheel in pairs(wire.ports.Wheels) do
|
|
builder:build("center", Vector(0, OFFSET - 0.6, 0), Angle(0), SCALE, COLORS.Center, MATERIALS.Center, wheel, wheel)
|
|
builder:build("bolt", Vector(0, OFFSET- 0.6, 0), Angle(0), SCALE, COLORS.Bolt, MATERIALS.Bolt, wheel, wheel)
|
|
builder:build("chrome", Vector(0, OFFSET - 1, 0), Angle(0), SCALE, COLORS.Chrome, MATERIALS.Chrome, wheel, wheel)
|
|
builder:build("plastic", Vector(0, OFFSET, 0), Angle(0), SCALE, COLORS.Plastic, MATERIALS.Plastic, wheel, wheel)
|
|
builder:build("rim1", Vector(0, OFFSET, 0), Angle(0), SCALE - Vector(0, 0.1, 0), COLORS.RimAround, MATERIALS.Rim, wheel, wheel)
|
|
builder:build("rimAround", Vector(0, OFFSET, 0), Angle(0), SCALE - Vector(0, 0.1, 0), COLORS.Rim, MATERIALS.RimAround, wheel, wheel)
|
|
builder:build("tyre", Vector(0, OFFSET, 0), Angle(0), SCALE - Vector(0, 0.1, 0), Color(255, 255, 255), {
|
|
basetexture = "phoenix_storms/car_tire",
|
|
bumpmap = "phoenix_storms/tire_bump",
|
|
options = {
|
|
envmap = "env_cubemap",
|
|
envmaptint = Vector(0.45345649123192, 0.45345649123192, 0.45345649123192),
|
|
flags = 138414080,
|
|
phong = 1,
|
|
phongexponent = 10.0
|
|
}
|
|
}, wheel, wheel)
|
|
end
|
|
|
|
builder:apply()
|
|
end
|
|
end)
|
|
end
|