Zmud pomoc

Forum techniczne Arkadii.
Haern
Posty: 756
Rejestracja: 13 lut 2009 14:03

Re: Zmud pomoc

Post autor: Haern »

Przypisz do buttonów typu toggle (o ile dobrze pamiętam nazwę tego trybu dla buttonów) wyrażenie lub po prostu zmienne, które albo już masz (bo służy/służą do określania trybu chodzenia) albo dorobisz. Pamiętaj, żeby pilnować #CLASS przy zmianie zmiennych - w zmudzie lubią się dublować, tworzyć w różnych dziwnych klasach, a w rezultacie - nie działać poprawnie. Więc dla bezpieczeństwa przed każdą zmianą wartości zmiennej poprzez #VAR dobrze dać #CLASS nazwa_klasy_w_ktorej_jest_zmienna.
Gothrin
Posty: 152
Rejestracja: 05 paź 2011 16:35
Lokalizacja: Kraków

Re: Zmud pomoc

Post autor: Gothrin »

Szybkie pytanie. Podejrzewam błąd w składni i już kompletnie zgłupiałem.

Jak usunąć listę A z listy B?

Kod: Zaznacz cały

String 1 zawiera: A|B|C|D|E|F
String 2 zawiera: A|B|F

Chcę odjąć 2 od 1 i otrzymać 3=C|D|E
100% swiata zostalo opanowane przez Ciemnosc.
Awatar użytkownika
Thorffin
Posty: 62
Rejestracja: 05 lis 2012 20:08

Re: Zmud pomoc

Post autor: Thorffin »

#for (string2) {#if (%ismember(%i, string1)) {#delitem %i string1} {}}

Pisane z głowy. Sprawdza, czy pozycja (%i) ze string2 jest także w string 1. Jeśli tak, usuwa tę pozycję ze string1. Jeśli nie, nie robi nic.

EDIT: Tylko, że to przeprowadza operację na string2, nie tworząc string 3...

To inaczej:

#for (string1) {#if (%ismember(%i, string2)) {} {#additem %i string3}}

Sprawdza, czy pozycja ze string1 jest także w string2. Jeśli jest, to nic nie robi. Jeśli nie ma, dodaje ją do string3.
Bloom
Posty: 9
Rejestracja: 12 lis 2013 17:49

Re: Zmud pomoc

Post autor: Bloom »

Witam, chcialem prosic o pomoc. Chce stworzyc trigger, ktory po ogladnieciu ciala automatycznie w zmiennej tworzy liste przedmiotow. W tym watku znalazlem podpowiedz i stworzylem cos takiego:

Pattern: ^Zauwazasz przy nim (*).$

Trigger: #va w_ciele {%replace( %replace( %1, " i ", "|"), ", ", "|")}

Problem polega na tym, ze nie rozumiem jak to dokladnie dziala. Jezeli w ciele sa dwa przedmioty (odzielone " i ") trigger dziala i laduja one poprawnie w string liscie. Jednak w przypadku wiekszej ilosci przedmiotow gdy pojawiaja sie ", " w zmiennej mam tylko jeden przedmiot (pierwszy w ciele). Jesli ktos widzi blad, bede wdzieczny za pomoc.
Herk
Posty: 20
Rejestracja: 03 cze 2010 12:12

Re: Zmud pomoc

Post autor: Herk »

Bloom pisze:Witam, chcialem prosic o pomoc. Chce stworzyc trigger, ktory po ogladnieciu ciala automatycznie w zmiennej tworzy liste przedmiotow. W tym watku znalazlem podpowiedz i stworzylem cos takiego:

Pattern: ^Zauwazasz przy nim (*).$

Trigger: #va w_ciele {%replace( %replace( %1, " i ", "|"), ", ", "|")}

