TinTin++, skrypty do arkadii v.1.0

Forum techniczne Arkadii.
Torn
Posty: 80
Rejestracja: 18 lis 2013 10:16

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

Post autor: Torn »

Dzięki. Następna sprawa. Wiece może jak pozbyć się znaku ">" w najniższej linni outputu?
Raz na jakis czas zdarza się, że tekst wyświetla po tym znaku a nie w następnej linijce i wtedy #actiony typu {^Jestes w zlej kondycji.$} nie działają. Próbowałem #gagami i #subami - bez rezultatu. Inna sprawa, czy te wszystkie perlowskie regexpy {%w, %i, ^, $ itd.} znacząco usprawniają pracę tt++?
Tintin++ mud client
Awatar użytkownika
Ralandil
Posty: 231
Rejestracja: 02 sty 2012 13:07
Lokalizacja: Athel Loren

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

Post autor: Ralandil »

Proponuję nie usuwać znaku ">", tylko zmodyfikować #action:

Kod: Zaznacz cały

#action {{^> |^}Jestes w zlej kondycji.$}
Odnośnie drugiej części pytania to regexpy nie usprawniają działania programu tylko skryptów. Nie tylko tych rozbudowanych, ale również prymitywnych subów jak np.

Kod: Zaznacz cały

#sub {%i\bCzterokanciast{a|e|ych}\b \bRozgalezion{a|e|ych}\b\bLody{ga|ge|gi|g}\b}{%0(<120>dziurawiec<070>)}{5}
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
Torn
Posty: 80
Rejestracja: 18 lis 2013 10:16

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

Post autor: Torn »

Jak napisałeś, tak zrobiłem. Wszystkie actiony wyłapujące tekst przychodzący podczas biegu opatrzyłem "{^> |^}". Zastanawiam się czy jest sens zmienić w ten sposób rownież gagi?
Tintin++ mud client
Dorien
Posty: 142
Rejestracja: 25 lip 2012 00:38

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

Post autor: Dorien »

a nei lepiej

Kod: Zaznacz cały

#action {^{> |}Jestes w zlej kondycji.$}
ja osobiście mam bez ^ i nie zauważyłem żeby łapało za dużo.
Gleanevall
Posty: 258
Rejestracja: 13 sie 2011 21:08

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

Post autor: Gleanevall »

Używam cmuda, ale te rady sprawdzą się chyba w każdym kliencie:
Na pewno warto stosować zakotwiczenie (^ i $), gdzie jest to możliwe ze względu na szybkość testowania wzorca.
Podobnie krótka lista możliwych słów będzie z reguły szybsza niż *.
Awatar użytkownika
Ralandil
Posty: 231
Rejestracja: 02 sty 2012 13:07
Lokalizacja: Athel Loren

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

Post autor: Ralandil »

Dwie notki, a pytanie wciąż bez odpowiedzi pozostaje. :evil:
Można gagi też pozmieniać.

Uwagi Gleanevalla są słuszne, popieram.

Edycja:
Jednak zostanę przy własnej formie {^> |^}.
Ostatnio zmieniony 07 gru 2013 23:02 przez Ralandil, łącznie zmieniany 2 razy.
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
Torn
Posty: 80
Rejestracja: 18 lis 2013 10:16

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

Post autor: Torn »

"{^{> |}" u mnie nie dziala. Dziwne. Skoro to tylko kosmetyka to pozostanę przy wcześniejszej formie. Zresztą używam tego w kilku #actionach.

[Aktualizacja]
Zastanawiam się nad kolejną sprawą. Mianowicie, wrzuciłem wartości kondycji w funkcję:

Kod: Zaznacz cały

#function {fkonda} 
{
#switch {"%1"} 
 {
 #case {"w swietnej kondycji"} {#var {konda} {<afb>[#######]}};
 #case {"w dobrym stanie"} {#var {konda} {<afb>[######-]}};
 #case {"lekko rann{y|a}"} {#var {konda} {<afb>[#####--]}};
 #case {"rann{y|a}"} {#var {konda} {<efa>[####---]}};
 #case {"w zlej kondycji"} {#var {konda} {<eaf>[###----]}};
 #case {"ciezko rann{y|a}"} {#var {konda} {<faa>[##-----]}};
 #case {"ledwo zyw{y|a}"} {#var {konda} {<faa>[#------]}};
 };
#return $konda;
}
a następnie porobiłem sobie #suby i #actiony:

