Mudlet 3.* - skrypty + mapper

Forum techniczne Arkadii.
Awatar użytkownika
Kregan
Posty: 79
Rejestracja: 07 cze 2015 23:56

Re: Mudlet 3.* - skrypty + mapper

Post autor: Kregan » 06 lut 2019 22:59

Na tej defaultowej mapie do skryptow Adremena niema. Trzeba sobie we własnym zakresie dorysować.
Pierwsza zasada podróżnika "Nie sztuka gdzieś wleźć, sztuką jest wyleźć".
Druga zasada podróżnika "Gdziekolwiek wleziesz zawsze znajdzie się tam jakieś wyjście, na przykład przez zaświaty".

Awatar użytkownika
Kregan
Posty: 79
Rejestracja: 07 cze 2015 23:56

Re: Mudlet 3.* - skrypty + mapper

Post autor: Kregan » 12 kwie 2019 22:17

Żeby nie zniknęło w przepaściach Discorda. Kod bindów/aliasów na przemieszczanie wskaźnika położenia po mapie, bez fizycznego przesuwania postaci przez lokacje (made by Kazur).

Dla zwykłych kierunków przykład (reszta kierunków analogicznie):

Kod: Zaznacz cały

amap:follow("north", false)
Dla przejść specjalnych (analogicznie koncówka _exit2 i _exit3 dla pozostałych dwóch)

Kod: Zaznacz cały

amap:follow(amap.ui.compass.special_exit1,false)
Pierwsza zasada podróżnika "Nie sztuka gdzieś wleźć, sztuką jest wyleźć".
Druga zasada podróżnika "Gdziekolwiek wleziesz zawsze znajdzie się tam jakieś wyjście, na przykład przez zaświaty".

Gunther
Posty: 26
Rejestracja: 31 gru 2014 05:36

Re: Mudlet 3.* - skrypty + mapper

Post autor: Gunther » 06 maja 2019 13:36

postanowilem przejsc z oficjalnego klienta na cos wygodniejszego.
Zaistalowalem mudleta i skrypty, niestety nie wyswietlaja mi sie mapy.
po komendzie "/pobierz_mape" wywala mi taki komunikat :

[ ERROR ] - Unable to open (for reading) map file: "C:/Users/Beniamin/.
config/mudlet/profiles/Arkadia/map_master3.data"!
(skrypty): Problem z zaladowaniem mapy

w rzeczonym katalogu nie ma takiego pliku zreszta ,jest jedynie z rozszezeniem .dat
Przeprawialem ale nie pomaga.

Ktos umie udzielic rady na podstawie tych przeslanek?

Awatar użytkownika
Kregan
Posty: 79
Rejestracja: 07 cze 2015 23:56

Re: Mudlet 3.* - skrypty + mapper

Post autor: Kregan » 06 maja 2019 16:59

Gunther pisze:
06 maja 2019 13:36
Ktos umie udzielic rady na podstawie tych przeslanek?
Przejrzeć temat parę podstron do tyłu, są podane linki do mapy, którą można pobrać "ręcznie" i wrzucić do profilu (link można znaleźć też w skryptach).
Jakby nie pokazała po wystartowaniu mudleta to spróbować komendy /zlok.
http://arkadia.kamerdyner.net/master3/map_master3.dat
Pierwsza zasada podróżnika "Nie sztuka gdzieś wleźć, sztuką jest wyleźć".
Druga zasada podróżnika "Gdziekolwiek wleziesz zawsze znajdzie się tam jakieś wyjście, na przykład przez zaświaty".

Gunther
Posty: 26
Rejestracja: 31 gru 2014 05:36

Re: Mudlet 3.* - skrypty + mapper

Post autor: Gunther » 06 maja 2019 22:28

dziekuje, udalo sie!

Awatar użytkownika
Cyzel
Posty: 85
Rejestracja: 26 sie 2014 18:41

Re: Mudlet 3.* - skrypty + mapper

Post autor: Cyzel » 29 maja 2019 18:33

Trzy pytanka. Moze znajdzie sie jakis dobrodziej, ktory pomoze.

1. Czy jest jakos ogarniete w skryptach powozenie wozem? Nie znalazlem niestety niczego w helpie i nie podmienia automatycznie kierunkow na powozenie. Moze trzeba wsiasc jakas komenda?

2. Gdzie moge sobie najlepiej sam dodac pojemniki do ladnego widoku przedmiotow? Niektore pojemniki ladnie sortuje, inne nie. Moze daloby sie w taki sam sposob ogarnac widok przedmiotow przy postaci (Masz przy sobie *)?

