CMUD

Forum techniczne Arkadii.
Hurio
Posty: 108
Rejestracja: 12 maja 2014 08:53

Re: CMUD

Post autor: Hurio »

Ja mam @pojemnik_1=woreczek, @pojemnika_1=woreczka, @pojemnik_2=drugi woreczek.... I tak dalej.
Narmaniel

Re: CMUD

Post autor: Narmaniel »

W Arkadii jest odmiana, CMUD nie musi jej wyciągać.

@pojemnik1=niezwykle fikusny woreczek z bardzo dlugim shortem i do tego posrebrzanym lancuszkiem w kolorze teczowym

Alias: zwl1
otworz @pojemnik 1
wloz ziola do niego
zamknij go
Amirez
Posty: 68
Rejestracja: 25 lut 2011 21:32

Re: CMUD

Post autor: Amirez »

Haern pisze:Amirez - Twoje pytanie jest niezrozumiałe. Spróbuj doprecyzować.
otoz nie wiem jak tiggerem wylapac woreczki czy sloiki.
Np z tekstu
Do pasa masz przytroczone zamkniety skorzany niewielki woreczek, dwa otwarte sloiki, zamkniety sloik i olejna lampe.
Chyba jednak bede misial robic na piechote
@pojemnik1=(woreczek|sloik)
@pojemnik2=(drugi woreczek|drugi sloik)

alias otworz @pojemnik1 nie dziala mi poniewaz pod @pojemnik 1 mam liste
wiec musialbym nie uzywac sloikow
Haern
Posty: 756
Rejestracja: 13 lut 2009 14:03

Re: CMUD

Post autor: Haern »

Jeśli będziesz unikał dwóch woreczków/słoików o takim samym krótkim opisie, to z tej linijki da się wyłapać pojemniki do zmiennych stringowych, nie listowych, i korzystać z nich oraz z zaimków (otworz @pojemnik1; wez ziola z niego). Sparsowanie 'dwa słoiki' będzie już trudniejsze.
Pattern: ^Do pasa masz przytroczon{e|y|a} (*).$
I potem dzielisz %1 na listę stringów (%replace), następnie w pętli (#forall chyba) usuwasz słowa otwarty/zamknięty (%replace), podpinasz pod kolejne zmienne @pojemnik1, ...2, ...3.

Do tego aliasy korzystające z @pojemnik1, i dalej z zaimków 'wez xxx z niego', 'zamknij go'.
Narmaniel

Re: CMUD

Post autor: Narmaniel »

Chciałbym zrobić sobie tabelkę z zabiciami. Kto, ile, czego. Nie mam problemu z zebraniem informacji. Ci, którzy kogoś zabili lądują w @zabijajacy i każdy z nich ma też swój database variable @IMIE_ubicia z rasa ubitego w keyu i ilością w Value.

Nie potrafię poradzić sobie z tabelką, którą wyobrażam sobie tak. (Zamiast kropek ma być spacja)

Kod: Zaznacz cały

...........Ty|Rafg|Haer|
..goblin|.666|...0|..45|
..krolik|.428|...0|..85|
....wilk|.789|..32|.357|
Na myśl przychodzą mi komendy %left, %replace, #forall. Tylko nic sensownego mi z tego nie wychodzi...
Awatar użytkownika
Fiora
Posty: 21
Rejestracja: 21 kwie 2015 04:40

Re: CMUD

Post autor: Fiora »

Ciekawe wyzwanie, pomyślę jeszcze nad tym.
W te komendy można by też jakoś zaprzęgnąć #LOOPDB, może się przyda?

Edit: Jak Haern napisze skrypt to głowa mała... Moje mizerne próby mogą się schować. :D
Ostatnio zmieniony 09 wrz 2015 20:17 przez Fiora, łącznie zmieniany 1 raz.
Haern
Posty: 756
Rejestracja: 13 lut 2009 14:03

Re: CMUD

Post autor: Haern »

Wklejam z moimi zmiennymi, dla przykładu. Nie pytajcie jak działa, pisane tysiąc lat temu...

Kod: Zaznacz cały

#LOCAL $ile_tmp
#LOCAL $suma 0

#SHOW {%repeat(" ",19) Statystyki zabitych}
#SHOW
#SHOWp {%repeat(" ",20)|}

#FO @Vstat_who {#SHOWP {%if(%i="ja"," ja",%left(%proper(%i),3))|}}

#SHOWP {Razem}
#SHOW

#LOOPDB @stat_all {
    #SHOWP {%repeat(" ", (20-%len(%key)))%key|}
    #FO @Vstat_who {
        $ile_tmp = %db(@{stat_%i},%key)
        #SHOWP {%repeat(" ",(3-%len($ile_tmp)))$ile_tmp|}}
    #SHOWP %repeat(" ",(3-%len(%val)))%val
    #SHOW}

#SHOW {%repeat(" ",10)%repeat("-",10)+%repeat("---+",%numitems(@Vstat_who))-----}
#SHOWP {%repeat(" ",15)Razem}
#FO @Vstat_who|all {
    #LOOPDB @{stat_%i} {
        $ile_tmp = %db(@{stat_%i},%key)
        $suma = ($suma + $ile_tmp)
    }
    #SHOWP {~|%repeat(" ",3-%len($suma))$suma}
    $suma = 0
}
#SHOWP {}
Awatar użytkownika
Fiora
Posty: 21
Rejestracja: 21 kwie 2015 04:40

