Hello, I am a moderator for the game Countryball: Europe 1890, and I recently thought of adding a LRT timer to make the competition more fair between runners. However, I quickly realised that retiming every run would take too much time, so I decided to remove it, but it had already automatically changed all the run timing methods from RTA to LRT (the RTA time was blank and the LRT time was the former RTA time). So I manually changed everything back to RTA, put RTA as the default timing method and tried to disable LRT, but doing so makes all the runs invisible. They still exist, but they are considered as not using the default timing method (even though they all use RTA and the only timing method is RTA on the leaderboards). Is this normal ? And is there anything to fix it ? Thanks by advance for your answer.
If you change the time back to LRT, and then turn off LRT times in game settings, does this run show on the leaderboard?
If so, then I might be able to cook up something that automatically changes all the run's times from RTA to LRT.
@YUMmy_Bacon5 Thanks for your offer, but I don't want to change the times to LRT, I want them to be RTA - and I don't want the LRT timer to stay enabled so that people don't get confused when submitting runs to the leaderboards. I changed all the times to RTA before trying to disable LRT because the help text says removing a timer that is used by certain runs can orphan them.
Yeah I know you want it turned off lol. And I wouldn't worry too much about what that text says. Since most of the time, changes like these are reversible.
You said that when you turn off LRT in game settings, all of the runs become orphaned?
If so, could you edit one of those runs to change its time from being under RTA to LRT? Once done, is this newly edited run orphaned with LRT times turned off?
Oh ok.
Yeah, all the runs become orphaned when I turn off LRT. I'll try that on one of my own runs, thanks for the advice.
@YUMmy_Bacon5 It works ! The run I changed to LRT stayed on the leaderboard and it was the only one, apparently the opposite of what the help text says happens lol. Could you please tell me more about what you could do to change all the runs' times from RTA to LRT ? I'd like to not have to retime everything a second time lol.
This should do it.
On the site, open dev tools, and press the "Console" tab.
If needed, type "allow pasting" into the console and press Enter.
Afterwards, copy and paste the code below into it and press Enter.
This should update all the runs to add an LRT.
You can then turn off LRT in the game's settings.
(async () => {
const headers = { "Content-Type": "application/json" };
const session = await fetch("/api/v2/GetSession", {
method: "POST",
headers,
body: JSON.stringify({})
}).then(x => x.json());
const csrfToken = session.session.csrfToken;
for(let page = 1;; page++) {
const data = await fetch("/api/v2/GetModerationRuns", {
method: "POST",
headers,
body: JSON.stringify({
gameId: "w6j7x826",
limit: 100,
page,
search: "",
verifiedById: ""
})
}).then(x => x.json());
for(const run of data.runs.filter(x => x.verified === 0 || x.verified === 1)) {
const runEditData = await fetch("/api/v2/GetRunSettings", {
method: "POST",
headers,
body: JSON.stringify({
runId: run.id
})
}).then(x => x.json());
const updatedRun = await fetch("/api/v2/PutRunSettings", {
method: "POST",
headers,
body: JSON.stringify({
csrfToken,
autoverify: run.verified === 1,
settings: {
...runEditData.settings,
time: runEditData.settings.timeWithLoads || runEditData.settings.time
}
})
}).then(x => x.json());
console.log(`https://www.speedrun.com/${data.games[0].url}/runs/${updatedRun.runId} has been updated`)
}
if(page == data.pagination.pages) {
console.log("Completed");
break;
}
}
})();
Ok, everything worked, thank you for your help !
(They don't respond to other forum posts (most of the time))