Skip to content

Guía de funciones

Cómo se usa Cuxial Tablet en el juego: cada página de la tablet, la economía VIP, el estudio de mira, los directos y el panel de administración.

Cuxial Tablet tiene seis páginas, que se eligen en la barra superior. Esta página explica qué hace cada una para el jugador y cómo el staff lo edita todo desde el panel de administración.

Abrir la tablet ​

F1 la abre y la cierra. El personaje coge un prop de tablet con la mano izquierda y reproduce una animación mientras está abierta. Por defecto no se abre mientras el jugador está muerto, nadando, conduciendo o esposado; de pasajero sí. Con tablet.rememberPage la tablet se reabre en la última página visitada; si no, se abre en tablet.startPage.

Las páginas se desactivan una a una en tablet.pages. Una página desactivada desaparece de la barra y no se puede abrir con los exports.

Perfil ​

El carnet del jugador, sus cuentas, su trabajo y grado actuales, las horas trabajadas y los minutos de la sesión actual. Debajo, dos listas:

  • Vehículos: nombre, matrícula y si cada uno está en el garaje, fuera, destruido o en el depósito.
  • Propiedades: nombre, dirección y tipo (casa, apartamento, garaje o negocio).

Las dos listas salen de adaptadores que leen tus propios recursos. De fábrica, los vehículos salen de qbx_vehicles y las propiedades de nolag_properties; sin ellos las listas quedan vacías. Consulta Hooks.

Noticias ​

Una portada con entradas destacadas y en tendencia, un filtro por categoría y un feed. Cinco tipos de entrada:

TipoQué contiene
ArtículoTítulo, entradilla, miniatura y cuerpo
GaleríaUn conjunto de imágenes
VídeoUn enlace a un vídeo
EventoUna fecha y un lugar
EncuestaOpciones que votan los lectores, un voto por personaje

Los lectores abren una entrada, le dan like y votan en las encuestas. Una entrada pasa a tendencia cuando alcanza news.autoTrendingLikeThreshold likes, y las news.trendingCount entradas con más likes se muestran arriba.

Los jugadores cuyo trabajo está en news.publisherJobs, y el staff, ven un botón Redactar. Eligen el tipo, la categoría, el título y el contenido, y la entrada se publica al momento para todos. Los autores pueden borrar sus propias entradas; el staff puede borrar cualquiera.

Directos ​

Los jugadores cuyo trabajo está en live.broadcasterJobs, y el staff, pueden emitir desde la página de noticias. El locutor pone un título al directo, coge un prop de cámara al hombro y la cámara del juego pasa a ser la emisión: lo que mira es lo que ven los espectadores. La rueda del ratón hace zoom, Retroceso corta el directo y el micrófono se activa y desactiva desde la tablet.

Cuando empieza un directo, todo el servidor recibe una alerta en pantalla. Los espectadores lo abren desde la lista de directos activos y lo ven dentro de la tablet, con un chat limitado a live.chat.maxLen caracteres y live.chat.perMinute mensajes por minuto, y reacciones rápidas. Un directo termina cuando el locutor lo corta, se desconecta, llega a live.maxDurationSec o el staff lo corta desde el panel. Un directo admite hasta live.maxViewers espectadores.

El vídeo viaja por el módulo de media de Cuxial Bridge. Con el relay configurado, los locutores publican a la calidad de live.enc; sin él, el vídeo pasa por el servidor de juego a calidad reducida. Consulta Instalación.

Trabajos online ​

Cada servicio de data/jobs_online.lua es una tarjeta con su nombre, imagen, color y cuántos jugadores están en servicio ahora mismo. Los recuentos se refrescan cada jobs.onlineRefreshSec segundos. Las tarjetas se ordenan por priority y se agrupan por category.

Empleos ​

Un catálogo de trabajos que el jugador puede empezar por su cuenta, de data/jobs_city.lua: imagen, nombre y descripción. El botón Empezar cierra la tablet y, según jobs.city.startMode:

  • waypoint: marca las coordenadas del trabajo en el mapa.
  • event: dispara un evento de cliente con el id del trabajo, para que tu recurso de trabajos tome el control.

Mira ​

