TinTin++, skrypty do arkadii v.1.0

Forum techniczne Arkadii.
Luchtenger
Posty: 3
Rejestracja: 10 maja 2015 20:51

Re: TinTin++, skrypty do arkadii v.1.0

Post autor: Luchtenger » 28 lip 2015 00:47

Dzięki Ralandil, działa.

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

Re: TinTin++, skrypty do arkadii v.1.0

Post autor: Migr » 04 sie 2015 17:25

Tak z ciekawości, w jaki sposób macie zrobiony trigger na wrogów? Coś w stylu #action {%i{ wrog1|wrog2}}, czy też łapiecie cały output #eventem {received line} i dalej szukacie regexpem linię z opisami postaci na lokacji?
"Twoj nos atakuje won kiszonej kapusty."

Dorien
Posty: 142
Rejestracja: 25 lip 2012 00:38

Re: TinTin++, skrypty do arkadii v.1.0

Post autor: Dorien » 01 wrz 2015 09:48

recived line dziala zawolno i przymula skrypty wtedy kiedy nie trzeba w trakcie walki kiedy najwiecej sie wywala dlatego u mnie jest tylko

Kod: Zaznacz cały

#ac {%0 przybyw{a|aja}{.| z | ze }} {
	i tutaj juz szukam..
}

Dorien
Posty: 142
Rejestracja: 25 lip 2012 00:38

Re: TinTin++, skrypty do arkadii v.1.0

Post autor: Dorien » 28 wrz 2015 11:51

zgodnie z wieściami próbuję włączyć co nieco w GMCP ale chyba cos robie nie tak

Kod: Zaznacz cały

        #send {$IAC$SB$GMCP Core.Supports.Set [ "Char", "Room", "Objects" ] $IAC$SE\} 
po czyms takim powinienem miec conieco tutaj:

Kod: Zaznacz cały

#EVENT {IAC SB GMCP objects.nums IAC SE}{
	#var objects {%0};
}
niestety nic nie ma przy debug telenet on nawet ma ktos jakiś pomysł?

Dorien
Posty: 142
Rejestracja: 25 lip 2012 00:38

Re: TinTin++, skrypty do arkadii v.1.0

Post autor: Dorien » 28 wrz 2015 16:19

znalazlem błąd, był w spacji prawidłowo powinno wygladać tak:

Kod: Zaznacz cały

#send {$IAC$SB$GMCPCore.Supports.Set [ "Char", "Room", "Objects" ]$IAC$SE\} 
co do samego GMCP to nie działa on zbyt dobrze,
- objects.data nie zawiera avatar które bylo w opisie
- objects.data zawiera avatar dopiero po odpytaniu, i posiada wartosc niezgodna z rzeczywistoscia (dla kobiety bez opisu mam wartosc true)
- objects.data nie wysyła aktualnej tablicy istot ale sama aktualizacje czyli mamy 3 osoby w lokacji i mamy 3 osoby w tablicy ktos wchodzi i mamy na lokacji 4 osoby, a w tablicy jedną nowa.
- obejrzyj ob123 nie działa.
- object.data nie jest za każdym razem przesyłane, nie jest przesyłane w przypadku pustego pokoju lub gdy szybko zmienimy otoczenie czyli np jest w pokoju 3 osoby, wychodzimy do pustego pokoju i mamy zaktualizowany tylko objects.nums a objects.data pozostaje bez zmian.
- messages type comm i emotes działa ok czysty txt jest w kolumnie text, natomiast dla commbat text jest pusty a jego zawartość jest wywalana do consoli.

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

Re: TinTin++, skrypty do arkadii v.1.0

Post autor: Rafgart » 28 wrz 2015 18:07

Objects.data zawiera zmieniajace sie parametry, liste postaci zawiera Objects.nums. Po wejsciu do pustego pokoju dostaniesz tylko Objects.num z twoja postacia, bo zmienila sie lista postaci, a parametry nie.
Dane sa wysylane z minimalnym opoznieniem w celu ich buforowania i ograniczenia mozliwosci wykorzystania ich np do autopogoni. Dlatego jak szybko przebiegniesz przez lokacje, to nic nie dostaniesz.
Avatar jest znacznikiem twojej postaci. Jako ze jest to niezmienne, to nie dostaniesz go w kolejnych pakietach objects.data. Odpytanie muda przesyla wszystkie dane, wiec tam bedzie.
Nie ob123 tylko ob_123.

Dorien
Posty: 142
Rejestracja: 25 lip 2012 00:38

Re: TinTin++, skrypty do arkadii v.1.0

Post autor: Dorien » 28 wrz 2015 22:56

i wszystko jasne :), dzięki

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

