just want to know what is the difference between the 2 material command line which can be added in the model component
Code: Select all
material = "xxxxx",Code: Select all
materialOverrides = { ["xxxxxx"] = "xxxxxxx",Code: Select all
material = "xxxxx",Code: Select all
materialOverrides = { ["xxxxxx"] = "xxxxxxx",You have to do all overrides in one go, e.g. materialOverrides = { ["a"] = "b", ["b"] = "c" }AdrTru wrote:There is some bug.
If you use materialOverrides = { "a" = "b" } and next materialOverrides = { "b" = "c" } then material c is in, but after save and load is loaded material a.


Code: Select all
{
class = "Model",
model = "mod_assets/sx_town/models/sx_town_window_indoor_snapon_lightrays.fbx",
materialOverrides = { ["sx_town_wood_generic"] = "sx_town_wood_generic", ["sx_town_window"] = "sx_town_window_church", ["sx_town_lightrays"] = "sx_town_lightrays" },
offset = vec(0, 0.1, 0),
},Code: Select all
defineObject{
name = "sx_town_window",
components = {
{
class = "Model",
model = "mod_assets/sx_town/models/sx_town_wall_window_low_snapon.fbx",
offset = vec(0, 0, 0.05),
},
{
class = "Light",
offset = vec(0, 1.75, 0),
color = vec(1.5, 1.0, 0.5),
brightness = 5,
range = 6,
},
{
class = "Timer",
timerInterval = 0,
triggerOnStart = true,
currentLevelOnly = true,
onActivate = function(self)
local h,i,light = (GameMode.getTimeOfDay()*12+9)%24,1,true
while true do
local n = self.go.data:get(i)
if not n or h < n then break end
light = not light
i = i+1
end
if light then
self.go.light:enable()
self.go.model:setMaterialOverrides({sx_town_window = "sx_town_window_light"})
else
self.go.light:disable()
self.go.model:setMaterialOverrides({sx_town_window_light = "sx_town_window"})
end
self:setTimerInterval(utils.script.timeOfDayRatio*0.01*(1+math.random()))
end,
},
{
class = "Script",
name = "data",
source = [[
data = {2, 7, 9, 20}
function get(self,name) return self.data[name] end
function set(self,name,value) self.data[name] = value end
]],
},
},
placement = "wall",
editorIcon = 92,
tags = { "sx_walls" },
}