home *** CD-ROM | disk | FTP | other *** search
/ synchro.net / synchro.net.tar / synchro.net / main / TEXT / NEWS9212.TXT < prev    next >
Encoding:
Text File  |  2001-07-30  |  53.4 KB  |  1,210 lines

  1.                  ▀▀▀▀▀▀   ▀▀▀▀▀  ▀▀▀▀▀▀▀ ▀▀▀   ▀▀ ▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀
  2.                   ▀▀    ▀▀   ▀▀ ▀▀      ▀▀▀▀  ▀▀ ▀▀         ▀▀
  3.                  ▀▀   ▀▀▀      ▀▀▀▀▀   ▀▀ ▀▀ ▀▀ ▀▀▀▀▀      ▀▀
  4.                 ▀▀    ▀▀   ▀▀ ▀▀      ▀▀  ▀▀▀▀ ▀▀         ▀▀
  5.              ▀▀▀▀▀▀   ▀▀▀▀▀  ▀▀▀▀▀▀▀ ▀▀   ▀▀▀ ▀▀▀▀▀▀▀    ▀▀
  6.  
  7.         ╔════════════════════════════════════════════════════════════╗
  8.         ║Vol 1        This month's features of IceNEWS        Issue 4║
  9.         ║ Dec        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      1992  ║
  10.         ║                                                            ║
  11.         ║     1. Piracy, the Law And Sysops Responsibilities         ║
  12.         ║        Feature Article by Don Christopher Kassey, 1@9952   ║
  13.         ║                                                            ║
  14.         ║     2. The 30 Commands of BBSing.........May B. Everyone   ║
  15.         ║                                                            ║
  16.         ║     3. Online Games: ***MELEE***........Jack Ryan,1@6100   ║
  17.         ║                                                            ║
  18.         ║     4. History of IceNET - Part 2 ............Louie, 6@1   ║
  19.         ║                                                            ║
  20.         ║     5. The Silent Serve too-Those Co's......Louhal, 1@10   ║
  21.         ║                                                            ║
  22.         ║     6. Mod o' the Month...................Airmon, 1@9901   ║
  23.         ║         -=Featuring Ethereal Cereal's USERLST2.MOD=-       ║
  24.         ╚════════════════════════════════════════════════════════════╝
  25.  
  26.           Software Piracy and the Law; and Sysops Responsibilities
  27.           ---------------------------------------------------------
  28.            Part 1 of 2 -- (Continued in next issue of IceNET News)
  29.                       By: Don Christopher Kassay
  30.  
  31. I have spent many hours researching and studying the laws that govern
  32. Electronic Bulletin Boards and what the responsibilities are of the Sysops
  33. who operate these BBS Systems. I have also written many letters to congress
  34. expressing my feelings on proposed laws that, if passed, could and would
  35. affect the operation of these Electronic Bulletin Boards, regardless of
  36. whether they are for fun or profit.
  37.  
  38. Although I am going to go into corporate law, I am going to continue to
  39. research, monitor and help lobby against laws that could take some of the
  40. enjoyment that we, as Sysops, take for granted at this time; and I would like
  41. to ask ALL my fellow Sysops to join me in this fight against laws being
  42. presented to congress that could change the way we operate our BBS System.
  43. The only way we can fight this is to become united as one large group and let
  44. our voices be heard all the way to Washington, DC.
  45.  
  46. The laws governing the operation of BBS Systems have been very vague for many
  47. years, especially in the areas of Sysop responsibilities, and software
  48. distribution and use. The purpose of this article, as I previously stated,
  49. is to answer questions frequently asked by Sysops regarding their
  50. responsibilities in running a BBS System, whether for fun or profit and the
  51. responsibilities of all BBS members and users. Last but most important, is the
  52. responsibility of all of us regarding registering and using shareware software
  53. and also the buying and using of commercial software.
  54.  
  55. For legal purposes, software is defined as "the collection of materials that
  56. contains, expresses, and explains a computer program." This definition 
  57. includes a program in machine-readable form contained on magnetic media, the
  58. printouts containing the source and object code, the programmers notes and
  59. working papers, and the users manual(s).
  60.  
  61. For legal purposes, "software piracy" is defined as "the commercial
  62. reproduction and distribution of 10 or more copies of computer software with
  63. a total resale value of $2,500 which is protected by copyright, trademark,
  64. patent or trade secret law..                                              
  65.  
  66. First, I am going to discuss the buying and use of commercial software, what
  67. constitutes copyright infringement, and the ownership of commercial software
  68. as stated in the purchase agreement(s). 
  69.  
  70. Early Computer Laws Regarding Software
  71. --------------------------------------
  72. In the early 1960's the rather unique nature of software was a constant
  73. source of problems for the courts, who could not seem to decide consistently
  74. whether software was tangible, or something in between. If software is
  75. tangible, it is covered by the Uniform Commercial Code; otherwise, it is not.
  76.  
  77. To add to the confusion, the courts defined software as tangible for some
  78. purposes and intangible for others, with different courts sometimes adopting
  79. conflicting positions. It was a very bad period of time for commercial
  80. software companies. This inconsistency by the courts to determine if software
  81. was tangible or intangible was one of the main reasons software piracy was
  82. beginning to be a growing business. Due to these inconsistences, loop-holes
  83. in the law made it difficult to prosecute software pirates because there were
  84. really no laws that protected software manufactures from them. Software
  85. piracy was a new business and the legality of copying software for resale and
  86. distribution was also a new legal issue.
  87.  
  88. The making of these Laws
  89. ------------------------
  90. In 1964 the United States Copyright Office began to register software as a
  91. form of literary expression. This made computer software a product of an
  92. engineering process. The courts still continued to have trouble deciding how
  93. to regard this process of software development for many years. Then in 1980, 
  94. the Copyright Act was amended to explicitly include computer programs and
  95. later (due to the inconsistences of the courts) the law was again redefined
  96. (section 117 of the Copyright Act).
  97.  
  98. In 1990 Congress approved the Software Rental Agreement Act (Public Law
  99. 101-650) which prohibits the commercial rental, leasing or lending of
  100. software without the express written permission of the copyright holder.
  101. Individuals may possess one copy of the software for personal use and one
  102. backup copy for archival purposes. No other copies may be made without
  103. specific authorization from the copyright owner.
  104.  
  105. According to Title 17 of the United States Code, it is illegal to make or
  106. distribute copies of copyrighted material without authorization from the
  107. copyright owner. The ACT gives the "OWNER" of the copyright "the exclusive
  108. rights to distribute copies ....of the copyrighted work" (section 106). It
  109. also states that "anyone who violates any of the exclusive rights of the
  110. copyright owner ...is an infringer of the copyright" (section 501), and
  111. sets forth several penalties for such conduct.
  112.  
  113. In mid 1992, Congress passed an amendment to Title 18, United States Code,
  114. instituting criminal penalties for copyright infringement of computer
  115. software. The penalties include heavy fines, imprisonment or both.
  116.  
  117. A civil action may be instituted for injunction, actual damages (including
  118. infringers profits), plus damages suffered by the copyright owner and/or
  119. statutory damages up to $100,000 per infringement. 
  120.  
  121. The unauthorized duplication of software is also a federal crime if done
  122. "willfully and for the purpose of commercial advantage or private financial
  123. gain." Criminal penalties with fines up to $250,000 and jail terms up to five
  124. years or both can result for unauthorized duplication of software whether it
  125. is done for sale, for free distribution, or for the users own use. Software
  126. pirates will be held accountable for their actions of copyright infringement
  127. regardless whether they knew their conduct violated federal law.
  128.  
  129. United States Code Title 18 amendment : Penalties
  130. --------------------------------------------------
  131. United States law prohibits duplicating of computer software for profit,
  132. making multiple copies for use by different users within an organization, and
  133. giving an unauthorized copy to another individual. If caught with pirated
  134. software, you and/or your company may be tried under both civil and criminal
  135. law.
  136.  
  137. With this new amendment added to the United States Code, Title 18, it
  138. protects the copyright owner from large organizations and companies from
  139. buying one (1) copy of their software and installing it on several computer
  140. systems. In other words, if a company has 25 secretaries that will be using
  141. a particular commercial computer software, they must purchase 25 copies of
  142. the software, and each secretary must have an original working copy of the
  143. software with the accompanying manual at her desk (unless a special agreement
  144. has been made between the business user and the copyright owner/publisher)
  145. i.e. special site licensing purchase agreements. These agreements compensate
  146. the publishers for the "lost sales" they might have made on a
  147. package-by-package basis because the company agrees to pay a certain amount
  148. for a specific number of copies they will make and not exceed that amount.
  149. This helps eliminate the possibility that copyright infringement will occur.
  150. By buying as many programs as it will need, a company removes the incentive
  151. for employees to make unauthorized copies. Adhering to these rules will pay
  152. off in the long run, because a firm that illegally duplicates computer
  153. software exposes itself to tremendous liability. 
  154.  
  155. Local Area Networks (LAN Systems)
  156. ---------------------------------
  157. Many software applications are sold in "Local Area Networks" (LAN) versions.
  158. If you or your company has a LAN, be sure to follow the publishers guidelines
  159. for the use of software on the LAN. It is a violation of the copyright laws
  160. and most license agreements to allow a single-copy version of software on a
  161. LAN to be 'simultaneously' accessed by more than one user.
  162.  
  163. Software Ownership
  164. ------------------
  165. Even though we all pay a lot of money for the commercial software we use, we
  166. as purchasers of this commercial software, DO NOT own the software but only
  167. purchased the right to use it from the publisher. This is why it is illegal to
  168. resale commercial software when a new version is released, i.e. you purchased
  169. WordPerfect 5.0 a year ago and WordPerfect v5.1 was just released. You want to
  170. sell your copy of WordPerfect 5.0 and use the money to help purchase
  171. WordPerfect 5.1. By law, you cannot resale WordPerfect 5.0 because you will be
  172. breaking the purchase agreement you made with the publisher and heavy
  173. penalties and fines can and will be filed against you by the copyright owner
  174. or publisher or both if this action is discovered.
  175.  
  176. The only way by law, to get rid of unused or unwanted commercial software,
  177. is to write the publisher and ask for written permission to DONATE the
  178. software to a public school, university or a legitimate non-profit
  179. organization. Most software publishers will be willing to grant this with
  180. their written permission.  You must include ALL the instruction manuals and
  181. DOC Files when you donate the software.
  182.  
  183. Schools and Universities using Commercial Software
  184. --------------------------------------------------
  185. Public or private educational institutions are NOT EXEMPT from the copyright
  186. laws. To the contrary, because of their unique position or influence, schools
  187. and universities must remain committed to upholding the copyright laws. It
  188. is illegal for a school or university to distribute commercial software as
  189. it would be for them to purchase one (1) book and make copies of it and
  190. distribute it to students without authorization from the publisher.
  191.  
  192. The same penalties and fines that individuals and companies face for
  193. copyright infringement, are the same fines and penalties that educational
  194. institutions will face for copyright infringement.
  195.  
  196. However, most software firms offer special sales arrangements to educational
  197. institutions. These include discounts for additional copies of programs,
  198. reduced-priced lab packs (quantity of programs sold together) and site
  199. license agreements. Schools should make every effort to uphold the law,
  200. because it is by their example that students will learn to have respect for
  201. intellectual property. 
  202.  
  203. Shareware Software
  204. ---------------------------
  205. What is shareware software?  Shareware Software is software that the
  206. author(s) have given permission for it to be distributed and used FREELY for
  207. a certain period of time as indicated in the "License for Use" agreement, at
  208. which time, the software must be registered or the user forfeits his/her
  209. right to use it.
  210.  
  211. It is SO important that we as 'users' of shareware software, practice the
  212. "HONOR SYSTEM" and bring it upon ourselves to use it according to the
  213. author(s) 'License of Use' agreement. Some of the best programs I use are
  214. shareware, and I want to continue to see great shareware programs being
  215. developed and distributed at a very affordable price. The ONLY way this can
  216. be accomplished, is for ALL of us to register the shareware software with the
  217. author(s) if we continue to use it after the 'License of Use' agreement has
  218. expired.
  219.  
  220. It is also important to note, that most shareware software will not be
  221. fully operational unless it is registered i.e. there are a lot of functions
  222. that will not be available to the user until he/she registers it. But most
  223. importantly to me is most 'registered' shareware software will be
  224. automatically updated FREE of charge on the next version(s). This is a great
  225. incentive from the author(s) to get users to register their software if they
  226. like it and use it.
  227.  
  228. We, as the users of shareware software, often forget the many hundreds of
  229. hours that went into the development and testing of this software. The
  230. author, for some reason, decided to distribute his software as shareware
  231. instead of commercial; which means that the success of this software is in
  232. our hands, the 'USERS', for determining its success or failure. I personally
  233. do not think paying $20.00 to $75.00 is to much for a shareware program that
  234. I like and continue to use knowing that the next updated version will be
  235. distributed to me FREE with no additional FEES.
  236.  
  237. As you can see, there are differences between commercial software and
  238. shareware software, but the main differences are in the way they are
  239. distributed and used. Commercial software is distributed by the author(s) or
  240. software company selling certain rights to a publisher who in exchange
  241. distributes the software for us to purchase and use according to the 'License
  242. for Use' agreement.  Shareware software is distributed by the author(s)
  243. giving permission to Sysops of BBS Systems to FREELY distribute their software
  244. to any and all person wanting to use it. The users of the shareware software
  245. are to use it according to the 'License for Use' agreement and register the
  246. software by sending money to the author(s) if they continue to use it.
  247.  
  248. In all the legal research I have done on 'Software' very seldom have I seen
  249. the word 'Shareware'. But if we go back and examine the legal definition of
  250. 'Software', then we MUST realize that shareware software, is protected by the
  251. same federal copyright law that applies to commercial software i.e. it is
  252. protected from the moment of its creation.
  253.  
  254. Four Methods to Protect Software (Information Purposes Only)
  255. ------------------------------------------------------------
  256. There are four (4) methods that are used to protect software ownership:
  257.  
  258.     1...Trade Secrets
  259.     2...Copyrights
  260.     3...Trademarks
  261.     4...Patents
  262.  
  263. These methods are used 'mainly' to protect commercial software from
  264. infringement of rights. The laws protecting shareware software from
  265. infringement of rights may be viewed to be more of an obligation than a
  266. right. However, in the legal sense, it is a 'right' because no one else may
  267. intervene and do it for the owner.
  268.  
  269. At this time, I am going to "briefly" discuss the four (4) methods that are
  270. used to protect software ownership for information purposes only:
  271.  
  272. TRADE SECRET:  This area of the law protects the information, devices, and
  273. processes that give the owner a competitive advantage over those who do not
  274. know what the owner knows about something. With software, this is usually
  275. applied during both the development, and marketing stages. However, in order
  276. to be considered for a trade secret, the software needs to contain some
  277. unique secret that may be considered unique to the program's functioning.
  278. Some of the other items that may be subject to the trade secret include:
  279. customer lists, testing results, and even the names of the programmers who
  280. developed the program.
  281.  
  282. COPYRIGHTS: Whereas trade secrets typically protect commercial ideas,
  283. regardless of the manners in which they are expressed, copyrights protect
  284. only the expression of the ideas, and not the ideas themselves.
  285.  
  286. Before software can be copyrighted:
  287.  
  288.   1..It must be expressed in a tangible form
  289.   2..it must be an original work by the author
  290.   3..it must NOT be part of the public domain
  291.  
  292. In this latter case, there are two ways in which software falls into the
  293. public domain:
  294.  
  295.   A..Intentionally
  296.   B..Through Negligence
  297.  
  298. This negligence includes publishing the ideas without a copyright notice. It
  299. will remain in the public domain should the author not correct the error
  300. within five years from the date of original publication.
  301.  
  302. Copyrights last for the life of the author plus fifty (50) years. However,
  303. if the expression of ideas is classified as a "made for hire" work, the
  304. copyright lasts for 75 years from the date of first publication. If an owner
  305. can prove that someone infringed on his copyright, then he can take the
  306. violator to court, but ONLY IF the copyright is a registered copyright on
  307. file with the Library of Congress.
  308.  
  309. TRADEMARK:  This is a word, symbol or phrase that is used to identify a
  310. product and that which sets it apart from other products. Yet, not every word
  311. or phrase or symbol qualifies for a trademark. Words, symbols or phrases that
  312. are deemed to be "of general use" that describe the nature of a product
  313. generally do not qualify. For example, recent concern over the possibility
  314. of applying a trademark to the term "shareware" may be successfully contested
  315. since it would appear to represent a term "of general use" that describes the
  316. nature of a product, i.e. software obtainable via a Electronic Bulletin Board
  317. for a "nominal" registration fee..
  318.  
  319. Another important aspect that pertains to trademarks is that software
  320. trademarks cannot be considered too generic or too universally descriptive.
  321.  
  322. To establish a trademark, you select a name, but also make sure that the name
  323. is not being used by someone else. Yet, duplication of names may be permitted
  324. in certain instances, provided, for example, that confusion does not result,
  325. and/or the products are in different industries.
  326.  
  327. There is also 'Law of Unfair Competition". These "laws" are defined on the
  328. state level, not the federal level. They protect honest business people from
  329. unscrupulous competitors, and also protects the general public from
  330. "intentional" deception. There are times when such laws may be applied in
  331. copyright, trademark and, of course, patent law.
  332.  
  333. PATENT:  Of all the various methods to protect one's property, patent law
  334. does provide the 'best' protection. If one holds a patent, it is applicable
  335. for 17 years. Within this period, no one can duplicate your "creation".
  336. Unlike the other protection methods, patents protect against what is called
  337. "independent development of an invention". Regardless of whether someone else
  338. knows about the idea or not, if a person has a patent, the invention cannot
  339. be duplicated. But, there is a kicker: many if not most, computer programs
  340. are not eligible for a patent. According to the Patent Office, you cannot
  341. patent something that is "based either on the laws of nature or upon mental
  342. processes". Computer programs contain algorithms (mathematical formulas)
  343. which are mental processes, and, therefore may not be patentable.
  344.  
  345. Yet, there are exceptions. The Supreme Court, in the Diamond vs Diehr case
  346. in 1981, stated that "programs may be patentable when they are an inseparable
  347. part of the process or device that is itself patentable." In addition, in
  348. 1981, Merill Lynch applied for and received a patent on their 'Cash
  349. Management System'. Most recently, Quarterdeck Software applied for and
  350. received a patent on their "windowing" product, DESQview.
  351.  
  352. There is another side of the 'issue'. Programs on the ROM chips are usually
  353. patentable since the program is considered part of the hardware (on the
  354. chip). But, such logic may be suspect because a program on ROM that may be
  355. replaced by a program on disk that is read into RAM, may not be patentable.
  356. The Patent Office states that a person cannot patent something "unless it is
  357. considered 'novel' or at least 'not obvious'." Programs that are used to
  358. automate typical office functions previously performed manually, for example,
  359. generally do not qualify because the Patent Office does not consider them to
  360. be novel enough, or that they tend to be rather obvious.
  361.  
  362. As you can see, software is very difficult to protect under these four (4)
  363. methods, and that is the main reason the federal government decided to
  364. automatically protect 'Software' from the moment of its creation by
  365. incorporating the federal copyright law.
  366.  
  367. Special Notes:
  368. --------------
  369. The United States Government has been an active participant in protecting the
  370. rights of copyright owners. The Business Software Alliance informed me that
  371. when they conduct a raid, Federal Marshals and/or local law enforcement
  372. officers also participate. Federal Judges have shown their intolerance of
  373. copyright violators by handing down increasingly large damage awards against
  374. infringers.
  375.  
  376. The Software Publishers Alliance informed me they have filed many lawsuits
  377. against individuals and companies engaged in the unauthorized duplication of
  378. PC Software and will continue to do so when it becomes aware of situations
  379. that warrant such actions; and they ask that anyone knowing of illegal
  380. copyright infringement contact them immediately at 1-800-388-7478. If you are
  381. aware of illegal copyright infringement and you do not report it, then you
  382. are also in violation of promoting copyright infringement and you can and
  383. will be held liable for this in a court of law.
  384.  
  385. The Software Publishers Alliance has a 12 minute video cassette on the
  386. subject of software piracy entitled "IT'S JUST NOT WORTH THE RISK". This
  387. video cassette is available for $10.00 and is a useful tool for instructing
  388. business users about the legal use of software products. They sent me a copy
  389. of this cassette and I found it very informative. 
  390.  
  391. Special Thanks:
  392. --------------
  393. I would like to thank the following people and organizations for their help
  394. in the writing of this article:
  395.  
  396. Jim Nunn, for asking me to write this article
  397. Legal Department of WordPerfect Corporation
  398. Software Publishers Association
  399. Business Software Alliance
  400. Unites States Justice Department 
  401.  
  402. Conclusion
  403. --------------
  404. Most people do not purposely break the law. They would never consider
  405. stealing money from someone's pocket. But those who copy software without
  406. written authorization from the publisher are stealing intellectual property
  407. and they should understand the consequences of their actions.
  408.  
  409. If you are an individual user, please don't break the law. Everyone pays for
  410. your crime. If you are part of an organization, see to it that your
  411. organization complies with the law, and that it issues an appropriate policy
  412. statement that is signed and respected by all individuals involved.
  413. --------------------------------------
  414. If you would like a copy of this article for your personal file and/or
  415. distribution, you have my permission to copy and distribute it as long as
  416. there are NO changes of any kind made to it.
  417.  
  418. This article is the property of Don Christopher Kassay and/or Online News
  419. Magazine and there can be NO changes of any kind made to it. Copies/Reprints
  420. and Distribution are granted by written permission only. No unauthorized
  421. Copies/Reprints or Distribution are allowed.
  422.  
  423. If you found this article informative and would like to have follow-up
  424. articles written on the subject of Laws and Electronic Bulletin Boards, you 
  425. can contact Jim Nunn #1 @1 IceNET or you may e-mail me at Online News
  426. Magazine #1 -- IceNET 9952, WWIVnet 19977 or WWIVlink 19952..
  427.  
  428.  
  429. Editor's Note on the Author:
  430.  
  431. Don Christopher Kassay is the Sysop of Online News Magazine, IceNET @9952
  432. located in Raleigh North Carolina. He moved to Raleigh in March of 1992 when
  433. he and his wife, Kristi Sinclair, decided to open up another Office Complex
  434. for their company, Data Technology Research Corporation.
  435.  
  436. Don has been a professional musician (drummer) for the past 21 years touring
  437. with numerous artists and groups. In 1990, he decided it was time to start the
  438. process of retiring, and decided to finish the law degree he started 10 years
  439. ago. He was accepted at Duke University and will graduate this coming April.
  440.  
  441. Don expects to take the Bar Exam in mid summer, and go into coorporate law.
  442. He has stated that he will continue to research, lobby and fight against laws
  443. being presented to congress that could take away some of our rights of
  444. operating a BBS System.
  445.  
  446. Since going back to law school in 1990, Don has done extensive research on the
  447. laws regulating Electronic Bulletin Boards, Sysops responsibilities, and the
  448. rights of BBS members and BBS users. He is an active consultant for numerous
  449. organizaions and businesses, helping employees and private users of computer
  450. software understand their responsibilities in using this software and at the
  451. same time helping promote a healthy relationship between software manufactures
  452. the people who use their software.
  453.  
  454. ═══════════════╦════════════════════════════════════════════╦═════════════
  455.                ║ The 30 Commands of BBSing - May B. Everyone║
  456.                ╚════════════════════════════════════════════╝
  457.  
  458.                  
  459.      Some very intelligent SysOp gave some great thought to how a
  460.      BBS should be operated and came up with these 30 BBS
  461.      commandments.
  462.  
  463. 1.  Thou shalt love thy BBS with all thy heart and all thy bytes.
  464.      
  465. 2.  Thou shalt remember thy name and thy password.
  466.      
  467. 3.  Thou shalt speaketh to the SysOp thy real name.
  468.      
  469. 4.  Thou shalt not POST IN ALL CAPS!
  470.      
  471. 5.  Thou shalt Honor thy SysOp.
  472.      
  473. 6.  Thou shalt not covet thy neighbor's password, nor thy         
  474.     neighbor's
  475.     real name,
  476.     computer, software, nor any other thing of thy
  477.     neighbor's.
  478.      
  479. 7.  Thou shalt only call a BBS two times a day.
  480.  
  481. 8.  Thou shalt not post messages that are stupid, worthless, or   
  482.     have no meaning, lest thee be deemed a fop.
  483.  
  484. 9.  Thou shalt use the English language properly so that thee may 
  485.     be deemed wise.
  486.      
  487. 10. Thou shalt spell thy words correctly.  Amen.
  488.  
  489. 11. Thou shalt delete thine own mail.
  490.  
  491. 12. Thou shalt delete thine ancient mail.
  492.  
  493. 13. Thou shalt help other users so that thee may be deemed a      
  494.     friend.
  495.  
  496. 14. Thou shalt not post anomymously when offering criticism.
  497.  
  498. 15. Thou shalt keep thy foul language to thyself lest thee be     
  499.     forever banished.
  500.  
  501. 16. Thou shalt not occupy thy BBS with thine arguments, for       
  502.     Verily, I say unto thee that thou shalt maketh thyself the    
  503.     charlatan.
  504.  
  505. 17. Woe be unto the user who attempth to crash thy BBS, for such
  506.     shall be cast out from the sanctuary of thy hobby and must    
  507.     repent by doing 40 mega-days and 40 mega-nights of penance in 
  508.     voice-only communications.
  509.  
  510. 18. Thou shalt first dial BBS number during the day by way of     
  511.     voice line to assure correct numbers.
  512. 19. Thou shalt not post other user's real names.
  513.  
  514. 20. Thou shalt not post messages after imbibing excessively of    
  515.     ale.
  516.  
  517. 21. Thou shalt confine thy messages to those of friendship,       
  518.     requests for assistance, aid to the needy, advice, and        
  519.     advancement of thy hobby; yea, and thou art obligated to repel 
  520.     any who wouldst transgresseth upon these commandments.
  521.      
  522. 22. If thou doth promise to reply to a message and thou doth not,
  523.     then surely thou shalt spill liquid into thy keyboard and
  524.     
  525.     shorteth out thy central processing unit.
  526.  
  527. 23. Thou shalt not giveth any false information when applying for
  528.     membership to thy BBS, for Verily it is Written that whosoever
  529.     shall do so will surely be found out and thy welcome on all
  530.     boards will be thus be denied forever and ever.
  531.  
  532. 24. Thou shalt log on properly and in accordance with thy SysOp's
  533.     wishes.
  534.  
  535. 25. Thou shalt observeth BBS time limits.
  536.  
  537. 26. Thou shalt not upload "worm" or "trojan" or "virus-ed"        
  538.     programs.  
  539.  
  540. 27. Thou shalt not ask stupid questions that art already fully
  541.     explained in BBS bulletins and instructions.
  542.      
  543. 28. Thou shalt not exchangeth commercial software thru thy BBS.
  544.  
  545. 29. Thou shalt not violate any applicable state/federal/local laws
  546.     and regulations affecting BBS telecommunications, or thee will
  547.     face the wrath of thy judicial system.
  548.      
  549. 30. Thou shalt not hack.
  550.  
  551.      The user who submitted this wishes to remain  anonymous.
  552.  
  553.  
  554.  
  555. ═══════════════════╦════════════════════════════════════╦═══════════════
  556.                    ║ Online Games by Jack Ryan #1 @6100 ║
  557.                    ╚════════════════════════════════════╝
  558.  
  559.                              On-Line Games
  560. Jack Ryan #1 @6100 writes an interesting article on an online that
  561. is found on many of todays BBS'
  562.  
  563.                              ***MELEE***
  564.      Melee is an On-Line game of combat in the arena, but it goes
  565. further than that.  This is not a game of chance, as many
  566. gladiator-style games seem to be.  There are many factors that are
  567. taken into consideration when you fight.  
  568.  
  569.      When you first begin the game, you choose what type of
  570. weapons you wish to specialize in (one-handed swords, two-handed
  571. swords, etc.), you also choose what combat environment you wish to
  572. specialize in. You will select a Ghod (god) that you will worship,
  573. this decision is an important one, for it will determine many of
  574. your combat strategies.            
  575.  
  576.      There are many things to do in Melee, besides the obvious
  577. choice of fighting. There are classes to attend, these help you to
  578. become a better warrior. You may work to improve your combat
  579. skills, your charisma, intelligence, endurance, etc. Also, you are
  580. constantly visiting one of the many armories, enhancing or
  581. repairing your equipment.  
  582.  
  583.      Melee is not a game that you will re-roll. It builds on
  584. itself, and there are always opponents of the right level, because
  585. the Guild also has combat  androids for you to cross swords with. 
  586. The game will also allow the  import/export of warriors from other
  587. Guilds (BBS's).  
  588.  
  589.      Melee is not graphics oriented, but it doesn't depend on a
  590. lot of pretty window-dressing, the game stands up fine without it. 
  591.  
  592.      Melee does take up some space. It is 500k zipped, and you
  593. will need a door converter to run it.  Also, you will need a
  594. fossil driver.  I use doormaster as my conversion program (Melee
  595. uses Doorinfo.def), and I use BNU170 as my fossil driver.  I have
  596. all of these programs available for download, and will be happy to
  597. assist anyone in setting this game up.
  598.  
  599.  
  600.  
  601. ═══════════════════════╦════════════════════════════╦═══════════════════
  602.                        ║ History of IceNET - Part 2 ║
  603.                        ╚════════════════════════════╝
  604.                       Views from the Mind of.....Louie
  605.  
  606.  
  607.                        IceNET - The Story Continues!
  608.                    ====================================
  609.  
  610.  
  611.      The forces were gathered at the Penthouse for the meeting to
  612. end all meetings. Well, that's what KillerTrees (1@7) was thinking
  613. as he took his sharp cutting instruments of death. He was to be
  614. very disappointed though, no killing in mass today.  
  615.  
  616.      It was an IceNET Command Staff meeting.  Everybody of
  617. importance was  present, well, except for Accipter (AKA "The
  618. Duck") (1@7660) who had flown  South for the winter, to
  619. Antarctica, (the one place with worse winters than  Buffalo.  And
  620. no, we don't understand him either).  
  621.  
  622.      Jim was sitting at the head of the table...facing the wall. 
  623. He began to  speak but since he was facing the wall nobody could
  624. hear him. After about ten minutes or so everybody took notice that
  625. Jim was trying to say something. "Should we tell Jim that he
  626. talking the Wall?" Louie (6@1) remarked. "Remember what happened
  627. the last time we told him he was speaking to inanimate objects"
  628. said Spulunker (1@7653), "I say we just let him sit their
  629. babbling. I have my network connects to worry about you know."
  630. Louhal (1@10) looked both ways and then said to Jim "ah, Jim?". 
  631. Jim (1@1) looked back, "What, Louhal?", then his eyes slowly
  632. wandered across to look at everybody else. Looked back at the wall
  633. quickly and then back at the group. "When did all of you move back
  634. there?" Louie said "we thought it would be more comfortable
  635. sitting in the chairs".  Jim mumbled "Well, tell me next time all
  636. of you do that!".  "OK, Jim" was everybody response.  "Now, where
  637. are we?" Jim said authoritatively.
  638.  
  639.      Immediately the response came from the Piper (1@3) "We are
  640. here! Why are we here?  Because we aren't there! We aren't there!"
  641. and a lot of senseless babbling...  "OK, who forgot to Give Piper
  642. his Medicine this week? Who was in charge of handling him this
  643. week?" Jim Shouted!  Immediately Killertrees hustled Piper off to
  644. the back room. Lots of yelling was heard but nobody
  645. dared to question it. It seems Killertrees had found his blood
  646. letting for the day.  Jim continued "Well, I would like to turn
  647. the meeting for a short time over to Zaphod (1@7659) for a few
  648. minutes." Zaphod entered from the side...both his heads looking
  649. back at the room Trees had hauled Piper off too and with a look of
  650. great happiness on one face, and look of great dread on the other. 
  651. "If you would direct your attention to the large map back here on
  652. the wall "Zaphod said.  It was a large map of the continental
  653. United States and Canada.  On it were colored areas....in crayon
  654. (Yes, this is a two bit operation). The colored areas seemed to
  655. correspond with various area codes around the country.  Zaphod
  656. Continued "The areas in black are those already dominated by
  657. IceNET Forces, or allied networks. Areas in red are those areas
  658. continued by the Evil Empire...er...WWIVnet. 
  659.  
  660.      Those areas in purple are WWIVlink dominated territories. 
  661. Those areas not on the map have not been colored in." Zaphod then
  662. took his seat again.  Jim then said "Any news on our emissaries to
  663. the WWIVlink people". "WWIVlink has pledged itself to be neutral
  664. in a vote taken last Tuesday. At least that's how the link board
  665. is interrupting the results that way. Seems more who voted
  666. respond with 'Green Noodles make Blue Poodles Jump der Shtroodle'. 
  667. They have spent the last several days in high level meetings
  668. trying to figure out what that means exactly" was Lady (3@2)
  669. response.  Jim said "Good, at least there won't be any boarder
  670. conflicts with them when our army leaves for Southern Calf.  for
  671. the grand conflict with the Evil Wayne Bell (1@3050).  Then Jim
  672. looked around the table "Where's Filo (1@5252)?" he commented.  
  673. "Filo promised to be on our side. Oh no. I bet he has already
  674. smuggled our plans back to Random (1@3050).  We will have to move
  675. quickly if we want to stop them from getting the jump on our
  676. forces".  "Gather the troops quickly. We have to move
  677. immediately".   
  678.  
  679.                                TO BE CONTINUED . .
  680.  
  681.                               (unfortunately...Jim)
  682.  
  683. ══════════════════════╦═════════════════════════════════╦═══════════════════
  684.                       ║ Co-Sysops - The Silent Majority ║
  685.                       ╚═════════════════════════════════╝
  686.  
  687.  
  688.                A close look at the Still Silent majority; 
  689.  
  690.  
  691.           Co-Sysops When I first thought about this article I expected a
  692. lot more reaction but it would seem as though the co-sysops are really the
  693. silent members that would rather be the backer of the board.  Even mine
  694. who I requested to submit a comment and helped with the editing of the
  695. newsletter.  I did get a few comments and this is what they have to say.
  696.  
  697.      Mad Man #101 @10 writes, "I Co-Sysop on two BSS's and I enjoy the
  698. work.  It is sometimes hard to keep up.  I do not like recognition for my
  699. work so sitting in the background suits me well.  I like the technical
  700. work and the challenge of setting things up.  I just don't want the
  701. responsibility or expense that is involved.
  702.  
  703.      One system I manage completely from remote, almost everything.  The
  704. other I just add touches to to make it appealing.  My comments are
  705. worthless, as what really matters is how the Sysop feels."
  706.  
  707.      Amproman #14 @10 comments, "I think that a CoSysop is very important
  708. to a board, if they know how to do their job.  A CoSysop is generally free
  709. to use his computer to call out to tuns of boards, while that Sysop's
  710. computer and phone line are tied up for that board.  As a Co, some of that
  711. things I do, is make sure our board's number is in all that BBS lists on
  712. boards in that area, leave messages directing users to that board where
  713. appropriate, and bringing important ideas back to that Sysop, and then
  714. there's that most important job, providing someone to hang out with at BBS
  715. events."
  716.  
  717. Ampro is the co-sysop of Fantasia BBS [ADS#1]
  718.  
  719. ══════════════════╦════════════════════════════════════╦════════════════════
  720.                   ║ Mod of the Month by Airmon #2 @9901║
  721.                   ╚════════════════════════════════════╝
  722.                             USERLST2.MOD
  723.  
  724.  
  725.  
  726. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  727.                              Mod o' the Month
  728.                              by Airmon 1@9901)
  729.                              Featured Mod: USERLST2.MOD
  730. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  731.         Why yes, Airmon is back once again, to bring you the Mod o' the Month.
  732. Happy Happy Joy Joy.  This month's mod is written by one of the more well known
  733. mod authors, Ethereal Cereal.  Ethereal Cereal brings us a mod that proves it-
  734. self useful.  Especially when you decide to decide to modify the userrec.  This
  735. miracle, allows you to have 2 user lists, thus allowing you to add mods that
  736. effect the userrec such as his own FROM mod, and maybe mods like the 8 more
  737. colors mod.  The sweetest part of this mod, is that no harm is done.  The mod
  738. itself doesn't affect the regular userrec, as well as it allows you to install
  739. mods that might have affected the userrec.  All in all, it's a great mod.  Try
  740. it, I am sure you will like it.
  741.  
  742.  
  743. /-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\
  744.  
  745.                             The Second User List Mod
  746.                                  (USERLST2.MOD)
  747.                                        by
  748.                                 Ethereal Cereal
  749.  
  750. WARNING:  This mod is not for the weak at heart.  Previous modding experience
  751.           is  expected.
  752.  
  753. Intro
  754. ─────
  755. Ok, ok, ok.  Fine.  After enough harrassment from a variety of people, I am
  756. finally going to release my solution to the modified userrec problem.
  757.  
  758. Info
  759. ────
  760. What this mod does, is create a second user list file (USER2.LST) that holds
  761. all of your extra stuff that would normally go into the USER.LST/userrec stuff.
  762.  
  763. The way I have implemented this, is through the use of secondary routines
  764. (write_user2, read_user2, thisuser2, userrec2, etc...). There are better ways
  765. to do this one (through the use of allocations and deallocations of thisuser,
  766. et al.) but I felt that in the long run, it would be way too much work.
  767.  
  768. Anyhow, if you have any probs, you know where to reach me... via the normal
  769. routes established long, long ago.  If that doesn't work, I'm sure someone over
  770. here in this part of the country knows of a way to get a hold of me.
  771.  
  772. Oh, one other note.  This should work on just about any version of WWIV (just
  773. like most mods).  Just might require a bit more elbow grease on your part.
  774. This mod was written for my v4.20d/v4.21 monster; hopefully everything is
  775. relatively close.
  776.  
  777. ───────────────────────────────────────────────────────────────────────────────
  778. As usual with most of these mods, the author (me) takes no resposibility
  779. what-so-ever if this mod causes your cat to jump on your keyboard and
  780. delete every user you have or if your modem decides it doesn't like you
  781. and fries itself, committing datacide...
  782.  
  783. EC
  784. ───────────────────────────────────────────────────────────────────────────────
  785.  
  786. /***********************/
  787. /*     L E G E N D     */
  788. /***********************/
  789. /* - = Deleted Line    */
  790. /* + = New Line        */
  791. /* # = Existing Line   */
  792. /* ! = Modified Line   */
  793. /* * = Search For Line */
  794. /***********************/
  795.  
  796.  
  797. Step #1  -- Back up your source!
  798. Function --
  799. Comments --
  800.  
  801.          I normally don't put this in as a step to one of my mods, as I figure
  802.          most people have the common sense to do it.  Since this mod is VERY
  803.          extensive--ok, more extensive that what I normally do--this is just to
  804.          make sure that I don't get mail from people saying "Your mod blew up
  805.          my system, and it's all your fault, and I don't have a backup of my
  806.          old source and ..."  Hey, I reminded you right here.
  807.  
  808. Step #2  -- VARDEC.H
  809. Function -- N/A
  810. Comments --
  811.  
  812.          We might as well get this over with.  Create an entry right after
  813.          the } userrec; that includes the extra stuff that you want to put
  814.          in it.  Here's a copy of mine.  Notice the reserve space for later
  815.          on.  (Ok, so it's a bit of overkill--but, anyone who has ever logged
  816.          on knows that I generally tend to use what I have... <G>)  Most of
  817.          this stuff probably won't be needed by most people, but at least
  818.          you have an example to go by.
  819.  
  820. typedef struct {
  821.         unsigned char   phone2[13],      /* Second phone # mod */
  822.                         major[21],       /* hey, Its a college town */
  823.                         bbsname[31],     /* MTB's SYSAUTO2.MOD */
  824.                         street[31],      /* My From Stuff */
  825.                         city[21],        /*   "    "      */
  826.                         state[3],        /*   "    "      */
  827.                         country[4],      /*   "    "      */
  828.                         zipcode[12],     /*   "    "      */
  829.                         bbstype[11],     /* MTB's SYSAUTO2.MOD */
  830.                         inact,           /* for my network stuff :) */
  831.                         defarc,          /* Goose's Default Archive */
  832.                         defdir,          /* Goose's default dir */
  833.                         banner[81],      /* DeBanner mod by Deltigar(?) */
  834.                         rank[41];        /* My USERRANK2 mod */
  835.         unsigned long   exempt;          /* more exemptions ;) */
  836.         char            expiration[9];   /* when they get auto-deleted */
  837.         unsigned int    donation;        /* donated to the system? */
  838.         char            profile[9];      /* JSM's user profile mod */
  839.         char            reserved[1854];  /* reserve space */
  840. } userrec2;
  841.  
  842.  
  843. Step #3  -- VARS.H
  844. Function -- N/A
  845. Comments --
  846.  
  847.          We need to make an entry for thisuser2.  Put these in the appropriate
  848.          places.
  849.  
  850. userrec2 thisuser2;    /* Entry for the USERLST2.MOD */
  851. int userfile2;         /* entry for the USERLST2.MOD */
  852.  
  853.          later on...
  854.  
  855. extern userrec2 thisuser2;    /* entry for the USERLST2.MOD */
  856. extern int userfile2;         /* entry for the USERLST2.MOD */
  857.  
  858. Step #3  -- UTILITY.C
  859. Function -- open_user() and close_user()
  860. Comments --
  861.  
  862.            Just simple replacements.  Should be fairly easy to spot
  863.            the changes in these.
  864.  
  865. void close_user()
  866. {
  867.   if (userfile!=-1) {
  868.     close(userfile);
  869.     userfile=-1;
  870.   }
  871.   if (userfile2!=-1) {
  872.     close(userfile2);
  873.     userfile2=-1;
  874.   }
  875. }
  876.  
  877. void open_user()
  878. {
  879.   char s[81];
  880.  
  881.   if (userfile==-1) {
  882.     sprintf(s,"%sUSER.LST",syscfg.datadir);
  883.     userfile=open(s,O_RDWR | O_BINARY,S_IREAD | S_IWRITE);
  884.     if (userfile<0)
  885.       userfile=-1;
  886.   }
  887.   if (userfile2==-1) {
  888.     sprintf(s,"%sUSER2.LST",syscfg.datadir);
  889.     userfile2=open(s,O_RDWR | O_BINARY,S_IREAD | S_IWRITE);
  890.     if (userfile2<0)
  891.       userfile2=-1;
  892.   }
  893. }
  894.  
  895. Step #4  -- UTILITY.C
  896. Function -- N/A
  897. Comments --
  898.  
  899.          Near the functions write_user() and read_user(), slap these functions
  900.          nearby...
  901.  
  902. int number_userrecs2()
  903. {
  904.   open_user();
  905.   return((int) (filelength(userfile2)/sizeof(userrec2))-1);
  906. }
  907.  
  908. void read_user2(unsigned int un, userrec2 *u)
  909. {
  910.   long pos;
  911.   char s[80];
  912.   int i;
  913.  
  914.   open_user();
  915.   if ((userfile2<0) || (un>number_userrecs2())) {
  916.     u->inact=inact_deleted;
  917.     return;
  918.   }
  919.  
  920.   if (((useron) && (un==usernum)) || ((wfc) && (un==1))) {
  921.     *u=thisuser2;
  922.     return;
  923.   }
  924.   pos=((long) sizeof(userrec2)) * ((long) un);
  925.   lseek(userfile2,pos,SEEK_SET);
  926.   i=read(userfile2, (void *)u, sizeof(userrec2));
  927.   if (i==-1) {
  928.     open_user();
  929.     if ((userfile2<0) || (un>number_userrecs2())) {
  930.       u->inact=inact_deleted;
  931.       return;
  932.     }
  933.     pos=((long) sizeof(userrec2)) * ((long) un);
  934.     lseek(userfile2,pos,SEEK_SET);
  935.     i=read(userfile2, (void *)u, sizeof(userrec2));
  936.     if (i==-1) {
  937.       pl("COULDN'T READ USER2.");
  938.     }
  939.     close_user();
  940.   }
  941. }
  942.  
  943.  
  944. void write_user2(unsigned int un, userrec2 *u)
  945. {
  946.   long pos;
  947.   char s[80];
  948.   unsigned char oldsl;
  949.   int i;
  950.  
  951.   if (userfile2==-1) {
  952.     sprintf(s,"%sUSER2.LST",syscfg.datadir);
  953.     userfile2=open(s,O_RDWR | O_BINARY | O_CREAT, S_IREAD | S_IWRITE);
  954.   }
  955.   if (((useron) && (un==usernum)) || ((wfc) && (un==1)))
  956.     thisuser2=*u;
  957.   pos=((long) sizeof(userrec2)) * ((long) un);
  958.   lseek(userfile2,pos,SEEK_SET);
  959.   i=write(userfile2, (void *)u, sizeof(userrec2));
  960.   if (i==-1) {
  961.     sprintf(s,"%sUSER2.LST",syscfg.datadir);
  962.     userfile2=open(s,O_RDWR | O_BINARY | O_CREAT, S_IREAD | S_IWRITE);
  963.     pos=((long) sizeof(userrec2)) * ((long) un);
  964.     lseek(userfile2,pos,SEEK_SET);
  965.     i=write(userfile2, (void *)u, sizeof(userrec2));
  966.     if (i==-1) {
  967.       pl("COULDN'T WRITE USER2.");
  968.     }
  969.     close_user();
  970.   }
  971. }
  972.  
  973. ───────────────────────────────────────────────────────────────────────────────
  974. Due to the pure number of changes, this is how we are going to do this.  In the
  975. next few steps, I will list the file and the function that has to get changed.
  976. In EVERY case, unless SPECIFICALLY mentioned otherwise, simple search for the
  977. correspoding read_user() or write_user() and add the read_user2() or
  978. write_user2() AFTER it.
  979. ───────────────────────────────────────────────────────────────────────────────
  980.  
  981. Step #5  -- BBS.C
  982. Function -- lots :)
  983. Comments --
  984.  
  985. void getcaller()
  986. #  wfc=0;
  987. *  read_user(1,&thisuser);
  988. +  read_user2(1,&thisuser2); /* MOD */
  989.  
  990. *              outs("Fast\r\n\r\n\r\n\r\n\r\n\r\n");
  991. #              read_user(1,&thisuser);
  992. +              read_user2(1,&thisuser2); /* MOD */
  993. #              reset_act_sl();
  994.  
  995. *        frequent_init();
  996. #        read_user(1,&thisuser);
  997. +        read_user2(1,&thisuser2); /* MOD */
  998. #        fwaiting=thisuser.waiting;
  999.  
  1000. void got_caller()
  1001. *  outcom=1;
  1002. #  read_user(1,&thisuser);
  1003. +  read_user2(1,&thisuser2); /* MOD */
  1004. #  reset_act_sl();
  1005.  
  1006. Step #6  -- DEFAULTS.C
  1007. Function -- only one
  1008. Comments --
  1009.  
  1010. void defaults()
  1011. *  write_user(usernum,&thisuser);
  1012. +  write_user2(usernum,&thisuser2);  /* MOD */
  1013. #  close_user();
  1014.  
  1015. Step #7  -- LILO.C
  1016. Function -- only two
  1017. Comments --
  1018.  
  1019. void getuser()
  1020. *    if (usernum>0) {
  1021. #      read_user(usernum,&thisuser);
  1022. +      read_user2(usernum,&thisuser2); /* MOD */
  1023. #      actsl = syscfg.newusersl;
  1024.  
  1025. void logoff()
  1026. *  write_user(usernum,&thisuser);
  1027. +  write_user2(usernum,&thisuser2); /* MOD */
  1028. #  close_user();
  1029.  
  1030.  
  1031. Step #8  -- NEWUSER.C
  1032. Function -- only one
  1033. Comments --
  1034.  
  1035. void newuser()
  1036. *  memset(&thisuser, 0, sizeof(userrec));
  1037. +  memset(&thisuser2, 0, sizeof(userrec2)); /* MOD */
  1038.  
  1039.    There should be several such pairs of this next one.  Be sure to
  1040.    get them all.
  1041.  
  1042. *    write_user(usernum,&thisuser);
  1043. +    write_user2(usernum,&thisuser2); /* MOD */
  1044. #    close_user();
  1045.  
  1046. Step #9  -- SHRINK.C
  1047. Function -- only one
  1048. Comments --
  1049.  
  1050. void shrink_out()
  1051. *    if (state) {
  1052. #      write_user(usernum,&thisuser);
  1053. +      write_user2(usernum,&thisuser2); /* MOD */
  1054.  
  1055. int restore_data()
  1056. *    read_user(usernum,&thisuser);
  1057. +    read_user2(usernum,&thisuser2); /* MOD */
  1058. #    useron=1;
  1059.  
  1060.  
  1061. Step #10 -- SYSOPF.C
  1062. Function -- only one
  1063. Comments --
  1064.  
  1065. void chuser()
  1066. *    write_user(usernum,&thisuser);
  1067. +    write_user2(usernum,&thisuser2); /* MOD */
  1068. #    read_user(i,&thisuser);
  1069. +    read_user2(i,&thisuser2); /* MOD */
  1070. #    usernum=i;
  1071. #    close_user();
  1072.  
  1073. Step #11 -- XFER.C
  1074. Function -- only one
  1075. Comments --
  1076.  
  1077.            On my system, this is actually in the DEFAULTS.C file, where it
  1078.            belongs.  (make sense, doesn't it?)
  1079.  
  1080. void xfer_defaults()
  1081. *  write_user(usernum,&thisuser);
  1082. +  write_user2(usernum,&thisuser2);  /* MOD */
  1083. #  close_user();
  1084.  
  1085.  
  1086. Step #12 -- XFER.C
  1087. Function -- only one
  1088. Comments --
  1089.  
  1090. void init()
  1091. *  userfile=-1;
  1092. +  userfile2=-1;
  1093.  
  1094. *  read_user(1,&thisuser);
  1095. +  read_user2(1,&thisuser2);  /* MOD */
  1096.  
  1097.  
  1098. Step #13 -- UEDIT.C
  1099. Function --
  1100. Comments --
  1101.  
  1102.          This one is a REAL mess.  All kinds of problems to deal with.  Let's
  1103.          do this one first...
  1104.  
  1105. void print_data()
  1106. *  char s[81],s1[81],s2[81],s3[81],s4[81];
  1107. #  int i;
  1108. +  userrec2 u2; /* mod */
  1109.  
  1110. +  read_user2(un,&u2); /* MOD */
  1111. +  close_user();
  1112.  
  1113.           Ok, now we can display the data in Uedit, just like we would
  1114.           with the normal userlist, except it isn't a pointer.  Here is an
  1115.           EXAMPLE:
  1116.  
  1117.   npr("PH#1: %s\r\n",(u->phone)); /*  This is the first phone from the
  1118.                                       first user list */
  1119.   npr("PH#2: %s\r\n",(u2.phone2)); /* This is from the second.  Note the use
  1120.                                       of a "." instead of "->" */
  1121.  
  1122.           With that out of the way, we can do more interesting things..
  1123.  
  1124. void uedit()
  1125. *  userrec u;
  1126. +  userrec2 u2; /* MOD */
  1127.  
  1128. *  read_user(un,&u);
  1129. +  read_user2(un,&u2); /* MOD */
  1130. #  nu=number_userrecs();
  1131. #  do {
  1132. #    read_user(un,&u);
  1133. +    read_user2(un,&u2); /* MOD */
  1134.  
  1135.          Now an example of how to modify something in our new user list from
  1136.          Uedit.  Here's something out of my USERRANK mod...  Please note
  1137.          that this is an example, again.  (Unless you have my userrank mod
  1138.          installed.  In that case, see way below about converting mods...)
  1139.  
  1140.         case '^':
  1141.           nl();
  1142.           prt(2,"Personal rank? ");
  1143.           inputl(s,40);
  1144.           if (s[0]) {
  1145.             strcpy(u2.rank,s);
  1146.             write_user2(un,&u2);
  1147.           } else {
  1148.             prt(5,"Use \"standard\" rank? ");
  1149.             if (yn()) {
  1150.               u2.rank[0]=0;
  1151.               write_user2(un,&u2);
  1152.             }
  1153.           }
  1154.           break;
  1155.  
  1156.  
  1157. ───────────────────────────────────────────────────────────────────────────────
  1158.  
  1159. Whew!  Now that we have all that in, and some examples for certain sections, we
  1160. are ready to convert some mods to our new user structure.  Please note, that
  1161. this part is where the *REAL* experts are separated from everyone else.  This
  1162. is not an easy procedure by any means.  I'll try my best to explain how I went
  1163. about converting mods, but the best way to learn is simply to play with it.
  1164.  
  1165.       * Mods like Elric's From mod that just do read/writes to the user list by
  1166.         ONLY messing with the thisuser variable are a peice of cake.  Just
  1167.         change all entries in the mod to thisuser2.<whatever> or
  1168.         thisuser2->whatever  -- whichever the case may be.
  1169.  
  1170.       * Some mods are going to be real bears.  These are the ones that have
  1171.         their own custom functions that do read/writes of another variable (ie,
  1172.         userrec u) like the void uedit up above.  What you can do, is do the
  1173.         same trick I did.  Make a userrec2 u2 statement and just change all
  1174.         references to u2.<whatever>
  1175.  
  1176.       * If you get any really strange errors, make sure that the u2.<whatever>
  1177.         is actually from the mod.  It *might* be a standard WWIV thing that
  1178.         will require a u.<whatever> instead (ie, it doesn't need to be
  1179.         changed.)
  1180.  
  1181. For those of you that already have modified userrecs... well, what can I say.
  1182. There's no time like the present to trash it--I did. ;)
  1183.  
  1184.                 Farpoint Station ■ WWIVNet @6850 ■ WWIVLink @16851 
  1185.  
  1186. -----------------------------------------------------------------------------
  1187.               █ ███████████████
  1188.              ▄██████▄▄▄ ████████▄ ▄▄
  1189.           ▄ ▄▄███▄ ▄▄▀▀▀███████████▄▄ ▄           Wishing you a very
  1190.           ▄████▀ ▄▀▄▄███▄▀████████████▄ ▄▄▄  █▄     Merry Christmass
  1191.        ▄ ▄████▀ █ ▄█▀ ▄ ▀█████████▀ ▄███████▄ █▌        from
  1192.         █████ ▄▀ ▄█░░█░█▄ ████████▄▀█████████▌▌  The Staff at IceNEWS
  1193.         ▀███▌▐█ ██░░░░░░████████████████ ▀██▀                ▄▄▄▄▄▄▒▒
  1194.          ███▌▐█ ██░░░░░░░██ █████████████▄▄▄▀              ▄ ▄  ▄█▄▒▒
  1195.         ▀ ▀██ █▄ ██░░░░░██ ▄████████████▄▀▀ ▀            ▄ ▄██▄ █▀▒▒
  1196.           ▀▀▀ ██▄ ▀█████▀ ▄███████████████               ▄  ▀▀ ▒▒▒▒▀
  1197.               ▀███▄▄▄▄▄▄▄████████████████▀             █▄▀█▄▒▒▒ ▀▀ ▀
  1198.               ▀░▀██████████████████████▀ ▄▓▓        ▄ ▄▄▒▒▒▒░▄▄
  1199.           ▓▒▓▒▓░░░░░░▄▄▄▄▀▀█████████▀▀▄▓▓▓▄      ▄▄ ▄██▒▒▒▒▒██▌▌
  1200.        ▓▒▓▓▒▓▓▒██████████▀▀▓▓▒▒▒▒▒▒▓▓▓▓▄███▄ ▄▄▄▄█████▒▒░░▒████
  1201.     ▓░▓▒▒▒▒▒▓▒▓██████▓▓▓▓▓▓▒▒▒▓▓▓▓▓▄▄█▀██████▄▀█████▒▒░░░▄████▌▌
  1202.    ▓░░▓▓▒▒▓  ▓▒▓██▓▓▓▄▀▄▄▄▒█▒▒█████████▄▀██████▄▀████░░░████▀▀▀
  1203.    ░░▓▒▒▓       ▓▓▒▀▒▄███▀▒█▒▒███████████▄▀██████░███████▀ ▀▀
  1204.   ░░▓▓▒▒       ▀ ▀ ▒▒███▀ █▀▒▒████████████░░█████░▀▀▀▀ ▀▀▀
  1205.   ░▓▒▒            ▀ ▀▀██▄█ ▄█▌█████████████░░█████░
  1206.                     ▄ ▄▄▄ ▄██ ▀█████████████░█████░▌
  1207.                     ▄███ █████ ██████████████░████░░
  1208.                   ▐▐███▌ █████▄ █████████████░░███░░
  1209.  
  1210.