;*********************** Super spiffy windowed comm ******************************** /eval /set lines=$[tfopen("../Comm", "a")] /eval /set windowmsg=<$[ftime("%Y:%m:%d::%I:%M:%S", time())]> /eval /let retval=$[tfwrite(lines, encode_ansi(windowmsg))] /eval /set lastline=%{lines} /def -F -p10 -t'^[^ ]' setline = /set lastline=0 /def -F -p10 -t'^[ ]*$' blankline = /if (!lastline) /echo %;/endif /eval /set commwindowsopen=%{commwindowsopen-0} ; open communication lines in another window ;/if (!commwindowsopen) ; /sh xterm -bg black -fg white -T Comm -e tail -f Comm &%;;/endif /def timestamp = /eval /set ts $[ftime("%Y%m%d::%H:%M:%S", time())]> ; stop shouts from interfering with other triggers /def -p1 -t'^[A-Za-z0-9]+ shouts:.*$$' shoutblock = /return%; /def chatline = /def -p1 -F -t"%{-1}" chatline_%{1} = /timestamp %%; /eval /set windowmsg=%%{ts}$$[escape("\$\%\;",{P0})] %%; /eval /let retval=$$[tfwrite(lines, encode_ansi(windowmsg))] %%; /eval /set lastline=%%{lines}%; ; This pre-empts the chatline trigger to ignore routine spam. /def unchatline = /def -p2 -t"%{-1}" unchatline_%{1} ; This takes care of multi-line messages (makes them go to the right place if you use ; multiple capture windows) /def -p2 -F -t'^ +.*$$' longline = /if (lastline) /timestamp%; /eval /set windowmsg=%{ts}$[escape('$%;',{P0})]%; /eval /let retval=$[tfwrite(lastline, encode_ansi(windowmsg))]%; /endif ; ************ Personal communication lines ****************** /chatline tell ^(?:A ghostly form of )?[A-Za-z0-9@]+ tells?( you)? ?\(?([A-Za-z0-9,@]+)?\)? ?: ..+$$ /chatline linktell ^[A-Za-z0-9@]+ LTs? \(.*\)$$ /chatline party ^(\[PARTY\])( [^:]+:? .+)$$ /unchatline party_divvy ^\[PARTY\] All gold divvied, total: /chatline emotes ^From afar, .*$$ /chatline whisper ^[A-Za-z0-9]+ whispers? to [A-Za-z]+: .*$$ /chatline spouse ^--<@ [A-Za-z]+ @>-- .*$$ /chatline alpha ^[A-Z][a-z0-9]+ \\:.*$$ /chatline say ^[A-Za-z0-9]+ says?: .*$$ /unchatline dogcollar ^\w+ says?: WOOF! ; ************ Mob/Area Event Logging ******************************** /chatline cae ^Ganderei drinks a potion and his body contorts in pain!$$ /chatline prysmatia ^Prysmyia\'s [a-z]+ casing cracks, then shatters apart!$$ /chatline arachnus ^A blinding crimson flash comes from the body of the spider god!$$ /chatline crysmal ^In a mighty shattering, The \w+ casing cracks apart from Crysmal! /chatline westersea ^The mission '.+$$ ; ****************** Mystic Eyes ********************* /chatline eyekiller ^[A-Za-z]+ dealt the killing blow to Mystic Eyes\.$ /chatline eye appears out of nowhere\.$ ; ************* GUILD (necro) ************ /chatline nec_weres ^[A-Z][a-z]+ \[Were[a-z]+\(\d+\)\]\: .+ /chatline nec_emote ^\[\d+-\w+\]\: .+ /chatline nec_line ^[A-Z][a-z]+ \[\d+-\w\]: .+ /chatline nec_death ^\[\-=(DEATH|GUILD)=\-\]\: .+ /chatline nec_alarm ^.+ tripped the alarm placed at\.\.\.$ ; ************* GUILD (jedis) ************ /chatline jedi_telepathy ^[A-Z][a-z]+ thinks \. o O \(.*$ /chatline auction_bid ^\[Auction\] [A-Z][a-z]+ : Up for bids: .*$ ; ************* GUILD (bard) ************ /chatline bard ^[A-Z][a-z]+ \[[0-9]+\]:.*$$ /chatline hibard ^[A-Z][a-z]+ \[(HighBard|Gallant)\]:.*$$ /chatline bard50 ^[A-Z][a-z]+ \[Fifty\]:.*$$ ; ***************** PRIEST ******************************** /chatline priest ^[A-Z@a-z ]+ \(Priest [A-Za-z0-9]+\):.*$$ /chatline priest_emote ^\(Priest \d+\) [A-Z\.@a-z ]+:.*$$ /chatline priest_bitch ^[A-Z\.@a-z ]+ \(Bitch\):.*$$ /chatline priest_announce ^\(Announcement\).*$$ ; ***************** GENTECH ******************************** /chatline gentech ^(?:A ghostly form of )?[A-Z\.@a-z ]+ \[Gen-[A-Z][a-z]+\] :.*$$ /chatline gennotify ^\[Gen-[A-Z][a-z]+\]:.*$$ ; ***************** Explorer chat ****************************************** /chatline explorers ^([A-Z][a-z]+ \(Exp\): )(.*)$$ /chatline explorers_rank ^[A-Z][a-z]+ has advanced (his|her) rank to #[0-9]+ in the top [0-9]+ explorers!$ ; ***************** Intermud guild lines ****************************************** /chatline interguild ^[A-Z][a-z@3]+ \[G[a-z]+\]:.*$$ ; ****************** CRAFTING ******************************* /chatline craft ^[A-Z@a-z]+ \:.*$$ ; ****************** Privelidged Channels ******************************* /chatline highmortal ^[A-Z@a-z]+ \:.*$$ /chatline player_review_board ^[A-Z][a-z]+ \[\>PRB\<\]: .+ ; ********************* POLITICS LINE ******************* ;/alias phist /eval /set polhist 1%;/send pol -h %;/repeat -1 1 /set polhist 0%; ;/alias pwho /send pol -w /chatline politics ^\[Politics:[A-Z][a-z]+\] .*$$ ; ************ Corp/Clan communication lines ****************** /chatline corp1 ^\[(?:Corp|Syndicate)( CEO)?\] [A-Za-z]+: .* /chatline corp2 ^\[Corp Notify\] .* /chatline court1 ^\[(Clan|CLAN)\]:? ([A-Za-z]+ : )?.* /chatline council ^\[\{(Council|COUNCIL)\}\]:? [A-Za-z]+ : ?.* ; ################# Other Guild Regexps ############################ ; Jugger shit ;/def -p1 -ag -F -t'^(\[Jugger(\([A-Z]+\))?\] )([A-Za-z]+: )?(.*)$$' windowjugger1 = ; /eval /set windowmsg=%{ts}%{P1}%{P3}%{P4}%;; /eval /let retval=$[tfwrite(juggerline, encode_ansi(windowmsg))]%;; /eval /set lastline=%{juggerline} ;/def -p1 -PCgreen -F -t'^\[Jugger(\([A-Z]+\))?\] [A-Za-z ]+:' hilitemain ;/def -p2 -PBCgreen -F -t'^\[Jugger(\([A-Z]+\))?\]' hilitemain2 ;/def -p1 -PCgreen -F -t'^\[Bear(\([A-Z]+\))?\] [A-Za-z ]+:' hilitecb ;/def -p2 -PBCgreen -F -t'^\[Bear(\([A-Z]+\))?\]' hilitecb2 ;/def -p1 -Fag -t'^(\[Bear(\([A-Z]+\))?\] )([A-Za-z]+:)?(.*)$$' windowjugger2 = ; /eval /set windowmsg=%{ts}%{P1}%{P3}%{P4}%;; /eval /let retval=$[tfwrite(juggerline, encode_ansi(windowmsg))]%;; /eval /set lastline=%{juggerline} ; Mental comm lines ;/def -p1 -ag -F -t'^([a-zA-Z]+ \[[A-Z][0-9]+\]:)(.*)$$' windowelemain = ; /eval /set windowmsg=%{ts}%{P1}%{P2}%;; /eval /let retval=$[tfwrite(lines, encode_ansi(windowmsg))]%;; /eval /set lastline=%{lines} %;;/def -p1 -ag -F -t'^(\[{ENTER|EXIT}\])(.*)$$' windowelementer = ; /eval /set windowmsg=%{ts}%{P 1}%{P2}%;; /eval /let retval=$[tfwrite(lines, encode_ansi(windowmsg))]%;; /eval /set lastline=%{lines}