3. Najtrudniejsze pytanie i ogromna prosba. Czy ktos moglby mi pomoc i dodac skrypt, ktory gagowalby opis przedmiotu przy ocenianiu (chodzi glownie o ocenianie wiekszej ilosci przedmiotow).

Zamiast:

Kod: Zaznacz cały

ocen bron

======= Oceniasz starannie wysmukla graniasta maczuge bojowa. ========

Maczuga ta sklada sie z wysmuklego, profilowanego drewnianego trzonka, na ktorym osadzono graniasta brazowa glowice, o krawedziach obitych srebrnymi okuciami. Bron ta nie tylko ma pewne walory
ozdobne, ale i bojowe.
Wyglada na to, ze jest w znakomitym stanie. [max]

Oceniasz, ze wysmukla graniasta maczuga bojowa wazy 3900 gramow, zas jej objetosc wynosi 1300 mililitrow.
Wydaje ci sie, ze jest warta okolo 1000 miedziakow, czyli 4 zl, 3 sr, 4 mdz.

 Typ broni: maczuge                Chwyt: w dowolnej rece            
 Obrazenia: obuchowe                         
 Wywazenie: genialnie [14/14]      Skutecznosc: bardzo skuteczne [10/14]             
Do wykonania tej broni uzyto srebra, bedzie wiec ona skuteczna przeciw wrogom odpornym na zwykle obrazenia.
cos takiego:

Kod: Zaznacz cały

/ocen bron

======= Oceniasz starannie wysmukla graniasta maczuge bojowa. ========
Wyglada na to, ze jest w znakomitym stanie. [max]             
Wywazenie: genialnie [14/14]      Skutecznosc: bardzo skuteczne [10/14]             
Do wykonania tej broni uzyto srebra, bedzie wiec ona skuteczna przeciw wrogom odpornym na zwykle obrazenia.
a juz idealnie by bylo miec skrypt ktory by wszystko skracal do dwoch/trzech linijek jak ten, ktory mialem w MushCliencie (niestety od pewnego czasu sie wysypuje przy niektorych przedmiotach):

Kod: Zaznacz cały

> ocen bron
WYSMUKLA GRANIASTA MACZUGA BOJOWA(maczuga) obrazenia:O, dowolna reka, K:(MAX/7) $ 0mth 4zl 3sr 4md (1000)
          wywazenie:14/14, skutecznosc:10/14  waga:3900, objetosc:1300
          Do wykonania tej broni uzyto srebra, bedzie wiec ona skuteczna przeciw wrogom odpornym na zwykle obrazenia.
Spod mokrego kaptura, miast skołtunionej brody, wyzierał długi i spiczasty nos, niezawodnie określający przynależność posiadacza do starej i szlachetnej rasy gnomów.

Awatar użytkownika
Kregan
Posty: 79
Rejestracja: 07 cze 2015 23:56

Re: Mudlet 3.* - skrypty + mapper

Post autor: Kregan » 29 maja 2019 21:01

1. Nie ma. Musisz sobie dorobić bindy do powożenia. Przy czym może być problem ze wskaźnikiem położenia na mapie. Sam coś przy tym zmieniałem tylko już nie pamiętam co. Zdaje się dodałem takiego trigga u siebie,  żeby poradzić sobie z mapa.

Kod: Zaznacz cały

Pattern:
^Wraz z .* jedziesz .* na (.*).$
^Wraz z .* jedziesz .* w (.*) traktem.$

Body:
local english_dir = amap.polish_to_english[matches[2]]
amap:follow(english_dir, false)

Być może mydyfikowałem tez Triggers > mapper > jedziesz-wozem (nie wiem czy to mój trigg czy ze skryptów, jeszcze wtedy nie zawracałem sobie głowy porzadkowaniem i rozdzielaniem tego ;) ) W razie czego jakby był problem jazdą i mapa to się go później rozwiąże.


2. Trzeba dorobić dodatkowe triggery/dodać patterny na wzór poniższego:

Kod: Zaznacz cały

