Log inGet started
▣
module · drop-in viewer
asset⌬ modulemoduleprimary: init.luau·originates fromworld 15f1acc9-b…

progress

<!-- zero:scaffolded-readme --> <!-- Replace the line below with what this module provides and who consumes it, then delete both comment lines. -->

by◐CarneJon·posted 12d ago
What it does

progress

<!-- zero:scaffolded-readme --> <!-- Replace the line below with what this module provides and who consumes it, then delete both comment lines. -->

TODO: describe this module.

Interface

What this asset declares: the schema it conforms to, what it exposes, and the rendered structured payload.

conforms to

zero/source-extract/v2

game.progress — lo que sobrevive a un reinicio. Vive en DOS sitios, y a propósito: - Lo PERSONAL —qué circuitos has abierto, tus ticks, tus récords y los contadores de tus logros— va en `/source/local/`, la parte del mundo que vive en ESTA máquina. Así el progreso es de quien juega y no de todos: el récord personal solo lo ve quien lo ha hecho, que es lo que pide la especificación. Y cada persona que entre empieza de cero. - El RÉCORD MUNDIAL va en el mundo (`game/records.txt`), porque ese sí tiene que verlo todo el que entre. El archivo del mundo que había antes (`game/progress.txt`) se sigue leyendo UNA vez, como semilla, para que quien ya hubiera jugado no pierda lo suyo; a partir de ahí todo lo personal se escribe en la parte local.

defaults( ) → void

load( ) → void

--!desc El progreso, leído de disco la primera vez y en memoria después.

save( ) → void

--!desc Escribe el progreso en su archivo.

isUnlocked(id: ?) → void

Circuitos

argtypedescription
id?

unlock(id: ?) → void

--!desc Abre un circuito. Devuelve si ha cambiado algo.

argtypedescription
id?

tick(id: ?) → void

argtypedescription
id?

setTick(id: ?, nivel: ?) → void

--!desc Guarda el tick de un circuito, y solo si es mejor que el que había.

argtypedescription
id?
nivel?

openedCount( ) → void

--!desc Los circuitos abiertos, que es lo que mira el desbloqueo.

best(id: ?) → void

Récords --!desc El récord personal de un circuito, en segundos, o nil.

argtypedescription
id?

bestRecord(id: ?) → void

--!desc El récord personal con el conjunto con el que se hizo.

argtypedescription
id?

setBest(id: ?, segundos: ?, character: ?, vehicle: ?, classId: ?) → void

--!desc Guarda el récord personal si el tiempo es mejor. Devuelve si lo es.

argtypedescription
id?
segundos?
character?
vehicle?
classId?

markWin(id: ?, classId: ?) → void

--!desc Apunta que un circuito se ha ganado con una cilindrada.

argtypedescription
id?
classId?

wonWith(id: ?, classId: ?) → void

--!desc Si un circuito se ha ganado con esa cilindrada.

argtypedescription
id?
classId?

readRecords( ) → void

Los récords del mundo: `game/records.txt`, un circuito por línea, con el conjunto (personaje, vehículo y cilindrada) con el que se hizo.

worldRecord(id: ?) → void

--!desc El récord mundial de un circuito, con el conjunto con el que se hizo.

argtypedescription
id?

worldRecords( ) → void

--!desc Los récords de todos los circuitos, por id.

setWorldRecord(id: ?, segundos: ?, character: ?, vehicle: ?, classId: ?) → void

--!desc Guarda un récord mundial. Devuelve si es nuevo.

argtypedescription
id?
segundos?
character?
vehicle?
classId?

counters( ) → void

Contadores de los logros

counter(nombre: ?) → void

argtypedescription
nombre?

addCounter(nombre: ?, n: ?) → void

--!desc Suma a un contador de logro y lo guarda.

argtypedescription
nombre?
n?

forget( ) → void

--!desc Olvida lo leído, para volver a leerlo de disco. Solo para pruebas.

Sub-parts

Everything contained inside this part. Assets are composite children (clickable cards). Files are leaf payloads. Expand any row to view its source.

Showing up to 3 levels deep. Open a part to see what it holds further down.

7+items
▣
module · born here
❒asset
# game.track Los circuitos de Mario Kart OrigoZero Ultimate, construidos en código en cada carga: nada queda congelado en la escena, así que recargar el mundo deja el mismo circuito. ```lua local Track = require("game.track") local inst = Track.build("pradera") ``` ## Qué construye - La carretera, como una fila de losas solapadas un 25 % para que no se vea ninguna juntura. - Un bordillo claro a cada lado. - Nada más: el suelo, el cielo y el mar son de la escena. ## Consultas que da la instancia | Llamada | Qué responde | |---|---| | `inst:nearest(p)` | La muestra más cercana: `index`, `t`, `arc`, `lateral` (metros a la derecha del eje), `along`, `planDistance`, `dir`, `right`. | | `inst:surfaceAt(p)` | `"road"` si el punto cae dentro del ancho del asfalto; si no, la superficie del circuito (`"offroad"` por defecto). | | `inst:startPose(i)` | Posición y rumbo (grados) de la muestra `i`, que es donde aparece un kart. | | `inst:despawn()` | Quita el circuito del mundo. | `Track.current` es el circuito activo. Construir uno nuevo quita el anterior. ## Añadir un circuito Una entrada en `Track.defs`: su nombre, dificultad, ancho, colores, y una lista de puntos de control que se cierran en bucle. La curva pasa por todos ellos y el eje Y es la altura. | Campo | Qué es | |---|---| | `points` | Puntos de control `{ x, y, z }` de la vuelta. | | `width` | Ancho del asfalto en metros. | | `surface` | Superficie de todo lo que no sea asfalto. | | `walled` | Si lleva muros que impiden salirse. | | `laps` | Vueltas de la carrera. | | `roadTint` / `kerbTint` / `groundTint` | Colores. | | `skyPreset` / `timeOfDay` | Cielo del circuito. | | `sea` | Preset de océano, si el circuito tiene mar. |
▲ 0↑ born
backing path · game/progress.module

Problems

Everything affecting this asset right now: its own problems, anything wrong inside it, and problems on its direct dependencies.

0problems
No problems reported on this asset or on the parts this page shows. Parts it leaves out are not counted here.
⌬ZeroMind agent review · awaiting first pass
Findings
Reviewer findings (handle · model · tag · quoted note) appear here once the per-pass review log lands. Today only the rolled-up agent_score is exposed.
usability—
did it work as advertised
quality—
authoring polish + cohesion
performance—
frame & memory budget held
agent review score
—
/ 100
awaiting first pass
usability × 0.40
+ quality × 0.35
+ performance × 0.25
± compat factor

Usability ratings

Did the part work as advertised when consumers tried to drop it in. Separate from upvotes: those are taste; this is "did it function".

—%no reports yet
Sign in to report whether this part worked for you.
Discussion

Scoped to this part · feeds back into the world's score.

0comments
Sign in to post.sign in
No comments yet. Be the first.