Loading...
Loading...
Add save and load game state functionality via RemixSDK
npx skill4agent add farworld-labs/remix-skills remix-save-game<script src="https://cdn.jsdelivr.net/npm/@remix-gg/sdk@latest/dist/index.min.js"></script>await window.RemixSDK.ready()await window.RemixSDK.ready();window.RemixSDK.gameStateRecord<string, unknown> | null | undefinedconst savedState = window.RemixSDK.gameState;const state = savedState ?? { score: 0, level: 1 };saveGameStategameStatewindow.RemixSDK.singlePlayer.actions.saveGameState({
gameState: { score: player.score, level: player.level },
});<script>
let clicks = 0;
async function init() {
await window.RemixSDK.ready();
// Load
const gameState = window.RemixSDK.gameState;
if (gameState && typeof gameState.clicks === "number") {
clicks = gameState.clicks;
}
document.getElementById("count").textContent = clicks;
document.getElementById("btn").addEventListener("click", () => {
clicks++;
document.getElementById("count").textContent = clicks;
// Save after every click
window.RemixSDK.singlePlayer.actions.saveGameState({
gameState: { clicks },
});
});
}
init();
</script><script>
let level = 1;
let coins = 0;
async function init() {
await window.RemixSDK.ready();
// Load
const saved = window.RemixSDK.gameState;
if (saved) {
level = saved.level ?? 1;
coins = saved.coins ?? 0;
}
startLevel(level);
}
function onLevelComplete() {
level++;
coins += 10;
// Save at level transitions
window.RemixSDK.singlePlayer.actions.saveGameState({
gameState: { level, coins },
});
startLevel(level);
}
init();
</script>