SHARE
TWEET

Untitled

a guest Sep 14th, 2017 84 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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
RAW Paste Data
Top