GMCP na Arkadii - pomysły
Re: GMCP na Arkadii - pomysły
Padlo, ale niezaleznie od tego. Juz wszystko powinno byc ok.
Co do meritum - jesli w zmiennej sa znaki konca linii, to znaczy, ze cmud cos zle wyswietla.
Sprobuj na tej zmiennej zamienic \n na \n\n i dopiero wtedy wyswletlic.
Co do meritum - jesli w zmiennej sa znaki konca linii, to znaczy, ze cmud cos zle wyswietla.
Sprobuj na tej zmiennej zamienic \n na \n\n i dopiero wtedy wyswletlic.
Re: GMCP na Arkadii - pomysły
Albo nie umiem, ale nie działa. Spróbuje jeszcze jutro.
EDIT:
Po tym jak Arka padła, linijkę "Masz przy sobie" wciągnęło do pierwszej. Poprzednio po <i> przychodziły dwa komunikaty, teraz przychodzi jeden. Może to coś podpowie. Żeby przychodziło ich tyle, ile linijek ekwipunku. Jutro się jeszcze pochylę nad tym \n.
EDIT:
Po tym jak Arka padła, linijkę "Masz przy sobie" wciągnęło do pierwszej. Poprzednio po <i> przychodziły dwa komunikaty, teraz przychodzi jeden. Może to coś podpowie. Żeby przychodziło ich tyle, ile linijek ekwipunku. Jutro się jeszcze pochylę nad tym \n.
Re: GMCP na Arkadii - pomysły
przyklad:
https://gyazo.com/7eaca0ff2b4b185e8047353373a9c895
A tak jest to wyswietlane w cmudzie:
https://gyazo.com/9539510f8078fbc174bd998df014ef8a
https://gyazo.com/7eaca0ff2b4b185e8047353373a9c895
A tak jest to wyswietlane w cmudzie:
https://gyazo.com/9539510f8078fbc174bd998df014ef8a
他に方法はありません
Re: GMCP na Arkadii - pomysły
Parser jsona w cmudzie zjada znaki konca linii. Moze przed parsowaniem trzeba je zamienic na \\n, moze na \n\n, moze calkiem inaczej.
Jutro postaram sie Zurwena sciagnac, powinien cos tu pomoc.
Jutro postaram sie Zurwena sciagnac, powinien cos tu pomoc.
Re: GMCP na Arkadii - pomysły
Zawartość %json od %gmcp zwraca już bez newline? Próbowałeś jakieś %replace, zmianę w opcjach CMUDa (albo chodzi o coś z gmcp, albo o escape characters podejrzewam)? Dzisiaj nie mam dostępu do CMUDa, jutro spojrzę...
Do kontaktów z czarodziejami służy komenda ‚zglos’ (błąd/pomysl/mg).
Re: GMCP na Arkadii - pomysły
Uzyj #show zamiast #say zeby wyswietlic newline, i dodatkowo %replace zeby usunac newline z room.exits, room.short, room.long (bo bedziesz mial pusta linia po kazdym).
Albo ewentualnie mozna zostawic #say dla room.exits, room.short, room.long wtedy newline nie bedzie parsowana i uzyc #show dla pozostalych komunikatow dla ktorych newline jest potrzebna.
Albo ewentualnie mozna zostawic #say dla room.exits, room.short, room.long wtedy newline nie bedzie parsowana i uzyc #show dla pozostalych komunikatow dla ktorych newline jest potrzebna.
Re: GMCP na Arkadii - pomysły
A nie możesz dać opcjonalnego braku kolorowania w gmcp_msgs?Rafgart pisze:A masz jakas propozycje?Adremen pisze:Rafgart,
czy gmcp_msgs kiedykolwiek zostanie przerobiony tak, ze parser nie będzie wykładał się na ESCAPE jak to kiedyś wspomniałeś?
W kliencie WWW przed parsowaniem jest moze niezbyt ladny kawalek kodu:I javascript to lyka, parsuje potem poprawnie.Kod: Zaznacz cały
if (index == 'gmcp_msgs') data = data.replace(//g, '\\u001B');
Czemu nie można wysyłać poprawnego encodowania kolorów jako tekst unicode?
Kod: Zaznacz cały
u'I love \x1b[0;32mStack Overflow\x1b[0m'
Bo robienie specjalnych wyjątków w kodzie klienta (uniwersalnego) pod jednego MUDa to takie trochę średnie jest. To, że pozostałe klienty się tego nie trzymają to jest ich problem, albo że tak powiem problem ich developerów, który nie świadczy o nich zbyt dobrze. Mudlet trzyma się standardów, bo od tego one są.
Faktycznie, w kodzie klienta webowego masz brudny kod, który robi to paskudztwo. Ale nie możemy zakładać chyba, że ludzie zrobią to samo z klientami? Z Mudleta też gra wiele ludzi (coraz więcej, bo to chyba jedyny klient rozwijający się na taką skalę) i brak gmcp_msgs jest bardzo uciążliwym problemem, który moim zdaniem musi zostać zaadresowany i rozwiązany. W przeciwnym razie, zachęcanie ludzi do korzystania z GMCP, który nie działa w funkcjonalnym kliencie jest nieporozumieniem Tak jak chyba wspominałeś, to nie jest wina Mudleta.
Re: GMCP na Arkadii - pomysły
Zrobiłem coś takiego:
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:
%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...?
Kod: Zaznacz cały
$msg=%json(%0)
#if ($msg.type=="other") {
gmcp_help=%list($msg.text,"\n",1)
#sh @gmcp_help
#exit
}
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))
Czy ja się za bardzo nie podnieciłem tym GMCP...?
Re: GMCP na Arkadii - pomysły
Jesli wlaczysz opcje klienta:Adremen pisze:A nie możesz dać opcjonalnego braku kolorowania w gmcp_msgs?Rafgart pisze:A masz jakas propozycje?Adremen pisze:Rafgart,
czy gmcp_msgs kiedykolwiek zostanie przerobiony tak, ze parser nie będzie wykładał się na ESCAPE jak to kiedyś wspomniałeś?
W kliencie WWW przed parsowaniem jest moze niezbyt ladny kawalek kodu:I javascript to lyka, parsuje potem poprawnie.Kod: Zaznacz cały
if (index == 'gmcp_msgs') data = data.replace(//g, '\\u001B');
Czemu nie można wysyłać poprawnego encodowania kolorów jako tekst unicode?
Czy ja może coś źle rozumiem?Kod: Zaznacz cały
u'I love \x1b[0;32mStack Overflow\x1b[0m'
Bo robienie specjalnych wyjątków w kodzie klienta (uniwersalnego) pod jednego MUDa to takie trochę średnie jest. To, że pozostałe klienty się tego nie trzymają to jest ich problem, albo że tak powiem problem ich developerów, który nie świadczy o nich zbyt dobrze. Mudlet trzyma się standardów, bo od tego one są.
Faktycznie, w kodzie klienta webowego masz brudny kod, który robi to paskudztwo. Ale nie możemy zakładać chyba, że ludzie zrobią to samo z klientami? Z Mudleta też gra wiele ludzi (coraz więcej, bo to chyba jedyny klient rozwijający się na taką skalę) i brak gmcp_msgs jest bardzo uciążliwym problemem, który moim zdaniem musi zostać zaadresowany i rozwiązany. W przeciwnym razie, zachęcanie ludzi do korzystania z GMCP, który nie działa w funkcjonalnym kliencie jest nieporozumieniem Tak jak chyba wspominałeś, to nie jest wina Mudleta.
Kod: Zaznacz cały
core.options.add ["base64_gmcp_msgs"]