Pattern:
^Masz przy sobie (.*)\.$
Body:
local str = scripts.utils:extract_string_list(matches[2])
scripts.utils:print_string_list(str)
3. Co do gagowania do sprzetu używam czegoś takiego. Od razu ostrzegam, że to "haksiorskie" rozwiązanie i polega na czyszczeniu przez 2 sekundy ekranu z wszystkiego poza tym co zwraca skrypt. Zatem jeśli ktoś chce tego używać w czasie walki wcześniej niech sprawdzi czy triggery prawidłowo się załączają i wyłączają po użyciu tych aliasów. Bo można zostać z pustym ekranem :D. Ale powinno być wsio ok, używam i żyje.
Alias:
/ekwi - pokazuje tylko stan założonego sprzetu (korzysta z załaczonego skryptu)
/ekwi_stat - stan + statystyki założonego sprzetu (korzysta z załaczonego skryptu)
/ekwi3 - stan calego sprzetu na lokacji i przy nas (korzysta ze skryptu Adremena)
/ekwi4 - stan + statystyki calego sprzedu na lokacji i przy nas (korzysta ze skryptu Adremena)

Przy czym dla Ciebie Cyzel niedogodnodnościa może być to ze stan i statystyki oraz stany są w osobnych listach i nie wyswietlaja posrebrzenia.
https://megadrive.pl/#/view/file/xcta5o ... miotow.xml
https://megadrive.pl/#/view/file/tvgk6j ... ective.xml
https://megadrive.pl/#/view/file/k8xldo ... przetu.xml

Trzeba ściagnąć i zaimportować (zielone strzałki w oknie Trigerrów, aliasów, skryptow etc) .
Pierwsza zasada podróżnika "Nie sztuka gdzieś wleźć, sztuką jest wyleźć".
Druga zasada podróżnika "Gdziekolwiek wleziesz zawsze znajdzie się tam jakieś wyjście, na przykład przez zaświaty".

Jahir
Posty: 10
Rejestracja: 05 kwie 2017 09:23

Re: Mudlet 3.* - skrypty + mapper

Post autor: Jahir » 28 cze 2019 13:06

Skrypt do poprawienia kolorów przejść specjalnych na mapie z czerwonych linii:

Kod: Zaznacz cały

function popraw_area_custom_lines(areaid)
  local areas = getAreaTableSwap()
  if (areas[areaid] ~= nil) then
    echo("# Area: " .. areas[areaid] .. "\r\n")
  end
  arearooms = getAreaRooms(areaid)
  for _, id in pairs(arearooms) do
    popraw_room_custom_lines(id)
  end
end

function popraw_room_custom_lines(roomId)
  cl = getCustomLines(roomId)
  --display(cl)
  for ex, at in pairs(cl) do
    if (at["attributes"] ~= nil) then
      if (at["attributes"]["color"] ~= nil) then
        local clrgb = at["attributes"]["color"]
        if (clrgb["r"] == 0 and clrgb["g"] == 0 and clrgb["b"] == 0) then
          local clstyle = at["attributes"]["style"]
          local clarrow = at["attributes"]["arrow"]
          local rcx, rcy, rcz = getRoomCoordinates(roomId)
          if (at["points"] ~= nil) then
            local tmppoints = at["points"]
            points = {}
            local cnt = 1
            if (tmppoints[0] ~= nil) then
              points[cnt] = {tmppoints[0]["x"], tmppoints[0]["y"], rcz}
              cnt = cnt + 1
            end
            for i, p in pairs(at["points"]) do
              local pp = {}
              pp = {p["x"], p["y"], rcz}
              if (i > 0) then
                points[cnt] = pp
                cnt = cnt + 1
              end
            end
            echo("\r\poprawiam : " .. roomId .. " - " .. ex .. "\r\n")
                        -- tu popraw kolor z {192, 192, 192} na wlasny
            addCustomLine(roomId, points, ex, clstyle, {192, 192, 192}, clarrow)
          end
        end
      end
    end
  end
end
Wywołanie z linii poleceń:
lua popraw_room_custom_lines(roomId)
oraz dla calego obszaru
lua popraw_area_custom_lines(areaid)

Próba puszczenia tego w pętli dla wszystkich obszarów wywala mudleta (przynajmniej u mnie).
Id obszaróww dla mapy ze skryptów Adremena to od 1 do 60, można sprawdzić: lua display(getAreaTableSwap())

Żeby poprawić całą mapę lecimy po kolei
lua popraw_area_custom_lines(1)
lua popraw_area_custom_lines(2)
..
lua popraw_area_custom_lines(60)

Na koniec zapisujemy mapę.
Kolor linii można zdefiniować na własny zastępując w kodzie {192, 192, 192} własną definiicją , domyślnie jest szary jak kolor zwykłych przejść.

