Re: Mudlet 2.1 - Mapper + zestaw prostych niezawodnych skryptów
: 11 kwie 2016 12:52
Podeślę wieczorem kilka opisów bo znalazłem miejsca gdzie /medytuj i /licz_poziom nie działa poprawnie.
Oficjalne forum Arkadii, polskiego MUD-a, tekstowej gry fabularnej.
https://arkadia.rpg.pl/forum/
Dzięki. Co do wydzielonego okna - będzie, ale to większy temat, bo tak jak wspominałem Mudlet ma jakiegoś buga, który sprawia, że gmcp.messages odpowiadający za dostarczanie tych komunikatów jest pusty. Podejrzewam, że w następnych 2 miesiącach powinienem to rozwiązać.Suavi pisze: Adremenie, wielkie dzięki, za poświęcony czas, za to, że Ci się chce i za podzielenie się
Na Mudlecie gram od dawna, zrobilam sobie jakieś tam swoje duperele (dźwięki przy ataku na mnie i do nowej poczty np. - bardzo przydatne:P), ale o pisaniu takich skryptów nawet nie marzę.
Wcześniej tu zaglądałam, ale nie miałam czasu grzebać w Mudlecie. Dopiero w ten weekend znalazłam chwilę.
Okienko do walki - rewelacja!
Jakby się jeszcze udało zrobić takie osobne okienko do erpega – gadanie + emoty, bez żadnych dodatków i wodotrysków nawet, żeby tylko to nie ginęło jak jest kilkanaście osób w drużynie - to mi osobiście nic wiecej nie potrzeba:)
Na tę chwilę, apetyt rośnie w miarę... itd![]()
Dzięki, nie zdawałem sobie sprawy, że od tej strony można to złapać. Co do tratwy i promu to warto dodać jeszcze krype, od niedawna jest.Werbat pisze: Taka wskazówka: nie musisz dopisywać wszystkich statków po konkretnym opisie, bo są standardowe teksty kapitana. Ja mam tak:
/def -mregexp -p2 -t'(Wszyscy na poklad!|przybija wielki trojmasztowy galeon.)' ship_on = \
/tbind wns
/def -mregexp -p2 -t'(ratwa|rom) przybija do brzegu' ship_on1 = \
/tbind wejdz na statek
/def -mregexp -p2 -t'(Doplynelismy.*(Mozna|w calej swej)|Marynarze sprawnie cumuja)' ship_off = \
/tbind zejdz ze statku
I działa.
Dzięki. Co do instalacji:Irvin pisze:Chcialem szczerze podziekowac za prace jaka wykonujesz i z nami sie dzielisz.
Czy moglbym prosic o jakas krociutka instrukcje jak to zaladowac do mudleta, skrypt i mapy by dzialalo. Rozumiem ze mapy sa oddzielnie a skrypty oddzielnie.
Wybaczcie za tak glupiutkie pytanie lecz przeszlo 11 lat nie tykalem mudow i ich klientow.
Da sie zmienic w mapperze by zamiast kropek jak na filmiku instruktazowym byly kwadraty? Jak np w arkadiowym kliencie?
I ostatnie czy na tych mapach moge sobie dodawac opisy typu " kowal" " banici" etc...
Kod: Zaznacz cały
+-------------------------- Arkadia mapper, ver 1.7 ---------------------------+
| |
| Dostepne KOMENDY: |
| |
| /pokazuj_notki - czy pokazywac automatycznie notki. |
| |
| /lok_nazwa [nazwa] - ustawi [nazwe] aktualnej lokacji. |
| /lok_nazwa [id] [nazwa] - to co powyzej, ale dla tego [id] lokacji. |
| /lok_opis [opis] - ustawi [opis] aktualnej lokacji. |
| /lok_opis [id] [opis] - to co powyzej, ale dla tego [id] lokacji. |
| |
| /przeszukaj_mape [nazwa] - przeszuka mape (nazwy i opisy) po tej [nazwie]. |
| Pokaze tylko 5 wynikow (najblizszych w odniesieniu do aktualnej lokacji). |
| /przeszukaj_mape! [nazwa] - przeszuka mape (nazwy i opisy) po tej [nazwie]. |
| Pokaze wszystkie wyniki, rowniez w kolejnosci odleglosci od aktualnej lokacji. |
| |
| /lok_notka [nazwa] - ustawi [notke] aktualnej lokacji. |
| /lok_notka [id] [nazwa] - to co powyzej, ale dla tego [id] lokacji. |
| /lok_notka- - zresetuje notke aktualnej lokacji |
| /lok_notka- [id] - to co powyzej, ale dla tego [id] lokacji. |
| |
+--------------------------------------------------------------------------------+
Kod: Zaznacz cały
| /waga [wartosc] - ustawia wage tego pokoju. |
| /waga [wartosc] [lokacja_id] - ustawia wage lokacje o tym [lokacja_id]. |
Kod: Zaznacz cały
-- SKOPIUJ CALA ZAWARTOSC TEGO PLIKU
------------------------------------------
--- Ustawienia do mappera ---
------------------------------------------
-- Domyslna opcja czy maja byc pokazywane notki
-- podczas wejscia na lokacje
--
-- Dozwolone wartosci
-- true - beda pokazywane notki
-- false - nie beda pokazywane notki (mozna ja wtedy zobaczyc w '/lok')
--
-- Komenda do zmiany w trakcie gry: '/pokazuj_notki'
amap.db.show_notes = true
------------------------------------------
-- Domyslna opcja startowa opoznienia chodzika
--
-- Dozwolone wartosci
-- <jakakolwiek liczba>
-- Mozna zmienic '/opoz' w trakcie gry
--
-- Komenda do zmiany w trakcie gry: '/opoz [wartosc]'
amap.walker_delay = 2
------------------------------------------
-- Domyslna opcja startowa rozy wiatrow (czy ma byc wlaczona)
--
-- Dozwolone wartosci
-- true - roza bedzie wlaczona przy starcie Mudleta
-- false - roza nie bedzie wlaczona przy starcie Mudleta
--
-- Komenda do zmiany w trakcie gry: '/roza'
amap.ui.active = true
------------------------------------------
Prawdopodobnie parser wywala sie na znaku ESCAPE od kolorow. Bo chyba powinien (pozostale klienty pewnie nie trzymaja sie dokladnie specyfikacji JSON).Adremen pisze: Dzięki. Co do wydzielonego okna - będzie, ale to większy temat, bo tak jak wspominałem Mudlet ma jakiegoś buga, który sprawia, że gmcp.messages odpowiadający za dostarczanie tych komunikatów jest pusty. Podejrzewam, że w następnych 2 miesiącach powinienem to rozwiązać.
Kod: Zaznacz cały
amap:follow(amap.dir_from_team_follow)
Kod: Zaznacz cały
function amap:follow(direction, gmcp_to_check)
Kod: Zaznacz cały
amap.queue
Kod: Zaznacz cały
stan
Kod: Zaznacz cały
kondycja
Kod: Zaznacz cały
kondycja wszystkich
Kod: Zaznacz cały
{"stan", "kondycja", "kondycja_wszystkich", "kierunek w którym idziesz"}
Działa działa. Jeśli nie przekażesz ostatniego argumentu to jest on nil, a w follow masz:Artak pisze:Adremen, mam kilka kolejnych błędów
Odnośnie komunikatu przy włączaniu, to pewnie przez to, że mam pustą listę wrogów.
Od razu mówię, że nie instalowałem najnowszego mappera, więc może w najnowszym to poprawiłeś, ale:
1. Chodzenie za kimś w drużynie. Ogólnie trigger masz działający, ale w triggerze masz odwołanie:
Kod: Zaznacz cały
if gmcp_to_check then
(...)
Eh Artaku Artaku, jak już chcesz się żalić to musisz spędzić więcej czasu i rozpoznać dokładnie jak działa cały mechanizm mappera2. Chodzenie i zmienna:
Kod: Zaznacz cały
local new_id = get_next_room_from_dirs(current_id, dir, dir)
if not dir and not new_id then
amap.dir_from_key = nil
return false
end
i tak ma być, mapper sobie wyfiltruje i weźmie tylko odpowiedni kierunek, wszystko zadziała. Daj mi konkretne kombinacje/miejsca gdzie mapper się gubi jak szybko chodzisz. Ja właśnie sprawdziłem stojąc na bagnach taką komendę:A nawet czasami jest tak, że kierunek wpada między te wklepane komendy (bo trigger zdąży się szybciej wykonać niż skrypt wyrzuci wszystko z tabeli) i mapper się gubi
Kod: Zaznacz cały
w;stan;w;k wszystkich;e;fuknij;fuknij;e;kto;e
1. Nie, followanie drużyny nie będzie kolejkowane, bo kolejkowanie jest do GMCP (dzięki temu mapper nie gubi się na szybkim bieganiu po tereneach bez GMCP gdzie komunikaty przychodzą po Twoich komendach).Możliwe (nie sprawdzone) rozwiązania:
1. Skoro używasz kolejki, to używaj jej zawszebo z triggera follow_team kierunek nie wpada do stosu, tylko wpierdziela się gdzieś z boku
2. Sprawdź najpierw czy kierunek, który leży sobie w stosie ma sens (jeszcze nie chciało mi się ogarniać kolejki "amap.queue" ale w momencie wrzucenia czegoś w tą tabelkę możesz sprawdzić czy taki kierunek występuje na danej lokacji. Jak nie ma, to nie wrzucaj).