You are viewing a potentially older version of this package. View all versions.
baked-baked_core-1.0.0 icon

baked core

The baked. HUD for the baked. servers: your time played on each server and all of them, your role and the next one, cheers, your team, your ranks and the crew's links. F6 opens it.

Date uploaded 2 days ago
Version 1.0.0
Download link baked-baked_core-1.0.0.zip
Downloads 437
Dependency string baked-baked_core-1.0.0

README

baked_core

The baked. HUD, for the baked. servers on ReSkate. It shows each player their time played, their role, the cheers counts and the crew's links, in the baked. look: paper, ink and Times New Roman.

It's a ReSkate plugin with two copies. The server's copy takes each player's stats from baked_core in ReSkateManager and passes them on; each player's copy draws them. It needs ReSkate 2.1.2 or later, and baked_core 1.8.0 in ReSkateManager.

What players see

A corner tag, top right, once they're on a baked. server:

baked. ● ▌blunt 151h 12m

The yellow dot means the stats are live from the server. The bar beside their role is the role's colour on the server. Their time counts up as they skate. A player can turn the tag off with baked. corner tag on the Binds page of ReSkate's settings; it has no key until they give it one, and it stays off until they turn it on again.

The panel, which F6 opens and closes, down the right of the screen:

Section What it shows
time played. their time on all the servers, then on each one they've played, with here on this one
role. their role on this server, a bar to the next tier and how long until it
cheers. this server's cheers and all the servers'
team. their team and how full it is, if they're on one
boards. their rank on each throwdown board they're on
links. the Discord, the site, the mods and the tapes

Their role is their tier, or a role you gave them, such as Admin or VIP, with its tag and colour. The bar and the next tier are always their tier's. Players can move F6 to another key or pad combo on the Binds page.

Off a baked. server, the panel shows only the links, and says the stats show on a baked. server.

Setting it up

  1. ReSkateManager. Update baked_core to 1.8.0, and on its card tick Run console commands and Change server settings. The stats reach the plugin as a console command, bakedhud, which needs both.
  2. Each server. Add this mod to the server's mods and turn it on. ReSkateManager links its server copy into the server's Plugins folder, and plugin list in the server's console shows it running.
  3. Every player. Add "baked-baked_core" to plugins.required in each server's ReSkateServer.json. A player who doesn't have it gets a card as they join, and GET ALL installs it and joins. ReSkateManager 1.7.1 has no setting for it yet, but it keeps the line when it saves the file.
{
    "plugins": {"required": ["baked-baked_core"]}
}

A player's stats come about 10 seconds after they join, with their welcome card, and again when they reach a new tier. Cheers counts come after each cheers.

For other plugins

Any plugin can put a section on the panel. Emit baked.section with an id, a title and up to 8 rows of a label and a value:

reskate.emit("baked.section", {id = "best", title = "Races", rows = {{"best lap", "41.2s"}, {"wins", 3}}})

Emit it again with the same id to change it, and without rows to take it away: reskate.emit("baked.section", {id = "best"}). Titles are 32 characters at most, and labels and values 40. The panel holds 12 sections at most from other plugins.

Changing it

Everything is in plugin/config.lua:

  • key: the key that opens the panel, before a player changes it.
  • links: the links section, each a name and an address.

The tiers, their tags and colours are baked_core's in ReSkateManager (its config.lua), so they're changed there.

The console command

bakedhud is the server copy's, for ReSkateManager. It runs only from the server's console, never from a player's chat.

Command What it does
bakedhud player <steamid> <base64 json> a player's stats, sent to their copy and kept until they leave
bakedhud cheers <here> <all> this server's cheers count and all the servers', sent to everyone

A player's copy asks the server copy for its stats when it starts, and every 30 seconds until they come. The server copy answers each player once every 10 seconds at most.

In the game, bakedhud demo fills the HUD with made-up stats, to see it anywhere.

