Warlock - Oficjalna Strona

Technikalia - TF - wszystko o nim...

Yarkom - 13 Cze, 2004 - 10:43
Temat postu: TF - wszystko o nim...
Witam
Myślę że można by tu też zacząć dyskutować o Tiny Fugue.
W razie czego mozna zawsze liczyć na pomoc od Ingwara i Garagotha (mam taka nadzieje).

A więc zapraszam do skryptowania...
Ragar - 13 Cze, 2004 - 14:58
Temat postu:
jakby ktos chcial moge sluzyc skryptami do statystyki ciosow - dobre do testowania zbroi i broni. Dla mnie podstawa to jest :

/def -p8 -P0BCgreen -F -t'(Umiejetnie|Dokladnie|Szczesliwie|Pewnie|Perfekcyjnie|Niezdarnie|Wprawnie|Niepewnie|Niemrawo|Udanie|Niezgrabnie|Powolnie|Ledwo|Gladko|Mocno|Szczesliwie|Umiejetnie|Plytko|Powierzchownie|Szeroko|Gleboko|Makabrycznie|Ledwo) (rozcinasz|tniesz|kroisz|rozplatujesz|nacinasz|zacinasz)(.*)' _c_rozcinasz2=/set _przeciwnik_=%3 %4 %5
/def -p8 -P0BCgreen -F -t'(Umiejetnie|Dokladnie|Szczesliwie|Pewnie|Perfekcyjnie|Niezdarnie|Wprawnie|Niepewnie|Niemrawo|Udanie|Niezgrabnie|Powolnie|Ledwo||Z|Gladko|Umiejetnie|Ledwo|Szczesliwie|Bez) (latwoscia|mocno|trudu|trudem|problemu|wysilkiem|szeroko|powierzchownie|makabrycznie|plytko|gleboko) (rozcinasz|tniesz|kroisz|rozplatujesz|nacinasz|zacinasz)(.*)' _c_rozcinasz3=/set _przeciwnik_=%4 %5 %6
/def -p8 -P0BCgreen -F -t'(Umiejetnie|Dokladnie|Szczesliwie|Pewnie|Perfekcyjnie|Niezdarnie|Wprawnie|Niepewnie|Niemrawo|Udanie|Niezgrabnie|Powolnie|Ledwo|Gladko|Z|Bez) (wysilkiem|problemu|latwoscia|trudu|trudem|w) (mocno|plytko|szeroko|gleboko|makabrycznie|powierzchownie|pol|w|rozcinasz) (rozcinasz|tniesz|kroisz|rozplatujesz|nacinasz|zacinasz|pol)(.*)' _c_rozcinasz4=/set _przeciwnik_=%5 %6 %7

/def -p8 -P0BCyellow -F -t'(Muskasz|Rozgniatasz|Obtlukujesz|Gruchoczesz|Kruszysz|Miazdzysz)(.*)' _c_rozcinasz1a=/set _przeciwnik_=%2 %3 %4
/def -p8 -P0BCyellow -F -t'(Umiejetnie|Gladko|Dokladnie|Szczesliwie|Ledwo|Pewnie|Perfekcyjnie|Niezdarnie|Wprawnie|Niepewnie|Niemrawo|Udanie|Niezgrabnie|Powolnie|Mocno|Szczesliwie|Umiejetnie|Plytko|Powierzchownie|Lekko|Szeroko|Gleboko|Makabrycznie|Ledwo|Bolesnie) (muskasz|rozgniatasz|tluczesz|obtlukujesz|uderzasz|gruchoczesz|kruszysz|miazdzysz|obijasz)(.*)' _c_rozcinasz2a=/set _przeciwnik_=%3 %4 %5

/def -p8 -P0BCyellow -F -t'(Umiejetnie|Gladko|Dokladnie|Szczesliwie|Ledwo|Pewnie|Perfekcyjnie|Niezdarnie|Wprawnie|Niepewnie|Niemrawo|Udanie|Niezgrabnie|Powolnie|Bez|Z|Umiejetnie|Ledwo|Szczesliwie) (doszczetnie|lekko|latwoscia|mocno|trudu|trudem|problemu|wysilkiem|szeroko|makabrycznie|plytko|bolesnie) (rozgniatasz|tluczesz|lekko|obtlukujesz|uderzasz|gruchoczesz|kruszysz|miazdzysz|obijasz|muskasz)(.*)' _c_rozcinasz3a=/set _przeciwnik_=%4 %5 %6
/def -p8 -P0BCyellow -F -t'(Z|Bez) (wysilkiem|problemu|latwoscia|trudu|trudem) (lekko|mocno|plytko|szeroko|makabrycznie|bolesnie) (tluczesz|obtlukujesz|uderzasz|gruchoczesz|kruszysz|miazdzysz|obijasz|rozgniatasz|muskasz)(.*)' _c_rozcinasz4a=/set _przeciwnik_=%5 %6 %7