Uwaga, na ten moment na obszarach 14,41 i 42 skrypt powoduje crash mudleta, trzeba je ominąć.
Update: Crash Mudleta występuje w wersji 3.19, w 3.21 udało się poprawić wszystkie obszary. Także trzeba spróbować co się uda i ominąć kłopotliwe obszary.

Awatar użytkownika
Adremen
Posty: 235
Rejestracja: 31 gru 2009 11:13

Re: Mudlet 3.* - skrypty + mapper

Post autor: Adremen » 01 lip 2019 20:02

Skrypty 3.12

Wracamy z aktualizacją skryptów na bieżąco. Ta aktualizacja wprowadza sporo poprawek, zmian i ulepszeń. Ta aktualizacja nie aktualizuje mapy, mapa będzie dopiero aktualizowana.
Kilka osob na discordzie zaktualizowalo juz skrypty i nie bylo wiekszych problemow, dlatego wszystko powinno sie obejsc bez bolu. Oczywiscie zawsze mozna sobie wykonac kopie zapasowa swojego katalogu profilowego na wszelki wypadek.

1. Nowy skrypt lampy

@daracan napisal bardzo fajny skrypt do lampy, ktory upublicznil i wyrazil zgode na dolaczenie. Ja go przerobilem tak, aby byl w pelni sparametryzowany i od teraz jest dostepny w paczce skryptow. Glowne roznice to: brak nagminnej informacji o bindzie do uzupelniania lampy, licznik odliczania w pasku na dole.

Opis calej konfiguracji nowej lampy z pliku imie.txt

Kod: Zaznacz cały

-- Ustawienia do skryptu lampy
--
-- Maksymalny (startowy) czas odliczania odnosnie lampy. Domyslnie 300 sekund = 5 minut.
scripts.inv.lamp.lamp_seconds_default_start_val = 300

-- W ktorych sekundach odliczania skrypt wydrukuje informacje w oknie glownym
-- o pozostalym czasie lampy. Domyslnie jest to 120, 60, 30 i 10 sekund.
-- Aby w ogole nic nie drukowac w oknie glownym, trzeba ustawic pusta tablice: {}
scripts.inv.lamp.lamp_warning_times = {120, 60, 30, 10}

-- W ktorych sekundach odliczania skrypt wykona beep poprzez zainicjowanie eventu
-- "playBeep". Aby nie inicjowac zadnego eventu, nalezy ustawic pusta tablice: {}
-- Mozna ustawienie wiecej niz jedna wartosc. Wartosci nie musza byc jednakowe
-- z tymi z poprzedniej opcji.
scripts.inv.lamp.lamp_beeps = {10}

-- Ponizej ktorej sekundy odliczania skrypt zacznie drukowac w dolnym pasku
-- zoltym kolorem czcionki. Aby nie uzywac zoltej czcionki, ustawic 0
scripts.inv.lamp.lamp_yellow_seconds = 60

-- Ponizej ktorej sekundy odliczania skrypt zacznie drukowac w dolnym pasku
-- czerwonym kolorem czcionki. Aby nie uzywac czerwonej czcionki, ustawic 0
scripts.inv.lamp.lamp_red_seconds = 30

-- Bind, ktory ma sie bindowac gdy butelka oleju stanie sie pusta.
-- Aby nie bindowac nic, ustawic pusty string: ""
scripts.inv.lamp.lamp_empty_bottle_bind = "odloz olej; wez butelke z plecaka; napelnij lampe olejem"

-- Bind, ktory ma sie bindowac gdy nie mamy butelki oleju w rece.
-- Aby nie bindowac nic, ustawic pusty string: ""
scripts.inv.lamp.lamp_no_bottle_bind = "wez butelke z plecaka"
Korzystajac z powyzszej aktualizacji mozna sobie calkowicie wylaczyc powiadomienia w oknie glownym, albo ustawic je w takiej czestotliwosci w jakiej chce sie je miec.

2. Dwa nowe designy dolnego paska stanow

@daracan oraz @Kazur dostarczyli bardzo fajne rozwiazania do dolnej belki. Zostaly one dolaczone kolejno jako mode3 oraz mode4, ktore mozna od teraz skonfigurowac w pliku imie.txt:

Kod: Zaznacz cały

