Killer Wiki/OLC - Podstawy

# Podstawy budowania

Poradnik "Krok po Kroku"

ver. 1.0.4 - Tanon [[1]]

poprawki uaktualniające (11.2021): Zeddicus

## Część I: Wprowadzenie

Nie będę rozwodził się w bujności wstępu okazałej, albowiem nie kunszt mój literacki owa księga głosić winna. Podręcznik oto ten, który trzymasz graczu drogi, ma na celu nauczyć Cię podstaw budowania na naszym kochanym mudku - Killerze. Starał się będę w nim objaśnić wszystko krok po kroku, aby nawet najokazalszy półork był w stanie przyswoić sobie podstawowe czynności dążące do stwarzania tego, co niestworzone i doskonalenia naszego pięknego muda. Przynajmniej pod względem różnorodności krain. Już wkrótce przekonasz się, że tworzenie świata dawać może o wiele więcej satysfakcji niż samo odkrywanie. Zobaczysz jaką radość sprawić może widok postaci na mudzie ubranej od stóp do głów w graty, które sam wymyśliłeś. O ile tylko uda przepchnąć Ci się przez wcale nie tak trudny proces przyswojenia sobie podstaw, zaraz załapiesz bakcyla i wybudujesz nam wiele pięknych krainek. Przynajmniej mam taką nadzieję. ;) To tyle tytułem wstępu, przejdźmy do rzeczy.

## Część II: Ważne informacje

Jest to bardzo istotny rozdział, który obowiązkowo należy wnikliwie przeanalizować. Zawiera on podstawowe informacje, których znajomość jest **niezbędna**. Jeśli więc nie chcesz doprowadzać swojego Lorda do białej gorączki zadając mu banalne pytania (a zapewniam Cię że nie chcesz) lepiej zapoznaj się z poniższym rozdziałem. ;)

Na początek najważniejsze adresy:

* http://www.killer-mud.pl/ - strona główna muda
* https://discord.gg/BNXPsEtJ - server Discord muda
* telnet killer-mud.pl:4004 - adres i port muda
* telnet killer-mud.pl:3000 - adres i port builder-world

### Zlecenie

Otóż gdy już postanowimy zająć się budowaniem pierwszą rzeczą którą powinniśmy zrobić to obwieścić swój zamiar Lordom i dostać zlecenie. Można się też trochę pobawić samemu wpierw - jak kto woli. Zgłaszamy się na serwerze Discorda, pisząc do Lordów lub Budowniczych. Dostaniemy prawdopodobnie jakąś malutką krainkę - coś w sam raz na nasze możliwości. I tak jeśli mamy już zlecenie, albo nie mamy i chcemy się pobawić, zabrać się powinniśmy za ściągnięcie i instalację Off-line Buildera. No chyba że zostaniesz graczu miły wpuszczony na on-line buildera.

### Pojęcia

Wyjaśnienia kilku pojęć używanych w dalszej części podręcznika, które mogą okazać się niezrozumiałe.

* **desc** - jest to opis lokacji, moba lub przedmiotu uzyskiwany w grze przy pomocy komendy **look [coś]**. Aby ustawić opis wpierw przechodzimy w tryb edycji konkretnej lokacji, moba lub przedmiotu (redit, medit, oedit) a następnie wpisujemy komendę **desc** i edytujemy opis. Edycję kończymy komendą **@**.
* **mob** - jak wiadomo jest to każdy stworek, ludek czy też postać na mudzie. Moba edytujemy przy użyciu komendy **medit [vnum]**.
* **obiekt** - jak łatwo można się domyśleć jest to każda martwa rzecz materialna na mudzie. Obiekty edytujemy przy użyciu komendy **oedit [vnum]**.
* **room** - jak wiadomo jest to pokój czyli lokacja, edytujemy za pomocą komendy **redit [vnum]**.
* **vnum** - jest to numer identyfikacyjny rooma, moba lub obiektu. Każdy room (lub mob lub obiekt) na mudzie ma własny vnum. Mogą oczywiście występować roomy, moby i obiekty z tym samym vnumem. Każda kraina ma określone vnumy. Przykładowo krainka z vnumami 12000-12099 będzie mogła posiadać 100 roomów, 100 mobów i 100 obiektów z vnumami 12000, 12001, 12002, itd.

### Komendy

Na początek poznamy kilka podstawowych komend, które są niezbędne przy budowaniu.

* **aedit [vnum/create]** – komenda pozwala na przejście w tryb edycji krainy o podanym vnumie lub stworzenie jej poprzez wpisanie słowa "create" zamiast vnuma.
* **asave changed** – zapisuje wszystkie zmiany w naszej pracy
* **desc** – w odpowiednich trybach edycji uruchamia tryb wpisywania opisów
* **done** – pozwala na opuszczenie trybów edycji (aedit, redit, medit itd.), przejście w "normalny stan"
* **goto [vnum rooma/nazwa moba]** – bardzo przydatna komenda pozwalająca udać się do dowolnego rooma lub moba na mudzie.
* **redit [vnum/create vnum]** – komenda pozwala na przejście w tryb edycji lokacji o podanym vnumie lub stworzenie jej poprzez wpisanie słowa "create" przed vnumem.
* **medit [vnum/create vnum]** – komenda pozwala na przejście w tryb edycji moba o podanym vnumie lub stworzenie go poprzez wpisanie słowa "create" przed vnumem.
* **oedit [vnum/create vnum]** – komenda pozwala na przejście w tryb edycji obiektu o podanym vnumie lub stworzenie go poprzez wpisanie słowa "create" przed vnumem.
* **@** – komenda służąca do zapisywania zmian i opuszczania trybu edycji opisów (desc)

### Podręczna pomoc - żółte literki

W wielu miejscach w trybach edycji spotkać się możemy z żółtymi napisami przy różnych właściwościach. Wystarczy wtedy wpisać komendę **? <zolty\_tekst>** i pojawi się pomoc na dany temat. Fajna rzecz. ;)

### Najczęstsze błędy i problemy

