Mercurial > hg > batmud > ggrtf
view ggrtf-ptracker.tf @ 684:6f0452997253
Fixed expiration.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 05 Oct 2007 17:28:52 +0000 |
parents | 1ae8728d68cc |
children | 60ce0cb78a18 |
line wrap: on
line source
;; ;; GgrTF::ProtTracker - Party-wide prot tracker ;; (C) Copyright 2007 Matti Hämäläinen (Ggr) based on ideas by Aloysha ;; ;; This file (triggerset) is Free Software distributed under ;; GNU General Public License version 2. ;; ;; NOTICE! This file requires GgrTF (version 0.6.2.1 or later) to be loaded. ;; /loaded GgrTF::ProtTracker ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Bindings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; /def -i -F -p9999 -mregexp -t"^([A-Z][a-z]+) tugs eagerly on your sleeve.$" gpprot_tug1 =\ /eval /pprots @@emoteto %{P1} /def -i -F -p9999 -msimple -t"You tug eagerly on your own sleeve." gpprot_tug2 =\ /pprots @@emote /prdefgbind -s"pprots" -c"/pprots" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Main functions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; /set lst_pprots= /def -p9999 -F -mregexp -t"^([A-Z][a-z]+) [\[\{\(](party|report)[\]\)\}]\: ([A-Za-z _-]+) (on|up|active|activat|ON|UP|ACTIVE|ACTIVAT|On|Up|Active|Activat)" gpprot_on =\ /let _pplayer=%{P1}%;\ /let _pstr=$[tolower({P3})]%;\ /let _pname=$[gpprot_getn(_pstr)]%;\ /if (_pname!~"")\ /set pprot_%{_pplayer}_%{_pname}=1%;\ /set pprot_%{_pplayer}_%{_pname}_t=$[time()]%;\ /msq PPROTTER: %{_pplayer} -> %{_pname} ON!%;\ /endif /def -p9999 -F -mregexp -t"^([A-Z][a-z]+) [\[\{\(](party|report)[\]\)\}]\: ([A-Za-z _-]+) (off|down|expires|expired|gone)" gpprot_off =\ /let _pplayer=%{P1}%;\ /let _pstr=$[tolower({P3})]%;\ /let _pname=$[gpprot_getn(_pstr)]%;\ /if (_pname!~"")\ /set pprot_%{_pname}=%{_plzn}%;\ /set pprot_%{_pplayer}_%{_pname}=0%;\ /set pprot_%{_pplayer}_%{_pname}_t=0%;\ /msq PPROTTER: %{_pplayer} -> %{_pname} OFF!%;\ /endif /def -i prdefpartyprot =\ /if (!getopts("i:n:A:m:","")) /gerror Invalid prot tracker definition!%;/break%;/endif%;\ /set lst_pprots=%{lst_pprots} %{opt_i}%;\ /set pprot_%{opt_i}_n=%{opt_n}%;\ /set pprot_%{opt_i}_A=$[tolower(opt_A)]%;\ /if (opt_m > 0)\ /set pprot_%{opt_i}_m=%{opt_m}%;\ /else \ /set pprot_%{opt_i}_m=0%;\ /endif /def -i gpprot_getn_do =\ /while ({#})\ /eval /set _tzqp=^($$[pprot_%{1}_A])$$$%;\ /if (regmatch(_tzqp,_pprot_tms)) /return {1}%;/endif%;\ /shift%;\ /done%;\ /return "" /def -i gpprot_getn =\ /set _pprot_tms=%{1}%;\ /gpprot_getn_do %{lst_pprots} /def -i gpprot_reset_do =\ /let _tms=%{1}%;/shift%;\ /while ({#})\ /set pprot_%{_tms}_%{1}=0%;\ /set pprot_%{_tms}_%{1}_t=0%;\ /shift%;\ /done /def -i gpprot_reset =\ /while ({#})\ /gpprot_reset_do %{1} %{lst_pprots}%;\ /shift%;\ /done /def -i prgetstimeclock =\ /if ({1} >= 0)\ /let _jtime=$[trunc(time()-{1})]%;\ /let _jtimeh=$[_jtime/3600]%;\ /let _jtimeq=$[mod(_jtime,3600)]%;\ /let _jtimem=$[_jtimeq/60]%;\ /let _jtimes=$[mod(_jtimeq,60)]%;\ /if (_jtimeh > 0)\ /let _jstr=%{_jtimeh}:%;\ /else \ /let _jstr=%;\ /endif%;\ /if (_jtimes < 10)\ /let _jtimespre=0%;\ /else \ /let _jtimespre=%;\ /endif%;\ /let _jstr=%{_jstr}$[_jtimeq/60]:%{_jtimespre}$[mod(_jtimeq,60)]%;\ /return _jstr%;\ /else \ /return ""%;\ /endif /def -i gpprots_print_header =\ /let _pprot_nam=%;\ /set _pprot_div=%;\ /while ({#})\ /eval /set _qtmw=$$[pprot_%{1}_n]%;\ /let _pprot_nam=%{_pprot_nam}%{_pprot_col_name}$[pad(_qtmw,7)]%{_pprot_col_n}|%;\ /set _pprot_div=%{_pprot_div}-------+%;\ /shift%;\ /done%;\ /eval %{_pprot_cmd} .--------------+%%{_pprot_div}%;\ /eval %{_pprot_cmd} | |%%{_pprot_nam}%;\ /eval %{_pprot_cmd} +--------------+%%{_pprot_div} /def -i gpprots_print_player =\ /let _zplr=%{1}%;/shift%;\ /let _zsp=| %{_pprot_col_pname}$[pad(_zplr,-12)]%{_pprot_col_n} |%;\ /while ({#})\ /eval /set _qtm=$$[pprot_%{_zplr}_%{1}]%;\ /eval /set _qtmt=$$[pprot_%{_zplr}_%{1}_t]%;\ /if (_qtm > 0)\ /let _tst=$[prgetstimeclock(_qtmt)]%;\ /else \ /let _tst=%;\ /endif%;\ /let _zsp=%{_zsp}$[pad(_tst,7)]|%;\ /shift%;\ /done%;\ /eval %{_pprot_cmd} %%{_zsp} /def -i gpprots_print_members =\ /while ({#})\ /gpprots_print_player %{1} %{lst_pactive}%;\ /shift%;\ /done /def -i gpprots_update_member =\ /let _zplr=%{1}%;/shift%;\ /while ({#})\ /eval /set _zta=$$[pprot_%{_zplr}_%{1}]%;\ /eval /set _ztt=$$[pprot_%{_zplr}_%{1}_t]%;\ /eval /set _ztm=$$[pprot_%{1}_m]%;\ /if (_zta > 0)\ /if (_ztm > 0 & (time() - _ztt) >= _ztm)\ /set pprot_%{_zplr}_%{1}=0%;\ /msq PPROTTER: %{_zplr} -> %{1} OFF! @{BCred}AUTO@{n}%;\ /else \ /test prlist_insert("lst_pactive",{1})%;\ /endif%;\ /endif%;\ /shift%;\ /done /def -i gpprots_update_active =\ /set lst_pactive=%;\ /while ({#})\ /gpprots_update_member %{1} %{lst_pprots}%;\ /shift%;\ /done /def -i pprots =\ /if ({#} > 0)\ /set _pprot_cmd=%{*}%;\ /set _pprot_col_n=%;\ /set _pprot_col_name=%;\ /set _pprot_col_pname=%;\ /else \ /set _pprot_cmd=/echo -p%;\ /set _pprot_col_n=@{n}%;\ /set _pprot_col_name=@{BCwhite}%;\ /set _pprot_col_pname=@{Cgreen}%;\ /endif%;\ /gpprots_update_active %{gparty_members}%;\ /if (gparty_members=~"" | lst_pactive=~"")\ /eval %{_pprot_cmd} %{_pprot_col_name}No party prots tracked%{_pprot_col_n}.%;\ /else \ /gpprots_print_header %{lst_pactive}%;\ /gpprots_print_members %{gparty_members}%;\ /eval %{_pprot_cmd} `--------------+%{_pprot_div}%;\ /endif ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Define prots and patterns ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; /prdefpartyprot -i"unstun" -n"Unstun" -A"Unstun|uns" /prdefpartyprot -i"hw" -n"HW" -A"heavy weight|heavyweight|hw" /prdefpartyprot -i"unp" -n"Unpain" -A"Unpain|unp" /prdefpartyprot -i"pfg" -n"PfG" -A"protection from good|pfg" -m1200 /prdefpartyprot -i"pfe" -n"PfE" -A"protection from evil|pfe" -m1200 /prdefpartyprot -i"flex" -n"Flex" -A"flex shield|flex" /prdefpartyprot -i"fsh" -n"FSh" -A"Force Shield|fsh|fshield" -m1800 /prdefpartyprot -i"warez" -n"WarEs" -A"War Ensemble|warez|war" /prdefpartyprot -i"mel" -n"EMelo" -A"Embracing melody|melodical embracement|melody" /prdefpartyprot -i"aoa" -n"AoA" -A"Armour of Aether|AoA|aether armour|Armor of Aether|GPhys" /prdefpartyprot -i"macid" -n"MAcid" -A"Acid Shield|GAcid" -m1020 /prdefpartyprot -i"mpois" -n"MPois" -A"Shield of detoxification|poison prot|detox|GPoison" -m1020 /prdefpartyprot -i"melec" -n"MElec" -A"Lightning Shield|GElec" -m1020 /prdefpartyprot -i"masph" -n"MAsph" -A"Aura of Wind|GAsph" -m1020 /prdefpartyprot -i"mfire" -n"MFire" -A"Flame Shield|GFire" -m1020 /prdefpartyprot -i"mmana" -n"MMana" -A"Repulsor Aura|GMana" -m1020 /prdefpartyprot -i"mpsi" -n"MPsi" -A"Psionic Phalanx" -m1020 /prdefpartyprot -i"mcold" -n"MCold" -A"Frost Shield|GCold" -m1020 /prdefpartyprot -i"fabs" -n"Fabs" -A"Force Absorption|fabs|force absorbsion" /prdefpartyprot -i"sop" -n"SoP" -A"Shield of protection|sop" /prdefpartyprot -i"displ" -n"Displ" -A"Displacement|blur image" -m1020 /prdefpartyprot -i"aoh" -n"AoH" -A"aura of hate|aoh" /prdefpartyprot -i"sshield" -n"SShld" -A"soul shield|soul_shield|soulshield" /prdefpartyprot -i"suppr" -n"Suppr" -A"suppress magic|magic suppression|suppress"