Strona 1 z 53

Mudlet 3.* - skrypty + mapper

: 02 kwie 2017 02:57
autor: Adremen
Arkadia - zestaw skryptów oraz mapper

Strona domowa projektu

Re: Mudlet 3.0 - skrypty + mapper

: 02 kwie 2017 03:18
autor: Adremen
Wersja 3.1

Jest to pierwsza wersja skryptów przygotowana po nowe wydanie Mudleta w wersji 3.0: http://www.mudlet.org/download/
Po kilkuletnich pracach, status wersji 3.0 oficjalnie osiągnął miano stabilnego, dlatego też od dnia dzisiejszego to Mudlet 3.0 będzie wymagany do poprawnego działania skryptów. Osoby, które wciąż używają Mudlet 2.1 mogą przy nim pozostać, aczkolwiek nowe funkcjonalności oraz poprawki będą wnoszone tylko do wersji 3.*.

Przed jakąkolwiek instalacją, najlepiej na wszelki wypadek wykonać sobie kopię zapasową katalogu profilu.

UWAGA: Przy pierwszej aktualizacji skryptów do 3.1 nie zadziała `/aktualizuj_skrypty` (czyli z jakiejkolwiek wersji skryptów 2.*). Pierwsza aktualizacja musi odbyć się poniższym sposobem.

Po instalacji Mudleta 3.0 na waszej stacji roboczej, należy pobrać nową paczkę skryptów: Paczka. Należy zipa rozpakować i teraz przechodzimy do Mudleta 3.0.

1. Wchodzimy na profil, z którego graliśmy na Mudlecie 2.1 (będą one widoczne w Mudlecie 3.0),
2. Wchodzimy do Package Manager (górne menu), zaznaczamy skrypty_master a następnie klikamy uninstall.
3. Klikamy install i w oknie eksploratora plików lokalizujemy miejsce, w którym rozpakowana została pobrana paczka, a następnie wskazujemy plik do instalacji: skrypty_master3.xml
4. Restart Mudleta

Do nowej wersji skryptów jest nowa mapa, należy wykonać '/pobierz_mape'.

W razie jakichkolwiek problemów/pytań, dyskusję prowadzimy w tym temacie.

Re: Mudlet 3.0 - skrypty + mapper

: 02 kwie 2017 15:01
autor: Gianna
Alleluja! Chwała ci, Adremenie! :D

Re: Mudlet 3.0 - skrypty + mapper

: 03 kwie 2017 08:32
autor: Orrgar
Ja mam pytanie czy jak do folderu sounds dorzucilem dwa dzwieki?

To musze skopiowac zawartosc i stworzyc dwa nowe skrypty z nowymi nazwami dla dzwiekow?

function scripts_play_beep()
playSoundFile(getMudletHomeDir().. [[/sounds/beep.wav]])
end

registerAnonymousEventHandler("playBeep", "scripts_play_beep")


na tej zasadzie tylko podmieniajac nazwy plikow?

Re: Mudlet 3.0 - skrypty + mapper

: 03 kwie 2017 09:51
autor: Eltharis
Orrgar pisze:Ja mam pytanie czy jak do folderu sounds dorzucilem dwa dzwieki?

To musze skopiowac zawartosc i stworzyc dwa nowe skrypty z nowymi nazwami dla dzwiekow?
Żeby odtworzyć dźwięk wystarczy wywołać playSoundFile, tak jak napisałeś:

Kod: Zaznacz cały

playSoundFile(getMudletHomeDir().. [[/sounds/beep.wav]])
Możesz to zrobić na przykład bezpośrednio w triggerze - powiedzmy parsować "Jestes w zlej kondycji" i wtedy odpalać. Nie musisz nic kopiować - dorzucasz dźwięki do folderu "sounds" i potem odpalasz je np. playSoundFile(getMudletHomeDir().. [[/sounds/moj_nowy_dzwiek.wav]]).

Ja akurat wolę mieć coś takiego w skyprcie, po gmcp i zrobiłem to w ten sposób:

Kod: Zaznacz cały

healthSound = healthSound or {}

function healthLowSound()
  healthSound.checkHp()  
end

function healthSound.checkHp()
  local currentHp = tonumber(gmcp.char.state.hp)

  if (currentHp < 1) then
    healthSound.playFile("ledwo_zywy.mp3")
  elseif (currentHp < 2) then
    healthSound.playFile("ciezko_ranny.mp3")
  elseif (currentHp < 3) then
    healthSound.playFile("w_zlej_kondycji.mp3")
  elseif (currentHp < 4) then
    healthSound.playFile("ranny.mp3")
  end
end;

function healthSound.playFile(fileName)
  playSoundFile(getMudletHomeDir()..[[/Sounds/Health/]]..fileName)
end
Skrypt nazywa się healthLowSound. Musisz dodać event (na górze "+") gmcp.char.state. Wówczas z każdą zmianą stanów wywołana zostanie funkcja o nazwie skryptu (healthLowSound), która sprawdzi hp i odtworzy odpowiedni plik. Same pliki są wrzucone do Sounds/Health (gdzie ten bazowy beep.wav jest po prostu w Sounds).

Możesz też na przykład odpalać funkcję ze skryptu w triggerze.

@Adremen - Paczka działa elegancko na Mudlecie 3.0 - super robota, dzięki!

Re: Mudlet 3.0 - skrypty + mapper

: 04 kwie 2017 18:35
autor: Enefghar
Dobra. Potrzebuje wiedziec dwie male rzeczy.