Re: CMUD

Post autor: Fiora »

Zasadniczo to może i ja znajdę rozwiązanie swojego problemu:
mam skrypt, który dla każdej osoby w drużynie tworzy #BUTTON/Gauge.
Button ten zawiera imię i kondycję danej osoby(jako stan gauge'a), a po kliknięciu w niego wysyła komendę zasłoń.
Problem w tym, że tak jak na zMudzie działał, tak teraz na CMUDzie nie chce działać tylko jedna
jedyna rzecz w nim - nie pokazuje kondycji danej osoby/nie zmienia swojej wartości.

Mój 'Value-Expression' wygląda tak:

Kod: Zaznacz cały

%db(@wartosci_kondycji,@drkondycja.%i)
@wartosci_kondycji to baza zawierająca opisy kondycji z odpowiadającymi im wartościami od 1 do 7 jako value
@drkondycja to baza zawierajaca imie danej osoby i jej aktualna kondycje jako value
%i należy do instrukcji #FORALL i zawiera imię danej osoby do której należy button.

Co robię źle?
Ostatnio zmieniony 10 wrz 2015 10:39 przez Fiora, łącznie zmieniany 1 raz.
Awatar użytkownika
Feanen
Posty: 29
Rejestracja: 16 cze 2015 08:02

Re: CMUD

Post autor: Feanen »

CMUD troche inaczej od ZMUDA radzi sobie z aktualizowaniem wyrazen.

Proponuje to przeksztalcenie nazw na liczby robic od razu na koniec skryptu sprawdzajacego kondycje, np. cos takiego:

Kod: Zaznacz cały

#VAR gauge_kond {}
#FORALL @imiona {
    #ADDITEM gauge_kond %db(@wartosci_kondycji,@drkondycja.%i)
}
(chociaz chyba lepiej od razu dawac #additem w triggerze wczytujacym kondycje do @drkondycja, zamiast po wszystkim robic #forall)

a potem w wartosciach gauge'ow:

Kod: Zaznacz cały

%item(@gauge_kond,1)
%item(@gauge_kond,2)
%item(@gauge_kond,3)
...
Gleanevall
Posty: 258
Rejestracja: 13 sie 2011 21:08

Re: CMUD

Post autor: Gleanevall »

Fiora pisze:Co robię źle?
W odpowiedzi na twoje pytanie pozwolę sobie zacytować profesora Mirosława Bańko:
W dawnej polszczyźnie było w użyciu słowo owy, ale w funkcji mianownika lub biernika lm, czyli takiej, jaką dziś mają słowa owi, owe, owych. Jeśli dziś ktoś mówi np. owy dzień zamiast ów dzień, to mówi błędnie, co tym bardziej rażące, że sięga po słowo „ z wyższej półki”, z wyższego rejestru.
ODPOWIEDZ