GMCP na Arkadii - pomysły

Forum techniczne Arkadii.
Eday
Posty: 3
Rejestracja: 10 wrz 2015 10:19

GMCP na Arkadii - pomysły

Post autor: Eday »

Witam!

Bardzo podoba mi się GMCP na Arkadii. Mam jeden pomysł, który może podnieść użyteczność:

Czy jest możliwość żeby room.info zawierało nazwe pokoju?

Teraz mamy:

Kod: Zaznacz cały

{
   "exits":[
     ...
   ],
   "map":{
      "name":"Wyzima",
      ...
   }
}
A fajnie by było mieć:

Kod: Zaznacz cały

{
   "name": "Ulica Zlotnicza."
   "exits":[
     ...
   ],
   "map":{
      "name":"Wyzima",
      ...
   }
}
Oczywiście z uwzględnieniem widoczności. Ułatwiłoby to pisanie i używanie mapperów z Arkadią. Aktualnie wykrywania nazwy pokoju jest kłopotliwe, czasem nie wiadomo która linijka w odpowiedzi to nazwa pokoju. Co wy na to?

PS. Zgłaszałem pomysł na Arkadii. Ale pomyślałem, że dedykowany wątek pozwoli na dyskusje na o pomysłach i dopracowanie ich nim zgłosimy do Administracji.

Eday
Migr
Posty: 37
Rejestracja: 30 kwie 2015 18:26

Re: GMCP na Arkadii - pomysły

Post autor: Migr »

Nie wiem jak to bedzie z synchronizacja, ale opis lokacji mozesz zlapac color triggerem z opcji kolory ansi -> krotki opis dniem/noca.
Co do pomyslow, mam swoj maly. Chodzi o dodanie pozycji (desc)(Ty) w numie wlasnej postaci w object.data.
"Twoj nos atakuje won kiszonej kapusty."
Awatar użytkownika
Zorilazor
Posty: 49
Rejestracja: 19 lut 2015 19:56

Re: GMCP na Arkadii - pomysły

Post autor: Zorilazor »

fajnie by byo dostac opisy w GMCP ale wiele to nie zmienia. Krotki opis to zwykle pierwsza linia tekstu po nowym room.info, i jak wyzej, mozna wylapac kolorowym triggerem.
Niektore krotkie opisy zmieniaja sie w roznych porach roku, dnia, oswietlenia, czasem nawet losowo, wiec i tak dzialajacy mapper nie bedzie na nich polegal w 100%
Zurwen
Posty: 756
Rejestracja: 13 lut 2009 09:37

Re: GMCP na Arkadii - pomysły

Post autor: Zurwen »

Migr pisze:Nie wiem jak to bedzie z synchronizacja, ale opis lokacji mozesz zlapac color triggerem z opcji kolory ansi -> krotki opis dniem/noca.
Co do pomyslow, mam swoj maly. Chodzi o dodanie pozycji (desc)(Ty) w numie wlasnej postaci w object.data.
Nie ma takiej potrzeby, skoro masz pole avatar.

Tak jak napisali wyżej, nazwę roomu lepiej łapać po kolorku ansi. GMCP przychodzi niezależnie od reszty informacji, więc trudniej by to było zgrać w skryptach.
Do kontaktów z czarodziejami służy komenda ‚zglos’ (błąd/pomysl/mg).
Gleanevall
Posty: 258
Rejestracja: 13 sie 2011 21:08

Re: GMCP na Arkadii - pomysły

Post autor: Gleanevall »

Zurwen pisze:GMCP przychodzi niezależnie od reszty informacji, więc trudniej by to było zgrać w skryptach.
afaik mylisz się tutaj, a Zorilla ma rację.

Moja propozycja: niech core.ping odpowiada tymi samymi danymi, które zostały wysłane, żeby można było tam podać timestampa.
Migr
Posty: 37
Rejestracja: 30 kwie 2015 18:26

Re: GMCP na Arkadii - pomysły

Post autor: Migr »

Zauwazylem, ze objects.data nie przysyla aktualizacji "hp" podczas akcji typu walka->ucieczka->powrot ponizej hp przeciwnika == "1". Zastanawiam sie czy jest to blad, czy tez zamierzona sprawa?

Powiedzmy, ze walcze z wilkiem. Zbijam go do hp == 1, uciekam, wracam i dostaje z gmcp:

Kod: Zaznacz cały

object.data: {279231}{{desc}{siwy drapiezny wilk}{defense_target}{false}{attack_num}{475
020}{attack_target}{false}{team_leader}{false}{team}{false}{enemy}{true}{living}
{true}{hp}{1}}{475020}{{attack_num}{279231}}
Hp jest na swoim miejscu, dobijam do hp == 0 (ledwo zywy), uciekam z lokacji, wracam i dostaje:

