75 lines
2.7 KiB
Plaintext
75 lines
2.7 KiB
Plaintext
-- @shared
|
|
-- @name JDM Wheels
|
|
-- @author Opti1337, .hemp
|
|
-- @include /koptilnya/mesh_loader/builder.txt
|
|
|
|
require("/koptilnya/mesh_loader/builder.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:getResult()
|
|
end
|
|
end)
|
|
else
|
|
PERMA.onPermissionsGained = function()
|
|
builder = MeshBuilder:new(LINK)
|
|
end
|
|
PERMA.build()
|
|
end
|