ai-exitsleeping
Un jugador que cierra sesión se queda en el mundo como un cuerpo dormido que otros pueden cargar y meter en vehículos.
ai-exitsleeping mantiene en el mundo a los personajes que han cerrado sesión. Cuando un jugador sale del servidor o vuelve a la pantalla de personajes, su personaje se tumba como cuerpo dormido donde estaba. Otros jugadores pueden cargarlo, meterlo en un vehículo y volver a sacarlo, y el dueño despierta allí donde haya acabado el cuerpo.
Qué hace en el juego
- Cuerpos dormidos. El cuerpo tiene el aspecto del personaje (a través de la capa de apariencia de AI Core, así que funciona cualquier script de ropa soportado) y una de las posturas tumbadas del panel. Todos los jugadores ven la misma postura.
- Cargar. Acércate a un cuerpo y pulsa la tecla de interacción en Carry Sleeping Player. X (o Stop Carrying) lo deja donde estás. No puedes cargar dentro de un vehículo, abatido ni esposado.
- Vehículos. Mientras cargas, Put in Vehicle en un vehículo sienta el cuerpo en un asiento de pasajero. Take Out Sleeping Player en un vehículo con un cuerpo dentro lo saca (y pasas a cargarlo).
- Despertar. La siguiente aparición del dueño es donde está ahora el cuerpo: en el suelo, al hombro de quien lo carga o en el asiento del vehículo en que lo metieron.
- Caducidad. Los cuerpos de los jugadores que cerraron sesión hace más días que los del panel se quitan.
- Zonas ocultas y mundos privados. No se deja ningún cuerpo dentro de una zona oculta (panel), y los cuerpos dejados allí se ocultan. Con Ignore private worlds activado, los jugadores dentro del interior de una casa o un motel no dejan cuerpo ni ven ninguno.
Instalación
Lo instala la receta de AI Core. A mano: ensure ai-exitsleeping después de ai-core. La tabla ai_exitsleeping_sleepers se crea en el primer inicio.
Si tu script de aparición coloca él mismo al jugador después de la aparición de ai-core, pon Wake up on en PlayerLoaded export (spawn script) y llama a exports['ai-exitsleeping']:PlayerLoaded() desde él (mira la página para desarrolladores).
Ajustes del panel
Panel de administración > Exit Sleeping.
Pestaña: General
Cuánto tiempo se quedan los cuerpos dormidos, a qué distancia se dibujan y qué pueden hacer los jugadores con ellos.
Sleeping bodies (cuerpos dormidos): un jugador que cierra sesión se queda en el mundo como cuerpo dormido donde se fue, y despierta donde haya acabado el cuerpo.
| Ajuste | Qué cambia | Unidad | Por defecto |
|---|---|---|---|
| Keep bodies for | Los cuerpos de los jugadores que cerraron sesión hace más de esto se quitan. 1-365. | días | 3 |
| Draw distance | Los cuerpos dormidos aparecen cuando un jugador se acerca a esta distancia y desaparecen más allá. 5-60, en pasos de 0.5. | m | 25 |
| Ignore private worlds | Los jugadores dentro de un mundo privado (el interior de una casa o una habitación de motel) no dejan cuerpo al cerrar sesión ni ven cuerpos mientras están dentro. | activado / desactivado | activado |
| Wake up on | Character spawn (ai-core) o PlayerLoaded export (spawn script). Mantén el valor por defecto salvo que un script de aparición llame a exports['ai-exitsleeping']:PlayerLoaded() después de su propia aparición. | Character spawn (ai-core) |
Carrying and vehicles (cargar y vehículos): los jugadores pueden cargar un cuerpo dormido, meterlo en el asiento de un vehículo y volver a sacarlo.
| Ajuste | Qué cambia | Unidad | Por defecto |
|---|---|---|---|
| Interaction distance | A qué distancia debe estar un jugador para cargar un cuerpo o llegar a un vehículo. 1-10, en pasos de 0.5. | m | 2.5 |
| Server distance check | El servidor rechaza una acción de cargar o de vehículo desde más lejos que esto (contra trampas). 2-30, en pasos de 0.5. | m | 6 |
| Position check | Cada cuánto actualiza el servidor dónde están los cuerpos cargados y los cuerpos en vehículos, para que el dueño despierte en el sitio correcto. 1-60. | s | 5 |
| Debug messages | Imprime lo que hace el script en las consolas del servidor y del cliente. | activado / desactivado | desactivado |
Pestaña: Animations
Las posturas tumbadas de los cuerpos dormidos y la animación de cargar. Cada animación es un Animation dictionary, un Animation name y unos Animation flags (flags de animación de GTA, 0-65535: 1 en bucle, 49 en bucle en la parte superior del cuerpo mientras camina, 33 en bucle mientras está enganchado).
| Tarjeta | Qué cambia | Por defecto |
|---|---|---|
| Lying poses | Cada cuerpo elige una de estas al azar; todos los jugadores ven la misma postura. Hasta 20. | amb@world_human_bum_slumped@male@laying_on_left_side@idle_a / idle_b, flags 1 |
| Carrying player | La animación del jugador que carga un cuerpo. | missfinale_c2mcs_1 / fin_c2_mcs_1_camman, flags 49 |
| Carried body | La animación del cuerpo al hombro de quien lo carga. | nm / firemans_carry, flags 33 |
Carry position (posición al cargar): dónde se coloca el cuerpo cargado sobre quien lo carga.
| Ajuste | Qué cambia | Unidad | Por defecto |
|---|---|---|---|
| Bone index | Índice del hueso de quien carga al que se engancha el cuerpo (0 = la raíz del ped). | 0 | |
| Offset right | -5 a 5, en pasos de 0.01. | m | 0.2 |
| Offset forward | -5 a 5. | m | 0.15 |
| Offset up | -5 a 5. | m | 0.63 |
| Rotation X | -360 a 360, en pasos de 0.5. | ° | 0.5 |
| Rotation Y | -360 a 360. | ° | 0.5 |
| Rotation Z | -360 a 360. | ° | 5 |
Pestaña: Hidden areas
Lugares donde no se muestra ningún cuerpo dormido, como interiores o zonas seguras. Un registro por zona (New area / Delete area). Borrar una zona vuelve a hacer visibles los cuerpos dormidos de dentro. No viene ninguna lista.
Area (zona): los jugadores que cierran sesión dentro no dejan cuerpo; los cuerpos dejados dentro se ocultan (el dueño sigue despertando allí).
| Ajuste | Qué cambia | Unidad | Por defecto para una nueva |
|---|---|---|---|
| Name | El nombre de la zona. | ||
| Shape | Ball, Cylinder o Polygon: una esfera o un cilindro alrededor de un punto central, o un polígono a partir de esquinas. | Ball | |
| Centre | El centro de la zona (esfera y cilindro). | punto | |
| Radius | Metros del centro al borde (esfera y cilindro). 1-2000. | m | 25 |
| Height | Metros hacia arriba y hacia abajo que alcanza la zona (cilindro: desde el centro; polígono: más allá de su esquina más baja y más alta). 0.5-1000. | m | 10 |
Polygon corners (esquinas del polígono, solo polígono): añade una esquina en cada giro del borde, en orden (cámara libre o tu posición); un polígono necesita al menos tres, hasta 64. La forma se dibuja en el mundo mientras este campo está en pantalla.
Comandos
| Comando | Argumentos | Quién | Qué hace |
|---|---|---|---|
/exitsleeptest | ninguno | Administradores (ai.admin) | Activa o desactiva tu propio cuerpo dormido (prueba): crea un cuerpo donde estás, o lo quita. |
Teclas
| Tecla por defecto | Qué hace |
|---|---|
| X | Dejar en el suelo al jugador dormido que cargas |
Límites conocidos
- Los cuerpos solo existen en el mundo compartido: dentro de un interior instanciado, un cuerpo cargado se deja en su última posición exterior.
- Tras un reinicio del servidor, cada cuerpo queda tumbado en el suelo en su última posición guardada (no se conservan los estados de cargado y sentado).
- Un jugador que despierta pocos segundos después de que desaparezca quien lo cargaba o el vehículo puede aparecer en el último sitio guardado (el intervalo de Position check).