Un estudio para montar una mira personalizada que sustituye a la del juego.

  • Biblioteca: 146 presets en diez categorías (minimalistas, clásicas, corchetes, anillos, tácticas, geométricas, cyber, direccionales, compuestas y vanguardistas). Elige uno como punto de partida.
  • Capas: hasta crosshair.maxLayers capas de seis tipos (punto, cruz, círculo, chevrón, corchete y barra en T), cada una con su tamaño, grosor, separación, longitud, opacidad, color, contorno y rotación. El color global se aplica a las capas sin color propio.
  • Separación dinámica: la separación crece al moverse, esprintar o conducir y se reduce al apuntar, con un factor de suavizado.
  • Por arma: un perfil para cada grupo de arma (cuerpo a cuerpo, pistola, subfusil, rifle, escopeta, francotirador, pesada y arrojadiza). La tablet cambia de perfil al cambiar de arma.
  • Siempre visible: dibuja la mira aunque no se apunte.
  • Códigos: cualquier mira se copia como un código de texto y otro jugador lo pega.
  • Galería: los jugadores publican hasta crosshair.gallery.maxPerPlayer miras con un nombre. Los demás las ven por más gustadas, mejores de la semana o más nuevas, les dan like y las usan con un clic. El staff borra entradas desde el panel.
  • Hitmarker: un marcador al impactar (cruz, X, anillo o punto) con sonido, duración y un número de daño que flota sobre el objetivo. Cada jugador lo ajusta, dentro de lo que permiten crosshair.allowHitmarker y crosshair.allowDamageNumbers.

La mira se guarda en el servidor por personaje y se vuelve a aplicar en cada conexión. El staff puede leer y sobrescribir la mira de cualquier jugador desde el panel.

VIP ​

La página VIP contiene la economía de coins. Las coins viven en una cuenta de dinero de tu framework (vip.account), así que cualquier recurso que dé dinero a esa cuenta da coins. La página tiene siete pestañas.

Tienda ​

Un catálogo de artículos que se pagan con coins, filtrado por categoría y ordenado por destacados, novedades o precio. Cada tarjeta muestra el precio, el stock restante cuando vip.stockMode = 'perItem', la etiqueta nuevo durante vip.newDays días y la etiqueta top ventas en los vip.topSellersCount artículos más vendidos de los últimos 30 días.

FunciónCómo funciona
Ofertas flashUn descuento con fecha de fin. El precio sale tachado y una cuenta atrás corre en la tarjeta.
Artículos limitadosUna fecha de fin tras la cual el artículo sale de la tienda.
PacksUn artículo principal más artículos extra que se entregan juntos.
Requisito de lealtadUn artículo puede exigir un nivel de lealtad.
Categoría temáticaLos artículos con tema llevan un estilo de tarjeta especial.
Vista 3DLos artículos marcados con preview3d muestran un botón Ver en 3D: el arma flota delante de la cámara, se gira y se compra desde ahí.
CarritoHasta vip.cart.maxItems líneas, pagadas de una vez.
Lista de deseosArtículos guardados en el PC del propio jugador.
RegalosCompra un artículo para un jugador conectado con un mensaje. El regalo espera en la bandeja del destinatario y se entrega cuando lo reclama. Se puede añadir un recargo de vip.gift.feePct por ciento.

Los precios incluyen el descuento de lealtad del comprador. Si el inventario no puede llevar el artículo, la compra se devuelve.

Cartera ​

El saldo, el historial de movimientos y dos acciones:

  • Transferir coins a un jugador conectado, perdiendo vip.wallet.transfer.feePct por ciento de comisión, con un mínimo por transferencia y un tope diario por jugador.
  • Canjear un código con la forma VIP-XXXX-XXXX creado por el staff. Cada código da coins o un ítem, tiene un número de usos y una caducidad opcional, y se canjea una vez por personaje.

Diaria ​

Un ciclo de daily.cycleDays premios, uno por día, definidos en data/daily.lua. Las reglas:

  • Un premio se reclama una vez cada daily.claimWindowHours horas.
  • Cada reclamo suma un día a la racha.
  • Los premios en coins reciben un bonus de daily.streakBonusPct por ciento por cada día de racha, con tope en daily.streakBonusMaxPct por ciento. Los premios en ítems no se multiplican.
  • Si pasan más de daily.graceHours horas sin reclamar, la racha queda en riesgo: el siguiente reclamo la reinicia en 1. Con daily.breakStreakOnMiss = false la racha nunca se rompe.
  • Mientras la racha está en riesgo, el jugador puede rescatarla pagando daily.rescue.price coins, hasta daily.rescue.maxPerCycle veces por ciclo.
  • Al completar el ciclo, vuelve a empezar por el día 1. El último día puede marcarse como hito.
  • Los jugadores de un nivel de lealtad con extraDailyDay reciben un día extra al final de cada ciclo, que repite el último premio.