1. W jaki sposob moge sobie wpisac w "enefghar.txt" aliasy? W sensie:

Kod: Zaznacz cały

wklepuje: un
mudlet wysyla do Arki: usmiechnij sie nieznacznie
i

Kod: Zaznacz cały

wklepuje: dt <zmienna>
mudlet wysyla do Arki: otworz torbe;wloz <zmienna> do torby;zamknij torbe
2. W jaki sposob moge sobie wpisac w enefghar.txt odpalanie komend/serii komend z przycisku. Np. w Mushu mialem:
Accelerator ("Alt+Numpad5", "idz biegiem")

Z gory dzieki za pomoc :)
E.

Re: Mudlet 3.0 - skrypty + mapper

: 04 kwie 2017 19:59
autor: Eltharis
Enefghar pisze:W jaki sposob moge sobie wpisac w "enefghar.txt" aliasy?
Plik imie.txt służy do konfiguracji. Aliasy i klawisze dodajesz już bezpośrednio w Mudlecie.

Aby dodać sobie alias un:

Kod: Zaznacz cały

Scripts -> Aliases
Teraz w [b]osobnym folderze[/b] do skrypty_master dodajesz nowy alias -> Add Item
Alias name: usmiech_nieznacznie
Pattern: ^un$
Substitution: usmiechnij sie nieznacznie
Aby dodać alias dt:

Kod: Zaznacz cały

Pattern: ^dt (.*)$
Podobnie jak wyżej, tylko zostawiasz Substitution puste i wpisujesz w polu tekstowym poniżej:
send("otworz torbe")
send("wloz " .. matches[2] .. " do torby")
send("zamknij torbe")
Z klawiszami jest podobnie, tyko zamiast w Aliases wchodzisz w załadkę Keys -> klikasz "Grab New Key" -> wciskasz kombinację klawiszy (Alt+Num5) i uzupelniasz Command: idz biegiem.

A jeśli koniecznie chcesz to mieć w pliku enefghar.txt, to musisz poczekać aż wypowie się ktoś bardziej ode mnie magiczny.

Edit:
Przeniosłem jednak do osobnego posta.

Re: Mudlet 3.0 - skrypty + mapper

: 04 kwie 2017 20:06
autor: Enefghar
Do tego doszedlem (mimo wszystko dzieki za rozpisanie, moze komus innemu sie przyda), ale zdecydowanie wygodniej byloby to sobie wszystko rozpisac i wrzucic do konfiga. Po pierwsze masz pozniej wszystko w jednym miejscu, a po drugie szlag mnie juz trafial jak sobie bindowalem numpad pod chodzenie ;) W Mushu tez byla opcja, zeby wklepywac aliasy w graficznym interfejsie a jakos zawsze mi bylo szybciej (jak juz mi ktos pokazal ;) ) z:

Kod: Zaznacz cały

<alias
   match="/buk"
   enabled="y"
   group="Funkcyjne"
   sequence="100"
  >
  <send>napij sie z buklaka</send>
</alias>
Tak wiec ten...

/me czeka az sie wypowie ktos bardziej magiczny

Re: Mudlet 3.0 - skrypty + mapper

: 05 kwie 2017 08:59
autor: Eltharis
Rzuć jeszcze okiem na perm alias - to może być rozwiązanie Twojego problemu. Analogicznie jest też permRegexTrigger. W imie.txt sprawdzałbyś najpierw czy istnieje już alias/trigger za pomocą exists, a jeśli nie ma, to dodawał nowy.

Bazując na podanym przykładzie mógłbyś dodać do imie.txt coś takiego (nie sprawdzałem, czy działa):

Kod: Zaznacz cały

if exists("moje_aliasy", "alias") == 0 then
  permGroup("moje_aliasy", "alias")    
end

if exists("usmiech_nieznacznie", "alias") == 0 then
  permAlias("usmiech_nieznacznie", "moje_aliasy", "^un$", [[send ("usmiechnij sie nieznacznie")]])
end
  
if exists("wloz_do_torby", "alias") == 0 then
  permAlias("wloz_do_torby", "moje_aliasy", "^dt (*)$", [[send ("otworz torbe;wloz " .. matches[2] .. " do torby;zamknij torbe")]])
end 
Jeśli chodzi o Keye, to znalazłem feature request sprzed paru lat, ale nie wiem, czy wprowadzili. Może jest, tylko dokumentacja jeszcze nieaktualna. Nie mam niestety jak tego w tej chwili sprawdzić.

Re: Mudlet 3.0 - skrypty + mapper

: 05 kwie 2017 12:30
autor: Werbat
Enefghar, to jest xml, więc możesz sobie go w teorii napisać od zera - popatrz w skrypty_master.xml albo w moje dodatki (https://bitbucket.org/ftpd/mudlet-scripts/src). Wtedy dopiero zobaczysz, jakie to jest niewygodne ;-) Całe życie pisałem normalnie jak człowiek skrypty do TF-a w tym jego śmiesznym DSL, ale były to nadal bardziej human-readable pliki niż .xml ;-)

Moja rada: zrób sobie w GUI w każdej 'sekcji' swój katalog, pododawaj tam rzeczy (z GUI wszystko albo jeden wpis z GUI -> export --> edycja xmla -> import), a potem co jakiś czas exportuj gdzieś na bok w ramach backupu. Ewentualnie można też wszystkie swoje rzeczy paczkować, tak jak Adremen to robi, ale jeszcze nie próbowałem - export 6 plików z palca zajmuje 30 sekund, to olewam.