* Rozróżnianie desców. - **Short desc** to krótki opis używany na przykład w walkach, emotach lub komunikatach w przypadku mobów lub w inwentarzu w przypadku obiektów (np. "mieszkaniec" czy "żelazny sztylet"). **Long desc** to jednozdaniowy opis przedmiotu lub moba widzianego przy wchodzeniu do lokacji (np. "Mieszkaniec stoi tutaj." czy "Sztylet leży na ziemi"). **Desc** to najdłuższy kilkulinijkowy opis widziany przy komendzie look.
* Długość opisów. - Opis lokacji powinien mieć **minimum** **5-6 linijek** po sformatowaniu. Aczkolwiek nie powinien też zajmować całego ekranu. Opisy przedmiotów i mobów mogą mieć 3-4 linijki minimum.
* Wielkość liter. - **Short desca i odmianę zawsze piszemy z małej litery**, chyba że jest to nazwa własna. Podobnież takie słowa jak "ty", "ciebie" itp. piszemy również małą literą, nie stosujemy formy grzecznościowej.  Natomiast **long desc zaczynamy dla odmiany od dużej litery**.
* Użycie komendy "asave world" - **NIE używamy tej komendy!** Jest to komenda dla Lordów, jej użycie spowoduje utratę zmian! Do zapisania zmian możemy używamy "**asave changed**" lub "**asave area**.

## Część III: Kraina - tryb AEDIT

Chyba nie musze tłumaczyć czym jest kraina. ;) Jak wiadomo bywają krainy małe i duże, smutne i wesołe, spokojne i niebezpieczne. Krainy zbudowane są z roomów, po których łażą moby poubierane w obiekty. Pierwszą rzeczą jaką powinniśmy zrobić przed rozpoczęciem budowania to zastanowić się jaką krainę chcemy zrobić. Musimy odpowiedzieć sobie na kilka pytań. Czy ma być duża czy mała? Co ma się w niej znaleźć? Jak silne moby i jak cenne przedmioty? Oczywiście czasami dostaniemy mnie lub bardziej konkretne zlecenie, którego musimy się trzymać. Możemy też, co jest często bardzo pomocne, naszkicować sobie zarys kraiki na kartce zaznaczając roomy i co ważniejsze miejsca, czy co tam wam pasuje. Jeśli mamy już ogólna wizje krainki możemy przystępować do dzieła.

Pierwsze co musimy zrobić, to stworzyć krainę. Robimy to za pomocą komendy **aedit create**. Przechodzimy tym samym w **tryb edycji krainy**. Od teraz za każdym razem gdy wciśniemy enter pojawi nam się aktualna "karta" krainki, którą edytujemy. Po wklepaniu owej komendy pojawia nam się takie oto coś:

```
Name:     [  200] New area
File:     area0.are
Vnums:    [0-0]
Age:      [0]
ResetAge: [20]
Players:  [0]
Security: [1]
Builders: [added]
Flags:    [none]
Region:   [0]

```

Jest to czysta karta krainki. Zajmiemy się więc teraz jej edycją. Wpierw musimy nadać jej jakąś nazwę, powiedzmy niech będzie to chatka Zenka. Wklepujemy więc **name Chatka Zenka** i potwierdzamy enterem. Wyskoczy nam informacja:

```
Ustawiono nazwę krainy.

```

Teraz, gdy wciśniemy enter bez wpisywania czegokolwiek wyskoczy nam karta z naszą nazwą:

```
Name:     [  200] Chatka Zenka
File:     area0.are
Vnums:    [0-0]
Age:      [0]
ResetAge: [20]
Players:  [0]
Security: [1]
Builders: [changed added]
Flags:    [none]
Region:   [0]

```

Nadaliśmy więc kraince nazwę. Teraz zajmiemy się resztą właściwości. Robimy to w bardzo podobny sposób. Następnym rzeczą jaką powinniśmy ustawić jest nazwa pliku krainki. Piszemy więc na przykład **file zenek** i zatwierdzamy enterem. Wyskoczy nam informacja:

```
Nazwa pliku krainy została zmieniona.

```

Jak się zapewne domyślacie gdybyśmy teraz wcisnęli enter pojawiłaby nam się karta ze zmienioną nazwą pliku. Jak ktoś nie wierzy może sprawdzić. ;) Następnie ustawiamy **vnumy**. Jeśli dostaliśmy zlecenie dostaliśmy na pewno vnumy w jakich powinniśmy zrobić krainkę, jeśli natomiast bawimy się, możemy sobie wymyślić dowolne. Dla naszych potrzeb spokojnie powinno wystarczyć 10 vnumów. Powiedzmy niech będą to vnumy od 40000 do 40009. Wpisujemy zatem komendę **vnum 40000 40009** i zatwierdzamy enterem. Wyskoczy nam informacja o ustawieniu vnumów. Następnie ustawiamy creditsy, co by ludzie wiedzieli kto taką cudowną krainę stworzył. ;) Dobrze by było wpisać tam również e-maila aby kontakt ułatwić. Robimy to poprzez wpisanie komendy **credits.** Spowoduje to przejście w tryb dodawania tekstu gdzie wpisujemy sobie swoje imię, kontakt do siebie i ewentualnie wypisujemy osoby pomocne przy robieniu krainki czy co tam chcemy. Jak to w creditsach. ;) Przykładowo ja wpisze sobie "Tanon – usuario@wp.pl" Tyle powinniśmy zrobić. Resztę właściwości możemy zostawić – na razie nas to nie interesuje.

Mamy więc taką kartę:

```
Name:     [  200] Chatka Zenka
File:     zenek.are
Vnums:    [40000-40009]
Age:      [0]
ResetAge: [20]
Players:  [0]
Security: [1]
Builders: [changed added]
Flags:    [none]
Credits :
Tanon - usuario@wp.pl
Region:   [0]

```

Następnie wpisujemy sobie komendę **asave changed**, która zapisze zmiany.

## Część IV: Lokacje - czyli tryb REDIT

Krainka bez lokacji jest jak chatka bez wnętrza, zajmiemy się więc teraz stworzeniem kilku roomów. Jednak przed rozpoczęciem tworzenia lokacji powinniśmy sobie zaplanować ich układ. Najlepiej to zrobić rysując sobie mapkę na kartce w kratkę. Przy układaniu roomów należy **trzymać się siatki**. To znaczy unikać sytuacji w której roomy nachodziłyby na siebie jakoś dziwacznie się łączyły itp. Mogą być niewielkie odchyły od normy, ale muszą one być uzasadnione i sporadyczne.

Dla przykładu dwie siatki - dobra i zła...

