Strona 22 z 33

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

: 19 kwie 2014 17:43
autor: Legas
Korzystam ze skryptow z pierwszej strony.
Oto fragment pliku zwiazanego z opisaniem walki.

Kod: Zaznacz cały

#action {Ledwo muskasz %1 %2 %3 %4} {
  #line gag;   
  #fight_pane {#line substitute colors #send {<829>Ledwo muskasz<099> %1 %2 %3}}
};
#action {Lekko ranisz %1 %2 %3 %4} {
  #line gag;   
  #fight_pane {#line substitute colors #send {<829>Lekko ranisz<099> %1 %2 %3}}
};
#action {Ranisz %1 %2 %3 %4} {
  #line gag;   
  #fight_pane {#line substitute colors #send {<129>Ranisz<099> %1 %2 %3}}
Przewaznie dziala poprawnie. Niekiedy jednak wychodza czary.
Nie mowiac juz o tych ciosach specjalnych czy innych cudach.
Tego to nawet nie zrobie, bo wiekszosci nie widzialem badz nie moge sam ich okreslic.

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

: 20 kwie 2014 09:26
autor: Torn
Wersja TinTina na Linuxa jest dużo bardziej funkcjonalna ale przy tym wymaga większego rozeznania. Chociażby samo gagowanie tekstu z głównego okna i przesyłanie go do innego. Ja używam Wintina i w zasadzie wszystko mam w jednym oknie. Wracając do sprawy możesz popróbować z różnymi wzorcami actionów.
Wzorce, o których piszesz

Kod: Zaznacz cały

#action {Ledwo muskasz %1 %2 %3 %4}
są bardzo ogólne.
O ile się nie mylę standardowy zapis ciosów wygląda następująco:
"Ledwo muskasz brudnego wscieklego potwora posrebrzanym dlugim mieczem, trafiajac go w lewa reke."
Skoro jest problem z wielkością opisów wrogów i broni to może lepiej ich nie rozdzielać i pokolorować razem.

Kod: Zaznacz cały

#action {^Ledwo muskasz %1, %2.$} 
{
#line gag;   
#fight_pane {#line substitute colors #send {<129>Ledwo muskasz<099> <kod koloru wroga i broni>%1<099>, %2.}}
};
Wersja skrócona:

Kod: Zaznacz cały

#action {^Ledwo muskasz %1, trafiajac %2 w %3.$} 
{
#line gag;   
#fight_pane {#line substitute colors #send {<129>Ledwo muskasz<099> <kod koloru wroga i broni>%1<099> w %3.}}
};
Możesz też spróbować rozdzielić opisy wrogów i broni:

Kod: Zaznacz cały

#action {^Ledwo muskasz %1 %w %w %w, %5.$} 
{
#line gag;   
#fight_pane {#line substitute colors #send {<129>Ledwo muskasz<099> <kod koloru wroga>%1<099> <kod koloru broni>%2 %3 %4<099>, %5.}}
};
przy czym tak jak już wcześniej wspomniałem opis broni musi składać się z 3 wyrazów. Tam gdzie masz "<kod koloru>" wpisz sobie własne kody. Sprawdzisz je komendą #help color w TinTinie lub na stronce w zakładce manual > colors.

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

: 01 maja 2014 12:16
autor: Legas
Dzieki za pomoc.

Teraz walcze z wycinaniem szczatek z cial.
W tej chwili po prostu wyrzucam kilkanascie komend do klienta, lecz to raczej nie jest dobre rozwiazanie.
Dobrze by bylo gdyby po wpisaniu przykladowo "/so" wycinalo odnoze z pierwszego, drugiego, trzeciego i tak dalej ciala. Jak moglbym to zrobic?

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

: 01 maja 2014 13:40
autor: Torn
Może wystarczy zwykły alias:

Kod: Zaznacz cały

#alias {/so} 
{
#8 wytnij odnoze z pierwszego ciala;
#delay {1} {#8 wytnij odnoze z drugiego ciala};
#delay {2} {#8 wytnij odnoze z trzeciego ciala};
#delay {3} {#8 wytnij odnoze z czwartego ciala};
}
#8 - oznacza liczbę powtórzeń danej komendy (ile maksymalnie można wyciąć odnóży z jednego ciała, 8?)
#delay {1} {komenda} - w pierwszym nawiasie masz cyfre określającą opóźnienie w sekundach do wykonania komendy w drugim nawiasie.

Nie jestem pewny czy zadziała i czy #delaye są do końca legalne. Druga sprawa, taki alias wysyła sporo komend do muda i zapewne nie jest to dla Ciebie "dobre rozwiązanie" ;) .

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