no i po to to wszystko zeby moc podbindowac
/def f10=/send kmstrasz %{_przeciwnik_}
/def f11=/send kmmarkuj %{_przeciwnik_}

nic nie stoi na przeszkodzie dodac inne emoty gildiowe tutaj, czy gotowe teksty ... W sumie jestem przeciwnym tgirom rpgowym (to krzyczenie sigmarze to dla ciebie jak ktos powie masakruje cie Wink Czy spamowania jak sie trig zatnie Wink Ale moze byc czasem przydatne.
W sumie nie mam pomyslu co tu moznaby jeszcze napisac bo nie kozystam z wielozadaniowych baz przeciwnikow z potweirdzaniem atakow bindowaniem pogoni itp Wink]

Starych skryptow zielarskich tez nie ma co wklejac bo sa zabronione Wink
Ingwar - 15 Cze, 2004 - 16:21
Temat postu:
Generalnie ja tam sie nie bede wypowiadal bo wiekszosc rzeczy i tak zabroniona jest :>>>

Ingwar
Garagoth - 24 Cze, 2004 - 16:38
Temat postu:
Ńo co ja moge... Jak bedzie problem niewinny pod katem oszukiwania, to i czasami pomoge :>

Pozdrawiam,
Garagoth.
Ingwar - 13 Gru, 2004 - 22:38
Temat postu:
Moze komus sie przyda cos niecos infomacji, nowa stronka... TinyFugue by Ingwar

Ingwar
Lokkak - 04 Paź, 2005 - 11:40
Temat postu: Licznik Cech
Kod:
;; Copyright 2004,2005 Liwiusz Ociepa <liwiusz<malpka>gmail,com>
;;    This program is free software; you can redistribute it and/or modify
;;    it under the terms of the GNU General Public License as published by
;;    the Free Software Foundation; either version 2 of the License, or
;;    (at your option) any later version.

