Mudlet 2.1 - Mapper + zestaw prostych niezawodnych skryptów

Forum techniczne Arkadii.
Awatar użytkownika
Adremen
Posty: 242
Rejestracja: 31 gru 2009 11:13

Re: Mudlet 2.1 - zestaw prostych niezawodnych skryptów

Post autor: Adremen »

^Tercoral: na Twoje sugestie odnośnie skryptu drużynowego odpowiem później.

ARKADIA MAPPER 1.0

Myślę, że pierwsza używalna wersja jest już gotowa. Wspiera GMCP (i wymaga!), rysowanie, śledzenie (gdy chodzimy my to śledzi wszystko włącznie z niestandardowymi, dla drużyny tylko dla prostych kierunków), chodzik ze skrótami, kolory, specjalne przejścia, obszary itp.

JAK ZACZĄĆ?
Polecam utworzenie nowego profilu. Przed instalacją paczki włączyć GMCP, restart Mudleta i można instalować paczkę i włączyć mapper. W zależności, jeśli postać jest na jakiejś lokacji z GMCP to utworzy od razu pierwszą strefę z GMCP. Jesli postać jest nie w lokacji z GMCP zalecam na przemieszczenie się na taką i rozpoczęcie z komendą '/rysuj gmcp'.
Symbole lokacji (np "P" dla poczty itp) trzeba ustawić menu na mapie (prawy na lokację i "letter"), bo nie działa ten API call w Mudlecie, którego używam (2.1 dla Maca). Przewijanie mapy to przytrzymanie ALT + lewy klik na mapie i suniemy myszką.

OGÓLNE

Kod: Zaznacz cały

