TinTin++, skrypty do arkadii v.1.0

Forum techniczne Arkadii.
Dorien
Posty: 142
Rejestracja: 25 lip 2012 00:38

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

Post autor: Dorien » 13 cze 2017 09:11

no ja walkowalem ten temat dosc dlugo na forum tintina i wg tam urzędujących guru nie da sie tego latwo zrobic

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

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

Post autor: Eldakar » 13 cze 2017 16:19

Jakbym musial miec ta myszke, to uzylbyn ncurses. W drugim terminalu service zbindowany, ktory komunikuje sie z arka przez netsock, renderuje okna w curses i klikanie, zwraca dane akcje do arki.

Wole jednak bez myszki :)

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

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

Post autor: Dorien » 13 cze 2017 16:52

no tak tak sie da tylko zawsze to bedzie klikanie w drugim oknie

Awatar użytkownika
Ralandil
Posty: 226
Rejestracja: 02 sty 2012 13:07
Lokalizacja: Athel Loren

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

Post autor: Ralandil » 29 cze 2018 14:15

W ostatniej wersji beta warto zwrócić uwagę na:
- poprawienie błędu z #map undo
mapper.c Fixed issue with #map undo not properly handling void rooms.
- poprawki przy obsłudze dużych zmiennych
nest.c Fixed memory issue causing a crash on very large variables.
- są zmiany w logowaniu, które wymagają wrzucenia ścieżki najlepiej do zmiennej lub wstawienia znaku backslash przed kropką
line.c #line log {filename} {text} was extremely slow, at least on cygwin, because it was opening and closing a file descriptor for each log call. Multiple logs to the same file are much faster now, with each session having its own dedicated file descriptor to speed up consecutive writes to the same log file.
Athel Loren shall not suffer the presence of Men, nor Orcs, nor Dwarfs, nor Beastmen. If a foe takes a single step upon such sacred soil, they shall not take another.

TinTin++ Mud Client Manual

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

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

Post autor: Dorien » 17 mar 2019 20:04

Hej czy jest jakiś sposób aby znaleść pozycje col, row zadanego textu ? Albo jakiś sposób śledzenia pozycji jakiegoś #suba albo czegoś?

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

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

Post autor: Eldakar » 19 mar 2019 09:50

Nie wydaje mi sie. Liczenie linii od suba? Trzeba wziac pod uwgae prompt i wszystko co na ekranie wyswietlasz.

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

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

Post autor: Eldakar » 19 mar 2019 23:37

Przyszlo mi jeszcze do glowy:
#split na caly ekran
kazda linia tekstu jest bufferowana w tablicy
i wtedy mozesz sobie czytac ekran jako tablice

ale to bedzie baaardzo wolne

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

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

Post autor: Dorien » 20 mar 2019 13:21

można przeszukać klinkniętą linie bufora i regexpem wyciągnąć kliknięte słowo i na jego podstawie wykonywać jakąś akcje, ale to tez nie bedzie zbyt efektywne :(. Narazie walczę ze scrollowaniem muda z włączonym vtmap. jak zrobisz cos sensownego to podeślij :) ja mam narazie tyle:

Kod: Zaznacz cały

#event {SCROLLED MOUSE WHEEL UP} {
        
        #if {%1 == 0 || %1 == 1} {#cursor history prev} {
                #math BUF_LINE {${BUF_LINE} + 1};
                #buffer find {${BUF_LINE}} {^};
        }
}

#event {SCROLLED MOUSE WHEEL DOWN} {
        #if {%1 == 0 || %1 == 1} {#cursor history next} {
                #math BUF_LINE {${BUF_LINE} - 1};
                #if {$BUF_LINE < 1} {
                        #var {BUF_LINE} {0};
                };
                #buffer find {${BUF_LINE}} {^};
        }
}

#macro {\e[F}
{
        #buffer end;
        #var BUF_LINE 1;
}

#macro {\e[H}
{
        #buffer home;
        #var BUF_LINE -1;
}

#message command off

Poprawiłem troche :)

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

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

Post autor: Eldakar » 03 lip 2019 11:00

Czolem,

spory update w kodzie tintina!

Kod: Zaznacz cały

TinTin++ 2.01.8
Post  by Scandum » Sat Jun 29, 2019 6:41 pm

Quite a few changes, hopefully there aren't too many bugs.
CODE: SELECT ALL

update.c       Added MAP UPDATED VTMAP event, triggers right after each
               vtmap redraw.

config.c       Added CHILD LOCK config option to disable tintin command input.

line.c         Enabled the #line substitute arguments option which has a few
               limited usecases.

main.c         Added better #! hashbang support, with %0 in the PROGRAM START
               event holding all unrecognized launch arguments. %1 holds the
               1st argument (program name), %2 the 2nd argument, etc.

data.c         Added #INFO SYSTEM option, with #INFO SYSTEM SAVE saving the
               data to the info[SYSTEM] variable. Current variables
               supported are CLIENT_NAME and CLIENT_VERSION.

event.c        Added %4 and %5 arguments to mouse click events which hold the
               word and line that was clicked. This is still under
               construction and non-functional.

net.c          Slightly improved traditional prompt handling, but the code
               will need a proper update to work properly.

parse.c        Added UNKNOWN COMMAND event, triggers on #jklfdjl and other
               non-existent commands.

screen.c       Added the #screen command, still under development.