/def -i __med_licz = \
        /set __sila 1 %;\
        /set __zrecznosc 1 %;\
        /set __wytrzymalosc 1 %;\
        /set __inteligencja 1 %;\
        /set __madrosc 1 %;\
        /set __odwaga 1 %;\
        /def -i -n1 -mregexp -aCyellow -p200 -t"^[> ]*Wydaje ci sie, ze ((bardzo |)(malo|duzo)|troche) ci brakuje, zebys mogl wyzej ocenic swa sile\.$$" __sila_med_1_hilite = \
                /if ({P1} =~ "bardzo malo") /set __sila $$[__sila + 4] %%;\
                /elseif ({P1} =~ "malo") /set __sila $$[__sila + 3] %%;\
                /elseif ({P1} =~ "troche") /set __sila $$[__sila + 2] %%;\
                /elseif ({P1} =~ "duzo") /set __sila $$[__sila + 1] %%;\
                /elseif ({P1} =~ "bardzo duzo") /set __sila $$[__sila + 0] %%;\
                /endif %;\
        /def -i -n1 -mregexp -aCyellow -p200 -t"^[> ]*Wydaje ci sie, ze ((bardzo |)(malo|duzo)|troche) ci brakuje, zebys mogl wyzej ocenic swa zrecznosc\.$$" __zrecznosc_med_1_hilite = \
                /if ({P1} =~ "bardzo malo") /set __zrecznosc $$[__zrecznosc + 4] %%;\
                /elseif ({P1} =~ "malo") /set __zrecznosc $$[__zrecznosc + 3] %%;\
                /elseif ({P1} =~ "troche") /set __zrecznosc $$[__zrecznosc + 2] %%;\
                /elseif ({P1} =~ "duzo") /set __zrecznosc $$[__zrecznosc + 1] %%;\
                /elseif ({P1} =~ "bardzo duzo") /set __zrecznosc $$[__zrecznosc + 0] %%;\
                /endif %;\
        /def -i -n1 -mregexp -aCyellow -p200 -t"^[> ]*Wydaje ci sie, ze ((bardzo |)(malo|duzo)|troche) ci brakuje, zebys mogl wyzej ocenic swa wytrzymalosc\.$$" __wytrzymalosc_med_1_hilite = \
                /if ({P1} =~ "bardzo malo") /set __wytrzymalosc $$[__wytrzymalosc + 4] %%;\
                /elseif ({P1} =~ "malo") /set __wytrzymalosc $$[__wytrzymalosc + 3] %%;\
                /elseif ({P1} =~ "troche") /set __wytrzymalosc $$[__wytrzymalosc + 2] %%;\
                /elseif ({P1} =~ "duzo") /set __wytrzymalosc $$[__wytrzymalosc + 1] %%;\
                /elseif ({P1} =~ "bardzo duzo") /set __wytrzymalosc $$[__wytrzymalosc + 0] %%;\
                /endif %;\
        /def -i -n1 -mregexp -aCyellow -p200 -t"^[> ]*Wydaje ci sie, ze ((bardzo |)(malo|duzo)|troche) ci brakuje, zebys mogl wyzej ocenic swa inteligencje\.$$" __inteligencja_med_1_hilite = \
                /if ({P1} =~ "bardzo malo") /set __inteligencja $$[__inteligencja + 4] %%;\
                /elseif ({P1} =~ "malo") /set __inteligencja $$[__inteligencja + 3] %%;\
                /elseif ({P1} =~ "troche") /set __inteligencja $$[__inteligencja + 2] %%;\
                /elseif ({P1} =~ "duzo") /set __inteligencja $$[__inteligencja + 1] %%;\
                /elseif ({P1} =~ "bardzo duzo") /set __inteligencja $$[__inteligencja + 0] %%;\
                /endif %;\
        /def -i -n1 -mregexp -aCyellow -p200 -t"^[> ]*Wydaje ci sie, ze ((bardzo |)(malo|duzo)|troche) ci brakuje, zebys mogl wyzej ocenic swa madrosc\.$$" __madrosc_med_1_hilite = \
                /if ({P1} =~ "bardzo malo") /set __madrosc $$[__madrosc + 4] %%;\
                /elseif ({P1} =~ "malo") /set __madrosc $$[__madrosc + 3] %%;\
                /elseif ({P1} =~ "troche") /set __madrosc $$[__madrosc + 2] %%;\
                /elseif ({P1} =~ "duzo") /set __madrosc $$[__madrosc + 1] %%;\
                /elseif ({P1} =~ "bardzo duzo") /set __madrosc $$[__madrosc + 0] %%;\
                /endif %;\
        /def -i -n1 -mregexp -aCyellow -p200 -t"^[> ]*Wydaje ci sie, ze ((bardzo |)(malo|duzo)|troche) ci brakuje, zebys mogl wyzej ocenic swa odwage\.$$" __odwaga_med_1_hilite = \
                /if ({P1} =~ "bardzo malo") /set __odwaga $$[__odwaga + 4] %%;\
                /elseif ({P1} =~ "malo") /set __odwaga $$[__odwaga + 3] %%;\
                /elseif ({P1} =~ "troche") /set __odwaga $$[__odwaga + 2] %%;\
                /elseif ({P1} =~ "duzo") /set __odwaga $$[__odwaga + 1] %%;\
                /elseif ({P1} =~ "bardzo duzo") /set __odwaga $$[__odwaga + 0] %%;\
                /endif %;\
        /def -i -n1 -mregexp -aCyellow -p200 -t"^[> ]*Jestes ([a-z]*), ([a-z]*), ([ a-z]*), ([a-z]*), ([a-z]*) i ([a-z]*)\.$$" __cechy_med_1_hilite = \
                /if ({P1} =~ "slabiutki") /set __sila $$[__sila + 0] %%;\
                /elseif ({P1} =~ "slabowity") /set __sila $$[__sila + 5] %%;\
                /elseif ({P1} =~ "watly") /set __sila $$[__sila + 10] %%;\
                /elseif ({P1} =~ "cherlawy") /set __sila $$[__sila + 15] %%;\
                /elseif ({P1} =~ "slaby") /set __sila $$[__sila + 20] %%;\
                /elseif ({P1} =~ "krzepki") /set __sila $$[__sila + 25] %%;\
                /elseif ({P1} =~ "silny") /set __sila $$[__sila + 30] %%;\
                /elseif ({P1} =~ "mocny") /set __sila $$[__sila + 35] %%;\
                /elseif ({P1} =~ "tegi") /set __sila $$[__sila + 40] %%;\
                /elseif ({P1} =~ "potezny") /set __sila $$[__sila + 45] %%;\
                /elseif ({P1} =~ "mocarny") /set __sila $$[__sila + 50] %%;\
                /elseif ({P1} =~ "tytaniczny") /set __sila $$[__sila + 55] %%;\
                /elseif ({P1} =~ "wszechmocny") /set __sila $$[__sila + 60] %%;\
                /endif %%;\
                /if ({P2} =~ "nieskoordynowany") /set __zrecznosc $$[__zrecznosc + 0] %%;\
                /elseif ({P2} =~ "niezdarny") /set __zrecznosc $$[__zrecznosc + 5] %%;\
                /elseif ({P2} =~ "niezreczny") /set __zrecznosc $$[__zrecznosc + 10] %%;\
                /elseif ({P2} =~ "niezgrabny") /set __zrecznosc $$[__zrecznosc + 15] %%;\
                /elseif ({P2} =~ "niewprawny") /set __zrecznosc $$[__zrecznosc + 20] %%;\
                /elseif ({P2} =~ "sprawny") /set __zrecznosc $$[__zrecznosc + 25] %%;\
                /elseif ({P2} =~ "zreczny") /set __zrecznosc $$[__zrecznosc + 30] %%;\
                /elseif ({P2} =~ "szybki") /set __zrecznosc $$[__zrecznosc + 35] %%;\
                /elseif ({P2} =~ "wprawny") /set __zrecznosc $$[__zrecznosc + 40] %%;\
                /elseif ({P2} =~ "zwinny") /set __zrecznosc $$[__zrecznosc + 45] %%;\
                /elseif ({P2} =~ "gibki") /set __zrecznosc $$[__zrecznosc + 50] %%;\
                /elseif ({P2} =~ "akrobatyczny") /set __zrecznosc $$[__zrecznosc + 55] %%;\
                /elseif ({P2} =~ "ekwilibrystyczny") /set __zrecznosc $$[__zrecznosc + 60] %%;\
                /endif %%;\
                /if ({P3} =~ "deliatny") /set __wytrzymalosc $$[__wytrzymalosc + 0] %%;\
                /elseif ({P3} =~ "chorowity") /set __wytrzymalosc $$[__wytrzymalosc + 5] %%;\
                /elseif ({P3} =~ "rachityczny") /set __wytrzymalosc $$[__wytrzymalosc + 10] %%;\
                /elseif ({P3} =~ "mizerny") /set __wytrzymalosc $$[__wytrzymalosc + 15] %%;\
                /elseif ({P3} =~ "kruchy") /set __wytrzymalosc $$[__wytrzymalosc + 20] %%;\
                /elseif ({P3} =~ "dobrze zbudowany") /set __wytrzymalosc $$[__wytrzymalosc + 25] %%;\
                /elseif ({P3} =~ "wytrzymaly") /set __wytrzymalosc $$[__wytrzymalosc + 30] %%;\
                /elseif ({P3} =~ "odporny") /set __wytrzymalosc $$[__wytrzymalosc + 35] %%;\
                /elseif ({P3} =~ "masywny") /set __wytrzymalosc $$[__wytrzymalosc + 40] %%;\
                /elseif ({P3} =~ "twardy") /set __wytrzymalosc $$[__wytrzymalosc + 45] %%;\
                /elseif ({P3} =~ "umiesniony") /set __wytrzymalosc $$[__wytrzymalosc + 50] %%;\
                /elseif ({P3} =~ "muskularny") /set __wytrzymalosc $$[__wytrzymalosc + 55] %%;\
                /elseif ({P3} =~ "atletyczny") /set __wytrzymalosc $$[__wytrzymalosc + 60] %%;\
                /endif %%;\
                /if ({P4} =~ "bazmyslny") /set __inteligencja $$[__inteligencja + 0] %%;\
                /elseif ({P4} =~ "ciemny") /set __inteligencja $$[__inteligencja + 5] %%;\
                /elseif ({P4} =~ "tepy") /set __inteligencja $$[__inteligencja + 10] %%;\
                /elseif ({P4} =~ "nierozumny") /set __inteligencja $$[__inteligencja + 15] %%;\
                /elseif ({P4} =~ "ograniczony") /set __inteligencja $$[__inteligencja + 20] %%;\
                /elseif ({P4} =~ "rozgarniety") /set __inteligencja $$[__inteligencja + 25] %%;\
                /elseif ({P4} =~ "pojetny") /set __inteligencja $$[__inteligencja + 30] %%;\
                /elseif ({P4} =~ "zmyslny") /set __inteligencja $$[__inteligencja + 35] %%;\
                /elseif ({P4} =~ "inteligentny") /set __inteligencja $$[__inteligencja + 40] %%;\
                /elseif ({P4} =~ "lotny") /set __inteligencja $$[__inteligencja + 45] %%;\
                /elseif ({P4} =~ "bystry") /set __inteligencja $$[__inteligencja + 50] %%;\
                /elseif ({P4} =~ "blyskotliwy") /set __inteligencja $$[__inteligencja + 55] %%;\
                /elseif ({P4} =~ "genialny") /set __inteligencja $$[__inteligencja + 60] %%;\
                /endif %%;\
                /if ({P5} =~ "glupi") /set __madrosc $$[__madrosc + 0] %%;\
                /elseif ({P5} =~ "durny") /set __madrosc $$[__madrosc + 5] %%;\
                /elseif ({P5} =~ "zacofany") /set __madrosc $$[__madrosc + 10] %%;\
                /elseif ({P5} =~ "niemadry") /set __madrosc $$[__madrosc + 15] %%;\
                /elseif ({P5} =~ "niewyksztalcony") /set __madrosc $$[__madrosc + 20] %%;\
                /elseif ({P5} =~ "roztropny") /set __madrosc $$[__madrosc + 25] %%;\
                /elseif ({P5} =~ "wyksztalcony") /set __madrosc $$[__madrosc + 30] %%;\
                /elseif ({P5} =~ "rozsadny") /set __madrosc $$[__madrosc + 35] %%;\
                /elseif ({P5} =~ "logiczny") /set __madrosc $$[__madrosc + 40] %%;\
                /elseif ({P5} =~ "madry") /set __madrosc $$[__madrosc + 45] %%;\
                /elseif ({P5} =~ "uczony") /set __madrosc $$[__madrosc + 50] %%;\
                /elseif ({P5} =~ "oswiecony") /set __madrosc $$[__madrosc + 55] %%;\
                /elseif ({P5} =~ "wszechwiedzacy") /set __madrosc $$[__madrosc + 60] %%;\
                /endif %%;\
                /if ({P6} =~ "tchorzliwy") /set __odwaga $$[__odwaga + 0] %%;\
                /elseif ({P6} =~ "strachliwy") /set __odwaga $$[__odwaga + 5] %%;\
                /elseif ({P6} =~ "bojazliwy") /set __odwaga $$[__odwaga + 10] %%;\
                /elseif ({P6} =~ "lekliwy") /set __odwaga $$[__odwaga + 15] %%;\
                /elseif ({P6} =~ "niepewny") /set __odwaga $$[__odwaga + 20] %%;\
                /elseif ({P6} =~ "zdecydowany") /set __odwaga $$[__odwaga + 25] %%;\
                /elseif ({P6} =~ "niezachwiany") /set __odwaga $$[__odwaga + 30] %%;\
                /elseif ({P6} =~ "odwazny") /set __odwaga $$[__odwaga + 35] %%;\
                /elseif ({P6} =~ "dzielny") /set __odwaga $$[__odwaga + 40] %%;\
                /elseif ({P6} =~ "nieugiety") /set __odwaga $$[__odwaga + 45] %%;\
                /elseif ({P6} =~ "mezny") /set __odwaga $$[__odwaga + 50] %%;\
                /elseif ({P6} =~ "bohaterski") /set __odwaga $$[__odwaga + 55] %%;\
                /elseif ({P6} =~ "heroiczny") /set __odwaga $$[__odwaga + 60] %%;\
                /endif %%;\
                /repeat -0.1 1 /licznik


