> ## Documentation Index
> Fetch the complete documentation index at: https://docs.markz3d.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Creating a new skate shop

Skate shops are where players buy decks, trucks, wheels and complete skateboards. Two of them are included by default, at Vespucci Beach and Paleto Bay.

<Steps>
  <Step title="Open the `config.lua`" />

  <Step title="Scroll down to the section labeled `Config.SkateShops`." />

  <Step title="Now, you can create a new shop.">
    Following this format:

    ```lua theme={null}
    ["myshop_loc_vinewood"] = {
        label = "My Skate Shop",
        coords = vec3(-1504.1227, -926.3768, 10.3),
        heading = 200.0,

        ped = {
            model = "a_m_y_skater_02",
            coords = vec4(-1503.6039, -926.8622, 9.1908, 49.3167),
        },

        camera = {
            coords = vec4(-1504.1227, -926.3768, 10.6649, 50.0),
            relative = false,
            pivotOffset = vec3(0.0, 0.0, 0.0),

            heading = -130.0,
            pitch = -15.0,
            distance = 1.2,
        },

        blip = {
            active = true,
            sprite = 59,
            color = 48,
            scale = 1.0,
        },
    },
    ```

    `myshop_loc_vinewood` *refers to the name of the shop, players never see it.*

    <Note>Copying one of the two included shops is easier than writing an entry from scratch, you only need to change the coordinates.</Note>
  </Step>
</Steps>

***

## The shop

* **label**: the name shown in the shop menu and on the map
* **coords**: where the shop is, players interact here and the parts on sale are displayed here
* **heading**: which way the displayed parts face

## The shopkeeper

* **ped.model**: the ped model standing in the shop
* **ped.coords**: where they stand, the last number being the direction they face

## The camera

While browsing, the player's camera moves to the shop.

* **camera.coords**: what the camera looks at, the last number being its heading
* **camera.relative**: `true` if **coords** is an offset from the shop, `false` if it is a position on the map
* **camera.pivotOffset**: nudges the point the camera turns around, if the part is not quite centered
* **camera.heading**: which side the camera looks from
* **camera.pitch**: how far above or below the part the camera sits, negative looks down
* **camera.distance**: how far back the camera sits

## The map blip

* **blip.active**: set to `false` to hide the shop from the map
* **blip.sprite**: the blip icon
* **blip.color**: the blip color
* **blip.scale**: the blip size

## Loading the shop only with a map

If your shop is inside an MLO, you can make it load only when that resource is started:

```lua theme={null}
required = {
    resource = "my_skateshop_mlo"
},
```

If that resource isn't running, the shop and its blip are skipped and a message is printed in the server console.
