/loaded licznik.tf ; ============================================================================== ; = Licznik moich ofiar + zbieranie z cial ; ============================================================================== ; ; ******************************************************************* ; * v1.0 ; * (c) YaaL 2003 ; ******************************************************************* ; /def -i doeach = \ /let _cmd=%1%; \ /while (shift(), {#}) \ /eval %_cmd %%1%; \ /done /set banner=@{BCyellow}###@{n} /def message=/test $[echo(strcat({banner}, ' ', {*}), '', 1)] ; gdzie zapisujemy dane licznika /set licznik_ofiar=~/.tf/aylith/licznik_ofiar.data /def -Fp10 -mregexp -t'^(> )*Zabil(a|e)s( [^ ]+)* ([^ ]+)\.$' killed = \ /test ++_licznik_%{P4}%;\ /test ++_sesja_%{P4}%;\ /eval /substitute -p %{PL}@{xBCred}%{P0}@{n} (%%{_sesja_%P4}/%%{_licznik_%P4})%;\ /zapisz_licznik -q%;\ /hiena %{P4} /def zabici = \ /set _suma_sesja=0%;\ /set _suma_licznik=0%;\ /message +================================+%;\ /message | Licznik ofiar (sesja/razem) |%;\ /message +================================+%;\ /doeach /wyswietl_ofiare $(/listvar -s _licznik_*)%;\ /message +--------------------------------+%;\ /message | razem: $[pad(_suma_sesja,5)]/$[pad(_suma_licznik, 5)] |%;\ /message +--------------------------------+ /def wyswietl_ofiare = \ /let nazwa=$[substr({1},9)]%;\ /let sesja=$(/listvar -v $[strcat("_sesja_",substr({1},9))])%;\ /if (sesja<1) \ /let sesja=0%;\ /endif%;\ /let razem=$(/listvar -v %1)%;\ /test _suma_sesja:=%{_suma_sesja}+%{sesja}%;\ /test _suma_licznik:=%{_suma_licznik}+%{razem}%;\ /message | $[pad(nazwa,15)]: $[pad(sesja, 5)]/$[pad(razem,5)] | /def zapisz_licznik = \ /if (!getopts("q", "")) /return 0%;/endif%; \ /if ((uchwyt:=tfopen(licznik_ofiar, "w")) <0) \ /return 0%; \ /message Blad zapisu licznika ofiar do pliku %{licznik_ofiar}!%; \ /endif%;\ /test tfflush(uchwyt, 0)%; \ /doeach /nagraj_ofiare $(/listvar -s _licznik_*)%;\ /test tfclose(uchwyt)%;\ /if (!opt_q) /message Dane licznika ofiar zostaly pomyslnie zapisane do pliku %{licznik_ofiar}.%;/endif /def nagraj_ofiare = \ /test tfwrite(uchwyt, strcat(substr({1},9), ':',$(/listvar -v %1))) /def wczytaj_licznik = \ /if ((uchwyt:=tfopen(licznik_ofiar, "r")) <0) \ /return 0%; \ /message Nie moge otworzyc pliku %{licznik_ofiar}!%; \ /endif%;\ /while (tfread(uchwyt, tmpik) >= 0) \ /let ofiara=$[substr(tmpik,0,strchr(tmpik, ':'))]%;\ /let wartosc=$[substr(tmpik, strchr(tmpik, ':')+1)]%;\ /set _licznik_%{ofiara}=%{wartosc}%;\ /done%;\ /test tfclose(uchwyt)%;\ /message Dane licznika ofiar zostaly pomyslnie wczytane z pliku %{licznik_ofiar}. /wczytaj_licznik ; ******************************************************************* ; * hiena ; ******************************************************************* ; standardowo zgarniamy zaleznie od tego, kto padl ; tryb 'hiena cmentarna' to zbieranie wszystkiego /set hiena=0 /def aweon = /message Hiena cmentarna uaktywniona. %;\ /set hiena=1 /def aweoff = /set hiena=0%;\ /message Hiena cmentarna wylaczona. /def hiena =\ /if (hiena==1)\ wez wszystko z ciala%;\ /elseif ({#}==1 & ascii(substr({*},0,1)) <97)\ wez kamienie z ciala %; wez monety z ciala%;\ /elseif ({1}=~'trolla' | {1}=~'grzyboczleka' | {1}=~'potepienca') \ wez kamien z ciala%;\ /else \ wez monety z ciala%;\ /endif