Comandos#
Treasure Hunting se controla desde su NPC y sus ítems, así que registra un único comando de chat.
Comando | Dónde | Descripción |
|---|---|---|
| En el juego | Abandona tu grupo, renunciando antes a cualquier búsqueda en la que estés. Si lo ejecuta el líder, disuelve el grupo. |
No hay comandos de administración. Las herramientas del staff acceden al script mediante los exports de servidor de abajo; por ejemplo, para iniciar el cofre legendario en un evento.
Exports de cliente#
Se llaman desde el script de cliente de otro recurso.
Abrir el panel del trabajo
exports['qs-treasure-hunter']:openTreasureMenu() -- the full panel: missions, crew, statistics, shop, guideLas estadísticas, la tienda y la guía son vistas dentro del panel, así que no hay un export para abrir una por separado; un gestor de NPC o una app del teléfono abre el panel. El evento de cliente qs-treasureHunter:openTreasureMenu hace lo mismo.
Grupo
exports['qs-treasure-hunter']:leaveTreasureCrew() -- same as /leavecrewÍtems usables
Son aquello a lo que apunta el client.export de un inventario, y se pueden llamar desde cualquier parte:
exports['qs-treasure-hunter']:toggleMetalDetector() -- take the detector out or put it away
exports['qs-treasure-hunter']:toggleDivingGear() -- put the gear on or off (only with Config.ManageDivingGear)
exports['qs-treasure-hunter']:useClueMap() -- read a clue_map
exports['qs-treasure-hunter']:useTreasureMap() -- read a treasure_mapUsar un mapa sigue retirando el ítem de la mochila en el servidor, así que llamarlo sin tener uno no hace nada. Los eventos de cliente qs-treasureHunter:toggleMetalDetector, qs-treasureHunter:toggleDivingGear y qs-treasureHunter:useMapItem (con el nombre del ítem) hacen lo mismo.
Exports de servidor#
Se llaman desde el script de servidor de otro recurso.
Quién está de búsqueda
exports['qs-treasure-hunter']:IsPlayerOnMission(source) -- true while the server has a hunt to pay this player for
exports['qs-treasure-hunter']:isPlayerOnDuty(source) -- the duty flag, kept for older scripts
exports['qs-treasure-hunter']:getOnDutyCount() -- how many players are on a hunt right nowUsa IsPlayerOnMission para cualquier cosa nueva: lee él mismo la lista de la búsqueda. getOnDutyCount es lo que muestra un scoreboard o una lista de trabajos.
El cofre legendario
exports['qs-treasure-hunter']:startLegendaryChestEvent() -- spawn it now for the whole server
exports['qs-treasure-hunter']:endLegendaryChestEvent() -- sink it without a winnerIniciarlo mientras ya hay uno en curso no hace nada. Usa Config.LegendaryChestEvent para su ubicación, premio y duración, e ignora su chance.
Comprobar un ítem
-- client side, through ox_lib
local count = lib.callback.await('qs-treasureHunter:checkItem', false, 'metal_detector')
-- the amount held, or falseSe mantiene para los recursos que ya lo llaman. Cuenta mediante el mismo enrutamiento de inventario que el resto del script.
Eventos eliminados#
Las versiones anteriores confiaban en el cliente para los precios, la experiencia, el botín y las posiciones de los cofres. Esos eventos ya no existen, y un script que todavía active uno simplemente no hace nada:
Evento antiguo | Reemplazado por |
|---|---|
| El servidor paga según la tarea de la configuración cuando se abre el último cofre. |
| La experiencia proviene del cofre que realmente se abre. |
| El botín se genera en el servidor cuando se valida una reclamación. |
| El servidor elige el grupo, el id del grupo y los cofres, y registra el progreso por sí mismo. |
| La respuesta nunca sale del servidor; el código se compara allí. |
| La entrega de herramientas dentro del inicio de la búsqueda, la tienda y los props limpiados localmente. |
Todo lo que un cliente aún puede enviar (aceptar una búsqueda, reclamar un cofre, leer un tótem, comprar, vender, alquilar) se comprueba en el servidor según la configuración, el nivel del jugador, su mochila y dónde está su ped, y tiene un límite de frecuencia por jugador.



