AE macro action A continuation of AE cursor action The Macro Library File ====================== I'm sure most of you have done some screwing around with the MACRO.LIB file, and know most of the details about it, so I will just skim, over that here: The macro library (MACRO.LIB) contains the folowwing data: line#0 line#1+ macro character/displayed name/filename of macro. Note that the first line of the MACRO.LIB file is kept blank, this is necessary for use. The "macro character" is the character you will type to get the given macro, the "displayed name" is the name by which AE calls the macro, "filename of macro" is simply the filename of the macro (minus the .MAC suffix). Therefore if line #1 of your macro library looked like this: a/The Snake's Den/SNAKE then from the -> or +> prompt, you can press return and AE will say: Select? (A-Z,/,?) if you press A (capitol or lowercase) AE will look for the macro beginning with "a/". Finding the Snake's Den macro, it will spin the drive, loading the file called "SNAKE" and say: The Snake's Den If you have the "dial after loading macro" option set in the install program (on system menu #5 I think) it will then dial the macro for you. Note: The [Y]editor from the AE main menu is an easy way to modify the MACRO.LIB file. From the "Select? (A-Z,/,?)" prompt, pressing "/" will load the MACRO.LIB file and present you with a list of the current library. Pressing "?" will give you a list of macros (#0 to #;) currently loaded. When a macro is loaded, you can dial it by pressing "Dial: m". M for macro. The Macro Editor ================ Now comes the real kick-ass stuff: Pressing [U] from the main menu loads the macro editor from disk, and allows you to load/save/edit macros. The first page of options you are presented with is fairly self-explanitory. It is simply a list of default options for the macro when it is loaded. When changing the phone number, several extra characters can be added: Phone#: xxx-xxxx If you place a / before the phone number, it will autodial the macro instead of just dialing it once. Example: Phone#: /xxx-xxxx If you place a !n before the phone number, it will (upon connect) execute macro #n. Example Phone#: xxx-xxxx !0 This would, upon connect, execute macro #0. Note that both the autodial and the execute upon connect can be used at the same time: Phone#: /xxx-xxxx !0 Pressing [D] from the macro menu will take you to the display-edit macros screen Display-edit Macros =================== Here you are allowed to change 12 different macros (#0 to #;) to whatever you want. Again, there are special characters: Delay ............................. * AE command character .............. \ Slow .............................. ? String handshaking ............ Handshake ......................... % Wildcard handshake ................ = Literal ........................... @ Conditional handshake ............. ~ Carrige return .................... ' Jump to new macro line ........... \L Note: these are the default values, and can be changed from the "C" option from the install program. Delay ===== When excuting a macro, if AE encounters a delay character, it will pause for 1/2 second (ie. "****" would produce a two second delay). AE Command Character ==================== When AE encounters this character in a macro, it interprets it as if you had hit your terminal escape key, then the character following the command character. Slow ==== When placed at the beginning of a macro, AE will excute the macro line at 1/3 normal speed (usefull for systems with spinning cursors and no input buffer.. yeech). String handshake ================ There are actually two separate characters for the conditional handshake, a begining character, and an ending character (usually a set of one of the three brackets). If AE finds the beginning character for the conditional handshake, it reads all the text until it encounters the ending character, the AE waits for the other computer to send the EXACT string contained in the brackets until proceeding. Example: ..rest of macro string.. This would pause until the string "pukenuke" was recieved over the line, then it would continue with the rest of the macro. Handshake ========= This is quicker and easier than the conditional handshake, but at some times it will not quite work right for a certian purpose. When AE finds the handshake character, it waits for the remote computer to send the character immediatly following the handshake character, for example: %:nuke'em Would wait for a ":" to be sent over the modem, then print "nuke'em". Wildcard handshake ================== When encountering this character, AE will wait until a character comes over the modem, it does not matter what character it is, AE will just wait until one does. For example: =ugamugawuga. Would wait for ANY character to be recieved, then print "ugumugawuga" Literal ======= If you wish to send a macro command character (the * for instance, which usually produces a delay) insert this character before it. Example: @* yer screwed @* would print: * yer screwed * instead of: yer screwed Conditional handshake ===================== This waits for a certian character (like the normal "%" handshake) and then waits for the next character and either 1) continues with the current macro or 2) aborts the current macro, and jumps to another one. Probably the best (and only?) use of this is for reading mail on a BBS system. If a system said either: You have mail waiting! or: Sorry, you have no mail waiting. You could make a macro like: ~ mn1 This macro would wait for the string "ou have" (because one you starts with a capitol Y, the other does'nt), then it would wait for a space (the next character regardless) then if the next character was an "m" (as in "mail waiting") it will skip the "n1" part and go to the part and read the mail. If the next character is an "n" (as in "no mail waiting") it will abort the current macro and jump to macro #1. Carrige return ============== Because it is advised that you take up only one or two macros for logon procedure (to leave room for the creative ones later), sometimes it is necessary to enter a carrige return (after a password for example), all this character will do is enter a . There is automaticly a after the end of every macro, if you put this carrige return character at the END of a line, it will abort the usual carrige return. Therefore: pukenuke''' Would only give you: pukenuke Jump to new macro line number ============================= A backslash (the AE command character) followed by L, then a number (or :,;) will jump to the new macro line number. Full example, and uses of macros ================================ Say your name was "PUKENUKE" and your password to "the global war BBS" was "NUKE'EM", the phone number was: 999-9999 and that the logon procedure looked like: ______________________________________________________________________________ Welcome to the global war BBS, Your local nukefull system. Sysop: Lord Nuke Enter username: PUKENUKE Enter password: NUKE'EM Searching..found ya. Welcome PUKENUKE, today is march 12, 2093. Apacolypse wow! Press to enter system: ______________________________________________________________________________ You would make the macro lib file to read: a/The Global War BBS/NUKE Load the macro editor, change the phone# to: Phone#: /999-9999 !0 So it autodialed upon loading, and executed macro #0 when it connected, then you changed macro #0 to: #0 PUKENUKE'NUKE@'EM This would log you on, and automaticly take you into the system. Now for the rest of the macros ============================== So, what do ya do with all the other macros ya say? Well, make them into your favorite sayings: #0 logon macro+mail read #1 logon w/no mail #2 rah. #3 When the going gets tough, the smart run like hell. #4 Pukenuke. #5 -=< The PUKENUKE >=- #6 How un-nukefull of you. #7 Go nuke yer mamma. #8 Go commit nukeacide. #9 Nuke or be nuked. #: I think not. #; Nukin' some ass. Now, to display all those "nuke" messages, and signoff macros (like #5 and #4) you have to do a ^W (again depending on the install program) and the macro number. So at the end of every message, you could do ^W5 which would print: -=< The PUKENUKE >=- And in chat, if a sysop told you that you were a complete asshole, you could do this: ^W7^QHY which would do this: Go nuke yer mamma +>Disconnect? Yes! [click]