diff --git a/[gameplay]/mapfixes/meta.xml b/[gameplay]/mapfixes/meta.xml
index 6d3e5063f..107c3f626 100644
--- a/[gameplay]/mapfixes/meta.xml
+++ b/[gameplay]/mapfixes/meta.xml
@@ -1,6 +1,6 @@
-
+
@@ -12,5 +12,6 @@
+
\ No newline at end of file
diff --git a/[gameplay]/mapfixes/scripts/client/main.lua b/[gameplay]/mapfixes/scripts/client/main.lua
index 860461f38..a2139dcc5 100644
--- a/[gameplay]/mapfixes/scripts/client/main.lua
+++ b/[gameplay]/mapfixes/scripts/client/main.lua
@@ -1,7 +1,7 @@
addEvent("mapfixes:client:loadAllComponents", true)
addEvent("mapfixes:client:togOneComponent", true)
-local function loadOneMapFixComponent(name, data)
+local function loadOneMapFixComponent(name, data, wasToggled)
-- Clear the previous elements if any
local createdElements = data.createdElements
if createdElements then
@@ -34,10 +34,13 @@ local function loadOneMapFixComponent(name, data)
setGarageOpen(garageID, false)
end
end
-
- -- Don't proceed if the component is disabled
- if not data.enabled then
- return
+ -- Revert previously set model flags
+ local modelFlagsToSet = data.modelFlagsToSet
+ if modelFlagsToSet then
+ for _, v in pairs(modelFlagsToSet) do
+ engineSetModelFlag(v[1], v[2], not v[3])
+ engineRestreamModel(v[1])
+ end
end
-- Create the new elements if any
@@ -60,7 +63,6 @@ local function loadOneMapFixComponent(name, data)
if allocatedID then
if not data.allocatedIDs then data.allocatedIDs = {} end
data.allocatedIDs[#data.allocatedIDs + 1] = allocatedID
-
object = createObject(allocatedID, v.x, v.y, v.z, v.rx, v.ry, v.rz)
if object then
engineSetModelPhysicalPropertiesGroup(allocatedID, v.physicalPropertiesGroup)
@@ -94,6 +96,13 @@ local function loadOneMapFixComponent(name, data)
setGarageOpen(garageID, true)
end
end
+ -- Set model flags if any
+ if modelFlagsToSet then
+ for _, v in pairs(modelFlagsToSet) do
+ engineSetModelFlag(v[1], v[2], v[3])
+ engineRestreamModel(v[1])
+ end
+ end
end
local function loadMapFixComponents(mapFixComponentStatuses)
@@ -116,7 +125,7 @@ local function toggleOneMapFixComponent(name, enable)
return
end
data.enabled = (enable == true)
- loadOneMapFixComponent(name, data)
+ loadOneMapFixComponent(name, data, true)
if eventName ~= "onClientResourceStop" then
outputDebugString("Map fix component '" .. name .. "' is now " .. (data.enabled and "enabled" or "disabled"))
end
diff --git a/[gameplay]/mapfixes/scripts/shared/data.lua b/[gameplay]/mapfixes/scripts/shared/data.lua
index 640c18e3f..508138c5b 100644
--- a/[gameplay]/mapfixes/scripts/shared/data.lua
+++ b/[gameplay]/mapfixes/scripts/shared/data.lua
@@ -90,4 +90,9 @@ mapFixComponents = {
{ 11236, 25, -2164.4531, -255.39062, 38.125, 0 }, -- crackfactwalke
},
},
+ ["model_transparency_fixes"] = {
+ modelFlagsToSet = {
+ { 3089, 'draw_last', true }, -- ab_casdorLok (brown door with glass window)
+ }
+ },
}