Nim zacznę odpowiadać, polecam zmudowskiego helpa - dokumentacja jest obszerna i dość dokładna, większość rzeczy można tam znaleźć.
1. Trigger vs bind:
Tak, triggery wysyłające coś automatycznie są nielegalne. Bindy zaś są dozwolone. Aczkolwiek, Administracja nigdy nie raczyła wyrazić jasnego poglądu na ten temat - teoretycznie musisz wiedzieć co takiego wysyłasz do muda. Sprawa jest nie do udowodnienia rzecz jasna, jednak wydaje mi się, że kiedyś parę osób zostało ukarane za tego typu rozwiązania. Wywołało to sporą burzę na forum, bo bindów tego typu używa prawie każdy, i skoro jedni dostali za to karę, to czemu nie reszta? Ergo, używasz na własną odpowiedzialność. Ale nie chcę Cię straszyć - tak jak napisałem, takich rozwiązań używa naprawdę przeważająca większość osób.
2. Alias z argumentami
Rozwiązaniem Twojego problemu jest wyrażenie %-1. Zmud podstawia za %-1 wszystko, co pojawi się po nazwie aliasa przy jego użyciu (dowolna ilość słów). Jeśli argument składa się z kilku słów, można używać %1, %2, itd., żeby odnosić się do kolejnych słów. Jeśli będą po aliasie wyrażenia zamknięte w {}, wtedy %1, %2 odnosić się będą do kolejnych klamr i całej ich zawartości. A więc przykłady:
z = zabij %-1
wpisuję "z glupiego goblina", do Arki leci "zabij glupiego goblina".
x = zabij %1;przelam obrone %2
wpisuję "z mezczyzne mezczyzny", do Arki leci "zabij mezczyzne;przelam obrone mezczyzny"
wpisuję "z {glupiego mezczyzne} {glupiego mezczyzny}, do Arki leci "zabij glupiego mezczyzne;przelam obrone glupiego mezczyzny"
Swoje rozwiązanie osiągniesz podając %-1 po komendach w aliasie.
3. Zmienna z komendami.
Jest kilka sposobów, najprostszy to
#EXEC @funkcja
Nie jestem jednak pewny, czy działa to pod zmudem (nie podałeś, którego dokładnie klienta używasz). Jeśli nie działa, konieczne będzie zastosowanie pętli #FORALL (skrót #FO). Wtedy w zmiennej funkcja komendy oddzielamy nie średnikiem, a znakiem | . Jest to delimiter robiący ze zmiennej listę elementów. I wtedy używamy
#FO @funkcja {#SEND %1}.
4. Kolorowanie i zliczanie stanu:
Rozwiązaniem tego są suby właśnie. Generalnie łapiesz całość, i potem przez funkcję %ismember sprawdzasz, jaka to wartość liczbowa. Podaję przykład [skrypt jest spod CMUDa, ale na 99% działa w zmudzie. Jedyne co możliwe, że trzeba będzie zmienić, to dodanie " " wokół %1, i tyldy ~ przed nawiasami kwadratowymi]
Kod: Zaznacz cały
Zmienna @przeciazenie:
Ciezar twego ekwipunku wadzi ci troche|Ciezar twego ekwipunku daje ci sie we znaki|Ciezar twego ekwipunku jest dosyc klopotliwy|Twoj ekwipunek jest wyjatkowo ciezki|Twoj ekwipunek jest niemilosiernie ciezki|Twoj ekwipunek prawie przygniata cie do ziemi
Pattern:
^({@przeciazenie}){.}$
Value:
#sub {%ansi(hi,cyan,cyan)%1 [%ismember(%1, @przeciazenie)/6].}
Możesz też pokombinować z #PSUB. I ważne - jeden sub na linijkę, dwa mogą się krzaczyć. Więc pierwsza linijka stanu to jeden trigger z jednym subem.