Files

File What it holds
plugin/main.lua which copy runs which file
plugin/server.lua the server copy: bakedhud, and passing stats on
plugin/client.lua a player's copy: what comes in, the binds, other plugins' sections
plugin/hud.lua the corner tag and the panel
plugin/text.lua Times New Roman text, a glyph at a time
plugin/glyphs.lua, plugin/atlas/ the glyphs, made by tools/atlas.py
plugin/base64.lua reading the stats off the console line
plugin/config.lua the settings

Testing

tests/run.lua runs both copies, and baked_core's encoding in ReSkateManager, against a stand-in for ReSkate. It needs a Luau runner built from ReSkate's External/luau (Common, Ast, Bytecode, Compiler and VM, with a main that adds loadfile), run from this folder:

luaurun tests/run.lua

It expects ReSkateManager's plugins beside this folder's parent, at ../../ReSkateManagerPlugins/baked_core.

Packaging

python tools/package.py writes dist/baked-baked_core-<version>.zip for Thunderstore, without tests/ and tools/. In the upload form, pick the Plugins category.

CHANGELOG

Changelog

The version is the one in manifest.json. A patch (1.0.x) fixes something. A minor version (1.x.0) adds something or changes what players see. A major version (2.0.0) needs something from you when you update.

1.1.3

  • Fixed: style tags could stay on a player's old preset, or on custom, after they switched. They catch up within 30 seconds now, and a preset part way through switching no longer shows as custom.

1.1.2

  • Fixed: on a slow PC, the game could stop baked. core the first time it drew the HUD ("the draw handler ran longer than 50 ms").

1.1.1

  • baked. core loads a little at a time, so a slow PC or a cold start can't have the game stop it for taking too long.

  • A new look: dark ink cards like skate.'s own menus, and the row you're on is a slip of paper that follows you down the menu. Menus, the panel and notes slide in and out.

  • your boards in the F7 list: your rank on each board on a baked. server.

  • Staff get admin in the F7 list, with the admin pages of other baked. plugins.

  • Other baked. plugins can ask you to fill something in, and show a card for a race or a game where the corner tag is.

  • Style tags: a tag by each player's name says which trainer preset they skate on. Turn them off in the ui settings.

  • The corner tag and the panel show your role as chat does.

  • F7 in a menu gives you back control of your skater and leaves the menu up. F7 again takes you back into it.

  • Long menus scroll.

  • Menus have a back and a close button at their top right, for the mouse.

  • The keys along the bottom show your pad's buttons once you use a pad.

  • After a server updates baked. core, your stats come back by themselves within a couple of minutes.

  • Fixed: the HUD could stay blank until the next launch.

  • Fixed: the HUD showed on loading screens.

  • Fixed: slider values and long panel sections could show wrong.

1.1.0

  • Menus: other baked. plugins can add menus with buttons, switches and sliders. F7 lists them, and your settings in them are kept.
  • Notes and cards at the top of the screen, from the server and from other baked. plugins. A note that comes while the pause menu is open waits until you're back.
  • The HUD hides while the pause menu or ReSkate's menu is open.
  • UI settings at the bottom of the F7 list: put the corner tag, the panel and the menus on the top left or the top right, and turn the corner tag off. They're kept.
  • The panel and the menus say which keys close them.
  • The corner tag and the panel no longer have the yellow dot.
  • When the plugin restarts while you're on a server, your name and stats come back straight away instead of up to 30 seconds later.
  • Other baked. plugins on a server can read your stats and add to the boards and counters.

1.0.0

  • The baked. HUD: a corner tag with your role and time played, and a panel (F6) with your time on each server and all of them, your role and how far to the next, the cheers counts, your team, your ranks on the boards and the crew's links.
  • Other plugins can add a section to the panel with reskate.emit("baked.section", ...).
  • Needs baked_core 1.8.0 in ReSkateManager to fill it in.