Chyba już załapaliśmy o co chodzi. Na razie jednak tylko ćwiczymy, wiec możemy sobie darować specjalne planowanie. Wpisujemy zatem **redit create 40000** w celu utworzenia rooma o vnumie 40000 w naszej kraince. Pojawi nam się informacja o stworzeniu rooma. Jak się za pewne domyślacie jesteśmy teraz w **trybie edycji lokacji**.

Po wciśnięciu entera wyskoczy nam pusta karta:

```
Description:
Name:       []
Area:       [  200] Chatka Zenka
Vnum:       [40000]
Sector:     [nieużywany]
Room flags: [none]
Characters: [builder]
Objects:    [none]

```

Konkretnym opisem lokacji czyli polem description zajmiemy się trochę później. W tej chwili ustawimy **nazwę**. Nazwa ta pojawia się zawsze na górze opisu. Dzięki niej podczas grania na mudzie wystarczy tylko zerknięcie aby zorientować się gdzie jesteśmy. Jest więc bardzo ważną cechą lokacji. Ustawiamy ją w taki sam sposób jak ustawialiśmy nazwę krainki, czyli wpisujemy na przykład **name Pokój Zenka** zwyczajowo z dużej litery. Następnie powinniśmy ustawić **sector**. Jest to, można powiedzieć, typ lokacji. Jest on sprawdzany w niektórych przypadkach przez kod, więc należy go ustawić tak jak być ustawiony powinien. W przeciwnym razie będą się pojawiać głupie bugi typu rzucanie fireballa pod wodą itp. Gdy wklepiemy komendę **sector** w trybie redit (w którym teraz jesteśmy) pojawi nam się lista wszystkich sectorów:

```
Wewnątrz              Mv_loss:[1]  Heal:[  0%]  Mem:[ 0]  Wait:[1]
Miasto                Mv_loss:[1]  Heal:[  0%]  Mem:[ 0]  Wait:[1]
Pole                  Mv_loss:[2]  Heal:[  0%]  Mem:[ 0]  Wait:[1]
Las                   Mv_loss:[3]  Heal:[ 10%]  Mem:[ 1]  Wait:[2]
Wzgórza               Mv_loss:[4]  Heal:[  0%]  Mem:[ 0]  Wait:[2]
...

```

Lista jest długa, więc nie będę jej tutaj w całości przytaczał. Do chatki pasuje oczywiście sector wewnątrz, który też ustawiamy wpisując komendę **sector wewnątrz**. Następnie możemy ustawić lokacji jakieś flagi, które nam tu pasować będą. Po wpisaniu komendy **? room flag** w trybie redit wyskoczy nam lista.

```
dark               mem_cleric         no_mob             indoors
mem_druid          mem_mage           no_magic           light
magicdark          private            safe               solitary
pet_shop           no_recall          slippery_floor     bounty_office
heroes_only        newbies_only       law                nowhere
bank               inn                no_hide            trap
no_zecho           randdesc           no_herbs           consecrate
desecrate          mem_bard           no_weather

```

Ich działania można domyśleć się z nazw. Szczegółowe ich opisy można znaleźć w helpie do OLC. My w tym przypadku ustawimy sobie flagę **light**, aby Zenek miał jasno w domku również w nocy. Robimy to przez wpisanie komendy **room light**. Możemy zapisać sobie zmiany na wszelki wypadek komendą **asave changed**. Gdy już mamy sektor i flagi powinniśmy zająć się opisem.

#### Pisanie Opisów

Otóż pisanie opisów jest w sumie rzeczą prostą. Jednak niektórzy maja z tą czynnością problemy. Zarówno pod względem merytorycznym jak i technicznym. Otóż w wypadku pisania opisu lokacji nie powinien mieć on mniej jak **5-6 linijek** po sformatowaniu. Nie powinny być w nim zawarte informacje o akcjach gracza. W wypadku opisów mobów i obiektów 3 linijki od biedy mogą być. Wiadomo że ciekawszy będzie opis na 5-6 linijek, ale trudno przykładowo rozwodzić się nad wyglądem patyka czy kamienia. Wszystkie opisy obowiązkowo muszą być **poprawne gramatycznie i ortograficznie** oraz muszą zawierać **polskie znaki**. Można używać kolorów, ale bez przesady.

A więc jak taki opis technicznie napisać? Ano otwieramy sobie Worda, czy cokolwiek innego, co by nam pisownie sprawdzało i skrobiemy jakiś tam opis. Dla przykładu opis pokoju Zenka naskrobałem sobie taki:

```
Znalazłeś się w niedużym przytulnym pokoju należącym do gnoma Zenka. Całe
pomieszczenie oświetlane jest przez trzaskający wesoło ogień z kominka. Na
ścianach wiszą portrety jakichś gnomów, zapewne spokrewnionych z Zenkiem.
Chociaż... Kto wie? Wszystkie gnomy wyglądają podobnie...

```

Nie jest najlepszy, ale to w końcu tylko przykład, nie? ;) Następnym krokiem będzie sprawdzenie wszelkich błędów i polskich literek. Gdy już wszystko jest na tip top możemy zabrać się za przerzucanie opisu na muda. Osoby, które opanowały pisanie na tablicach czy w księgach na mudzie poradzą sobie znakomicie, gdyż działa to na tej samej zasadzie. Jeśli jednak ktoś nigdy żadnych tablic nie używał, niechaj uważa teraz i skupi się na niniejszym zagadnieniu. Wchodzimy sobie w tryb **edycji rooma** (o ile w nim nadal nie jesteśmy) za pomocą komendy

```
redit 40000

```

Następnie przechodzimy w tryb **edycji opisu** wpisując komendę

```
desc

```

Pojawia nam się okienko wpisywania tekstu:

```
-=========- Tryb DODAWANIA tekstu -===========-
 Wpisz .h na początku nowej linii - pomoc
 Kończenie - znaki '~' albo '@' w nowej linii.

```

Możemy teraz wyświetlić sobie pomoc wpisując komendę

```
.h

```

i wciskając enter. Pojawi nam się lista:

