...
Code Block |
---|
// simplified pseudo code
function setLocalStorage(fromPlayer,key,val) {
// work out what script called setLocalStorage (eg. nullbot_1.1.js):
var playerEngine = getEngineForPlayer(fromPlayer);
var playerScript = playerEngine.scriptFileName;
// update all other players where applicable:
for (var i=0; i<maxPlayers; i++) {
// no need to update the script that triggered setLocalStorage():
if (i != fromPlayer) {
// is this player's engine running same script as the calling script?
var engine = getEngineForPlayer(i);
if (engine.scriptFileName == playerScript) {
// update it's localStorage with the new data
engine.globalObject.localStorage.setItem(key,val,false,true); // 4th param tells setItem() not to call setLocalStorage()
}
}
}
// now persist the localStorage data to file on disk
var jsonData = playerEngine.globalObject.localStorage.toJSON();
var fileName = "path/to/config/folder/"+playerScript+"_localStorage.js";
createOrReplaceFile(filename,jsonData);
} |
...