diff --git a/xtrn/tw2/gamesettings.js b/xtrn/tw2/gamesettings.js index df32a31145383bd112882a597a966794204145c9..f60d707f1c2e59a14e3f05d81c6af0d5ebf90473 100644 --- a/xtrn/tw2/gamesettings.js +++ b/xtrn/tw2/gamesettings.js @@ -126,7 +126,7 @@ function GameSettings_Save() else f.iniRemoveKey(null, 'DB'); - for(i=3; i<GameSettingProperties.length; i++) { + for(var i=3; i<GameSettingProperties.length; i++) { s[GameSettingProperties[i].prop]=this[GameSettingProperties[i].prop]; } db.write(Settings.DB,'settings',s,LOCK_WRITE); @@ -150,7 +150,6 @@ function GameSettings() } } db=new JSONClient(this.Server,this.Port); - db.connect(); var s=db.read(this.DB,'settings',LOCK_READ); for(i in s) { this[i]=s[i]; diff --git a/xtrn/tw2/tw2.js b/xtrn/tw2/tw2.js index 7953f63f0f1e9b4807a7a5ac489863dd84bf3e27..419649671a9fe89f1069cefbd98cefb85606b880 100644 --- a/xtrn/tw2/tw2.js +++ b/xtrn/tw2/tw2.js @@ -29,6 +29,7 @@ var Commodities=[ var Settings; var player=null; var sector=null; +var initialized=null; var exit_tw2=false; load("json-client.js"); @@ -37,6 +38,7 @@ load(fname("gamesettings.js")); var db; var LOCK_WRITE=2; var LOCK_READ=1; + Settings=new GameSettings(); load(fname("ports.js")); @@ -226,7 +228,9 @@ function do_exit() player.Put(); } console.writeln("Returning to Door monitor..."); - TWRank(); + if(initialized != undefined) { + TWRank(); + } } function Instructions() @@ -276,7 +280,7 @@ function Production(place) function ShowOpeng() { - var len=db.read(Settings.DB,'twopeng.lengh',LOCK_READ); + var len=db.read(Settings.DB,'twopeng.length',LOCK_READ); var i; var msg; @@ -286,6 +290,7 @@ function ShowOpeng() console.writeln(msg.Message); console.crlf(); } + return len; } function main() @@ -294,10 +299,6 @@ function main() try { js.on_exit("do_exit()"); - /* Run maintenance */ - if(Settings.MaintLastRan < today) { - RunMaint(); - } console.attributes="C"; console.crlf(); @@ -310,7 +311,20 @@ try { console.center("Sysop "+system.operator); console.crlf(); console.crlf(); - ShowOpeng(); + initialized = ShowOpeng(); + + /* Make sure game has been 'big-banged' */ + if(initialized == undefined) { + console.attributes="R"; + console.writeln("The game has not been initialized."); + console.writeln("Please notify the SysOp."); + exit(0); + } + + /* Run maintenance */ + if(Settings.MaintLastRan < today) { + RunMaint(); + } console.attributes="W"; console.writeln("Initializing..."); console.writeln("Searching my records for your name."); @@ -318,7 +332,6 @@ try { exit(0); console.pause(); - while(player.KilledBy==0 && exit_tw2==false) { if(EnterSector()) { if(CheckSector())