74 lines
2.7 KiB
Plaintext
74 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://www.dropbox.com/s/uu2tia6ac13cobu/jdmwheel1.obj?dl=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), "sprops/textures/sprops_rubber", wheel, wheel)
|
|
end
|
|
|
|
builder:getResult()
|
|
end
|
|
end)
|
|
else
|
|
function init()
|
|
builder = MeshBuilder:new(LINK)
|
|
end
|
|
|
|
if hasPermission("http.get") and hasPermission("mesh") and hasPermission("entities.setRenderProperty", chip()) then
|
|
init()
|
|
else
|
|
setupPermissionRequest({"http.get", "mesh", "entities.setRenderProperty"}, "", true)
|
|
|
|
hook.add("permissionrequest", "_permissionrequest", function()
|
|
if permissionRequestSatisfied() then
|
|
init()
|
|
end
|
|
end)
|
|
end
|
|
end |