```
Sedit help (commands on blank line):
.r 'old' 'new'   - zastępuje tekst 'old' 'new'
                   (requires '', "")
.h               - pomoc (to co właśnie widzisz)
.s               - pokaż tekst
.f               - (zawijanie) formatowanie tekstu
.c               - czyszczenie tekstu
.ld <num>        - usuwanie linii o numerze <num>
.li <num> <str>  - wklejanie tekstu <str> do <num> linii
.lr <num> <str>  - zastępowanie linii <num> tekstem <str>
.e <komenda>     - wykona komendę mudową (na przykład look)
@                - koniec edycji

```

Teraz udajemy się do naszego edytora tekstu i kopiujemy sobie pierwsze zdanie. Wklejamy je w polu klienta i potwierdzamy enterem. Wracamy do edytora tekstu i robimy to samo z następnymi zdaniami. Można by skopiować całość od razu, ale jest jakiś limit znaków i zbyt duży tekst może obciąć. Gdy już wszystko skopiujemy możemy wpisać sobie

```
.s

```

aby zobaczyć jak to co wpisaliśmy wygląda. A nie wygląda to porządnie - jest nie równo i w ogóle. Powinniśmy teraz sformatować tekst komendą

```
.f

```

Po kolejnym wpisaniu

```
.s

```

ujrzymy już eleganckie:

```
String so far:
1. Znalazłeś się w niedużym przytulnym pokoju należącym do gnoma Zenka. Całe
2. pomieszczenie oświetlane jest przez trzaskający wesoło ogień z kominka. Na
3. ścianach wiszą portrety jakichś gnomów, zapewne spokrewnionych z Zenkiem.
4. Chociaż... Kto wie? Wszystkie gnomy wyglądają podobnie...

```

Gdy przytrafi nam się jakiś błąd lub chcemy coś zmienić możemy się bawić w jakieś wycinanie linijek czy też zastępowanie słowa innym słowem, jednak jest to pracochłonne i rzekłbym upierdliwe. Ja osobiście wole skasować wszystko komendą

```
.c

```

wrócić do Worda, zmienić co trzeba i przekleić całość jeszcze raz. Gdy już wszystko jest tak jak być powinno zatwierdzamy zmiany wpisując

```
@

```

i potwierdzamy enterem. W ten sposób przechodzimy z powrotem to trybu edycji rooma. Teraz gdy klikniemy sobie enter wyskoczy nam karta rooma wraz z opisem.

```
Description:
Znalazłeś się w niedużym przytulnym pokoju należącym do gnoma Zenka. Całe
pomieszczenie oświetlane jest przez trzaskający wesoło ogień z kominka. Na
ścianach wiszą portrety jakichś gnomów, zapewne spokrewnionych z Zenkiem.
Chociaż... Kto wie? Wszystkie gnomy wyglądają podobnie...
Name:       []
Area:       [  200] Chatka Zenka
Vnum:       [40000]
Sector:     [nieużywany]
Room flags: [none]
Characters: [builder]
Objects:    [none]

```

Zapiszemy sobie jeszcze na wszelki wypadek krainkę komendą

```
asave changed

```

a następnie możemy opuścić tryb edycji rooma wpisując

```
done

```

#### Łączenie lokacji

Czyli mówiąc po naszemu linkowanie roomów. Zanim jednak nauczymy się podłączać roomy, przydałoby się jeszcze ze dwa zrobić. Tworzymy je tak samo jak ten poprzedni - niechaj mają one vnumy 40001 i 40002. Gdy już to zrobimy możemy przystąpić do ich połączenia. A więc aby podłączyć room do rooma należy stać w jednym z nich i być w trybie

```
redit

```

wpisujemy w naszym przypadku

```
redit 40000

```

po czym wklepać kierunek, a następnie słowo link i vnum drugiego rooma. Przykładowo stojąc w roomie 40000 wklepujemy

```
north link 40001

```

To stworzy nam eleganckie obustronne przejście na północ. Gdybyśmy chcieli je skasować wpisalibyśmy

```
north delete

```

Zalecam ostrożność przy łączeniu roomów. Czasem zdarza się pomyłka, gdy coś źle podłączymy, a jej późniejsze znalezienie może doprowadzić do nerwicy. Przynajmniej ja tak mam... Te dwie komendy pozwolą nam łączyć w prosty sposób nasze roomy. Możemy się też pobawić w różne inne aspekty łączenia lokacji takie jak drzwi, klucze, nazwy, opisy kierunków itp. To już od was zależy. Temat wyjść z lokacji jest bardzo ładnie opisany w helpie do OLC – polecam lekturę.;)

##### Dodatkowe opisy w lokacji

Czyli **extra descriptions**. Są to opisy podczepione do słów kluczowych w danych roomach. Przykładowo gdy napisaliśmy w opisie lokacji, że na ścianie wisi obraz, możemy dać możliwość przyjrzenia się mu przez gracza. Dodajemy więc słowo kluczowe "obraz" i nadajemy mu extra desc. Wtedy gracz po wpisaniu

```
look obraz

```

gracz otrzyma elegancki opisik. Niby nic ważnego, a cieszy. Szczególnie przydatne okazuje się to w momencie, gdy chcemy gracza naprowadzić na przykład na rozwiązanie questa, naprowadzić na dany kierunek za pomocą drogowzkazu itp. A robimy to tak... Gdy w **trybie redit** wpiszemy sobie słówko

```
ed

```

wyskoczy nam lista komend:

```
Składnia: ed add [keyword]
          ed edit [keyword]
          ed delete [keyword]
          ed format [keyword]

```

Wiadomo po nazwie do czego służą. Piszemy sobie więc na przykład

```
ed add obraz

```

i przerzuca nas w **tryb edycji opisu**. Piszemy opis obrazu, formatujemy jak w przypadku opisu lokacji i wychodzimy wpisując

```
@

```

Teraz po wpisaniu

```
look obraz

```

w tej lokacji wyskoczy nam opis, który dodaliśmy. Gdybyśmy chcieli go skasować wpisujemy

```
ed delete obraz

```

Ot cała filozofia.;)

#### Część V: Moby - czyli tryb MEDIT

Czymże jest chatka Zenka bez Zenka? Zajmiemy się teraz stworzeniem naszego pierwszego moba. Wiedzieć powinniśmy, iż moby na Killerze mamy naprawdę fajne i dopracowane w porównaniu do innych mudów. Wiąże się to jednak z dużą ilością możliwych ustawień, co z początku wydać się może przytłaczające. Zaraz jednak się przekonamy, że wcale takie nie jest. Wpisujemy więc dzielnie

