Zmud pomoc

Forum techniczne Arkadii.
Awatar użytkownika
Irelia
Posty: 55
Rejestracja: 18 lut 2013 10:26
Lokalizacja: Kraków

Re: Zmud pomoc

Post autor: Irelia »

Irelia, Niesmiala Pakerka z Miejskiej Silowni, czlowiek.
Olkir
Posty: 4
Rejestracja: 08 lis 2012 17:06

Re: Zmud pomoc

Post autor: Olkir »

witam ...

pewnie juz padlo pytanie ale co mi tam ...

czy ktos jest w posiadaniu slownika do programowanie zmuda po polsku...
mam kilka pomyslow a niechce wam zawracac glowy chcialbym sam to zrobic
ale nie bardzo wiem co i jak ...
Gość

Re: Zmud pomoc

Post autor: Gość »

pisze alternatywny skrypt na ocene zbroi i broni. mam pomysł jak zmniejszysc dlugosc kodu lecz napotkałem na problem.
oto czesc kodu:

Kod: Zaznacz cały

#TRIGGER {Twoje doswiadczenie i umiejetnosci podpowiadaja ci, ze jak na (*) chroni o{n|na} (*) przed obrazeniami cietymi, (*) przed klutymi i (*) przed obuchowymi.} {#sh @oce_1 %1  Ciete @zb.%2, Klute @zb.%3, Obuch @zb.%4};
to przyklad itemu:

Kod: Zaznacz cały

Twoje doswiadczenie i umiejetnosci podpowiadaja ci, ze jak na ciezka zbroje chroni on kiepsko przed obrazeniami cietymi, bardzo kiepsko przed klutymi i dosc dobrze przed obuchowymi.
przy %1 nierma problemu bo wkleja zmienna
%2 tez nie ma problemu z odczytaniem rekordu z DB bo %2 ma wartosc "kiepsko"
ale %3 i %4 maja wartosci dwu wyrazowe z spacja w srodku i juz nieda sie odwolac do DB
Zmodyfokowalem DB tak ze pokasowalem spacje wiec np jeden z rekordów to "bardzokiepsko"
jest komenda %remove(" ",bardzo dobrze) co kasuje mi spacje z tego co wskaze i powinno byc ok?
#sh @zb.%remove( " ", %3)
ale tez lipa bo sie okazuje ze sie to nie łączy i też sie krzaczy
wiec rozbiłem....
temp3=%remove(" ",%3) ;-to dziala i jest jak nalezy
#sh @zb.@temp3 ;- to tez sie sypie

jedyne co dzialalo to:
#sh @zb.%2 ;- %2 normalnie sie da uzyc w DB ale w samym %3 niemoge usunac tej spacji.

Troche to zakrecone i mam nadzieje ze odczytaliscie to tak jak to chcialem przedstawić
Jesli ktos wie jak z %3 wywalic spacje lub jak w DB uzyc zmiennej ktora wczesniej moglem modyfokowac prosze o przyklad
Gleanevall
Posty: 258
Rejestracja: 13 sie 2011 21:08

Re: Zmud pomoc

Post autor: Gleanevall »

Czytaj tak: %db(@zb, %3)
Awatar użytkownika
Irelia
Posty: 55
Rejestracja: 18 lut 2013 10:26
Lokalizacja: Kraków

Re: Zmud pomoc

Post autor: Irelia »

Jak ktoś umie poprawić ten mój skrypt to proszę bardzo =) Ale mój poziom "kodowania w Zmudzie" jest dosyć niski, dlatego póki co wrzucam v6 z tarczami, a jak ktoś zoptymalizuje kod to podeślijcie.

http://pliki.ethel.pl/arkadia/ocena_v6.TXT
Irelia, Niesmiala Pakerka z Miejskiej Silowni, czlowiek.
Awatar użytkownika
Irelia
Posty: 55
Rejestracja: 18 lut 2013 10:26
Lokalizacja: Kraków

Re: Zmud pomoc

Post autor: Irelia »

V7

http://pliki.ethel.pl/arkadia/ocena_v7.TXT

Działają tarcze, pawęże, wszystkie zbroje i bronie.
Dodane teraz też zniszczenie zbroi/broni,

wygląda to teraz tak:

PORECZNA ZDOBIONA PARTYZANA(bron drzewcowa) wywazenie(10|14) skutecznosc(9|14) (5500|2700) (4|7)

PLYTOWA CIEMNA PARA NAGOLENNIKOW(Ciezka Zbroja) klute(8|12) obuchowe(8|12) ciete(8|12) (5400|900) (MAX|5)

