Location System
Each shop supports unlimited physical locations, each with its own ped, blip, interaction distance, and enabled state.
Features
- Multi-Location: One shop can exist at multiple locations across the map
- Map View: GTA V map visualization using Leaflet with interactive markers
- 3D Coordinate Picker: Raycast-based in-game coordinate selection
- Ped Placer: Interactive ped placement with real-time position and rotation controls
- Per-Location Settings: Independent blip, ped, interaction distance, and enabled toggle per location
- Bulk Import: Import locations from JSON with append or replace modes
Location Fields
| Field | Description |
|---|---|
| Location Name | Display name for the location |
| Interaction Coords | XYZ coordinates and heading for the interaction point |
| Blip Enabled | Toggle map blip for this location |
| Blip Sprite | Blip icon ID |
| Blip Color | Blip color ID |
| Ped Enabled | Toggle NPC at this location |
| Ped Model | Ped model name (e.g., mp_m_shopkeep_01) |
| Ped Scenario | Ped animation scenario |
| Ped Coordinates | XYZ + heading for the ped (can differ from interaction) |
| Enabled | Toggle location on/off without deleting it |
| Interaction Distance | Override distance for this specific location |
3D Coordinate Picker
The coordinate picker uses raycasting to let you select positions in the game world:
- A green line and sphere follow your camera to the targeted surface
- Press E or Enter to confirm the position
- Press Right Click or ESC to cancel
Ped Placer
When placing a ped, an advanced placement mode activates:
- A semi-transparent preview ped follows your camera position
- Press F to toggle the fine-tuning UI
- Adjust X, Y, Z coordinates and heading with precise controls
- Click Confirm to save or Cancel to abort
Interaction Distance Priority
The interaction distance follows a priority chain:
- Location distance — if set on the specific location
- Shop distance — if set on the shop
- Global config —
Config.InteractionDistance(default:10.0)
Bulk Import
Import multiple locations at once via JSON:
- Append Mode: Adds new locations to existing ones
- Replace Mode: Removes all existing locations and imports fresh
