Advertisement
Guest User

Untitled

a guest
Sep 14th, 2017
272
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.17 KB | None | 0 0
  1. #class gmcp kill;
  2. #CLASS {gmcp} OPEN
  3.  
  4.  
  5. #format IAC %a 255
  6. #format DONT %a 254
  7. #format DO %a 253
  8. #format WONT %a 252
  9. #format WILL %a 251
  10. #format SB %a 250
  11. #format SE %a 240
  12.  
  13. #format GMCP %a 201
  14.  
  15. #ALIAS {debug {on|off}}
  16. {
  17. #if {"%1" == "on"}
  18. {
  19. #variable debug 1
  20. };
  21. #else
  22. {
  23. #variable debug 0
  24. };
  25. #nop;
  26. }
  27. {5}
  28.  
  29. #EVENT {IAC SB GMCP char.maxstats IAC SE}
  30. {
  31. #variable GMCP[CHAR][MAXSTATS] {%0};
  32. #if {$debug}
  33. {
  34. #showme %1
  35. };
  36. #nop;
  37. }
  38.  
  39. #event {IAC SB GMCP group IAC SE}
  40. {
  41. #var GMCP[GROUP] {%0};
  42. #line log {$dir/../../../group} {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n};
  43. #format {name_line} {$GMCP[GROUP][groupname]};
  44. #format {leader_line} {%cLed by%c: $GMCP[GROUP][leader]} {light cyan} {light white};
  45. #foreach {$GMCP[GROUP][members][]} {gmcp_groupie}
  46. {
  47. #if {"gmcp_groupie_list" != ""}
  48. {
  49. #var {pregroup} {$gmcp_groupie_list\n}
  50. }
  51. {
  52. #var pregroup {}
  53. };
  54. #math {hp_percent_tmp} {(1.00 * $GMCP[GROUP][members][$gmcp_groupie][info][hp]/$GMCP[GROUP][members][$gmcp_groupie][info][mhp])*100};
  55. #math {mn_percent_tmp} {(1.00 * $GMCP[GROUP][members][$gmcp_groupie][info][mn]/$GMCP[GROUP][members][$gmcp_groupie][info][mmn])*100};
  56. #math {mv_percent_tmp} {(1.00 * $GMCP[GROUP][members][$gmcp_groupie][info][mv]/$GMCP[GROUP][members][$gmcp_groupie][info][mmv])*100};
  57. #format {gmcp_groupie_list} {$pregroup%c[%c$GMCP[GROUP][members][$gmcp_groupie][name]%c(%c$GMCP[GROUP][members][$gmcp_groupie][info][lvl]%c)%c]%c: %c${hp_percent_tmp} %c${mn_percent_tmp} %c${mv_percent_tmp} %c-- %cTNL%c: %c$GMCP[GROUP][members][$gmcp_groupie][info][tnl]} {blue} {red} {light black} {light yellow} {light black} {blue} {white} {green} {blue} {yellow} {light black} {white} {light black} {red}
  58. };
  59. #line log {$dir/../../../group} {$name_line\n\n$leader_line\n\n\n$gmcp_groupie_list};
  60. #var gmcp_groupie_list {};
  61. }
  62.  
  63. #EVENT {IAC SB GMCP char.status IAC SE}
  64. {
  65. #variable GMCP[CHAR][STATUS] {%0};
  66. #if {$debug}
  67. {
  68. #showme %1
  69. };
  70. ||gmcp_prompt_statmon;
  71. #nop;
  72. }
  73.  
  74. #EVENT {IAC SB GMCP char.vitals IAC SE}
  75. {
  76. #variable GMCP[CHAR][VITALS] {%0};
  77. #if {$debug}
  78. {
  79. #showme %1
  80. };
  81. ||gmcp_prompt_statmon;
  82. #nop;
  83. }
  84.  
  85. #EVENT {IAC SB GMCP char.worth IAC SE}
  86. {
  87. #variable GMCP[CHAR][WORTH] {%0};
  88. #if {$debug}
  89. {
  90. #showme %1
  91. };
  92. #nop
  93. }
  94.  
  95. #alias {afk {on|off}}
  96. {
  97. #if {"%1" == "on"}
  98. {
  99. #var afk 1;
  100. #var prewarning 0;
  101. }
  102. {
  103. #var afk 0;
  104. #var tellsent {};
  105. }
  106. }
  107.  
  108.  
  109.  
  110. #EVENT {IAC SB GMCP comm.channel IAC SE}
  111. {
  112. #var {GMCP[COMM][CHATLOGGER]} {%0};
  113. #var {chanrec} {$GMCP[COMM][CHATLOGGER][chan]};
  114. #var {player} {$GMCP[COMM][CHATLOGGER][player]};
  115. #if {"$GMCP[COMM][CHATLOGGER][chan]" != "mobsay"}
  116. {
  117. #line log {/home/colby/tintin/Aardwolf-chats} {$GMCP[COMM][CHATLOGGER][msg]};
  118. };
  119. #if {$debug}
  120. {
  121. #showme %1
  122. };
  123. #if {"$GMCP[COMM][CHATLOGGER][chan]" == "tell"}
  124. {
  125. #nop {#if {$afk}
  126. {
  127. #if {!$tellsent[$GMCP[COMM][CHATLOGGER][player]]}
  128. {
  129. #if {"$GMCP[COMM][CHATLOGGER][player]" != "Cheezburger"}
  130. {
  131. #var {tellsent[$GMCP[COMM][CHATLOGGER][player]]} {1};
  132. reply Sorry, but I'm afk: @Y[@R$afk_reason@Y]@c;
  133. }
  134. }
  135. }}
  136. };
  137. #if {$autochat}
  138. {
  139. #if {"$chanrec" == "gtell" || ("$chanrec" == "ftalk" && "$GMCP[COMM][CHATLOGGER][msg]" == "%i%*chatbot:%*")}
  140. {
  141. #if {($selfonly && "$player" == "Cheezburger") || !$selfonly}
  142. {
  143. #replace {GMCP[COMM][CHATLOGGER][msg]} {chatbot:} {};
  144. #nop {"$chanrec" == "ftalk" || "$chanrec" == "clantalk" || || "$chanrec" == "gtell"};
  145. #if {"$GMCP[COMM][CHATLOGGER][msg]" != "%*%ichatbot%*"}
  146. {
  147. #format {msg} {%l} {$GMCP[COMM][CHATLOGGER][msg]};
  148. #replace {msg} {'} {};
  149. #replace {msg} {"} {};
  150. #replace {msg} {;%dm} {};
  151. #replace {msg} {0$} {};
  152. #regexp {$msg} {{.*}{tells you|\(.*group.*\) .*\:|\(.*friend.*\) .*:|you tell your friends.*: }{.*}} {#var msg {&3}};
  153. perl chatbot.pl '$chanrec' '$GMCP[COMM][CHATLOGGER][player]' '$msg';
  154. #Nop {#chatbot $msg};
  155. }
  156. };
  157. };
  158. #elseif {(("$chanrec" == "tell") && $afk && "$player" != "Cheezburger" && ("$prewarning[$GMCP[COMM][CHATLOGGER][player]]" != "" || $prewarning[$GMCP[COMM][CHATLOGGER][player]]))}
  159. {
  160. #format {msg} {%l} {$GMCP[COMM][CHATLOGGER][msg]};
  161. #replace {msg} {'} {};
  162. #replace {msg} {"} {};
  163. #replace {msg} {;%dm} {};
  164. #regexp {$msg} {{.*}{tells you|\(.*group.*\) .*\:}{.*}} {#var msg {&3}};
  165. perl chatbot.pl '$chanrec' '$GMCP[COMM][CHATLOGGER][player]' '$msg';
  166. #nop {#chatbot $msg};
  167. };
  168. #elseif {"$prewarning[$GMCP[COMM][CHATLOGGER][player]]" == "" && $afk && "$chanrec" == "tell" && "$player" != "Cheezburger"}
  169. {
  170. reply Sorry, but i'm afk. You're in luck though, Chatbot will talk with you instead if you send more tells. :) @Y[@R$afk_reason@Y]@c;
  171. #var prewarning[$GMCP[COMM][CHATLOGGER][player]] 1;
  172. };
  173. };
  174. }
  175.  
  176.  
  177. #EVENT {IAC SB GMCP char.stats IAC SE}
  178. {
  179. #variable GMCP[CHAR][STATS] {%0};
  180. #if {$debug}
  181. {
  182. #showme %1
  183. };
  184. #nop;
  185. }
  186.  
  187. #EVENT {IAC SB GMCP comm.quest IAC SE}
  188. {
  189. #var {GMCP[COMM][QUEST]} {%0};
  190. #if {"$GMCP[COMM][QUEST][action]" == "start"}
  191. {
  192. $repchan @Y[@RQuest Requested@Y]@w: @YTarget@w=@R$GMCP[COMM][QUEST][targ]@w. @YRoom@w=@R$GMCP[COMM][QUEST][room]@w. @YArea@w=@R$GMCP[COMM][QUEST][area]@w.;
  193. #format {quest[start]} {%T};
  194. };
  195. #elseif {"$GMCP[COMM][QUEST][action]" == "fail"}
  196. {
  197. $repchan @W\{-=@RQuest Failed@W=-\}@w;
  198. #var quest {};
  199. #var temp {};
  200. #var $GMCP[COMM][QUEST] {};
  201. #var action {};
  202. };
  203. #elseif {"$GMCP[COMM][QUEST][action]" == "comp"}
  204. {
  205. #format {quest[end]} {%T};
  206. #math {quest[time]} {$quest[end] - $quest[start]};
  207. timer quest;
  208. #if {$GMCP[COMM][QUEST][pracs] != 0}
  209. {
  210. #if {"$quest[bonus]" != ""}
  211. {
  212. #var quest[bonus] {$quest[bonus]@w, @R$GMCP[COMM][QUEST][pracs] prac(s)};
  213. }
  214. {
  215. #var {quest[bonus]} { @Y[@WBonus: @R$GMCP[COMM][QUEST][pracs] prac(s)};
  216. };
  217. #var quest[bonus] {@Y]@w};
  218. };
  219. #if {$GMCP[COMM][QUEST][trains] != 0}
  220. {
  221. #if {"$quest[bonus]" != ""}
  222. {
  223. #var quest[bonus] {$quest[bonus]@w, @R$GMCP[COMM][QUEST][trains] train(s)};
  224. }
  225. {
  226. #var {quest[bonus]} { @Y[@WBonus: @R$GMCP[COMM][QUEST][trains] train(s)};
  227. };
  228. #var quest[bonus] {@Y]@w};
  229. };
  230. #if {$GMCP[COMM][QUEST][tp] != 0}
  231. {
  232. #if {"$quest[bonus]" != ""}
  233. {
  234. #var quest[bonus] {$quest[bonus]@w, @R$GMCP[COMM][QUEST][tp] tp};
  235. }
  236. {
  237. #var {quest[bonus]} { @Y[@WBonus: @R$GMCP[COMM][QUEST][tp] tp};
  238. };
  239. #var quest[bonus] {@Y]@w};
  240. };
  241. $repchan @R[@YQuest Completed@R] @Y[@WQp: @R$GMCP[COMM][QUEST][totqp]@Y] $quest[TimeMsg]$quest[bonus];
  242. #var quest {};
  243. #var temp {};
  244. #var GMCP[COMM][QUEST] {};
  245. #var action {};
  246. };
  247. #elseif {"$GMCP[COMM][QUEST][action]" == "ready"}
  248. {
  249. $repchan @W\{-=@RQuest Time@W=-\}@w;
  250. #sys {notify-send 'Quest Time'};
  251. };
  252. #if {$debug}
  253. {
  254. #showme %1
  255. };
  256. #nop;
  257. }
  258.  
  259. #EVENT {IAC SB GMCP comm.repop IAC SE}
  260. {
  261. #var {GMCP[COMM][REPOP]} {%0};
  262. #format {curr_time} {%T};
  263. #if {$repoptrack}
  264. {
  265. #if {$repop}
  266. {
  267. #format {last_repop} {%T};
  268. }
  269. };
  270. #format {time} {%t} {%H:%M:%S};
  271. $repchan @WRepop @w= @r$GMCP[COMM][REPOP][zone]@w @@ @r$time;
  272. #var time {};
  273. #nop;
  274. }
  275.  
  276. #alias {^repopwatch {on|off}$}
  277. {
  278. #if {"%1" == on"}
  279. {
  280. #var repoptrack 1;
  281. }
  282. {
  283. #var repoptrack 0;
  284. }
  285. }
  286.  
  287. #alias {^check repop$}
  288. {
  289. #format curr_time {%T};
  290. #math {time_till_pop} {($last_repop+606)-$curr_time};
  291. #send {$raidchan @CNext repop@w: @R$time_till_pop @Wseconds.};
  292. };
  293.  
  294. #EVENT {IAC SB GMCP char.base IAC SE}
  295. {
  296. #variable GMCP[CHAR][BASE] {%0};
  297. #nop;
  298. }
  299.  
  300. #event {IAC SB GMCP room.info IAC SE}
  301. {
  302. #var GMCP[ROOM][INFO] {%0};
  303. #if {$mapping}
  304. {
  305. #if {"$GMCP[ROOM][INFO][details]" != "%*maze%*" && $GMCP[ROOM][INFO][num] != -1}
  306. {
  307. #map goto {$GMCP[ROOM][INFO][num]} {dig};
  308. #map get roomname {result};
  309. #if {"$result" == "{\d+}"}
  310. {
  311. #map set roomname $GMCP[ROOM][INFO][name];
  312. #map set roomvnum $GMCP[ROOM][INFO][num];
  313. #map set roomcolor <178>
  314. };
  315.  
  316. #foreach {$GMCP[ROOM][INFO][exits][]} {exit}
  317. {
  318. #map get {roomexit} {result};
  319.  
  320. #if {&result[$exit] == 0}
  321. {
  322. #map get {roomvnum} {result} {$GMCP[ROOM][INFO][exits][$exit]};
  323.  
  324. #map dig {$exit} {$GMCP[ROOM][INFO][exits][$exit]};
  325.  
  326. #if {$result == 0}
  327. {
  328. #map set {roomcolor} {<fca>} {$GMCP[ROOM][INFO][exits][$exit]}
  329. }
  330. }
  331. }
  332. };
  333. }
  334. }
  335.  
  336. #EVENT {IAC WILL GMCP}
  337. {
  338. #send {$IAC$DO$GMCP\};
  339. #send {$IAC$SB$GMCP Core.Hello { "client": "$CLIENT_NAME", "version": "$CLIENT_VERSION" } $IAC$SE\};
  340. #send {$IAC$SB$GMCP Core.Supports.Set [ "Room 1", "Char 1", "Core 1", "Comm 1", "Debug 1", "Group 1" ] $IAC$SE\}
  341. }
  342.  
  343. #EVENT {PROGRAM START}
  344. {
  345. #variable CLIENT_NAME %0;
  346. #variable CLIENT_VERSION %1;
  347. #read chicomecoatl'
  348. }
  349.  
  350. protocol gmcp sendchar
  351.  
  352. #CLASS {gmcp} CLOSE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement