# calculatePathRoute (Compartido)

> Calcula la ruta más corta por los nodos de ruta entre dos puntos, partiendo del nodo más cercano a cada uno. Para coches, respeta las calles de sentido único.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Función Lua
- **Lado**: Compartido
- **Categoría**: Calles y rutas
- **URL**: https://wiki.mymp.gg/es/calculatePathRoute

## Sintaxis

```lua
table, float|false calculatePathRoute(float fromX, fromY, fromZ, float toX, toY, toZ [, string type = car, bool water = false])
```

## Parámetros

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `fromX, fromY, fromZ` | `float` | Desde dónde sale la ruta. |
| `toX, toY, toZ` | `float` | A dónde llega la ruta. |
| `type` | `string` | `car` para las calles, `ped` para las aceras y caminos peatonales. *(por defecto: `car`)* |
| `water` | `bool` | `true` busca solo en los caminos de barco sobre el agua; `false`, solo en tierra. *(por defecto: `false`)* |

## Retorno

La lista de ids de nodo del inicio al final y la longitud de la ruta en metros. `false` si no hay ruta.

Cuando los dos puntos tienen el mismo nodo más cercano, la lista viene vacía y la longitud es 0.

## Ejemplo

```lua
local position = getElementPosition(localPlayer)
local route, length = calculatePathRoute(position.x, position.y, position.z, 1481.0, -1740.0, 13.5)
if route then
    outputDebugString(("%d nodes, %.0f m"):format(#route, length))
end
```

### Atención

La búsqueda solo pasa por áreas cargadas. Para una ruta larga, pide el área con `requestPathNodesInArea` antes.

## Ver también

- [getPathNodeNeighbours (Compartido)](https://wiki.mymp.gg/es/getPathNodeNeighbours.md): Lista los nodos unidos a un nodo de ruta y cómo es cada unión.
- [getPathNodePosition (Compartido)](https://wiki.mymp.gg/es/getPathNodePosition.md): Devuelve la posición de un nodo de ruta.
- [requestPathNodesInArea (Cliente)](https://wiki.mymp.gg/es/requestPathNodesInArea.md): Pide que se carguen los nodos de ruta de un área además de los que están cerca del jugador. El área sigue cargada hasta releasePathNodes.
