Brandon Cornejo
9 years ago
26 changed files with 0 additions and 1587 deletions
-
1Aardwolf-chats
-
81README
-
26README.MD
-
4Todo
-
38active_log.raw
-
59affcap.tin
-
1affects
-
1chars
-
78general.tin
-
309gmcp.tin
-
1group
-
3history-discon.txt
-
77map.tin
-
1map.txt
-
1minimap
-
300paths.tin
-
109pathwalk.tin
-
7pmuxit
-
89quest.tin
-
26setup.tin
-
170spellup.tin
-
41ticking.tin
-
19tmuxit
-
27todo.txt
-
59variables.tin
-
59zzGMCP_to_stat.tin
@ -1 +0,0 @@ |
|||||
This file intentionally blank. It stores communications once connected. |
|
@ -1,81 +0,0 @@ |
|||||
Intro: |
|
||||
------ |
|
||||
This project compliments of the Aardwolf character Cheezburger. |
|
||||
This is a group of settings intended to be comparable to the base MUSHClient Aardwolf settings. |
|
||||
It is intended for Linux users or those with access to a machine capable of running Tintin++. |
|
||||
It should run under Wintin++ however performance may vary. |
|
||||
|
|
||||
Getting Tintin++: |
|
||||
----------------- |
|
||||
These settings (mainly the mapping) require Tintin++ versin 2.00.7 or better. |
|
||||
Check out http://tintin.sourceforge.net/download.php for the latest versions. |
|
||||
|
|
||||
Getting Started: |
|
||||
---------------- |
|
||||
edit setup.tin |
|
||||
start tintin with setup.tin (Ex. /usr/games/tt++ -G setup.tin) |
|
||||
|
|
||||
Tintin Mapping: |
|
||||
--------------- |
|
||||
#map create 60000 - to initialize a new tintin map |
|
||||
#map flag nofollow on - to stop tintin trying to create rooms based on movement |
|
||||
-all the room creation is done via gmcp |
|
||||
#map goto 1 to goto the first vnum of the tintin map |
|
||||
#var mapping 1 to create the map as you go |
|
||||
-should be on in setup.tin by default |
|
||||
-a tick timer is created to save the map every 300seconds |
|
||||
-a session disconnect event is set to save a backup copy of the map |
|
||||
|
|
||||
Capturing & Logging: |
|
||||
-------------------- |
|
||||
The ascii map: |
|
||||
'tags map on' to start capturing the map to the file 'minimap' |
|
||||
'tags mapnames on' to send the room name with the map |
|
||||
'tags mapexits on' to send the room exits with the map |
|
||||
Toggle 'shortmap' command until it says "You will now see blank lines on the map." |
|
||||
|
|
||||
Channels: |
|
||||
Most channels are captured to the file 'Aardwolf-chats' by GMCP |
|
||||
To configure which ones are shown in the main window: |
|
||||
'tags channels on' to show tags around them |
|
||||
-adjust general.tin list to change which channels are gagged |
|
||||
|
|
||||
Mobs/Players in the room: |
|
||||
'tags roomchars on' to start capturing people/mobs to the file 'chars' |
|
||||
|
|
||||
Group Stats: |
|
||||
Group stat logging is handled by gmcp.tt and logs to 'group' file once you are in a group |
|
||||
|
|
||||
Custom Prompt |
|
||||
------------- |
|
||||
Tintin++ should automatically split off the bottom 4 lines of your terminal for the custom prompt. |
|
||||
The bottom line will be the input command line, next up is a dividing line, then a vitals bar, |
|
||||
then a bar with a few other things I'll explain in detail. |
|
||||
|
|
||||
1. Time till next tick -- self explanatory |
|
||||
2. Quest timer -- this will be set to "quest_timer" until you take a quest or type quest info. |
|
||||
3. Exp till next level -- self exlanatory |
|
||||
4. Thirst/Hunger -- T/H:[ thirst level / hunger level ] |
|
||||
5. Alignment -- Positive or negative alignment |
|
||||
|
|
||||
|
|
||||
Optional Settings: |
|
||||
------------------ |
|
||||
read in optional settings as required |
|
||||
-affcaps.tin Will capture and gag skill/spell affects, add colors, and log to 'affects' file |
|
||||
-paths.tin Useful demonstration aliases for using the tintin map once one is generated by the user |
|
||||
-pathwalk.tin Provides an alternative to #path run, it will stop for aggro mobs and continue on death |
|
||||
|
|
||||
Displaying: |
|
||||
----------- |
|
||||
Linux/Unix: |
|
||||
Setup panes in Tmux or multiple terminal windows and use the tail command (ex. tail -fs .1 minimap) |
|
||||
on whichever log file you wish. |
|
||||
|
|
||||
Mac OSX: |
|
||||
See link below for instructions setting up Tmux. |
|
||||
https://blogs.oracle.com/unixben/entry/install_tmux_on_mac_os |
|
||||
|
|
||||
|
|
||||
*NOTE* For the minimap file you will need to set the size of the window to match the output from the mud. |
|
||||
For a typical 10pt font a size of 30columns by 21rows should be close. |
|
@ -1,26 +0,0 @@ |
|||||
<h1><u>Aardwolf Tintin Package</u></h1> |
|
||||
<p> |
|
||||
<b>OS</b>: Linux/Unix or Mac (Although these settings have been known to work with <a href='http://tintin.sourceforge.net/download.php'>Wintin++</a> as well)<br> |
|
||||
<b>Requires</b>: <a href='http://tintin.sourceforge.net'>Tintin 2.00.7</a><br> |
|
||||
<b>Recommended</b>: <a href='http://tmux.sourceforge.net'>Tmux 1.5</a> (or some comparable program).<br> |
|
||||
<table cellpadding='5px' border='1'> |
|
||||
<tr> |
|
||||
<td> |
|
||||
<h3><u>Features:</u></h3> |
|
||||
<dl> |
|
||||
<dt>GMCP event handling/variable setting<br> |
|
||||
<dt>Integrated GMCP/Tintin Mapping<br> |
|
||||
<dt>Captures into logfiles for "miniwindows":<br> |
|
||||
<blockquote><dd>ASCII Map<br> |
|
||||
<dd>Communications<br> |
|
||||
<dd>Affects<br> |
|
||||
<dd>Group Stats<br> |
|
||||
<dd>Mobs/Chars in room<br> |
|
||||
<dt>Spellup aliases/triggers for keeping spells up<br> |
|
||||
<dt>A customized prompt with several timers for ticks/quests/etc<br> |
|
||||
<dt>Examples of making aliases that use #map find in several ways<br> |
|
||||
<p> |
|
||||
Most of the work was done by the player "Cheezburger." It is<br> |
|
||||
highly undocumented and by no means bug free.<br> |
|
||||
<td><a href='https://lh3.googleusercontent.com/-4rqyXaYgCGw/UBnVVDdJghI/AAAAAAAAABA/BmiBKnPhkII/s800/aardwolf%252Btintin2.PNG'><img src='https://lh3.googleusercontent.com/-4rqyXaYgCGw/UBnVVDdJghI/AAAAAAAAABA/BmiBKnPhkII/s800/aardwolf%252Btintin2.PNG' alt='aardwolf-tintin screenshot'></img></a> |
|
||||
|
|
@ -1,4 +0,0 @@ |
|||||
Add more comments to the settings. |
|
||||
Add more details on how the settings work. |
|
||||
Clean up the formatting of the settings. |
|
||||
Add revised lvladd aliases and fix afind,vfind,rfind,mfind,hfind |
|
@ -1,38 +0,0 @@ |
|||||
[0m#OK: 8 ACTIONS LOADED.[0m |
|
||||
[0m#OK: 13 ALIASES LOADED.[0m |
|
||||
[0m#OK: 5 CLASSES LOADED.[0m |
|
||||
[0m#OK: 17 EVENTS LOADED.[0m |
|
||||
[0m#OK: 1 MACRO LOADED.[0m |
|
||||
[0m#OK: 1 SUBSTITUTE LOADED.[0m |
|
||||
[0m#OK: 3 TICKERS LOADED.[0m |
|
||||
[0m#OK: 67 VARIABLES LOADED.[0m |
|
||||
############################################################################# |
|
||||
##[ --- Welcome to Aardwolf MUD --- ]########################## |
|
||||
##[ ]############ /" ######### |
|
||||
##[ Players Currently Online: 429 ]######## _-`"""', ####### |
|
||||
##[ ]##### _-" ) ###### |
|
||||
##[ Game Last Rebooted on 21 Feb 10:20:48 ]### _-" | ###### |
|
||||
################################################### _-" ; ####### |
|
||||
######################################### __---___-" | ######## |
|
||||
###################################### _" ,, ; `,, #### |
|
||||
#################################### _-" ;'' | ,' ; #### |
|
||||
################################## _" ' `"' ; #### |
|
||||
########################### __---; ,' ###### |
|
||||
######################## __"" ___ ,' ######## |
|
||||
#################### _-"" -"" _ ,' ########## |
|
||||
################### `-_ _ ; ############ |
|
||||
##################### ""----""" ; ; ############# |
|
||||
####################### / ; ; ############## |
|
||||
##################### / ; ; ############### |
|
||||
################### / ` ; ################ |
|
||||
################# / ; ################# |
|
||||
----------------------------------------------------------------------------- |
|
||||
Enter your character name or type 'NEW' to create a new character |
|
||||
----------------------------------------------------------------------------- |
|
||||
What be thy name, adventurer? Please enter a character name, 'NEW' to create a new player or 'Q' to disconnect. |
|
||||
What be thy name, adventurer? Please enter a character name, 'NEW' to create a new player or 'Q' to disconnect. |
|
||||
What be thy name, adventurer? [0;39;49mquit[0m |
|
||||
That name is not usable. Please try another. |
|
||||
Name: [0;39;49m#end[0m |
|
||||
[0m#MAP: This session has no map data. Use #map create or #map read to create one.[0m |
|
||||
[0m#SESSION 'aard' DIED.[0m |
|
@ -1,59 +0,0 @@ |
|||||
#class affcap kill |
|
||||
#class affcap open |
|
||||
|
|
||||
/* |
|
||||
This script will capture spell output, gag it, and put it in a file called 'affects' in your $dir. |
|
||||
Todo: have it sort the list and display in descending order from longest duration to shortest |
|
||||
*/ |
|
||||
|
|
||||
#action {^You are affected by the following:$} |
|
||||
{ |
|
||||
#show <179>Capturing Affects List<099>; |
|
||||
#line gag; |
|
||||
#list affects clear; |
|
||||
#var aff_count 1; |
|
||||
#line log {$dir/affects} {<179>--Affects--<099>} |
|
||||
} |
|
||||
|
|
||||
#action {^Spell : %* \(%d:%d\)$} |
|
||||
{ |
|
||||
#line gag; |
|
||||
#list affects[$aff_count] add {%1;00;%2;%3}; |
|
||||
#math aff_count {$aff_count + 1} |
|
||||
} |
|
||||
|
|
||||
#action {^Spell : %* \(%d:%d:%d\)$} |
|
||||
{ |
|
||||
#line gag; |
|
||||
#list affects[$aff_count] add {%1;%2;%3;%4}; |
|
||||
#math aff_count {$aff_count + 1} |
|
||||
} |
|
||||
|
|
||||
#action {^You are affected by %d skills and %d spells.$} |
|
||||
{ |
|
||||
#foreach $affects[] {x} |
|
||||
{ |
|
||||
#if {$affects[$x][2]==0 && $affects[$x][3]<2} |
|
||||
{ |
|
||||
#line log {$dir/affects} {<119>$affects[$x][2]:$affects[$x][3]:$affects[$x][4] : $affects[$x][1]<099>} |
|
||||
}; |
|
||||
#elseif {$affects[$x][2]==0 && $affects[$x][3]<5} |
|
||||
{ |
|
||||
#line log {$dir/affects} {<139>$affects[$x][2]:$affects[$x][3]:$affects[$x][4] : $affects[$x][1]<099>} |
|
||||
}; |
|
||||
#elseif {$affects[$x][2]==0 && $affects[$x][3]<10} |
|
||||
{ |
|
||||
#line log {$dir/affects} {<169>$affects[$x][2]:$affects[$x][3]:$affects[$x][4] : $affects[$x][1]<099>} |
|
||||
}; |
|
||||
#else |
|
||||
{ |
|
||||
#line log {$dir/affects} {<029>$affects[$x][2]:$affects[$x][3]:$affects[$x][4] : $affects[$x][1]<099>} |
|
||||
} |
|
||||
|
|
||||
|
|
||||
}; |
|
||||
#line log {$dir/affects} {\nSkills <029>%1 <099>Spells <029>%2<099>\n}; |
|
||||
} |
|
||||
|
|
||||
|
|
||||
#class affcap close |
|
@ -1 +0,0 @@ |
|||||
This file left intentionally blank. It will store affects list once connected. |
|
@ -1 +0,0 @@ |
|||||
This file left intentionally blank. Will store characters and mobs in room once connected. |
|
@ -1,78 +0,0 @@ |
|||||
#NOP ####################### |
|
||||
#NOP ### Channel Gagging ### |
|
||||
#NOP ####################### |
|
||||
#NOP /* All channels turned on will be logged to a file. */ |
|
||||
#NOP /* This section is just for the display in Tintin. */ |
|
||||
|
|
||||
#NOP /* Select which channels to gag from Tintin */ |
|
||||
#ACTION {^\{chan ch={answer|question|wangrp|gossip|barter|auction|mxit|nobletalk|sports|gclan}\}%2$} {#line gag} |
|
||||
|
|
||||
#NOP /* Remove the tags from stuff we don't gag */ |
|
||||
#SUB {\{chan ch=%*\}} {} |
|
||||
|
|
||||
#NOP ####################### |
|
||||
#NOP ### Door Opening & Mapping ### |
|
||||
#NOP ####################### |
|
||||
|
|
||||
#NOP /* Using these aliases when creating the exits for rooms will enable door opening */ |
|
||||
#ALIAS {op} {#map exit {%0} command {#send {op %0};%0};#send {open %0}} |
|
||||
#alias {ope} {op e;e;close w} |
|
||||
#alias {opw} {op w;w;close e} |
|
||||
#alias {opn} {op n;n;close s} |
|
||||
#alias {ops} {op s;s;close n} |
|
||||
#alias {opu} {op u;u;close d} |
|
||||
#alias {opd} {op d;d;close u} |
|
||||
|
|
||||
#NOP ####################### |
|
||||
#nop ### Misc Aliases ### |
|
||||
#NOP ####################### |
|
||||
/* Example aliases, uncomment to use */ |
|
||||
/* |
|
||||
#alias cl {close} |
|
||||
#alias df {drink fountain} |
|
||||
#alias gac {get all corpse} |
|
||||
#alias h {qq '$healpot'} |
|
||||
#alias hs {cast 'psychic healing'} |
|
||||
#alias j {scan} |
|
||||
#alias lic {look in corpse} |
|
||||
#alias m meditate |
|
||||
#alias pe {qq 'light allegiance'} |
|
||||
#alias qq {get %0 from $potbag;quaff %0} |
|
||||
#alias wr {$word} |
|
||||
#alias wc {wr;#delay 1 {qc}} |
|
||||
*/ |
|
||||
|
|
||||
#NOP ####################### |
|
||||
#nop ### Misc Actions ### |
|
||||
#NOP ####################### |
|
||||
#ACTION {The quest will start in} {#bell} |
|
||||
|
|
||||
#macro {\e[11~} {!} |
|
||||
|
|
||||
#CONFIG {256 COLORS} {ON} |
|
||||
#CONFIG {AUTO TAB} {5000} |
|
||||
#CONFIG {BUFFER SIZE} {20000} |
|
||||
#CONFIG {CHARSET} {ASCII} |
|
||||
#CONFIG {COMMAND COLOR} {<099>} |
|
||||
#CONFIG {COMMAND ECHO} {ON} |
|
||||
#CONFIG {CONNECT RETRY} {15} |
|
||||
#CONFIG {HISTORY SIZE} {9999} |
|
||||
#CONFIG {LOG} {RAW} |
|
||||
#CONFIG {PACKET PATCH} {0.00} |
|
||||
#CONFIG {REPEAT CHAR} {!} |
|
||||
#CONFIG {REPEAT ENTER} {ON} |
|
||||
#CONFIG {SCROLL LOCK} {ON} |
|
||||
#CONFIG {SPEEDWALK} {ON} |
|
||||
#CONFIG {TINTIN CHAR} {#} |
|
||||
#CONFIG {VERBATIM} {OFF} |
|
||||
#CONFIG {VERBATIM CHAR} {\} |
|
||||
#CONFIG {VERBOSE} {OFF} |
|
||||
#CONFIG {WORDWRAP} {ON} |
|
||||
#PATHDIR {d} {u} {32} |
|
||||
#PATHDIR {e} {w} {2} |
|
||||
#PATHDIR {n} {s} {1} |
|
||||
#PATHDIR {s} {n} {4} |
|
||||
#PATHDIR {u} {d} {16} |
|
||||
#PATHDIR {w} {e} {8} |
|
||||
#TICKER {mapupdate} {#map write {$dir/map-all.tt}} {300} |
|
||||
#TICKER {varupdate} {#class variables write {$dir/variables.tin}} {300} |
|
@ -1,309 +0,0 @@ |
|||||
#class gmcp kill; |
|
||||
#CLASS {gmcp} OPEN |
|
||||
|
|
||||
|
|
||||
#format IAC %a 255 |
|
||||
#format DONT %a 254 |
|
||||
#format DO %a 253 |
|
||||
#format WONT %a 252 |
|
||||
#format WILL %a 251 |
|
||||
#format SB %a 250 |
|
||||
#format SE %a 240 |
|
||||
|
|
||||
#format GMCP %a 201 |
|
||||
|
|
||||
#ALIAS {debug {on|off}} |
|
||||
{ |
|
||||
#if {"%1" == "on"} |
|
||||
{ |
|
||||
#variable debug 1 |
|
||||
}; |
|
||||
#else |
|
||||
{ |
|
||||
#variable debug 0 |
|
||||
}; |
|
||||
#nop; |
|
||||
} |
|
||||
{5} |
|
||||
|
|
||||
#EVENT {IAC SB GMCP char.maxstats IAC SE} |
|
||||
{ |
|
||||
#variable GMCP[CHAR][MAXSTATS] {%0}; |
|
||||
#if {$debug} |
|
||||
{ |
|
||||
#showme %1 |
|
||||
}; |
|
||||
#nop; |
|
||||
} |
|
||||
|
|
||||
#event {IAC SB GMCP group IAC SE} |
|
||||
{ |
|
||||
#var GMCP[GROUP] {%0}; |
|
||||
#line log {$dir/group} {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n}; |
|
||||
#format {name_line} {}; |
|
||||
#format {leader_line} {} {light cyan} {light white}; |
|
||||
#foreach {$GMCP[GROUP][members][]} {gmcp_groupie} |
|
||||
{ |
|
||||
#if {"gmcp_groupie_list" != ""} |
|
||||
{ |
|
||||
#var {pregroup} {$gmcp_groupie_list\n} |
|
||||
} |
|
||||
{ |
|
||||
#var pregroup {} |
|
||||
}; |
|
||||
#math {hp_percent_tmp} {1.0*($GMCP[GROUP][members][$gmcp_groupie][info][hp]/$GMCP[GROUP][members][$gmcp_groupie][info][mhp])*100}; |
|
||||
#math {mn_percent_tmp} {1.0*($GMCP[GROUP][members][$gmcp_groupie][info][mn]/$GMCP[GROUP][members][$gmcp_groupie][info][mmn])*100}; |
|
||||
#math {mv_percent_tmp} {1.0*($GMCP[GROUP][members][$gmcp_groupie][info][mv]/$GMCP[GROUP][members][$gmcp_groupie][info][mmv])*100}; |
|
||||
#format {gmcp_groupie_list} |
|
||||
{ |
|
||||
$pregroup |
|
||||
%c$GMCP[GROUP][members][$gmcp_groupie][name] %cLevel%c: %c$GMCP[GROUP][members][$gmcp_groupie][info][lvl]\n |
|
||||
%cHP%c:%c${hp_percent_tmp} %cMN%c:%c${mn_percent_tmp} %cMV%c:%c${mv_percent_tmp}\n |
|
||||
%cTNL%c:%c$GMCP[GROUP][members][$gmcp_groupie][info][tnl] %cAlign%c:%c$GMCP[GROUP][members][$gmcp_groupie][info][align] <acc>QT<eff>: <afc>$GMCP[GROUP][members][$gmcp_groupie][info][qt] |
|
||||
} {light red} {cyan} {light black} {blue} {green} {light black} {light green} {blue} {light black} {light blue} {yellow} {light black} {light yellow} {light white} {light black} {green} {light white} {light black} {light cyan} |
|
||||
}; |
|
||||
#line log {$dir/group} {$name_line\n\n$leader_line\n\n\n$gmcp_groupie_list}; |
|
||||
#var gmcp_groupie_list {}; |
|
||||
} |
|
||||
|
|
||||
#EVENT {IAC SB GMCP char.status IAC SE} |
|
||||
{ |
|
||||
#variable GMCP[CHAR][STATUS] {%0}; |
|
||||
#if {$debug} |
|
||||
{ |
|
||||
#showme %1 |
|
||||
}; |
|
||||
||gmcp_prompt_statmon; |
|
||||
#nop; |
|
||||
} |
|
||||
|
|
||||
#EVENT {IAC SB GMCP char.vitals IAC SE} |
|
||||
{ |
|
||||
#variable GMCP[CHAR][VITALS] {%0}; |
|
||||
#if {$debug} |
|
||||
{ |
|
||||
#showme %1 |
|
||||
}; |
|
||||
||gmcp_prompt_statmon; |
|
||||
#nop; |
|
||||
} |
|
||||
|
|
||||
#EVENT {IAC SB GMCP char.worth IAC SE} |
|
||||
{ |
|
||||
#variable GMCP[CHAR][WORTH] {%0}; |
|
||||
#if {$debug} |
|
||||
{ |
|
||||
#showme %1 |
|
||||
}; |
|
||||
#nop |
|
||||
} |
|
||||
|
|
||||
#alias {afk {on|off}} |
|
||||
{ |
|
||||
#if {"%1" == "on"} |
|
||||
{ |
|
||||
#var afk 1; |
|
||||
#var prewarning 0; |
|
||||
} |
|
||||
{ |
|
||||
#var afk 0; |
|
||||
#var tellsent {}; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
|
|
||||
|
|
||||
#EVENT {IAC SB GMCP comm.channel IAC SE} |
|
||||
{ |
|
||||
#var {GMCP[COMM][CHATLOGGER]} {%0}; |
|
||||
#var {chanrec} {$GMCP[COMM][CHATLOGGER][chan]}; |
|
||||
#var {player} {$GMCP[COMM][CHATLOGGER][player]}; |
|
||||
#if {"$GMCP[COMM][CHATLOGGER][chan]" != "mobsay"} |
|
||||
{ |
|
||||
#line log {$dir/Aardwolf-chats} {$GMCP[COMM][CHATLOGGER][msg]}; |
|
||||
}; |
|
||||
#if {$debug} |
|
||||
{ |
|
||||
#showme %1 |
|
||||
}; |
|
||||
#if {"$GMCP[COMM][CHATLOGGER][chan]" == "tell"} |
|
||||
{ |
|
||||
#if {$afk} |
|
||||
{ |
|
||||
#if {!$tellsent[$GMCP[COMM][CHATLOGGER][player]]} |
|
||||
{ |
|
||||
#if {"$GMCP[COMM][CHATLOGGER][player]" != "Cheezburger"} |
|
||||
{ |
|
||||
#var {tellsent[$GMCP[COMM][CHATLOGGER][player]]} {1}; |
|
||||
reply Sorry, but I'm afk: @Y[@R$afk_reason@Y]@c; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
} |
|
||||
|
|
||||
|
|
||||
#EVENT {IAC SB GMCP char.stats IAC SE} |
|
||||
{ |
|
||||
#variable GMCP[CHAR][STATS] {%0}; |
|
||||
#if {$debug} |
|
||||
{ |
|
||||
#showme %1 |
|
||||
}; |
|
||||
#nop; |
|
||||
} |
|
||||
|
|
||||
#EVENT {IAC SB GMCP comm.repop IAC SE} |
|
||||
{ |
|
||||
#var {GMCP[COMM][REPOP]} {%0}; |
|
||||
#format {curr_time} {%T}; |
|
||||
#if {$repoptrack} |
|
||||
{ |
|
||||
#if {$repop} |
|
||||
{ |
|
||||
#format {last_repop} {%T}; |
|
||||
} |
|
||||
}; |
|
||||
#format {time} {%t} {%H:%M:%S}; |
|
||||
$repchan @WRepop @w= @r$GMCP[COMM][REPOP][zone]@w @@ @r$time; |
|
||||
#var time {}; |
|
||||
#nop; |
|
||||
} |
|
||||
|
|
||||
#alias {^repopwatch {on|off}$} |
|
||||
{ |
|
||||
#if {"%1" == on"} |
|
||||
{ |
|
||||
#var repoptrack 1; |
|
||||
} |
|
||||
{ |
|
||||
#var repoptrack 0; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
#alias {^check repop$} |
|
||||
{ |
|
||||
#format curr_time {%T}; |
|
||||
#math {time_till_pop} {($last_repop+606)-$curr_time}; |
|
||||
#send {$repchan @CNext repop@w: @R$time_till_pop @Wseconds.}; |
|
||||
}; |
|
||||
|
|
||||
#EVENT {IAC SB GMCP char.base IAC SE} |
|
||||
{ |
|
||||
#variable GMCP[CHAR][BASE] {%0}; |
|
||||
#nop; |
|
||||
} |
|
||||
|
|
||||
#event {IAC SB GMCP room.info IAC SE} |
|
||||
{ |
|
||||
#var GMCP[ROOM][INFO] {%0}; |
|
||||
#if {$mapping} |
|
||||
{ |
|
||||
#if {"$GMCP[ROOM][INFO][details]" != "%*maze%*" && $GMCP[ROOM][INFO][num] != -1} |
|
||||
{ |
|
||||
#map goto {$GMCP[ROOM][INFO][num]} {dig}; |
|
||||
#map get roomname {mapresult}; |
|
||||
#if {"$mapresult" == "{\d+}"} |
|
||||
{ |
|
||||
#map set roomname $GMCP[ROOM][INFO][name]; |
|
||||
#map set roomvnum $GMCP[ROOM][INFO][num]; |
|
||||
#map set roomarea $GMCP[ROOM][INFO][zone]; |
|
||||
#map set roomterrain $GMCP[ROOM][INFO][terrain]; |
|
||||
#map set roomcolor <178> |
|
||||
}; |
|
||||
|
|
||||
#foreach {$GMCP[ROOM][INFO][exits][]} {exit} |
|
||||
{ |
|
||||
#map get {roomexit} {mapresult}; |
|
||||
|
|
||||
#if {&mapresult[$exit] == 0} |
|
||||
{ |
|
||||
#map get {roomvnum} {mapresult} {$GMCP[ROOM][INFO][exits][$exit]}; |
|
||||
|
|
||||
#map dig {$exit} {$GMCP[ROOM][INFO][exits][$exit]}; |
|
||||
|
|
||||
#if {$mapresult == 0} |
|
||||
{ |
|
||||
#map set {roomcolor} {<fca>} {$GMCP[ROOM][INFO][exits][$exit]} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
}; |
|
||||
#if {$GMCP[ROOM][INFO][num] != -1} |
|
||||
{ |
|
||||
#MAP GOTO {$GMCP[ROOM][INFO][num]} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
#event {IAC SB GMCP comm.tick IAC SE}{#var ticks 30}; |
|
||||
#var repop 0; |
|
||||
#var ticks 30; |
|
||||
#tic TICKING |
|
||||
{ |
|
||||
#if {$ticks > 0} |
|
||||
{ |
|
||||
#math ticks {$ticks - 1}; |
|
||||
}; |
|
||||
|
|
||||
#if {$ticks < 10} |
|
||||
{#show {<139> $ticks<099> secs to tick QUEST<099>: <139>$timer} 3} |
|
||||
{#show {<139> $ticks<099> secs to tick QUEST<099>: <139>$timer} 3} |
|
||||
} |
|
||||
{1}; |
|
||||
#EVENT {IAC WILL GMCP} |
|
||||
{ |
|
||||
#send {$IAC$DO$GMCP\}; |
|
||||
#send {$IAC$SB$GMCP Core.Hello { "client": "$CLIENT_NAME", "version": "$CLIENT_VERSION" } $IAC$SE\}; |
|
||||
#send {$IAC$SB$GMCP Core.Supports.Set [ "Room 1", "Char 1", "Core 1", "Comm 1", "Debug 1", "Group 1" ] $IAC$SE\} |
|
||||
} |
|
||||
|
|
||||
#EVENT {MAP ENTER ROOM} |
|
||||
{ |
|
||||
#if $mapping |
|
||||
{ |
|
||||
#map get roomarea oldarea; |
|
||||
#if {"$oldarea"==""} |
|
||||
{ |
|
||||
#map set roomarea $GMCP[ROOM][INFO][zone] |
|
||||
}; |
|
||||
#map get roomterrain oldterrain; |
|
||||
#if {"$oldterrain"==""} |
|
||||
{ |
|
||||
#map set roomterrain $GMCP[ROOM][INFO][terrain] |
|
||||
}; |
|
||||
#map get roomname oldname; |
|
||||
#if {"$oldname"==""} |
|
||||
{ |
|
||||
#map set roomname $GMCP[ROOM][INFO][name] |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
|
|
||||
|
|
||||
#EVENT {PROGRAM START} |
|
||||
{ |
|
||||
#variable CLIENT_NAME %0; |
|
||||
#variable CLIENT_VERSION %1; |
|
||||
} |
|
||||
|
|
||||
#EVENT {SESSION DISCONNECTED} |
|
||||
{ |
|
||||
#map write {$dir/map-discon.txt}; |
|
||||
#history write {$dir/history-discon.txt}; |
|
||||
#class variables write {$dir/variables.tin} |
|
||||
} |
|
||||
|
|
||||
#EVENT {SESSION CONNECTED} |
|
||||
{ |
|
||||
$name; |
|
||||
$password; |
|
||||
#unvar name; |
|
||||
#unvar password; |
|
||||
#history read {$dir/history-discon.txt} |
|
||||
} |
|
||||
|
|
||||
protocol gmcp sendchar |
|
||||
|
|
||||
#CLASS {gmcp} CLOSE |
|
@ -1 +0,0 @@ |
|||||
This file intentionally blank. It stores group data once connected. |
|
@ -1,3 +0,0 @@ |
|||||
|
|
||||
quit |
|
||||
#end |
|
@ -1,77 +0,0 @@ |
|||||
#CLASS {map} KILL |
|
||||
#CLASS {map} OPEN |
|
||||
|
|
||||
#ACTION {^<MAPEND>$} |
|
||||
{ |
|
||||
#line gag; |
|
||||
#variable getmap 0; |
|
||||
#if {$autoscan} |
|
||||
{ |
|
||||
scan; |
|
||||
}; |
|
||||
} |
|
||||
{1} |
|
||||
|
|
||||
#alias {autoscan} |
|
||||
{ |
|
||||
#IF {"%0" != ""} |
|
||||
{ |
|
||||
#show <069>Reminder: autoscan doesn't take arguments.<099> |
|
||||
}; |
|
||||
#if {$autoscan == 0} |
|
||||
{ |
|
||||
#var autoscan 1; |
|
||||
#show <069>Autoscan: <129>ON<099> |
|
||||
}; |
|
||||
#ELSEIF {$autoscan == 1} |
|
||||
{ |
|
||||
#var autoscan 0; |
|
||||
#show <069>Autoscan: <099>Off |
|
||||
}; |
|
||||
#ELSE |
|
||||
{ |
|
||||
#show <069>Something went wrong with the autoscan alias in map.tt<099> |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
#ACTION {^<MAPSTART>$} |
|
||||
{ |
|
||||
#variable getmap 1; |
|
||||
#line gag |
|
||||
} |
|
||||
{1} |
|
||||
|
|
||||
#action {^\{roomchars\}} |
|
||||
{ |
|
||||
#var getchar 1; |
|
||||
#line gag; |
|
||||
#line log {$dir/chars} {------<179>[ $GMCP[ROOM][INFO][name] ]<099>} |
|
||||
} |
|
||||
|
|
||||
#action {^\{/roomchars\}} |
|
||||
{ |
|
||||
#var getchar 0; |
|
||||
#line gag; |
|
||||
#line log {$dir/chars} {\n} |
|
||||
} |
|
||||
|
|
||||
#ACTION {~%0} |
|
||||
{ |
|
||||
#if {$getmap} |
|
||||
{ |
|
||||
#line log {$dir/minimap} {%0}; |
|
||||
#if {!$showmap} |
|
||||
{ |
|
||||
#line gag |
|
||||
} |
|
||||
}; |
|
||||
#elseif {$getchar} |
|
||||
{ |
|
||||
#line log {$dir/chars} {%0} |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
{9999} |
|
||||
|
|
||||
|
|
||||
#CLASS {map} CLOSE |
|
@ -1 +0,0 @@ |
|||||
This file will store tintin map once connected. |
|
@ -1 +0,0 @@ |
|||||
This file left intentionally blank. Will store ascii map once connected. |
|
@ -1,300 +0,0 @@ |
|||||
#class paths kill |
|
||||
#class paths open |
|
||||
|
|
||||
#NOP ############################################################################################ |
|
||||
#NOP ### Portals variable, used by the speedwalking aliases (afind, rfind, vfind) |
|
||||
#NOP ############################################################################################ |
|
||||
|
|
||||
#var {portals} |
|
||||
{ |
|
||||
{1} |
|
||||
{ |
|
||||
{lvl}{1} |
|
||||
{zone}{sendhian} |
|
||||
{name}{922303584} |
|
||||
{vnum}{20286} |
|
||||
{cmd}{get 922303584 from $$portalbag;hold 922303584;enter;hold $$portal;put 922303584 in $$portalbag} |
|
||||
} |
|
||||
{2} |
|
||||
{ |
|
||||
{lvl}{5} |
|
||||
{zone}{aylor} |
|
||||
{name}{garbage} |
|
||||
{vnum}{32418} |
|
||||
{cmd}{get garbage from $$portalbag;hold garbage;enter;hold $$portal;put garbage in $$portalbag} |
|
||||
} |
|
||||
{3} |
|
||||
{ |
|
||||
{lvl}{10} |
|
||||
{zone}{petstore} |
|
||||
{name}{collar} |
|
||||
{vnum}{995} |
|
||||
{cmd}{get collar from $$portalbag;hold collar;enter;hold $$portal;put collar in $$portalbag} |
|
||||
} |
|
||||
{4} |
|
||||
{ |
|
||||
{lvl}{25} |
|
||||
{zone}{amusement} |
|
||||
{name}{amulet} |
|
||||
{vnum}{29364} |
|
||||
{cmd}{get amulet from $$portalbag;hold amulet;enter;hold $$portal;put amulet in $$portalbag}} |
|
||||
} |
|
||||
|
|
||||
#NOP ########################################################################### |
|
||||
#NOP ### Adding/Clearing Portal List |
|
||||
#NOP ########################################################################### |
|
||||
|
|
||||
#alias addportals |
|
||||
{ |
|
||||
#foreach {$portals[]} {x} |
|
||||
{ |
|
||||
#map dig {$portals[$x][cmd]} {$portals[$x][vnum]} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
#alias clearportals |
|
||||
{ |
|
||||
#foreach {$portals[]} {y} |
|
||||
{ |
|
||||
#map unlink {$portals[$y][cmd]} |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
|
|
||||
#alias lvladdportals |
|
||||
{ |
|
||||
#foreach {$portals[]} {x} |
|
||||
{ |
|
||||
#IF {$tier_level>=$portals[$x][lvl]} |
|
||||
{ |
|
||||
#map dig {$portals[$x][cmd]} {$portals[$x][vnum]} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
#alias lvlclearportals |
|
||||
{ |
|
||||
#foreach {$portals[]} {y} |
|
||||
{ |
|
||||
#IF {$tier_level>=$portals[$y][lvl]} |
|
||||
{ |
|
||||
#map unlink {$portals[$y][cmd]} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
|
|
||||
|
|
||||
#NOP ########################################################################### |
|
||||
#NOP ### Advanced speedwalking aliases afind, rfind, vfind (area, room, vnum) |
|
||||
#NOP ########################################################################### |
|
||||
|
|
||||
#ALIAS {afind} |
|
||||
{ |
|
||||
#IF "%0"=="" |
|
||||
{ |
|
||||
#show <169>Syntax:<099> af <zone> |
|
||||
}; |
|
||||
#else |
|
||||
{ |
|
||||
#unvar path; |
|
||||
#if {"$GMCP[ROOM][INFO][zone]"=="%1"} {#show <169>Already at <099>%1.}; |
|
||||
#else |
|
||||
{ |
|
||||
#show <169>Area Find:<099> %1; |
|
||||
#var checkportal {}; |
|
||||
#map get roomnote checkportal; |
|
||||
#if {"$checkportal"!="noportal"} |
|
||||
{ |
|
||||
#var portalsused 1; |
|
||||
lvladdportals; |
|
||||
#map find {} {} {} {%1}; |
|
||||
}; |
|
||||
#ELSE |
|
||||
{ |
|
||||
#map find {} {} {} {%1} |
|
||||
}; |
|
||||
#if {$portalsused} |
|
||||
{ |
|
||||
#var portalsused 0; |
|
||||
lvlclearportals |
|
||||
}; |
|
||||
#path run; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
|
|
||||
#ALIAS {vfind} |
|
||||
{ |
|
||||
#IF "%0"=="" |
|
||||
{ |
|
||||
#show <169>Syntax:<099> vf <vnum> |
|
||||
}; |
|
||||
#else |
|
||||
{ |
|
||||
#unvar path; |
|
||||
#if {"$GMCP[ROOM][INFO][num]"=="%1"} {#show <169>Already at <099>%1.}; |
|
||||
#else |
|
||||
{ |
|
||||
#show <169>Vnum Find:<099> %1; |
|
||||
#var checkportal {}; |
|
||||
#map get roomnote checkportal; |
|
||||
#if {"$checkportal"!="noportal"} |
|
||||
{ |
|
||||
#var portalsused 1; |
|
||||
lvladdportals; |
|
||||
#map find {%1} |
|
||||
}; |
|
||||
#else |
|
||||
{ |
|
||||
#map find {%1} |
|
||||
}; |
|
||||
#if {$portalsused} |
|
||||
{ |
|
||||
#var portalsused 0; |
|
||||
lvlclearportals |
|
||||
}; |
|
||||
#path run; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
|
|
||||
#ALIAS {rfind} |
|
||||
{ |
|
||||
#IF "%0"=="" |
|
||||
{ |
|
||||
#show <169>Syntax:<099> rf <roomname> |
|
||||
}; |
|
||||
#else |
|
||||
{ |
|
||||
#show <169>Room Find:<099> %0; |
|
||||
#var checkportal {}; |
|
||||
#map get roomnote checkportal; |
|
||||
#if {"$checkportal"!="noportal"} |
|
||||
{ |
|
||||
#var portalsused 1; |
|
||||
lvladdportals; |
|
||||
#map find {%0} |
|
||||
}; |
|
||||
#else |
|
||||
{ |
|
||||
#map find {%0} |
|
||||
}; |
|
||||
#if {$portalsused} |
|
||||
{ |
|
||||
#var portalsused 0; |
|
||||
lvlclearportals; |
|
||||
}; |
|
||||
#path run; |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
|
|
||||
|
|
||||
#NOP ########################################################################### |
|
||||
#NOP ### Mfind alias, will only find the path and show it to you, not run it |
|
||||
#NOP ########################################################################### |
|
||||
|
|
||||
#ALIAS mfind |
|
||||
{ |
|
||||
lvladdportals; |
|
||||
#map find %0; |
|
||||
#path show; |
|
||||
lvlclearportals |
|
||||
} |
|
||||
|
|
||||
|
|
||||
#NOP ########################################################################### |
|
||||
#NOP ### Hfind alias |
|
||||
#NOP ### This let's you use a very loose string to find a path to the closest |
|
||||
#NOP ### matching room in the current area. |
|
||||
#NOP ########################################################################### |
|
||||
|
|
||||
#ALIAS hfind {#map find {%i%*%0%*} {} {} {$GMCP[ROOM][INFO][zone]};#path run} |
|
||||
|
|
||||
|
|
||||
|
|
||||
#NOP ########################################################################### |
|
||||
#NOP ### Advanced runto alias "go" |
|
||||
#NOP ########################################################################### |
|
||||
|
|
||||
#ALIAS {go} |
|
||||
{ |
|
||||
#if {$GMCP[ROOM][INFO][num]==32418} |
|
||||
{ |
|
||||
#if "%0"=="" |
|
||||
{ |
|
||||
#show Already at Recall |
|
||||
}; |
|
||||
#else |
|
||||
{ |
|
||||
rt %0 |
|
||||
} |
|
||||
}; |
|
||||
#elseif {$GMCP[ROOM][INFO][num]==26151} |
|
||||
{ |
|
||||
#if "%0"=="" |
|
||||
{ |
|
||||
d |
|
||||
}; |
|
||||
#else |
|
||||
{ |
|
||||
d; |
|
||||
rt %0 |
|
||||
} |
|
||||
}; |
|
||||
#elseif {$GMCP[ROOM][INFO][num]==26152} |
|
||||
{ |
|
||||
#if "%0"=="" |
|
||||
{ |
|
||||
#send {enter elevator}; |
|
||||
d |
|
||||
}; |
|
||||
#else |
|
||||
{ |
|
||||
#send {enter elevator}; |
|
||||
d; |
|
||||
rt %0 |
|
||||
} |
|
||||
}; |
|
||||
#elseif {"$GMCP[ROOM][INFO][zone]"=="aylor"} |
|
||||
{ |
|
||||
#if "%0"=="" |
|
||||
{ |
|
||||
rt recall |
|
||||
}; |
|
||||
#else |
|
||||
{ |
|
||||
rt recall; |
|
||||
rt %0 |
|
||||
} |
|
||||
|
|
||||
}; |
|
||||
#else |
|
||||
{ |
|
||||
#if "%0"=="" |
|
||||
{ |
|
||||
vf 32418 |
|
||||
}; |
|
||||
#else |
|
||||
{ |
|
||||
vf 32418; |
|
||||
rt %0 |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
|
|
||||
#NOP ########################################################################### |
|
||||
#NOP ### Abbreviated aliases for afind, hfind, mfind, rfind, vfind |
|
||||
#NOP ########################################################################### |
|
||||
|
|
||||
#ALIAS af {afind} |
|
||||
#ALIAS hf {hfind} |
|
||||
#ALIAS mf {mfind} |
|
||||
#ALIAS rf {rfind} |
|
||||
#ALIAS vf {vfind} |
|
||||
|
|
||||
#class paths close |
|
@ -1,109 +0,0 @@ |
|||||
#CLASS pathwalk kill |
|
||||
#CLASS pathwalk open |
|
||||
|
|
||||
#NOP Class Name: pathwalk |
|
||||
#NOP File Name: pathwalk.tin |
|
||||
#NOP Description: |
|
||||
#NOP This simple script will utilize a variable (pos_number) set from GMCP to check if you are fighting before |
|
||||
#NOP walking the next node of a path. If the 'pos_number' variable is '8', it will create a ticker to determine |
|
||||
#NOP when you are no longer in a fight and resume walking the path. It also allows you to send commands while |
|
||||
#NOP walking a path as opposed to #PATH RUN. |
|
||||
#NOP Usage: |
|
||||
#NOP 1. Store a path somehow (#path load <blah>, #map find <blah>) |
|
||||
#NOP 2. Type 'rp' |
|
||||
#NOP 3. Settings should clear on end of path, use 'rpof' if all else fails. |
|
||||
#NOP |
|
||||
#NOP Setting 'pos_number' variable from GMCP: |
|
||||
#NOP I would highly recommend using more complete gmcp data capturing script(s) |
|
||||
#NOP such as these: |
|
||||
#NOP |
|
||||
#NOP http://code.google.com/p/aardwolf-tintin/source/browse/gmcp.tin |
|
||||
#NOP http://code.google.com/p/aardwolf-tintin/zzGMCP_to_stat.tin |
|
||||
#NOP |
|
||||
#NOP Otherwise, you will need to do something like this: |
|
||||
#NOP |
|
||||
#NOP #EVENT {IAC SB GMCP char.status IAC SE} |
|
||||
#NOP { |
|
||||
#NOP #variable GMCP[CHAR][STATUS] {%0}; |
|
||||
#NOP #variable pos_number {$GMCP[CHAR][STATUS][state]} |
|
||||
#NOP } |
|
||||
#NOP |
|
||||
#NOP Known Bugs |
|
||||
#NOP Problem with pathwalking after using some portal objects during the speedwalk. |
|
||||
|
|
||||
|
|
||||
|
|
||||
#NOP This will be the main alias for initiating a path run(walk) |
|
||||
#ALIAS rp |
|
||||
{ |
|
||||
#NOP Setting 'mapping' variable to 0 is required if using a gmcp mapper script to prevent double MAP EXIT ROOM events ; |
|
||||
#VARIABLE {mapping} {0}; |
|
||||
#EVENT {MAP EXIT ROOM} |
|
||||
{ |
|
||||
#NOP Check to see if we're fighting ; |
|
||||
#IF {$pos_number == 8} |
|
||||
{ |
|
||||
#NOP If fighting, create a ticker to watch for not fighting state, and display a message. ; |
|
||||
#SHOW <179>[<119>Speedwalk<179>]<119>Fighting - creating ticker.<099>; |
|
||||
#TICKER {path_wait} |
|
||||
{ |
|
||||
#NOP This is important: You MUST have something that sets this variable from gmcp. ; |
|
||||
#IF {$pos_number != 8} |
|
||||
{ |
|
||||
#NOP When we're done fighting, remove the ticker and get back to the path. ; |
|
||||
#UNTICKER {path_wait}; |
|
||||
#PATH walk |
|
||||
}; |
|
||||
#ELSE |
|
||||
{ |
|
||||
#NOP Let's display something while in a fight just for confirmation. ; |
|
||||
#SHOW <179>[<119>Speedwalk<179>]<129>waiting... |
|
||||
} |
|
||||
} {.5} |
|
||||
}; |
|
||||
#ELSE |
|
||||
{ |
|
||||
#NOP If we're not fighting, just send the next path node and display something nice. ; |
|
||||
#SHOW <179>[<119>Speedwalk<179>]<099>; |
|
||||
#PATH walk |
|
||||
} |
|
||||
}; |
|
||||
#NOP This will handle cleaning everything up on normal termination of a path. ; |
|
||||
#event {END OF PATH} |
|
||||
{ |
|
||||
#SHOW <179>[<119>Speedwalk<179>]<129>Done.<099>; |
|
||||
#VARIABLE mapping 1; |
|
||||
#UNEVENT {MAP EXIT ROOM}; |
|
||||
#UNEVENT {END OF PATH}; |
|
||||
}; |
|
||||
#NOP Oops, something must be wrong, let's get out of the path and clean up. ; |
|
||||
#ACTION {^Alas, you cannot go that way.} |
|
||||
{ |
|
||||
#VARIABLE mapping 1; |
|
||||
#UNEVENT {MAP EXIT ROOM}; |
|
||||
#UNEVENT {END OF PATH}; |
|
||||
#UNACTION {^Alas, you cannot go that way.} |
|
||||
|
|
||||
}; |
|
||||
#NOP Hrm, somehow the MAP EXIT ROOM event is still on but we have no nodes left in the path. ; |
|
||||
#ACTION {#END OF PATH} |
|
||||
{ |
|
||||
#NOP As before, setting the 'mapping' variable is only necessary if you use a gmcp mapping script that manually moves you in the tintin map. ; |
|
||||
#VARIABLE mapping 1; |
|
||||
#UNEVENT {MAP EXIT ROOM}; |
|
||||
#UNEVENT {END OF PATH}; |
|
||||
#UNACTION {#END OF PATH} |
|
||||
}; |
|
||||
#NOP Let's make the rp alias start the path too. ; |
|
||||
#PATH walk |
|
||||
|
|
||||
} |
|
||||
|
|
||||
#NOP If for some reason you need to clear the speedwalk, use this |
|
||||
#ALIAS {rpof} |
|
||||
{ |
|
||||
#PATH load {#nop}; |
|
||||
#PATH walk |
|
||||
} |
|
||||
|
|
||||
#CLASS pathwalk close |
|
@ -1,7 +0,0 @@ |
|||||
#!/bin/bash |
|
||||
tmux kill-session -t aardwolf |
|
||||
tmux new-session -d -s aardwolf -x 137 -y 31 'tail -fs .1 Aardwolf-chats' |
|
||||
tmux splitw -v -l 21 'tt++ -G setup.tin;bash -i' |
|
||||
tmux splitw -h -l 30 'tail -fs .1 minimap' |
|
||||
tmux selectp -t 1 |
|
||||
tmux attach -t aardwolf |
|
@ -1,89 +0,0 @@ |
|||||
#class quest kill |
|
||||
#class quest open |
|
||||
|
|
||||
|
|
||||
#NOP ############################ |
|
||||
#NOP ### GMCP Quest Handler |
|
||||
#NOP ############################ |
|
||||
|
|
||||
#EVENT {IAC SB GMCP comm.quest IAC SE} |
|
||||
{ |
|
||||
#var {GMCP[COMM][QUEST]} {%0}; |
|
||||
#if {"$GMCP[COMM][QUEST][action]" == "start"} |
|
||||
{ |
|
||||
$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.; |
|
||||
#var quest_timer {<fca>ACTIVE<099>}; |
|
||||
#format {quest[start]} {%T}; |
|
||||
}; |
|
||||
#elseif {"$GMCP[COMM][QUEST][action]" == "fail"} |
|
||||
{ |
|
||||
$repchan @W\{-=@RQuest Failed@W=-\}@w; |
|
||||
#var quest {}; |
|
||||
#var temp {}; |
|
||||
#var $GMCP[COMM][QUEST] {}; |
|
||||
#var action {}; |
|
||||
}; |
|
||||
#elseif {"$GMCP[COMM][QUEST][action]" == "comp"} |
|
||||
{ |
|
||||
#format {quest[end]} {%T}; |
|
||||
#math {quest[time]} {$quest[end] - $quest[start]}; |
|
||||
#var quest_timer 30; |
|
||||
#tic quest_timer |
|
||||
{ |
|
||||
#math quest_timer {$quest_timer - 1}; |
|
||||
#if $quest_timer==0 {#untic quest_timer;#var quest_timer <cfa>READY<099>}; |
|
||||
} {60} ; |
|
||||
#if {$GMCP[COMM][QUEST][pracs] != 0} |
|
||||
{ |
|
||||
#if {"$quest[bonus]" != ""} |
|
||||
{ |
|
||||
#var quest[bonus] {$quest[bonus]@w, @R$GMCP[COMM][QUEST][pracs] prac}; |
|
||||
} |
|
||||
{ |
|
||||
#var {quest[bonus]} { @Y[@WBonus: @R$GMCP[COMM][QUEST][pracs] prac}; |
|
||||
}; |
|
||||
#var quest[bonus] {$quest[bonus]@Y]@w}; |
|
||||
}; |
|
||||
#if {$GMCP[COMM][QUEST][trains] != 0} |
|
||||
{ |
|
||||
#if {"$quest[bonus]" != ""} |
|
||||
{ |
|
||||
#var quest[bonus] {$quest[bonus]@w, @R$GMCP[COMM][QUEST][trains] train}; |
|
||||
} |
|
||||
{ |
|
||||
#var {quest[bonus]} { @Y[@WBonus: @R$GMCP[COMM][QUEST][trains] train}; |
|
||||
}; |
|
||||
#var quest[bonus] {$quest[bonus]@Y]@w}; |
|
||||
}; |
|
||||
#if {$GMCP[COMM][QUEST][tp] != 0} |
|
||||
{ |
|
||||
#if {"$quest[bonus]" != ""} |
|
||||
{ |
|
||||
#var quest[bonus] {$quest[bonus]@w, @R$GMCP[COMM][QUEST][tp] tp}; |
|
||||
} |
|
||||
{ |
|
||||
#var {quest[bonus]} { @Y[@WBonus: @R$GMCP[COMM][QUEST][tp] tp}; |
|
||||
}; |
|
||||
#var quest[bonus] {$quest[bonus]@Y]@w}; |
|
||||
}; |
|
||||
$repchan @R[@YQuest Completed@R] @Y[@WQp: @R$GMCP[COMM][QUEST][totqp]@Y] $quest[time] secs $quest[bonus]@w; |
|
||||
#var quest {}; |
|
||||
#var temp {}; |
|
||||
#var GMCP[COMM][QUEST] {}; |
|
||||
#var action {}; |
|
||||
}; |
|
||||
#elseif {"$GMCP[COMM][QUEST][action]" == "ready"} |
|
||||
{ |
|
||||
$repchan @W\{-=@RQuest Time@W=-\}@w; |
|
||||
#var quest_timer {<129>READY<099>}; |
|
||||
#bell; |
|
||||
}; |
|
||||
#if {$debug} |
|
||||
{ |
|
||||
#showme %1 |
|
||||
}; |
|
||||
#nop; |
|
||||
} |
|
||||
|
|
||||
|
|
||||
#class quest close |
|
@ -1,26 +0,0 @@ |
|||||
#VARIABLE {name} {}; # Character name |
|
||||
#VARIABLE {password} {}; # Character password |
|
||||
#VARIABLE {dir} {.}; # Directory of setings, without '/' or '~' (Ex. /home/user/aardwolf, not ~/aardwolf ) |
|
||||
|
|
||||
#READ {$dir/gmcp.tin}; |
|
||||
|
|
||||
#SESSION {aard} {aardmud.org} {4000}; |
|
||||
|
|
||||
#READ {$dir/variables.tin} |
|
||||
#READ {$dir/spellup.tin} |
|
||||
#READ {$dir/zzGMCP_to_stat.tin} |
|
||||
#READ {$dir/general.tin} |
|
||||
#READ {$dir/map.tin} |
|
||||
#READ {$dir/ticking.tin} |
|
||||
#READ {$dir/quest.tin} |
|
||||
|
|
||||
#MAP READ {map-all.tt} # Once you have a map file, you will read it in here |
|
||||
|
|
||||
#LOG APPEND {$dir/active_log.raw} |
|
||||
|
|
||||
#VARIABLE {mapping} {1} |
|
||||
#VARIABLE {showmap} {0} |
|
||||
#VARIABLE {autoscan} {0} |
|
||||
#VARIABLE {repoptrack} {1} |
|
||||
|
|
||||
#SPLIT 0 4 |
|
@ -1,170 +0,0 @@ |
|||||
#class spellup kill; |
|
||||
#class spellup open; |
|
||||
|
|
||||
#ALIAS {^spup{| spup}} |
|
||||
{ |
|
||||
#send {spellup learned} |
|
||||
} |
|
||||
{5} |
|
||||
|
|
||||
#ACTION {^%d,%2,%d,%d,%d,%6,%d$} |
|
||||
{ |
|
||||
#if {%3 == 2 || %3 == 3} |
|
||||
{ |
|
||||
#if {"%6" == "-1"} |
|
||||
{ |
|
||||
#if {%7 == 1} |
|
||||
{ |
|
||||
#if {$slisting} |
|
||||
{ |
|
||||
#variable {spellup[learned][%1]} {1} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
#line gag |
|
||||
} |
|
||||
{5} |
|
||||
|
|
||||
#ACTION {^\{/noteedit\}$} |
|
||||
{ |
|
||||
#if {$spellup[state][was_casting]} |
|
||||
{ |
|
||||
#read $dir/setup.tin; |
|
||||
#variable {spellup[state][was_casting]} {0}; |
|
||||
spellup resume |
|
||||
}; |
|
||||
#else |
|
||||
{ |
|
||||
#read $dir/setup.tin; |
|
||||
#variable {spellup[state][was_casting]} {0} |
|
||||
}; |
|
||||
} |
|
||||
{5} |
|
||||
|
|
||||
#ACTION {^\{/spellheaders}$} |
|
||||
{ |
|
||||
#variable slisting 1; |
|
||||
#line gag |
|
||||
} |
|
||||
{5} |
|
||||
|
|
||||
#ACTION {^\{affoff}%d$} |
|
||||
{ |
|
||||
#if {$spellup[state][cast]} |
|
||||
{ |
|
||||
#if {$spellup[learned][%1]} |
|
||||
{ |
|
||||
#if {!$spellup[bad][%1]} |
|
||||
{ |
|
||||
#if {"$position" == "Standing"} |
|
||||
{ |
|
||||
#send {cast %1} |
|
||||
}; |
|
||||
#else |
|
||||
{ |
|
||||
#if {!$spellup[bad][%1]} |
|
||||
{ |
|
||||
#variable {spellup[pending][%1]} {1} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
#variable spellup[pending][%1][1]; |
|
||||
#line gag |
|
||||
} |
|
||||
{5} |
|
||||
|
|
||||
#ACTION {^\{affon\}%d,%d$} |
|
||||
{ |
|
||||
#unvariable spellup[pending][%1]; |
|
||||
#line gag |
|
||||
} |
|
||||
{5} |
|
||||
|
|
||||
#ACTION {^\{noteedit\}$} |
|
||||
{ |
|
||||
#if {$spellup[state][cast]} |
|
||||
{ |
|
||||
#variable {spellup[state][was_casting]} {1}; |
|
||||
spup pause |
|
||||
}; |
|
||||
#else |
|
||||
{ |
|
||||
#variable {spellup[state][was_casting]} {0} |
|
||||
}; |
|
||||
write; |
|
||||
#killall tick |
|
||||
} |
|
||||
{5} |
|
||||
|
|
||||
#ACTION {^\{sfail\}%d,%d,%d,%4$} |
|
||||
{ |
|
||||
#if {$spellup[state][cast]} |
|
||||
{ |
|
||||
#if {$spellup[learned][%1]} |
|
||||
{ |
|
||||
#if {%2 == 0} |
|
||||
{ |
|
||||
#if {%3 == 1} |
|
||||
{ |
|
||||
#if {!$spellup[bad][%1]} |
|
||||
{ |
|
||||
#if {"$position" == "Standing"} |
|
||||
{ |
|
||||
#line gag |
|
||||
#send {cast %1} |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
#elseif {%3 == 4} |
|
||||
{ |
|
||||
#line gag; |
|
||||
#show Not enough mana. Put spell in spellup[pending]; |
|
||||
#variable spellup[pending][%1] 1 |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
{5} |
|
||||
|
|
||||
#ACTION {^\{spellheaders spellup learned\}$} |
|
||||
{ |
|
||||
#variable slisting 1; |
|
||||
#variable {spellup[learned]} {}; |
|
||||
#line gag |
|
||||
} |
|
||||
{5} |
|
||||
|
|
||||
#ALIAS {^badspell %1} |
|
||||
{ |
|
||||
#if {$spellup[bad][%1]} |
|
||||
{ |
|
||||
#variable spellup[bad][%1] 0 |
|
||||
}; |
|
||||
#else |
|
||||
{ |
|
||||
#variable spellup[bad][%1] 1 |
|
||||
} |
|
||||
} |
|
||||
{5} |
|
||||
|
|
||||
#ALIAS {^spup pause$} |
|
||||
{ |
|
||||
#variable {spellup[state][cast]} {0} |
|
||||
} |
|
||||
{5} |
|
||||
|
|
||||
#ALIAS {^spup resume$} |
|
||||
{ |
|
||||
#variable {spellup[state][cast]} {1}; |
|
||||
#foreach {$spellup[pending][]} {spell_pending} |
|
||||
{ |
|
||||
#send {cast $spell_pending} |
|
||||
} |
|
||||
} |
|
||||
{5} |
|
||||
|
|
||||
#class spellup close; |
|
@ -1,41 +0,0 @@ |
|||||
#CLASS ticking kill |
|
||||
#CLASS ticking open |
|
||||
|
|
||||
#event {IAC SB GMCP comm.tick IAC SE} |
|
||||
{ |
|
||||
#var ticks 30; |
|
||||
#tic TICKING |
|
||||
{ |
|
||||
#math thirst {$GMCP[CHAR][STATUS][thirst] / 10 }; |
|
||||
#math hunger {$GMCP[CHAR][STATUS][hunger] / 10 }; |
|
||||
#if {$ticks > 0} |
|
||||
{ |
|
||||
#math ticks {$ticks - 1} |
|
||||
}; |
|
||||
#if {$ticks < 10} |
|
||||
{ |
|
||||
#show {Tick:<139> $ticks <099>QUEST: <139>$quest_timer<099> Exp:<139> $GMCP[CHAR][STATUS][tnl] \t <099>T/H:[ $thirst / $hunger] Align:$align} 3 |
|
||||
} |
|
||||
|
|
||||
{ |
|
||||
#show {Tick:<139> $ticks <099>QUEST: <139>$quest_timer<099> Exp:<139> $GMCP[CHAR][STATUS][tnl] \t <099>T/H:[ $thirst / $hunger ] Align:$align} 3 |
|
||||
} |
|
||||
} {1} |
|
||||
} |
|
||||
|
|
||||
#ACTION {^There are %d minutes remaining until you can go on another quest.$} |
|
||||
{ |
|
||||
#IF {"%1"!="$quest_timer"} |
|
||||
{ |
|
||||
#var quest_timer %1; |
|
||||
#untic quest_timer; |
|
||||
#tic quest_timer |
|
||||
{ |
|
||||
#math quest_timer {$quest_timer - 1}; |
|
||||
#if $quest_timer==0 {#untic quest_timer;#var quest_timer <129>READY<099>}; |
|
||||
} {60} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
#CLASS ticking close |
|
||||
|
|
@ -1,19 +0,0 @@ |
|||||
#!/bin/bash |
|
||||
# This is a Tmux script that handles starting up tintin with all of the Aardwolf settings. |
|
||||
# You will need to change the -x <column> and -y <row> size |
|
||||
# Also change '/home/adam/tt/aard' to whatever directory you use for the settings. |
|
||||
# Requires Tmux 1.5 - See http://theixle.dyndns.org for a download link. |
|
||||
|
|
||||
tmux kill-session -t aardwolf |
|
||||
tmux new-session -d -s aardwolf -x 189 -y 47 |
|
||||
tmux splitw -h -l 159 'tail -fs .1 /home/adam/tt/aard/Aardwolf-chats' |
|
||||
tmux splitw -v -l 37 'tt++ -G /home/adam/tt/aard/setup.tin;bash -i' |
|
||||
tmux splitw -h -l 68 'tail -fs .1 /home/adam/tt/aard/chars' |
|
||||
tmux selectp -t 0 |
|
||||
tmux splitw -v -l 22 'tail -fs .1 /home/adam/tt/aard/minimap' |
|
||||
tmux selectp -t 0 |
|
||||
tmux splitw -v -l 14 'tail -fs .1 /home/adam/tt/aard/group' |
|
||||
tmux selectp -t 5 |
|
||||
tmux splitw -v -l 20 'tail -fs .1 /home/adam/tt/aard/quest' |
|
||||
tmux selectp -t 4 |
|
||||
tmux attach-session -t aardwolf |
|
@ -1,27 +0,0 @@ |
|||||
Development ToDo List |
|
||||
|
|
||||
Improve the installation and setup phase. |
|
||||
- installation script |
|
||||
- optional install of tintin/tmux |
|
||||
- basic map with some newbie areas mapped |
|
||||
|
|
||||
Provide some in-game (in-client) commands for help/docs and control. |
|
||||
- map control |
|
||||
- map custom exits, portals, speedwalking (paths.tin) |
|
||||
- channel gagging |
|
||||
|
|
||||
Add more commenting to the settings. |
|
||||
Clean up the formatting. |
|
||||
|
|
||||
Separate the "core" components from the "plug-ins" |
|
||||
- .tin vs .tt and/or directories |
|
||||
|
|
||||
Remove redundancy, fix bugs, add functionality to settings. |
|
||||
|
|
||||
Change reports from masaki theme to neutral |
|
||||
|
|
||||
Update mapping in gmcp.tin to set room_terrain from GMCP values |
|
||||
- eventually expand this to color rooms based on terrain |
|
||||
|
|
||||
Add revised lvladd aliases and fix afind,vfind,rfind,mfind,hfind |
|
||||
|
|
@ -1,59 +0,0 @@ |
|||||
#CLASS {variables} OPEN |
|
||||
|
|
||||
#VARIABLE {action} {} |
|
||||
#VARIABLE {align} {-270} |
|
||||
#VARIABLE {base_con} {14} |
|
||||
#VARIABLE {base_dex} {12} |
|
||||
#VARIABLE {base_int} {11} |
|
||||
#VARIABLE {base_luck} {30} |
|
||||
#VARIABLE {base_str} {30} |
|
||||
#VARIABLE {base_wis} {30} |
|
||||
#VARIABLE {campaign} {0} |
|
||||
#VARIABLE {chanrec} {auction} |
|
||||
#VARIABLE {CLIENT_NAME} {Aardwolf-Tintin} |
|
||||
#VARIABLE {CLIENT_VERSION} {1.01} |
|
||||
#VARIABLE {con} {17} |
|
||||
#VARIABLE {curr_time} {1318772334} |
|
||||
#VARIABLE {current_level} {1} |
|
||||
#VARIABLE {dex} {17} |
|
||||
#VARIABLE {dr} {187} |
|
||||
#VARIABLE {enemy_hp} {} |
|
||||
#VARIABLE {exit} {w} |
|
||||
#VARIABLE {fighting} {n} |
|
||||
#VARIABLE {floater} {rattle} |
|
||||
#VARIABLE {getmap} {0} |
|
||||
#VARIABLE {gold} {4686553} |
|
||||
#VARIABLE {healpot} {jade} |
|
||||
#VARIABLE {hp} {240} |
|
||||
#VARIABLE {hp_percent} {100.00} |
|
||||
#VARIABLE {hr} {55} |
|
||||
#VARIABLE {int} {14} |
|
||||
#VARIABLE {luck} {60} |
|
||||
#VARIABLE {mana} {200} |
|
||||
#VARIABLE {mana_percent} {100.00} |
|
||||
#VARIABLE {mapping} {1} |
|
||||
#VARIABLE {maxhp} {240} |
|
||||
#VARIABLE {maxmana} {} |
|
||||
#VARIABLE {maxmoves} {700} |
|
||||
#VARIABLE {mob_fighting} {} |
|
||||
#VARIABLE {movecolor} {<188><838>} |
|
||||
#VARIABLE {moves} {700} |
|
||||
#VARIABLE {moves_percent} {100.00} |
|
||||
#VARIABLE {player} {} |
|
||||
#VARIABLE {portalbag} {satchel} |
|
||||
#VARIABLE {pos_number} {3} |
|
||||
#VARIABLE {position} {Standing} |
|
||||
#VARIABLE {potbag} {xbag} |
|
||||
#VARIABLE {prompt} {<120>100.00 HP <150>| <140>100.00 MANA <150>| <188><838>100.00 MV<099>} |
|
||||
#VARIABLE {qp} {2315} |
|
||||
#VARIABLE {quest} {} |
|
||||
#VARIABLE {repchan} {gt} |
|
||||
#VARIABLE {str} {41} |
|
||||
#VARIABLE {temp} {} |
|
||||
#VARIABLE {time} {} |
|
||||
#VARIABLE {tnl} {3000} |
|
||||
#VARIABLE {tp} {9} |
|
||||
#VARIABLE {wis} {41} |
|
||||
#VARIABLE {word} {get aardwolf from satchel;wear aardwolf;enter;wear rattle;put aardwolf in satchel} |
|
||||
|
|
||||
#CLASS {variables} CLOSE |
|
@ -1,59 +0,0 @@ |
|||||
#ALIAS {||gmcp_prompt_statmon} |
|
||||
{ |
|
||||
#variable tier {$GMCP[CHAR][BASE][tier]}; |
|
||||
#math {tier_level} {$tier*10 + $current_level}; |
|
||||
#variable str {$GMCP[CHAR][STATS][str]}; |
|
||||
#variable base_str {$GMCP[CHAR][MAXSTATS][maxstr]}; |
|
||||
#variable int {$GMCP[CHAR][STATS][int]}; |
|
||||
#variable base_int {$GMCP[CHAR][MAXSTATS][maxint]}; |
|
||||
#variable wis {$GMCP[CHAR][STATS][wis]}; |
|
||||
#variable base_wis {$GMCP[CHAR][MAXSTATS][maxwis]}; |
|
||||
#variable dex {$GMCP[CHAR][STATS][dex]}; |
|
||||
#variable base_dex {$GMCP[CHAR][MAXSTATS][maxdex]}; |
|
||||
#variable con {$GMCP[CHAR][STATS][con]}; |
|
||||
#variable base_con {$GMCP[CHAR][MAXSTATS][maxcon]}; |
|
||||
#variable luck {$GMCP[CHAR][STATS][luck]}; |
|
||||
#variable base_luck {$GMCP[CHAR][MAXSTATS][maxluck]}; |
|
||||
#math hp_percent {((1.00*$GMCP[CHAR][VITALS][hp]) / $GMCP[CHAR][MAXSTATS][maxhp])*100}; |
|
||||
#math mana_percent {((1.00*$GMCP[CHAR][VITALS][mana])/$GMCP[CHAR][MAXSTATS][maxmana])*100}; |
|
||||
#math moves_percent {((1.00*$GMCP[CHAR][VITALS][moves])/$GMCP[CHAR][MAXSTATS][maxmoves])*100}; |
|
||||
#variable hr {$GMCP[CHAR][STATS][hr]}; |
|
||||
#variable dr {$GMCP[CHAR][STATS][dr]}; |
|
||||
#variable position {$GMCP[CHAR][STATUS][pos]}; |
|
||||
#variable hp {$GMCP[CHAR][VITALS][hp]}; |
|
||||
#variable maxhp {$GMCP[CHAR][MAXSTATS][maxhp]}; |
|
||||
#variable mana {$GMCP[CHAR][VITALS][mana]}; |
|
||||
#variable maxmana {$GMCP[CHAR][MAxSTATS][maxmana]}; |
|
||||
#variable moves {$GMCP[CHAR][VITALS][moves]}; |
|
||||
#variable maxmoves {$GMCP[CHAR][MAXSTATS][maxmoves]}; |
|
||||
#variable gold {$GMCP[CHAR][WORTH][gold]}; |
|
||||
#variable qp {$GMCP[CHAR][WORTH][qp]}; |
|
||||
#variable tp {$GMCP[CHAR][WORTH][tp]}; |
|
||||
#variable align {$GMCP[CHAR][STATUS][align]}; |
|
||||
#variable tnl {$GMCP[CHAR][STATUS][tnl]}; |
|
||||
#variable current_level {$GMCP[CHAR][STATUS][level]}; |
|
||||
#variable pos_number {$GMCP[CHAR][STATUS][state]}; |
|
||||
#variable mob_fighting {$GMCP[CHAR][STATUS][enemy]}; |
|
||||
#variable enemy_hp {$GMCP[CHAR][STATUS][enemypct]}; |
|
||||
#variable hunger {$GMCP[CHAR][STATUS][hunger]}; |
|
||||
#variable thirst {$GMCP[CHAR][STATUS][thirst]}; |
|
||||
#format {movecolor} {%c} {light yellow}; |
|
||||
#if {$hp_percent == 0.00} |
|
||||
{ |
|
||||
protocol gmcp sendchar |
|
||||
}; |
|
||||
#variable {prompt} {<120>$hp_percent HP <150>| <140>$mana_percent MANA <150>| $movecolor$moves_percent MV}; |
|
||||
#if {$pos_number == 8} |
|
||||
{ |
|
||||
#variable fighting y; |
|
||||
#variable {prompt} {$prompt <150>| <110>Enemy $enemy_hp} |
|
||||
}; |
|
||||
#else |
|
||||
{ |
|
||||
#variable fighting n |
|
||||
}; |
|
||||
#variable {prompt} {$prompt<099>}; |
|
||||
#showme {$prompt} {2} |
|
||||
} |
|
||||
{5} |
|
||||
|
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue