starfall-data/koptilnya/data/models/ford mustang gt 2015.txt
Nikita Kruglickiy a47d2b43f7 :)
2021-09-19 22:34:23 +06:00

143 lines
8.8 KiB
Plaintext

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