Strona 5 z 77

Re: CMUD

: 27 lis 2011 11:12
autor: Zog
Ja ogólnie odradzam używanie subów.
Da się zrobić porządny skrypt bez nich, a ich brak sprawia że wszystko chodzi płynnie.

Np zamiast:

Kod: Zaznacz cały

(*) zrecznie zaslania (*) przed ciosami (*).$
#SUB {--->> > %1 < - !!ZASLANIA!! - >> %2 << PRZED >> %3 <<}
Dałbym:

Kod: Zaznacz cały

(*) zrecznie zaslania (*) przed ciosami (*).$
#GAG
#SA {--->> > %1 < - !!ZASLANIA!! - >> %2 << PRZED >> %3 <<}
Teraz żeby to pokolorować użyj %ansi().

Np:

Kod: Zaznacz cały

#SA {%ansi(11)--->> > %ansi(15)%1 %ansi(11)< - !!ZASLANIA!! - >> %ansi(15)%2 %ansi11()<< PRZED >> %ansi(15)%3 %ansi(11)<<}
Kody kolorów ansi: ctrl+i.

Re: CMUD

: 27 lis 2011 14:17
autor: Zurwen
Wygagowanie i wyswietlenie to to samo co sub ;)
Całkiem prawdopodobne, że wręcz działa gorzej wydajnościowo.

Re: CMUD

: 27 lis 2011 14:27
autor: Zog
Testy mówią co innego. :)

Re: CMUD

: 27 lis 2011 14:30
autor: Zurwen
Musiałeś zmienić coś innego wydajnościowo, albo ktoś się strasznie nie popisał w pisaniu #sub. Najprostszy sposób na suby, jaki mi przychodzi do głowy to usunąć tekst i wkleić nowy, czyli to co ty robisz. Spodziewałbym się, że Zugg wymyślił coś lepszego albo co najmniej nie gorszego.

Re: CMUD

: 27 lis 2011 18:07
autor: Suvi
Zog pisze:Testy mówią co innego. :)
Jak się testuje zły materiał, to i wyniki bywają złe ;]
Zog pisze:Ja ogólnie odradzam używanie subów.
Da się zrobić porządny skrypt bez nich, a ich brak sprawia że wszystko chodzi płynnie.
Widocznie źle ich używasz. Polecam zapoznać się z opcją priorytetu triggerów, wszystko stanie się prostsze.
Zog pisze:Teraz żeby to pokolorować użyj %ansi().
O bogowie! Przecież ansi jest nieczytelne, i niewygodne. Próbowałeś używać ansi w funkcji %format? Koszmar. Gorąco zachęcam do używania MXP, które wygląda np. tak:
#MXP %format( "Znajdujesz <color green>%s</color>", $ziolo)
#SUB "<color red>ATAKUJE CIE!</color>"
#MXP "<b>Tekst pogrubiony</b>"
Jest bardziej przejrzyste, szybkie, łatwiejsze do zmiany, można nim robić też tysiąc innych rzeczy, łącznie z klikalnymi sekcjami tekstu czy też możliwością tworzenia własnych tagów. No i można je też logować, tworząc logi od razu w htmlu.

Re: CMUD

: 29 lis 2011 14:48
autor: Zog
Zrobiłem sobie triggera który przesuwa mi kropkę na mapie w czasie wykonywania komendy idź, więc się chętnie podzielę.
Pewnie da się to zrobić lepiej więc czekam na uwagi. ;)

Kod: Zaznacz cały

Pattern: Ruszasz * na (*).
Value:
#mo %item( "n|s|w|e|ne|nw|se|sw|d|u", ( %ismember( %1, "polnoc|poludnie|zachod|wschod|polnocny-wschod|polnocny-zachod|poludniowy-wschod|poludniowy-zachod|dol|gore" ) ) )
Do tego dołożyłem alias który odpala "idz" i tego triggera:

Kod: Zaznacz cały

Name: 5
Value:
#T+ "Ruszasz * na (*)."
idz %1
Oraz triggera który wyłączy wszystko:

Kod: Zaznacz cały

Pattern: ^Wykonywanie komendy 'idz' zostaje przerwane.$
Value:
#T- "Ruszasz * na (*)."

Re: CMUD

: 29 lis 2011 14:55
autor: Zurwen
Znacznie lepiej to zrobić korzystając z trigger state.

Kod: Zaznacz cały

<trigger priority="3300" id="330">
  <pattern>^{> |}Wykonuje komende 'idz *'.$</pattern>
  <trigger type="Within Lines" param="1">
    <pattern>^{> |}Ruszasz * na (*).$</pattern>
    <value>#mo @wyjscie_dlugie_na_krotkie(%1)</value>
  </trigger>
</trigger>

Re: CMUD

: 29 lis 2011 14:56
autor: Zog
Już czytam helpa. :)

Re: CMUD

: 29 lis 2011 15:03
autor: Visborg
Dzięki. A w związku z powyższym mam pytanie: czy istnieje sposób by komendę znajdującą się wewnątrz aliasa nie sprawdzał pod względem bycia aliasem?

Tzn: jeśli bym np zamiast Kolegi '5' jako komende aliasa dał 'idz', aby nie zwracał mi infinite loopa tylko w odpowiedzi na 'idz %' aktywował trigger i wysylal do MUDa komendę 'idz %'?

Analogicznie (chyba) - aby 'zabij' zawsze wysyłało jako 'zabij elfa' a nie robiło pętli (zabij -> zabij elfa -> zabij elfa elfa -> zabij elfa elfa elfa...ad infinitum).

Re: CMUD

: 29 lis 2011 16:24
autor: Rennz
Naprościej #sendraw chyba.