```
medit create 40000

```

i zabieramy się do roboty!

```
Area:          [  200] Chatka Zenka
Name:          [no name]
Act:           [npc]
Vnum:          [ 9402] Plec:   [neutral]   Rasa: [unique]  Grupa: [0]
Poziom:        [ 0]    Align: [   0]      Hitroll: [ 0]
Punkty życia:  [ 0d0  +   0] [Min: 0   (  0/lev) Max: 0   (  0/lev)]
Obrażenia:     [ 0d0  +   0] ( 0-0  )   damdice
Umagicznienie: [ 0]   dammagic
Bonus na broń: [ 0]   damweapon
Rodzaj obrażeń:[none]   damtype
Flagi obrażeń: [none]   damflags
Cechy:         [str: 13  int: 13  wis: 13  dex: 13  con: 13  cha: 13  luc: 13]
Pancerz:       [kłujące: 100  obuchowe: 100  tnące: 100  inne: 100]
Form:          [none]   ? form
Parts:         [none]   ? parts
Affected by:   [none]   ? affect
Off:           [none]      ? off
Wielkość:      [medium]      ? size
Materiał:      [unknown]   Wealth: [   0]
Start pos:     [standing]    Default pos:   [standing]   ? position
Spec fun:      [brak specjalnych zachowań]   ? spec
Languages:     [wspolny]
Speaking:      [wspolny]
Corpse vnum:   [domyślny]    Skin Multiplier: [0%%]
Spells:        [brak czarów]
Short descr:   (no short description)
Long descr:
(no long description)
Description:
Dopełniacz:    [null                ] (kogo nie ma?)
Celownik:      [null                ] (komu się przyglądam?)
Biernik:       [null                ] (kogo widzę?)
Narzędnik:     [null                ] (z kim idę?)
Miejscownik:   [null                ] (o kim mówię?)

```

Tak wygląda pusta karta moba. Jego tworzenie praktycznie polega tak samo jak w poprzednich przypadkach na wypełnianiu jej pól. Możemy oczywiście robić to w dowolnej kolejności.

Standardowo zaczniemy sobie od pola **name**Jest to nazwa identyfikacyjna moba, na którą reagowały będą komendy. Może składać się z kilku członów w dowolnej kolejności. Wpisujemy zatem

```
name Zenek gnom

```

Dzięki temu będziemy mogli spojrzeć na Zenka zarówno poprzez

```
look Zenek

```

jak i

```
look gnom

```

W polu **act** ustawiamy ogólne zachowanie moba. Gdy wpiszemy

```
? act

```

pojawi nam się lista actów. Zenkowi możemy ustawić na przykład

```
act sentinel

```

co sprawi że będzie stał w miejscu oraz

```
act mage

```

dzięki któremu będzie zachowywał się jak mag czyli rzucał czarki, nie będzie świrował z bashowaniem itp.

Następną rzeczą jest **wybór płci** (male – samiec, female – samica) i **rasy**. Zenkowi ustawiamy

```
sex male

```

oraz

```
race gnom

```

Następnie wybieramy **poziom** odpowiedni dla trudności moba, decyduje on głównie o ilości expa. Dla takiego gnoma niegroźnego można ustawić na przykład

```
level 6

```

**Align** i **hitroll** możemy w tym przypadku zostawić.

Następnie musimy przemyśleć sprawę punktów życia oraz obrażeń **opierając się na levelu**. Jako że jest to mag nie powinien mieć za dużo hapków można policzyć 15hp na level, czyli w sumie ok. 90. Takiemu lepszemu barbowi policzylibyśmy już na przykład 25hp na level. Hapki wprowadzamy w systemie kostkowym np.

```
hitdice 1d10+90

```

czyli 1 rzut kością 10-cio ścienną + 90. Dzięki temu Zenek będzie otrzymywał od 91 do 100 hp przy resecie. Obrażenia, jako że jest to 6 levelowy mag ustawimy powiedzmy 2d3 komendą

```
damdice 2d3+0

```

Takie rzeczy jak umagicznienie ataku czy bonus na broń możemy sobie darować przy słabym mobie. Rodzaj obrażeń oczywiście uderzenie

```
damtype uderzenie

```

Gurthg: zawsze można również skorzystać z kalkulatora punktów życia moba.

**Staty**

Wpisujemy takie typowe dla maga. Robimy to poprzez wpisanie komendy stat i podanie ciurkiem parametrów w kolejności str, int, wis, dex, con, cha oraz luck. Magowi damy wysoki int i luck, średni wis a resztę słabą. Czyli piszemy

```
stat 14 23 20 16 14 22

```

na przykład. Pancerz czyli AC możemy zostawić. Pole parts ustawia się samo na podstawie rasy i nie powinniśmy nic zmieniać. No chyba że chcemy jakieś unikatowe stwory robić typu człowiek bez głowy.

**Affecty**

to stany, pod którymi znajduje się mobek. Ich listę zobaczymy po wpisaniu

```
? affect

```

Jako że Zenek jest gnomem powinniśmy ustawić mu widzenie w ciemnościach wpisując

```
affect infrared

```

Generalnie powinniśmy to ustawiać wszystkim rasom prócz ludzi.

**Offy**

to generalnie umiejętności jakimi włada mobek. Listę uzyskujemy, jak się zapewne domyślacie, wpisując

```
? off

```

Magowi trudno raczej coś tu ustawić.
Wielkość zostawiamy na medium w przypadku człekokształtnych. Materiał zostawiamy bez zmian, ustawiamy go tylko w wypadku golemów czy tam innych gargulców. Position możemy zostawić na standing jak również spec funy możemy sobie darować.

**Języki**

ustawiamy gnomowi prócz wspólnego krasnoludki i halfling komendami

```
lang kras

```

i

```
lang half

```

**Speaking**

standardowo możemy ustawić wspólny. Corpse vnum i Skin multiplier zostawiamy bez zmian.
Nastepnie, jako że jest to mag, dodajemy mu jakiś **czarki**. Prawie wszystkie czary dostępne dla graczy dostępne są dla mobów, jak również są czary, których u graczy się nie uświadczy. Wpisując

```
? spell

```

wyskoczy nam informacja o składni helpa czarów:

```
Skladnia: ? spells [ignore/attack/defend/self/object/all].

```

