Comandos y teclas#
Lumberjack Job registra un comando, para administradores. Los jugadores trabajan por completo a través del panel del capataz y unas pocas teclas.
Comando o tecla | Dónde | Descripción |
|---|---|---|
| En el juego | Abre el panel de administración; si se vuelve a escribir, lo cierra. Requiere el ace |
Botón izquierdo del ratón | Asignación de tecla | Golpea con el hacha que tienes en la mano el árbol que tienes delante. Es una asignación de teclas de FiveM, así que cada jugador puede cambiarla en Configuración → Asignación de teclas → FiveM. |
| Tecla | Habla con el capataz cuando no se usa target, abre el tajo y lo golpea. Se configura con |
| Tecla | Sale del tajo entre golpes, sin abrir el menú de pausa. |
No hay comandos de consola. Las arboledas ricas y los torneos se inician y detienen desde la pestaña Events del panel de administración, que muestra lo que está en marcha mientras la usas; los reinicios diarios y de temporada se ejecutan solos a las 00:00 hora del servidor.
Exports de cliente#
Para abrir las pantallas del trabajo desde tus propios scripts (un gestor de NPC, un menú radial, una app del teléfono) y para los hooks del inventario.
Abrir la tienda y la clasificación
exports['qs-lumberjack']:openShop() -- buy axes and sell wood
exports['qs-lumberjack']:openLeaderboard() -- the four rankings
-- Older names, kept for NPC managers that already use them. Both open the shop.
exports['qs-lumberjack']:openAxeMenu()
exports['qs-lumberjack']:openSellMenu()Las mismas pantallas responden a eventos de cliente, para menús que disparan un evento en lugar de llamar a un export:
TriggerEvent('qs-lumberjack:shopMenu')
TriggerEvent('qs-lumberjack:openLeaderboard')Los precios siempre se resuelven en el servidor, así que abrir la tienda desde cualquier lugar no puede cambiar lo que paga. El export de la clasificación no hace nada mientras Config.EnableLeaderboard esté desactivado.
Equipar un hacha
exports['qs-lumberjack']:toggleAxe(...) -- ox_inventory's item export
exports['qs-lumberjack']:toggleAxeQuasar(...) -- qs-inventory's item exportCada uno pone el hacha en la mano del jugador, o la guarda si ya tiene una. Leen el ítem de cualquier forma que pase el inventario, o de un nombre de hacha simple como 'axe_iron'. Dos llamadas en menos de 400 ms cuentan como una, para que un inventario que dispara dos veces en un solo uso no se deshaga a sí mismo. Pase lo que pase en la mano, el daño, el botín y la durabilidad siempre los decide el servidor a partir de las hachas que el jugador posee realmente.
Dejar el trabajo
exports['qs-lumberjack']:ExitJob()Para un jugador que lleva la ropa de trabajo: le devuelve su propia ropa, le quita el hacha de la mano y borra los avisos del trabajo. Útil desde un menú multitrabajo o cuando un jugador termina su turno en otro lugar.
Saber cuándo está lista la configuración
AddEventHandler('qs-lumberjack:configReady', function()
-- the admin panel's saved settings are now applied on this client
end)Un evento local que se dispara una vez por sesión, después de que el cliente haya aplicado los ajustes guardados desde el panel de administración sobre config.lua. Espéralo antes de leer valores de Config de este recurso desde otro script.
Exports de servidor#
Para otros recursos que necesitan saber quién está trabajando en el bosque.
IsPlayerOnMission
local busy = exports['qs-lumberjack']:IsPlayerOnMission(source) -- true / falseIndica si el jugador está en una cuadrilla de leñadores con una misión en curso, según el propio registro del servidor. Pasa a false cuando la misión se completa, o cuando el jugador la abandona, cambia de trabajo o se desconecta. Es la respuesta fiable: úsala para impedir que un jugador empiece a la vez la misión de otro trabajo:
if exports['qs-lumberjack']:IsPlayerOnMission(source) then
return -- finish or abandon the lumberjack mission first
endisPlayerOnDuty y getOnDutyCount
local working = exports['qs-lumberjack']:isPlayerOnDuty(source) -- in the work outfit?
local count = exports['qs-lumberjack']:getOnDutyCount() -- how many areAmbos siguen la ropa de trabajo, según informa el cliente de cada jugador; útiles para un tablón de trabajos que muestre cuántos leñadores están trabajando ahora mismo. Se mantienen por compatibilidad; para decidir algo importante, usa mejor IsPlayerOnMission.
Mostrar una notificación de Lumberjack#
Cualquier script de servidor puede mostrar un mensaje mediante la notificación propia del trabajo, con el mismo estilo y la misma ruta que las que envía él mismo, incluso a SendTextMessage cuando Config.DefaultNotifications está desactivado:
TriggerClientEvent('qs-lumberjack:sendNotification', source, 'notify', 'success', 'The yard is paying double today.')
-- type: 'success', 'error', 'info' or 'warning'Lo que se queda en el servidor#
Toda decisión que afecta al dinero o al progreso se toma en el servidor: el daño de un golpe, el botín que suelta un árbol, el desgaste del hacha, los precios de venta, el progreso y el pago de las misiones, el cobro de logros y las puntuaciones de los torneos. Un cliente solo informa de lo que hizo (un golpe, una recogida, un nombre de ítem y una cantidad) y el servidor comprueba la distancia, el nivel, la propiedad y la frecuencia antes de aceptar nada. Los scripts que se integran con el trabajo pueden contar con lo mismo: nada de lo anterior puede concederse desde un cliente.



