--@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