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.

349 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} {\n\r\n\r.:: Visit Timers ::. };
  157. #foreach {$visittimers[]} {spot} {
  158. #format {spotname} {$visittimer_names[$spot]};
  159. #if {$visittimers[$spot] == 0} {
  160. #format {spotstring} { - (???) %s } {$spotname};
  161. };
  162. #else {
  163. #math {mins} { (($current_time - $visittimers[$spot]) + 0.5) / 60 };
  164. #if {$mins > 99} { #var {mins} {99} };
  165. #if {$mins > 10} {
  166. #format {spotstring} { - (%dm) %s } {$mins} {$spotname};
  167. };
  168. #else {
  169. #format {spotstring} { - (0%dm) %s } {$mins} {$spotname};
  170. }
  171. }
  172. #line {log} {$xptimer_file} {$spotstring};
  173. }
  174. }
  175. #EVENT {SEND OUTPUT} {writetimerstofile};
  176. #FUNCTION {parse_spot} {
  177. #var {spot_sync_raw} {%0};
  178. #replace {spot_sync_raw} {=} {;};
  179. #list {spot_sync} {create} {${spot_sync_raw}};
  180. #return {$spot_sync};
  181. }
  182. #ACTION {%1 tells you: ruhs_dtsync=[%2] | ruhs_vtsync=[%3]} {
  183. #var {synccount} {0};
  184. #var {dtsync} {%2};
  185. #var {vtsync} {%3};
  186. #replace {dtsync} {,} {;};
  187. #replace {vtsync} {,} {;};
  188. #list dtsync_list create {${dtsync}};
  189. #list vtsync_list create {${vtsync}};
  190. #foreach {$dtsync_list[]} {spot} {
  191. #var {syncitem} {@parse_spot{$dtsync_list[$spot]}};
  192. #var {syncname} {$syncitem[1]};
  193. #var {synctime} {$syncitem[2]};
  194. #foreach {$killtimer_names[]} {spotident} {
  195. #var {spotname} {$killtimer_names[$spotident]};
  196. #if {"$spotname" == "$syncname"} {
  197. #if {$killtimers[$spotident] < $synctime} {
  198. #var {killtimers[$spotident]} {$synctime};
  199. #math {synccount} {$synccount + 1};
  200. };
  201. };
  202. }
  203. }
  204. #foreach {$vtsync_list[]} {spot} {
  205. #var {syncitem} {@parse_spot{$vtsync_list[$spot]}};
  206. #var {syncname} {$syncitem[1]};
  207. #var {synctime} {$syncitem[2]};
  208. #foreach {$visittimer_names[]} {spotident} {
  209. #var {spotname} {$visittimer_names[$spotident]};
  210. #if {"$spotname" == "$syncname"} {
  211. #if {$visittimers[$spotident] < $synctime} {
  212. #var {visittimers[$spotident]} {$synctime};
  213. #math {synccount} {$synccount + 1};
  214. };
  215. };
  216. }
  217. }
  218. #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};
  219. #echo {$dtsync_message};
  220. }
  221. #ALIAS {dtsync %1} {
  222. #var {dtsync_msg} {};
  223. #var {vtsync_msg} {};
  224. #foreach {$killtimer_names[]} {spotident} {
  225. #if {$killtimers[$spotident] > 0} {
  226. #format {dtsync_msg} {%s,%s=%d} {$dtsync_msg}{$killtimer_names[$spotident]}{$killtimers[$spotident]};
  227. };
  228. }
  229. #regex {$dtsync_msg} {^,{(.+)}$} { #var {dtsync_msg} {&1}; };
  230. #foreach {$visittimer_names[]} {spotident} {
  231. #if {$visittimers[$spotident] > 0} {
  232. #format {vtsync_msg} {%s,%s=%d} {$vtsync_msg}{$visittimer_names[$spotident]}{$visittimers[$spotident]};
  233. };
  234. }
  235. #regex {$vtsync_msg} {^,{(.+)}$} { #var {vtsync_msg} {&1}; };
  236. #format {sync_message} {tell %s ruhs_dtsync=[%s] | ruhs_vtsync=[%s]} {%1} {$dtsync_msg} {$vtsync_msg};
  237. #send {$sync_message};
  238. }
  239. #nop #EVENT {IAC SB GMCP room.info IAC SE}
  240. #ALIAS {/spottimercheckroomid %1} {
  241. #var {room_info} {%1};
  242. #foreach {$visittimers[]} {spot} {
  243. #regex {$room_info} {$spot} {
  244. #format {visittimers[$spot]} {%T};
  245. }
  246. }
  247. }
  248. #ALIAS {gsdt} {
  249. #var {gsdt_string} {};
  250. #foreach {$killtimers[]} {spot} {
  251. #format {spotname} {$killtimer_names[$spot]};
  252. #var {mins} {???};
  253. #if {$killtimers[$spot] == 0} {
  254. #format {spotstring} {%s: ??? |} {$spotname};
  255. };
  256. #else {
  257. #math {mins} { (($current_time - $killtimers[$spot]) + 0.5) / 60 };
  258. #if {$mins > 99} { #var {mins} {99} };
  259. #if {$mins < 10} {
  260. #format {spotstring} {%s: 0%dm |} {$spotname} {$mins} ;
  261. };
  262. #else {
  263. #format {spotstring} {%s: %dm |} {$spotname} {$mins} ;
  264. };
  265. }
  266. #format {gsdt_string} {%s %s} {$gsdt_string} {$spotstring};
  267. }
  268. #foreach {$visittimers[]} {spot} {
  269. #format {spotname} {$visittimer_names[$spot]};
  270. #var {mins} {???};
  271. #if {$visittimers[$spot] == 0} {
  272. #format {spotstring} {%s: ??? |} {$spotname};
  273. };
  274. #else {
  275. #math {mins} { (($current_time - $visittimers[$spot]) + 0.5) / 60 };
  276. #if {$mins > 99} { #var {mins} {99} };
  277. #if {$mins < 10} {
  278. #format {spotstring} {%s: 0%dm |} {$spotname} {$mins} ;
  279. };
  280. #else {
  281. #format {spotstring} {%s: %dm |} {$spotname} {$mins} ;
  282. };
  283. }
  284. #format {gsdt_string} {%s %s} {$gsdt_string} {$spotstring};
  285. }
  286. #regex {$gsdt_string} {^{(.+)} \|$} {#var {gsdt_string} {&1}; };
  287. #send {group say $gsdt_string};
  288. }
  289. #CLASS {xptimers} {close};