******************************************************************************* * * * T I M E B A N K * * * * v1.10 * * * ******************************************************************************* ******************************************************************************* * INTRODUCTION * ******************************************************************************* Since I didn't have a decent TimeBank for DLG, I thought I'd make a simple version while we wait for somebody to do a full featured one. The reason I didn't make a full featured one to begin with, was because I hate timebanks! But some users insisted on having a good working timebank. Until somebody does a better job, my users are stuck with this one. Current features: - Deposit time. - Withdraw time. - List of users (alphabetical). - List of users (sorted on time stored). - Broadcast capture. - Checks time left. Users with <3 minutes remaining can't use deposit or withdraw functions. - Time deposited will be added to the user's Daily_Used time. (Which means they won't get their time retured if they call back on the same day). - Nice config file for the Sysop. - Sysop Edit Account function. - Empty accounts will be automatically removed. ******************************************************************************* * INSTALLATION * ******************************************************************************* After unpacking the archives, place all files in DOORS:TimeBank/ (Create this directory). After this, you must create a menu item for this door. (Preferably one in every menu! :-)). My entry looks like this: [ 1] Letter: T [ 2] Executable: (path/name) DOORS:TimeBank/TimeBank [ 4] Description: TimeBank - Save you're precious online time for later. [ 5] Type: Executable [ 6] Help File: LOGOFF/T [ 7] Lower level: 1 [ 8] Upper level: 255 [ 9] Hidden: NO [10] Load type: OVERLAY [11] Ask user if sure: NO [12] Pend messages: YES [13] Cli mode: NO [14] Pause on completion: NO [15] Log value: None [16] Activity string: Is using the TimeBank [17] Priority: DEFAULT [18] Edit help file Now edit the config file (TimeBank.cfg) to suit your needs. ******************************************************************************* * SHAREWARE NOTICE * ******************************************************************************* This door is SHAREWARE, which means it is free to distribute to anyone you want! (I even encourage you to do so). However, if you use this door on your BBS, you must pay the shareware fee, or remove it after 30 days. I don't have any crippled features in this program, because I simply want to see if there are honest people in the world! The shareware fee for this program is _1_ postcard with a nice picture or photo on it! (Since this isn't the most incredible door ever, asking a real shareware fee would feel like a crime on my part :-)). Please support shareware! It gives the programmer an extra push to continue programming. ******************************************************************************* * NOTES * ******************************************************************************* I use the command 'DLG:Addtime' to change the online time of a user. This means you'll have to have this command in your DLG: directory. (To make sure it stays changed, I affect the Daily_Used word in the user file). I want every little bug reported ASAP!! To contact me, send mail in the DLG_CHAT or DLG_DEV mail area to me, or send mail and registrations to: Wim Rumping Sandenburg 108 1965 NM Heemskerk The Netherlands BBS: The miningship 'Red Dwarf' +31-2510-47830 +31-2510-39479 (Crappy phone line!) Fido: 2:285/404.20 Bos : 99:999/1.0 Amy : 39:151/105.0 ******************************************************************************* * THINGS I WANT TO ADD/CHANGE * ******************************************************************************* Nothing. Timebanks shouldn't be too interesting for users :-) However, possible future features: (If I'll get really bored) - Rob another user (or lose the time in your account). - Rob the bank (or get banned from the userlist). - Sysop edit functions. - Gambling. - Giving time to another user. ******************************************************************************* * HISTORY * ******************************************************************************* v1.00 - 19-07-93 - First version. v1.01 - 21-07-93 - After sorting, the pointer to the user's data wasn't correct anymore. It now is. - Added a "You can't have any more time on your account" string. (Previously it would only show "You can't deposit any time now..."). v1.02 - 25-07-93 - Changed locking mechanism. The previous one wouldn't work on OS3.x machines !!! Now using the LockResource/FreeResource method from the DLG library. v1.03 - 26-07-93 - DLG locking mechanism doesn't work correctly. Tried semaphores, but they also released the lock after 2 tries. Back to the old file method !!! *** It turned out to be a silly thing in the clean-up code *** - Now using Lock(); & UnLock(); This works. Although you need a file named 'Keyfile'. v1.04 - 19-09-93 - Stupid bug fixed. I had forgotten to include Oncedeposit & Oncewithdraw in the test statements... - Thanks everybody for the wonderful postcards I've received! v1.10 - 29-09-93 - If there is more than 1 user, empty accounts will be removed automatically! - Requested feature by Sean Clarke: Sysop Delete user function. This is implemented as a Sysop 'edit account' option. NOTES: I used the DLGQuery in GUESS mode for this, but when I use that function in a program, weird things happen! My solution for this is a workaround, and I hope it'll work for everybody. (If not, let me know about it !!!) Editing an account will reset the deposit & withdrawal dates. v1.20 - 03-10-93 - Since there was a lot of talk in the DLG echoes about the 2 minute limit from DLG, I tried to find a fix for this but I couldn't find a failsave method. v1.30 - 07-10-93 (Scrapped version 1.20, used the 1.10 source to work with). - Bug report from Sean Clarke. If a user had more time than the limit, the deposit routine didn't work correctly for that user. Fixed. - Added a new keyword for the config file. FORCELIMIT TRUE will force users with more time on their account than MAXACCOUNT to have MAXACCOUNT minutes. FORCELIMIT FALSE will do nothing. Default is FORCELIMIT TRUE.