CMUD

Forum techniczne Arkadii.
Awatar użytkownika
Tajga
Posty: 4
Rejestracja: 18 lut 2017 00:14

Re: CMUD

Post autor: Tajga » 05 cze 2019 17:53

Umbar pisze:
05 cze 2019 13:18

Kod: Zaznacz cały

trigger pattern "Jestes (*), (*) oraz (*)."

@jaki1 = %1
@jaki2 = %2
@jaki3 = %3
 
Ponieważ powinno być:
jaki1 = %1
jaki2 = %2
Ewentualnie
$jaki1 = %1
Jesli zmienna ma być używana wyłącznie w tym triggerze. @jaki1 używasz wtedy, kiedy chcesz wykorzystać zmienną, a nie ją podmienić czy stworzyć.
Umbar pisze:
05 cze 2019 13:18
Albo chociaz

Kod: Zaznacz cały

trigger pattern "Jestes (*), (*) oraz (*)."

#show %2
To akurat działa prawidłowo, wiec podejrzewam, że testujesz wpisujac przykład zwyczajnie jako komende, ale cmud w odroznieniu od zmuda nie przekształca, nie zaglada do komend jesli chodzi o triggery. Dlatego sprawdzic swoj przyklad mozesz dodajac na poczatku #sh zeby go wyswietlilo, ale nie wyslalo jako komendy.

Awatar użytkownika
Umbar
Posty: 51
Rejestracja: 07 sty 2012 10:12

Re: CMUD

Post autor: Umbar » 05 cze 2019 19:03

Bardzo dziekuje, powoli jakies sukcesy sa. z Twoimi wskazowkami mysle, ze pojde juz w dobra strone. Pozdrawiam

Awatar użytkownika
Derdhang
Posty: 142
Rejestracja: 24 cze 2017 00:15

Re: CMUD

Post autor: Derdhang » 17 gru 2019 16:12

Witam.
Czy ktoś potrafi pomóc?
Potrzebuje podswietlic na na maperze za pomocą skryptu sciezke do przejścia, znając tylko %roomvnum().
Oraz, o ile to możliwe, wyłączenie tego podświetlenia.
他に方法はありません

Awatar użytkownika
Dargoth
Posty: 7
Rejestracja: 04 mar 2009 23:02

Re: CMUD

Post autor: Dargoth » 06 sty 2020 20:46

ja to robiłem sobie tak. ustawiałem sobie tam na miejscu docelowym taką kropkę jak ta co wskazuje twoją pozycje:

$location to twój numer lokacji

Kod: Zaznacz cały

#LOCATION Cel $location brown
#PATHHIGH %pathreverse(%pathfrom($location))
Nie znalazłem niestety nigdy jak odznaczyć #PATHHIGH inaczej niż kliknięciem
Delwing

Jasko
Posty: 58
Rejestracja: 06 sty 2012 11:17

Re: CMUD

Post autor: Jasko » 14 sty 2020 21:12

Adair pisze:
02 lip 2017 09:04
Zrobiłem coś takiego:

Kod: Zaznacz cały

$msg=%json(%0)
#if ($msg.type=="other") {
gmcp_help=%list($msg.text,"\n",1)
#sh @gmcp_help
#exit
}
Mimo wszystko wciąż mam problem, ponieważ #show w jakiś dziwny sposób w ogóle nie działa mi w triggerze gmcp_msgs. Nic nie "drukuje", za to #say tak.

Wpisanie z palca #sh @gmcp_help wyświetla wszystko pięknie i ładnie. Wpisanie #say @gmcp_help wyświetla tą ciągłą linię.

Czy ten problem mam drążyć tutaj, czy przenieść się do tematu CMUDa?

EDIT:

Zrobiłem zupełnie inaczej:

Kod: Zaznacz cały

$msg=%json(%replace(%0,"\n",%cr))
%cr jest CMUDowym znakiem końca linii, który CMUD rozumie. Problem jaki teraz mam to pusta linia po każdym komunikacie, bo na końcu gmcp_msgs.text tez jest \n które zamienia na %cr. Ale chyba wiem jak to obejść.

Czy ja się za bardzo nie podnieciłem tym GMCP...?
Odgrzebuje, bo tez mi to zaprzestanie dzialania #sh nie daje spac po nocach - niby jest to pierdola, bo sa alternatywy ale chcialbym wiedziec dlaczego.

Herk
Posty: 20
Rejestracja: 03 cze 2010 12:12

Re: CMUD

Post autor: Herk » 26 kwie 2020 11:30

Hej.
Macie jakiś pomysł na to jak zaczytać linię poprzedzającą linię, która aktywuje trigger?

Przykład:
Tekst w pierwszej linii.
Tekst w drugiej linii. -> aktywacja triggera

Kod: Zaznacz cały

#VAR zmienna {Tekst w pierwszej linii.}

Jasko
Posty: 58
Rejestracja: 06 sty 2012 11:17

Re: CMUD

Post autor: Jasko » 27 kwie 2020 12:58

^(?:> )?Oceniasz starannie (.+)\.$\n^(?:> )?.+\.$ - generalnie dodajesz trigger w regexpie i z dwiema liniami (Tresc pierwszej linii)\nTresc drugiej linii.

Herk
Posty: 20
Rejestracja: 03 cze 2010 12:12

Re: CMUD

Post autor: Herk » 27 kwie 2020 22:04

W "pierwszej linii" mogę otrzymać cokolwiek. Generalnie chodzi o to aby trigger reagował na konkretny tekst. W chwili reakcji chcę zaczytać linię, która była powyżej. Nie chciał bym robić multi triggerów typu: Trigger 1: * , Trigger 2: Mój tekst. - zbyt zamuli to klienta, który będzie obrabiał każdy znak.

Jasko
Posty: 58
Rejestracja: 06 sty 2012 11:17

Re: CMUD

Post autor: Jasko » 28 kwie 2020 00:24

Herk nawet jeśli pierwsza linia we wzorcu będzie zapisana (.+)\n to trigger będzie się odpalal tylko jeśli całość pasuje do wzorca (.+)\ndruga linia - to nie multitrigger tylko regex z wzorcem na wielu liniach - dodaj jakieś echo i zobaczysz że nie będzie wywoływane co chwilę. Ewentualnie możesz też spróbować pokombinować z %line, może tak Ci się uda (o ile czegoś nie mylę i taka funkcja istnieje ;))

ODPOWIEDZ