/def licznik = \
        /set __bojowki $[__sila + __zrecznosc + __wytrzymalosc] %;\
        /set __mentale $[__inteligencja + __madrosc + __odwaga] %;\
        /set __suma_cech $[__bojowki + __mentale] %;\
        /set __wspolczynnik $[(1.0 * {__bojowki}) / (1.0 * {__mentale})] %;\
        /echo %;\
        /eval /echo -p -aBCblue sila ----------$[strrep("-", 5-strlen({__sila}))]> @{Cred}%{__sila}@{n} %;\
        /eval /echo -p -aBCblue zrecznosc -----$[strrep("-", 5-strlen({__zrecznosc}))]> @{Cred}%{__zrecznosc}@{n} %;\
        /eval /echo -p -aBCblue wytrzymalosc --$[strrep("-", 5-strlen({__wytrzymalosc}))]> @{Cred}%{__wytrzymalosc}@{n} %;\
        /eval /echo -p -aBCblue inteligencja --$[strrep("-", 5-strlen({__inteligencja}))]> @{Cred}%{__inteligencja}@{n} %;\
        /eval /echo -p -aBCblue madrosc -------$[strrep("-", 5-strlen({__madrosc}))]> @{Cred}%{__madrosc}@{n} %;\
        /eval /echo -p -aBCblue odwaga --------$[strrep("-", 5-strlen({__odwaga}))]> @{Cred}%{__odwaga}@{n} %;\
        /echo %;\
        /eval /echo -p -aBCgreen bojowki -------$[strrep("-", 5-strlen({__bojowki}))]> @{Cred}%{__bojowki}@{n} %;\
        /eval /echo -p -aBCgreen mentale -------$[strrep("-", 5-strlen({__mentale}))]> @{Cred}%{__mentale}@{n} %;\
        /echo %;\
        /eval /echo -p -aBCyellow suma cech -----$[strrep("-", 5-strlen({__suma_cech}))]> @{Cred}%{__suma_cech}@{n} %;\
        /echo %;\
        /eval /echo -p -aBCyellow wspolczynnik --$[strrep("-", 5-strlen(substr({__wspolczynnik}, 0, 5)))]> @{Cred}$[substr({__wspolczynnik}, 0, 5)]@{n} %;\
        /echo


