CMUD

Forum techniczne Arkadii.
Narmaniel

Re: CMUD

Post autor: Narmaniel » 30 paź 2015 11:49

a) - dwa rozwiązania - znajdziesz kierunki w ustawieniach i do istniejących tam s|poludnie zamienisz na s|poludnie|przemykajac sie na poludnie (czy coś takiego, byle pasowało) ALBO robisz trigger z patternem przemykajac sie na (*) i wartoscią #mo %1. Chociaż zamiast gwiazdki widziałbym tam listę z kierunkami zrobioną siermiężnie, czyli ({poludnie|polnoc|etc...}), albo robiąc listę w zmiennej np. @kierunki i napisać taki pattern: przemykajac sie na ({@kierunki}). (nie wiem, czy jasno wytłumaczyłem...)

b) sprawdź w helpie komendę #log i zrób trigger na któryś z początkowych komunikatów arkadii, na przykład Witaj w świecie Arkadii, który będzie Ci robił #log. Polecam taką funkcję jak %time. #log stworzy Ci plik txt, ale nie stworzy folderów, więc ścieżkę którą podasz w #log musisz już mieć w komputerze.

c) w ogóle nie wyświetla się linijka, ma czarny kolor i jej nie widzisz? Tak się dzieje, jak podasz błędny kolor. Zrób trigger z patternem: * ledwo muska * i value: #cw 10. Powinno kolorować na wściekle zielono. W tej kwestii nie ukrywam, że "gdybam" bo nie robiłem nigdy tego co mówisz, dopiero się przymierzam.

d) nie jestem pewien, czy to co napisze pomoże - w okienkach walka i kondycje musisz wyłączyć łączenie się z Arką i pasek do wpisywania w nie komend. Piszę z głowy, ale chyba w Settings jak wybierzesz główny folder walka lub kondycje, od razu lub w zakładce będzie opcja, żeby te konkretne okna nie łączyły się z mudem i nie miały miejsca na wpisywanie w nie komend.

Haern
Posty: 756
Rejestracja: 13 lut 2009 14:03

Re: CMUD

Post autor: Haern » 30 paź 2015 13:16

Po pierwsze - jeśli coś da się zrobić w samej Arkadii (np. kolorowanie), to warto z tego korzystać - zawsze działa, nie obciąża i tak niezbyt szybkiego już CMUDa, jest niezawodne (pomijam błędy czyli np. brak pokolorowania jakiegoś speca; te są usuwane i jest ich coraz mniej), zmniejsza ilość skryptów w ogóle i rzeczy, które trzeba ogarniać.

Po drugie, przy kolorowaniu z poziomu CMUDa trzeba też pamiętać o rozróżnieniu komend #CW i #CO - pierwsza koloruje _pattern_ i tylko _pattern_, nic więcej; druga koloruje całą linijkę zawierającą pattern. Ponadto, te komendy nie zawsze dobrze współgrają z #show - w samym #show można używać funkcji do kolorowania w stringu (np. %ansi).

Po trzecie - linijki wysyłane do innych okien raczej nie powinny być kolorowane przez #co/#cw (nie patrzyłem w skrypt Zurwena więc piszę z głowy) - jeśli linijka odbierana przez GMCP (lub normalnie, nie ma znaczenia) w głównym oknie (bo tam przychodzi) jest wysyłana do innego okna (np. walka), to jest łapana triggerem i wysyłana do okna walka konkretną komendą - to w tym fragmencie skryptu trzeba dodać odpowiednie kolorowanie, a nie robić kolejny trigger kolorujący. Mnożenie skryptów, a zwłaszcza triggerów o rozbudowanym patternie, nie jest zbyt dobre.

Awatar użytkownika
Bam
Posty: 261
Rejestracja: 16 lut 2013 19:10

Re: CMUD

Post autor: Bam » 03 lis 2015 01:55

Dzięki, za szybkie odpowiedzi!

Z tym mapperem i gubieniem to trochę zabawy to jeszcze nie zacząłem.

O logowaniu muszę poczytać chyba w tym helpie, bo jakich patternów i komend nie dają mi znajomi to po prostu nie tworzy mi pliku z logiem.