KOLCZASTA PLYTOWA PARA NARAMIENNIKOW(Ciezka Zbroja) klute(7|12) obuchowe(11|12) ciete(8|12) (5000|820) (4|5)

CZARNY LUSKOWY HELM(Srednia Zbroja) klute(7|12) obuchowe(7|12) ciete(7|12) (4900|1300) (4|5)

CZARNY PIERSCIENIOWY KIRYS(Lekka Zbroja) klute(7|12) obuchowe(7|12) ciete(12|12) (7500|2000) (4|5)

Wystarczy wpisac ocen wszystkie zbroje, ocen wszystkie bronie i od razu wiadomo czy trzeba biec do kowala czy nie.

Troche topornie napisane, ale ważne że działa,
Ma ktoś jeszcze jakieś pomysły na ciekawe skrypty? =)
Irelia, Niesmiala Pakerka z Miejskiej Silowni, czlowiek.
Haern
Posty: 756
Rejestracja: 13 lut 2009 14:03

Re: Zmud pomoc

Post autor: Haern »

Żeby trochę usprawnic skrypt polecam, zamiast serii IFów, funkcje %ismember i %item. Skróci się o jakieś 80-90%.
W CMUDzie istnieje funkcja/komenda, której z tego co pamiętam w ZMUDzie brakuje - switch, który pozwala zrobic serię IFów w ładniejszym wykonaniu. Ale w wypadku tego skryptu %ismember i %item wystarczą.
Awatar użytkownika
Thorffin
Posty: 62
Rejestracja: 05 lis 2012 20:08

Re: Zmud pomoc

Post autor: Thorffin »

Czy da się w zMUDzie zrobić takie cudo?

Mam kilka list w zmiennych, powiedzmy listę shortów, listę imion i listę tego, za co mi kto podpadł.

Komendą #for robię sobie z tego piękny wykaz kto o jakim shorcie za co mi podpadł.

Problemu nie sprawia wyszukanie danej osoby po imieniu. if %ismember i szukanie imienia w odpowiedniej liście, ponieważ jest ono na niej całym rekordem.

Jak zrobić, żebym mógł szukać po części rekordu? Jak sprawdzić, ilu halflingów mi podpadło, albo ile postaci mających w shorcie "ooki", czyli zielonookich, skosnookich itd.?

Zadając pytanie jeszcze inaczej. Co trzeba wpisać w warunek IFu, żeby uzyskać taki efekt? Przykład: #if (ooki XXX %item(lista)) (#sh element listy).
Co trzeba wstawić w miejsce iksów.

Mam nadzieję, że nie namotałem i jest w miarę jasne, co chciałbym uzyskać.
Zurwen
Posty: 756
Rejestracja: 13 lut 2009 09:37

Re: Zmud pomoc

Post autor: Zurwen »

Użyj jakiegoś #forall, które będzie filtrować ci tablice w sposób zależny od tego czego szukasz (np. poprzez użycie %match albo %find - o ile to drugie istnieje bo nie pamiętam teraz).
Do kontaktów z czarodziejami służy komenda ‚zglos’ (błąd/pomysl/mg).
Awatar użytkownika
Thorffin
Posty: 62
Rejestracja: 05 lis 2012 20:08

Re: Zmud pomoc

Post autor: Thorffin »

Dziękuję bardzo, poeksperymentuję.

Następna rzecz: Nie potrafię rozgryźć komendy #psub.

Pattern: (*) jest ciezko ranny.
#psub (%1 zaraz zginie) %x1

Rozumiem pierwszą część psub'a w nawiasach, to jest to, co ma się pojawić. Ta druga część wiem mniej więcej do czego służy, ale nie potrafię jej wykorzystać. Ma pokazywać gdzie ma się pojawiać tekst z nawiasów.

W pomocy zMUDa są takie parametry jak XStart, XEnd, YStart, YEnd, które są w miarę zrozumiałe. Oś Y mnie nie interesuje, tylko X.

Jak zrobić, żeby dany tekst pojawiał się na końcu linii? Jak zrobić, żeby pojawiał się po tym, co zMUD ma zczytać?

Czyli tak.
Elf jest ciezko ranny. Elf zaraz zginie.
Elf zaraz zginie jest ciezko ranny.

EDIT:
Druga rzecz.

Mam folder A, w nim folder B i C.
Komenda #t- A wyłącza mi tylko folder A, aliasy, zmienne i inne rzeczy w folderze B i C wciąż działają. Jak wyłączyć cały folder A, razem z B i C?

Inaczej niż w ten sposób:
#t- A;#t- A|B;#t- A|C
ODPOWIEDZ