Re: TinTin++, skrypty do arkadii v.1.0

Post autor: Migr » 04 paź 2015 11:11

Wymyślił ktoś lepszy sposób na obsługę "objects" z gmcp, niż ten podany poniżej? Całość jest ciągle pozbawiona wodotrysków i wyświetla kondycję w oknie konsoli na Linuxie z odpalonym netcatem.

Kod: Zaznacz cały

#event {IAC SB GMCP objects.nums IAC SE} 
{
#var {obnu} {%0};
#forall {$obda2[]} 
 {
 #list {obnu} find {&0} {vfob};
 #if {"$vfob" == "0"} 
  {
  #unvar {obda2[&0]}
  }
 };
_gmcp
}

#event {IAC SB GMCP objects.data IAC SE} 
{
#var {obda} {%0};
#list {numwrog} clear;
#list {nwrog} clear;
#foreach {$obda[]} {vob} 
 {
 #forall {$obda[$vob][]} 
  {
  #var {obda2[$vob][&0]} {$obda[$vob][&0]};
  }
 };
_gmcp
}

#alias {_gmcp} 
{
#foreach {$obda2[]} {fod} 
 {
 #if {"$obda2[$fod][avatar]" == "true"} 
  {
  #var {obda2[$fod][desc]} {Ty}
  };
 #if {"$obda2[$fod][team]" == "false"} 
  {
  #list {numwrog} add {$fod};
  #var {obda2[$fod][nr]} {(&{numwrog[]})};
  }; 
 #if {"$obda2[$fod][attack_num]" != "false"} 
  {
  #list {nwrog[${obda2[$fod][attack_num]}]} add {$obda2[$fod][desc]};
  };
 };
#gmcp #send {\\\033c};
#forall {$obda2[]} 
 {
 #if {"$nwrog[&0]" == "" && "$obda2[&0][avatar]" == "true"} 
  {
  #gmcp {#send {\033[1;34m@fgmhp{$obda2[&0][hp]} Ty}};
  };
 #elseif {"$nwrog[&0]" != "" && "$obda2[&0][avatar]" == "true"}
  {
  #gmcp {#send {\033[1;34m@fgmhp{$obda2[&0][hp]} Ty \033[1;31m<-&nwrog[&0][%*]- $nwrog[&0][%*]}}
  };
 #elseif {"$nwrog[&0]" == "" && "$obda2[&0][team]" == "true"} 
  {
  #gmcp {#send {\033[1;34m@fgmhp{$obda2[&0][hp]}@fzas{$obda2[&0][desc]} $obda2[&0][desc]}};
  };
 #elseif {"$nwrog[&0]" == "" && "$obda2[&0][team]" == "false"} 
  {
  #gmcp {#send {\033[1;31m@fgmhp{$obda2[&0][hp]} $obda2[&0][nr] $obda2[&0][desc]}}
  };
 #elseif {"$nwrog[&0]" != "" && "$obda2[&0][team]" == "true"}
  {
  #gmcp {#send {\033[1;34m@fgmhp{$obda2[&0][hp]}@fzas{$obda2[&0][desc]} $obda2[&0][desc] \033[1;31m<-&nwrog[&0][%*]- $nwrog[&0][%*]}}
  };
 #elseif {"$nwrog[&0]" != "" && "$obda2[&0][team]" == "false"}
  {
  #gmcp {#send {\033[1;31m@fgmhp{$obda2[&0][hp]} $obda2[&0][nr] $obda2[&0][desc] \033[1;34m<-&nwrog[&0][%*]- $nwrog[&0][%*]}}
  };
 };
}
"Twoj nos atakuje won kiszonej kapusty."

Dorien
Posty: 142
Rejestracja: 25 lip 2012 00:38

Re: TinTin++, skrypty do arkadii v.1.0

Post autor: Dorien » 08 lip 2016 14:52

Wiecie może czy w terminalu (tt/tf) można zrobić w jakiś sposób klikalny event ? tak jak zrobil to Cedrin w zmudzie? napewno jest to możliwe bo inne aplikacje terminalowe obsługują myszkę, pytanie czy komuś udało się to zaskryptować?

D.

Muli
Posty: 6
Rejestracja: 19 sty 2016 20:41

Re: TinTin++, skrypty do arkadii v.1.0

Post autor: Muli » 24 lip 2016 21:37

Nie mam teraz na to zbyt wiele czasu, ale z tego co widzialem najszybciej da sie to zrobic w Terminatorze piszac odpowiedni plugin. Cos w stylu kontekstowego menu za pomoca ktorego wysylasz komende netcatem do glownego okna. Kombinowalbym w ten sposob.

ODPOWIEDZ