Chcielibyśmy dodać jakiegoś fraga, więc wpisujemy

```
? spell attack

```

aby uzyskać listę możliwych do przypisania czarów ofensywnych. Jako że Zenek pakerem nie jest, force bolta mu nie damy. Natomiast o flame arrowa czy blinda można się już pokusić. Piszemy zatem

```
spell flame arrow

```

i

```
spell blindness

```

Możemy mu też dodać jakiś czarek defensywny typu blur.
Teraz pozostała nam już czysta rozkosz czyli **opisy**. ;)

Zaczynamy przykładowo od **shorta**. Jest to najkrótsza wyświetlana nazwa moba. Składa się zazwyczaj z jednego bądź dwóch słów. Jest używana na przykład w opisach walki. Naszemu mobowi możemy ustawić

```
short Zenek

```

albo ewentualnie

```
short gnom Zenek

```

jak tam się komu podoba.
Następną rzeczą jest odmiana. Postępujemy podobnie jak w przypadku tworzenia postaci odmieniając short desc przez przypadki. Dla Zenka będziemy wpisywali kolejno takie komendy:

```
od do Zenka

```

```
od ce Zenkowi

```

```
od bi Zenka

```

```
od na Zenkiem

```

```
od mi Zenku

```

Jeśli jednak ustawiliśmy short desc jako gnom Zenek powinniśmy odmienić oba wyrazy. Nie ma lekko.

Kolejną rzeczą jest **long**. Jest to opis wyświetlany pod opisem lokacji tj. np. "Mieszkaniec miasta przechadza się po ulicy." Zenkowi ustawiamy coś w stylu

```
long Gnom Zenek stoi tu przypatrując ci się podejrzanie.

```

Świadomie wyraz "ci" napisany jest z małej litery. Broń boże nie pisać z dużej. To nie jest list i nie stosujemy formy grzecznościowej. W końcu nie wiadomo kto siedzi po drugiej stronie. ;)
No i ostatnią rzeczą jest tradycyjny **description**. Wpisujemy je identycznie jak w wypadku wpisywania opisu lokacji, czyli wpisujemy

```
desc

```

edytujemy opis (min 3 linijki dla moba) i potwierdzamy komendą

```
@

```

No i właściwie mob gotowy. Zapisujemy standardowo sobie

```
asave changed

```

Z trybu edycji wychodzimy komendą

```
done

```

Teraz możemy go sobie załadować jednorazowo komendą

```
load mob 40000

```

Później nauczymy się ustawiać ładowanie mobów przy **resecie**. Pierwej jednak zrobimy Zenkowi szafeczkę, krzesełko, sztylecik i kubraczek.

Na sam koniec nasz mobik będzie wyglądał tak:

```
Area:          [  200] Chatka Zenka
Name:          [Zenek gnom]
Act:           [npc sentinel mage]
Vnum:          [ 9402] Plec:   [samiec ]   Rasa: [gnom]  Grupa: [0]
Poziom:        [ 6]    Align: [   0]      Hitroll: [ 0]
Punkty życia:  [ 1d10 +  90] [Min: 91  ( 15/lev) Max: 100 ( 16/lev)]
Obrażenia:     [ 2d3  +   0] ( 2-6  )   damdice
Umagicznienie: [ 0]   dammagic
Bonus na broń: [ 0]   damweapon
Rodzaj obrażeń:[none]   damtype
Flagi obrażeń: [none]   damflags
Cechy:         [str: 14  int: 23  wis: 20  dex: 16  con: 14  cha: 22  luc: 13]
Pancerz:       [kłujące: 100  obuchowe: 100  tnące: 100  inne: 100]
Form:          [edible sentient biped mammal warm]   ? form
Parts:         [head arms legs heart brains guts hands feet fingers ear eye bones]   ? parts
Affected by:   [infrared]   ? affect
Off:           [none]      ? off
Wielkość:      [medium]      ? size
Materiał:      [unknown]   Wealth: [   0]
Start pos:     [standing]    Default pos:   [standing]   ? position
Spec fun:      [brak specjalnych zachowań]   ? spec
Languages:     [wspolny krasnoludzki halfling]
Speaking:      [wspolny]
Corpse vnum:   [domyślny]    Skin multiplier: [100%]
Spells:       [  'flame arrow' 'blindness' ]
Short descr:   Zenek
Long descr:
Gnom Zenek stoi tu przypatrując ci się podejrzanie.
Description:
Dopełniacz:    [Zenka               ] (kogo nie ma?)
Celownik:      [Zenkowi             ] (komu się przyglądam?)
Biernik:       [Zenka               ] (kogo widzę?)
Narzędnik:     [Zenkiem             ] (z kim idę?)
Miejscownik:   [Zenku               ] (o kim mówię?)

```

## Część VI: Przedmioty - czyli tryb OEDIT

Kolejną ważną rzeczą po lokacjach i mobach są obiekty. Czym są tłumaczyć chyba nie trzeba. Obiektami są ubranka, bronie, meble i inne rzeczy materialne. W tryb edycji obiektu wchodzimy bardzo podobnie jak w poprzednio, wklepujemy zatem **oedit create 40000** i widzimy kartę obiektu.

```
Name:         [no name]
Area:         [   10] Chatka Zenka
Dopełniacz:   [null] (czego nie ma?)
Celownik:     [null] (czemu się przyglądam?)
Biernik:      [null] (co widzę?)
Narzędnik:    [null] (czym się posługuję?)
Miejscownik:  [null] (o czym mówię?)
Vnum:         [40000]
Type:         [trash] ? type
Wear flags:   [none] ? wear-loc
Extra flags:  [none] ? extra
Exwear flags: [none] ? exwear
Material:     [unused]  material
Condition:    [   75]
Weight:       [    1] (0.05 kg)
Cost:         [    1]
Bonus set:    [    0]
Rent/day:     [    0]
Liczba:       [pojedyńcza]
Short desc:   (no short description)
Long desc:

```

Załóżmy, że robimy sztylet. Szybciutko wpisujemy opisy zupełnie jak poprzednio.