-- Dozwolone wartosci:
-- mode0 - wylaczony
-- mode1 - pasek z suwakami (bardziej graficznie)
-- mode2 - pasek z wartosciami tekstowymi (bardziej minimalistyczny niz 1)
-- mode3 - pasek z wartosciami tekstowymi (dostarczony przez Daracana)
-- mode4 - pasek z wartosciami tekstowymi (inversionz, dostarczony przez Kazura)
-- 
-- mode4 wymaga wgrania czcionek inversionz. Trzeba pobrac z
-- https://www.dafont.com/search.php?q=inversionz
-- i wrzucic do katalogu "fonts" w mudlet-data.
scripts.ui.cfg["footer_mode"] = "mode2"
Tak wyglada mode 3, a tak wyglada mode4.


3. Opcjonalne numerowanie druzyny uzywajac liczb

Udostepniona zostaje opcja numerowania czlonkow druzyny korzystajac z liczb:

Kod: Zaznacz cały

-- Opcja decydujaca jak oznaczac czlonkow swojej druzyny w pasku stanow.
--
-- Dozwolone wartosci
-- "mode1"  - czlonkowie druzyny beda numerowanie literami: A, B, C...
-- "mode2"  - czlonkowie druzyny beda numerowanie liczbami: 1, 2, 3...
ateam.options.team_numbering_mode = "mode1"
Domyslna opcja pozostaja litery, czyli tak jak bylo to dotychczas.
Dzieki opcji tej bedzie mozliwe dodanie automatycznych bindow do zaslon/wycofywania, itp pod schematami takimi jak CTRL+1, CTRL+2, itd.

4. Dodatki z repozytorium @ardcore

Uzytkownik @ardcore dodal kilka bardzo ciekawych dodatkow. Od teraz zostaja zalaczone w glownej paczce. Jesli ktos mial zainstalowany jego dodatek to nalezy go odinstalowac aby uniknac podwojnego wykonywania niektorych czynnosci.

Dodatki:

- /porownaj_ze_wszystkimi - porowna sie ze wszystkimi na lokacji i poda podsumowanie w formie:

Kod: Zaznacz cały

/porownaj_ze_wszystkimi

 #  OSOBA                        SIL  ZRE  WYT  TOTAL 
 1  grozny barczysty mezczyzna   -1   -1   -1   -3    
 2  ponury umiesniony mezczyzna  -1   -1   -1   -3    
- zbieranie extra podczas zbierania z cial

Kod: Zaznacz cały

| /zbieraj_extra [przedmiot] - doda do zbieranych extra konkretny przedmiot,     |
| np. /zbieraj_extra posrebrzane miecze doda do zbieranych extra                 |
| posrebrzane miecze.                                                            |
| /nie_zbieraj_extra [przedmiot] - usunie ze zbieranych extra konkretny przedmiot|
| /nie_zbieraj_extra - usunie wszystkie extra zbieranie przedmioty.              |
|                                                                                |
+--------------------------------------------------------------------------------+
- /zbierz - zbierze wszystko zbierane ze wszystkich cial.
- /wdp <co> oraz /wzp <co> - włoży do pojemnika "other" podany przedmiot, można podać kilka po przecinku (np. /wdp miecz,spizowa tarcze). /wzp <co> to branie, analogicznie
- /pokaz_sciezke <numer_lokacji> - na 2 sekundy podswietli trase do danej lokacji. Przyklad.
- /przeszukaj_mape pokazuje teraz rowniez odleglosc.


5. Inne poprawki

- poprawione spece korsarza (podziekowania dla @ard_b
- poprawki w specach
- poprawki w ziolach
- poprawiona forma do 3 poziomow
- duzo innych poprawek, wszystkie wylistowane tutaj: https://github.com/tjurczyk/arkadia-skr ... 7?closed=1


AKTUALIZACJA

zaktualizowany plik imie.txt w paczce zip oraz tutaj. Jesli nie ma sie zamiaru korzystac z zadnych nowych opcji w imie.txt to mozna oczywiscie grac dalej na starym imie.txt.
Aktualizacja: '/aktualizuj_skrypty'.
Tutaj jest pełna paczka: Skrypty 3.12a

W razie jakichkolwiek problemow zapraszam na discorda na kanal #mudlet. Jest nas tam sporo i wielu z nas moze pomoc w razie jakichkolwiek problemow. Mozna tez pisac w tym temacie.

Torvald
Posty: 8
Rejestracja: 13 sty 2014 14:19

Re: Mudlet 3.* - skrypty + mapper

Post autor: Torvald » 01 lip 2019 21:58

Adremen: że też Ci się ciągle chce. Dzięki! :)

ODPOWIEDZ