Kolory w oknie walka zmieniłem z poziomu Arkadii i jakoś to śmiga, aczkolwiek moich ulubionych kolorów tam za dużo nie ma. Można kolorować triggiem, ale rzeczywiście trzeba tworzyć w drzewku w odpowiednim miejscu taki trigger.

No i wyłączenie łączenia się z Arkadią pomogło, okienka działają jak powinny ;)

Muszę jeszcze pokminić jak tę mapę rysować, a później ją 'rozmieszczać', żeby tworzyło zgrabną całość.
Endless learning the basics...
Obrazek

Haern
Posty: 756
Rejestracja: 13 lut 2009 14:03

Re: CMUD

Post autor: Haern » 03 lis 2015 07:41

Logowanie może mieć problem z tworzeniem plików w niektórych folderach (np. chronionych przez standardowe windowsowe protokoły; jeśli dobrze pamiętam to w folderach systemowych typu Program Files itp. nie działa). Może warto też uruchomić CMUDa jako administrator. No i to co napisał ktoś wyżej - folder docelowy musi już istnieć.
U mnie komenda logowania wygląda następująco (tworzy plik o nazwie Haern03listopada2015.txt), może pomoże:

Kod: Zaznacz cały

#LOG D:/Arkadia/Logi/Haern%time("ddmmmmyyyy")
Odnośnie jeszcze kolorów walki - do istniejącego triggera wyłapującego GMCP z komunikatami walki można dopisać kolorowanie niektórych rzeczy. Rozpoznanie tekstu wewnątrz triggera jest dużo wydajniejsze niż osobny trigger z konkretnym tekstem.

Awatar użytkownika
Bam
Posty: 261
Rejestracja: 16 lut 2013 19:10

Re: CMUD

Post autor: Bam » 10 lis 2015 22:28

Większość o co pytałem już ogarnąłem dzięki Wam, logowania jeszcze nie, ale nie mam na to siły póki co.

Jako, że nie znam języka w tym kliencie, bo wcześniej grałem z innego (mithryl), prosiłbym o informacje jak powinienem wpisać taki schemat.
/info 'chudy pyskaty elf' 'Imie_LE' czerwony
/trig 'chudy pyskaty elf' ' '/bind f1 'wskaz chudego pyskatego elfa'
/trig 'wskazujesz %1 %2 %3' '/bind f2 'zabij chudego pyskatego elfa' '/bind f3 'wskaz chudego pyskatego elfa jako cel ataku;rozkaz druzynie zaatakowac elfa' i inne bindy...

Chodzi w tym o to, ze jak spotkam takiego chudego pyskatego elfa to żeby obok jego opisu wyświetlało się imię w kolorze czerwonym. (O to już pytałem wcześniej i uzyskałem odpowiedz). Chciałbym jednak, żeby od razu po jego zobaczeniu bindowało mi pod f1 wskazanie go, a trig 'wskazujesz %1 %2 %3 ' tworzył od razu pozostałe bindy, gdybym chciał wykonać na elfie inne komendy np. zablokuj.

Mógłby mi ktoś takie linijki napisać?
Z tego co wiem, to można zrobić bazy wrogów i taką bazę nazwać jakoś i zrobić do całej bazy taki trig, żeby nie pisać go do każdego opisu, ale nie wiem jak to się zbytnio robi ;)

Średnio to się nadaje do walk drużynowych itp. ale powinno być ułatwieniem w walkach 1 na 1, żeby szybko zareagować.
Endless learning the basics...
Obrazek

Narmaniel

Re: CMUD

Post autor: Narmaniel » 11 lis 2015 15:23

To są tryliardy linijek kodu ( :D ), ale postaram się napisać Ci, co po kolei należałoby zrobić.

1. Tworzysz zmienną bazę danych @lista_wrogow, z shortem w key, imieniem w value LUB @lista_wrogow, ktora jest po prostu listą, ale są na niej zarówno shorty, jak i imiona, nawet tych samych osób - grunt, żeby rozpoznawało, że to wróg.
2. W triggerze Zurwena - tym, który odpowiada za wysyłanie całej kondycji w osobne okienko - musisz dodać linijkę, która będzie sprawdzała, czy osoba na lokacji jest na Twojej liście wrogów. Czyli CHYBA #if (%ismember(%val.desc,@lista_wrogow)) {wielce skomplikowane rzeczy z punktu 3.} To się powinno znaleźć WEWNĄTRZ któregoś #LOOPDB
3. I teraz cała masa skomplikowanych rzeczy... bo nie rozumiem, dlaczego miałyby się one dziać dopiero PO wskazaniu. Robisz MACRO F1, F2 itd. Pod F1 wpisujesz @funkcja1, pod F2 wpisujesz @funkcja2 itd. I teraz:
funkcja1=wskaz ob_%key
funkcja2=zabij ob_%key
funkcja3=wskaz ob_%key jako cel ataku;rozkaz druzynie zaatakowac ob_%key