```
Name:         [sztylet gnomi]
Area:         [   10] Chatka Zenka
Dopełniacz:   [sztyletu] (czego nie ma?)
Celownik:     [sztyletu] (czemu się przyglądam?)
Biernik:      [sztyletu] (co widzę?)
Narzędnik:    [sztyletu] (czym się posługuję?)
Miejscownik:  [sztylecie] (o czym mówię?)
Vnum:         [40000]
Type:         [trash] ? type
Wear flags:   [none] ? wear-loc
Extra flags:  [none] ? extra
Exwear flags: [none] ? exwear
Material:     [unused]  material
Condition:    [   75]
Weight:       [    1] (0.05 kg)
Cost:         [    1]
Bonus set:    [    0]
Rent/day:     [    0]
Liczba:       [pojedyńcza]
Short desc:   gnomi sztylet
Long desc:
     Na ziemi dostrzegasz niewielki miedziany sztylet.
Item desc:
Ogladasz dokladnie niewielki gnomi sztylet. Jego ostrze wykonane jest z
miedzi a rekojesc z drewna sosnowego bodajze. Na ostrzu dostrzegasz prosty
wzorek. Jest to sztylet nienajgorszy, chociarz troche tandetny.

```

Następnie ustawiamy **type** obiektu. Jest to chyba najważniejsza właściwość przedmiotu, gdyż mówi ona do czego dany obiekt będzie służył. Listę typów otrzymamy po wpisaniu **? type**, jak można się było domyśleć. Dla sztyletu wybieramy oczywiście **type weapon**. Gdy to zrobimy na dole karty pojawią się dodatkowe opcje związane z danym typem, czyli w naszym wypadku z bronią.

```
[v0] Klasa broni:               exotic   ? wclass
[v1] Liczba kostek:             [0]
[v2] Liczba ścian kostki:       [0]
[v3] Rodzaj zadawanych obrażeń: none   ? weapon
[v4] Właściwości specjalne:     none   ? wtype
[v5] Bonus do trafienia:        [0]
[v6] Bonus do obrażeń:          [0]

```

Klasę broni ustawiamy sztyletowi wpisując **v0 dagger**. Topór by miał axe, miecz sword i tak dalej. Następnie powinniśmy przemyśleć kwestię obrażeń. Jako że najlepsze sztylety mają średnie nie większe niż 7, a dodatkowo ten jest dość kiepskawy możemy mu dać kostki ze średnią ok. 5. I tu przyda się znajomość kostek, może to być na przykład 3d2+1 co da obrażenia od 4 do 6. Żeby wpisać coś takiego ustawiamy liczbę kostek na 3, liczbę ścian kostki na 2 i bonus do obrażeń na 1, czyli wpisujemy kolejno potwierdzając enterem komendy: **v1 3**, **v2 2** i **v6 1**. Potem jeszcze tylko rodzaj zadawanych obrażeń wpisujemy dla sztyletu **v3 dźganie**. Resztę możemy zostawić, gdyż jest to zwyczajny sztylet.

Teraz musimy jeszcze powrócić do głównej karty i ustalić resztę właściwości. Ważne jest ażeby ustawić odpowiednie **flagi wear**. W naszym przypadku koniecznie musimy ustawić **wear take**, aby można było podnieść sztylet z ziemi oraz **wear wield**, aby można było go dobyć. Flagi extra nie musimy w tym wypadku ustawiać. W **exwear** jeśli chcemy możemy ustawić, aby sztyletu mogły dobywać tylko gnomy, przez wpisanie **exwear onlygnom**. Możemy się też pobawić w różne kombinacje ras i profesji np. gnom druid itp.

Następnym krokiem jest ustalenie **wagi** przedmiotu. Jedna jednostka to około 0,05kg ustawimy. Taki sztylecik ciężki nie jest wiec ustawimy z pół kilo, czyli **weight 10**. Meteriał oczywiście ustawiamy **material miedz** albowiem w opisie wcześniej wspomnieliśmy, że jest to sztylet z miedzi. **Cost** i **rent** musimy już wyznaczyć na podstawie własnej jak najbardziej obiektywnej oceny. Ja osobiście ustawiłbym temu sztylecikowi **cost 24** i **rent 2**. Oczywiście jednostki w monetach.

Po wciśnięciu entera uzyskamy widok gotowego sztyletu:

```
Name:         [sztylet gnomi]
Area:         [   10] Chatka Zenka
Dopełniacz:   [sztyletu] (czego nie ma?)
Celownik:     [sztyletu] (czemu się przyglądam?)
Biernik:      [sztyletu] (co widzę?)
Narzędnik:    [sztyletu] (czym się posługuję?)
Miejscownik:  [sztylecie] (o czym mówię?)
Vnum:         [40000]
Type:         [weapon] ? type
Wear flags:   [take wield] ? wear-loc
Extra flags:  [none] ? extra
Exwear flags: [onlygnom] ? exwear
Material:     [miedź]  material
Condition:    [   75]
Weight:       [   10] (0.45 kg)
Cost:         [    1]
Bonus set:    [    0]
Rent/day:     [    0]
Liczba:       [pojedyńcza]
Short desc:   gnomi sztylet
Long desc:
     Na ziemi dostrzegasz niewielki miedziany sztylet.
Item desc:
Ogladasz dokladnie niewielki gnomi sztylet. Jego ostrze wykonane jest z
miedzi a rekojesc z drewna sosnowego bodajze. Na ostrzu dostrzegasz prosty
wzorek. Jest to sztylet nienajgorszy, chociarz troche tandetny.

[v0] Klasa broni:               dagger   ? wclass
[v1] Liczba kostek:             [3]
[v2] Liczba ścian kostki:       [2]
[v3] Rodzaj zadawanych obrażeń: dzganie   ? weapon
[v4] Właściwości specjalne:     none   ? wtype
[v5] Bonus do trafienia:        [0]
[v6] Bonus do obrażeń:          [1]

```

I to już właściwie wszystko, czego potrzebujemy aby sztylet działał. Standardowo zapisujemy krainkę poprzez **asave changed** i możemy opuścić tryb edycji poprzez **done**.

Dla wprawy możemy jeszcze zrobić Zenkowi jakiś mebel. Niechaj będzie to łóżeczko. Wpisujemy o**edit create 40001**, wpisujemy wszystkie opisy i odmianę po czym ustawiamy **type furniture**. Tym razem dodatkowa tabelka wygląda tak:

