///////////////////////////////////////////////////////////////////////// // TOWERNET.SLT - by Terry Robertson (October 1988) // // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // // // SCRIPT TO LOG-ON TO A TOWER-NET SYSTEM. // // // // Please note that this script expects you to have assigned your // // FULL NAME to function key F4. The easiest way to do this is by // // using the FKEY script in this collection. // // // // In addition, the script is written so that it will abort if you // // have not completed the relevant PASSWORD entry in the Dialling // // Directory. // // // // I have assumed that you want to use the linked scripts CONNECT // // and CAPTURE. If you do not have these or prefer not to use // // them you should "comment out" the two lines starting "call" // // by simply putting "//" before the word "call". // // // ///////////////////////////////////////////////////////////////////////// str s[30]; main() { int stat; int t1, t2, t3; int tmark; alarm (1); call("connect", 1); // Gives "connect" information by // calling Connect.slc script call("capture", 1); // Opens new capture file by calling // Capture.slc script if (not _entry_pass) // no pass, so didn't recog. board { prints ("Sorry, I don't know the password for this BBS!"); return; } t1 = track ("(Y/N):", 1); t2 = track ("YOUR NAME:", 1); t3 = track ("PASSWORD:", 1); tmark = timer_start (1800); // wait up to 3 minutes for login // answer any logon questions while (not time_up (tmark)) { terminal(); // let Telix process any chars and keys stat = track_hit (0); // see which (if any) track was hit if (stat == t1) { cputs ("y"); // send affirmative cputs ("^M"); } else if (stat == t2) { keyget(0x3e00, 0, s); delchrs(s, strlen(s) - 2, strlen(s)); cputs(s); cputs ("^M"); } else if (stat == t3) { cputs (_entry_pass); // send password cputs ("^M"); break; // done with logon } } if (time_up (tmark)) prints ("Logon failed!"); timer_free (tmark); // free timer channel track_free (0); // and all track channels }