This commit is contained in:
Nikita Kruglickiy
2021-09-19 22:34:23 +06:00
parent cb9c7b73bb
commit a47d2b43f7
17 changed files with 417 additions and 47 deletions

View File

@@ -0,0 +1,95 @@
--@name Mesh loader example
--@author Opti1337
--@shared
-- @include /koptilnya/mesh_loader/builder.txt
require("/koptilnya/mesh_loader/builder.txt")
local LINK = "https://www.dropbox.com/s/k4rte84qv0s3k1d/vaz_2101_wheel.obj?dl=1"
local SCALE = Vector(1)
local builder = {}
if SERVER then
-- Создаем экземпляр MeshBuilder на сервере
builder = MeshBuilder:new(LINK)
builder.onObjectLoaded = function(builder, objData)
--[[
Вызывается, когда .obj загружен на сервере
objData {string} - Внутренности .obj
]]
end
builder.onObjectParsed = function(builder, objectsName)
--[[
Вызывается, когда .obj разобран на сервере
objectsNames {table} - Таблица с названиями объектов в .obj
]]
end
builder.onPlayerParsedObj = function(builder, ply)
--[[
Вызывается, когда игрок разобрал .obj
ply {player} - Игрок, который разобрал .obj
]]
end
--[[
Настраиваем конкретный меш
азвание_объекта, позиция, угол, размер, цвет, материал, парент, относительноего_позиционировать)
]]
builder:build("wheel", Vector(0), Angle(0), SCALE, Color(255, 255, 255), "sprops/textures/sprops_rubber", chip(), chip())
--[[
Получаем текущий результат и отправляем его по возможности клиентам. Обычно вызывается после всех вызовов build
]]
builder:getResult()
else -- CLIENT
function init()
-- Создаем экземпляр MeshBuilder на клиенте
builder = MeshBuilder:new(LINK)
builder.onObjLoaded = function(builder, objData)
--[[
Вызывается, когда .obj загружен на клиенте
objData {string} - Внутренности .obj
]]
end
builder.onObjParsed = function(builder, meshData, usedTriangles)
--[[
Вызывается, когда .obj разобран на клиенте
meshData {table} - Таблица с мешами
usedTriangles {int} - Сколько использовано треугольников
]]
end
builder.onHologramsReceived = function(builder, objects)
--[[
Вызывается, когда были получен список голограмм от сервера
objects {table} - Таблица объектов
name {string} - Имя объекта
holo {entity} - Голограмма
]]
end
builder.onMeshesApplied = function(builder)
--[[
Вызывается, когда меши были применены к голограммам
]]
end
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

View File

