From bfced10e0ae95b874ee6b9d2c4999897a5e2b418 Mon Sep 17 00:00:00 2001 From: Bartek Stalewski Date: Sat, 16 Feb 2013 01:08:43 +0100 Subject: [PATCH] Dokumentacja --- README | 10 --- README.markdown | 21 ++++++ _doc/HELP.markdown | 167 +++++++++++++++++++++++++++++++++++++++++++++ _doc/pasek.png | Bin 0 -> 12066 bytes _tfrc => tfrc | 0 5 files changed, 188 insertions(+), 10 deletions(-) delete mode 100644 README create mode 100644 README.markdown create mode 100644 _doc/HELP.markdown create mode 100644 _doc/pasek.png rename _tfrc => tfrc (100%) diff --git a/README b/README deleted file mode 100644 index 61a6359..0000000 --- a/README +++ /dev/null @@ -1,10 +0,0 @@ -Zestaw skryptów do TF-a przystosowany do Arkadii i Nightala. - -Autorem jest głównie Werbat, ale część kodu jest zerżnięta od innych -(odpowiednie adnotacje znajdują się przy kodzie obcego autorstwa). - -Instrukcja konfiguracji i uruchomienia: - -1) git clone https://bitbucket.org/ftpd/tf-scripts.git ~/tf -2) cp ~/tf/_tfrc ~/.tfrc -3) tf diff --git a/README.markdown b/README.markdown new file mode 100644 index 0000000..a3b3a1d --- /dev/null +++ b/README.markdown @@ -0,0 +1,21 @@ +Skrypty do [TinyFugue](http://tinyfugue.sourceforge.net) przystosowane do polskich LP-mudów: [Arkadii](http://arkadia.pl) (rozwijane aktywnie) oraz [Nightala](http://nightal.pl) (obecnie zawieszone). Do poprawnego działania wymagają tf-a w wersji __co najmniej 5.0b8__. + +Disclaimer: +----------- + +Autorem jestem w większości ja, ale część kodu jest zerżnięta od innych - dpowiednie adnotacje znajdują się przy kodzie obcego autorstwa. Jeśli skrypty zawierają Twój kod, a nie jesteś wymieniony jako autor i/lub chcesz, żeby go wywalić z paczki, [daj znać](http://insomniac.pl/info/contact). + +Instrukcja używania znajduje się w pliku [HELP.markdown](_doc/HELP.markdown). + +Instalacja: +=========== + +Pierwsze pobranie: +------------------ +- rm -rf ~/tf +- git clone https://bitbucket.org/ftpd/tf-scripts.git ~/tf +- cp ~/tf/tfrc ~/.tfrc + +Aktualizacja: +------------- +- cd tf && git reset --hard && git clean -fd && git pull diff --git a/_doc/HELP.markdown b/_doc/HELP.markdown new file mode 100644 index 0000000..4cb73e4 --- /dev/null +++ b/_doc/HELP.markdown @@ -0,0 +1,167 @@ +# Informacje ogólne + +## Notacja użyta w instrukcji: + +| | +| - | - | +| {ścieżka} | - ściezka do pliku na dysku | +| _kursywa_ | - bezpośrednia komenda występująca na mudzie | +| `tekst w ramce` | - dokładna komenda do wpisania | +| | - zmienna | +| [tekst] | - zmienna opcjonalna | + +## Plik postaci + +Po pierwszym uruchomieniu skryptów tworzony jest katalog ukryty {~/.tf] zawierający ustawienia dotyczące konkretnych postaci. Po pierwszym zalogowaniu się na daną powstać powstaje plik {~/.tf///.tf}, będący kopią [stdplayer.tf](../common/stdplayer.tf). W pliku tym należy ustawić kilka podstawowych zmiennych (plik zawiera komentarze, co która zmienna oznacza). + +## Własne modyfikacje + +__UWAGA:__ Skrypty w katalogu {~/tf} nie powinny być zmieniane przez użytkownika. Ewentualne zmiany zostaną nadpisane podczas aktualizacji skryptów. Wszelkie własne zmiany powinny być wprowadzane __wyłącznie__ w pliku postaci (lub innym miejscu w katalogu {~/.tf}). Przykładowe tworzenie aliasów i komend: + +| | +| - | - | +| `/alias pod podskocz` | - tworzy aliasa `pod` wykonującego _podskocz_ | +| `/def pod = podskocz` | - tworzy komendę `/pod` wykonującą _podskocz_ | + +# Bindy + +## Klawiatura podstawowa + +| | +| - | - | +| `F1` - `F8` | - ustawiane przez użytkownika komendami `/f1`, `/f2`, ..., `/fn` | +| `F9` | - _zabij _ (ustawiany komendą `/cel`) | +| `Esc + F9` | - _przelam obrone _ (ustawianego komendą `/cel`) | +| `F10` | - _zabij _ (ustawiany komendą `/cel2`) | +| `Esc + F10` | - _przelam obrone _ (ustawianego komendą `/cel2`) | +| `F11` | - _przestan walczyc_ | +| `F12` | - autołazik (opisany w sekcji "Łazik") | +| `[` | - atak na wskazanego | +| `]` | - przelamanie wskazanego | + +## Klawiatura numeryczna + +| | +| - | - | +| `/` | - normalne chodzenie | +| `*` | - przemykanie | +| `-` | - przemykanie z drużyną | +| `5` | - ruch łazika na kolejną lokację (opisany w sekcji "Łazik") | +| `+` | - _gora_ | +| `.` | - _dol_ | +| `Enter` | - _kondycja wszystkich_ | +| `0` | - _stan_ | + +## Bind dynamiczny + +Klawisz odwrotnego apostrofu (\`) binduje się dynamicznie zależnie od tekstu otrzymanego od muda na komendy typu _zapal lampe_ albo _zapukaj w brame_. Jego działanie jest jednorazowe, czyli po naciśnięciu bind zostaje usunięty. + +# Pasek stanu + +![pasek](https://bitbucket.org/ftpd/tf-scripts/raw/readme/_doc/pasek.png) + +| | +| - | - | +| __róża wiatrów__ | - pokazuje możliwe wyjścia z lokacji (innym kolorem zaznaczony jest kierunek, z którego przyszła postać | +| __K:__ | - kondycja | +| __Z:__ | - zmęczenie | +| __B:__ | - próba blokowania lub udane zablokowanie (zarówno przez siebie, jak i przeciwko sobie) | +| __W:__ | - warning, na przykład ogłuszenie lub wytrącenie broni | +| __R:__ | - kto aktualnie został wskazany jako rozkaz ataku | +| __Hide:__ | - ukrycie | +| __Sneak:__ | - przemykanie | +| __Mail:__ | - status poczty. Przyjmuje wartości: MAIL (jeden otrzymany list), MSG (jedna wiadomość), MULTI (kilka listów i/lub wiadomości) | +| __Zasl:__ | - gotowość do zasłony lub czas pozostały do następnej próby | +| __Order:__ | - gotowość do wydania rozkazu lub czas pozostały do nastepnej próby | +| __Warn:__ | - ostrzeżenie, np. o walce bez broni | +| __Bind:__ | - aktualna komenda przypięta do binda dynamicznego (opisanego w sekcji "Bindy / Bind dynamiczny") | +| __/__ | - zabici przez siebie / polegli w ogóle od zalogowania | + +# Komendy + +## Techniczne + +| | +| - | - | +| `/c` | - czyści ekran | +| `/fk ` | - wyswietla tak, jakby przyszedł od muda - przydatne do testowania skryptów | +| `/ack` | - czyści bind dynamiczny, informacje "Warning" na pasku itp. | +| `/reload` | - przeładowuje skrypty (jednocześnie kasując wszelkie dopisane 'z palca' zmiany, aliasy itp.) | +| `/ktoto ` | - szuka pasujących wystapień w bazie imion | +| `/typo ` | - wpisane wysyła do muda . Przydatne do skracania sobie trudnych do wpisania nazw | +| `/testuj` | - wysyła do muda mnóstwo komend i wyświetla te, których wpisanie spowodowało coś innego, niż _Slucham?_. Przydatne do zgadywania właściwej komendy itp. | +| `/glow ` | - włącza kolorowanie aż do nastepnego `/reload` lub `/unglow` | +| `/unglow ` | - wyłącza kolorowanie + +## Ogólne + +| | +| - | - | +| `/f1 ` - `/f8 ` | - binduje klawisze `f1` - `F8` pod wskazane komendy | +| `/kowal` | - rozpoczyna naprawę broni i zbroi | +| `/poczta` | - wyświetla informacje o otrzymanych listach i/lub wiadomościach | +| `/exp` | - medytuje, ocenia cechy i wstaje | + +## Bojowe + +| | +| - | - | +| `/comp ` | - porównuje cechy bojowe z | +| `/cel ` | - ustawia jako cel ataku i łamania | +| `/cel2 ` | - analogicznie do `/cel `, drugi cel ataku | +| `/am` | - wyświetla dostępne tryby ataku oraz informuje o aktualnie ustawionym | +| `/am ` | - ustawia tryb ataku o danym numerze | +| `/zabici` | - pokazuje statystyki zabitych przez siebie i innych | + +## Poruszanie się + +| | +| - | - | +| `/idz ` | - uruchamia łazika we wskazanym | +| `/delay ` | - ustawia szybkość łazika na sekund | +| `/wns` | - wsiadanie na statek (wyjęcie monet, kupienie biletu itp.) | +| `/wdyl` | - wsiadanie do dyliżansu (wyjęcie monet, kupienie biletu itp.) | + +## Ekwipunek + +| | +| - | - | +| `/op` | - zagląda do pojemnika (plecaka, torby, sakwy itp. - rozpoznawane automatycznie przy zakładaniu) | +| `/dp ` | - wkłada do pojemnika | +| `/zp ` | - wyjmuje z pojemnika | +| `/np` | - _napelnij plecak_ (lub inny pojemnik) | +| `/sd` | - zdejmuje wszystkie zbroje i wkłada je do pojemnika | +| `/sz` | - wyjmuje wszystkie zbroje z pojemnika i zakłada je | +| `/bd` | - opuszcza broń i chowa ją do pojemnika lub pochwy (zależnie od ustawień w pliku postaci) | +| `/bz` | - wyjmuje broń z pojemnika lub pochwy (zależnie od ustawień w pliku postaci) i dobywajej | +| `/dw ` | - wkłada do (pierwszego) woreczka | +| `/zw ` | - wyjmuje z (pierwszego woreczka)| +| `/d2w` - `/d8w` | - analogicznie do `/dw`, dla drugiego - ósmego woreczka | +| `/z2w` - `/z8w` | - analogicznie do `/zw`, dla drugiego - ósmego woreczka | +| `/wycen ` | - wycenia wszystkie w sklepie i pokazuje podsumowany zysk w najwyższych możliwych nominałach | +| `/ocenkamienie` | - ocenia kamienie i wyświetla ich szacowaną wartość w najwyższych możliwych nominałach | + +# Listy + +Mechanizm list służy do kolorowaia imion i/lub opisów innych postaci (oczywiście nic nie stoi na przeszkodzie, żeby kolorować nim cokolwiek innego - to po prostu lista wyrażeń, które będą pokolorowane tak, jak zdefiniowana jest lista ;-)). Możliwe do użycia komendy: + +| | +| - | - | +| `/dodaj liste [kolor tla]` | - dodaje listę o podanej nazwie i zdefiniowanych kolorach | +| `/dodaj ` | - dodaje dane wyrażenie (również reglarne!) do listy | +| `/zmien [kolor tla]` | - zmienia kolorowanie podanej listy | +| `/wyswietl listy` | - pokazuje aktualnie zdefiniowane listy | +| `/wyswietl ` | - pokazuje wyrażenia dodane do podanej listy | +| `/usun liste ` | - usuwa listę | +| `/usun ` | - usuwa dane wyrażenie z podanej listy | + +# Łazik + +- klawisz `F12` inicjuje łazik, który idzie do najbliższego skrzyżowania. Odstęp czasowy między lokacjami definiowany jest komendą `/delay`. +- klawisz `5` na klawiaturze numerycznej powoduje ruch o jedną lokację - na lokacjach z dwoma wyjściami pójdzie w stronę, z której postać nie przyszła (przydatne na traktach - można klikać co żądany czas `5` zamiast wpisywać kierunki). Inicjowany na lokacji z więcej niż dwoma wyjściami nie robi nic. + +# Drużyna + +Przy zmianie drużyny (dołączanie, opuszczanie, zmiana przywódcy, przekazanie itp.) należy wcisnąć kombinację klawiszy `Control + d`. Dzięki temu podczas wywołania komendy _kondycja wszystkich_ przy członkach drużyny pojawią się klawisze przypisane do danej osoby (z zakresu f1 - f8). Wciśnięcie kombinacji `Esc + ` będzie próbowało daną osobę zasłonić. + +__UWAGA:__ skryptowi do odmiany daleko do doskonałości. Trzeba dopisywać wyjątki - póki co staram się wpisywać je globalnie (docelowo będzie to przeniesione do plików prywatnych w katalogu _~/.tf_), dlatego najlepiej będzie przypadki do dopisania [zgłosić](https://bitbucket.org/ftpd/tf-scripts/issues) - skorzystają na tym wszyscy użytkownicy skryptów. diff --git a/_doc/pasek.png b/_doc/pasek.png new file mode 100644 index 0000000000000000000000000000000000000000..019dc9f2bf4ff6e7f16204aa61cde6867e26089b GIT binary patch literal 12066 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 literal 0 HcmV?d00001 diff --git a/_tfrc b/tfrc similarity index 100% rename from _tfrc rename to tfrc