/def med = \
        /__med_licz %;\
        /send medytuj %;\
        /send ocen sile %;\
        /send ocen zrecznosc %;\
        /send ocen wytrzymalosc %;\
        /send ocen inteligencje %;\
        /send ocen madrosc %;\
        /send ocen odwage %;\
        /send powstan %;\
        /send cechy %;\


Działa dość prosto - wchodzimy do medytowalni i /med
Nastepnie w każdej chwili można sobie sprawdzić poziom cech poprzez: /licznik
Ma jedną zaletę - triggery są jednorazowe ustawiane na czas medytacji - dzięki temu w trakcie normalnej gry nie spowalniają przetwarzania tekstu przez tf. Wymaga jednak tf5 (/repeat z ułamkowym argumentem).

Byłbym wdzięczny za wszelkie uwagi dotyczące tego licznika.

Pozdrawiam.
Khigshu - 04 Paź, 2005 - 13:14
Temat postu:
Działa ślicznie, brawa dla Lokkaka Very Happy

Też może coś wkleję od siebie, tylko jak na razie to mam same "banały" Wink [/code]
Lokkak - 06 Paź, 2005 - 12:10
Temat postu:
Kod:
;; Copyright 2003-2005 Liwiusz Ociepa <liwiusz<malpka>gmail,com>
;;    This program is free software; you can redistribute it and/or modify
;;    it under the terms of the GNU General Public License as published by
;;    the Free Software Foundation; either version 2 of the License, or
;;    (at your option) any later version.