Kod: Zaznacz cały

#sub {^%5 jest {w swietnej kondycji|w dobrym stanie|lekko ranny|lekko ranna|ranny|ranna|w zlej kondycji|ciezko ranny|ciezko ranna|ledwo zywy|ledwo zywa}.} {@fkonda{%6} [@szaslone{%5}] %5}

#sub {^%1 jest {w swietnej kondycji|w dobrym stanie|lekko ranny|lekko ranna|ranny|ranna|w zlej kondycji|ciezko ranny|ciezko ranna|ledwo zywy|ledwo zywa}. Atakujesz {go|ja}.$} {\n<fff>KONDYCJA TWOJEGO WROGA: @fkonda{%2}\n}

#action {{^> |^}Jestes {w swietnej kondycji|w dobrym stanie|lekko ranny|ranny|w zlej kondycji|ciezko ranny|ledwo zywy}.}
{
#line gag;
#echo {{<fff>K: @fkonda{%2}       <fff>Z: $zmeka} {2}}
}
Niby wszystko działa ale nie wiem czy jest to najlepszy układ dla klienta.
Tintin++ mud client
Awatar użytkownika
Ralandil
Posty: 231
Rejestracja: 02 sty 2012 13:07
Lokalizacja: Athel Loren

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

Post autor: Ralandil »

Kod: Zaznacz cały

#sub {^%1 jest {w swietnej kondycji|w dobrym stanie|lekko ranny|lekko ranna|ranny|ranna|w zlej kondycji|ciezko ranny|ciezko ranna|ledwo zywy|ledwo zywa}. Atakujesz {go|ja}.$} {\n<fff>KONDYCJA TWOJEGO WROGA: @fkonda{%2}\n}
To będzie działać tylko przy samotnej walce, zapomniałeś o drużynowej.

Kod: Zaznacz cały

Zly paskudny ogr jest ledwo zywy. Atakujesz go ty, Andrzej, Grzegorz i Wojtek.
Nie podoba mi się, że zastępujesz imię/rysopis wroga przez "KONDYCJA TWOJEGO WROGA:".
Osobiście wolałbym widzieć:
[#------] Zly paskudny ogr :twisted:, ale to Twój wybór.

Mając bardziej rozbudowany status bar, lepiej będzie go odświeżać aliasem, później zmieniasz tylko w jednym miejscu, a nie wszędzie. 8-)
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
Torn
Posty: 80
Rejestracja: 18 lis 2013 10:16

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

Post autor: Torn »

Jeśli chodzi o "KONDYCJE TWOJEGO WROGA", jest to sposób na uniknięcie podwójnego wyświetlenia jego kondycji w sytuacji gdy wydam komendę "kondycja wszystkich". W takim wypadku:

Kod: Zaznacz cały

[#------] Zly paskudny ogr
mam cały czas za pomocą #suba:

Kod: Zaznacz cały

#sub {^%5 jest {w swietnej kondycji|w dobrym stanie|lekko ranny|lekko ranna|ranny|ranna|w zlej kondycji|ciezko ranny|ciezko ranna|ledwo zywy|ledwo zywa}.} {@fkonda{%6} [@szaslone{%5}] %5}
Normalnie wrzuciłbym to do "paska" ;) z kondycją i zmęczeniem ale musiałbym wtedy dodać multum #actionów, które czyściłyby [######] w sytuacji, gdy uciekam przed wrogiem, on ucieka za nagrobki, chowa się itd.
Tintin++ mud client
Awatar użytkownika
Ralandil
Posty: 231
Rejestracja: 02 sty 2012 13:07
Lokalizacja: Athel Loren

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

Post autor: Ralandil »

#event zapewniający obsługę nowej opcji na mudzie - utrzymywanie polaczenie obustronne:

Kod: Zaznacz cały

#event {IAC WILL 241}{#send \xFF\xFE\xF1\}
Rafgart pisze: Arkadia wysyla IAC WILL NOP i oczekuje IAC DONT NOP.
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