TinTin++ Configs for DiscworldMUD
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

351 lines
10 KiB

6 years ago
6 years ago
6 years ago
6 years ago
  1. #CLASS {xptimers} {kill};
  2. #CLASS {xptimers} {open};
  3. #VARIABLE {xptimer_file} {logs/xptimers.log};
  4. #VARIABLE {killtimers} {
  5. {Delbert}{0}
  6. {the Triad boss}{0}
  7. {the bandit leader}{0}
  8. {Hlakket the Bartender}{0}
  9. {the Zoon Liar}{0}
  10. {Slim Stevie}{0}
  11. {the %* grflx worker}{0}
  12. {the %* student}{0}
  13. {the ceremonial guard}{0}
  14. {the giant leader}{0}
  15. {the %* rujona}{0}
  16. {the %* lion}{0}
  17. {Louis Accardo}{0}
  18. {Marlon Gumboni}{0}
  19. }
  20. #VARIABLE {killtimer_names} {
  21. {Delbert}{delbert}
  22. {the Triad boss}{medina boss}
  23. {the bandit leader}{bandit leader}
  24. {Hlakket the Bartender}{hlakket}
  25. {the Zoon Liar}{zoon liar}
  26. {Slim Stevie}{rogues}
  27. {the %* grflx worker}{grflx}
  28. {the %* student}{dojo}
  29. {the ceremonial guard}{cguards}
  30. {the giant leader}{giant leader}
  31. {the %* rujona}{snail}
  32. {the %* lion}{shaker lions}
  33. {Louis Accardo}{stables}
  34. {Marlon Gumboni}{casino}
  35. }
  36. #VARIABLE {visittimers} {
  37. {AMShades}{0}
  38. {ebff897af2b8bb6800a9a8636143099d0714be07}{0}
  39. {70546ec71867645ab5c51e9ce6087b75dcf4176f}{0}
  40. {f6c60dd36ed38707eb954c3a670f2f9370a79399}{0}
  41. {3862c5fd0fe83f4080bdb9b94519bf8da89d5015}{0}
  42. }
  43. #VARIABLE {visittimer_names} {
  44. {AMShades}{shades}
  45. {ebff897af2b8bb6800a9a8636143099d0714be07}{smugglers}
  46. {70546ec71867645ab5c51e9ce6087b75dcf4176f}{offler}
  47. {f6c60dd36ed38707eb954c3a670f2f9370a79399}{black market}
  48. {3862c5fd0fe83f4080bdb9b94519bf8da89d5015}{parades}
  49. }
  50. #ALIAS {dtreset} {
  51. #regex {%1} {all} {
  52. #foreach {$killtimers[]} {spot} {
  53. #format {killtimers[$spot]} {0};
  54. }
  55. #foreach {$visittimers[]} {spot} {
  56. #format {visittimers[$spot]} {0};
  57. }
  58. #format {xptimer_message} {%c[XPTimer] %c*%c Resetting all spots to Unseen.} {bold blue} {bold yellow} {bold blue};
  59. #echo {$xptimer_message};
  60. #variable {dtreset_all} {1};
  61. };
  62. #if {$dtreset_all < 1} {
  63. #foreach {$killtimer_names[]} {spot} {
  64. #regex {%1 %2} {$killtimer_names[$spot]} {
  65. #format {killtimers[$spot]} {%T};
  66. #format {xptimer_message} {%c[XPTimer] %c*%c Resetting death timer for %c$killtimer_names[$spot]%c.} {bold blue} {bold yellow} {bold blue} {bold green} {bold blue};
  67. #echo {$xptimer_message};
  68. };
  69. }
  70. #foreach {$visittimer_names[]} {spot} {
  71. #regex {%1 %2} {$visittimer_names[$spot]} {
  72. #format {visittimers[$spot]} {%T};
  73. #format {xptimer_message} {%c[XPTimer] %c*%c Resetting visit timer for %c$visittimer_names[$spot]%c.} {bold blue} {bold yellow} {bold blue} {bold green} {bold blue};
  74. #echo {$xptimer_message};
  75. };
  76. }
  77. }
  78. #unvariable {dtreset_all};
  79. }
  80. #ACTION {%1 deals the death blow to %2.} {
  81. #foreach {$killtimers[]} {spot} {
  82. #regex {%2} {$spot} {
  83. #format {killtimers[$spot]} {%T};
  84. };
  85. }
  86. }
  87. #ACTION {You kill %1.} {
  88. #foreach {$killtimers[]} {spot} {
  89. #regex {%1} {$spot} {
  90. #format {killtimers[$spot]} {%T};
  91. };
  92. }
  93. }
  94. #ALIAS {dt} {
  95. #echo {.:: Death Timers ::.};
  96. #format {current_time} {%T};
  97. #foreach {$killtimers[]} {spot} {
  98. #format {spotname} {$killtimer_names[$spot]};
  99. #if {$killtimers[$spot] == 0} {
  100. #format {spotstring} { - (???) %s } {$spotname};
  101. };
  102. #else {
  103. #math {mins} { (($current_time - $killtimers[$spot]) + 0.5) / 60 };
  104. #if {$mins > 99} { #var {mins} {99} };
  105. #if {$mins > 10} {
  106. #format {spotstring} { - (%dm) %s } {$mins} {$spotname};
  107. };
  108. #else {
  109. #format {spotstring} { - (0%dm) %s } {$mins} {$spotname};
  110. }
  111. }
  112. #echo {$spotstring};
  113. }
  114. #echo {\n};
  115. #echo {.:: Visit Timers ::.};
  116. #format {current_time} {%T};
  117. #foreach {$visittimers[]} {spot} {
  118. #format {spotname} {$visittimer_names[$spot]};
  119. #if {$visittimers[$spot] == 0} {
  120. #format {spotstring} { - (???) %s } {$spotname};
  121. };
  122. #else {
  123. #math {mins} { (($current_time - $visittimers[$spot]) + 0.5) / 60 };
  124. #if {$mins > 99} { #var {mins} {99} };
  125. #if {$mins > 10} {
  126. #format {spotstring} { - (%dm) %s } {$mins} {$spotname};
  127. };
  128. #else {
  129. #format {spotstring} { - (0%dm) %s } {$mins} {$spotname};
  130. }
  131. }
  132. #echo {$spotstring};
  133. }
  134. }
  135. #ALIAS {writetimerstofile} {
  136. #system {rm $xptimer_file && touch $xptimer_file};
  137. #format {current_time} {%T};
  138. #line {log} {$xptimer_file} {.:: Death Timers ::. };
  139. #foreach {$killtimers[]} {spot} {
  140. #format {spotname} {$killtimer_names[$spot]};
  141. #if {$killtimers[$spot] == 0} {
  142. #format {spotstring} { - (???) %s } {$spotname};
  143. };
  144. #else {
  145. #math {mins} { (($current_time - $killtimers[$spot]) + 0.5) / 60 };
  146. #if {$mins > 99} { #var {mins} {99} };
  147. #if {$mins > 10} {
  148. #format {spotstring} { - (%dm) %s } {$mins} {$spotname};
  149. };
  150. #else {
  151. #format {spotstring} { - (0%dm) %s } {$mins} {$spotname};
  152. }
  153. }
  154. #line {log} {$xptimer_file} {$spotstring};
  155. }
  156. #line {log} {$xptimer_file} {};
  157. #line {log} {$xptimer_file} {};
  158. #line {log} {$xptimer_file} {\n\r\n\r.:: Visit Timers ::. };
  159. #foreach {$visittimers[]} {spot} {
  160. #format {spotname} {$visittimer_names[$spot]};
  161. #if {$visittimers[$spot] == 0} {
  162. #format {spotstring} { - (???) %s } {$spotname};
  163. };
  164. #else {
  165. #math {mins} { (($current_time - $visittimers[$spot]) + 0.5) / 60 };
  166. #if {$mins > 99} { #var {mins} {99} };
  167. #if {$mins > 10} {
  168. #format {spotstring} { - (%dm) %s } {$mins} {$spotname};
  169. };
  170. #else {
  171. #format {spotstring} { - (0%dm) %s } {$mins} {$spotname};
  172. }
  173. }
  174. #line {log} {$xptimer_file} {$spotstring};
  175. }
  176. }
  177. #EVENT {SEND OUTPUT} {writetimerstofile};
  178. #FUNCTION {parse_spot} {
  179. #var {spot_sync_raw} {%0};
  180. #replace {spot_sync_raw} {=} {;};
  181. #list {spot_sync} {create} {${spot_sync_raw}};
  182. #return {$spot_sync};
  183. }
  184. #ACTION {%1 tells you: ruhs_dtsync=[%2] | ruhs_vtsync=[%3]} {
  185. #var {synccount} {0};
  186. #var {dtsync} {%2};
  187. #var {vtsync} {%3};
  188. #replace {dtsync} {,} {;};
  189. #replace {vtsync} {,} {;};
  190. #list dtsync_list create {${dtsync}};
  191. #list vtsync_list create {${vtsync}};
  192. #foreach {$dtsync_list[]} {spot} {
  193. #var {syncitem} {@parse_spot{$dtsync_list[$spot]}};
  194. #var {syncname} {$syncitem[1]};
  195. #var {synctime} {$syncitem[2]};
  196. #foreach {$killtimer_names[]} {spotident} {
  197. #var {spotname} {$killtimer_names[$spotident]};
  198. #if {"$spotname" == "$syncname"} {
  199. #if {$killtimers[$spotident] < $synctime} {
  200. #var {killtimers[$spotident]} {$synctime};
  201. #math {synccount} {$synccount + 1};
  202. };
  203. };
  204. }
  205. }
  206. #foreach {$vtsync_list[]} {spot} {
  207. #var {syncitem} {@parse_spot{$vtsync_list[$spot]}};
  208. #var {syncname} {$syncitem[1]};
  209. #var {synctime} {$syncitem[2]};
  210. #foreach {$visittimer_names[]} {spotident} {
  211. #var {spotname} {$visittimer_names[$spotident]};
  212. #if {"$spotname" == "$syncname"} {
  213. #if {$visittimers[$spotident] < $synctime} {
  214. #var {visittimers[$spotident]} {$synctime};
  215. #math {synccount} {$synccount + 1};
  216. };
  217. };
  218. }
  219. }
  220. #format {dtsync_message} {%c[XPTimer] %c*%c Synced %c%d%c spots from %c%s%c.} {bold blue}{yellow}{bold blue}{orange}{$synccount}{bold blue}{green}{%1}{bold blue};
  221. #echo {$dtsync_message};
  222. }
  223. #ALIAS {dtsync %1} {
  224. #var {dtsync_msg} {};
  225. #var {vtsync_msg} {};
  226. #foreach {$killtimer_names[]} {spotident} {
  227. #if {$killtimers[$spotident] > 0} {
  228. #format {dtsync_msg} {%s,%s=%d} {$dtsync_msg}{$killtimer_names[$spotident]}{$killtimers[$spotident]};
  229. };
  230. }
  231. #regex {$dtsync_msg} {^,{(.+)}$} { #var {dtsync_msg} {&1}; };
  232. #foreach {$visittimer_names[]} {spotident} {
  233. #if {$visittimers[$spotident] > 0} {
  234. #format {vtsync_msg} {%s,%s=%d} {$vtsync_msg}{$visittimer_names[$spotident]}{$visittimers[$spotident]};
  235. };
  236. }
  237. #regex {$vtsync_msg} {^,{(.+)}$} { #var {vtsync_msg} {&1}; };
  238. #format {sync_message} {tell %s ruhs_dtsync=[%s] | ruhs_vtsync=[%s]} {%1} {$dtsync_msg} {$vtsync_msg};
  239. #send {$sync_message};
  240. }
  241. #nop #EVENT {IAC SB GMCP room.info IAC SE}
  242. #ALIAS {/spottimercheckroomid %1} {
  243. #var {room_info} {%1};
  244. #foreach {$visittimers[]} {spot} {
  245. #regex {$room_info} {$spot} {
  246. #format {visittimers[$spot]} {%T};
  247. }
  248. }
  249. }
  250. #ALIAS {gsdt} {
  251. #var {gsdt_string} {};
  252. #foreach {$killtimers[]} {spot} {
  253. #format {spotname} {$killtimer_names[$spot]};
  254. #var {mins} {???};
  255. #if {$killtimers[$spot] == 0} {
  256. #format {spotstring} {%s: ??? |} {$spotname};
  257. };
  258. #else {
  259. #math {mins} { (($current_time - $killtimers[$spot]) + 0.5) / 60 };
  260. #if {$mins > 99} { #var {mins} {99} };
  261. #if {$mins < 10} {
  262. #format {spotstring} {%s: 0%dm |} {$spotname} {$mins} ;
  263. };
  264. #else {
  265. #format {spotstring} {%s: %dm |} {$spotname} {$mins} ;
  266. };
  267. }
  268. #format {gsdt_string} {%s %s} {$gsdt_string} {$spotstring};
  269. }
  270. #foreach {$visittimers[]} {spot} {
  271. #format {spotname} {$visittimer_names[$spot]};
  272. #var {mins} {???};
  273. #if {$visittimers[$spot] == 0} {
  274. #format {spotstring} {%s: ??? |} {$spotname};
  275. };
  276. #else {
  277. #math {mins} { (($current_time - $visittimers[$spot]) + 0.5) / 60 };
  278. #if {$mins > 99} { #var {mins} {99} };
  279. #if {$mins < 10} {
  280. #format {spotstring} {%s: 0%dm |} {$spotname} {$mins} ;
  281. };
  282. #else {
  283. #format {spotstring} {%s: %dm |} {$spotname} {$mins} ;
  284. };
  285. }
  286. #format {gsdt_string} {%s %s} {$gsdt_string} {$spotstring};
  287. }
  288. #regex {$gsdt_string} {^{(.+)} \|$} {#var {gsdt_string} {&1}; };
  289. #send {group say $gsdt_string};
  290. }
  291. #CLASS {xptimers} {close};