+--------------------------- Arkadia mapper, ver 1.0 ----------------------------+
|                                                                                |
| [komenda] - [opis]                                                             |
|                                                                                |
| POMOC:                                                                         |
| /mapper - ta pomoc.                                                            |
| /mapper_rys - pomoc do rysowania.                                              |
| /mapper_opcje - pomoc do opcji.                                                |
| /mapper_skroty - pomoc do skrotow.                                             |
|                                                                                |
| -----------------------                                                        |
| OGOLNE:                                                                        |
| /rysuj gmcp|manual|off - mapowanie, 'gmcp' do automatycznego mapowania (GMCP), |
| 'manual' do recznego (uzyj '/mapper manual'.                                   |
| /lok - informacja o aktualnej lokacji.                                         |
| /zlok - stara sie zlokalizowac na podstawie GMCP (najwazniejsze trakty,        |
| miasta itp. Sa to lokacje, ktore sa widoczne na mapperze w kliencie webowym.   |
| /ustaw [numer_lokacji] - ustawia cie na konkretnej lokacji.                    |
|                                                                                |
| -----------------------                                                        |
| CHODZIK:                                                                       |
| /idz [nazwa_skrotu] - idzie do lokacji [nazwa_skrotu] ('/mapper_skroty').      |
| /stop - wylacza chodzik                                                        |
| /opoz [liczba] - ustawia opoznienie na taki czas                               |
|                                                                                |
Są trzy opcje rysowania:
1. /rysuj off - to jest śledzenie po mapie, czyli zwykłe przemieszczanie. Śledzenie działa poprzez GMCP i korzysta z kierunków. Możliwości poboru kierunków są dwa. Pierwszy to bindy klawiszowe. W tych bindach są zbindowane "s", "n" itp i one muszą tam być, jeśli ich nie będzie to mapper nie będzie śledził prawidłowo. Drugi to ze śledzenia drużyny. Na razie działa to w prostych kierunkach, kolejna wersja będzie zawierała śledzenie ze specjalnymi lokacjami. Warto pamiętać, że kierunki są zbierane, ale jeśli ruch się nie uda (np wyjście na "zachod" jest zablokowane, a nacisnęliśmy "zachod") to mapper nie przeskoczy. Inicjacja jest przez GMCP - jeśli klient otrzymuje room.info to wie, że coś się zmienia i wtedy mapper działa z wyszukaniem odpowiedniej lokacji.
Rysowanie jest jednostronne (nie łączy kierunków z lokacją, z której przyszliśmy). Najważniejszy powód to łączenie stubów, które wprowadzają czasami głupi zamęt, dlatego na razie nie jest to używane.
2. /rysuj gmcp - opcja do rysowania z GMCP. Koordynaty i obszar ('name' w room.info) jest brany z GMCP. Jeśli postać wejdzie na lokację bez GMCP to nie zostanie zmapowana. Do mapowania, gdzie GMCP nie jest dostępne służy poniższa opcja.
3. /rysuj manual - rysowanie manualne, gdzie domyślnym "skokiem" lokacji jest wartość 2 (można wartość modyfikować w opcjach). Cała gama komend jest w '/mapper_rys', które będą opisane poniżej.

'/lok' służy do wypisania informacji o lokacji na ekran.
'/zlok' słuzy do zlokalizowania się na mapie. Do tego potrzebne jest GMCP, więc najlepiej wyjść do dużego miasta, traktu itp.
'/ustaw [numer]' centruje mapę na konkretnym numerze lokacji (na mapperze można zaznaczyć jakąkolwiek lokację i zobaczymy jej ID. Należy pamiętać, aby w dolnym panelu mappera zaznaczyć opcję "Info", wtedy na lewym górnym rogu mamy zawsze informację o aktualnej lokacji na której wycentrowana jest mapa.

CHODZIK

Chodzik jest zrealizowany bardzo prosto. Obsługuje zarówno podwójne lewe kliknięcie na mapie na jakiejkolwiek lokacji lub użycie skrótu (opisane poniżej). Należy pamiętać, że jeśli połączenie nie istnieje w mapperze to chodzik oczywiście nie wystartuje. Domyślne opóźnienie to 2 sekundy, można ustawić jakiekolwiek. Dostępne opcje:

'/idz [nazwa_skrotu]' pójdzie do lokacji z tą nazwą skrótu (poniżej)
'/stop' zatrzyma chodzika. I należy zaczekać aż zobaczymy "zatrzymany". Pójście gdziekolwiek ręcznie w trakcie pracy jest nieprzewidywalne.
'/opoz [liczba]' ustawia opóźnienie. Można ustawiać również w trakcie pracy chodzika

Chodzik obsługuje również bramy w taki sposób, że jeśli natrafi na bramę to pokaże coś takiego:

Kod: Zaznacz cały

> s
Ruszasz biegiem na poludnie.
Brama Powroznicza.
Zamknieta stalowa krata prowadzaca na poludnie.
Sa tutaj trzy widoczne wyjscia: polnoc, zachod i wschod.
> s(mapper): **** OTWORZ UZYWAJAC ALT+2 ****
> 
I wtedy trzeba użyć binda ALT+2 i chodzik będzie kontynuował pracę. UWAGA: Nie dajemy wtedy żadnej lokacji, chodzik sam wie gdzie iść. Większość bram w Ishtar jest obsługiwana, Imperium nie sprawdzałem, ale jest to bardzo łatwe do dodania w triggerach.

RYSOWANIE

Opcji jest sporo:

Kod: Zaznacz cały

+--------------------------- Arkadia mapper, ver 1.0 ----------------------------+
|                                                                                |
| Opcje do rysowaniu                                                             |
|                                                                                |
| [komenda] - [opis]                                                             |
|                                                                                |
| /dodaj_obszar [nazwa] - dodaj obszar o nazwie.                                 |
| /pokaz_obszary - pokaze obszary                                                |
| /zmien_obszar [nazwa] - zmienia obszar aktualnej lokacji na [nazwa]            |
|                                                                                |
| /ex [numer_lokacji] [kierunek] - dodaj wyjscie z aktualnej lokacji             |
| do [numer lokacji] w kierunku [kierunek].                                      |
| /exf [z_lokacji_nr] [do_lokacji_nr] [kierunek] - dodaj wyjscie                 |
| [z lokacji nr] [do_lokacji_nr] w kierunku [kierunek].                          |
| do [numer lokacji] w kierunku [kierunek].                                      |
| /spe_lok [kierunek] [specjalne przejscie] - dodaje lokacje w kierunku          |
| [kierunek], na ktora przechodzi sie komenda [specjalne przejscie]              |
| przykladowo: '/spe_lok e przejdz przez strumien' stworzy lokacje na wschod (e) |
| od aktualnej, na ktora przechodzi sie przejsciem 'przejdz przez strumien'.     |
| /spe [numer lokacji] [przejscie] - tworzy polaczenie z obecnej lokacji         |
| do [numer lokacji], do ktorej przechodzi sie [specjalne przejscie]             |
| /wycofaj_lok - wycofa ostatnio stworzona lokacje i cofnie                      |
| do poprzedniej. Dziala tylko w ustawieniu 'manual'.                            |
| /kolor - ustawia kolor aktualnej lokacji.                                      |
| /pokaz_kolory - pokaze liste zdefiniowanych kolorow.                           |
|                                                                                |
+--------------------------------------------------------------------------------+
Nie będę opisywał ich po kolei. Najważniejsze to, że nawet jeżeli rysujemy po GMCP to trzeba czasami użyć "/spe" lub "spe_lok". Przypominam: ID aktualnej lokacji możemy zdobyć poprzez zerknięcie w lewy górny róg. Można również zaznaczyć jakąkolwiek lokację na mapie i zobaczymy wtedy ID. Lokacje można też usuwać, kolorować itp itd na mapie - zaznaczamy lokację i robimy z nią co chcemy.

OPCJE

Na razie są dwie opcje.

Kod: Zaznacz cały

+--------------------------- Arkadia mapper, ver 1.0 ----------------------------+
|                                                                                |
| Ustawianie opcji poprzez /ustaw_opcje [nazwa] [wartosc].                       |
| Przykladowo: /ustaw_opcje laczenie_stubow 1.                                   |
| Aktualne ustawienie: uzyj /pokaz_opcje                                         |
|                                                                                |
| [opcja] - [opis] i dostepne wartosci                                           |
|                                                                                |
| skok_x - ustawia domyslna wartosc skokowa na mapie podczas rysowania 'manual'. |
| Czyli jak ruch jest na wschod to 'x' zostanie przesuniete o ta wartosc.        |
| Przykladowo dla wartosci '2': (x: 50, y: 60 --> x: 52, y: 60)                  |
| Dostepne wartosci: jakikolwiek int, sugerowane '2'.                            |
|                                                                                |
| skok_y - j.w. ale dla osi y.                                                   |
|                                                                                |
+--------------------------------------------------------------------------------+
skok_x i skok_y służy jak w opisie i przydaje się w rysowaniu manual. Można też zmienić koordynary korzystając z mapy, ale radzę robić to ostrożnie! Najpierw zmapować lokację i jej wyjścia, później ją można przenieść w inne koordynaty.

SKRÓTY

Kod: Zaznacz cały

+--------------------------- Arkadia mapper, ver 1.0 ----------------------------+
|                                                                                |
| Pomoc dla skrotow                                                              |
|                                                                                |
| [komenda] - [opis]                                                             |
|                                                                                |
| /dodaj_skrot [id_pokoju] [nazwa] [opis] - dodaj skrot do [id_pokoju],          |
| ktory bedzie mial [nazwe] i daj do niego [opis]. Id to liczba i musi byc       |
| taki pokoj w mapperze! Nazwa to krotka nazwa, po ktorej bedziesz go uzywal     |
| i musi byc zlozona tylko z malych i duzych liter oraz dozwolony jest '_'.      |
| Opis dowolny.                                                                  |
| /usun_skrot [nazwa] [nazwa] [opis] - Usun skrot o [nazwie].                    |
| /usun_skroty - Usun wszystkie skroty.                                          |
| /pokaz_skroty - Pokaze zdefiniowane skroty.                                    |
|                                                                                |
+--------------------------------------------------------------------------------+
Można dodawać, usuwać i używać skrótów. Jest to do chodzika. Chodzi o to, że jest sporo lokacji, w które orientacyjnie chcemy iść i chcemy to zrobić szybko, a nie szukać po mapie konkretnej lokacji (np. ze zbójów na pocztę w Wyzimie. wtedy dodajemy sobie jakiś skrót "poczta_wyzima" i później możemy go zawsze używać w '/idz poczta_wyzima'). Trzeba pamiętać, że bazuje to na ID lokacji, także jeśli stworzymy skrót do poczty w Wyzimie i w przyszłości przeoramy mapę Wyzimy z nowymi ID to ID nie będzie już ID poczty w Wyzimie (najprawdopodobniej). Skróty są zapisywane w pliku 'amap_shortcuts_db.lua" w folderze profilu.

A tak to wygląda: Zmapowany trakt Wyzima-Biały Most z kawałkiem Warowni Zbójów

To by było na tyle na chwilę obecną. Czekam na jakiekolwiek uwagi, komentarze i informacje o błędach. Będę również wdzięczny za jakiekolwiek pomysły czego jeszcze może brakować.
Załączniki
mapper.xml.zip
(9.33 KiB) Pobrany 135 razy
Terum
Posty: 60
Rejestracja: 01 gru 2015 15:17

Re: Mudlet 2.1 - Mapper + zestaw prostych niezawodnych skryptów

Post autor: Terum »

Ja mam pytanie, jak powinna wyglądać prawidłowa instalacja tych skryptów w mudlet 3.0, tak krok po kroku. Najpierw jeden później drugi?
Awatar użytkownika
Adremen
Posty: 242
Rejestracja: 31 gru 2009 11:13

Re: Mudlet 2.1 - Mapper + zestaw prostych niezawodnych skryptów

Post autor: Adremen »

Terum pisze:Ja mam pytanie, jak powinna wyglądać prawidłowa instalacja tych skryptów w mudlet 3.0, tak krok po kroku. Najpierw jeden później drugi?
Nie ma znaczenie kolejność. Pobierasz pliki xml i uruchamiasz Package Manager w Mudlecie. Wskazujesz plik xml, który chcesz zainstalować i tyle, skrypty powinny działać. Koniecznie pamiętaj o włączeniu GMCP w opcjach (opcja Enable GMCP), bez tego nie będą działały.
Terum
Posty: 60
Rejestracja: 01 gru 2015 15:17

Re: Mudlet 2.1 - Mapper + zestaw prostych niezawodnych skryptów

Post autor: Terum »

Testuje mapper na Imperium i jak na tą chwilę działa bez zarzutu, wszystko rysuje się świetnie a mapper się nie gubi i nie trzeba duplikować wejść na lokacje ani nie widać innych problemów technicznych. Jak dla laika jeśli chodzi o programowanie to obsługa jest dziecinnie prosta.

Teraz kwestie, które mnie zastanawiają, chcę narysować mapę cmentarza w Kreutzhofen, ale rysowanie po gmcp konczy się na lokacji, dostępnej w widoku mapy w oficjalnym kliencie dalej mapper nie rysuje. Co należy zrobić w tym przypadku? Czy dalsze lokacje należy rysować z wyłączonym gmcp?

Świetna robota, te skrypty. Czy istnieje możliwość dorzucenia do skryptów wyświetlającego się paska z kondycją, obciążeniem itp?
Awatar użytkownika
Adremen
Posty: 242
Rejestracja: 31 gru 2009 11:13

Re: Mudlet 2.1 - Mapper + zestaw prostych niezawodnych skryptów

Post autor: Adremen »

Dzięki Terum za przetestowanie i kontakt, że jest ok!
Dzisiaj/jutro wystawię wersję 1.1, która zawiera kluczowe usprawnienia:

- chyba najważniejsze: usprawnienie przechodzenia na przejściach specjalnych. Jeśli mamy wyjście z lokacji komendą "drzwi", a lokacja wyjściowa znajduje się w kierunku "e" to będzie wystarczyło użyć binda "e", aby na nią wejść, a nie klepać "drzwi" (oczywiście wejście komendą też zadziała). Dzięki temu chodzenie jest znacznie szybsze i bardziej przyjazne.
- naprawienie śledzenia drużyny, bo niestety nie działa prawidłowo.
- naprawienie kilku błędów i dodanie komend w rysowaniu manualnym (np dodanie lokacji z wyjście na górę na północ od aktualnej, zamiast zmieniania poziomu (koordynaty 'z') o +1.

Również, bardzo ważna rzecz dla Ciebie to jeśli chcesz mapować duże tereny bez GMCP (lasy, jaskinie, pustkowia itp itd) i jest w nim sporo przejść - wstrzymaj się proszę do aktualizacji te kilka/naście godzin. Dodam opcję włączania łączenia stubów. Stuby to kikuty, które są tworzone jak wchodzisz na lokację (np wchodząc na lokację, z której są wyjścia "e", "w", "n" i "s" zrobi takie 4 wystające kikuty na tej lokacji w tych kierunkach (powinieneś to zobaczyć na obecnej mapie gdzieś). I teraz, łączenie stubów to w momencie wejścia na lokację, stuby zostaną połączone z lokacjami (np wyjście jest na "n", a na "n" jest lokacja ze stubem na "s" to się połączą).

Dotychczasowo działało to tak, że aby zmapować teren trzeba było przejść po każdej lokacji i w każdym kierunku, więc mając lasek (czy cokolwiek innego) z dużą ilością przejść we wszystkich możliwych kierunkach zmapowanie tego było problematyczne, gdyż trzeba było się nalatać jak szalony. Nie dodałem początkowo łączenia stubów, bo potrafiło to dość nakręcić. Na przykład, wchodząc na lokację, gdzie mamy wyjście na "e" mudlet postara się znaleźć jakąkolwiek lokację na "e" ze stubem na "w" od obecnej do połączenia. Powodowało to, że lokacja była łączona czasami z jakąś lokacją o 50-60 lokacji od obecnej (czyli np wyjście z jakiegoś budynku na "s" w Wyzimie potrafiło się "złączyć" z jakąś lokacją w Mariborze mającą kikut (stub) na "n"). Ten problem rozwiązałem i to będzie zakodowane, napiszę to w poście opisującym wszystkie zmiany.

Co do pasków - tak, będą dzisiaj/jutro. Zrobię też jedną paczkę do tego: skrypty drużynowe (walczące), obsługa lampy i paski. Będzie możliwość skonfigurowania tak jak się chce (włączenie/wyłączenia pasków).
Awatar użytkownika
Adremen
Posty: 242
Rejestracja: 31 gru 2009 11:13

Re: Mudlet 2.1 - Mapper + zestaw prostych niezawodnych skryptów

Post autor: Adremen »

Ok, czas na aktualizację.

ARKADIA MAPPER 1.1

W tej wersji wprowadziłem kilka dość kluczowych zmian, które znacznie ułatwią korzystanie z mappera. Po kolei opiszę te najważniejsze i z czym się wiążą.

NIESTANDARDOWE PRZEJŚCIA JAKO KIERUNKI
Dodałem obsługę niestandardowych przejść z kierunków standardowych. Przykładowo, jeśli lokacja wyjściowa z aktualnej lokacji jest na zachodzie i jest do niej wyjście drzwi to po naciśnięciu binda na zachód lub podania w linii komend w, wtedy mudlet automatycznie wyśle komendę drzwi i mapper przeskoczy na tę lokację.

AUTOMATYCZNE ŁĄCZENIE KIERUNKÓW W LOKACJACH
Opcja laczenie_stubow w /pokaz_opcje.

Kod: Zaznacz cały

+--------------------------- Arkadia mapper, ver 1.1 ----------------------------+
|                                                                                |
| Ustawianie opcji poprzez /ustaw_opcje [nazwa] [wartosc].                       |
| Przykladowo: '/ustaw_opcje laczenie_stubow 1'                                  |
| Aktualne ustawienie: uzyj '/pokaz_opcje'                                       |
|                                                                                |
| [opcja] - [opis] i dostepne i domyslne wartosci                                |
|                                                                                |
| skok_x - ustawia domyslna wartosc skokowa na mapie podczas rysowania 'manual'. |
| Czyli jak ruch jest na wschod to 'x' zostanie przesuniete o ta wartosc.        |
| Przykladowo dla wartosci '2': (x: 50, y: 60 --> x: 52, y: 60).                 |
| Dostepne wartosci: jakikolwiek int, sugerowane '2'.                            |
| Domyslne wartosci: 2.                                                          |
|                                                                                |
| skok_y - j.w. ale dla osi y.                                                   |
|                                                                                |
| laczenie_stubow - Czy laczyc automatycznie stuby.                              |
| Czyli jesli istnieje stub na aktualnie tworzonej lokacji w kierunku lokacji,   |
| ktora ma stub w kierunku tworzonej lokacji to je polaczy.                      |
| Dostepne wartosci:                                                             |
| 0 - wylaczone, nic nie bedzie laczone i wszystko trzeba przejsc zeby polaczyc. |
| 1 - wlaczone, aktualnie tworzona lokacja polaczy stuby z sasiadami.            |
| 2 - to co wyzej + sprawdzi tez sasiadow stuby, czyli mapowanie duzych terenow  |
| (jak pustki) bedzie znacznie szybsze.                                          |
| Domyslna wartosc: 2.                                                           |
+--------------------------------------------------------------------------------+
Domyślnie jest ustawione 2, czyli najmocniejsze. Znaczy to, że jeśli wejdziemy na lokację, z której wychodzi wszystkie 9 kierunków to mapper oznaczy te 9 stubów. Następnie, sprawdzi czy któryś z tych stubów moze połaczyć. Czyli, mając stub na zachód i mając lokację na zachodzie, która ma też stub na wschód połączy je obustronnie (czyli wykona też akcję na sąsiedzie). 1 to słabsza opcja i nie wykonuje łączeń na sąsiadach. W wyniku tego, rysowanie powinno być szybsze. Ważna uwaga jest taka, że łączenie stubów połączy tylko lokacje w odległości 2 od siebie. Jest to zabezpieczenie, dzięki któremu mapper nie połaczy lokacji np o 20 jednostek odległych od siebie.

NOWE OPCJE
Kilka nowych komend:

1. /dodaj_lok [kierunek] - doda lokację w [kierunku] i połączy ją jednostronnie. Jest to dla kierunków standardowych (9 podstawowych + 'u' i 'd').
2. /dodaj_lok [kierunek] [zlokalizowana] - j.w., ale lokacja będzie [zlokalizowana] w tym kierunku. Czyli np

Kod: Zaznacz cały

/dodaj_lok u w
doda lokację, na którą przechodzi się u, ale będzie zlokalizowana na zachód od aktualnej, a nie na +1 poziomie koordynatu z.
3. /idz [nazwa_skrotu] [opoz] - chodzik może teraz też wziąć konkretne [opoznienie] w formie liczby (1 lub 1.5 itp).


ŚLEDZENIE DRUŻYNY
Zostało naprawione, działa teraz wszędzie ze standardowymi kierunkami. Specjalne przejścia prawdopodobnie w następnej wersji. Przy okazji, potrzebuję do tego jak najwięcej logów opisujących jak wyglądają opisy kiedy przechodzi się za drużyną z niestandardowymi przejściami. Chcę sprawdzić, czy istnieje jakaś reguła, dzięki której będę mógł wyłapać.

INNE
Poprawiłem kilka błędów, które niekoniecznie musiały się gdziekolwiek ujawnić. Na koniec kilka kwestii:

- Aby zainstalować aktualizację, proponuję usunięcie aktualnej paczki, zrestartowanie klienta oraz zainstalowanie nowej. W paczce jest też mapa z ~8k lokacji (większość GMCP arkadii). Mapa to plik *.data i należy ją wrzucić do folderu map w folderze profilu.
- Dla kogoś, kto nie używał poprzedniej wersji, koniecznie przeczytać cały powyższy post opisujący wersję 1.0. GMCP musi być włączone, itp itd. Są tam istotne informacje.
- Przypominam, że w dziale KEYS są bindy klawiaturowe na chodzenie. Jest to bardzo ważne, aby używać właśnie tych, dlatego jeśli w kliencie macie zdefiniowane swoje polecam je chociaż zdezaktywować i te dostarczone przez mappera ustawić na swoje kombinacje.
- Na koniec zalecam /mapper i przejrzenie całej pomocy przed korzystaniem.

Wieczorem wystawię aktualizację drużynowych z załączonym skryptem lampy na start.
Załączniki
mapper_11.zip
(253.77 KiB) Pobrany 155 razy
Awatar użytkownika
Adremen
Posty: 242
Rejestracja: 31 gru 2009 11:13

Re: Mudlet 2.1 - Mapper + zestaw prostych niezawodnych skryptów

Post autor: Adremen »

Nowa paczka skryptów. Zawiera też skrypt walki udostępniony wcześniej, także należy tamten najpierw odinstalować. Teraz wszystkie skrypt będą w tej paczce (jedynie mapper jest i będzie jako osobna paczka).

Kod: Zaznacz cały

/skrypty
+-------------------------- Arkadia skrypty, ver 1.0 ----------------------------+
|                                                                                |
| Dostepne sekcje:                                                               |
|                                                                                |
| /walka - walka, zaslony, bindy, itp.                                           |
| /ekwipunek - lampy, plecaki itp.                                               |
| /ziola - zarzadzanie ziolami.                                                  |
|                                                                                |
+--------------------------------------------------------------------------------+
/walka - atakowanie, zasłony, przełamania itp itd.
/ekwipunek - na razie skrypt do lampy. Zapala lampe, sprawdza ile mamy butelek i wyświetla co pewien kawałek czasu przypomnienie o napełnieniu (/nlo lub ALT + 3)
/ziola - prosty skrypt do zarządzania ziołami. Rzeczy, które wspiera:

- Ustawienie skojarzeń które zioła idą do których woreczków. Skojarzenia wyglądają mniej więcej tak:

Kod: Zaznacz cały

(skrypty): Aktualny podzial ziol. W formie: '[ziolo] = [id_woreczka]'
{
  sliwa = 2,
  poziomka = 1
}
zatem śliwy będą w drugim woreczku, poziomki w pierwszym. Aktualnie skrypt wspiera jedynie opcję, kiedy jedno zioło może być w jednym woreczku. W jednym woreczku może być zdefiniowanych więcej niż jeden typ zioła.
- wkładanie, branie ziół z ich woreczka
- segregowanie (otworzenie 'n' pierwszych woreczków, wzięcie wszystkich ziół i posegregowanie zgodnie z tablicą skojarzeń
- dawanie 'n' ziół konkretnego typu [osobie]. Czyli weźmie odpowiednią ilość zioła z odpowiedniego woreczka i poda odpowiedniej osobie. Pomoc poniżej

Kod: Zaznacz cały

+-------------------------- Arkadia skrypty, ver 1.0 ----------------------------+
|                                                                                |
| Dostepne komendy                                                               |
|                                                                                |
| /ziola - Ta pomoc.                                                             |
|                                                                                |
| /znane_ziola - Ziola rozpoznawane przez skrypt.                                |
| /zz - tablica z aktualnym rostawieniem ziol. Czyli w ktorym worku ktore ziolo. |
|                                                                                |
| /dodaj_ziolo [ziolo] [nr_woreczka - doda do tablicy /zz [ziolo] do [woreczka]. |
| Czyli np '/dodaj_ziolo poziomka 2' sprawi, ze poziomki beda wkladane           |
| drugiego woreczka (2 to drugi, 3 to trzeci itp).                               |
| /usun_ziolo [ziolo] - usuwa skojarzenie [ziolo] z tablicy /zz.                 |
|                                                                                |
| /zajrzyj_ziolo [ziolo] - zaglada do woreczka, w ktorym jest [ziolo].           |
| /pz [ziolo] - policzy [ziola], czyli otworzy jego woreczek, wezmie, policzy,   |
| wlozy do z powrotem do woreczka i pokaze wynik.                                |
|                                                                                |
| /wlozz - Wloz wszystkie ziola w rece, ktore sa w /zz do odpowiednich woreczkow.|
| /wlozz [ziolo] - Wloz wszystkie [ziola] do odpowiedniego woreczka.             |
| /wezz [ziolo] - Wez [ziolo] z odpowiedniego worka. Np '/wezz poziomka'.        |
| /wezz [ziolo] [ilosc] - j.w. z iloscia, np '/wezz poziomka 2'.                 |
|                                                                                |
| dajz [ziolo] [ilosc] [komu] - wezmie [ilosc] [ziol] z jego woreczka i da je    |
| [komus]. np '/dajz poziomka 3 farandarowi' wezmie 3 poziomki z jego worka      |
| i da je farandarowi.                                                           |
| /segreguj [ilosc woreczkow] - wezmie wszystkie ziola z [ilosc] pierwszych      |
| woreczkow, te, ktore sa w /zz wlozy do odpowiednich woreczkow i zamknie je.    |
| Czyli '/segreguj 3' otworzy 'pierwszy', 'drugi', 'trzeci' woreczek,            |
| wezmie z nich wszystkie ziola, powklada te z tablicy /zz do odpowiednich       |
| i zamknie trzy woreczki.                                                       |
|                                                                                |
+--------------------------------------------------------------------------------+
Nie planuję w najbliższym czasie dodania żadnych graficznych bajerów. Patrzyłem i manual jest strasznie długi, dlatego postanowiłem, że szkoda mi czasu na pisanie tego. Jeśli ktoś jest w stanie podzielić się prostą tabelką na dole ekranu do kondycji, zmęczenia, many itp to proszę o udostępnienie - dodam wtedy opcjonalnie do paczki.
To co planuję dodać w najbliższym czasie to wsparcie bindów zasłaniania (przykładowo ALT+SHIFT+[num]), bindów wskazywania jako celu ataku (przykładowo ALT+CTRL+[num]) itp. Gagowanie broni (skuteczności etc) pojawi się pewnie w następnej wersji.
W razie pytań, wątpliwości, błędów proszę pisać.

EDIT: Jednak udało mi się dodać prosty pasek stanów na górze (kondycja, zmęczenie, mana itp), więc tam to dodam i wrzucę dzisiaj/jutro aktualizację. Pasek będzie można włączyć/wyłączyć bo nie wszyscy chcą coś takiego mieć.
Załączniki
scripts10.zip
(8.69 KiB) Pobrany 128 razy
Awatar użytkownika
Adremen
Posty: 242
Rejestracja: 31 gru 2009 11:13

Re: Mudlet 2.1 - Mapper + zestaw prostych niezawodnych skryptów

Post autor: Adremen »

Kolejna aktualizacja do skryptów. Najważniejsze zmiany:

PASKI STANÓW/ZASŁONY

Dodałem opcjonalne paski na dole ekranu. Możliwe są dwa widoki: widok suwakowy (bardziej graficzny) oraz widok tekstowy (mniej graficzny, aczkolwiek zwięzły). Jest też opcja niewyświetlania żadnego z pasków. Co do pasków to zdefiniować, które paski chcemy mieć wyświetlone. Wszystko działa w oparciu o informacje z GMCP.
Pasek "ZASŁONA" służy jako wskazówka przy zasłonach. Jeśli jest na zielono to można zasłaniać, w przypadku próby zasłony zmienia się na czerwoną i po odpowiednim czasie wraca na zieloną kiedy można wykonać kolejny manewr.
Cała pomoc i opis funkcjonalności w komendzie pomoc do całej paczki skryptów niezmiennie:

Kod: Zaznacz cały

/skrypty
OPISY BRONI/ZBROJI

Dzięki uprzejmości Farandara dodałem skrypt drukujący w przejrzysty sposób podsumowanie broni/zbroji w stylu:

Kod: Zaznacz cały

Oceniasz, ze srebrny kunsztowny miecz wazy 7300 gramow, zas jego objetosc wynosi 2100 mililitrow.
Wydaje ci sie, ze jest wart okolo 630 miedziakow.
    Obrazenia: klute i ciete 
    Typ broni: dwureczny miecz    Wywazenie: dosc dobrze [9/14]    Skutecznosc: wyjatkowo skuteczne [12/14] 
    Dodatkowe: srebro
KLIKALNE ZASŁONY

Dodałem opcję zasłony członka drużyny poprzez kliknięcie lewym przyciskiem na imieniu w prawym górnym menu. Po naciśnięciu wykona się 'zaslon [imie]'.


EDIT: Jest mały błąd w tej paczce. W zakładce Scripts, w 'skrypty->team->core' znaleźć i zakomentować następujący kawałek kodu:

Kod: Zaznacz cały

    if str_name ~= "JA" and ateam.team[id] then
      moveCursor(scripts.ui.team_console_bar_name, 0, line_id)
      selectString(scripts.ui.team_console_bar_name, str_name, 1)

      setLink(scripts.ui.team_console_bar_name, send("zaslon " .. local_str), "zaslon " .. str_name)
    end
    
Czyli po zakomentowaniu ma wyglądać:

Kod: Zaznacz cały

    --if str_name ~= "JA" and ateam.team[id] then
    --  moveCursor(scripts.ui.team_console_bar_name, 0, line_id)
    --  selectString(scripts.ui.team_console_bar_name, str_name, 1)

    --  setLink(scripts.ui.team_console_bar_name, send("zaslon " .. local_str), "zaslon " .. str_name)
    --end
Następna wersja skryptów będzie już poprawiona.
Załączniki
scripts11.zip
(14.57 KiB) Pobrany 148 razy
Esze
Posty: 20
Rejestracja: 29 kwie 2015 23:57

Re: Mudlet 2.1 - Mapper + zestaw prostych niezawodnych skryptów

Post autor: Esze »

Hej, przyjrzałem się dzisiaj temu i naprawdę działa świetnie ale mam kilka spostrzeżeń:

1. Jeżeli nie uda mi się w kilku pierwszych sekundach wesprzeć to dostaje istne kombo "LEJESZ INNEGO", w dodatku samo wsparcie przez ALT+1 mi nie zadziałało ani razu. Przydałby się jakis delay między jednym info a drugim.

2. Początkowo ciężko było mi się przyzwyczaić do tabelki, wydaje mi się, że powinna zostać przesunięta na środek i rozciągnięta. Dodatkowo bardzo przydatne byłoby gdybym wiedział, kto konkretniej z mojej drużyny atakuje kogo i to po nicku, nie po cyferkach.

3. Mapper działa miodzio, jeszcze nigdy w tak krótkim czasie nie zmapowałem tak dużego terenu. Szkoda, że to wszystko wzięło w łeb ponieważ mapa mi się nie zapisała (jak to zrobić na przyszłość?). No i też za każdym razem muszę na nowo ją ładować.

4. I jeszcze jedno - wydaje mi sie, ze dobrze by bylo podzielic 0123 druzynowe, od 0123 wrogow przypisujac jednej ze stron ABCD bo przy większych grupach można się pomylić. EDIT: Jak jest duzo osob to i tabelki nie starcza :)
Awatar użytkownika
Adremen
Posty: 242
Rejestracja: 31 gru 2009 11:13

Re: Mudlet 2.1 - Mapper + zestaw prostych niezawodnych skryptów

Post autor: Adremen »

Dzięki za uwagi!
1. Jeżeli nie uda mi się w kilku pierwszych sekundach wesprzeć to dostaje istne kombo "LEJESZ INNEGO", w dodatku samo wsparcie przez ALT+1 mi nie zadziałało ani razu. Przydałby się jakis delay między jednym info a drugim.
Masz rację, robi się wtedy spore zamieszanie, zająłem się tym w następnej wersji i będzie to limitowane (1 komunikat na pewien czas, po tym czasie jeśli nie wsparłeś to komunikat pojawi się ponownie).
Co do ALT+1 to działa on tylko wtedy gdy pojawia się "LEJESZ INNEGO". Kiedy pojawia się komunikat i naciskasz ALT+1 to powinno wesprzeć i akcja wsparcia pod ALT+1 się dezaktywuje (nie zadziała ponownie). Zrobiłem to w przypadku jakbym chciał też używać ALT+1 gdzieś indziej.

czy ALT+1 nie działa Ci po pokazaniu "LEJESZ INNEGO"? Jeśli tak to jest to błąd. Jeśli tak jest to najłatwiej sprawdzić czy działa ALT+1 (np w polu Scripts tego binda dodać jakieś

Kod: Zaznacz cały

echo("\nOdpalony ALT+1\n")
2. Początkowo ciężko było mi się przyzwyczaić do tabelki, wydaje mi się, że powinna zostać przesunięta na środek i rozciągnięta. Dodatkowo bardzo przydatne byłoby gdybym wiedział, kto konkretniej z mojej drużyny atakuje kogo i to po nicku, nie po cyferkach.
Dodam opcję rozciągnięcia. Początkowo okno to było umieszczone w prawym górnym rogu w celu nie blokowania całego paska góry.
Dodanie atakowanej osoby jest możliwe i dodam to w następnej wersji. Choć zastanawiam się, czy dawać pełny opis atakowanej postaci. Np:

Kod: Zaznacz cały

Postac XXX -> tegi wysoki mezczyzna
jest dość długie, choć tak jak wspominasz gdy pasek jest rozciągnięty na cała długość to nie jest to problemem. Jakoś to rozwiążę.
3. Mapper działa miodzio, jeszcze nigdy w tak krótkim czasie nie zmapowałem tak dużego terenu. Szkoda, że to wszystko wzięło w łeb ponieważ mapa mi się nie zapisała (jak to zrobić na przyszłość?). No i też za każdym razem muszę na nowo ją ładować.
Jesteś pewien, że mapa się nie zapisała? U mnie działa to tak, że po wyjściu z Mudleta, klient zapisuje aktualny stan skryptów (w folderze "current") oraz aktualny stan mapy (folder "map"). W folderze "map" powinieneś mieć pliki typu:

Kod: Zaznacz cały

27-01-2016#15-59-35map.dat
czyli mix daty, godziny z dodatkiem map.dat. Ja jeszcze ani razu nie zapisywałem ani nie ładowałem mapy w Mudlecie. Jeśli chcę wrócić do poprzedniego stanu to poprostu usuwam ileś ostatnich plików *.dat. Sprawdź ten folder, mapa powinna się tam zapisywać z każdym wyłączeniem Mudleta.
4. I jeszcze jedno - wydaje mi sie, ze dobrze by bylo podzielic 0123 druzynowe, od 0123 wrogow przypisujac jednej ze stron ABCD bo przy większych grupach można się pomylić. EDIT: Jak jest duzo osob to i tabelki nie starcza :)
Myślałem już nad tym wcześniej i początkowo taki miałem zamiar, także na pewno się pojawi. Co do brakującego miejsca w tabelce to problem załatwia chyba wyłącznie szeroki na całą długość pasek (który będzie dorobiony) i poszerzenie tabelkowego miejsca.


Nowa wersja niedługo wraz z działającymi klikalnymi zasłonami (w sumie to klikalne jest zasłanianie członka drużyny po naciśnięciu na imieniu, klikalne jest atakowanie konkretnego wroga po naciśnięciu na jego ID, klikalne jest zasłanianie przed konkretnym wrogiem (po naciśnięciu informacji kogo dany wróg bije: '-> [1]'). Poprawiłem też trochę błędów, które gdzieś tam znalazłem.
ODPOWIEDZ