;; Sposob uzycia:
;; /def _nowa_funkcja = /test $[__wykonaj("<polecenie>", "<lista argumentow>")]
;; Argumenty w poleceniu reprezentuje zmienna lokalna __a

/def -i __wykonaj = \
        /let __polecenie %{1} %;\
        /shift %;\
        /let __a= %;\
        /let __b=%{*} %;\
        /let __j $[strlen({__b})] %;\
        /while ({__j} > 0) \
                /let __i $[strstr({__b}, ",")] %;\
                /if ({__i} >= 0) \
                        /let __a=%{__a} $[substr({__b}, 0, {__i})] %;\
                        /let __k $[strlen({__a})] %;\
                        /if ({__k} > 0) \
                                /eval %{__polecenie} %;\
                        /endif %;\
                        /let __a= %;\
                        /let __b=$[substr({__b}, ({__i}+1))] %;\
                /else \
                        /let __a=%{__a} %{__b} %;\
                        /let __b= %;\
                /endif %;\
                /let __j $[strlen({__b})] %;\
        /done %;\
        /let __k $[strlen({__a})] %;\
        /if ({__k} > 0) \
                /eval %{__polecenie} %;\
        /endif

;; Przyklady

/def wdp = \
        /send otworz plecak %;\
        /test $[__wykonaj("/send wloz %{__a} do plecaka", {*})] %;\
        /send zamknij plecak