```
[v0] Max użytkowników:  [0]
[v1] Max obciążenie:    [0]
[v2] Flagi mebla:       none   ? furniture
[v3] Bonus do leczenia: [100]   podajemy w procentach 100 - oznacza normalne leczenie
[v4] Bonus do many:     [100]   na killerze parametr nieużywany

```

Jak się domyśleć można jest to tabelka z właściwościami takich mebli jak łóżka, krzesła czy szafki. Pierwsze dwie wartości ustawiamy na logikę według uznania. Jako że gnomie łóżko wielkością nie grzeszy będzie ono miało na pewno nie więcej niż jednego użytkownika i nie więcej jak 100kg obciążenia. Jak się nietrudno domyślić ustawiamy to wklepując **v0 1** oraz **v1 100**. Następnie przypisać musimy specjalną meblową flagę mówiącą o tym, co można z tym meblem zrobić. Gdy wpiszemy komendę **? furniture** wyświetli nam się lista owych flag. Dla naszego łóżeczka wpisujemy **v2 sleep\_in**, **v2 rest\_on** oraz **v2 sit\_on**. Teraz pozostaje nam **bonus do leczenia**. Możemy tu ustawić przykładowo **v3 110**. Bonusa do many nie ruszamy, ponieważ i tak do niczego on nie służy.

Następnie pozostaje nam uzupełnienie typowych dla obiektu właściwości takich jak waga materiał itp. Tak samo jak w przypadku sztyletu z tą tylko różnicą, że nie wpisujemy dla mebli flag take ani wear. Przenośnych łóżek ma na Killerze nie być. Takie ustalenie.

Standardowo zapisujemy krainkę poprzez **asave changed** i możemy opuścić tryb edycji poprzez **done**.

## Część VII: Resety

Jak do tej pory udało nam się stworzyć i elegancko opisać lokacje, moby i przedmioty. Jednak aby pojawiały się w lokacjach musimy ustawić co, gdzie i jak. Do tego służą właśnie **resety**. Stajemy więc sobie w roomie w którym chcemy to wszystko ustawić (w naszym przypadku 40000) i wpisujemy **reset**. Wyskoczy nam informacja, że w roomie nie ma jeszcze żadnych resetów. Gdy wpiszemy komendę **help reset** pojawi nam się tabelka składni:

```
Syntax: RESET <number> OBJ <vnum> <location on body>    - equips last mobile
        RESET <number> OBJ <vnum> inside <obj vnum>     - store in container
        RESET <number> OBJ <vnum> room                  - store in room
        RESET <number> MOB <vnum> [<max #>]             - load a mobile
        RESET <number> CHANCE <number>                  - chance to load
        RESET <number> DELETE                           - delete a reset

```

Wygląda być może trochę groźnie, ale da się opanować. Pierwsza linijka służy do umieszczania obiektu na mobie. Druga do umieszczania obiektu w innym obiekcie (w skrzyni albo do szafki). Trzecia do umieszczania obiektu bezpośrednio w roomie. Czwarta do umieszczania moba. Piąta do kasowania wszystkich innych resetów. Szósta do ustawiania losowych wyjść. (?) Natomiast siódma do ustawiania prawdopodobieństwa wystąpienia któregokolwiek z resetów.

Bardzo ważną rzeczą w resetach ich jest **kolejność**. Szczególnie przy ubieraniu mobów. Najpierw powinny ładować się obiekty leżące na ziemi, potem musi się ładować mob a potem rzeczy, które ma przy sobie. Potem ewentualnie następny moby i znowu to co ma na sobie. Czyli przykładowo, gdy chcemy w lokacji załadować strażnika, dwóch mieszkańców i fontannę ładujemy kolejno fontannę, strażnika, jego przedmioty, mieszkańca i jego przedmioty, drugiego mieszkańca i jego przedmioty, oczywiście.

My chcemy sobie załadować łóżko i moba Zenka z gnomim sztyletem w ręku. Będziemy postępować wedłóg powyższej kolejności, wpisujemy więc najpierw **reset 1 obj 40001 room**. Sprawi to ze przy resecie będzie ładowało się łóżeczko w roomie. Następnie **reset 2 mob 40000 1 1** – to załaduje Zenka, przy czym Zenek może być tylko jeden w lokacji i w kraince. Potem **reset 3 obj 40000 wield** – co sprawi ze Zenek dostanie w łapkę sztylecik.

Teraz zapisujemy sobie krainkę **asave changed** i robimy reset rooma wpisując **redit reset**. Jeśli wszystko pójdzie dobrze pojawi nam się łóżeczko a obok niego Zenek ze sztyletem.

## Część VIII: Gdy już wszystko gotowe

W końcu doszliśmy do momentu, w którym jesteśmy w stanie stworzyć w pełni funkcjonalną standardową krainę. Potrafimy tworzyć i łączyć lokacje oraz zasiedlać je mobami wyekwipowanymi w nasze przedmioty. Wszystko oczywiście ładnie i elegancko opisane. Możemy poprzestać na tym momencie, jednak w naszej krainie tak naprawdę nic ciekawego nie będzie się działo. Moby będą sobie chodziły, będą widoczne zjawiska pogodowe i tyle. Tak naprawdę może tu się jednak dziać praktycznie wszystko, co sobie wymyślimy. Możemy sprawić aby liście drzew powiewały co jakiś czas na wietrze, żeby kaczki kwakały lub aby z karczmy nieopodal dochodziły śmiechy pospólstwa. Możemy stworzyć tajne przejście, które otwiera się po naciśnięciu dzwigni. W końcu możemy zaplanować całego mniej lub bardziej rozbudowanego questa. Wszystko to i jeszcze wiele innych rzeczy możemy zrobić za pomocą progów, czyli krótkich programów w krainkach. Warto prócz standardowych umiejętności przyswoić sobie podstawowe informacje na temat progów jeśli chcemy aby nasze krainki naprawdę coś wnosiły. Jednak wiedza o progach jest dość obszerna i jest to temat na cały kolejny poradnik.

Mam nadzieję, iż niniejszy poradnik stanie się pomocnym narzędziem w rękach młodych twórców. Oczywiście nie zawiera on całej wiedzy o budowaniu, dlatego powinno używać się go wraz z helpem oraz innymi informacjami zawartymi na stronie głównej. Mam nadzieję że będzie on pomocny i chodź trochę ułatwi Wam poznawanie tajników budowania na naszym pięknym mudzie – Killerze.