# Sistema Trafico Dinamico

### Descripcion

Actualmente el Arma Reforger no cuenta con un sistema de vida civil por defecto en el juego. Esto implica que los editores, si lo necesitan deban crear a mano cada civil y cada civil conduciendo a mano, y esto a parte de llevar mucho tiempo el cual se carece, al final la IA siempre hace las mismas rutas.

Con este sistema podemos tener siempre un trafico alrededor de los jugadores, los cuales nunca haran lo mismo, y lo mejor, al editor solo le costara un par de minutos configurarlo.

### Configuracion

Este paso es muy sencillo, unicamente debemos añadir al GameMode el componente ***BH\_TrafficComponent***

![](/files/380c07d7d1d23c90f8bb6728ccef970f28c108b2) ![](/files/71bb960ddc0e90a49c4db9e5c1986c7216925548)

Ya no hay nada mas que hacer que configurar el modulo.

![](/files/19bb4c0f0245e8136eec3dcc419a77a7bd68a2f2)

#### Parametros

* ***Activation Radius:*** Radio del jugador en el que habra actividad de trafico. Se toma cada jugador independientemente, asi que si se separan los jugadores, la cantidad de trafico se dividira para que todos ellos tengan trafico de vehiculos en su zona.
* ***Min Spawn Radius:*** Radio minimo en el cual no spawnearan vehiculos delante del jugador.
* ***Desactivation Radius:*** Radio en el cual se desactivara el trafico por zona. Este valor debe ser superior al Activation, para que no desaparezcan vehiculos a la vista del jugador.
* ***Check Interval:*** Cada cuanto tiempo, en segundos, verifica los valores anteriores.
* ***Max Simultaneous Vehicles:*** Maximo de vehiculos simultaneos que habra en el mapa. Para fijar este valor hay que tener en cuenta si en la mision se van a dividir los jugadores, ya que este es el valor maximo de vehiculos que existiran en el mapa, asi que si se ponen pocos, y los jugadores se dividen en tres zonas distintas del mapa, es muy probable que haya nada o muy poco trafico en alguna zona.
* ***Density Per Km:*** Densidad de puntos de spawn por kilometro de carretera. A menor valor, mayor puntos de spawn, pueden incluso spawnear unos vehiculos encima de otros, si hay que spawnear muchos vehiculos en una zona que haya poca carretera/caminos.
* ***Static Percentage:*** Porcentaje de vehiculos estaticos que spawnearan en la zona. Sobre el parametro de maximos vehiculos simultaneos.
* ***Urban Detection Radius:*** Radio para detectar clusters (prefabs) de casas para declarar la zona urbana.
* ***Mun Buildings For Urban:*** Numero de casas para considerarla urbana.
* ***Prefabs Vehicles:*** Listado de prefabs de vehiculos. Recomiendo utilizar los prefabs de vehiculos civiles del mod **Bhelma Core**. estan modificados a una velocidad maxima de 30km/h, para que la IA, no vaya derrapando y teniendo accidentes.
* ***Prefabs Drivers:*** Listado de prefabs de la IA que queramos que sean los conductores.
* ***Enabled:*** Activar o desactivar el modulo.
* ***Urban Behavior Enabled:*** Activar comportamiento urbano. (Paran cerca del jugador, bajan del vehiculo, se dirijen a una vivienda caminando y estan un tiempo, vuelven tras ese tiempo a su vehiculo, y continuan su marcha).
* ***Urban Behavior Radius:*** Radio en metros del jugador para activar el comportamiento urbano.
* ***Building Stay Min:*** Tiempo en segundos minimo el cual la IA estara dentro/al lado de la edificacion.
* ***Building Stay Max:*** Tiempo en segundos maximo el cual la IA estara dentro/al lado de la edificacion.
* ***Debug Mode:*** Para activar el modo debug en consola.
* ***Scan Grid Spacing:*** Espaciado en metros del gris de muestreo para detectar carreteras. A menor valor, mas preciso pero mas lento, asi que tardara mas en cargar el servidor al inicio. este valor dejarlo por defecto en los mapas oficiales. Dependen del Navmesh.

En mapas no oficiales, aconsejo no modificarlo, y solo tocar en caso de que la IA se pierda conduciendo. Esto va a depender de la calidad con la que este desarrollado el navmesh del mapa.

### Zonas de Exclusion

Es posible que el editor desee que en ciertas zonas no spawneen vehiculos y tampoco haya trafico, como por ejemplo, bases militares, pistas de aeropuertos, etc..., al final y al cabo este sistema toma como referencia todo tipo de calzada, dando igual la zona que sea.\
Para ello, podemos crear zonas donde no haya ni trafico y spawneen vehiculos.

#### Configuracion

Para crear estas zonas, simplemente deberemos poner un slot en la zona que deseemos. Pueden ser tantos como necesitemos y cada uno de ellos es independiente, asi que pueden llevar configuraciones distintas.\
Estos slots no necesitan de la jerarquia de **Area/Layer**, simplemente se añaden al mapa como un objeto mas, como se puede ver en la siguiente imagen.

![](/files/269b17ed471dd77e2a678c7b4adcf05bf54334b0)

Una vez añadidos los slots, pasamos a configurar cada uno de ellos.

![](/files/9f6d2f719a178463c564e6cad8952def587cffc4)

#### Parametros

* ***Radius:*** Radio de efecto en el cual no habra trafico ni puntos de spawn de trafico.
* ***Enabled:*** Activar o desactivar el slot.
* ***Debug Mode:*** Para activar el debug en consola de este slot.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bhelma.gitbook.io/bhelma-core/sistema-trafico-dinamico.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
