GMCP na Arkadii - pomysły

Forum techniczne Arkadii.
Awatar użytkownika
Adremen
Posty: 232
Rejestracja: 31 gru 2009 11:13

Re: GMCP na Arkadii - pomysły

Post autor: Adremen » 02 lip 2017 16:45

Rafgart pisze:
Adremen pisze:
Rafgart pisze: A masz jakas propozycje?

W kliencie WWW przed parsowaniem jest moze niezbyt ladny kawalek kodu:

Kod: Zaznacz cały

if (index == 'gmcp_msgs')
    data = data.replace(//g, '\\u001B');
I javascript to lyka, parsuje potem poprawnie.
A nie możesz dać opcjonalnego braku kolorowania w gmcp_msgs?
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'
Czy ja może coś źle rozumiem?

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.
Jesli wlaczysz opcje klienta:

Kod: Zaznacz cały

core.options.add ["base64_gmcp_msgs"]
to tresc komunikatow w 'gmcp_msgs' bedzie zakodowana w base64. Nawet jesli nie masz funkcji dekodujacej wbudowanej w klienta, to bez problemu mozna ja znalezc na githubie lub samemu napisac w Lua i powinna byc bardzo szybka.
Dzięki Rafgart, ta zmiana załatwiła problem, od teraz gmcp_msgs jest używalne na Mudlecie.

Awatar użytkownika
Rafgart
Posty: 941
Rejestracja: 09 lut 2009 10:10

Re: GMCP na Arkadii - pomysły

Post autor: Rafgart » 03 lip 2017 01:52

Jeszcze kilka dodatkow do GMCP:
Do modulu Room dodalem pakiet Time, ktory pokazuje, czy na lokacji jest dzien czy noc oraz aktualna pore roku.
Do modulu Objects dodalem nastepujace atrybuty postaci:
  • hidden - czy ukryta
    can_see_in_room - czy widzi na lokacji (tylko dla postaci gracza)
    paralyzed - czy sparalizowana (tylko dla postaci gracza)
    editing - czy cos pisze, na przyklad list (tylko dla postaci gracza)
Dwa ostatnie powinny pozwolic ograniczyc liste komend/aliasow w sytuacjach, gdy postac nie moze ich wykonac.
Czyli na przyklad zablokowac 'zabij powazaniem'.

I to chyba wszystko, wiecej dodawac na razie nie planuje.

Stellan
Posty: 33
Rejestracja: 02 kwie 2017 19:23

Re: GMCP na Arkadii - pomysły

Post autor: Stellan » 03 lip 2017 06:40

Ekstra. Jeszcze zeby dalo sie wybrac, ktore pakiety z modulow sa nam potrzebne, czy to przez 'opcje/gmcp', czy wyslanie IACem, to bylby miod i orzeszki. Cos w stylu 'gmcp wylacz/wlacz pakiet hidden z modulu objects'. Mozna by sporo zmniejszyc traffic.

Przy okazji, nie rozumiem prosby o hidden. "[nazwa postaci]" z czystego telnetu naprawde nie wystarcza? ;)

Eldakar
Posty: 39
Rejestracja: 19 maja 2015 23:02

Re: GMCP na Arkadii - pomysły

Post autor: Eldakar » 03 lip 2017 14:26

Czolem,

1. Object.Data
-- enemy - BOOLEAN, czy obiekt jest wrogiem w walce postaci gracza
++ enemy - BOOLEAN, czy obiekt jest wrogiem w walce postaci gracza lub czlonka druzyny
2. Object.Data
++ guild_enemy - BOOLEAN, czy obiekt jest wrogiem gildii (wedlug relacji)

druga sugestia, troszke bardziej czasochlonna i pewnie juz ktos o tym wspominal:
combat.*
{
kto: 'obj_213123',
kogo: 'obj_432432',
text: 'Ktos tam bije kogo po lbie'
}
ulatwilo by zycie :)

a pozatym, super zmiany, szczegolnie z hidden, paralyzed

Pozdrawiam
E

Stellan
Posty: 33
Rejestracja: 02 kwie 2017 19:23

Re: GMCP na Arkadii - pomysły

Post autor: Stellan » 03 lip 2017 15:39

Kto kogo leje mozesz zrobic z attack_num. Co do reszty, to nie wiem, czy gmcp ma w zamysle zastapic wszystko.

Eldakar
Posty: 39
Rejestracja: 19 maja 2015 23:02

Re: GMCP na Arkadii - pomysły

Post autor: Eldakar » 03 lip 2017 15:53

wiem kto kogo leje, chce sobie kolorowac ciosy wedlug tego czy moja druzyna bije kogos czy ktos bije moja druzyne :)

jeszcze jedna sugestia apropo nowych gmcp:

-- paralyzed - BOOLEAN, czy postac gracza jest sparalizowana
++ paralyzed - BOOLEAN, czy postac gracza jest sparalizowana, plynie, siedzi, wspina sie (lub wykonuje jakakolwiek akcje, ktora uniemozliwa ruch)

Stellan
Posty: 33
Rejestracja: 02 kwie 2017 19:23

Re: GMCP na Arkadii - pomysły

Post autor: Stellan » 03 lip 2017 16:06

Mam nadzieje, ze gmcp w takiej formie nigdy sie nie rozrosnie. Wiekszosc takich rzeczy mozesz zrobic za pomaca color triggow, swoich baz danych itd. Wedlug mnie hp, attack_numy i targety w objects to max potrzebnych informacji podanych na tacy. Przy obecnym podziale gmcp_msgs nic w zasadzie nie potrzeba.

Eldakar
Posty: 39
Rejestracja: 19 maja 2015 23:02

Re: GMCP na Arkadii - pomysły

Post autor: Eldakar » 03 lip 2017 16:15

mam nadzieje, ze gmcp sie rozrosnie, wtedy nie bede musial zmieniac moich triggow na kolory, za kazdym razem, kiedy chce zmienic kolory w arce :)

Awatar użytkownika
Adremen
Posty: 232
Rejestracja: 31 gru 2009 11:13

Re: GMCP na Arkadii - pomysły

Post autor: Adremen » 03 lip 2017 22:05

Rafgart,

czy to jest celowe działanie, ze po wejściu w `editing`, przychodzi gmcp.objects.nums z jednym obiektem (tylko nami)? W wyniku czego, jeśli sprawdzam kto jest na lokacji z gmcp.objects.nums, nagle wszyscy znikają oprócz mnie gdy zaczynam pisać list.
Zakończenie pisania listu lub przerwanie nie daje nawet update z gmcp.objects.nums.

Awatar użytkownika
Rafgart
Posty: 941
Rejestracja: 09 lut 2009 10:10

Re: GMCP na Arkadii - pomysły

Post autor: Rafgart » 03 lip 2017 22:14

Juz powinno byc ok.

ODPOWIEDZ