home *** CD-ROM | disk | FTP | other *** search
/ Groovy Bytes: Behind the Moon / groovybytes.iso / GROOVY / PPE / PAIN / P__ALLTM.ZIP / P!-ALLTM.PPS < prev    next >
Encoding:
Text File  |  1995-06-18  |  7.0 KB  |  308 lines

  1. ;                         -------------------------
  2. ;                          PAiN!-ALLTiME HiGH V1.0
  3. ;                         -------------------------
  4. ;
  5. ;                           (C) 1995 TYGER/PAiN!
  6. ;
  7. ; This was a request by JULiE
  8. ;
  9. ; I used some routines from PAiN!-EVER...
  10. ;
  11. ;
  12. ; Do not modify and redistribute...that'll be poooooor...
  13. ;
  14.  
  15. string s,ts,tts,cm,ss
  16. string un(1),un2(1),ex(10),dp,lame,drd,dsr,tu(1),td(1)
  17. string u1,u2,u3,cuh,chl,cl1,cl2,cl3,cl4,zz,sv(12)
  18. integer j,i,o,mx,x,y,z,zm
  19. integer sun(1),stbd(1),stbu(1),zu
  20. dreal tbd(1),tbu(1)
  21. boolean t
  22.  
  23. if (!(ansion())) then
  24. cls
  25. println "ANSi REQUiRED...SWiTCH 0N ANSi !"
  26. delay 20
  27. end
  28. endif
  29.  
  30. goto st
  31.  
  32. :trn
  33. let tts=""
  34. if (len(ts)=1) then let tts="            "+ts:return:endif
  35. if (len(ts)=2) then let tts="           "+ts:return:endif
  36. if (len(ts)=3) then let tts="          "+ts:return:endif
  37. if (len(ts)=4) then let tts="        "+left(ts,1)+dp+mid(ts,2,3):return:endif
  38. if (len(ts)=5) then let tts="       "+left(ts,2)+dp+mid(ts,3,3):return:endif
  39. if (len(ts)=6) then let tts="      "+left(ts,3)+dp+mid(ts,4,3):return:endif
  40. if (len(ts)=7) then let tts="    "+left(ts,1)+dp+mid(ts,2,3)+dp+mid(ts,5,3):return:endif
  41. if (len(ts)=8) then let tts="   "+left(ts,2)+dp+mid(ts,3,3)+dp+mid(ts,6,3):return:endif
  42. if (len(ts)=9) then let tts="  "+left(ts,3)+dp+mid(ts,4,3)+dp+mid(ts,7,3):return:endif
  43. if (len(ts)=10) then let tts=left(ts,1)+dp+mid(ts,2,3)+dp+mid(ts,5,3)+dp+mid(ts,8,3):return:endif
  44. return
  45.  
  46. :sc
  47. inc zu
  48. if (zu>zm) then
  49. zu=0
  50. ansipos 64,22
  51. print u1+mid(zz,z,1)+u2+mid(zz,z+1,13)+u3+mid(zz,z+14,1)
  52. inc z
  53. if (z>len(zz)-15) let z=1
  54. endif
  55. return
  56.  
  57. :doit
  58.  
  59. cls
  60. println "@X8DMAKiNG iNDEX...PLEASE WAiT..."
  61. let o=0
  62. for i=2 to mx
  63. getaltuser i
  64. let un(i-1)=u_name()
  65. let tbu(i-1)=u_bul()
  66. let tbd(i-1)=u_bdl()
  67. next
  68. sort un,sun
  69. sort tbu,stbu
  70. sort tbd,stbd
  71. fopen 1,ppepath()+"p!-alltm.dat",o_wr,s_db
  72. for i=1 to 15
  73. fputln 1,un(stbu(mx-i+1))
  74. let ts=i2s(tbu(stbu(mx-i+1)),10)
  75. gosub trn
  76. fputln 1,tts
  77. next
  78. for i=1 to 15
  79. fputln 1,un(stbd(mx-i+1))
  80. let ts=i2s(tbd(stbd(mx-i+1)),10)
  81. gosub trn
  82. fputln 1,tts
  83. next
  84. fclose 1
  85. goto en
  86.  
  87. :st
  88.  
  89. let u1=left(readline(ppepath()+"p!-alltm.cfg",1),4)
  90. let u2=left(readline(ppepath()+"p!-alltm.cfg",2),4)
  91. let u3=left(readline(ppepath()+"p!-alltm.cfg",3),4)
  92. let cl1=left(readline(ppepath()+"p!-alltm.cfg",4),4)
  93. let cl2=left(readline(ppepath()+"p!-alltm.cfg",5),4)
  94. let cl3=left(readline(ppepath()+"p!-alltm.cfg",6),4)
  95. let cl4=left(readline(ppepath()+"p!-alltm.cfg",7),4)
  96. let cuh=left(readline(ppepath()+"p!-alltm.cfg",8),4)
  97. let chl=left(readline(ppepath()+"p!-alltm.cfg",9),4)
  98. let zm=s2i(left(readline(ppepath()+"p!-alltm.cfg",10),4),10)
  99. let mx=(fileinf(readline(pcbdat(),29),4))/400
  100. redim tbu,mx
  101. redim tbd,mx
  102. redim un,mx
  103. redim stbu,mx
  104. redim stbd,mx
  105. redim sun,mx
  106. redim un2,mx
  107. redim tu,mx
  108. redim td,mx
  109. let dp="∙"
  110. if (mx<15) then
  111. cls
  112. println "PAiN!-ALLTiME-HiGH D0ESN'T SUPP0RT A USERBASE WiTH LESS THAN 15 USERS !"
  113. delay 50
  114. end
  115. endif
  116.  
  117. if (left(tokenstr(),1)="S") goto doit
  118.  
  119. fopen 1,ppepath()+"p!-alltm.dat",o_rd,s_db
  120. if (ferr(1)) then
  121. cls
  122. sprintln "-> SYS0P : PAiN!-ALLTiME HiGH DATA FiLE D0ESN'T EXiSTS..."
  123. sprintln "           FiRST START P!-ALLTM.PPE WiTH PARAMETER ""S"" !!"
  124. delay 100
  125. end
  126. endif
  127.  
  128. for i=1 to 15
  129. fget 1,un(i)
  130. fget 1,tu(i)
  131. next
  132. for i=1 to 15
  133. fget 1,un2(i)
  134. fget 1,td(i)
  135. next
  136. fclose 1
  137. let z=1
  138. let zz="               "+readline(ppepath()+"p!-alltm.cfg",14)+" (C) TYGER/PAiN!               "
  139. ansipos 1,1
  140. print "@POFF@"
  141. dispfile ppepath()+"p!-alltm.pcb",graph
  142. ansipos 3,22
  143. print "@X03( @X0B @X03/@X0B  @X03/ @X0BCR @X03)"
  144. ansipos 8,5
  145. print u1+left(un(1),1)+u2+mid(un(1),2,len(un(1))-2)+u3+right(un(1),1)
  146. ansipos 26,5
  147. print cl1+left(tu(1),len(tu(1))-1)+right(tu(1),1)
  148. ansipos 47,5
  149. print u1+left(un2(1),1)+u2+mid(un2(1),2,len(un2(1))-2)+u3+right(un2(1),1)
  150. ansipos 65,5
  151. print cl2+left(td(1),len(td(1))-1)+right(td(1),1)
  152.  
  153. for i=2 to 15
  154. ansipos 8,5+i
  155. print u1+left(un(i),1)+u2+mid(un(i),2,len(un(i))-2)+u3+right(un(i),1)
  156. ansipos 26,5+i
  157. print cl3+left(tu(i),len(tu(i))-1)+right(tu(i),1)
  158. ansipos 47,5+i
  159. print u1+left(un2(i),1)+u2+mid(un2(i),2,len(un2(i))-2)+u3+right(un2(i),1)
  160. ansipos 65,5+i
  161. print cl4+left(td(i),len(td(i))-1)+right(td(i),1)
  162. next
  163. let x=1
  164. let y=1
  165. :lo1
  166. ansipos 20,22
  167. if (!t) print "@X7F▌@X70■∙@X7FEXiT@X70∙■@X78▐@X07    ViEW USER         "
  168. if (t) print "@X07   EXiT    @X7F▌@X70■∙@X7FViEW USER@X70∙■@X78▐@X01     "
  169. :lo2
  170. gosub sc
  171. ansipos 1,2
  172. let s=inkey()
  173. if (s="") goto lo2
  174. if (s=chr(13)) goto lo4
  175. if (s=chr(27)) goto en
  176. if ((s="LEFT")|(s="UP")|(s="RIGHT")|(S="DOWN")) then
  177. t=!t
  178. goto lo1
  179. endif
  180. :lo4
  181. if (!t) goto en
  182. ansipos 3,22
  183. print "              "
  184. ansipos 22,22
  185. print "@X03( @X0B @X03/@X0B  @X03/ @X0B @X03/@X0B  @X03/ @X0BCR @X03/ @X0BESC@X0B )        "
  186. let x=1
  187. let y=1
  188. :lo5
  189. if (x=1) then
  190. if (y=1) then ansipos 8,5
  191. else
  192. ansipos 8,5+y
  193. endif
  194. print "@X9F"+un(y)
  195. endif
  196. if (x=2) then
  197. if (y=1) then ansipos 47,5
  198. else
  199. ansipos 47,5+y
  200. endif
  201. print "@X9F"+un2(y)
  202. endif
  203. :lo6
  204. gosub sc
  205. let s=inkey()
  206. if (s="") goto lo6
  207. if (x=1) then
  208. if (y=1) then ansipos 8,5
  209. else
  210. ansipos 8,5+y
  211. endif
  212. print u1+left(un(y),1)+u2+mid(un(y),2,len(un(y))-2)+u3+right(un(y),1)
  213. endif
  214. if (x=2) then
  215. if (y=1) then ansipos 47,5
  216. else
  217. ansipos 47,5+y
  218. endif
  219. print u1+left(un2(y),1)+u2+mid(un2(y),2,len(un2(y))-2)+u3+right(un2(y),1)
  220. endif
  221. ansipos 1,2
  222. if (s="UP") then
  223. dec y
  224. if (y<1) let y=15
  225. endif
  226. if (S="DOWN") then
  227. inc y
  228. if (y>15) let y=1
  229. endif
  230. if (s="LEFT") then
  231. x=1
  232. endif
  233. if (s="RIGHT") then
  234. x=2
  235. endif
  236. if (s=chr(13)) goto lo7
  237. if (s=chr(27)) then
  238. ansipos 20,22
  239. print "@X01                            "
  240. ansipos 3,22
  241. print "@X03( @X0B @X03/@X0B  @X03/ @X0BCR @X03)"
  242. goto lo1
  243. endif
  244. goto lo5
  245. :lo7
  246. for i=1 to 12
  247. sv(i)=scrtext(15,6+i,38,true)
  248. next
  249. ansipos 15,7
  250. print "@X07▐@X78════════════════════════════════════ "
  251. ansipos 15,8
  252. print "@X78▌ @X70NAME  :                             "
  253. ansipos 15,9
  254. print "@X78▌ @X70CiTY  :                             "
  255. ansipos 15,10
  256. print "@X78▌ @X70LEVEL :                             "
  257. ansipos 15,11
  258. print "@X78▌ @X70CALLS :                             "
  259. ansipos 15,12
  260. print "@X78▌ @X70DL's  :                             "
  261. ansipos 15,13
  262. print "@X78▌ @X70UL's  :                             "
  263. ansipos 15,14
  264. print "@X78▌-─────────────────────────────────-- "
  265. ansipos 15,15
  266. print "@X78▌ @X70FiRST 0N :                         @X78░"
  267. ansipos 15,16
  268. print "@X78▌ @X70LAST  0N :                        @X78░▒"
  269. ansipos 15,17
  270. print "@X78▌═════════════════════════════════ ░▒▓"
  271. ansipos 15,18
  272. print "@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X01"
  273. if (x=1) getaltuser u_recnum(un(y))
  274. if (x=2) getaltuser u_recnum(un2(y))
  275. ansipos 25,8
  276. print "@X7F"+u_name()
  277. ansipos 25,9
  278. print u_city()
  279. ansipos 25,10
  280. print u_sec()
  281. ansipos 25,11
  282. print u_logons()
  283. ansipos 25,12
  284. print u_fdl()
  285. ansipos 25,13
  286. print u_ful()
  287. ansipos 28,15
  288. print u_stat(1)
  289. ansipos 28,16
  290. let s=u_ldate()
  291. print s+" ("
  292. let s=u_ltime()
  293. print s+")"
  294. :lo10
  295. gosub sc
  296. let s=inkey()
  297. if (s<>chr(13)) goto lo10
  298. for i=1 to 12
  299. ansipos 15,6+i
  300. print sv(i)
  301. next
  302. goto lo5
  303.  
  304. :en
  305. print "@X01"
  306. cls
  307. end
  308.