CMUD

Forum techniczne Arkadii.
Elkas
Posty: 11
Rejestracja: 07 sty 2014 22:16

Re: CMUD

Post autor: Elkas »

Potrzebuję pomocy z danymi znajdującymi się w bazie danych.
O ile:

Kod: Zaznacz cały

#DBLOAD orders_list
#VIEW All
#DBFIRST
#WHILE (!%null(%rec)) {
  #SHOW &nazwa &bron_czy_zbroja
  #DBNEXT
}
generuje mi listę wszystkich elementów to:

Kod: Zaznacz cały

#SHOW %query((&c_zloto > 0),All)
czy też:

Kod: Zaznacz cały

#LOOPVIEW {#show 1 &nazwa}
generują tylko puste linie, czyli coś spartoliłem. Niestety z wbudowanego helpa nie jestem w stanie nic innego zrozumieć niż robię. Ktoś poradzi?
Awatar użytkownika
Herenvarno
Posty: 809
Rejestracja: 09 mar 2010 11:22

Re: CMUD

Post autor: Herenvarno »

Upewnij sie ze masz w tle otwarta baze danych kiedy odczytujesz dane.
Obie sekwencje dzialaja prawidlowo (u mnie)
Nie każdy jest mile widziany w moim domu. Gdybym wszystkich traktował jednakowo, nikogo nie wyróżniłbym!
Narmaniel

Re: CMUD

Post autor: Narmaniel »

Chciałbym zrobić pewną rzecz, poniższy przykład ma tylko zilustrować problem, na rozwiązanie którego szukam sposobu.

Przykładowa linijka:

Kod: Zaznacz cały

Plamiasty szalony potwor ledwo muska Narmaniela wyszczerzonymi zebami, trafiajac go w glowe.
Chciałbym ją zamienić na:

Kod: Zaznacz cały

Plamiasty szalony potwor ---- LEDWO MUSKA --- Narmaniela (wyszczerzonymi zebami)
Korzystając z bazy odmian mógłbym zrobić taki pattern:

Kod: Zaznacz cały

({@db_mian}) ({@lista_obrazen}) ({@db_bier}) (*), trafiajac * w *.
A następnie go ładnie zasubować. Problem w tym, że taki pattern byłby strasznie wolny, przeglądałby 3 listy zmiennych z czego dwie po kilka tysięcy pozycji. Jak zrobić ładniejszy, szybszy pattern do czegoś takiego?
Awatar użytkownika
Herenvarno
Posty: 809
Rejestracja: 09 mar 2010 11:22

Re: CMUD

Post autor: Herenvarno »

Celem jest SUB, czy kolekcjonowanie odmian?
Nie każdy jest mile widziany w moim domu. Gdybym wszystkich traktował jednakowo, nikogo nie wyróżniłbym!
Narmaniel

Re: CMUD

Post autor: Narmaniel »

SUB, odmiany już są, działają, robią się.
Awatar użytkownika
Herenvarno
Posty: 809
Rejestracja: 09 mar 2010 11:22

Re: CMUD

Post autor: Herenvarno »

Niewiele moge pomoc:

Kod: Zaznacz cały

(*) ({@lista_obrazen}) ({@db_bier}) (*), trafiajac * w *.
Pierwsza odmiana, nie jest wymagana do rozpoznania "broni przeciwnika"

Kod: Zaznacz cały

(*) ({@lista_obrazen}) ({@db_imiona_bier}) (*), trafiajac * w *.

(*) ({@lista_obrazen}) (*) ({@db_rasy_bier}) (*), trafiajac * w *.
Czasami lepiej zlapac na dwa paterny, (wymagana - baza danych imion)
Ras jest znacznie mniej niz przymiotnikow przed "rasą".


Edit: Dopisek zeby nie smiecic.
Ostatnio zmieniony 08 gru 2014 14:45 przez Herenvarno, łącznie zmieniany 1 raz.
Nie każdy jest mile widziany w moim domu. Gdybym wszystkich traktował jednakowo, nikogo nie wyróżniłbym!
Narmaniel

Re: CMUD

Post autor: Narmaniel »

Dzięki. Czekam na więcej. :D

EDIT do dopisku:

Lipa, bo bazę mam na szorty i imiona razem... Ponad to w liście ras musiały by być gobliny, orki itd. i chyba trzeba by ją wpisać ręcznie. Ale dzięki. Przemyślę sprawę.
Awatar użytkownika
Herenvarno
Posty: 809
Rejestracja: 09 mar 2010 11:22

Re: CMUD

Post autor: Herenvarno »

Przefiltruj baze danych :D zapisz w odmianie imion wszystkie te, ktore skladaja sie z jednego slowa :D, te zas ktore skladaja sie z wiecej niz jednego, niech dodaje ostatni wyraz do listy ras... Niech prace wykona Zmud za Ciebie, ty miej "czyste rece" (poza napisaniem krotkiego skryptu na filtrowanie)
Nie każdy jest mile widziany w moim domu. Gdybym wszystkich traktował jednakowo, nikogo nie wyróżniłbym!
Narmaniel

Re: CMUD

Post autor: Narmaniel »

Zapewne tak zrobię. Tylko ciężko - nie ukrywam. Tak to jakoś jest, że jak się "zasiedzi" w jednej dobrze znanej rzeczy i nagle trzeba ją odwrócić do góry nogami to jakaś niechęć i przerażenie się budzi :D

EDIT: A jak rozpoznać, czy wyłapany (*) ma więcej niż jeden wyraz? Zrobić w patternie (*)%w i odmieniać %1%w?
Awatar użytkownika
Herenvarno
Posty: 809
Rejestracja: 09 mar 2010 11:22

Re: CMUD

Post autor: Herenvarno »

przyklad:
Patern:

Kod: Zaznacz cały

(*) wita cie.
Value:

Kod: Zaznacz cały

#var WordCount {%numWords(%1)}
#if (@WordCount>1) {
      #Say %1 sklada sie z @WordCount slow.} {
      #Say %1 to tylko jedno slowo.}
Ups, dopiero teraz zwrocilem uwage ze pisze w topicku Cmud'a, nie zas w Zmud'zie, Ale zasadniczo skrypt powinien pasowac.
Nie każdy jest mile widziany w moim domu. Gdybym wszystkich traktował jednakowo, nikogo nie wyróżniłbym!
ODPOWIEDZ