Pase ​

Un pase de temporada con pass.totalTiers niveles y pass.xpPerLevel de XP por nivel. Cada nivel tiene un premio gratis y un premio premium, definidos en data/pass.lua. El premium se activa para la temporada pagando pass.premiumPrice coins.

El XP sale de:

FuenteXP
Reclamar la recompensa diariapass.xpSources.daily
Gastar coins en la tienda o en cajaspass.xpSources.shopPerCoin por coin
Completar un trabajopass.xpSources.jobComplete, a través de cuxial_jobs o del export EmitJobCompleted
Jugarpass.xpSources.playtimePerMin por minuto conectado
Misiones semanalesEl XP de cada misión

Los premios se reclaman nivel a nivel o todos de golpe. Cada semana se eligen pass.missions.weeklyCount misiones de data/missions.lua; la semana se reinicia el día pass.missions.resetDay. Las misiones cuentan trabajos completados, minutos jugados, reclamos diarios, coins gastadas, metros recorridos o cajas abiertas.

Cambiar el nombre o el número de temporada desde el panel inicia una temporada nueva: todos los jugadores empiezan de nuevo en el nivel 1 y el progreso anterior se conserva en la base de datos.

Cajas ​

Las cajas son niveles definidos en data/cases.lua, cada uno con un precio y una probabilidad por rareza. El conjunto de premios posibles es compartido y cada premio tiene una rareza. Abrir una caja:

  1. El jugador elige el nivel y cuántas abrir a la vez, entre cases.multiOpen.
  2. El servidor decide el resultado y cobra las coins.
  3. La tablet reproduce una tira de ruleta que se detiene en la tarjeta ganadora.

Con cases.showOdds se muestran las probabilidades por rareza en cada nivel. Con cases.pity.enabled, un jugador que abre cases.pity.legendaryAfter cajas sin legendaria recibe una garantizada en la siguiente apertura. Los premios que no caben en el inventario van a la bandeja de regalos para reclamarlos después.

Historial ​

Todos los movimientos VIP del personaje: compras, cajas, diaria, premios del pase, transferencias, códigos, regalos, lealtad y ajustes del staff, con filtro por origen.

Lealtad ​

Niveles que se alcanzan por el total de coins gastadas en la tienda, en cajas y en el premium, definidos en vip.loyalty.tiers. Cada nivel tiene un descuento en la tienda y puede añadir un día extra de recompensa diaria. El total nunca baja, así que un nivel nunca se pierde.

Panel de administración ​

/tabletadmin abre el panel para el staff con el permiso admin. Todo lo que se guarda desde él va a la base de datos y se aplica al momento a todos los jugadores, sin reiniciar. Seis pestañas:

PestañaQué edita
AjustesTodas las secciones de shared/config.lua editables en vivo: tablet, VIP, diaria, pase, cajas, noticias, directos, mira y trabajos, más los catálogos de trabajos online y empleos. Las coordenadas de un empleo se eligen en el mundo con la herramienta de colocación.
TiendaEl catálogo: crear, editar, desactivar y reordenar artículos, con un selector de ítems que busca en tu inventario.
Pase y diariaLos premios de cada nivel del pase, el ciclo diario y las misiones semanales.
CajasNiveles, probabilidades y el conjunto de premios, con un simulador que abre un nivel muchas veces y muestra la distribución resultante.
OperacionesBuscar un jugador por nombre, id de servidor o citizenid y ver su estado VIP; dar o quitar coins; dar XP del pase; reiniciar la diaria; leer o sobrescribir su mira; cortar un directo; borrar una entrada de la galería; crear y desactivar códigos y ver quién los ha canjeado.
EstadísticasCoins gastadas por día, número de compradores, artículos más vendidos y cajas abiertas por nivel, en 7 o 30 días.

Cada sección indica si está en valores de fábrica o modificada. Una sección puede volver a los valores de fábrica, y toda la configuración se exporta como JSON y se importa en otro servidor. Cuando otro miembro del staff guarda, el panel se recarga y conserva tus ediciones sin guardar.

Dos ajustes exigen que los jugadores vuelvan a conectar: la tecla de la tablet y la tecla que corta un directo. El panel los marca.

© Cuxial