Skip to content

Import Export: Garages

Bob74 edited this page Sep 10, 2020 · 6 revisions

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.

Be careful, some offices will overlaps with the garages making it super glitchy.

It 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

Default values set by bob74_ipl

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)
Clone this wiki locally