@@ -0,0 +1,142 @@
-- @shared
-- @name Ford Mustang GT 2015
-- @author Opti1337, DarkSupah
-- @include /koptilnya/mesh_loader/builder.txt
-- @include /koptilnya/car_systems/lights_controller.txt
require("/koptilnya/mesh_loader/builder.txt")
require("/koptilnya/car_systems/lights_controller.txt")
DEBUG_MODE = true
local LINK = "https://www.dropbox.com/s/mw882znuj8c83ek/mustang.obj?dl=1"
local SCALE = Vector(1)
local MATERIALS = {
Interior = "models/debug/debugwhite",
Torpedo = "models/debug/debugwhite",
Seats = "models/debug/debugwhite",
SteeringWheelAndDoors = "models/debug/debugwhite",
Stripes = "models/debug/debugwhite",
DashboardDetails = "models/debug/debugwhite",
SteeringWheelControls = "models/debug/debugwhite",
Bottom = "models/debug/debugwhite",
Bottom2 = "models/debug/debugwhite",
ExteriorDetails = "models/debug/debugwhite",
Body = "models/shiny",
MirrorsAndExhaust = "models/debug/debugwhite",
Lights = "models/debug/debugwhite",
Glass = "phoenix_storms/glass",
ExteriorDetails2 = "models/debug/debugwhite",
LightsBase = "models/debug/debugwhite"
}
local COLORS = {
Interior = Color(40, 40, 40),
Torpedo = Color(50, 50, 50),
Seats = Color(50, 50, 50),
SteeringWheelAndDoors = Color(55, 55, 55),
Stripes = Color(10, 10, 10),
DashboardDetails = Color(130, 130, 130),
SteeringWheelControls = Color(25, 25, 25),
Bottom = Color(0, 0, 0),
Bottom2 = Color(0, 0, 0),
ExteriorDetails = Color(120, 120, 120),
Body = Color(245, 221, 31),
MirrorsAndExhaust = Color(255, 255, 255),
Lights = Color(255, 255, 255),
Glass = Color(255, 255, 255),
ExteriorDetails2 = Color(130, 130, 130),
LightsBase = Color(255, 255, 255)
}
local builder = {}
local lightsController = {}
if SERVER then
builder = MeshBuilder:new(LINK)
builder.onObjectParsed = function(builder, objectsNames)
printTable(objectsNames)
end
builder:build("Interior_body1_model0", Vector(0), Angle(0), SCALE, COLORS.Interior, MATERIALS.Interior, chip(), chip())
builder:build("Torpedo_body1_model0.001", Vector(0), Angle(0), SCALE, COLORS.Torpedo, MATERIALS.Torpedo, chip(), chip())
builder:build("Seats_body1_model0.002", Vector(0), Angle(0), SCALE, COLORS.Seats, MATERIALS.Seats, chip(), chip())
builder:build("SteeringWheelAndDoors_body1_model0.003", Vector(0), Angle(0), SCALE, COLORS.SteeringWheelAndDoors, MATERIALS.SteeringWheelAndDoors, chip(), chip())
builder:build("Stripes_body1_model0.004", Vector(0), Angle(0), SCALE, COLORS.Stripes, MATERIALS.Stripes, chip(), chip())
builder:build("DashboardDetails_body1_model0.005", Vector(0), Angle(0), SCALE, COLORS.DashboardDetails, MATERIALS.DashboardDetails, chip(), chip())
builder:build("SteeringWheelControls_body1_model0.006", Vector(0), Angle(0), SCALE, COLORS.SteeringWheelControls, MATERIALS.SteeringWheelControls, chip(), chip())
builder:build("Bottom_body1_model0.007", Vector(0), Angle(0), SCALE, COLORS.Bottom, MATERIALS.Bottom, chip(), chip())
builder:build("Bottom2_body1_model0.008", Vector(0), Angle(0), SCALE, COLORS.Bottom2, MATERIALS.Bottom2, chip(), chip())
builder:build("ExteriorDetails2_body1_model0.009", Vector(0), Angle(0), SCALE, COLORS.ExteriorDetails2, MATERIALS.ExteriorDetails2, chip(), chip())
builder:build("Body_body1_model0.010", Vector(0), Angle(0), SCALE, COLORS.Body, MATERIALS.Body, chip(), chip())
builder:build("MirrorsAndExhaust_body1_model0.011", Vector(0), Angle(0), SCALE, COLORS.MirrorsAndExhaust, MATERIALS.MirrorsAndExhaust, chip(), chip())
builder:build("Lights_body1_model0.012", Vector(0), Angle(0), SCALE, COLORS.Lights, MATERIALS.Lights, chip(), chip())
builder:build("Glass_body1_model0.013", Vector(0), Angle(0), SCALE, COLORS.Glass, MATERIALS.Glass, chip(), chip())
builder:build("ExteriorDetails_body1_model0.014", Vector(0), Angle(0), SCALE, COLORS.ExteriorDetails, MATERIALS.ExteriorDetails, chip(), chip())
builder:build("DoorPanels_body1_model0.003", Vector(0), Angle(0), SCALE, COLORS.Interior, MATERIALS.Interior, chip(), chip())
-- Lights
local LeftStopLight1 = builder:build("LR_TurnLight_1_body1_model0.019", Vector(0), Angle(0), SCALE, COLORS.LightsBase, MATERIALS.LightsBase, chip(), chip())
local LeftStopLight2 = builder:build("LR_TurnLight_2_body1_model0.020", Vector(0), Angle(0), SCALE, COLORS.LightsBase, MATERIALS.LightsBase, chip(), chip())
local LeftStopLight3 = builder:build("LR_TurnLight_3_body1_model0.021", Vector(0), Angle(0), SCALE, COLORS.LightsBase, MATERIALS.LightsBase, chip(), chip())
local RightStopLight1 = builder:build("RR_TurnLight_1_body1_model0.016", Vector(0), Angle(0), SCALE, COLORS.LightsBase, MATERIALS.LightsBase, chip(), chip())
local RightStopLight2 = builder:build("RR_TurnLight_2_body1_model0.023", Vector(0), Angle(0), SCALE, COLORS.LightsBase, MATERIALS.LightsBase, chip(), chip())
local RightStopLight3 = builder:build("RR_TurnLight_3_body1_model0.022", Vector(0), Angle(0), SCALE, COLORS.LightsBase, MATERIALS.LightsBase, chip(), chip())
local LeftMirrorTurnLight = builder:build("LeftMirrorTurnLight_body1_model0.024", Vector(0), Angle(0), SCALE, COLORS.LightsBase, MATERIALS.LightsBase, chip(), chip())
local RightMirrorTurnLight = builder:build("RightMirrorTurnLight_body1_model0.025", Vector(0), Angle(0), SCALE, COLORS.LightsBase, MATERIALS.LightsBase, chip(), chip())
local LeftBumperTurnLight = builder:build("LeftBumperTurnLight_body1_model0.027", Vector(0), Angle(0), SCALE, COLORS.LightsBase, MATERIALS.LightsBase, chip(), chip())
local RightMirrorTurnLight = builder:build("RightBumperTurnLight_body1_model0.026", Vector(0), Angle(0), SCALE, COLORS.LightsBase, MATERIALS.LightsBase, chip(), chip())
local ReverseLights = builder:build("ReverseLight_body1_model0.015", Vector(0), Angle(0), SCALE, COLORS.LightsBase, MATERIALS.LightsBase, chip(), chip())
local LowBeamLights = builder:build("LowBeamLights_body1_model0.006", Vector(0), Angle(0), SCALE, COLORS.LightsBase, MATERIALS.LightsBase, chip(), chip())
local HighBeamLights = builder:build("HighBeamLights_body1_model0.017", Vector(0), Angle(0), SCALE, COLORS.LightsBase, MATERIALS.LightsBase, chip(), chip())
local FogLights = builder:build("FogLights_body1_model0.018", Vector(0), Angle(0), SCALE, COLORS.LightsBase, MATERIALS.LightsBase, chip(), chip())
local result = builder:getResult()
local lights = {
StopLights = {Entities = {LeftStopLight1, LeftStopLight2, LeftStopLight3, RightStopLight1, RightStopLight2, RightStopLight3}, LerpSpeed = 0.2, Colors = {On = Color(250, 0, 0), Off = Color(30, 0, 0), Active = Color(90, 0, 0)}},
ReverseLights = {Entities = {ReverseLights}, LerpSpeed = 0.1, Colors = {On = Color(255, 255, 255), Off = Color(20, 20, 20)}},
LowBeamLights = {Entities = {LowBeamLights}, LerpSpeed = 0.1, Colors = {On = Color(255, 255, 255), Off = Color(20, 20, 20)}},
HighBeamLights = {Entities = {HighBeamLights}, LerpSpeed = 0.1, Colors = {On = Color(255, 255, 255), Off = Color(20, 20, 20)}},
FogLights = {Entities = {FogLights}, LerpSpeed = 0.1, Colors = {On = Color(255, 255, 255), Off = Color(20, 20, 20)}}
TurnLights = {LeftEntities = {LeftStopLight1, LeftStopLight2, LeftStopLight3}, RightEntities = {RightStopLight1, RightStopLight2, RightStopLight3}, LerpSpeed = 0.2, Colors = {On = Color(250, 120, 0), Off = Color(30, 0, 0)}}
}
-- local lightsEntities = {StopLights = {StopLights}, ReverseLights = {ReverseLights}, LowBeamLights = {LowBeamLights}, HighBeamLights = {HighBeamLights}}
-- local lightColors = {StopLights = {On = Color(250, 0, 0), Off = Color(30, 0, 0), Active = Color(90, 0, 0)}, ReverseLights = {On = Color(255, 255, 255), Off = Color(20, 20, 20), Active = Color(20, 20, 20)}}
-- local lights = {Lights = lightsEntities, Colors = lightColors}
lightsController = LightsController:new(lights)
wire.adjustPorts({LightInputs = "table"}, {})
hook.add("think", "lights", function()
lightsController:useStopLights(wire.ports.LightInputs.Stop)
lightsController:useReverseLights(wire.ports.LightInputs.Reverse)
lightsController:useLowBeam(wire.ports.LightInputs.LowBeam)
lightsController:useHighBeam(wire.ports.LightInputs.HighBeam)
lightsController:setActive(wire.ports.LightInputs.LowBeam == 1)
lightsController:update()
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

View File

@@ -0,0 +1,71 @@
-- @shared
-- @name Ford F-150 Raptor
-- @author Opti1337, .hemp
-- @include /koptilnya/mesh_loader/builder.txt
require("/koptilnya/mesh_loader/builder.txt")
DEBUG_MODE = true
--local LINK = "https://drive.google.com/uc?id=1Z15GAuNhRU3GQ15J9YOSQHk3KrwrOzGE"
local LINK = "http://217.25.221.225/asd.obj"
local SCALE = Vector(0.9)
local builder = {}
if SERVER then
builder = MeshBuilder:new(LINK)
builder:build("Podnojki", Vector(0), Angle(0), SCALE, Color(200, 200, 200), "sprops/textures/sprops_chrome", chip(), chip())
--builder:build("Kenguryatnik", Vector(0), Angle(0), SCALE, Color(200, 200, 200), "sprops/textures/sprops_chrome", chip(), chip())
builder:build("AntennaSerebro", 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("Nomera", Vector(0), Angle(0), SCALE, Color(54, 225, 220), "sprops/sprops_grid_orange_12x12", 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("Nakladki", Vector(0), Angle(0), SCALE, Color(44, 44, 44, 255), "models/debug/debugwhite", chip(), chip())
builder:build("Black", Vector(0), Angle(0), SCALE, Color(0, 0, 0), "models/debug/debugwhite", chip(), chip())
builder:build("SalonKraskiyCvet", Vector(0), Angle(0), SCALE, Color(225, 55, 55), "models/debug/debugwhite", chip(), chip())
builder:build("Korpus", Vector(0), Angle(0), SCALE, Color(0, 0, 195), "models/shiny", chip(), chip())
builder:build("Salon", Vector(0), Angle(0), SCALE, Color(110, 100, 100), "models/debug/debugwhite", chip(), chip())
builder:build("Sidushki", Vector(0), Angle(0), SCALE, Color(110, 100, 100), "WTP/cloth_1", chip(), chip())
builder:build("Vozduhovodi", Vector(0), Angle(0), SCALE, Color(50, 50, 50), "models/debug/debugwhite", chip(), chip())
builder:build("Lampochki", Vector(0), Angle(0), SCALE, Color(255, 255, 255), "models/debug/debugwhite", chip(), chip())
builder:build("Rama", Vector(0), Angle(0), SCALE, Color(80, 80, 80), "models/debug/debugwhite", chip(), chip())
builder:build("VihlopInner", Vector(0), Angle(0), SCALE, Color(30, 30, 30), "models/debug/debugwhite", chip(), chip())
builder:build("PerednieFari", Vector(0), Angle(0), SCALE, Color(80, 80, 80), "models/debug/debugwhite", chip(), chip())
builder:build("Steklo", Vector(0), Angle(0), SCALE, Color(255, 255, 255, 200), "models/debug/debugwhite", chip(), chip())
builder:build("StekloZadneiFari", Vector(0), Angle(0), SCALE, Color(255, 0, 0), "models/debug/debugwhite", chip(), chip())
builder:build("StekloZadneiFari2", Vector(0), Angle(0), SCALE, Color(225, 55, 55), "models/debug/debugwhite", chip(), chip())
builder:build("KorpusZadneiFari", Vector(0), Angle(0), SCALE, Color(225, 55, 55), "models/debug/debugwhite", chip(), chip())
builder:build("Multimedia", Vector(0), Angle(0), SCALE, Color(225, 255, 255), "WTP/cloth_1", chip(), chip())
builder:build("KorpusAntenni", Vector(0), Angle(0), SCALE, Color(255, 255, 255), "sprops/textures/sprops_rubber2", chip(), chip())
builder:build("Shnorkel", Vector(0), Angle(0), SCALE, Color(255, 255, 255), "sprops/textures/sprops_rubber2", chip(), chip())
builder:build("Plastik", Vector(0), Angle(0), SCALE, Color(255, 255, 255), "sprops/textures/sprops_rubber2", chip(), chip())
builder:build("RailingPlastik", Vector(0), Angle(0), SCALE, Color(255, 255, 255), "sprops/textures/sprops_rubber2", chip(), chip())
builder:build("SalonGovno", Vector(0), Angle(0), SCALE, Color(255, 255, 255), "sprops/textures/sprops_rubber2", chip(), chip())
builder:build("Dvorniki", Vector(0), Angle(0), SCALE, Color(255, 255, 255), "sprops/textures/sprops_rubber2", chip(), chip())
builder:build("Antenna", Vector(0), Angle(0), SCALE, Color(255, 255, 255), "sprops/textures/sprops_rubber2", chip(), chip())
builder:build("Railing", Vector(0), Angle(0), SCALE, Color(255, 255, 255), "sprops/trans/wheels/wheel_d_rim1", chip(), chip())
local result = builder:getResult()
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

View File

@@ -0,0 +1,43 @@
--@name Helicopter
--@author Opti1337
--@shared
-- @include /koptilnya/mesh_loader/builder.txt
require("/koptilnya/mesh_loader/builder.txt")
DEBUG_MODE = true
local LINK = "https://drive.google.com/uc?id=171YCCoAebzS0y1WRLQ8FZ6lyG_aZZtUB"
local SCALE = Vector(0.5)
local builder = {}
if SERVER then
builder = MeshBuilder:new(LINK)
builder:build("heli.016", Vector(0), Angle(0), SCALE, Color(0, 203, 0), "WTP/camoflage_4", chip(), chip())
builder:build("heli.001_heli.017", Vector(0), Angle(0), SCALE, Color(255, 225, 255, 90), "WTP/camoflage_4", chip(), chip())
builder:build("heli.002_heli.018", Vector(0), Angle(0), SCALE, Color(255, 225, 255), "https://i.imgur.com/uLC5dBA.png", chip(), chip())
builder:build("heli.003_heli.019", Vector(0), Angle(0), SCALE, Color(231, 0, 0), "https://i.imgur.com/uLC5dBA.png", chip(), chip())
builder:build("heli.004_heli.020", Vector(0), Angle(0), SCALE, Color(96, 96, 203), "https://i.imgur.com/uLC5dBA.png", chip(), chip())
builder:build("heli.005_heli.021", Vector(0), Angle(0), SCALE, Color(130, 130, 130), "https://i.imgur.com/f2tbMe7.png", chip(), chip())
builder:build("heli.006_heli.022", Vector(0), Angle(0), SCALE, Color(255, 224, 0), "https://i.imgur.com/FQHnxqZ.jpeg", chip(), chip())
builder:build("heli.007_heli.023", Vector(0), Angle(0), SCALE, Color(255, 225, 255), "https://i.imgur.com/uLC5dBA.png", chip(), chip())
builder:getResult()
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

View File

@@ -0,0 +1,75 @@
-- @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

View File

@@ -0,0 +1,42 @@
-- @shared
-- @name Porsche 911 Turbo S 2017
-- @author Opti1337, DarkSupah
-- @include /koptilnya/mesh_loader/builder.txt
require("/koptilnya/mesh_loader/builder.txt")
DEBUG_MODE = true
local LINK = "https://www.dropbox.com/s/bo7myjv0ekkcbf6/911.obj?dl=1"
local SCALE = Vector(0.9)
local builder = {}
if SERVER then
builder = MeshBuilder:new(LINK)
builder.onObjectParsed = function(builder, objectsNames)
timer.simple(3, function()
for k, v in pairs(objectsNames) do
builder:build(v, Vector(0), Angle(0), SCALE, Color(360 / #objectsNames * k, 1, 1):hsvToRGB(), "models/debug/debugwhite", chip(), chip())
end
local result = 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

View File

@@ -0,0 +1,56 @@
-- @shared
-- @name Toyota Altezza
-- @author Opti1337, .hemp
-- @include /koptilnya/mesh_loader/builder.txt
require("/koptilnya/mesh_loader/builder.txt")
DEBUG_MODE = true
local LINK = "https://www.dropbox.com/s/0vnd3nir8cyolz5/is300_3.obj?dl=1"
local SCALE = Vector(0.8, 0.79, 0.8)
local builder = {}
if SERVER then
builder = MeshBuilder:new(LINK)
builder:build("body_Mesh_0", Vector(0), Angle(0), SCALE, Color(40, 40, 40), "models/debug/debugwhite", chip(), chip())
builder:build("chrome_Mesh_1", Vector(0), Angle(0), SCALE, Color(255, 255, 255), "sprops/textures/sprops_chrome", chip(), chip())
builder:build("glass_Mesh_2", Vector(0), Angle(0), SCALE, Color(55, 55, 55, 200), "models/debug/debugwhite", chip(), chip())
builder:build("hood_Mesh_3", Vector(0), Angle(0), SCALE, Color(255, 255, 255, 255), "sprops/textures/sprops_cfiber2", chip(), chip())
builder:build("interier_Mesh_4", Vector(0), Angle(0), SCALE, Color(255, 255, 255), "sprops/textures/sprops_rubber2", chip(), chip())
builder:build("plastic_Mesh_5", Vector(0), Angle(0), SCALE, Color(255, 255, 255), "sprops/textures/sprops_rubber2", chip(), chip())
builder:build("redGlass_Mesh_6", Vector(0), Angle(0), SCALE, Color(225, 55, 55, 255), "models/debug/debugwhite", chip(), chip())
builder:build("Reshetka_Mesh_7", Vector(0), Angle(0), SCALE, Color(225, 255, 255, 255), "models/props_interiors/metalfence007a", chip(), chip())
builder:build("w_plastic_Mesh_8", Vector(0), Angle(0), SCALE, Color(225, 255, 255, 255), "models/combine_scanner/scanner_eye", chip(), chip())
builder:getResult()
else
function init()
builder = MeshBuilder:new(LINK)
builder.onHologramsReceived = function(builder, objects)
local mat = material.create("VertexLitGeneric")
mat:setTextureURL("$basetexture", "https://i.imgur.com/gw4kfYv.jpg",
function(m, url, w, h, layout)
layout(0, 0, 2048, 2048)
end,
function(m, url)
objects[1].holo:setMaterial("")
objects[1].holo:setMeshMaterial(m)
end
)
end
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

View File

@@ -0,0 +1,174 @@
-- @name VAZ 2106
-- @author Opti1337, DarkSupah
-- @include /koptilnya/mesh_loader/builder.txt
require("/koptilnya/mesh_loader/builder.txt")
local LINK = "https://www.dropbox.com/s/x2esgnl33i8if2w/vaz2106.obj?dl=1"
local SCALE = Vector(0.9)
local MATERIALS = {
Exterior = "phoenix_storms/mrref2",
Chrome = "models/shiny",
Plastic = "models/debug/debugwhite",
Glass = "phoenix_storms/mrref2",
Under = "sprops/textures/gear_metal",
DoorInterior = "sprops/textures/sprops_rubber2",
InteriorFloor = "models/debug/debugwhite",
DashboardBase = "models/debug/debugwhite",
Seats = "sprops/textures/sprops_rubber2",
Interior = "models/debug/debugwhite",
DoorHandle = "sprops/textures/sprops_chrome",
Grill = "models/debug/debugwhite",
Shelf = "models/debug/debugwhite",
Sideskirts = "models/debug/debugwhite",
Vent = "models/debug/debugwhite",
InteriorFrame = "models/debug/debugwhite",
LightsContainer = "models/debug/debugwhite",
Lights = "models/debug/debugwhite",
FrontLights = "sprops/trans/wheels/wheel_d_rim2",
Insulation = "models/debug/debugwhite",
DashButtons = "models/debug/debugwhite",
FrontLightsClose = "models/debug/debugwhite",
FrontLightsCloseGlass = "models/debug/debugwhite",
FrontLightsFar = "models/debug/debugwhite",
FrontLightsFarGlass = "models/debug/debugwhite"
}
local COLORS = {
Exterior = Color(30, 30, 30, 255),
Chrome = Color(180, 180, 180, 255),
Plastic = Color(110, 110, 110, 255),
Glass = Color(50, 50, 50, 200),
Under = Color(150, 150, 150, 255),
DoorInterior = Color(120, 120, 120, 255),
InteriorFloor = Color(30, 30, 30, 255),
DashboardBase = Color(30, 30, 30, 255),
Seats = Color(150, 150, 150, 255),
InteriorRoof = Color(30, 30, 30, 255),
DoorHandle = Color(210, 210, 210, 255),
Grill = Color(30, 30, 30, 255),
Shelf = Color(30, 30, 30, 255),
Sideskirts = Color(30, 30, 30, 255),
Vent = Color(40, 40, 40, 255),
InteriorFrame = Color(30, 30, 30, 255),
LightsContainer = Color(50, 50, 50, 255),
ReverseLights = Color(240, 240, 240, 255),
Blinkers = Color(255, 140, 0, 255),
FrontParkingLights = Color(190, 190, 190, 255),
RearParkingLights = Color(180, 80, 50, 255),
StopLights = Color(220, 60, 20, 255),
Insulation = Color(60, 60, 60, 255),
DashButtons = Color(60, 60, 60, 255),
FrontLightsClose = Color(130, 130, 130, 255),
FrontLightsCloseGlass = Color(245, 240, 240, 255),
FrontLightsFar = Color(130, 130, 130, 255),
FrontLightsFarGlass = Color(255, 220, 40, 255)
}
local builder = {}
if SERVER then
builder = MeshBuilder:new(LINK)
builder:build("Body__Exterior", Vector(0), Angle(0), SCALE, COLORS.Exterior, MATERIALS.Exterior, chip(), chip())
builder:build("Glass", Vector(0), Angle(0), SCALE, COLORS.Glass, MATERIALS.Glass, chip(), chip())
builder:build("Body__WindowsLine__Rubber", Vector(0), Angle(0), SCALE, COLORS.Insulation, MATERIALS.Insulation, chip(), chip())
builder:build("Body__TrunkLine__Rubber", Vector(0), Angle(0), SCALE, COLORS.Insulation, MATERIALS.Insulation, chip(), chip())
builder:build("Body__DoorLocks__Locks", Vector(0), Angle(0), SCALE, COLORS.Chrome, MATERIALS.Chrome, chip(), chip())
builder:build("Body__TrunkPinstripe__Chrome", Vector(0), Angle(0), SCALE, COLORS.Chrome, MATERIALS.Chrome, chip(), chip())
builder:build("Body__FuelCapLine__Chrome", Vector(0), Angle(0), SCALE, COLORS.Chrome, MATERIALS.Chrome, chip(), chip())
builder:build("Body__Under__Bottom", Vector(0), Angle(0), SCALE, COLORS.Under, MATERIALS.Under, chip(), chip())
builder:build("Body__Misc__Exterior", Vector(0), Angle(0), SCALE, COLORS.Exterior, MATERIALS.Exterior, chip(), chip())
builder:build("Interior__Seats__Seat", Vector(0), Angle(0), SCALE, COLORS.Seats, MATERIALS.Seats, chip(), chip())
builder:build("Interior__RoofCover__InteriorRoof", Vector(0), Angle(0), SCALE, COLORS.InteriorRoof, MATERIALS.Interior, chip(), chip())
builder:build("Body__Grill__GrillPlastic", Vector(0), Angle(0), SCALE, COLORS.Grill, MATERIALS.Grill, chip(), chip())
builder:build("Body__FrontLightsFrame__Plastic", Vector(0), Angle(0), SCALE, COLORS.Grill, MATERIALS.Grill, chip(), chip())
builder:build("Interior__RearPanel__Panel", Vector(0), Angle(0), SCALE, COLORS.Shelf, MATERIALS.Shelf, chip(), chip())
builder:build("Body__Sideskirts__Plastic", Vector(0), Angle(0), SCALE, COLORS.Sideskirts, MATERIALS.Sideskirts, chip(), chip())
builder:build("Body__DoorsFrame__Chrome", Vector(0), Angle(0), SCALE, COLORS.Chrome, MATERIALS.Chrome, chip(), chip())
builder:build("Body__FrontBumper__Chrome", Vector(0), Angle(0), SCALE, COLORS.Chrome, MATERIALS.Chrome, chip(), chip())
builder:build("Body__FrontBumper__Plastic", Vector(0), Angle(0), SCALE, COLORS.Plastic, MATERIALS.Plastic, chip(), chip())
builder:build("Body__RearBumper__Chrome", Vector(2, 0, 0), Angle(0), SCALE, COLORS.Chrome, MATERIALS.Chrome, chip(), chip())
builder:build("Body__RearBumper__Plastic", Vector(2, 0, 0), Angle(0), SCALE, COLORS.Plastic, MATERIALS.Plastic, chip(), chip())
builder:build("Interior__Floor__InteriorFloor", Vector(0), Angle(0), SCALE, COLORS.InteriorFloor, MATERIALS.InteriorFloor, chip(), chip())
builder:build("Interior__DashBase__Dashboard", Vector(0), Angle(0), SCALE, COLORS.DashboardBase, MATERIALS.DashboardBase, chip(), chip())
builder:build("Dashboard__Vents__Vents", Vector(0), Angle(0), SCALE, COLORS.Vent, MATERIALS.Vent, chip(), chip())
builder:build("Dashboard__Buttons__Buttons", Vector(0), Angle(0), SCALE, COLORS.DashButtons, MATERIALS.DashButtons, chip(), chip())
builder:build("Body__InteriorFrame__Plastic", Vector(0), Angle(0), SCALE, COLORS.InteriorFrame, MATERIALS.InteriorFrame, chip(), chip())
builder:build("FrontLights__BlinkerBase__Plastic", Vector(0), Angle(0), SCALE, COLORS.LightsContainer, MATERIALS.LightsContainer, chip(), chip())
builder:build("Body__RearLightsContainer__Plastic", Vector(0), Angle(0), SCALE, COLORS.LightsContainer, MATERIALS.LightsContainer, chip(), chip())
builder:build("Body__RearLightHolders__Plastic", Vector(0), Angle(0), SCALE, COLORS.LightsContainer, MATERIALS.LightsContainer, chip(), chip())
builder:build("Body__FrontLights__CloseLight", Vector(0), Angle(0), SCALE, COLORS.FrontLightsClose, MATERIALS.FrontLightsClose, chip(), chip())
builder:build("Body__CloseLights__Glass", Vector(0), Angle(0), SCALE, COLORS.FrontLightsCloseGlass, MATERIALS.FrontLightsCloseGlass, chip(), chip())
builder:build("Body__FrontLights__FarLight", Vector(0), Angle(0), SCALE, COLORS.FrontLightsFar, MATERIALS.FrontLightsFar, chip(), chip())
builder:build("Body__FarLights__Glass", Vector(0), Angle(0), SCALE, COLORS.FrontLightsFarGlass, MATERIALS.FrontLightsFarGlass, chip(), chip())
builder:build("Body__ReverseLights__ReverseLight", Vector(0), Angle(0), SCALE, COLORS.ReverseLights, MATERIALS.Lights, chip(), chip())
builder:build("Body__LeftBlinkers__Blinker", Vector(0), Angle(0), SCALE, COLORS.Blinkers, MATERIALS.Lights, chip(), chip())
builder:build("Body__RightBlinkers__Blinker", Vector(0), Angle(0), SCALE, COLORS.Blinkers, MATERIALS.Lights, chip(), chip())
builder:build("Body__ParkingLights__ParkingLight", Vector(0), Angle(0), SCALE, COLORS.RearParkingLights, MATERIALS.Lights, chip(), chip())
builder:build("FrontLights__ParkingLights__ParkingLights2", Vector(0), Angle(0), SCALE, COLORS.FrontParkingLights, MATERIALS.Lights, chip(), chip())
builder:build("Body__StopLights__StopLights", Vector(0), Angle(0), SCALE, COLORS.StopLights, MATERIALS.Lights, chip(), chip())
builder:build("Body__Hood__Exterior", Vector(0), Angle(0), SCALE, COLORS.Exterior, MATERIALS.Exterior, chip(), chip())
builder:build("Body__Trunk__Exterior", Vector(0), Angle(0), SCALE, COLORS.Exterior, MATERIALS.Exterior, chip(), chip())
builder:build("Trunk__Strip__Chrome", Vector(0), Angle(0), SCALE, COLORS.Chrome, MATERIALS.Chrome, chip(), chip())
builder:build("Trunk__Button__Chrome", Vector(0), Angle(0), SCALE, COLORS.Chrome, MATERIALS.Chrome, chip(), chip())
builder:build("Body__LeftFrontDoor__Exterior", Vector(0), Angle(0), SCALE, COLORS.Exterior, MATERIALS.Exterior, chip(), chip())
builder:build("LeftFrontDoor__Frame__Chrome", Vector(0), Angle(0), SCALE, COLORS.Chrome, MATERIALS.Chrome, chip(), chip())
builder:build("LeftFrontDoor__Glass__Glass", Vector(0), Angle(0), SCALE, COLORS.Glass, MATERIALS.Glass, chip(), chip())
builder:build("LeftFrontDoor__Interior__DoorInterior", Vector(0), Angle(0), SCALE, COLORS.DoorInterior, MATERIALS.DoorInterior, chip(), chip())
builder:build("LeftFrontDoor__Handle__Chrome", Vector(0), Angle(0), SCALE, COLORS.DoorHandle, MATERIALS.DoorHandle, chip(), chip())
builder:build("Body__RightFrontDoor__Exterior", Vector(0), Angle(0), SCALE, COLORS.Exterior, MATERIALS.Exterior, chip(), chip())
builder:build("RightFrontDoor__Frame__Chrome", Vector(0), Angle(0), SCALE, COLORS.Chrome, MATERIALS.Chrome, chip(), chip())
builder:build("RightFrontDoor__Glass__Glass", Vector(0), Angle(0), SCALE, COLORS.Glass, MATERIALS.Glass, chip(), chip())
builder:build("RightFrontDoor__Interior__DoorInterior", Vector(0), Angle(0), SCALE, COLORS.DoorInterior, MATERIALS.DoorInterior, chip(), chip())
builder:build("RightFrontDoor__Handle__Chrome", Vector(0), Angle(0), SCALE, COLORS.DoorHandle, MATERIALS.DoorHandle, chip(), chip())
builder:build("Body__LeftRearDoor__Exterior", Vector(0), Angle(0), SCALE, COLORS.Exterior, MATERIALS.Exterior, chip(), chip())
builder:build("LeftRearDoor__Frame__Chrome", Vector(0), Angle(0), SCALE, COLORS.Chrome, MATERIALS.Chrome, chip(), chip())
builder:build("LeftRearDoor__Glass__Glass", Vector(0), Angle(0), SCALE, COLORS.Glass, MATERIALS.Glass, chip(), chip())
builder:build("LeftRearDoor__Interior__DoorInterior", Vector(0), Angle(0), SCALE, COLORS.DoorInterior, MATERIALS.DoorInterior, chip(), chip())
builder:build("LeftRearDoor__Handle__Chrome", Vector(0), Angle(0), SCALE, COLORS.DoorHandle, MATERIALS.DoorHandle, chip(), chip())
builder:build("Body__RightRearDoor__Exterior", Vector(0), Angle(0), SCALE, COLORS.Exterior, MATERIALS.Exterior, chip(), chip())
builder:build("RightRearDoor__Frame__Chrome", Vector(0), Angle(0), SCALE, COLORS.Chrome, MATERIALS.Chrome, chip(), chip())
builder:build("RightRearDoor__Glass__Glass", Vector(0), Angle(0), SCALE, COLORS.Glass, MATERIALS.Glass, chip(), chip())
builder:build("RightRearDoor__Interior__DoorInterior", Vector(0), Angle(0), SCALE, COLORS.DoorInterior, MATERIALS.DoorInterior, chip(), chip())
builder:build("RightRearDoor__Handle__Chrome", Vector(0), Angle(0), SCALE, COLORS.DoorHandle, MATERIALS.DoorHandle, chip(), chip())
builder:getResult()
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