Skip to content
Snippets Groups Projects
Commit b9235ba4 authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Merge branch 'mlong/xtrnfeb2' into 'master'

3rd party external doors - exitilus, jibben, jns

See merge request !110
parents 43148414 d7bac45d
No related branches found
No related tags found
No related merge requests found
Showing
with 1139 additions and 0 deletions
Name: Quote Fall
Desc: The player must unscramble mixed quotes by droping letters into boxes
By: Rusty Johnson,JNS Software
Cats: Games
Subs: Word
exe: QUOTFALL.EXE
[md5:bc6241d62303583491b42ad3a0787b18]
ver = 4.25
url = http://bbsfiles.com/ftp/JNS/jnsqf425.zip
[prog:quotfall]
name = Quote Fall
cmd = quotfall.exe FOSSIL ALIAS
ars = DOS
execution_ars = NOT GUEST
settings = XTRN_ANSI | XTRN_MULTIUSER | XTRN_SH
type = XTRN_GAP
[exec:../3rdp-install/jns-quotefall.js]
prompt = false
required = true
"use strict";
writeln("Generating config files...");
var i;
var gamedir = fullpath(js.startup_dir);
var configfile = gamedir + "QUOTFALL.CFG";
var nodedat = gamedir + "DOORINFO.DAT";
file_backup(configfile);
var lines = [];
var file = new File(configfile);
if (file.open(configfile, 'r')) {
lines = file.readAll();
file.close();
} else {
// new config
lines[2] = 'Y';
lines[3] = 'NOLOG';
lines[6] = gamedir + 'quotfall.asc';
lines[7] = gamedir + 'quotfall.ans';
lines[8] = "";
lines[11] = "2";
lines[12] = "27";
}
lines[0] = system.name;
lines[1] = system.operator;
var mfile = new File(gamedir + "QUOTFALL.KEY");
if(mfile.open("rb")) {
var md5 = mfile.md5_hex;
writeln("Check key " + md5);
if (md5 == "121ff59b1ff03a8d86db4ea96b05bb47") {
writeln("Restoring free key sysop info");
lines[0] = "BBSFILES.COM";
lines[1] = "FREE COPY";
}
mfile.close();
}
lines[4] = "Synchronet";
lines[5] = "DOOR.SYS";
lines[9] = "PCBNODE";
lines[10] = gamedir;
if (file.open(configfile, file_exists(configfile) ? 'r+' : 'w+')) {
file.writeAll(lines);
file.close();
} else {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
writeln("Beginning node config generation...");
file_backup(nodedat);
var nodedata = "";
for(i = 0; i < 250; i++) {
var nodenum = i + 1;
// you can use COM1 for every node
var nodeentry = (typeof system.node_list[i] !== "undefined") ?
"03F8" : "0000"
nodeentry = nodeentry + "0" + " ";
if (typeof system.node_list[i] !== "undefined") {
nodeentry = nodeentry + system.node_list[i].dir;
}
while (nodeentry.length < 46) {
nodeentry = nodeentry + " ";
}
nodedata = nodedata + nodeentry;
}
var file = new File(nodedat);
if (!file.open("w+")) {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
file.write(nodedata);
file.close();
writeln("Config generation complete");
exit(0);
Name: Slider Solitaire
Desc: Great Solitaire Card game where you try to make alignments of three of a kind.
By: Rusty Johnson,JNS Software
Cats: Games
Subs: Cards,Solitaire
exe: SLIDER.EXE
[md5:773de76ddfe29950a15d774d9c47eea0]
ver = 1.0
url = http://bbsfiles.com/ftp/JNS/jns_sl10.zip
[prog:slider]
name = Slider Solitaire
cmd = slider.exe /fossil
ars = DOS
execution_ars = NOT GUEST
settings = XTRN_ANSI | XTRN_MULTIUSER | XTRN_SH
type = XTRN_GAP
[exec:../3rdp-install/jns-slidersolitaire.js]
prompt = false
required = true
"use strict";
writeln("Generating config files...");
var i;
var gamedir = fullpath(js.startup_dir);
var configfile = gamedir + "SLIDER.CFG";
var nodedat = gamedir + "NODEINFO.DAT";
file_backup(configfile);
var lines = [];
var file = new File(configfile);
if (file.open(configfile, 'r')) {
lines = file.readAll();
file.close();
} else {
// new config
lines[2] = 'Y';
lines[3] = 'NOLOG';
lines[6] = gamedir + 'slider.asc';
lines[7] = gamedir + 'slider.ans';
lines[8] = "";
lines[11] = "3";
lines[12] = "2";
lines[13] = "27";
}
lines[0] = system.name;
lines[1] = system.operator;
var mfile = new File(gamedir + "SLIDER.KEY");
if(mfile.open("rb")) {
var md5 = mfile.md5_hex;
writeln("Check key " + md5);
if (md5 == "17013b199de01e4e7f3794404983e668") {
writeln("Restoring free key sysop info");
lines[0] = "BBSFILES.COM";
lines[1] = "FREE COPY";
}
mfile.close();
}
lines[4] = "Synchronet";
lines[5] = "DOOR.SYS";
lines[9] = "PCBNODE";
lines[10] = gamedir;
if (file.open(configfile, file_exists(configfile) ? 'r+' : 'w+')) {
file.writeAll(lines);
file.close();
} else {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
writeln("Beginning node config generation...");
file_backup(nodedat);
var nodedata = "";
for(i = 0; i < 250; i++) {
var nodenum = i + 1;
// you can use COM1 for every node
var nodeentry = (typeof system.node_list[i] !== "undefined") ?
"03F8" : "0000"
nodeentry = nodeentry + "0" + " ";
if (typeof system.node_list[i] !== "undefined") {
nodeentry = nodeentry + system.node_list[i].dir;
}
while (nodeentry.length < 46) {
nodeentry = nodeentry + " ";
}
nodedata = nodedata + nodeentry;
}
var file = new File(nodedat);
if (!file.open("w+")) {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
file.write(nodedata);
file.close();
writeln("Config generation complete");
exit(0);
Name: Solitree
Desc: This is a solitaire card game which features Tournament & Standard Modes
By: Rusty Johnson,JNS Software
Cats: Games
Subs: Cards,Solitaire
exe: SOLITREE.EXE
[md5:1793f3abc4a4171330bab03c4d77e662]
ver = 5.4
url = http://bbsfiles.com/ftp/JNS/jns_st54.zip
[prog:jnssolit]
name = Solitree
cmd = solitree.exe /fossil
ars = DOS
execution_ars = NOT GUEST
settings = XTRN_ANSI | XTRN_MULTIUSER | XTRN_SH
type = XTRN_GAP
[exec:../3rdp-install/jns-solitree.js]
prompt = false
required = true
"use strict";
writeln("Generating config files...");
var i;
var gamedir = fullpath(js.startup_dir);
var configfile = gamedir + "SOLITREE.CFG";
var nodedat = gamedir + "NODEINFO.DAT";
file_backup(configfile);
var lines = [];
var file = new File(configfile);
if (file.open(configfile, 'r')) {
lines = file.readAll();
file.close();
} else {
// new config
lines[2] = 'Y';
lines[3] = 'NOLOG';
lines[6] = gamedir + 'solitree.asc';
lines[7] = gamedir + 'solitree.ans';
lines[8] = "";
lines[11] = "3";
lines[12] = "5";
lines[13] = "25";
lines[14] = "STANDARD";
}
lines[0] = system.name;
lines[1] = system.operator;
var mfile = new File(gamedir + "SOLITREE.KEY");
if(mfile.open("rb")) {
var md5 = mfile.md5_hex;
writeln("Check key " + md5);
if (md5 == "9d6be13347ac6e48d4dfb2e1fb739e17") {
writeln("Restoring free key sysop info");
lines[0] = "BBSFILES.COM";
lines[1] = "FREE COPY";
}
mfile.close();
}
lines[4] = "Synchronet";
lines[5] = "DOOR.SYS";
lines[9] = "PCBNODE";
lines[10] = nodedat;
if (file.open(configfile, file_exists(configfile) ? 'r+' : 'w+')) {
file.writeAll(lines);
file.close();
} else {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
writeln("Beginning node config generation...");
file_backup(nodedat);
var nodedata = "";
for(i = 0; i < 250; i++) {
var nodenum = i + 1;
// you can use COM1 for every node
var nodeentry = (typeof system.node_list[i] !== "undefined") ?
"03F8" : "0000"
nodeentry = nodeentry + "0" + " ";
if (typeof system.node_list[i] !== "undefined") {
nodeentry = nodeentry + system.node_list[i].dir;
}
while (nodeentry.length < 46) {
nodeentry = nodeentry + " ";
}
nodedata = nodedata + nodeentry;
}
var file = new File(nodedat);
if (!file.open("w+")) {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
file.write(nodedata);
file.close();
writeln("Config generation complete");
exit(0);
Name: Strikes and Spares
Desc: A bowling solitaire card game where users try to get the high series
By: Rusty Johnson,JNS Software
Cats: Games
Subs: Cards,Solitaire
exe: STRIKES.EXE
[md5:d8ad6bec65a08c1fdae0e7fde9649050]
ver = 1.0
url = http://bbsfiles.com/ftp/JNS/jns_ss10.zip
[prog:strikes]
name = Strikes and Spares
cmd = strikes.exe /fossil
ars = DOS
execution_ars = NOT GUEST
settings = XTRN_ANSI | XTRN_MULTIUSER | XTRN_SH
type = XTRN_GAP
[exec:../3rdp-install/jns-strikesandspares.js]
prompt = false
required = true
"use strict";
writeln("Generating config files...");
var i;
var gamedir = fullpath(js.startup_dir);
var configfile = gamedir + "STRIKES.CFG";
var nodedat = gamedir + "NODEINFO.DAT";
file_backup(configfile);
var lines = [];
var file = new File(configfile);
if (file.open(configfile, 'r')) {
lines = file.readAll();
file.close();
} else {
// new config
lines[2] = 'Y';
lines[3] = 'NOLOG';
lines[6] = gamedir + 'strikes.asc';
lines[7] = gamedir + 'strikes.ans';
lines[8] = "";
lines[11] = "3";
lines[12] = "2";
lines[13] = "27";
}
lines[0] = system.name;
lines[1] = system.operator;
var mfile = new File(gamedir + "STRIKES.KEY");
if(mfile.open("rb")) {
var md5 = mfile.md5_hex;
writeln("Check key " + md5);
if (md5 == "8381c1e5c682fa42c3d353416d419d5e") {
writeln("Restoring free key sysop info");
lines[0] = "BBSFILES.COM";
lines[1] = "FREE COPY";
}
mfile.close();
}
lines[4] = "Synchronet";
lines[5] = "DOOR.SYS";
lines[9] = "PCBNODE";
lines[10] = gamedir;
if (file.open(configfile, file_exists(configfile) ? 'r+' : 'w+')) {
file.writeAll(lines);
file.close();
} else {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
writeln("Beginning node config generation...");
file_backup(nodedat);
var nodedata = "";
for(i = 0; i < 250; i++) {
var nodenum = i + 1;
// you can use COM1 for every node
var nodeentry = (typeof system.node_list[i] !== "undefined") ?
"03F8" : "0000"
nodeentry = nodeentry + "0" + " ";
if (typeof system.node_list[i] !== "undefined") {
nodeentry = nodeentry + system.node_list[i].dir;
}
while (nodeentry.length < 46) {
nodeentry = nodeentry + " ";
}
nodedata = nodedata + nodeentry;
}
var file = new File(nodedat);
if (!file.open("w+")) {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
file.write(nodedata);
file.close();
writeln("Config generation complete");
exit(0);
"use strict";
writeln("Generating config files...");
var i;
var gamedir = fullpath(js.startup_dir);
var configfile = gamedir + "THELIMIN.CFG";
var nodedat = gamedir + "NODEINFO.DAT";
file_backup(configfile);
var lines = [];
var file = new File(configfile);
if (file.open(configfile, 'r')) {
lines = file.readAll();
file.close();
} else {
// new config
lines[2] = 'Y';
lines[3] = 'NOLOG';
lines[6] = gamedir + 'thelimin.asc';
lines[7] = gamedir + 'thelimin.ans';
lines[8] = "";
lines[11] = "2";
lines[12] = "2";
lines[13] = "27";
}
lines[0] = system.name;
lines[1] = system.operator;
var mfile = new File(gamedir + "THELIMIN.KEY");
if(mfile.open("rb")) {
var md5 = mfile.md5_hex;
writeln("Check key " + md5);
if (md5 == "e1dcfe2a94612cbec8afbd092b4f8b7c") {
writeln("Restoring free key sysop info");
lines[0] = "BBSFILES.COM";
lines[1] = "FREE COPY";
}
mfile.close();
}
lines[4] = "Synchronet";
lines[5] = "DOOR.SYS";
lines[9] = "PCBNODE";
lines[10] = gamedir;
if (file.open(configfile, file_exists(configfile) ? 'r+' : 'w+')) {
file.writeAll(lines);
file.close();
} else {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
writeln("Beginning node config generation...");
file_backup(nodedat);
var nodedata = "";
for(i = 0; i < 250; i++) {
var nodenum = i + 1;
// you can use COM1 for every node
var nodeentry = (typeof system.node_list[i] !== "undefined") ?
"03F8" : "0000"
nodeentry = nodeentry + "0" + " ";
if (typeof system.node_list[i] !== "undefined") {
nodeentry = nodeentry + system.node_list[i].dir;
}
while (nodeentry.length < 46) {
nodeentry = nodeentry + " ";
}
nodedata = nodedata + nodeentry;
}
var file = new File(nodedat);
if (!file.open("w+")) {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
file.write(nodedata);
file.close();
writeln("Config generation complete");
exit(0);
Name: The Eliminator
Desc: Freat Solitaire Card game where you try to remove cards using the least piles
By: Rusty Johnson,JNS Software
Cats: Games
Subs: Cards,Solitaire
exe: THELIMIN.EXE
[md5:f8736aad971cf425ad9be1ce1db38f62]
ver = 1.0
url = http://bbsfiles.com/ftp/JNS/jns_te10.zip
[prog:elim]
name = The Eliminator
cmd = thelimin.exe /fossil
ars = DOS
execution_ars = NOT GUEST
settings = XTRN_ANSI | XTRN_MULTIUSER | XTRN_SH
type = XTRN_GAP
[exec:../3rdp-install/jns-theeliminator.js]
prompt = false
required = true
Name: The Puzzle Machine
Desc: Number puzzle that must be returned to it's 1 to 15 numbered sequence
By: Rusty Johnson,JNS Software
Cats: Games
Subs: Chance,Dice
exe: PUZZLE.EXE
[md5:968b125e14b79d690be51fd698c9100d]
ver = 4.25
url = http://bbsfiles.com/ftp/JNS/jnspm425.zip
[prog:jnspuzz]
name = The Puzzle Machine
cmd = puzzle.exe FOSSIL ALIAS
ars = DOS
execution_ars = NOT GUEST
settings = XTRN_ANSI | XTRN_MULTIUSER | XTRN_SH
type = XTRN_GAP
[exec:../3rdp-install/jns-thepuzzlemachine.js]
prompt = false
required = true
"use strict";
writeln("Generating config files...");
var i;
var gamedir = fullpath(js.startup_dir);
var configfile = gamedir + "PUZZLE.CFG";
var nodedat = gamedir + "DOORINFO.DAT";
file_backup(configfile);
var lines = [];
var file = new File(configfile);
if (file.open(configfile, 'r')) {
lines = file.readAll();
file.close();
} else {
// new config
lines[2] = 'Y';
lines[3] = 'NOLOG';
lines[6] = gamedir + 'puzzle.asc';
lines[7] = gamedir + 'puzzle.ans';
lines[8] = "";
lines[11] = "2";
lines[12] = "27";
}
lines[0] = system.name;
lines[1] = system.operator;
var mfile = new File(gamedir + "PUZZLE.KEY");
if(mfile.open("rb")) {
var md5 = mfile.md5_hex;
writeln("Check key " + md5);
if (md5 == "3ce6f831dea7f3f919a11d9d2b7e5dab") {
writeln("Restoring free key sysop info");
lines[0] = "BBSFILES.COM";
lines[1] = "FREE COPY";
}
mfile.close();
}
lines[4] = "Synchronet";
lines[5] = "DOOR.SYS";
lines[9] = "PCBNODE";
lines[10] = gamedir;
if (file.open(configfile, file_exists(configfile) ? 'r+' : 'w+')) {
file.writeAll(lines);
file.close();
} else {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
writeln("Beginning node config generation...");
file_backup(nodedat);
var nodedata = "";
for(i = 0; i < 250; i++) {
var nodenum = i + 1;
// you can use COM1 for every node
var nodeentry = (typeof system.node_list[i] !== "undefined") ?
"03F8" : "0000"
nodeentry = nodeentry + "0" + " ";
if (typeof system.node_list[i] !== "undefined") {
nodeentry = nodeentry + system.node_list[i].dir;
}
while (nodeentry.length < 46) {
nodeentry = nodeentry + " ";
}
nodedata = nodedata + nodeentry;
}
var file = new File(nodedat);
if (!file.open("w+")) {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
file.write(nodedata);
file.close();
writeln("Config generation complete");
exit(0);
Name: Three Shuffles and a Draw
Desc: Super Solitaire Card game that takes a lot of skill to remove cards from table
By: Rusty Johnson,JNS Software
Cats: Games
Subs: Cards,Solitaire
exe: THREE.EXE
[md5:9c11696a2d2d029782d9ed72ee7d3f51]
ver = 1.2
url = http://bbsfiles.com/ftp/JNS/jns_ts12.zip
[prog:threesh]
name = Three Shuffles and a Draw
cmd = three.exe /fossil
ars = DOS
execution_ars = NOT GUEST
settings = XTRN_ANSI | XTRN_MULTIUSER | XTRN_SH
type = XTRN_GAP
[exec:../3rdp-install/jns-threeshuffles.js]
prompt = false
required = true
"use strict";
writeln("Generating config files...");
var i;
var gamedir = fullpath(js.startup_dir);
var configfile = gamedir + "THREE.CFG";
var nodedat = gamedir + "NODEINFO.DAT";
file_backup(configfile);
var lines = [];
var file = new File(configfile);
if (file.open(configfile, 'r')) {
lines = file.readAll();
file.close();
} else {
// new config
lines[2] = 'Y';
lines[3] = 'NOLOG';
lines[6] = gamedir + 'threesh.asc';
lines[7] = gamedir + 'threesh.ans';
lines[8] = "";
lines[11] = "3";
lines[12] = "5";
lines[13] = "25";
lines[14] = "7";
}
lines[0] = system.name;
lines[1] = system.operator;
var mfile = new File(gamedir + "THREE.KEY");
if(mfile.open("rb")) {
var md5 = mfile.md5_hex;
writeln("Check key " + md5);
if (md5 == "d2fdf6ed54fd27de589ddfb6a6493735") {
writeln("Restoring free key sysop info");
lines[0] = "BBSFILES.COM";
lines[1] = "FREE COPY";
}
mfile.close();
}
lines[4] = "Synchronet";
lines[5] = "DOOR.SYS";
lines[9] = "PCBNODE";
lines[10] = nodedat;
if (file.open(configfile, file_exists(configfile) ? 'r+' : 'w+')) {
file.writeAll(lines);
file.close();
} else {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
writeln("Beginning node config generation...");
file_backup(nodedat);
var nodedata = "";
for(i = 0; i < 250; i++) {
var nodenum = i + 1;
// you can use COM1 for every node
var nodeentry = (typeof system.node_list[i] !== "undefined") ?
"03F8" : "0000"
nodeentry = nodeentry + "0" + " ";
if (typeof system.node_list[i] !== "undefined") {
nodeentry = nodeentry + system.node_list[i].dir;
}
while (nodeentry.length < 46) {
nodeentry = nodeentry + " ";
}
nodedata = nodedata + nodeentry;
}
var file = new File(nodedat);
if (!file.open("w+")) {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
file.write(nodedata);
file.close();
writeln("Config generation complete");
exit(0);
Name: Trapper
Desc: A fun and challenging game where you try to trap the varment on a block
By: Rusty Johnson,JNS Software
Cats: Games
Subs: Arcade
exe: TRAPPER.EXE
[md5:093af2b439676b306f94bd22d84bdae7]
ver = 2.15
url = http://bbsfiles.com/ftp/JNS/jnstp215.zip
[prog:trapper]
name = Trapper
cmd = trapper.exe FOSSIL ALIAS
ars = DOS
execution_ars = NOT GUEST
settings = XTRN_ANSI | XTRN_MULTIUSER | XTRN_SH
type = XTRN_GAP
[exec:../3rdp-install/jns-trapper.js]
prompt = false
required = true
"use strict";
writeln("Generating config files...");
var i;
var gamedir = fullpath(js.startup_dir);
var configfile = gamedir + "TRAPPER.CFG";
var nodedat = gamedir + "DOORINFO.DAT";
file_backup(configfile);
var lines = [];
var file = new File(configfile);
if (file.open(configfile, 'r')) {
lines = file.readAll();
file.close();
} else {
// new config
lines[2] = 'Y';
lines[3] = 'NOLOG';
lines[6] = gamedir + 'trapper.asc';
lines[7] = gamedir + 'trapper.ans';
lines[8] = "";
lines[11] = "2";
lines[12] = "27";
}
lines[0] = system.name;
lines[1] = system.operator;
var mfile = new File(gamedir + "TRAPPER.KEY");
if(mfile.open("rb")) {
var md5 = mfile.md5_hex;
writeln("Check key " + md5);
if (md5 == "f9bf0fde1a9e5f7d638941b5954fa8e3") {
writeln("Restoring free key sysop info");
lines[0] = "BBSFILES.COM";
lines[1] = "FREE COPY";
}
mfile.close();
}
lines[4] = "Synchronet";
lines[5] = "DOOR.SYS";
lines[9] = "PCBNODE";
lines[10] = gamedir;
if (file.open(configfile, file_exists(configfile) ? 'r+' : 'w+')) {
file.writeAll(lines);
file.close();
} else {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
writeln("Beginning node config generation...");
file_backup(nodedat);
var nodedata = "";
for(i = 0; i < 250; i++) {
var nodenum = i + 1;
// you can use COM1 for every node
var nodeentry = (typeof system.node_list[i] !== "undefined") ?
"03F8" : "0000"
nodeentry = nodeentry + "0" + " ";
if (typeof system.node_list[i] !== "undefined") {
nodeentry = nodeentry + system.node_list[i].dir;
}
while (nodeentry.length < 46) {
nodeentry = nodeentry + " ";
}
nodedata = nodedata + nodeentry;
}
var file = new File(nodedat);
if (!file.open("w+")) {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
file.write(nodedata);
file.close();
writeln("Config generation complete");
exit(0);
Name: Treasure Trove
Desc: This is a solitaire card game which features Tournament play
By: Rusty Johnson,JNS Software
Cats: Games
Subs: Cards,Solitaire
exe: TREASURE.EXE
[md5:7c5be2ef0e88516aa1254b58d49dcc1a]
ver = 1.45
url = http://bbsfiles.com/ftp/JNS/jnstt145.zip
[prog:ttrove]
name = Treasure Trove
cmd = treasure.exe FOSSIL ALIAS
ars = DOS
execution_ars = NOT GUEST
settings = XTRN_ANSI | XTRN_MULTIUSER | XTRN_SH
type = XTRN_GAP
[exec:../3rdp-install/jns-treasuretrove.js]
prompt = false
required = true
"use strict";
writeln("Generating config files...");
var i;
var gamedir = fullpath(js.startup_dir);
var configfile = gamedir + "TREASURE.CFG";
var nodedat = gamedir + "DOORINFO.DAT";
file_backup(configfile);
var lines = [];
var file = new File(configfile);
if (file.open(configfile, 'r')) {
lines = file.readAll();
file.close();
} else {
// new config
lines[2] = 'Y';
lines[3] = 'NOLOG';
lines[6] = gamedir + 'treasure.asc';
lines[7] = gamedir + 'treasure.ans';
lines[8] = "";
lines[11] = "2";
lines[12] = "2";
lines[13] = "27";
}
lines[0] = system.name;
lines[1] = system.operator;
var mfile = new File(gamedir + "TREASURE.KEY");
if(mfile.open("rb")) {
var md5 = mfile.md5_hex;
writeln("Check key " + md5);
if (md5 == "e206d2074d1b91b9851d7a92e04d06f4") {
writeln("Restoring free key sysop info");
lines[0] = "BBSFILES.COM";
lines[1] = "FREE COPY";
}
mfile.close();
}
lines[4] = "Synchronet";
lines[5] = "DOOR.SYS";
lines[9] = "PCBNODE";
lines[10] = gamedir;
if (file.open(configfile, file_exists(configfile) ? 'r+' : 'w+')) {
file.writeAll(lines);
file.close();
} else {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
writeln("Beginning node config generation...");
file_backup(nodedat);
var nodedata = "";
for(i = 0; i < 250; i++) {
var nodenum = i + 1;
// you can use COM1 for every node
var nodeentry = (typeof system.node_list[i] !== "undefined") ?
"03F8" : "0000"
nodeentry = nodeentry + "0" + " ";
if (typeof system.node_list[i] !== "undefined") {
nodeentry = nodeentry + system.node_list[i].dir;
}
while (nodeentry.length < 46) {
nodeentry = nodeentry + " ";
}
nodedata = nodedata + nodeentry;
}
var file = new File(nodedat);
if (!file.open("w+")) {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
file.write(nodedata);
file.close();
writeln("Config generation complete");
exit(0);
Name: Tri Peaks Solitaire
Desc: Solitaire Card game where its easy to lose points instead of winning them.
By: Rusty Johnson,JNS Software
Cats: Games
Subs: Cards,Solitaire
exe: TRIPEAKS.EXE
[md5:da06474583b983faeebdcd57113eaa90]
ver = 1.1
url = http://bbsfiles.com/ftp/JNS/jns_ps11.zip
[prog:tripeaks]
name = Tri Peaks Solitaire
cmd = tripeaks /fossil
ars = DOS
execution_ars = NOT GUEST
settings = XTRN_ANSI | XTRN_MULTIUSER | XTRN_SH
type = XTRN_GAP
[exec:../3rdp-install/jns-tripeakssolitaire.js]
prompt = false
required = true
"use strict";
writeln("Generating config files...");
var i;
var gamedir = fullpath(js.startup_dir);
var configfile = gamedir + "TRIPEAKS.CFG";
var nodedat = gamedir + "NODEINFO.DAT";
file_backup(configfile);
var lines = [];
var file = new File(configfile);
if (file.open(configfile, 'r')) {
lines = file.readAll();
file.close();
} else {
// new config
lines[2] = 'Y';
lines[3] = 'NOLOG';
lines[6] = gamedir + 'tripeaks.asc';
lines[7] = gamedir + 'tripeaks.ans';
lines[8] = "";
lines[11] = "3";
lines[12] = "5";
lines[13] = "25";
}
lines[0] = system.name;
lines[1] = system.operator;
var mfile = new File(gamedir + "TRIPEAKS.KEY");
if(mfile.open("rb")) {
var md5 = mfile.md5_hex;
writeln("Check key " + md5);
if (md5 == "6acd292bd87b40ca5bc9adb7f92b250e") {
writeln("Restoring free key sysop info");
lines[0] = "BBSFILES.COM";
lines[1] = "FREE COPY";
}
mfile.close();
}
lines[4] = "Synchronet";
lines[5] = "DOOR.SYS";
lines[9] = "PCBNODE";
lines[10] = nodedat;
if (file.open(configfile, file_exists(configfile) ? 'r+' : 'w+')) {
file.writeAll(lines);
file.close();
} else {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
writeln("Beginning node config generation...");
file_backup(nodedat);
var nodedata = "";
for(i = 0; i < 250; i++) {
var nodenum = i + 1;
// you can use COM1 for every node
var nodeentry = (typeof system.node_list[i] !== "undefined") ?
"03F8" : "0000"
nodeentry = nodeentry + "0" + " ";
if (typeof system.node_list[i] !== "undefined") {
nodeentry = nodeentry + system.node_list[i].dir;
}
while (nodeentry.length < 46) {
nodeentry = nodeentry + " ";
}
nodedata = nodedata + nodeentry;
}
var file = new File(nodedat);
if (!file.open("w+")) {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
file.write(nodedata);
file.close();
writeln("Config generation complete");
exit(0);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment