Narmaniel pisze:Piszę tutaj, bo to pytanie do Zurwena bardziej, niż CMUDowców.
Czy dobrze rozumiem, że wyciągając tablicę z Objects, w Keyu jest numer osoby, a w Value cała reszta informacji jej dotyczących?
I informację z Value wyciąga się przez %val.parametr_o_który_mi chodzi?
Nie potrafię też zrozumieć, dlaczego z tablicy Objects tworzona jest zmienna lista samych numerów, a potem druga zmienna baza danych już ze wszystkim. Mogę jakieś króciutkie wyjaśnienie?
Zurwen pisze:Ogólnie - pierdoła.

To jak ja mam się czuć?

GMCP wysyła coś co odczytuje się poprzez %json. Po przetworzeniu przez %json dostaje się tablice tablic (w przypadku Objects, dla prostszych pakietów może to być lista lub tablica). Rafgart w specyfikacji GMCP to opisał.
Objects.Nums to prosta lista obiektów na lokacji (lista)
Objects.Data to tablica, gdzie kluczem są numery z objects.nums a wartoścami tablica z danymi tego obiektu.
Czyli jak na lokacji masz obiekty [1, 2], to objects.data wygląda:
[1:[living:TRUE, avatar:TRUE, (... pozostale dane)], 2:[living:TRUE, avatar:FALSE, (... pozostałe dane)]
I jezeli chcesz sie dostac do informacji czy living 1 jest awatarem to robisz (teoretycznie)
%gmcp.objects.data.1.avatar
Tyle, że automatyczna zmienna %gmcp jakoś dziko działa w CMUDzie, więc ja zapisuje sobie odpowiednik %gmcp.objects.data (%json(%0) w triggerze GMCP Objects) do zmiennej np. OBJECTS_DATA i potem tylko
OBJECTS_DATA.1.avatar
Więc jeżeli dobrze zrozumiałem co napisałeś, to odpowiedź brzmi 'tak'.
Jak ktoś chce robić własne triggery GMCP, to trzeba pamiętać o tym kiedy poprawnie podmieniać zmienne z objects - MUD nie przesyła ich za każdym razem pełnych, czasami tylko przesyła uaktualnienie części danych.
Do kontaktów z czarodziejami służy komenda ‚zglos’ (błąd/pomysl/mg).