: 01 maja 2014 15:18
autor: Legas
Takie rozwiazanie jest juz bardziej mi odpowiadajace.
Jezeli jednak nie jestes pewien legalnosci to nie bede go wprowadzal do moich skryptow.
Chodzilo mi bardziej o to, ze jak wpisze /so to automatycznie wykryje z ktorego ciala odnoze ma wycinac. Powiedzmy, ze jest 10 cial... Jak z pierwszego nie ma co wycinac, to przechodzi do drugiego itd.

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

: 02 maja 2014 08:29
autor: Torn
Pomyślałem trochę i wydaje mi się, że raczej można używać tego aliasa. Nie różni się to wiele od masowego wydawania komend naprawy sprzętu lub ostrzenia broni jakie zazwyczaj widuje się na mudzie.

Co do Twojej idei, jest to jak najbardziej możliwe. Musiałbym jednak osobiście prześledzić tekst podczas takiej "akcji" i później trochę pogłówkować. ;)

Edit:

Sprawdź taki kodzik:

Kod: Zaznacz cały

#var {vlpm} {{1}{pierwszego}{2}{drugiego}{3}{trzeciego}{4}{czwartego}{5}{piatego}{6}{szostego}{7}{siodmego}{8}{osmego}{9}{dziewiatego}{10}{dziesiatego}}

#alias {/so %1} 
{
#loop {1} {%1} {petl} {#8 wytnij odnoze z $vlpm[$petl] ciala}
}
Musisz jedynie wpisać "/so liczbe cial" np. "/so 3", gdy masz wokół siebie 3 ciała. Ograniczysz w ten sposób ilość komend wysyłanych do muda. :)

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

: 11 maja 2014 19:33
autor: Torn
Powiedzmy, że mam taką listę:

Kod: Zaznacz cały

#variable {lista} {{1}{bial{y|e} kot{|y}}{2}{rud{a|e} wiewiork{a|i}}}
Czy mogę w jakiś sposób wyłapać indeks takich argumentów do zmiennej $xyz za pomocą:

Kod: Zaznacz cały

#list {test} find {bialy kot} {xyz}
???
Za kazdym razem $xyz jest równe 0.

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

: 17 maja 2014 21:24
autor: Legas
Dzieki Torn! Wyprobuje to przy najblizej okazji.

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

: 15 lip 2014 19:46
autor: Torn
Mam problematyczną zmienną $test:

Kod: Zaznacz cały

#var {test} {12345}
W najnowszej wersji TT++ komenda:

Kod: Zaznacz cały

#showme {$test.}
nie wyświetla wartości zmiennej ze wzgledu na kropkę. Czy jest na to jakiś sposób?

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

: 22 lip 2014 16:54
autor: Ralandil
Korzystanie z GMCP w TinTin++

Przed nawiązaniem połączenia z mudem należy utworzyć odpowiedni #event, który na pytanie IAC WILL GMCP odpowie IAC DO GMCP.

Kod: Zaznacz cały

#event {IAC WILL GMCP}{#send {\xFF\xFD\xC9\}}
Aby komunikaty GMCP były widoczne nie tylko dla klienta, ale również dla nas, należy włączyć tryb debugowania:

Kod: Zaznacz cały

#config {debug telnet}{on}
Jeśli wszystko przebiegnie pomyślnie, przy połączeniu w trybie debugowania zobaczymy:

Kod: Zaznacz cały

RCVD IAC WILL GMCP
Działa więc debugowanie nie będzie nam potrzebne, możemy nie uruchamiać tej opcji już w ogóle, ustawiając:

Kod: Zaznacz cały

#config {debug telnet}{off}
Przy użyciu poniższych eventów możemy sprawdzić jakie dane są przesyłane.
1) Widoczne wyjścia z lokacji dla postaci

Kod: Zaznacz cały

#EVENT {IAC SB GMCP room.info IAC SE}{#showme {Got GMCP data: %0}}
Na przykład:
{exits}{{1}{polnoc}{2}{zachod}{3}{poludnie}{4}{wschod}}
2) Zmienne stanu postaci

Kod: Zaznacz cały

#EVENT {IAC SB GMCP char.state IAC SE}{#showme {Got GMCP data: %0}}
Na przykład:
{stuffed}{3}
3) Ogólne dane postaci

Kod: Zaznacz cały

#EVENT {IAC SB GMCP char.state IAC SE}{#showme {Got GMCP data: %0}}
Te dane pojawiają się zaraz po zalogowaniu, stowarzyszenie, pochodzenie, zawód itp.

Dane można sobie wrzucać do zmiennych i dalej wykorzystywać wedle woli. Oznaczone lokacje w kliencie dedykowanym posiadają dodatkowo współrzędne, które można zestawić z własnym mapper itp.