Polecenie:
selectString() zaznacza kawałek tekstu który znajduje się w patternie.
replace()
Zastepuje zaznaczony tekst poleceniem selectString()
poleceniem:
deleteLine() -- kasuje cala linijkę kiedy pattern jest zaznaczony
echo() lub cecho() -- Wyświetla tekst w mudzie
echo() -- Wyswietla tekst
cecho() -- Wyswietla i koloruje text
cecho("<red> Cos <reset> jest blade")
Konstrukcja patternów i znaki specjalne
Oczywiście trigger powiniem być perlrexem
Kod: Zaznacz cały
"." zaznacza jeden dowolny znak
"\." zaznacza kropkę
"\n" Zaczyna nowa linijkę
"^" Oznacza początek linijki
"$" Oznacza koniec linijki
"[a-z]*" zaznacza dowolny ciąg znaków składający się z liter (bez spacji)
".*" zaznacza dowolny ciąg znaków (ze spacjami)
[Xx] - Zaznacza mala lub duża literę X
(^> |^) - Warto to dodawać na początku patterna (jeśli zaznaczamy od początku)
"\.$" - warto dodawać jeśli zaznaczamy do końca linijkę
np:
((^> |^)(.*) daje ci (.*)\.$")
alias bedzie wygladał tak:
^Cos$
Jesli nie damy ^ lub $ wykona alias kiedy wpiszemy:
CCos
Cosss
I bedzie slynne:
"Zabij powazaniem."
------------------------------------------------------
(szkielet|widmo)
Jeśli nie zaznaczysz selectAll to pokoloruje w linijce tylko pierwszy szkielet, ale sprawdz
Szkielet, goblin, szkielet, szkieletorek, widmo, zmora
Zmienne i ich liczenie
((^> |^)(.*) halfling (.*) zjada kanapke)
((3 zmienna) (4 zmienna) hafling (5 zmienna) zjada kanapke)
2 zmienna to cała zaznaczona linijka
Kod: Zaznacz cały
cecho("\nHalfling <red>" .. matches[4] .. "<:white>ZJADA <black:orange>kanapke")
cecho("\n".. matches[2])
SzybkoscJedzenia = matches[4]
W innym triggerze
Arka:
Halfling pyta sie ciebie o to jak szybko zjadl kanapkę
Kod: Zaznacz cały
echo("Halfling zjadl kanapke " .. SzybkoscJedzenia)
I jeszcze jedno da się
w roznych miejscach przywołać ta samą
Jest roznica miedzy:
Kod: Zaznacz cały
zmienna = "1" -- zmienna teksowa
zmienna = 1 -- zmienna liczbowa
zmienne liczbowe da się dodawać/odejmować/mnozyc/cosinusowac
Kod: Zaznacz cały
InnaZmienna = zmienna + zmienna
InnaZmienna = zmienna .. matches[3]
InnaZmienna = "Tak bardzo " .. matches[3] .. zmienna
Zeby przywołać jakieś zmienne zadziałały musisz je uprzednio zdefiniować.
---------------
Kolorowanie poprzez jego zaznaczanie (Musi być w patternie)
Kod: Zaznacz cały
setBgColor(0,0,0) -- Kolor tła
setFgColor("212,0,0") -- Kolor literek
selectString("halfling" .. matches[5], 1) -- zaznacza tekst do pokolorowania
resetFormat() -- resetuje kolory (ważne)
Pomoc w kolorach:
http://pl.wikipedia.org/wiki/Pomoc:Kolory
Komenda send()
wysyla komende do gry tak jak bys ja wpisal/wpisala "z palca"
przydatne do robienia alliasow i keyów
";" - oddziela poszególne komendy od siebie
np "usiadz;wstan"
czyli jeżeli masz chęć zrobienia czegos takiego
otworz woreczki; wez ziola z pierwszego woreczka;wez ziola drugiego woreczka;wez ziola z trzeciego woreczka;wez ziola z czwartego woreczka; odloz woreczki;s;wloz czterokanciaste lodygi do pierwszego woreczka;wloz ziola do drugiego woreczka;zamknij woreczki
Kod: Zaznacz cały
send("bardzo dluga komenda") -- pokaze ci bardzo dluga komenda i ja wykona
send("bardzo dluga komenda", false) -- nie pokaze ci bardzo dlugiej komendy i ja wykona
da sie jeszcze:
Pomoc ogólnie:
http://www.mudlet.org/media/ -- filmiki o tym jak robić proste skrypty. Nawet bez znajomości angielskiego metodą kopiuj/wklej da się czegoś nauczyć
http://wiki.mudlet.org/w/Manual:Technical_Manual -- opis każdej komendy
No i ogólnie masz multum przykładów w configu
Testowanie triggerow/alliasow (nie tych opartych na kolorach)
Da się klinąć "errors" i jak wywołamy allias "/add",
a w skrypcie bedzie:
echo("asxa" .. asdsadsada)
to wyskoczy:
ERROR:] object:<^/add$> function:<Alias151>
<[string "function Alias151()..."]:2: attempt to concatenate global 'asdsadsada' (a nil value)>
Tlumacząc: allias /add w drugiej linijce skryptu chciałby mieć zmienna asdsadsada, której nie ma.
W alliasach też da się definiować zmienne
np:
Wybierz paczkę
Kod: Zaznacz cały
^wp (.*)$
send("wybierz paczke " .. matches[2])
W moim confie zrobiłem jest taki skrypt ktory pozwala "echowac" tekst tak jakby przyszedł z gry więc wykonaja się na nim triggery
Chyba w standardowym mudlecie tez jest takie coś, ale reki nie dam uciąć
I nie trzeba juz kopac NPC, żeby sprawdzić czy działa
No i to co mnie osobiście najbardziej frustrowało:
Patrzeć UWAŻNIE na kropki, przecinki, cudzysłowia, rodzaje nawiasów, sejfowanie triggerow, spacje i wstawianie ^$