/def wez = /test $[__wykonaj("/send wez %{__a}", {#} ? {*} : "wszystko")]



Przykład prostej funkcji pomocniczej -> __wykonaj
Dzięki niej można bardzo łatwo napisać aliasy przetwarzające listę argumentów rozdzielonych przecinkiem.
Zastosowanie przykładów podanych powyżej:
/wdp czerwone miecze, zielone elfki, srebrne monety
Wyśle do muda:
otworz plecak
wloz czerwone miecze do plecaka
wloz zielone elfki do plecaka
wloz srebrne monety do plecaka
zamknij plecak

W definicji funkcji wez jest przykład zastosowania "domyślnych" argumentów:
/wez
wyśle:
wez wszystko

natomiast
/wez monety, kamienie
wyśle:
wez monety
wez kamienie
Lokkak - 06 Paź, 2005 - 12:27
Temat postu: Drobnostka dla zbieraczy
Kod:
;; Copyright 2003-2005 Liwiusz Ociepa <liwiusz<malpka>gmail,com>
;;    This program is free software; you can redistribute it and/or modify
;;    it under the terms of the GNU General Public License as published by
;;    the Free Software Foundation; either version 2 of the License, or
;;    (at your option) any later version.

/def -i __sprzedaj = \
        /if ({#} > 1) \
                /send otworz plecak %;\
                /let __i %{1} %;\
                /shift %;\
                /repeat -0 -S %{__i} \
                        /send wez %{*} z plecaka %%;\
                        /send sprzedaj %{*} %%;\
                        /send wloz monety do plecaka %;\
                /send zamknij plecak %;\
        /endif


/def -i __sprzedaj_ciezkie = \
        /if ({#} > 1) \
                /send otworz plecak %;\
                /send odloz plecak %;\
                /let __i %{1} %;\
                /shift %;\
                /repeat -0 -S %{__i} \
                        /send wez %{*} z plecaka %%;\
                        /send sprzedaj %{*} %%;\
                        /send wloz monety do plecaka %;\
                /send wez plecak %;\
                /send zaloz plecak %;\
                /send zamknij plecak %;\
        /endif


/def sb = /__sprzedaj $[{#} ? {1} : 3] bronie
/def scb = /__sprzedaj_ciezkie $[{#} ? {1} : 3] bronie

/def sz = /__sprzedaj $[{#} ? {1} : 3] wszystkie zbroje
/def scz = /__sprzedaj_ciezkie $[{#} ? {1} : 3] wszystkie zbroje



Dla osób zbierających złom w ilościach uniemożliwiających wyjęcie czegokolwiek z plecaka bądź tylko wymagających wyciągania przedmiotów na raty przed sprzedażą
/sb 2
wyśle do muda:
otworz plecak
wez bronie z plecaka
sprzedaj bronie
wloz monety do plecaka
wez bronie z plecaka
sprzedaj bronie
wloz monety do plecaka
zamknij plecak

/scb 2
otworz plecak
odloz plecak
wez bronie z plecaka
sprzedaj bronie
wloz monety do plecaka
wez bronie z plecaka
sprzedaj bronie
wloz monety do plecaka
wez plecak
zaloz plecak
zamknij plecak

Argument wywołania funkcji oznacza ilość powtórzeń.
W podobny sposób można definiować sprzedawanie dowolnych przedmiotów, których ilość (waga) uniemożliwia wyjęcie ich z pojemnika na raz.
Siarrus - 12 Lut, 2006 - 19:24
Temat postu:
Pytanie moze i proste i banalne ale sie z tym mecze
Jak w tf'ie ustawia sie kolorowanie tekstu bo wiekszosc to ma ale jak chce sam jakis tekst pokolorowac to nedza Sad

2) przy okazji choc to chyba nie ten dzial
gdzie moge znalez cos na temat pisania mudow ?
Drannor - 12 Lut, 2006 - 19:51
Temat postu:
Co do punktu 2, to:
http://twoj.net/index.php?s=cf8ec69586e7b7bc24980acfba1345e6&showtopic=3592
Lokkak - 12 Lut, 2006 - 23:30
Temat postu:
Siarrus napisał:
Pytanie moze i proste i banalne ale sie z tym mecze
Jak w tf'ie ustawia sie kolorowanie tekstu bo wiekszosc to ma ale jak chce sam jakis tekst pokolorowac to nedza Sad


Najprostszy przykład:
/def -P0Cgreen -t"ble" <- podswietla tylko ble
/def -aCgreen -t"ble" -mregexp <- podswietla całą linijke zawierającą ble

Jak chcesz więcej to: /help def
Siarrus - 13 Lut, 2006 - 12:42
Temat postu:
dzieki
Lokkak - 17 Cze, 2009 - 11:09
Temat postu: Róża wiatrów.
Mały dodatek - wymaga tfa z wielowierszowym paskiem statusu (wersja od KK).

Przykład jak używać odpowiednich funkcji:
Kod:
/def -i -P1Cgreen -w -p300 -t"^(?:> ){0,1}Jedyne widoczne wyjscie to:(.*)\." __kierunki_1_hilite = /repeat -0 1 /__set_kierunki %{P1}

/def -i -P5Cgreen -w -p300 -t"^(?:> ){0,1}(Sa|Jest) tutaj ([a-z]*) widoczn(e|ych) wyjsc(|ia|ie):(.*)\." __kierunki_2_hilite = /repeat -0 1 /__set_kierunki %{P5}


Przykład podpięcia do statusline:
Kod:
/def -i status_clean = \
        /for i 0 (status_height-1) \
                /let j=$$[status_fields(i)] %%;\
                /while ({j} !~ "") \
                        /status_rm -r%%{i} %%;\
                        /let j=$$[status_fields(i)] %%;\
                /done

/status_clean

;; Roza wiatrow

/status_add -s0 -r0 __wyjscia_nw:1:BCred
/status_add -s0 -r0 __wyjscia_n:1:BCred
/status_add -s0 -r0 __wyjscia_ne:1:BCred
/status_add -s0 -r1 __wyjscia_w:1:BCred
/status_add -s0 -r1 __label_srodek:1:BCred
/status_add -s0 -r1 __wyjscia_e:1:BCred
/status_add -s0 -r2 __wyjscia_sw:1:BCred
/status_add -s0 -r2 __wyjscia_s:1:BCred
/status_add -s0 -r2 __wyjscia_se:1:BCred

/status_add -s2 -r0 __wyjscia_g:1:BCred
/status_add -s2 -r1 __wyjscia_x:1:BCred
/status_add -s2 -r2 __wyjscia_d:1:BCred

/status_add -s2 -r2 __wyjscia_reszta::BCred


Podpięcie do kombinacji ESC,[qwertyuiop] (wciśnięcie i puszczenie ESC a następnie wciśnięcie i puszczenie odpowiedniej literki - pokazanej na pasku statusu) wyjść, które są dynamicznie ustawiane po wejściu na lokację (wyjścia niestandardowe typu: drzwi, domek itd.):
Kod:
/def -ib'^[q' __esc_q = /__akcja_esc_q
/def -ib'^[w' __esc_w = /__akcja_esc_w
/def -ib'^[e' __esc_e = /__akcja_esc_e
/def -ib'^[r' __esc_r = /__akcja_esc_r
/def -ib'^[t' __esc_t = /__akcja_esc_t
/def -ib'^[y' __esc_y = /__akcja_esc_y
/def -ib'^[u' __esc_u = /__akcja_esc_u
/def -ib'^[i' __esc_i = /__akcja_esc_i
/def -ib'^[o' __esc_o = /__akcja_esc_o
/def -ib'^[p' __esc_p = /__akcja_esc_p


Funkcje właściwe:
Kod:
/set __keys_wyjscia q w e r t y u i o p

/def -i __unset_wyjscia = \
        /eval /set __wyjscia_n=$[strcat(" ")] %;\
        /eval /set __wyjscia_s=$[strcat(" ")] %;\
        /eval /set __wyjscia_e=$[strcat(" ")] %;\
        /eval /set __wyjscia_w=$[strcat(" ")] %;\
        /eval /set __wyjscia_nw=$[strcat(" ")] %;\
        /eval /set __wyjscia_sw=$[strcat(" ")] %;\
        /eval /set __wyjscia_ne=$[strcat(" ")] %;\
        /eval /set __wyjscia_se=$[strcat(" ")] %;\
        /eval /set __wyjscia_x=$[strcat(" ")] %;\
        /eval /set __wyjscia_g=$[strcat(" ")] %;\
        /eval /set __wyjscia_d=$[strcat(" ")] %;\
        /eval /set __wyjscia_reszta=$[strcat(" ")] %;\
        /purge __akcja_esc_[qwertyuiop]

/__unset_wyjscia

/def -i __set_wyjscia = \
        /let i=%{#} %;\
        /let k=1 %;\
        /while ({i} > 0) \
                /let j $(/nth %{i} %{*}) %;\
                /if ({j} =~ "polnoc") /set __wyjscia_n=| %;\
                /elseif ({j} =~ "poludnie") /set __wyjscia_s=| %;\
                /elseif ({j} =~ "wschod") /set __wyjscia_e=- %;\
                /elseif ({j} =~ "zachod") /set __wyjscia_w=- %;\
                /elseif ({j} =~ "polnocny-zachod") /set __wyjscia_nw=\\ %;\
                /elseif ({j} =~ "poludniowy-zachod") /set __wyjscia_sw=/ %;\
                /elseif ({j} =~ "polnocny-wschod") /set __wyjscia_ne=/ %;\
                /elseif ({j} =~ "poludniowy-wschod") /set __wyjscia_se=\\ %;\
                /elseif ({j} =~ "wyjscie") /set __wyjscia_x=X %;\
                /elseif ({j} =~ "gora") /set __wyjscia_g=U %;\
                /elseif ({j} =~ "dol") /set __wyjscia_d=D %;\
                /else \
                        /let l $(/nth %{k} %{__keys_wyjscia}) %;\
                        /set __wyjscia_reszta %{__wyjscia_reszta} %{l} %{j} %;\
                        /eval /def __akcja_esc_%{l} = /send %{j} %;\
                        /test $[++k] %;\
                /endif %;\
                /test $[--i] %;\
        /done

/def -i __set_kierunki = \
        /__unset_wyjscia %;\
        /__set_wyjscia $[replace(",", " ", replace(" i ", " ", {*}))]


Pozdrawiam,
Lokkak - 24 Wrz, 2009 - 01:39
Temat postu: Czary i tf.
Na mudzie od dawna jest magia a skrypty postarkadyjskie i podobne jej nie obsługują. Poniżej proste przykłady czarowania.
Kod:
/def czaruj = \
        /test regmatch('^([^,]+),([^,]+)$$', {*}) %;\
        /if (({P1} =~ "")|({P2} =~ "")) \
                /echo /czaruj czar,w kogo %;\
        /else \
                /let czar=%{P1} %;\
                /let kogo=%{P2} %;\
                /def -i -n1 -mregexp -p600 -t"^[> ]*Oddalasz sie myslami, pograzajac umysl w glebokiej koncentracji." __czary_koncentracja = mwskaz %{kogo} %%; /purge -i __czary_* %;\
                /def -i -n1 -mregexp -p600 -t"^[> ]*Ochlon, zanim ponownie sie skoncentrujesz." __czary_ochlon = /purge -i __czary_* %;\
                /def -i -n1 -mregexp -p600 -t"^[> ]*Nie udaje ci sie skoncentrowac nad zakleciem." __czary_brakkoncentracji = /purge -i __czary_* %;\
                /def -i -n1 -mregexp -p600 -t"^[> ]*Nie znasz zaklecia o takiej nazwie." __czary_brakczaru = /purge -i __czary_* %;\
                /send mwypowiedz %{czar} %;\
        /endif




/def lele = /czaruj leczenie lekkich ran, %{*}

/def lesr = /czaruj leczenie srednich ran, %{*}


Teraz wystarczy: /lele siebie, /lele esaila ....
Odpalamy i mamy wskazywanie załatwione.
Jak chcemy sobie jednorazowo jakiś czar odpalić w czyimś kierunku:
/czaruj nazwa czaru, w kogo

Szczególnie przydatne gdy liczba komunikatów od muda jest duża i trudno wyłapać koncentrację.
Wszystkie czasy w strefie CET (Europa)
PNphpBB2 © 2003-2006