To tak na chłopski rozum pisane i bez sprawdzania. Ogólnie chodzi o porównanie tego, co zostało wyciągnięte z GMCP z listą Twoich wrogów i przygotowanie klawiszy(makr) na klawiaturze do tego, co tam ma się dziać.

Na samo kolorowanie i dodawanie np. Narmaniel (WPG*) zrobiłbym zupełnie inny, osobny trigger. Tylko on będzie Ci spowalniał CMUDA strasznie, bo będzie się odpalał co linijkę prawie że. Uwaga, znowu z głowy:

Kod: Zaznacz cały

@lista_graczy=Narmaniel|Bam|Fajny elf|Brzydki ogr
@lista_gracz_gidlia
Key|Value
Narmaniel|WPG
Bam|WPG
Fajny elf|CKN
Madry ogr|OK

Trrigger:
Pattern:({@lista_graczy})
Value:
#psub (%1 (tutaj wywolanie Value wzgledem Key rownego %1 z @lista_gracz_gildia)) %x1
Tylko jak będzie ich więcej w jednej linijce, to chyba #psub zgłupieje...

*Jakby się ktoś zastanawiał, jest to skrót od Wielce Potężna Gildia.

Przeczytałem to co napisałem kilka razy i zaczynam wątpić, czy ma to jakąkolwiek wartość informacyjną... W razie czego będę usuwał posta.

Awatar użytkownika
Bam
Posty: 261
Rejestracja: 16 lut 2013 19:10

Re: CMUD

Post autor: Bam » 11 lis 2015 16:30

Co do wskazania, to przez to, że trig odpalał się co chwilę to gdy napotkałem dwóch wrogów na raz to po ciosie każdego z nich bindowało mi się zabicie/przełamanie na tego, który ostatnio wykonał jakąś akcję. No, a jak już o tym kogo zabić/przełamać decydowało moje wskazanie, to wtedy wskazałem raz, a później już tylko zabij/przełam itd.

Kuźwa, spróbuję, ale nawet najprostsze rzeczy w cmudzie wydają mi się bardzo skomplikowane do napisania w przeciwieństwie do mithryla, który te tryliardy linijek zastępował kilkoma ;) No, ale pewnie potrzebuję trochę czasu, żeby się oswoić.
Endless learning the basics...
Obrazek

Awatar użytkownika
Aiathel
Posty: 41
Rejestracja: 08 maja 2015 01:56

Re: CMUD

Post autor: Aiathel » 11 lis 2015 20:17

Witam, mam problem ze skryptami. Mianowicie mam zmienione opisy walk i uzywam #gag #say, do tego kazdy trigger na priority 1. Czasami mam tak, ze podczas walki wcina mi 2, 3 linijki tekstu i po 2 sekundach znowu sie wyswietlaja. Czy uzycie #show, albo zmiana priority zmienic cos? Od razu pisze, ze #sub odpada bo gryzie mi sie z innymi skryptami. Help! :?

Numeron
Posty: 137
Rejestracja: 31 paź 2010 08:30

Re: CMUD

Post autor: Numeron » 11 lis 2015 21:00

Nope.

@down: faktycznie, a bylem pewien ze jest inaczej.
Ostatnio zmieniony 12 lis 2015 16:40 przez Numeron, łącznie zmieniany 1 raz.

Awatar użytkownika
Feanen
Posty: 29
Rejestracja: 16 cze 2015 08:02

Re: CMUD

Post autor: Feanen » 12 lis 2015 08:38

Numeron pisze:#say moze uruchamiac jakies inne skrypty, uzywajac #show tego problemu nie bedzie.
To nieprawda.

ODPOWIEDZ