Comandos#
Los jugadores no necesitan ningún comando: se acercan a una máquina. Los comandos de abajo son para administradores y para configurar el servidor. Los tres comandos de administrador comprueban el ACE command.guitarcreator (consulta Instalación).
Comando | Quién | Descripción |
|---|---|---|
| Administrador | Abre el panel de administración en la pestaña Machines: colocar, editar, teletransportarse a máquinas y eliminarlas. |
| Administrador | Abre el panel de administración en la pestaña Music: editar canciones, generar y regenerar charts. |
| Administrador o la consola del servidor | Lee o cambia el nivel, la XP o los puntos de un jugador. Al jugador se le informa de que un administrador actualizó su progreso. |
| Cualquiera, mientras | Los editores en el juego para posiciones, desplazamientos de la guitarra, planos de cámara y público. Consulta Uso → Editores en el juego. |
| Cualquiera, mientras | Activa o desactiva el autoplay: la siguiente canción se toca sola. |
| Cualquiera, mientras | Imprime todas las máquinas cargadas — id, etiqueta, pads, precio, generada — en la consola F8. |
/guitarprogress#
/guitarprogress info <serverId|me> # level, XP, points and equipped guitar
/guitarprogress points <serverId|me> <amount> # ADDS points (negative takes away)
/guitarprogress xp <serverId|me> <amount> # ADDS XP (negative takes away)
/guitarprogress level <serverId|me> <level> # SETS the level, 1 to 50<serverId> es el id de servidor del jugador — el número junto a su nombre en la lista de jugadores — y me funciona dentro del juego. Desde la consola del servidor, quita la barra y usa un id de servidor. Los valores nunca bajan de cero, y establecer un nivel pone la XP al inicio de ese nivel. El jugador debe estar conectado.
Se puede cambiar el nombre de cada comando: Config.Creator.command, Config.Music.command, Config.Progression.command y los nombres de los editores en Config.Debug.
Exports de servidor#
De solo lectura, para cualquier cosa que quiera mostrar lo que pasa en las máquinas: una clasificación en un sitio web, un bot de Discord, un torneo semanal, un script de eventos que premie al mejor jugador. Todos son del lado del servidor; no hay exports de cliente.
GetSongCatalog
Todas las canciones que conoce el servidor, ordenadas por nombre, incluidas las que aún no se han generado.
local songs = exports['qs-guitarpro']:GetSongCatalog()
for _, song in ipairs(songs) do
-- song.id, song.name, song.artist, song.bpm, song.duration
-- song.hasBeatmap: false while it still needs generating
-- song.difficulties: { { id = 'easy', level = 4, notes = 312, enabled = true }, ... }
print(song.name, song.hasBeatmap)
endGetMachines
Todas las máquinas cargadas, indexadas por su id: colocadas con el creador, desde Config.Machines o gestionadas por qs-arcades.
local machines = exports['qs-guitarpro']:GetMachines()
for id, m in pairs(machines) do
-- m.coords = { x, y, z }, m.heading, m.label
-- m.players (1 or 2), m.price, m.paymentMethod ('money' or 'bank')
-- m.allowedModes ({ 'solo', 'duo', 'versus' } or nil for all)
-- m.managed: the owning resource's name, or nil
print(id, m.label, m.players)
endGetRecords
El récord del servidor y las mejores puntuaciones de un chart. La dificultad es 'easy', 'normal' o 'hard'; el número de filas es Config.Leaderboard.topLimit.
local records = exports['qs-guitarpro']:GetRecords('Midnight-Run', 'hard')
if records.serverBest then
-- the full row: name, score, accuracy, max_combo, grade, stars, perfect ... miss
print(('%s holds the record with %d'):format(records.serverBest.name, records.serverBest.score))
end
for rank, row in ipairs(records.top) do
-- row.name, row.score, row.accuracy, row.max_combo, row.grade
print(rank, row.name, row.score)
endGetGlobalTop
Las clasificaciones de todo el servidor que se muestran en el ranking del juego, en todas las canciones y dificultades. Se guardan en caché durante 30 segundos, así que es seguro llamarlo a menudo.
local top = exports['qs-guitarpro']:GetGlobalTop()
-- top.scores: { name, song, difficulty, score, grade }
-- top.combos: { name, song, difficulty, max_combo }
-- top.accuracy: { name, song, difficulty, best_accuracy }
local best = top.scores[1]
if best then print(best.name, best.song, best.score) endMáquinas gestionadas#
Estos exports son la forma en que qs-arcades coloca máquinas dentro de sus arcades. Una máquina gestionada la crea el recurso que llama, es gratuita, solo la ven los jugadores que ese recurso indica, nunca se escribe en la base de datos y desaparece con el recurso que la creó.
Export | Qué hace |
|---|---|
| Crea o actualiza una máquina: |
| La lista completa de máquinas gestionadas que un jugador puede ver y usar. Todo lo que quede fuera se elimina de su juego al instante. |
| Elimina una máquina y termina primero cualquier canción que se esté tocando en ella. Solo el recurso que la creó puede eliminarla. |
| Todas las máquinas gestionadas con su dueño, posición, etiqueta, pads y cuántos jugadores pueden verla actualmente. |
Una llamada rechazada responde { ok = false, error = ... } con uno de not_allowed, bad_data, bad_id, bad_coords, id_taken (otro recurso es dueño de ese id) o not_yours.