telopt.c       Added VT100 OSC en CATCH VT100 OSC events.

port.c         Fixed an issue with #port and #chat on Mac OS X.

mapper.c       Added #map global which allow setting the vnum of a room that
               contains exits for global transportation commands, like for
               example the recall location.

mapper.c       #added #map roomflag noglobal to indicate rooms that block
               global transportation commands, like norecall rooms.

input.c        Added CATCH RECEIVED INPUT event.
               Added RECEIVED KEYPRESS event.
               Added CATCH RECEIVED KEYPRESS event.

mapper.c       Added support for up/down displaying in blockgraphics mode.

mapper.c       Added #map flag direction to enable/disable the showing of the
               direction arrow in the mapper. Also includes a minor
               modification in the legend.

utf8.c         Added KOI-8 to UTF-8 conversion support, which is enabled with
               #config charset koi2utf

mapper.c       Added #map flag blockgraphics mode, still needs some more work.

variable.c     Updated %a to take a UTF-8 sequence and print the corresponding
               21 bit decimal unicode value. This requires for #config CHARSET
               to be set to an UTF-8 mode to work.

               Updated %A to take a 32 bit decimal value and print the
               corresponding unicode UTF-8 sequence. This requires for
               #config CHARSET to be set to an UTF-8 mode to work.

               Added %x which takes a hexadecimal value and prints the
               corresponding unicode UTF-8 sequence.

               Added %X which convers a 64 bit unsigned decimal value to
               a 64 bit hexadecimal value.

               Added %D which converts a 64 bit hexadecimal value to
               a 64 bit unsigned decimal value.

math.c         Fixed an issue with 63-64 bit math.

mapper.c       Added #map flag unicodegraphics mode.

utf8.c         Added #config charset FANSI option that maps code page 437 to
               UTF-8. Requires an UTF-8 terminal to work and you can try out
               fansi art at 8bit.fansi.org 4201.

main.c         The -s startup option will start tt++ in screen reader mode.

mapper.c       Added support for direction displaying in mudfont mode.

utf8.c         UTF-8 character detection should be synched with xterm.

mapper.c       #map legend is now completely different and supports various
               default legends to choose from, namely:

               [ASCII NESW          ]     [  1]  [ 32]
               [UNICODE NESW        ]     [  1]  [ 32]
               [UNICODE NESW LINE   ]     [  1]  [ 16]
               [UNICODE NESW MISC   ]     [ 17]  [ 24]
               [UNICODE NESW DIRS   ]     [ 25]  [ 32]
               [UNICODE NESW TUBE   ]     [  1]  [ 32]
               [MUDFONT BRAILLE TUBE]     [ 33]  [164]
               [MUDFONT BRAILLE LINE]     [ 33]  [164]
               [MUDFONT PRIVATE     ]     [ 33]  [164]
               [MUDFONT CURVED      ]     [161]  [164]
               [RESET               ]     [  1]  [164]

               The legend exits of 164 characters and when setting for example
               UNICODE NESW DIRS you're only redefining 8 characters from
               position 17 to position 24.

prompt.c       #prompt and #showme now take a 3rd argument that sets the
               column number at which the text is printed. The column number
               must be between 1 and the maximum width of the screen. If a
               negative number is provided the distance is measured from the
               right. The line isn't automatically cleared when using
               #showme with a column argument.

input.c        Added support for fullwidth UTF-8 characters. This won't be
               working perfectly until unicode is better standardized.

config.c       Added #config CHARSET BIG2UTF. When enabled text you receive
               will be translated from BIG-5 to UTF-8, and data you send will
               be translated from UTF-8 to BIG-5. This should allow someone
               to play a BIG-5 mud using an UTF-8 capable terminal.

path.c         Added #path describe to give a basic description of the
               mapped path. Might be of interesting for anyone using a
               screen reader.

utf8.c         Added UTF-8 character width detection.

mapper.c       When #map list is used with a variable the variable is now
               properly cleared. In addition #map list will report the
               relative x y and z coordinates of the found rooms which can
               be used with #map jump. This update changes the table
               structure of the variable returned by #map list.

mapper.c       Added #map legend reset option and fixed legend saving.

mapper.c       Added new mudfont mode based on the braille unicode block.

mapper.c       Changed the RIVER map room flag to CURVED and added support
               for it in simple and mudfont mode.

mapper.c       Added click events that trigger when clicking a room on the
               vt map reporting the room vnum.

session.c      Trying to properly terminate zombie processes after using #run.

telopt.c       Added support for the CHARSET telnet option. Currently
               supporting UTF-8, BIG-5, and FANSI.

path.c         Added #path save <length|position> <variable> options.
Ostatnio zmieniony 03 lip 2019 12:59 przez Eldakar, łącznie zmieniany 1 raz.

Awatar użytkownika
Ralandil
Posty: 226
Rejestracja: 02 sty 2012 13:07
Lokalizacja: Athel Loren

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

Post autor: Ralandil » 03 lip 2019 11:53

Dzięki za informacje.
Eldakar, może wstaw listę zmian jako cytat albo code, będzie wygodniej czytać.
Athel Loren shall not suffer the presence of Men, nor Orcs, nor Dwarfs, nor Beastmen. If a foe takes a single step upon such sacred soil, they shall not take another.

TinTin++ Mud Client Manual

ODPOWIEDZ