Kod: Zaznacz cały

object.data: {279231}{{desc}{siwy drapiezny wilk}{defense_target}{false}{attack_num}{475
020}{attack_target}{false}{team_leader}{false}{team}{false}{living}{true}{enemy}
{true}}{475020}{{attack_num}{279231}}
Tutaj juz nie ma pozycji hp == 0...
Edit:
Zmienilem wartosci hp, gdyz nie jestem na 100% pewny czy jest tak juz od hp == 1, czy tylko nie wysyla wartosci zerowej.
"Twoj nos atakuje won kiszonej kapusty."
Awatar użytkownika
Tuargan
Posty: 41
Rejestracja: 14 lut 2009 19:12

Re: GMCP na Arkadii - pomysły

Post autor: Tuargan »

Komuś się może udało odpytać GMCP o dane Object.Data dotyczące tylko jednego, konkretnego obiektu? Próbowałem kilku wersji, za każdym razem uzyskiwałem albo dane dotyczące wszystkich obiektów na lokacji, albo brak odpowiedzi.

[Edit: bo mało pomysłu w pomyśle :P]

Jeśli nie jestem w błędzie, to takiej możliwości nie ma i pomysłem byłoby wprowadzenie. Jeśli w owym błędzie tkwię, byłbym wdzięczny za wyprowadzenie z niego.
Awatar użytkownika
Rafgart
Posty: 970
Rejestracja: 09 lut 2009 10:10

Re: GMCP na Arkadii - pomysły

Post autor: Rafgart »

Arkadia przesyla dane w momencie ich zmiany. Odpytywanie nie powinno byc potrzebne i jest zbednym obciazaniem muda. Zostawilem taka mozliwosc dla sytuacji wyjatkowych, ale pewnie wiekszosc to bedzie 'nie umiem zakodowac, to bede non stop pobieral dane z muda'. Jesli sie myle, to przedstaw mi przypadek, gdzie taka mozliwosc naprawde cos wnosi.
Migr: juz powinno byc dobrze.
Awatar użytkownika
Tuargan
Posty: 41
Rejestracja: 14 lut 2009 19:12

Re: GMCP na Arkadii - pomysły

Post autor: Tuargan »

Próbuję obejść problem, który opisałem tutaj, jednym z pomysłów było przy liczbie obiektów 7+ odpytywanie o nie po kolei. Ale rzeczywiście to zły pomysł.

A może dałoby się rozbić przesyłanie Objects.data w przypadku podawania pełnych danych na temat obiektów? W sensie, że zamiast jednego komunikatu:

Kod: Zaznacz cały

object.data {"6890":{"desc":"oszalaly zablizniony mezczyzna","defense_target":false,"attack_num":false,"attack_target":false,"team_leader":false,"team":false,"enemy":false,"living":true,"hp":6},"6905":{"desc":"usmiechniety przystojny mezczyzna","defense_target":false,"attack_num":false,"attack_target":false,"team_leader":false,"team":false,"enemy":false,"living":true,"hp":6},"6901":{"desc":"powabna ladna kobieta","defense_target":false,"attack_num":false,"attack_target":false,"team_leader":false,"team":false,"enemy":false,"living":true,"hp":6}}
Otrzymać:

Kod: Zaznacz cały

object.data {"6890":{"desc":"oszalaly zablizniony mezczyzna","defense_target":false,"attack_num":false,"attack_target":false,"team_leader":false,"team":false,"enemy":false,"living":true,"hp":6}}
object.data {"6905":{"desc":"usmiechniety przystojny mezczyzna","defense_target":false,"attack_num":false,"attack_target":false,"team_leader":false,"team":false,"enemy":false,"living":true,"hp":6}}
object.data {"6901":{"desc":"powabna ladna kobieta","defense_target":false,"attack_num":false,"attack_target":false,"team_leader":false,"team":false,"enemy":false,"living":true,"hp":6}}
Różnice w ilości przesłanych danych marginalne, różnice w oskryptowywaniu tego też...
Awatar użytkownika
Rafgart
Posty: 970
Rejestracja: 09 lut 2009 10:10

Re: GMCP na Arkadii - pomysły

Post autor: Rafgart »

Wyglada na to, ze GMCP jest ucinane po 1024? znakach.
Arkadia bez problemu wysyla do 30k, wiec problem jest raczej w kliencie. Nie wiem czy jest dostepny kod zrodlowy TF-a, ale nalezaloby sprawdzic maksymalna wielkosc kolejki dla subnegocjacji opcji GMCP.
Rozbicie moze nic nie dac, bo i tak wszystko trafi do jednego bufora.
ODPOWIEDZ