Import Export: Garages - Bob74/bob74_ipl GitHub Wiki
Each CEO office can have 3 differents garages.
The 3 garages are barely placed at the same coordinates (except the ones belonging to Arcadius Business Centre), so they tend to overlap themselves when they are all 3 loaded at the same time.
Therefore, without overlaping, you can load the following garages at the same time:
Arcadius Business Centre: all 3 garages can be enabled at the same time
Maze Bank Building: only 1 garage at a time
Lom Bank: only 1 garage at a time + Mod shop overlaps with the Office (DLC Finance & Felony)
Maze Bank West: only 1 garage at a time
Office garages are all handled the same way. There are 4 of them, from ImportCEOGarage1
to ImportCEOGarage4
.
I will be using ImportCEOGarage1
as an example in this documentation. Replace it with the one you need.
offices will overlaps with the garages making it super glitchy.
Be careful, someIt is recommended to enable the garages only when the player has left the office.
Getting the main object to interact with the interior:
ImportCEOGarage1 = exports['bob74_ipl']:GetImportCEOGarage1Object()
Coordinates
This interior can be found at:
X | Y | Z | ||
---|---|---|---|---|
ImportCEOGarage1.Part.Garage1 | Arcadius Business Centre - Garage 1 | -191.0133 | -579.1428 | 135.0000 |
ImportCEOGarage1.Part.Garage2 | Arcadius Business Centre - Garage 2 | -117.4989 | -568.1132 | 135.0000 |
ImportCEOGarage1.Part.Garage3 | Arcadius Business Centre - Garage 3 | -136.0780 | -630.1852 | 135.0000 |
ImportCEOGarage1.Part.ModShop | Arcadius Business Centre - Mod shop | -146.6166 | -596.6301 | 166.0000 |
ImportCEOGarage2.Part.Garage1 | Maze Bank Building - Garage 1 | -84.2193 | -823.0851 | 221.0000 |
ImportCEOGarage2.Part.Garage2 | Maze Bank Building - Garage 2 | -69.8627 | -824.7498 | 221.0000 |
ImportCEOGarage2.Part.Garage3 | Maze Bank Building - Garage 3 | -80.4318 | -813.2536 | 221.0000 |
ImportCEOGarage2.Part.ModShop | Maze Bank Building - Mod shop | -73.9039 | -821.6204 | 284.0000 |
ImportCEOGarage3.Part.Garage1 | Lom Bank - Garage 1 | -1581.1120 | -567.2450 | 85.5000 |
ImportCEOGarage3.Part.Garage2 | Lom Bank - Garage 2 | -1568.7390 | -562.0455 | 85.5000 |
ImportCEOGarage3.Part.Garage3 | Lom Bank - Garage 3 | -1563.5570 | -574.4314 | 85.5000 |
ImportCEOGarage3.Part.ModShop | Lom Bank - Mod shop | -1578.0230 | -576.4251 | 104.2000 |
ImportCEOGarage4.Part.Garage1 | Maze Bank West - Garage 1 | -1388.8400 | -478.7402 | 56.1000 |
ImportCEOGarage4.Part.Garage2 | Maze Bank West - Garage 2 | -1388.8600 | -478.7574 | 48.1000 |
ImportCEOGarage4.Part.Garage3 | Maze Bank West - Garage 3 | -1374.6820 | -474.3586 | 56.1000 |
ImportCEOGarage4.Part.ModShop | Maze Bank West - Mod shop | -1391.2450 | -473.9638 | 77.2000 |
Object structure
ImportCEOGarage1
+-- Part
| +-- Garage1
| +-- interiorId
| +-- ipl
| +-- Garage2
| +-- interiorId
| +-- ipl
| +-- Garage3
| +-- interiorId
| +-- ipl
| +-- ModShop
| +-- interiorId
| +-- ipl
| +-- Load(part)
| +-- Remove(part)
| +-- Clear()
+-- Style
| +-- concrete
| +-- plain
| +-- marble
| +-- wooden
| +-- Set(part, style, refresh)
| +-- Clear(part)
+-- Numbering
| +-- none
| +-- Level1
| +-- style1
| +-- style2
| +-- style3
| +-- style4
| +-- style5
| +-- style6
| +-- style7
| +-- style8
| +-- style9
| +-- Level2
| +-- ...
| +-- Level3
| +-- ...
| +-- Set(part, num, refresh)
| +-- Clear(part)
+-- Lighting
| +-- none
| +-- style1
| +-- style2
| +-- style3
| +-- style4
| +-- style5
| +-- style6
| +-- style7
| +-- style8
| +-- style9
| +-- Set(part, light, refresh)
| +-- Clear(part)
+-- ModShop
| +-- Floor
| +-- default
| +-- city
| +-- seabed
| +-- aliens
| +-- clouds
| +-- money
| +-- barcode
| +-- zebra
| +-- curvesColor
| +-- blackWhite
| +-- paintbrushBW
| +-- paintbrushColor
| +-- grid
| +-- splashes
| +-- squares
| +-- mosaic
| +-- maze
| +-- marbleBrown
| +-- marbleBlue
| +-- marbleBW
| +-- Set(floor, refresh)
| +-- Clear()
+-- LoadDefault()
Part
Enabling one of the three garages and the mod shop style:
ImportCEOGarage1.Part.Load(part)
Parameter | Description | Valid values |
---|---|---|
part | Garage n°1 | ImportCEOGarage1.Part.Garage1 |
Garage n°2 | ImportCEOGarage1.Part.Garage2 |
|
Garage n°3 | ImportCEOGarage1.Part.Garage3 |
|
Mod shop | ImportCEOGarage1.Part.ModShop |
Removing one part:
ImportCEOGarage1.Part.Remove(part)
Removing all parts:
ImportCEOGarage1.Part.Clear()
Style
Setting the interior's style:
ImportCEOGarage1.Style.Set(part, style, refresh)
Parameter | Description | Valid values |
---|---|---|
part | Garage n°1 | ImportCEOGarage1.Part.Garage1 |
Garage n°2 | ImportCEOGarage1.Part.Garage2 |
|
Garage n°3 | ImportCEOGarage1.Part.Garage3 |
|
Mod shop | ImportCEOGarage1.Part.ModShop |
|
style | Concrete walls and floor | ImportCEOGarage1.Style.concrete |
Plain walls and floor | ImportCEOGarage1.Style.plain |
|
Marble walls and floor | ImportCEOGarage1.Style.marble |
|
Wooden walls and floor | ImportCEOGarage1.Style.wooden |
|
refresh | Refresh the whole interior | true or false |
Numbering
Setting the level's numbers font:
ImportCEOGarage1.Numbering.Set(part, num, refresh)
Parameter | Description | Valid values |
---|---|---|
part | Garage n°1 | ImportCEOGarage1.Part.Garage1 |
Garage n°2 | ImportCEOGarage1.Part.Garage2 |
|
Garage n°3 | ImportCEOGarage1.Part.Garage3 |
|
Mod shop | ImportCEOGarage1.Part.ModShop |
|
num | No level numbers | ImportCEOGarage1.Numbering.none |
Level n°1 font | from ImportCEOGarage1.Numbering.Level1.style1 to ImportCEOGarage1.Numbering.Level1.style9 |
|
Level n°2 font | from ImportCEOGarage1.Numbering.Level2.style1 to ImportCEOGarage1.Numbering.Level2.style9 |
|
Level n°3 font | from ImportCEOGarage1.Numbering.Level3.style1 to ImportCEOGarage1.Numbering.Level3.style9 |
|
refresh | Refresh the whole interior | true or false |
Lighting
Setting the lighting's style:
ImportCEOGarage1.Lighting.Set(part, light, refresh)
Parameter | Description | Valid values |
---|---|---|
part | Garage n°1 | ImportCEOGarage1.Part.Garage1 |
Garage n°2 | ImportCEOGarage1.Part.Garage2 |
|
Garage n°3 | ImportCEOGarage1.Part.Garage3 |
|
Mod shop | ImportCEOGarage1.Part.ModShop |
|
light | No lighting | from ImportCEOGarage1.Lighting.none |
Lighting style | from ImportCEOGarage1.Lighting.style1 to ImportCEOGarage1.Lighting.style9 |
|
refresh | Refresh the whole interior | true or false |
Mod shop
Setting the lighting's style:
ImportCEOGarage1.ModShop.Floor.Set(floor, refresh)
Parameter | Description | Valid values |
---|---|---|
floor | Basic floor | from ImportCEOGarage1.ModShop.Floor.default |
City | ImportCEOGarage1.ModShop.Floor.city |
|
Seabed | ImportCEOGarage1.ModShop.Floor.seabed |
|
Aliens | ImportCEOGarage1.ModShop.Floor.aliens |
|
Clouds | ImportCEOGarage1.ModShop.Floor.clouds |
|
Money | ImportCEOGarage1.ModShop.Floor.money |
|
Barcode | ImportCEOGarage1.ModShop.Floor.barcode |
|
Zebra | ImportCEOGarage1.ModShop.Floor.zebra |
|
Curves Color | ImportCEOGarage1.ModShop.Floor.curvesColor |
|
Black & White | ImportCEOGarage1.ModShop.Floor.blackWhite |
|
Paintbrush Black & White | ImportCEOGarage1.ModShop.Floor.paintbrushBW |
|
Paintbrush Color | ImportCEOGarage1.ModShop.Floor.paintbrushColor |
|
Grid | ImportCEOGarage1.ModShop.Floor.grid |
|
Splashes | ImportCEOGarage1.ModShop.Floor.splashes |
|
Squares | ImportCEOGarage1.ModShop.Floor.squares |
|
Mosaic | ImportCEOGarage1.ModShop.Floor.mosaic |
|
Maze | ImportCEOGarage1.ModShop.Floor.maze |
|
Marble Brown | ImportCEOGarage1.ModShop.Floor.marbleBrown |
|
Marble Blue | ImportCEOGarage1.ModShop.Floor.marbleBlue |
|
Marble Black & White | ImportCEOGarage1.ModShop.Floor.marbleBW |
|
refresh | Refresh the whole interior | true or false |
bob74_ipl
Default values set by LoadDefault = function()
ImportCEOGarage1.Part.Load(ImportCEOGarage1.Part.Garage1)
ImportCEOGarage1.Style.Set(ImportCEOGarage1.Part.Garage1, ImportCEOGarage1.Style.concrete)
ImportCEOGarage1.Numbering.Set(ImportCEOGarage1.Part.Garage1, ImportCEOGarage1.Numbering.Level1.style1)
ImportCEOGarage1.Lighting.Set(ImportCEOGarage1.Part.Garage1, ImportCEOGarage1.Lighting.style1, true)
ImportCEOGarage1.Part.Load(ImportCEOGarage1.Part.ModShop)
ImportCEOGarage1.ModShop.Floor.Set(ImportCEOGarage1.ModShop.Floor.default, true)
end
Example: How to use in your own resources
You can handle and customize the interiors in your own resources using the exported functions:
Citizen.CreateThread(function()
-- Getting the object to interact with
ImportCEOGarage1 = exports['bob74_ipl']:GetImportCEOGarage1Object()
-- Loading Garage 2
ImportCEOGarage1.Part.Clear() -- Removing all garages
ImportCEOGarage1.Part.Load(ImportCEOGarage1.Part.Garage2) -- Loading only Garage 2
-- Setting the garage's style
ImportCEOGarage1.Style.Set(ImportCEOGarage1.Part.Garage2, ImportCEOGarage1.Style.plain)
-- Numbering style
ImportCEOGarage1.Numbering.Set(ImportCEOGarage1.Part.Garage2, ImportCEOGarage1.Numbering.Level1.style5)
-- Lighting style + Refresh
ImportCEOGarage1.Lighting.Set(ImportCEOGarage1.Part.Garage2, ImportCEOGarage1.Lighting.style3, true)
-- Enabling ModShop
ImportCEOGarage1.Part.Load(ImportCEOGarage1.Part.ModShop)
-- with a custom floor + Refresh
ImportCEOGarage1.ModShop.Floor.Set(ImportCEOGarage1.ModShop.Floor.seabed, true)
end)