Strona 6 z 13

Re: Hacki zyciowe do Mudleta

: 12 sie 2015 10:58
autor: Migr
Plus musisz wziąć poprawki, że nie zawsze masz tekst typu "Podazasz za kims na polnoc", ale często występują niestandardowe przejścia np. "Podazasz za kims (przez most|w krzaki|itp.)". Nie wiem jak dokładnie jest w Mudlecie, ale w innych klientach używa się room scriptow, aby to ogarnąć.

Re: Hacki zyciowe do Mudleta

: 27 sie 2015 15:51
autor: Zorilazor
po paru tygodniach bawienia sie mapperem taka obserwacje mam, do tego co bylo pisane wczesniej o hashach
System obslugi hashow w mudlecie (setRoomIDbyHash) jest przeznaczony do mapowania mudow ktore wysylaja unikalny hash w gmcp i do Arkadii sie nie bardzo nadaje - glownie dlatego, ze nie ma sily zeby hashe sie nie powtarzaly, a 'getRoomIDbyHash' zwraca zawsze tylko jeden pokoj.
lepiej dziala ustawianie wlasnych hashow jako 'UserData'

Kod: Zaznacz cały

setRoomUserData(roomID, key (as a string), value (as a string))
a potem dopisanie sobie funkcji ktora zwraca liste RoomID's z takim samym hashem przy uzyciu getRooms() i getRoomUserData().
Uzbrojeni w taka liste, powiedzmy 2-3 albo wiecej pokoi mozemy wtedy je sobie sprawdzac, np: ktory najbardziej odpowiada ostatnio wpisanej komendzie (zmienna 'command' - typu 'wyjscie', 'wejdz na gore' itp) albo kierunku marszu, albo czy ma wyjscia z ostatniego pokoju w ktorym bylismy albo czy jest w tej samej AreaID itd

Re: Hacki zyciowe do Mudleta

: 28 wrz 2015 21:32
autor: Zorilazor
Wlaczyl juz ktos nowe GMPC w mudlecie?
Jakos nie daje rady...
sendGMCP("char.state") dziala jak trzeba ale:
sendGMCP("Core.Ping") - nic nie daje, chociaz chyba powinno
ani gmod.enableModule("user", "Objects")
ani sendGMCP([[Core.Supports.Add ["Objects"] ]])

jakies pomysly?

Re: Hacki zyciowe do Mudleta

: 29 wrz 2015 10:25
autor: Tercoral
Sprobuj z mudletem 3.0. Mi nie dziala roza wiatrow pod nim z gmcp to moze cos grzebali w obsludze tego protokolu.

Re: Hacki zyciowe do Mudleta

: 29 wrz 2015 10:58
autor: Dorien
jezeli sendGMCP("char.state") dziala ok to sprobuj
sendGMCP("core.supports.add[ "Objects" ]")

Core.Ping odpowie pustym "IAC SB GMCP Core.Ping IAC SE" wiec raczej niczego niedostatniesz chyba ze jakosc wylapiesz odpowiedz konkretnego rodzaju

Re: Hacki zyciowe do Mudleta

: 29 wrz 2015 13:52
autor: Zorilazor
w 3.0 probowalem i tez bez powodzenia - znaczy kompas i wskazniki inne mi dzialaja w 2.1 i 3.0

Dorien, w mudlecie mozna wlaczyc debug ktory pokaze info przychodzace z GMCP np tak:

Kod: Zaznacz cały

> lua sendGMCP('char.info')
System Message: 
gmcp event <gmcp.char> display(gmcp) to see the full content
System Message: 
gmcp event <gmcp.char.info> display(gmcp) to see the full content
i mamy nowe info, a po sendGMCP('Core.Ping') ciszzzzaaa :)

Kod: Zaznacz cały

sendGMCP("core.supports.add[ "Objects" ]")
sie wykrzacza bo musza byc inne znaczniki stringow albo [[ albo ' np:

Kod: Zaznacz cały

sendGMCP([[core.supports.add[ "Objects" ] ]])
abo
sendGMCP('core.supports.add[ "Objects" ] ')
probowalem tez laczyc stringa tak:

Kod: Zaznacz cały

sendGMCP("Core.Supports.Add ".. yajl.to_string{"Objects"})
gdzie yajl.to_string konwertuje dane JSON ale tez nic

czy mozna sobie wylaczyc modul 'core' przez przypadek?

Re: Hacki zyciowe do Mudleta

: 29 wrz 2015 14:58
autor: Rafgart
Pomiedzy naglowkiem a ladunkiem musi byc spacja przerwy.

Kod: Zaznacz cały

'core.supports.add ["Objects"]'

Re: Hacki zyciowe do Mudleta

: 29 wrz 2015 19:22
autor: Zorilazor
ze spacja a newet dwiema tez nie dziala :) moze cos innego zle robie :/ ale juz wyczerpalem pomysly

Re: Hacki zyciowe do Mudleta

: 29 wrz 2015 19:45
autor: Narmaniel
Nie korzystam z Mudleta, ale... może trzeba wpisać coś w ustawieniach GMCP w kliencie? Tak, jak to było w CMUDzie, co napisał Zurwen w temacie o swojej paczce skryptów.

Re: Hacki zyciowe do Mudleta

: 30 wrz 2015 00:49
autor: Zorilazor
Narmaniel pisze:może trzeba wpisać coś w ustawieniach GMCP w kliencie?
Moge sie myslic, ale po wielu probach raczej sklaniam sie ku temu, ze nowe GMCP sie gryzie z Mudletem w jakis sposob.

Mudlet ma tylko jedno ustawienie - tzn albo 'Enable GMCP' albo nie i przy polaczeniu wlacza obsluge lub nie :)

wlaczylem sobie Wiresharka zeby zobaczyc co on tam wysyla i generalnie nic ciekawego nie ma tzn, jako standard Mudlet robi subskrybcje do kilku modulow a reszte trzeba sobie dodac (info z Wiresharka):
Core.Hello { "client": "Mudlet", "version": "2.0.1" }
Core.Supports.Set [ "Char 1", "Char.Skills 1", "Char.Items 1", "Room 1", "IRE.Rift 1", "IRE.Composer 1"]
tyle wysyla mudlet przy kazdym polaczeniu, i raczej nie da rady tego zmienic.
Dane ktore sam wysylam wygladaja tak:

Kod: Zaznacz cały

Core.Hello { "client": "Mudlet", "version": "2.0.1" }
Core.Supports.Set [ "Core", "Char", "Room", "Objects" ]
moze mi po tym wysyla jakies tam info ale mudlet tylko widzi room i char i sobie to tam przetwarza w taki sposob - po sendGMCP("room.info") np:

Kod: Zaznacz cały

  room = {
    info = {
      exits = {
        "polnoc",
        "gora",
        "zachod"
      },
      map = {
        y = 53,
        x = 72,
        name = "Nuln",
        domain = "Imperium"
      }
    }