Problem polega na tym, ze nie rozumiem jak to dokladnie dziala. Jezeli w ciele sa dwa przedmioty (odzielone " i ") trigger dziala i laduja one poprawnie w string liscie. Jednak w przypadku wiekszej ilosci przedmiotow gdy pojawiaja sie ", " w zmiennej mam tylko jeden przedmiot (pierwszy w ciele). Jesli ktos widzi blad, bede wdzieczny za pomoc.
Wyjaśnie Ci na twoim przykładzie:
%replace( %1, " i ", "|") działa tak: odwołując sie do wortości %1 zamień " i " na "|" . Jeśli "|" wrzucimy do zmiennej to zmud zinterpretuje ten znak jak oddzielenie wartości zmiennych (utworzy string list).

A więc: Zauwazasz przy nim miedziana monete, wiewiorczy ogon i miedziany nocnik.

%replace( %replace( %1, " i ", "|"), ", ", "|")
daje: %replace( {miedziana monete, wiewiorczy ogon|miedziany nocnik}, ", ", "|") => %replace zamieniło " i " na "|"
i na koncu otrzymujemy wynik: miedziana monete|wiewiorczy ogon|miedziany nocnik => %replace zamieniło ", " na "|"
a więc zmienna w_ciele otrzymuje ostatecznie :
miedziana monete|wiewiorczy ogon|miedziany nocnik

Pisze z pamięci, nie testowałem być może zrobiłes jakiś czeski błąd, że wyświetla ci tylko pierwszą wartość. Jak wywołujesz zmienna @w_ciele?

Herk.
Bloom
Posty: 9
Rejestracja: 12 lis 2013 17:49

Re: Zmud pomoc

Post autor: Bloom »

Sprawdzalem juz na milion sposobow, wyswietlam sobie za kazdym razem:

#sh %1
#sh @w_ciele

Jezeli w ciele sa wiecej niz dwie rzeczy nie dziala jak powinno. U znajomego ten sam trigger dziala, wiec to jakis bug mojego zMuda chyba.

Pozdrawiam i dzieki za pomoc.
Haern
Posty: 756
Rejestracja: 13 lut 2009 14:03

Re: Zmud pomoc

Post autor: Haern »

Spróbuj "rozbić" %replace'y na dwie osobne linijki, wtedy też wyświetlaj zawartości zmiennej, i sprawdź, który psuje. Spróbuj też "na sucho" przekształcać stringa, typu #sh {%replace("maly stolik, drewniane krzeslo i stos miedziakow", ... itd.)}. To się musi dać zrobić ;)
Herk
Posty: 20
Rejestracja: 03 cze 2010 12:12

Re: Zmud pomoc

Post autor: Herk »

Musi być jakiś czeski błąd: nawiasy, cudzysłowia " ", przecinki.
Sprawdź czy nie masz dublowanych zmiennych użytych w tym skrypcie, zwykle jeden jest w CLASSie w której tworzysz skrypt, drugi w ROOT'cie.
<opcja "search">

Herk.
Bloom
Posty: 9
Rejestracja: 12 lis 2013 17:49

Re: Zmud pomoc

Post autor: Bloom »

Dzieki wielkie za pomoc, okazalo sie ze wszystko pieknie dziala gdy zamienilem
%1 na "%1".

#var w_ciele {%replace( %replace( "%1", ", ", "|"), " i ", "|")}
Awatar użytkownika
Herenvarno
Posty: 809
Rejestracja: 09 mar 2010 11:22

Re: Zmud pomoc

Post autor: Herenvarno »

Mam zapytanie do procedury " #mes "

Czy da sie podczas jednej sesji zmieniac tlo dla boxa message?
(np. Chcialbym wprowadzic cztery rodzaje wiadomosci z tlem czeronym, zoltym, zielonym i niebieskim)
Czy da sie ustawic miejsce w ktorym ma byc wyswietlany box message?
Oraz czy jesli dalo by sie wprowadzic rozne kolorki dla tla boxa, to czy da sie ustawic pozycjonowanie dla kazdego rodzaju wiadomosci w konkretnym miejscu (w tym w ktorym bym chcial by sie ukazywalo)
Nie każdy jest mile widziany w moim domu. Gdybym wszystkich traktował jednakowo, nikogo nie wyróżniłbym!
ODPOWIEDZ