Killer Wiki/OLC - Budowanie

# OLC, czyli OnLine Creator

OLC, czyli OnLine Creator

OLC - on line creator - jak sam nazwa tłumaczy służy do noszenia granatów. Taaa....

Kurcze, to chyba było o chlebaku. Nieważne.

OLC - jedyne narzędzie dzięki któremu można zbudować kawałek naszego świata

## Wstęp - parę słów o tym jak dobrze budować

#### Podstawy budowania

Poza jednym wypadkiem nigdzie nie piszemy w desc, progach czy gdziekolwiek form takich jak: ci, tobie, wam, wy z wielkiej litery! Z malej ma być, tak jak tutaj ci to ci, ty to ty a tobie to tobie. Cieszę się, że jest w was tyle szacunku do bliźnich, ale Killer to NIE list, nie stosujemy tutaj formy grzecznościowej. Proszę o tym pamiętać.

Tak, wiem że w wielu miejscach są te formy z wielkiej litery, to JEST BŁĄD i proszę to zgłaszać komenda typo podczas gry. Gwarantuję że szybko wyłapiemy i poprawimy.

Możecie używać form grzecznościowych jedynie w wypadku jeżeli to jest konieczne (np. zrobiliście list z treścią, no i tak powinny już być zachowane formy grzecznościowe).

#### Moby

Odmiana oraz short desc zawsze z małej litery, inaczej nigdy! Wielka literę stosujemy tylko w wypadku kiedy odmieniamy imię, lub w short/odmianie występuje imię/nazwa własna/ksywa. Dlaczego? Bo wszędzie kod przystosowany jest do wykorzystywania w tych wypadkach małych liter. Jak będą potrzebne duże to kod sobie poradzi i zrobi duże, nie róbcie tego za niego.

Czy "Zmasakrowane ciało rybaka leży tu i gnije" nie wygląda lepiej niz. "Zmasakrowane ciało Rybaka leży tu i gnije" ?

#### Opisy

Room - Minimum cztery opisu, dobrze żeby była zawsze jedna więcej.

Obiekty i moby - Minimum trzy linijki, dobrze żeby była jedna więcej.

#### Opisy dodatkowe

Tam gdzie to możliwe oraz sensowne starajcie się dawać dodatkowe opisy lokacji i przedmiotów, czyli takie które reagują na wpisanie jakiegoś określonego słowa.

Na przykład macie sobie przedmiot **kryształowy miecz** i jeśli dodacie mu oprócz opisu przedmiotu jeszcze opis klingi:

```
ed add klinga

```

to gracz wpisując

```
look klinga

```

zobaczy taki dodatkowy opis.
Proszę o tych wszystkim pamiętać...

2004-06-03 Garloop

poprawki uaktualniające (11-2021): Zeddicus

### Autorzy

Nie wszyscy z wymienionych dokonali "równego" wkładu, ale przecież nie będziemy się licytować na poszczególne słowa. Wielu z tych, którzy dokonali drobnych wpisów na tyle drobnych, że zapomnieliśmy ich tu wymienić. W każdym bądź razie wszyscy są w jakiś sposób autorami:

Wtrącenie z 2021 roku: To jest lista ludzi którzy zajmowali się kodem muda, z 2004 roku. Od tamtego czasu lista autorów na pewno się wydłużyła. W 2013 roku kod został upubliczniony a dotychczasowi autorzy wycofali się z dalszego rozwijania muda a serwer został wyłączony. W 2014 został uruchomiony nowy serwer na bazie udostępnionego kodu. Od tego czasu do chwili obecnej rozwojem muda i kodem Killera zajmuje się **Karlam**. Część z wymienionych poniżej osób nadal jest aktywna, czy to jako budowniczy, czy po prostu na Killerowym Discordzie.

Alfabetycznie:

* Deggial
* Furgas
* Garloop
* Gurthg
* Kainti
* Maro
* Razor
* Tahu
* Vovin
* Void

### Prawa autorskie

To co tu jest napisane zostało stworzone przez **Maro**, **Vovina** i w mniejszej części przez **Razora**, który naskrobał parę zdań o progach. Taa, no i należy do nas, czyli do hmm, jak nas nazwać ludzi zajmujących się killerem. Będziemy dawać helpa wszystkim naszym builderom, bez żadnych ograniczen i tak dalej, ale to jest nasze i nie bardzo bym sobie życzył, żeby ktoś tego bez naszej zgody używał jako helpa dla builderów na swoim mudzie, pakował gdzieś na stronę czy inne takie. To jest nasze z prostego powodu: "**BO MY TO NAPISALIŚMY**" i chcę żeby to zostało uszanowane.

### Zaczynamy

Na wstępie chciałem zaznaczyć, że mimo że OLC jest już w zasadzie na ukończeniu, więcej rzeczy do buildera nie mamy na razie zamiaru dodawać coś tam jednak zawsze się doda. Kiedyś ktoś rzucił taki tekst i po zastanowieniu trzeba się chyba z nim zgodzić, że najlepsze pomysły mają builderzy, więc jak macie jakiś to walcie śmiało, może się to wprowadzi. Mnóstwo rzeczy jest dobrze zrobione w oryginale kodu i części Razor nie poprawiał, tylko zostawił tak jak jest, są to takie typowe różne pierdoły, ale też i takie rzeczy, których nie robił bo nie było sensu sobie nimi głowy zawracać. No nie wiem do przykładów można wrzucić sektory - nie zmieniane bo po co, a przecież dobór sektorów w kodzie chyba wszystkich mudów poza może LP jest durnowaty, nie ma żadnego zastosowania i można by go zmienić. Więc jak ktoś ma wizję jakie mają być niech wali, heh (aa, ilość sektorów jest aqrat nieograniczona, w odróżnieniu na przykład od flag, aczkolwiek jak nam flag zabraknie to spox, Razor ma już plan, hueh - Olsen). Są jeszcze inne, inne rzeczy, nie wiem, rasy mobów na mudzie, też nie najmądrzejszy dobór i wiele innych, więc jak ktoś ma coś co zaproponowania niech wali. Jeśli chodzi o samego helpa, pisany jest trochę chaotycznie, może jest niepełny, jeśli uważacie, że coś trzeba dodać to po prostu nam to powiedzcie.

Maro

### Jak się u nas buduje?

Do robienie krainek na mudziku potrzebny jest sam mud, znaczy się krainy robi się on-line. Nie ma możliwości kreowania ich pod jakimś mzf'em czy jakim innym ustrojstwem. Format krain jest zbyt pozmieniany w stosunku do tego co oferują kreatory pod windę, żeby dało się jako sensownie to konwertować.

Okiej, więc na początek, żeby coś zacząć robić trzeba mieć przydzielony zakres vnumów, w jakich będziecie się poruszali w kraince, znaczy się kiedy otrzymujecie krainkę tadaa.are o zakresie vnumów 4500 4599 oznacza to, ze do dyspozycji macie 100 vnumów od 4500 (z 4500) do 4599 (z 4599), 4600 już nie jest wasz. W obrębie tych vnumów piszecie krainkę (jak ktoś się we vnumach nie zmieści, spox, doda się więcej). Vnumy (czyli virtual numbers) oznaczają, ze możecie tworzyć moby o numerach od 4500 do 4599, obiekty i roomy. Numery te są od siebie niezależne, znaczy może być mob 4500, room i obiekt, mud to rozróżnia, nie ma problemu. To samo dotyczy mobprogów, obiektprogów i roomprogów, też maja vnumy od 4500 do 4599. OLC (on line creator? - chyba takie tłumaczenie, nie chce mi się takich bzdetów sprawdzać) jest skonstruowane tak, ze kiedy jesteście w OLC możecie się tylko komunikować i w jakimś tam zakresie poruszać goto, kiedy chce się wyjść z kreatora trzeba wpisać @ - aby zakończyć ewentualna edycje jakiego opisu, jeśli edycji nie ma wystarczy done.

Zmiany w kraince zapisuje komenda asave area, albo asave <numer krainy> - numerem jest pozycja w area.lst, wywietlana po komendzie alist. Jeśli ktoś ma wyższe uprawnienia może użyć asave changed, asave world i ewentualnie copyover, copy nagrywa wszystkie zmiany i podnosi muda ze zmianami i po ewentualnej nowej kompilacji. Jeśli ktoś jednak robi czopy powinien zapytać ludzi czy może, to samo dotyczy shutdowna i reboota, choć tylko parę osób ma hasła, ponieważ copy przerywa wszystko i wywala z bufora na przykład tekst pisanej noty i inne takie atrakcje.

Hmm, to chyba wszystkie takie wstępne informacje, jeśli ktoś myśli, że coś tu powinienem napisać może do mnie skrobnąć. Nie będę tu opowiadał jak wygląda dokładnie format krain naszego mudzika, bo szkoda czasu i chyba nie ma sensu, wystarczy wiedzieć, że jest deko przykomplikowany, ale przejrzysty, nie ma takich pierdów (na pewnych mudach SA) jak progi w oddzielnym pliku. Wszystko jest w jednym pliku, no i to chyba tyle.

Okiej, dalej opiszemy (każdą sekcję pisze ktoś inny, znaczy ja dwie, Vovin jedną i Razor progi, do których ja coś tam dopisuję, jeśli chodzi o szczegóły) jak się buduje. Budowanie jest hmm, dosyć proste, szczególnie jeśli ktoś trochę już grał, trochę budował i takie tam, trzeba przezwyciężyć tylko, jeśli ktoś ma, przyzwyczajenia dajmy na to z envika, gdzie nic się nie ustawia, dla takich mobów na przykład, u nas ustawia się właściwie wszystko - mobik na 1szy level może wymiatać legiony i ten na 30 może ginąc w rundzie - oczywiście nie tak ma być, ale generalnie wszystko można ustawić i to nie na poziomie progów, a na poziomie progów to już można cuda niewidy.

Na początek security i co to w ogóle jest. Security jest to uprawnienie do edytowania krainek o security takim samym lub niższym. Znaczy się jak ja mam 9 mogę edytować wszystko, czego robił nie będę jeśli nie będzie trzeba, bo nie o to chodzi.

Każda krainka ma swoje security, u nas to jest przeważnie 1, 5 lub 9, ale to się zmieni. Jest to po to, żeby ktoś niepowołany nie robił zmian we wszystkich krainach. Kiedy otrzymujecie security 1 oznacza to, ze możecie edytować swoja krainkę (nawet jeśli ma security 9) - jestecie wpisani na listę builderów tam i wszystkie o security 1. Nie chcemy tu na razie nic ustalać, ale lepiej by było, jakby nawet jeśli ktoś ma możliwoć edytować tylko swoja krainkę, a w krainkach innych poprawiać tylko błędy, szczególnie literówki i tym podobne.

## O OLC ogólnie

W tym rozdziale będziemy chcieli pokazać wszystkie ogólne narzędzia które można używać w całym OLC.

Nie będzie to dotyczyło tylko zagadnienia A lub zagadnienia B, tylko raczej czegoś ... no wiecie ... ogólnego.

### Edytor pól typu "opis"

Jeśli chcemy wyedytować opis (przedmiotu, moba, czy czegokolwiek innego) wpisujemy najpierw odpowiednie słowo kluczowe po czym przechodzimy do trybu edycji description (czyli opisu).

Wygląda to mniej więcej tak:

```
-=======- Entering APPEND Mode -========-
 Type .h on a new line for help
 Terminate with a ~ or @ on a blank line.

>

```

Teraz tekst wpisuje się normalnie, tak jak ja teraz pisze, jeśli chce się w trybie edycji wydąć jakieś komendy wpisuje się je po ropce. Proponuje od razu na początku zapoznać się z helpem ".h". Po wpisaniu ".h" ukazuje nam się cos takiego:

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

```

No i działa tak jak jest napisane. Czyli jeśli chcemy wyraz chodnik zastąpić wyrazem chodnik wpisujemy:

 .h
 .s
 .f
 .c
 .ld 1
 .li 3 blabla
 .lr 3 Co by tu napisać

Znaczek "@" sam w linii kończy cała edycję.

### Kamienie szlachetne, półszlachetne i dekoracyjne

Do czego może być pomocna taka lista? Np do zbudowania questu opartego na danym kamieniu, znajdź i przynieś, mi czarny diament. Oczywiście nie musi być to tylko przynieć, może za jakieś kamienie niech ktoś coś robi z bronią, np za kamień i kasę, może ów kamień osadzić w głowicy, kto wie, możliwości jest wiele, bardzo wiele.

#### Jak w takim razie napisać proga w którym sprawdzimy czy to taki kamień jak chcialiśmy?

Ładowanie randomowych kamieni realizujemy za pomocą mob komendy oload:

```
mob oload gem <liczba>

```

dekoracyjne (1)

* agat mchowy
* agat paskowany
* agat oczko
* agat tygrysie oczko
* azuryt
* hematyt
* lazuryt
* malachit
* niebieski kwarc
* rodochrozyt
* obsydian
* turkus

polszlachetne (2)

* chalcedon
* chryzopaz
* cyrkon
* cytryn
* dymny kwarc
* gorski kryształ
* gwiezdny różowy kwarc
* jaspis
* kamien ksiezycowy
* karnelian
* krwawnik
* onyks
* sardonyks

fantazyjne (3)

* aleksandryt
* ametysy
* bursztyn
* chryzoberyl
* gagat
* jadeit
* koral
* turmalin

szlachetne (4)

* akwamaryn
* granat
* oliwin
* perla
* spinel
* topaz

drogie kamienie (5)

* czarny opal
* ognisty opal
* opal
* szafir
* wschodni ametyst
* wschodni topaz

klejnoty (6)

* czarny szafir
* diament
* gwiezdny rubin
* gwiezdny szafir
* hiacynt
* rubin
* szmaragd
* wschodni szmaragd

### Listy instancji

Często w czasie edycji naszej krainki zajdzie potrzeba odnalezienia określonej lokacji, przedmiotu bądź jakiegoś tam mobilesa. Do listowania wszystkich istniejących w danej kraine instancji każdego rodzaju służą komendy

 mplist
 olist
 oplist
 rlist
 rplist

### Sex Converter

Wcale nie chodzi tutaj o zmianę płci, tylko o umożliwienie w prosty sposób na używanie we wszystkich stringach opisów (short/long/desc/ident/... etc.) prostych zmiennych dzięki czemu opis w zależności od płci oglądającej osoby będzie się od siebie różnił.

Aby to wszystko działało należy zapisać w jakimkolwiek stringu:

```
<&tekst1/tekst2/tekst3>

```

gdzie odpowiednio:

* **tekst1** - płeć męska
* **tekst2** - płeć żeńska
* **tekst3** - brak płci

W celu poprawnego edytowania takich wpisów należy w wizconfig'u wyłączyć opcję sexconv, wtedy będzie się widzieć cały wpis, a nie tylko odpowiedni związany z płcią budującego.

`wizconfig sexconv` działa oczywiście jak przełącznik włączony/wyłączony.

## Kolory

Jak nietrudno zauważyć Killer MUD jest MUDem 32 bitowym, co znaczy, ze uzywa 32 milionów kolorów...

### Kolory - lekcja pierwsza

Kolorów używa się w bardzo prosty sposób, wybieramy jeden z kolorów (patrz nizej) i po prostu piszemy. Dla przykladu:

```
{rTo {Rjest {Btestowy {Croznokol{rorowy {ynapis{x

```

Najważniejsze, o czym musimy pamiętać to to, że przy wpisywaniu koloru nie używamy spacji, chyba, że jest to spacja między wyrazowa, ale wtedy może ona sie znalezc TYLKO przed lub po kolorze, nigdy przed i po.

To jest podstawowy błąd, jaki popełnia większość początkujących Twórców. Tak wiec, gdy wpiszemy:

```
te {y st

```

to w efekcie otrzymamy kolorowe:

```
te  st

```

Gdy wpiszemy:

```
{C test

```

otrzymamy:

```
test

```

(niepotrzebna spacja na poczatku), a gdy wpiszemy:

```
test {R test

```

wynikiem będzie

```
test  test

```

miedzy wyrazami beda 2, zamiast 1 spacji.

Poprawnie napisany text macie powyżej. Każdy kolor należy zamknąć, o czym poniżej.

Spis kolorów dostępny jest pod "help color":

### Zamykanie kolorów - lekcja 2

Kolory są stosowane powszechnie przez Twórców, jednak czasem pojawia się problem, jeżeli chodzi o zamykanie kolorów.

W większości przypadków należy to zrobić w ten sposób:

```
redit
name {wSrebrny{x test

```

Natomiast jeżeli używamy koloru w nietypowym miejscu, takim jak na przykład nazwa roomu, tell, say lub yell, **nie** należy zakańczać go znacznikiem `{x` tylko użyć resetu koloru odpowiedniego dla miejsca w którym piszemy.

Użycie `{x` powoduje zresetowanie koloru do standardowego koloru klienta muda (jasnoszary lub jasnozielony w zależności od klienta), co zwykle jest pożądane, ponieważ bazowy kolor tekstu w którym umieszczamy kolorowy element jest właśnie standardowym kolorem. Jednakże w przypadku wymienionych powyżej miejsc (oraz kilku innych, pełna lista poniżej) bazowy kolor od którego zaczynamy może być inny. Przykładowo jeżeli używamy koloru w progu w którym mob mówi do gracza `Przynieś mi {Rczerwoną{7 różę`, do resetowania koloru powinniśmy użyć znaczka `{7`, zgodnie z poniższą listą:

## Krainki

### Budowa i właściwości całej krainki

Po wpisanie **aedit** zaczynamy edycję krainki, oczywiście tej krainki w której się aktualnie znajdujemy. Jeżeli wciśniemi enter, dostaniemy wszystkie parametry krainki, które wyglądają mniej więcej tak:

```
Name:     [    1] KRAINA TRENINGOWA
File:     trening.are
Vnums:    [9401-9440]
Age:      [2]
ResetAge: [20]
Players:  [1]
Security: [0]
Builders: [All]
Locked :  [komentarz]
Flags:    [none]
Region:   [0]

```

Dla ułatwienia podam te, które nas w ogóle nie interesują: age, players, flags.

Całą resztę. możemy edytować, ale po kolei.

#### Zapisywanie Krainki

Wiadomo, że po ciężkiej pracy należałoby zachować wynik naszej pracy, ba, należy to robić jak najczęściej. Do zapisywania służy komenda **asave** która może przyjąc następujące parametry.

```
asave          - zapisuje konkretną krainkę
asave list     - zapisuje listę krainek
asave area     - zapisuje edytowaną krainkę
asave changed  - zapisuje wszystkie zmiany
asave world    - zapisuje Świat! (długo)

```

W trybie edycji wystarczy wpisać **asave area** i należy wpisywać to jak najczęściej.

#### Age

Wiek krainki, nie da się ustawić, generuje się samo, a oznacza nie mniej, nie więcej ile istnieje dana krainka. Czasem może być to mylące, bo nie wszystkie krainki są zakładane wtedy kiedy są budowane. Ogólnie pole nie ma żadnego znaczenia, jest tylko polem informacyjnym.

#### Builders

Lista builderów uprawnionych do wprowadzania zmian w krainie. Uwaga, krainkę mogą edytować również wszyscy ci, którzy mają wyższy poziom bezpieczeństwa (security).

Komenda działa na zasadzie przełącznika, wywołując ją z imieniem buildera którego nie ma na liście, dodajemy go. Natomiast jeżeli jest na liście, to zostaje on usunięty.

składnia:

```
builder

```

przykład:

```
builder gurthg

```

#### Credits

W to pole wpisujemy adres e-mail buildera(ów).

składnia:

```
credits

```

przykład:

```
builder gurthg.shae+chm@gmail.com

```

#### File

Nazwa krainy, które może się składać z maksymalnie ośmiu liter lub cyfr. Nie można używać znaku podkreślenia. System nie pozwala na nazwy plików które już istnieją. Nazwę pliku podajemy bez rozszerzenia ".are", zostanie ono automatycznie dopisane przez system.

Sugerowany system nazewnictwa to taki, w którym pierwsza część nazwy jest powiązana z obszarem w którym występuje krainka, np. carrtart - czyli Tartak koło Carrallak.

składnia:

```
filename

```

przykład:

```
filename limbo

```

#### Flags

pokazuje stan krainki, czyli np "changed" jeżeli kraina jest zmieniona względem tego co na dysku, generalnie jest to pole informacyjne i nie zmieniamy jego zawartości.

Możliwe wartości:

* none
* changed
* added
* loading
* random

#### Name

Nazwa krainki , znaki przed nazwą mają swoje znaczenie:

* znaczenie znaczków przed nazwą
* + - krainka podpięta
* +# - krainka podpięta i sprawdzona
* # - krainka sprawdzona
* \* - krainka oczekująca na sprawdzenie

Bardzo proszę oznaczać krainy skończone, oraz umieszczać informacje na tablicy w pokoju 10000.

składnia:

```
name

```

przykład:

```
name Moja ulubiona kraina

```

ustawi nazwę krainki na "Moja ulubiona kraina"

#### Players

Pole pokazuje liczbę graczy aktualnie przebywających w krainie. Pole jest pole informacyjnym i jako takie jest nieustawialne.

#### ResetAge

Pole służy do ustawiania czasu resetu krainki. Jedna jednostka to 2 ticki. Jeżeli nie wiecie dokładnie jak zbalansować czas resetu względem trudności krainki, raczej nie zmieniajcie tego pola.

składnia:

```
resetage

```

przykład:

```
resetage 12

```

spowoduje, że krainka będzie resetowana raz na mudowy dzień.

#### Security

Poziom bezpieczeństwa, nowe krainki powinny mieć 2, krainki skończone i podpiętę powinny mieć 9, niezależnie od poziomu bezpieczeństwa builder zawsze może edytować swoje krainy.

Oczywiście nie da się ustawić wyższego poziomu bezpieczeństwa niż sami dysponujemy.

składnia:

```
security

```

przykład:

```
security 5

```

#### Vnums

W tym polu określamy dostępne do budowanie vnumy. Nie zaleca się używania tej komendy na już istniejących krainkach, chyba, że dokładnie wiemy co chcemy uzyskać.

składnia:

```
vnum

```

przykład:

```
vnum 900 910

```

Dodatkowo możemy operować na samym niższym lub wyższym numerem, używając do tego odpowiedni lvnum oraz uvnum.

składnia:

```
lvnum
uvnum

```

przykład:

```
lvnum 900
uvnum 910

```

Uzyskane przedziały są identyczne.

#### Locked

składnia:

```
lock <powód>

```

Blokuje zapis krainy z podanego powodu (np. ktoś ją spolszcza offline)

```
lock

```

wpisanie lock bez tekstu odblokowuje krainę

przykład:

```
lock gurthg ustawia polskie znaki - offline

```

#### Region

Ze względu na stopień skomplikowania regiony omówione są w oddzielnym dokumencie.

### Składnia:

```
rmap generate <x> <y> [<lokacje>] [<gęstość>]
rmap edit
rmap show [<imię>]
rmap create [<imię>] <vnum startowy>

```

Mechanizm tworzenia randomowych mapek. Można je wykorzystać do stworzenia krainy (a dokładniej lokacji i połączeń między nimi - resztę trzeba zrobić samemu). Builderzy mają dostępną komendę rmap a dokładniej trzy jej opcje:

1. `rmap generate` - służy do wygenerowania losowej mapki, można podać kilka parametrów których wyjaśnienie można poczytać po wpisan
2. `rmap edit` - służy do edycji wygenerowanej mapki, można przebudować tą stworzoną lub narysować od nowa taką jaka nam się podoba.
3. `rmap show` - pokazuje aktualny stan wygenerowanej/edytowanej mapki.

Żeby przełożyć wygenerowaną mapkę na krainę i rzeczywiste lokacje należy poprosić jakiegoś Strażnika, Sędziego lub Lorda. Do tworzenia krainy służy opcja rmap create.

Aby kraina zapisywała się przy przeładowaniu należy w **aedit** usunąć flagę random i od razu najlepiej ustawić jakąś normalną nazwę pliku.

Składnia komendy - po wpisaniu **rmap** bez parametrów.

Maksymalny rozmiar mapki, zarówno tej generowanej jak i wyedytowanej to 100x100.

Furgas

### Regiony, czyli grupy krain

Pole liczbowe w area - region

* jeśli chcemy potraktować kilka krain (fizycznych) jako jedną krainę (np. na Arras składa się parę krain fizycznych) to ustawiamy w każdej składowej krainie ten sam numer regionu - komenda region w aedit
* region 0 - brak regionu
* komenda regions (poza aedit) pokazuje wszystkie regiony na mudzie i krainy składowe
* krainy połączone w region beda liczone jako jedna kraina w komendach takich jak yell, track, summon etc. - flaga stay\_area w act mobow dalej bierze pod uwagę krainy fizyczne

2004-05-29 Furge

## Lokacje

### Budowa i właściwości lokacji

Poruszamy się w obrębie vnumów 4500 4599, macie więc 100 roomów.

Nowy room tworzy się wpisując:

```
redit create <numer rooma>na przykład redit create 4500

```

Kiedy to wpiszecie przechodzicie do trybu edycji rooma, to samo się dzieje, kiedy room już został przez kogo (lub przez was) utworzony, a wy wpiszecie:

```
redit 4500

```

Teraz wystarczy wcisnąć enter i pojawia się wam opis rooma w formacie powiedzmy dostępny dla immosów (hmm, stat room jest deko inny). Jednym słowem pojawia się coś takiego:

Załóżmy, ze dano wam vnumy, jak już mówiłem 4500 4599 i nazwa jest Kopalnie Tyrmanda

```
Description:
Name: []
Area: [ 22] Kopalnie Tyrmanda
Vnum: [ 4500]
Sector: [inside]
Room flags: [none]
Characters: [maro]
Objects: [none]

```

Po lewej stronie jak widać jest nazwa rzeczy do ustawienia w roomie, a po prawej to co tam jest ustawione. W roomie ustawiacie tylko description, sector, flagi rooma, nazwę rooma, potem dodaje się resety, wyjścia, extra descriptions, ewentualnie jakie progi.

### Podstawowe własności lokacji

 Area
 Vnum
 Sector

Listę dostępnych typów terenu można uzyskać pisząc **sector help** w redit. Pojawi się wtedy lista z nazwami, oraz wpływem każdego rodzaju terenu na ubytek mv, przyrost hp w czasie odpoczynku, bonusy do zapamiętywania czarów i czas jaki się zużywa na przejście lokacji. Poza tym od rodzaju terenu zależą komunikaty związane z pogodą. W mieście np. deszcz bębni o dachy itp. Po prostu dla każdego rodzaju terenu zostały sporządzone różne opisy pogody.

### Flagi zakładane na lokacje

Flagi opisują typ rooma, w jakim się aktualnie znajdujecie, co można w tym roomie zrobić, no takie rzeczy, trudno mi to jakoś sensowniej zdefiniować (co chyba widać :)). Listę możliwych flag uzyskuje się wpisując ? room flag w trybie **redit**.

Flagi działają w trybie "przełączników" - kolejne wywołania komendy

```
room <flaga>

```

spowoduje włączenie bądź wyłączenie danej flagi.

#### NO\_HERBS

Standardowo w każdym rodzaju lokacji mogą być szukane zioła, to czy zostaną znalezione nie jest w tym momencie ważne, natomiast z jakiś powodów możecie nie chcieć w danej lokacji dopuścić do tego, żeby sobie tam rosły jakieś roślinki, zwane ziołami.

Do tego służy właśnie flaga **no\_herbs**.

**Użycie:** Będąc w trybie edycji lokacji (redit [vnum]) używamy komendy

```
room no_herbs

```

### Kto tu jest?

Dalej mamy sekcje Characters, która po prostu pokazuje jacy gracze **są** aktualnie w lokacji no i objects, pokazująca jakie przedmioty znajdują się aktualnie w lokacji. Co oczywiste nic się tu nie ustawia.

### Opis lokacji

Wracamy do edycji description. Jeśli chcemy wyedytować opis rooma (i jakikolwiek inny opis, przedmiotu, moba, czy czegokolwiek innego) wpisujemy najpierw desc i wduszamy enter. Przechodzimy do trybu edycji description.

Dokładny opis jak działa tryb edycji jest w rozdziale "O OLC".

#### Randomowe opisy lokacji

Spróbuję przybliżyć Wam coś co nazwałem randomowymi opisami lokacji. Załóżmy, że chcemy zrobić jakąś krainkę typowo do expowania. Niech to będzie jakiś lodowiec, góra lodowa. Ma on mieć dajmy na to 50 lokacji. Na pewno na myśl o ozdobieniu tych 50 lokacji różnymi opisami śniegu i lodu odechciewa się zabierać do roboty. Pewnie i tak każdy porobił by parę opisów i je tylko zmieniał deko lub w ogóle.

Randomowe desce mogą takie coś przyśpieszyć i dać lepszy efekt. A więc po kolei. Najpierw tworzymy krainke aedit create. Potem tworzymy szkielet roomów, czyli redit create 50 lokacji i łączymy je w jakies tam wymyślne zawijasy. Wszystkim lokacjom dajemy jakiś tam name, ustalamy flagi i sector. Teraz do skończenia lokacji brakuje nam tylko opisów. Komenda rdedit służy do tworzenia generatorów randomowych opisów które można podłączyć do lokacji.

```
rdedit create XXXX
Vnum: [XXXX]
Area: [ yyy] Jakas tam kraina
Rand Desc:

```

Dobra, jesteśmy w rdedit, zobaczmy jakie tu mamy komendy (wpisując 'commands'):

```
commands       create         show           list           ?
randdesc       adddesc        deldesc        eddesc         showdesc
listdesc       chgroup

```

Oprócz standardowych mamy: randdesc - przechodzimy do edytorka i piszemy generator opisu. Aby taki generator działał musi skądś brać opisy cząstkowe. Do zarządzania tymi opisami cząstkowymi służą pozostałe wymienione komendy. adddesc [grupa] - otwiera edytorek opisu o nazwie w grupie [grupa] (liczba). deldesc - kasuje opis cząstkowy eddesc - edycja opisu cząstkowego showdesc - pokazuje dany opis listdesc [grupa] - pokazuje listę opisów wraz z ich grupą można wylistować tylko konkretną grupę:

```
Nr Group Name
--- ------- --------
 1 1 01
 2 1 02
 3 1 03
..

```

chgroup - zmiana grupy danego opisu Dobra, załóżmy, że zrobiliśmy sobie 10 opisów w grupie 1 (wstępy do opisów lokacji), 10 opisów w grupie 2 (rozwinięcia opisu lokacji) i 10 w grupie 3 (i jakieś zakończenia). Teraz możemy skonstruować generator randomowych opisów. Wpisujemy randdesc i wchodzimy do edytora. Chcemy aby nasz randomowy opis zawierał losowy opis cząstkowy z grupy 1 potem z grupy 2 a na koncu z grupy 3. Oto kod takiego generatora:

```
#grouprand 1
#grouprand 2
#grouprand 3

```

I to wszystko:) Teraz taki generatorek możemy podpiąć sobie do wszystkich 50ciu lokacji w naszej krainie komendą: redit -> randday (opis dzienny) albo randnight (opis nocny). Teraz co reset krainy będą losowane nowe opisy na podstawie intrukcji w generatorze. Jak ktoś sobie chce obejrzeć krainę stworzoną taką metodą to zapraszam goto 19401. Lokacje z opisami zostały stworzone w pół godzinki:) Opisy cząstkowe preparował Azradun. UWAGI:

1. Opisy cząstkowe są przypisane do krainy a nie do generatora randomowego opisu jak to może sugerować obecność komend w rdedit. Każdy generator ma dostęp do wszystkich opisów cząstkowych zdefiniowanych dla krainy.
2. Opisy randomowe stworzone tak jak pokazano powyżej będą się zmieniać co reset krainki. Jeśli chcemy aby opis wyglądał inaczej przy każdym spojrzeniu na lokację to dajemy lokacji flagę randdesc i instrukcje generujące opis piszemy w desc lub nightdesc tej lokacji.
3. Między komendami generatora można też umieścić stałe elementy opisu. Na przykład jakieś zdanie. Ale trzeba pamiętać że każda sekwencja komend generatora musi zaczynać się od nowej linii i kończyć enterem. Co to jest sekwencja to w następnej notce.
4. Wygenerowane opisy są formatowane przez przypisaniem do lokacji/wyświetleniem graczom.OK. Mamy naszą lodową krainkę z randomowymi opisami. Ale załóżmy, że chcemy aby na przykład w lokacji numer 19401 14 dnia każdego miesiąca pojawiał się na końcu jakiś opis specjalny. Czemu nie. Dodajemy ten nasz specjalny opis cząstkowy do listy opisów: adddesc opis\_specjal 4 (w grupie 4) W naszym generatorku który wygląda tak:

```
#grouprand 1
#grouprand 2
#grouprand 3

```

Na końcu dodajemy linijkę:

```
#room == 19401 #day == 14 #show opis_specjal

```

I tyle. Dalej wszystkie lokacje mogą mieć ten sam generator ale tylko lokacja 19401 14 dnia każdego miesiąca będzie miała specjalny opis na końcu. Poniżej znajduje się lista komend generatora z wyjaśnieniami. Komendy generatora dzielą się na dwie grupy. Jedna służy do obsługiwania warunków druga do generowania opisu.

Dobra to tyle komend, teraz pare słów o tym co można umieścić w generatorze.

 2
 3
`#day == 1 #hour > 6 #show opis3[enter]`
 5
`#day == 1 #hour > 6 #show opis3 #else #hour < 3 #grouprand 2[enter]`
 7
`#pass #day == 3 #grouprand 3 %[enter]`
 9
`#pass Jakiś tam tekst ktory bedzie zawsze.[enter]`
albo po prostu
`[poczatek ilnii]Jakiś tam tekst ktory bedzie zawsze.[enter]`
Czyli w generowanym opisie pojawi nam się słowo w słowo ten tekst który wpisaliśmy.

To chyba wyczerpuje temat randomowych opisów. Można przystąpić do pisania krain :)

Furge

### Dodatkowe opisy w lokacji

Teraz cos o extra descriptions, czy tez jak ktoś woli inna nazwę, niech będzie, **są** to tak zwane słowa kluczowe (keywords). Extra descriptions są to opisy jakichś kluczowych rzeczy w roomie, które wiszą gdzieś, stoją jako znaki, drogowskazy czy cos podobnego. Kiedy da się look znak powiedzmy wyświetli nam się taki ekstra descriptions. Rożni się to o tyle od znaku przedmiotu w romie, ze nie trzeba go ładować tam. Żeby dokładniej zrozumieć co to jest proponuje udać się do krainy Feeriala, do roomu 6000 i wpisać look tablica i look drogowskaz, to jest właśnie to. Teraz jak się takie cuda robi:

Wystarczy wpisać ed właściwie żeby zrozumieć. Kiedy wpiszemy "ed" ukazuje się nam cos takiego:

```
Syntax: ed add [keyword]
 ed edit [keyword]
 ed delete [keyword]
 ed format [keyword]

```

Ok, aby dodać takie cuś wpisujemy (załóżmy, ze dodaje keyword "znak"):

```
ed add znak

```

Teraz edytuje (od razu ta komenda przerzuca mnie do trybu edycji opisu, który wyżej wytłumaczyłem). Pisze co tam chce, kończę "@". I sprawa jest zakończona. Jeśli chce skasować keyword z rooma wpisuje

```
ed delete znak

```

I to właściwie wszystko jeśli chodzi o keywordy.

### Wyjścia z lokacji

Teraz chwila o tym jak łączyć ze sobą poszczególne roomy. Zasadniczo sekcja tych komend nazywa się exits, należy wklepać nazwę kierunku (north/s/e/w) a następnie (najpierw nazwa kierunku, a potem to co pod spodem, heh):

 link [room vnum]
 room [room vnum]
 key [object vnum]
 name [door name]
 desc
 delete
 [exit-flags]

czyli całe polecenie wygląda na przykład:

```
north dig 4500
albo
north name brama
albo
north key 4500

```

Należy oczywiście pamiętać, żeby najpierw zrobić klucz, dać mu co najmniej wear take, a dopiero potem czynić go kluczem otwierającym jakie drzwi.

Przykład połączenia widzianego pod reditem:

```
-South to [ 3744] Key: [ -1] Exit flags: [door CLOSED bashed pickproof]

```

## Zmiana nazwy wyjścia.

Czasem zachodzi potrzeba, żeby wyjście w jakimś kierunku nie nazywało się "północ" a raczej "karczma". Żeby osiągnąć coś takiego używamy polecenia **vname**.

Składnia:

```
[kierunek> vname [nazwa>

```

Przykład:

```
north **vname** Karczma

```

Tak zapisane wyjście będzie widoczne pod nazwą "Karczma" i żeby z niego skorzystać, będzie trzeba użyć komendy "karczma" lub "go karczma".

#### Zmiana tekstów przy przejściu między lokacjami.

Za pomocą parametrów **textin** i **textout** można podpinać dowolne komunikaty, które będą pokazywane zamiast standardowych.

Składnia:

```
[kierunek] textin [tekst]
[kierunek] textout [tekst]

```

Uwaga w polu "tekst" mamy dostępną zmienną $n wraz z przypadkami po koleji: $z, $x, $c, $v i $b.
Przykład:

```
north **textin** $n wchodzi do karczmy.
north **textout** $n wychodzi z karczmy.

```

Tak napisane "textin" i "textout" spowodują zmianę standardowych tekstów na napisane powyżej.

#### Biernik nazwy wyjścia

W języku polskim używamy przypadków i najczęściej z jakimś działaniem związany jest inny przypadek. Jeżeli zamykamy lub otwieramy klapę to do opisu tego działania potrzebujemy biernika:

```
Ziutek otwiera klapę.

```

Mud umożliwia ustawianie biernika dla wejść używając komendy

```
[kierunek] biernik klapę

```

```
Składnia: [direction] biernik [string]
          [direction] biernik none

```

#### Ustawianie liczby dla wyjścia

W celu zapewnienie poprawności komunikatu za zamkniętym przejściu należy ustawić dla niego liczbę:

```
Składnia: [direction] liczba mnoga
          [direction] liczba pojedyńcza

```

### Komendy dodatkowe

#### rent rate

Określa on stawkę jaką będziemy płacić za rent w danym roomie. Czyli jeśli ustawimy redit, rent 150 to będziemy płacić o połowę więcej, a rent 50 o połowę mniej. Lokacja musi miec flage inn żeby można było ustawić rent rate.

#### forroom

Składnia:

```
forroom <vnum_od> <vnum_do> <komenda>

```

Pozwala na ustawienie sector dla wszystkim roomw między podanymi limitami vnumów.

### Moby i przedmioty ładowane do lokacji

Czas przejść do resetów. Resety w plikach krain są umieszczane jako oddzielna sekcja. Ogólnie resety definiują gdzie, jakie przedmioty, jakie moby, jakie przedmioty na jakich mobach powinny się pojawić.

Wystarczy wpisać help reset żeby pojawiło nam się cos takiego (jest tam help po angielsku, ale ja tu napisze swój, bo resety są u nas deko zmienione, hmm, no deko)

RESETS

```
Syntax:
RESET <number> OBJ <vnum> <location on body> - ekwipuje moba
RESET <number> OBJ <vnum> inside <obj vnum> - cos do pojemnika
RESET <number> OBJ <vnum> room - cos do pokoju
RESET <number> MOB <vnum> [<max #>] - ładuje moba
RESET <number> CHANCE <liczba> - zmiania szansę ładowania
RESET <number> DELETE - kasuje reset

```

Na początek może parę rzeczy, które oni sami tam napisali. Jeśli napisze się w roomie reset, pokażą się wszystkie resety (to poza trybem redit się wpisuje). Jeśli w trybie redit wpiszemy **? wear-loc** pokaże się nam lista dostępnych slotów, na jakie można mobikowi equipment załadować - wcześniej przedmiot musi mięć możliwość załadowania na ten slot.

Ok, tłumacze linia po linii, resety, zaczynając od góry, czyli ekwipowanie mobika. Żeby się nie pogubić opisze tu jakich vnumów i jakich przedmiotów, jakich mobów i jakich roomów będę używał:

```
**Roomy**:
4500 - jakiś tam room ;-)
**Moby**:
4500 - jakiś tam strażnik
**Obiekty**:
4500 - jakąś bron (halabarda)
4501 - książka
4502 - skrzynia

```

Załóżmy, ze mamy moba 4500, jakiegoś strażnika, w łapę chcemy mu dać bron, halabardę, o vnumie 4500 i do inventory książkę o vnumie 4501. Acha, właśnie mi się przypomniało, więc dopisuję. Chodzi o sklepy, jak zaopatrzyć gościa w sklepie, żeby sprzedawał przedmioty. Po pierwsze czeba go zrobić sklepikarzem (pod meditem pisze się shop i ustawia wszystkie szczegóły sklepu) potem wrzuca mu się do inventory to co ma sprzedawać. Jeśli chcemy żeby sprzedawał coś, hmm, bez końca, żeby mu się to nie wyczerpywało dajemy wszystkim takim przedmiotom dodatkowo flagę inventory. Hmm, no i jest sklep, to chyba wszystko. Oczywiście może sprzedawać jakąś rzecz tylko raz, czemu nie, przyda się niektórym do jakichś tricków. No, ale wracając do tego jak uzbroić strażnika:

Robimy to dwoma resetami:

```
reset 4500 obj 4500 wielded
reset 4500 obj 4501 none

```

Lista dostępnych slotów.
Teraz załóżmy inna sytuacje, załóżmy ze bron o vnumie 4500 (ta halabardę, chce umieścić w skrzyni o vnumie 4502, która stoi w pokoju o vnumie 4500) Robię to tak:

```
reset 4500 obj 4500 inside 4502

```

Ok, teraz obiekt do pokoju, czyli ładujemy skrzynie do pokoju (choć w ten sam sposób można tam umieścić halabardę). Leci tak:

```
reset 4500 obj 4502 room

```

Teraz ładujemy moba do pokoju. Wygląda to tak, przykładowo.

```
reset 4500 mob 4500 2 1

```

Liczby 2 1 są to przykładowe liczby. Pierwsza (2) oznacza, ze mobik może się załadować w świecie maksymalnie 2 razy (jeśli w resetach jest więcej mobików o tym roomie, to zostaną załadowane tylko 2 pierwsze) 1 oznacza, ze maksymalnie w roomie może być 1 taki mob.

Ostatnia sprawa to kasowanie reseta. Mam w tym roomie skrzynie na razie, która pokazuje mi się kiedy wpisze reset, oto co wtedy widzę:

Resets: M = mobile, R = room, O = object, P = pet, S = shopkeeper

```
No. Loads Description Location [%%] Vnum Mx Mn Description
============ ============= ============== ==== ======== ===== ===========
[ 1]O[ 4502] spora skrzyni in room 100 R[ 4500]

```

Aby ta skrzynie wywalić musze poda tylko numer reset, czyli:

```
reset 1 delete

```

(podajemy numer reseta z pierwszej kolumny)

No i reset skasowany

Tak zdefiniowane resety będą zawsze działać (jeśli tylko nie został przekroczony limit mobów w krainie czy świecie), jeśli jednak chcemy żeby na przykład przedmiot pojawiał się z prawdopodobieństwem 30% to możemy to także osiągnąć używając polecenia:

```
reset <numer reseta> chance [1-100 %]

```

numer reseta - to ten na którym chcemy zastosować prawdopodobieństwo

To chyba mniej więcej wszystko jeśli chodzi o to, co można zrobić w roomie.

## Przedmioty

### Komendy

Komendy dostępne w edicie wywołujemy poleceniem `commands`:

* ?
* addaffect
* addapply
* addcomment
* addprog
* bonus
* clone
* commands
* condition
* cost
* create
* delaffect
* delcomment
* delprog
* desc
* ed
* extra
* extra2
* exwear
* ident
* level
* long
* material
* name
* odmiana
* rent
* short
* show
* specdam
* trap
* type
* v0
* v1
* v2
* v3
* v4
* v5
* v6
* version
* wear
* weight

### Początek

No więc tego obiekty to są obiekty - musiałem jakoś zacząć, nie, a ze głupio? No to co, hreh. Ok, każdy chyba rozróżnia roomy, mobiki i obiekty, można wiec przejść do rzeczy.

Najprościej uczyć się na "mądrych" przykładach, przystępujemy więc do dzieła. Aby utworzyć jakiś obiekt, którego jeszcze nie ma (hmm ...) wystarczy podąć numer vnuma, jaki ma mieć dany obiekt, czyli przekładając to na język zrozumiały dla ludzi:

```
oedit create 4501

```

Teraz obiekt mamy zrobiony (hmm ???). No i można ustawiać mu jakie parametry tam nam się żywnie podoba. Wpisujemy oedit 4501, naduszamy enter i pojawia nam się takie oto coś (Przypominam, ze poruszam się przykładami w ramach krainy Kopalnie Tyrmanda, czaderska nazwa, co?, hreh):

```
Name: [no name]
Area: [ 23] Kopalnie Tyrmanda
Dopełniacz: [null]
Celownik: [null]
Biernik: [null]
Narzędnik: [null]
Miejscownik: [null]
Vnum: [ 4501]
Type: [trash]
Level: [ 0]
Wear flags: [take]
Extra flags: [none]
Extra2 flags: [none]
Exwear flags: [none]
Material: [unknown]
Condition: [ 100]
Weight: [ 1] 0.05 kg
Cost: [ 0]
Bonus set: [ 0]
Rent/day: [ 0]
Shortdesc: (no short description)
Longdesc:
 (no description)

```

Jak widać na załączonym obrazku obiekt do niczego się nie jeszcze nie nadaje i wszystko trzeba mu ustawić, nie ma rady.

Wpisujemy na przykład name, taki oto:

```
name włócznia drzewiec

```

Teraz przedmiot ma dwie nazwy, włócznia i drzewiec (prószę mnie nie pytać, co jedno ma wspólnego z drugim, już pisałem, ze przykłady są "bardzo mądre") i można go z ziemi, z plecaka (co, może w średniowieczu nie mieli plecaków? Prove it man!) czy skądś tam wziąć wpisując odpowiednio:

```
get włócznia
get drzewiec
get włócznia plecak

```

i inne takie tam pierdy.

Chyba w tym momencie wszyscy zrozumieli co to jest właściwie name. Jedziemy dalej. Area nie ruszamy, to jest takie pole informacyjne, gdzie dany przedmiot się ładuje, przechodzimy na koniec (choć kolejność oczywiście dowolna) do short description i long description). Short to jest to co, hmm, widzimy, kiedy damy 'list' w sklepie, look do inventory, to co, widzimy po poleceniu 'equipment', kiedy dana rzecz założymy. Załóżmy, ze nasza włócznia nazywa się Włócznia Touloldy, wpisujemy wtedy:

```
short Włócznia Touloldy

```

Long z kolei to jest to, co widzimy, kiedy przedmiot leży na ziemi, na przykład:

```
long Wielka włócznia stoi tu wbita trochę krzywo w ziemie.

```

Wracamy teraz na gore i robimy odmianę. Odmieniamy short description. Jeśli ktoś koniecznie chce niech odmienia name'a albo jeden z jego członów.

Jak się robi odmianę to już chyba każdy wie, no ale ...

```
odm dop (kogo?, czego? nie ma) włóczni Touloldy
odm cel (komu czemu? dać w ryj) włóczni Touloldy
odm bie (kogo, co widzę?) włócznię Touloldy
odm narz (z kim, z czym idę na spacer) włócznią Touloldy
odm mie (o, na, w kim, czym? się zamknąłem) włóczni Touloldy

```

oczywiście odmianę wpisujemy bez tych pierdol w nawiasach, czyli (to dla tępaków:))) No i odmianę zaczynamy z malej litery? Bo tak będzie używana w zdaniach. Odmiana jeszcze w pewnych miejscach nam nie funkcjonuje tak jak trzeba, ale to się zmieni. Ok., jak wpisujemy, wracając do tych tępaków :-) :

```
odm dop włóczni Touloldy

```

Teraz trzeba określić typ przedmiotu. Jeśli chce się uzyskać listę dostępnych typów przedmiotów w menu edycji przedmiotu czeba wpisać:

```
? type

```

i pojawię się nam cała lista.

No to teraz postaram się omówić mniej więcej co jest co:

Poniżej opisałem co dany typ rożnych przedmiotów oznacza. Generalnie, kiedy wybierzecie light czy cokolwiek innego, pojawia się wam values (v0,v1,v2,v3,v4) na dole jakie charakteryzują dany typ obiektu, wygląda to mniej więcej tak, załóżmy, ze mamy Pochodnie, kiedy damy jej typ light pojawi nam się cos takiego:

```
Name: [no name]
Area: [ 23] Kopalnie Tyrmanda
Dopełniacz: [null]
Celownik: [null]
Biernik: [null]
Narzędnik: [null]
Miejscownik: [null]
Vnum: [ 4503]
Type: [light]
Level: [ 0]
Wear flags: [none]
Extra flags: [none]
Extra2 flags: [none]
Exwear flags: [none]
Material: [unknown]
Condition: [ 100]
Weight: [ 0]
Cost: [ 0]
Bonus set: [ 0]
Rent/day: [ 0]
Short desc: (no short description)
Long desc:
 (no description)
[v2] Light: [0]

```

Jak widać na samym dole pojawiła się jakaś wartość v2, której trzeba ustawić wartość. Wartość v2 oznacza tutaj akurat na ile godzin świecenia wystarcza pochodnia,

```
v2 15

```

ustawi toto na 15 godzin. Ponieważ nie pojawiły wam się żadne inne vały do wypełnienia resztę możecie olać. Ustawiamy po prostu tylko te wartości v. które OLC nam nakazuje, jeśli jakieś się nie pojawiają, znaczy, ze możemy je spokojnie pominąć. No i lecimy dalej. Tak wygląda to w ogólności, teraz jak to wszystko wygląda w szczególe.

### Typ przedmiotu

Z menu po lewej stronie możesz wybrać ten rodzaj przedmiotu, który chcesz zobaczyć. Uwaga, są tam tylko te typy przedmiotów które mogą mieć dodatkowe własności.

#### Armor - część uzbrojenia - hełmy, rękawice zbroje i inne takie

Ten typ przedmiotów jest jednym z najczęściej używanych przez graczy, ponieważ daje on tak pożądany parametr jak AC (armor class).

Edytując przedmiot po wpisaniu

```
type armor

```

przedmioty zyskuje następujące pola:

```
[v0] Ac pierce       [0]
[v1] Ac bash         [0]
[v2] Ac slash        [0]
[v3] Ac exotic       [0]
[v4] Armor type      [pikowana]
[v5] Bizuteria       [noszona pod]   tylko dla rekawic

```

**Parametry**

 v1
 v2
 v3
 v4

Parametry od 0-3 nie wymagają objaśnienia, poza tym, że im jest tam mniejsza liczba tym lepszą ochronę daje taki przedmiot. V4 służy natomiast do określenia typu pancerza, co związane jest ze standaryzacją poszczególnych pól oraz z tym kto może dany typ nosić. Wpisując

```
v4 ?

```

otrzymamy taką tabelkę:

```
Dostępne typy zbroi:
NAZWA       [MIN AC] B P S E  CLASS CANT WEAR
Pikowana             9 9 9 10
Skorzana             9 9 8 10   Mag
Cwiekowana skorzana  7 8 7 10   Mag Thi
Naszywanica          7 7 7 10   Mag Thi Mni
Luskowa              6 7 6 10   Mag Thi Mni
Przeszywanica        6 6 6 10   Mag Thi Mni
Skory zwierzece      6 8 6 10   Mag Mni
Lekka kolczuga       6 8 5 10   Mag Thi Mni
Zwykla kolczuga      5 7 4 10   Mag Thi Mni Brd
Paskowa              4 5 3 10   Mag Thi Bar Mni Brd
Pancerz z brazu      4 4 4 10   Mag Thi Bar Mni Brd
Wzmacniana skorzana  4 5 4 10   Mag Thi Bar Mni Brd
Polplytowa           3 3 3  8   Mag Thi Bar Mni Brd
Polplytowa wzmaciana 2 3 1  8   Mag Thi Bar Mni Brd
Plytowa              1 2 0  8   Mag Thi Bar Mni Brd
Plytowa wzmacniana   0 0 0  7   Mag Thi Bar Mni Brd

```

Parametr v5 jest używany tylko w przypadku rękawic i służy do określenia, czy pierścienie są zakładane na czy pod rękawice. Skladnia: 'v5 na' lub 'v5 pod'. UWAGA! Działa tylko dla rękawic o typie armor.

#### Weapon - wiadomo - broń

Po ustawieniu typu na "weapon" otrzymamy (na samym dole) właściwości broni jako takiej.

```
[v0] Weapon class: exotic
[v1] Number of dice: [0]
[v2] Type of dice: [0]
[v3] Type: none
[v4] Special type: none
[v5] To hit: [0]
[v6] To dam: [0]

```

**v0 - Weapon class**

Najpierw powinniśmy wybrać to, jaka ta broń ma być. Listę dostępnych typów uzyskujemy, będąc w edytorze poleceniem

```
? wclass

```

i otrzymamujemy mniej więcej taką listę:

```
exotic sword dagger spear
mace axe flail whip
polearm staff twohander short-sword

```

No tak, ale co to oznacza?

 dagger
 exotic
 flail
 mace
 polearm
 short-sword
 spear
 staff
 sword
 whip

Aby ustawić broni, że jest mieczem należy napisać:

```
v0 sword

```

**v1 - Number of dice**

ilość rzutów kostka, czyli ile razy rzucamy kością

**v2 - Type of dice**

rodzaj kostki, czyli ile ścian ma daną kostką

Rzuty kostka to idea dość prosta. Number of dice to ilość rzutów kostką lub tez ilość kości, jakimi się rzuca (przy jednokrotnym rzucie to wszystko jedno). Type of dice to typ kostki - ilość ścian, choć fizycznie niektóre liczby nie występują, u nas nie ma ograniczeń. Czyli taki 4d3 to 4 rzuty kostka 3 ścienna. Jak jasno z tego wynika można uzyskać wynik od 4 do 12 - damage.

**v3 - Type**

Tutaj ustawiamy typ obrażeń, jakie może zadać broń. W kreatorze należy wpisać

```
? weapon

```

aby otrzymać pełną listę.

**v4 - Special type**

Czyli co też takiego specjalnego może mieć nasza broń. Pełną listę uzyskujemy pisząc w edytorze

```
? wtype

```

 flaming
 shocking
 frost
 toxic
 resonant
 poison
 vampiric
 sacred
 primary
 sharp
 vorpal
 twohands

**v5 - To hit**

modyfikuje szansę trafienia przeciwnika

**v6 - To dam**

modyfikuje bazowe obrażenia broni

#### Furniture - czyli mebelki

To jest takie niby nic, niektórzy myślą, ze furniture jest tylko po to żeby sobie stało i poza staniem nie ma właściwie żadnych możliwości. Otóż nie, ma, nie znowu jakieś wielkie, ale w miarę spoko.

Po wybraniu

```
type furniture

```

otrzymamy następujące własności:

```
[v0] Max people:      [0]
[v1] Max weight:      [0]
[v2] Furniture Flags: none
[v3] Heal rate:       [100]
[v4] Mana rate:       [100]

```

**Parametry**

 v1
 v2
 v3
 v4

**Furniture Flags**

Generalnie można określić dla jednej rzeczy tylko jeden rodzaj puta, sita i tak dalej, można tylko jedna rzecz określić jaka można zrobić, na przykład

```
v2 stand at

```

lub kilka:

```
v2 stand at, sit on, sleep on, put inside

```

#### Shield, czyli tarcze

```
[v0] Shield types: puklerz
[v1] Max AC bonus: 1
[v2] Max damage blocked: 0%
[v3] Chance to block more than one attacker: 0

```

**Znaczenie pól**

 [v1]
 [v2]
 [v3]

**Shield types**

```
Puklerz      AC bonus:2 Max damage:18 Chance to block:0
Lekka tarcza AC bonus:3 Max damage:25 Chance to block:5
Srednia tarc AC bonus:4 Max damage:30 Chance to block:8
Ciezka tarcz AC bonus:5 Max damage:35 Chance to block:10
Pawez        AC bonus:6 Max damage:45 Chance to block:15

```

#### Piece, czyli część

Ten typ przedmiotu służy do robienia przedmiotów składanych z wielu części, są progi wywoływane przy składaniu oraz inne cuda niewidy, potem postaram się opisać

Edytując przedmiot po wpisaniu:

```
type piece

```

przedmiot zyskuje następujące pola:

```
[v0] Vnum poprzedniej czesci           [0]
[v1] Vnum nastepnej czesci             [0]
[v2] Vnum nowego przedmiotu            [0]
[v3] Not used.
[v4] Not used.

```

Jest to do tak zwanych przedmiotów składanych z kilku części. Załóżmy, ze v0 jest 130, a v2 132, wtedy po poleceniu `connect nazwa_130 nazwa_naszego_przedmiotu` mamy przedmiot o vnumie 132, zupełnie nowy.

Jest jeszcze prog wywoływany na 'connecta', można go użyć dla upiększenia połączeń.

#### Turn item, czyli przedmiot wiary

Wszyscy, którzy występują w imieniu boga, albo tak im się wydaje lub tak tłumaczą swoją wizję świata, mogą przywoływać moce swojego boga w celu zniszczenia nieumarłych. W celu skorzystania z takiej umiejetności kapłan lub paladyn potrzebuje odpowiedniego przedmiotu na którym może skupić swoją wolę i prośbę. Takim właśnie rodzajem przedmiotu jest turnitem.

Edytując przedmiot po wpisaniu:

```
type turn

```

otrzymamy możliwość edycji pól:

```
[v0] Bonus do umiejętności:  0.
[v1] Bonus do obrażeń:       0.

```

**Znaczenie pól**

 [v1]

#### Scroll, czyli magiczny zwój

Magia może zostać zaklęta w kawałku papieru i taki kawałek nazwamy scrollem. Można wybrać maksymalnie do 4 zaklęć jakie się na nim znajdą. UWAGA! Nie zalaca się budowania tego typu przedmiotów, ponieważ na killerze raczej nie ma i nie planujemy magii dostępnej z przedmiotów.

Edytując przedmiot po wpisaniu:

```
type scroll

```

otrzymamy możliwość edycji pól:

```
[v0] Level: [0]
[v1] Spell: reserved
[v2] Spell: reserved
[v3] Spell: reserved
[v4] Spell: reserved

```

**Znaczenie pól**

 [v1-4]

#### Food, czyli jedzenie

Wiadomo, że każdy, nawet największy mag oraz najtwardszy barbarzyńca (to może zły przykład, bo ci to pewnie futrują ile wlezie) musi od czasu do czasu wrzucić coś na przysłowiowy ząb. Aby nasi gracze nie padli w czasie wyzwań rzucanych całemu światu muszą jeść, no i oczywiście trzeba im coś tam upichcić. W tym celu mamy przedmioty typu "jedzenie" (food).

Edytując przedmiot po wpisaniu:

```
type food

```

otrzymamy możliwość edycji pól:

```
[v0] Pożywność (kęs - 6):  [0]
[v1] Psuje się po (ticki): [0]
[v3] Zatrute:               Nie

```

**Znaczenie pól**

 [v1]
 [v2]

#### Fountain, czyli źródła lub większe zbiorniki

Dzięki temu rodzajowi przedmiotu możemy zrobić zarówno atrakcję główną centralnego placu miasta, jak i magiczne źródełko. Mowa oczywiście o przemiocie typu "fountain", który tak naprawdę jest po prostu źródłem płynu. Zasadniczą różnicą między tym typem a drinkcontainerem jest to, że "fonntanna" może być niewyczerpywalna.

**Uwagi ogólne**

1. Staramy się dobierać takie ciecze, które mają sens, bo przecież bzdurą jest fontanna na środku miasta z której można napić się wina.
2. Tam gdzie to konieczne dajemy nieskończoną ilość płynu, dzięki czemu woda z fonntanny nie zostanie wypita.
3. Niedopuszczalne jest dawanie flagi "take" dla tego typu przedmiotów.

Edytując przedmiot po wpisaniu:

```
type fountain

```

otrzymamy możliwość edycji pól:

```
[v0] Liquid Total: [0]
[v1] Liquid Left:  [0]
[v2] Liquid:        woda

```

**Znaczenie pól**

 [v1]
 [v2]

**Typ napoju**

Wpisując w czasie edycji obiektu

```
? liquid

```

otrzymamy listę zawierającą wszystkie dostępne ciecze.

#### Light - światła, światełka, lampy i pochodnie

Wszelkiego radzaju pochodnie, lampy, czy też latające i świecące czaszki to przedmioty typu light. Pozwalają widzieć tam gdzie jest ciemno, choć czasem nie, bo czasem dochodzą jakieś dodatkowe warunki o których tutaj nie będziemy pisać.

Edytując przedmiot po wpisaniu:

```
type light

```

otrzymamy możliwość edycji pól:

```
[v0] Światło podwodne: Tak/Nie
[v2] Czas świecenie:   [0]

```

**Znaczenie pól**

 [v2]

#### Container, czyli plecak, skrzynia albo mieszek.

Noszenie wielku przedmiotów w rękach nie jest za wygonym sposobem, a dodatkowo każdy następny wzięty do ręki przemiot może być tym ostatnim ... i co wtedy? Właśnie w takim celu ktoś wymyślił wszelkiej maści torby, torebki, plecaki i cokolwiek Ci przyjdzie do głowy, a będzi możliwe włożenie tam innych przedmiotów.

Edytując przedmiot po wpisaniu:

```
type container

```

otrzymamy możliwość edycji pól:

```
[v0] Maks. waga pojemnika+zawartości:             [0 kg]
[v1] Flagi:                                       [none]   ? container
[v2] Klucz:                                       [0] nieustawiono
[v3] Maks. waga pojedynczego przedmiotu:          [0 kg]
[v4] Waga przedmiotu po włożeniu:                 [100%]
[v5] Typ lub vnum przedmiotu, który można włożyć: [none]   ? type

```

Może się zdażyć, że będzie dostępne jeszcze pole [v6], które to jest ustawialne jeżli pole [v5] ma wartość "weapon", czyli jeżli zrobimy pojemnik na broń, to możmy ustalić, że tylko sztylet można tam włożyć, co pozwoli nam stworzyć np. pochwę na miecz. W takim wypadku dostaniemy coś takiego:

```
[v0] Maks. waga pojemnika+zawartości:             [0 kg]
[v1] Flagi:                                       [none]   ? container
[v2] Klucz:                                       [0] nieustawiono
[v3] Maks. waga pojedynczego przedmiotu:          [0 kg]
[v4] Waga przedmiotu po włożeniu:                 [100%]
[v5] Typ lub vnum przedmiotu, który można włożyć: [weapon]   ? type
[v6] Rodzaj broni:                                [dowolne]

```

**Znaczenie pól**

#### Bandaże

Po trudach walki trzeba zająć się swoimi ranami. Jeśli w grupie jest kleryk, to zapewne on zajmie się naszym zdrowiem, w przeciwnym razie, będziemy potrzebowali bandaży, żeby założyć opatrunki, dzięki którym szybciej będziemy regenerowac siły. Do tego potrzebujemy właśnie owych badaży.

Edytując przedmiot po wpisaniu:

```
type bandage

```

otrzymamy możliwość edycji pól:

```
[v0] Liczba bandażowań: 0
[v1] Bonus leczenia:    0%

```

**Znaczenie pól**

 [v1]

#### Tablice i księgi (niemagiczne)

Każdy z nas chciałby zostawić swój ślad na Świecie, no może choć na świecie Killer MUD'a ;-) Nic prostrzego, wystarczy znaleźć tablicę na której można pisać i już całą sprawę mamy za sobą, o ile oczywiście będziemy mogli napisać coś sensownego, a z tym to jak sami wiecie, różnie bywa.

Edytując przedmiot po wpisaniu:

```
type board

```

otrzymamy możliwość edycji pól:

```
[v0] Czas wygasania wiadomości, podawany w dniach:    [0]
[v1] Minimalny wymagany poziom potrzebny do czytania: [0]
[v2] Minimalny wymagany poziom potrzebny do pisania:  [0]

```

**Znaczenie pól**

 [v1]
 [v2]

**Uwaga**

Zasadniczo z tego typu obiektu można zrobić także książkę, robi się to mniej więcej tak (napisane przez Razora):

Jako ze tekst przypisany książce nie jest zapisywany w pliku krainki tylko w pliku tablic, w przypadku zmiany dokonanej przez immo wszyscy posiadający księgi będą mieli zmieniony tekst automatycznie. właśnie ze względu na ta właściwość nie można zrobić ksiąg w stylu notatnika, czyli żeby gracze mogli sobie cos notować.

**Ogólny algorytm tworzenia ksiąg**

* tworzymy obiekt typu tablica
* nie zaznaczamy wear take
* ładujemy księgę do roomu (komenda write działa tylko na obiekty w roomie)
* writem tworzymy wiadomość, należy pamiętać o tym ze pierwsza wiadomość to strona tytułowa niedostępna komenda read, która wyświetlana jest przy patrzeniu na księgę badz examinowaniu jej
* po wypełnieniu księgi należy zmodyfikować w olc wear dodając flagę TAKE
* w tym momencie księga już jest gotowa do użycia

Czytanie jest banalne:

```
look nazwa - pierwsza strona, czyli tytułowa
read nazwa numer_wiadomosci, czyli strony

```

Przypominam nie jest wyświetlany tytuł wiadomości, tylko sama treść.

Co do informacji zamieszczanych w księgach to mogą to być mapy legendy, jakieś wskazówki, można tez jak komuś będzie się chciało przepisać rzeczywista księgę - jeśli komuś będzie się nudziło to będzie mógł iść do sklepu kupić jakiś zbiór opowiadań i se poczytać.

#### Ubrania

Czasem naszą postać musimy po prostu ubrać w jakieś rzeczy, które wcale nie musza być czymś szególnym, będą po prostu ubraniami.

Edytując przedmiot po wpisaniu:

```
type clothing

```

Nie otrzymamy możliwość edycji pól, ponieważ ten typ przedmiotu nie ma żadnych specjalnych cech, które możnaby ustawić.

#### Baryłka, flaszka lub bukłak, czyli gdzie wlać coś i nie rozlać

Barbarzyńca nie rozstaje się praktycznie ze swoim napitkiem, bo lubi być na gazie. Jego towarzysze fascynujący się czymś innym niż skóra na ciele i dwa topory też lubią czasem pociągnąć ze dwa łyczki jałowcówki, bo przecie, pić trza. No tak, ale poza piciem z fonntan czy kałuż, wartoby było zabrać ze sobą bukłak na długą pustynna wyprawę.

Edytując przedmiot po wpisaniu:

```
type drinkcontainer

```

otrzymamy możliwość edycji pól:

```
[v0] Pojemność:                     [0]
[v1] Ilość płynu:                   [0]
[v2] Rodzaj płynu:                  woda   ? liquid
[v3] Czy zatruty:                   Nie
[v4] Vnum opróżnionego przedmiotu:  [0]

```

**Znaczenie pól**

 [v1]
 [v2]

```
? liquid

```

 [v3]
 [v4]

#### Skin, czyli skóra

Jeżli chcemy, żeby istota która została zabita miała szczególną i unikatową skórkę, nalezy stworzyć obiekt **skin** i przypisać mu odpowiednie właściwości.

Edytując przedmiot po wpisaniu:

```
type skin

```

Nie otrzymamy możliwość żadnych dodatkowych pól, ponieważ ten typ przedmiotu nie posiada dodatkowych właściwości.

#### Wand, czyli magiczna różdżka

Różdżki służą do tego, żeby np. wojownik mógł użyć czarów maga. Tyle o możliwościach, jednak ze względu na założenia killera i na to, że magią mają parać się profesjie które to umieją na killerze nie tworzymy przedmiotów tego typu.

Edytując przedmiot po wpisaniu:

```
type wand

```

otrzymamy możliwość edycji pól:

```
[v0] Poziom czaru:        [0]
[v1] Wszystkich ładunków: [0]
[v2] Ilość ładunków:      [0]
[v3] Nazwa czaru:         reserved

```

**Znaczenie pól**

 [v1]
 [v2]
 [v3]

#### Staff, czyli berło

Berła służą do tego, żeby np. wojownik mógł użyć czarów maga. Tyle o możliwościach, jednak ze względu na założenia killera i na to, że magią mają parać się profesjie które to umieją na killerze nie tworzymy przedmiotów tego typu.

W odróżnieniu od różdżek, berła nie mają zdefiniowanego celu, przez co można wyswalać zaklęcia które albo nie potrzebują celu (np. create food) lub są czarami obszarowymi (np. eartquake).

Edytując przedmiot po wpisaniu:

```
type staff

```

otrzymamy możliwość edycji pól:

```
[v0] Poziom czaru:        [0]
[v1] Wszystkich ładunków: [0]
[v2] Ilość ładunków:      [0]
[v3] Nazwa czaru:         reserved

```

**Znaczenie pól**

 [v1]
 [v2]
 [v3]

#### Envenomer, czyli trucizna

Złodzieje potrafią zatruwać swoje ostrza, ale do tego potrzebują trucizny. Właśnie tego typu przedmiotem jest opisywany tutaj envenomer. Ze względu na zachowanie standardów, builderzy mogą tworzyć tylko trucizny od 0 (trucizna spowolniona) do 3 (silna trucizna) i jeżeli uważasz, że w Twojej kraince powinna być dostępna mocniejsza trucizna, musisz uzgodnić to z którymkolwiek z Lordów.

Edytując przedmiot po wpisaniu:

```
type envenomer

```

otrzymamy możliwość edycji pól:

```
[v0] Rodzaj trucizny: Trucizna spowolniona   ? poison
[v1] Liczba zatruć:   0.

```

**Znaczenie pól**

 [v1]

**Typy trucizn**

\* - po udanym rzucie obronnym

#### Potion, czyli magiczny napój

Gdyby tylko występowały, to magiczne napoje mogłyby pozwolić na naprawde heroiczne czyny. Całe szczęście, tudziesz nieszczęście, bo wtedy małoby się profesje od siebie różniły. Generalnie na killerze nie tworzymy przedmiotów tego typu.

Edytując przedmiot po wpisaniu:

```
type potion

```

otrzymamy możliwość edycji pól:

```
[v0] Poziom:      [0]
[v1] Nazwa czaru: reserved
[v2] Nazwa czaru: reserved
[v3] Nazwa czaru: reserved
[v4] Nazwa czaru: reserved

```

**Znaczenie pól**

 [v1]
 [v2]
 [v3]
 [v4]

#### Spellbook, czyli księga czarów

Nowe czary to cel wielu magów, kleryków czy druidów. Niektóre z nich są bardzo proste do nauczenia, bo wystarczy znaleźć nauczyciela, który podzieli się swoją wiedzą. Niektóre za to, są trudne lub bardzo trudne do zdobycia. Nie dość, że zapisane są w księgach, to na dodatek te księgi mają poteżnych strażników.

Edytując przedmiot po wpisaniu:

```
type spellbook

```

otrzymamy możliwość edycji pól:

```
[v0] Dostępne tylko dla klasy  : Mag
[v1] Trudność nauczenia (0-10) : [2]
[v2] Nazwa czaru:                nieustawiono
[v3] Nazwa czaru:                nieustawiono
[v4] Nazwa czaru:                nieustawiono
[v5] Nazwa czaru:                nieustawiono
[v6] Nazwa czaru:                nieustawiono

```

**Znaczenie pól**

 [v1]
 [v2]-[v6]

#### Spell item

czyli przedmioty z których można zapamiętywać czary

**Znaczenie pól**

 [v1]
 [v2]
 [v3]
 [v4]

#### Money - czyli kasa, szmal, monety

W naszym świecie występują cztery nominały i są to:

* miedź (copper)
* srebro (silver)
* złoto (gold)
* mithril

Jedna moneta odlana z drogocennego mithrilu to tuzin monet złotych. (12)

Jedna złota moneta warta jest mendel monet srebrnych. (15)

Zaś jedna srebrna moneta warta jest kopę monet miedzianych. (60)

**Parametry**

#### Pill - czyli pigułka

pigułka jakowaś, coś do jedzenia (eat)

**Parametry**

 [v1]
 [v2]
 [v3]
 [v4]

### Na co można założyć czapkę?

Dalej mamy wear flags, czyli miejsca na jakie można coś tam założyć, hmm, no i flaga take. Lista dostępnych jest poniżej (dostępna po wear).

### Dodatkowe własności przedmiotu

**Extra flags** to dodatkowe flagi, ustawiane na przedmiotach, niektóre dla bajeru, a niektóre całkiem użyteczne.

**Extra2** to drugi zestaw dodatkowych flag, ustawianych na przedmiotach, niektóre dla bajeru, a niektóre całkiem użyteczne.

### Flagi definiujące kto może nosić

Ten zestaw dodatkowych flag definiuje jaka profesja i jaka rasa może, bądź nie może używać danych przedmiotów.

Nalezy pamiętać o innych ograniczeniach, wynikających z samego typu przaedmiotów i tak: dawanie flagi nomag dla zbroii pełnej płytowej jest bez sensu, bo mag i tak czegoś takiego nie założy.

### Materiał i własności fizyczne

 **rent/day** | ile ma kosztować jeden dzień rentowania przedmiotu, czyli przetrzymywania pod nieobecnoć gracza na mudzie

### Dodatkowe działania przedmiotu

Jedną z komend która najbardziej może wpływać na wartoć przedmiotów jest polecenie 'addaffect', można nią osiągnąć bardzo wiele, ale także wiele namieszać.

Użycie:

```
addaffect [location] [#xmod]

```

gdzie:

* location - na co chcemy wpływać (są to statystyki postaci)
* xmod - o ile chcemy wpływać

Oto spis wszystkich location:

Zasadniczo co do ustawiania wszystkich rzeczy poleceniem 'addaffect' zalecamy, a może raczej nakazujemy nie przeginać. Zmienianie podstawowych statsów (str, dex, int, wis, con) jest raczej zakazane, jedynie potężne, bardzo rzadkie przedmioty mogą to mieć. Reszta jest dozwolona, ale w ograniczonych ramach, zwykłe przedmioty nie powinny mieć czegoś takiego, rzadsze i silniejsze czemu nie (ale nie przeginać dając przedmiotowi +60 hp, można dać +5hp to jest do przyjęcia).

Oczywiście rzeczy nadane poleceniem addaffect można skasować innym poleceniem, a mianowicie 'delaffect'.

### Dodatkowe działania magiczne przedmiotu

**Czyli jak pierścień może spowodować, że będziemy fruwać**

Istnieje możliwość nadanie przedmiotom specjalnych właściwości, dzięki czemu nosząca je osoba będzie znajdować cię pod wpływem czaru, bądź pewnego rodzaju "własności", bo przecież ciężko nazwać skill "hide" czarem. Ten rodzaj dodatku będziemy nazwywać "applay".

**Jakie są te rodzaje applay?**

Rodzaje są związane z tymi własnościami dotyczącymi pc i npc, które są udostępnione. Listę wszystkich możemy wywołać, będc w OLC, komendą

```
? affect

```

Stan na dzień 2003-02-07 jest następujący:

```
blind invisible detect_evil detect_invis
detect_magic detect_hidden detect_good sanctuary
faerie_fire infrared curse poison
paralyze protect_evil protect_good sneak
hide sleep charm flying
pass_door haste calm plague
weaken dark_vision berserk ethereal_armor
armor swim regeneration slow
undead_invis animal_invis resist_fire resist_normal_weap
resist_mnagic_weap resist_acid resist_cold resist_magic
resist_lightning silence chant prayer
waterwalk water_breath brave_cloak confusion
energy_shield bark_skin shield deafness
fear fireshield iceshield reflect_spell
minor_globe troll_power

```

Listą nie należy się za bardzo sugerować, ponieważ jej zawartość zmienia się dość znacznie (warto nadmienić, że na początku na mudzie było niecałe 100 różnych umiejek, a teraz jest ich ponad 200, a to właśnie one są bazą do applays.

**Jak w takim razie dodać applay do przedmiotu?**

Ano całkiem prosto, choć nie wprost. Applay'e nie mogą istnieć na przedmiocie samoistnie, tylko muszą być podpięte do affektów (rozdział wcześniej), choć sam affekt może mieć miodyfikator o wartości 0 (zero) i nie wpływać na nic ;-) to taki trik. No dobra, teraz składnia:

```
addapply affect <affect> 0 <applay>

```

czyli konkretnie, dla uzyskania odporności na niemagiczne bronie:

```
addapply affect hp 0 resist_normal_weapon

```

**Jak pozbyć się applay?**

Tak samo jak opisanego w poprzednim rozdziale affectu.

```
delaffect <numer>

```

### Bronie: dodawanie dodatkowych obrażeń

Często się zdarza, że broń specjalna, rzadka, bądź unikatowa ma jakieś specjalne właściwości, a to mocniej rani gigantów, a to pająki, albo jak "Wyrównywacz" z Baldura zadaje obrażenia inne w zależności od align władającego i ofiary. Czasem dana broń, oprócz ataku zwykłego, może dodawać obrażenia np od ognia, ale nie wszystkie, a tylko np 2 punkty.

Wszystkie te rzeczy można zrealizować za pomocą komendy **specdam**, której składnia podana jest poniżej.

**Dodatkowe obrażenia magiczne**

```
specdam magic <typ obrażeń> <bonus> <szansa>

```

Ustawiając obrażenia od magi mamy możliwość dodania obrażeń od danego rodzaju magii (bądź magii samej w sobie).

Aby ustwić 4 punkty obrażeń od ognia z 50% szansą:

```
specdam magic fire 4 50

```

**Dodatkowe obrażenie w zależności od rasy**

```
specdam race <rasa celu|any> <rasa atakującego|any> <bonus> <szansa>

```

Jeżeli chcemy zrobić boń specjalną, dającą większe obrażenia np dla orków należy napisać:

```
specdam ork any 10 80

```

co oznacza, że dzierżący miecz (rasa: any, czyli dowolna) będzie zadawał o 10 punktów większe obrażenia atakowanemu jeżeli jest rasy ork, z szansą 80%.

**Dodatkowe obrażenie w zależności od align**

```
specdam align <align celu|any> <align atakującego|any> <bonus> <szansa>

```

Słynny "Wyrównywacz" z Baldura zadawał obrażenia różne w zależności od charakteru (align) władającego i celu. "Przeciwko innym charakterom: +6 do obrażeń." co zapisalibyśmy tak:

```
specdam align evil good 6 100
specdam align good evil 6 100

```

Co zapewnia dodatkowe 6 punktów obrażeń dla odwrotnych charakterów atakującego i atakowanego.

**Dodatkowe obrażenie w zależności od wielkości**

```
specdam size <rozmair celu|any> <rozmiar atakującego|any> <bonus> <szansa>

```

Czesem potrzeba jest dać dodatkowe obrażenia w zleżności od wielkości przeciwników, bo przecież wiadmo, że jak młotem od orka dostanie drugi ork, to na pewno będzie inaczej niż jakby tym samym młotem miał dostać hobbit. A jak to zapisać? Ano tak:

```
specdam small huge 5 100

```

Czyli każdemu kto jest mały ktoś wielki zada zawsze o 5 punktów obrażeń więcej, ponieważ szansa została ustawiona na 100%.

**Dodawanie obrażeń zależne od statystyk atakującego**

```
specdam selfstat <str|dex|...> <operator> <wartość> <bonus> <szansa>

```

Dodajemy obrażenia jeżeli jakaś cecha atakującego spełnia warunek zdefiniowany przez operator i wartość z prawdopodobieństwem podanym przez szansę.

 <=
 **!=** | różny

**Dodawanie obrażeń zależne od statystyk atakowanego**

```
specdam targetstat <str|dex|...> <operator> <wartość> <bonus> <szansa>

```

Dodajemy obrażenia jeżeli jakaś cecha atakowanego spełnia warunek zdefiniowany przez operator i wartość z prawdopodobieństwem podanym przez szansę.

**Kasowanie specdam**

```
specdam delete <numer>

```

Bez komentarza - kasujemy specdam.

**Dostępne align i rozmiar**

```
Align: evil, neutral, good
Rozmiary: tiny, small, medium, large, huge, giant

```

**Dodawanie obrażeń zależne od klasy gracza**

```
specdam class <profesja atakującego> <bonus> <szansa>

```

**Dodawanie obrażeń zależne od act moba**

```
specdam act <flagi act celu> <bonus> <szansa>

```

### Tworzenie płaszczyka

Czyli zakrywanie innych części ekwipunku.

**Instrukcja tworzenia banku**:

1. robimy w medit jakis płaszczyk
2. ustawiamy extra2 cover
3. w wear podajemy jakie czesci ciala ma zakrywac na przykład: wear body arms waist wrist

No i w zasadzie wszystko, teraz jak założymy taki płaszczyk to jak ktoś na nas zrobi look to nie zobaczy gratów pod płaszczykiem czyli tych podanych w wear. Aha, no i płaszczyk zawsze zakłada się na about. Żeby założyć lub zdjąć coś co płaszczyk zakrywa należy zdjąć płaszczyk.

### Zestawy przedmiotów (sety)

Co to są zestawy przedmiotów każdy kto grał w Diablo II i parę innych RPG chyba wie. Przykładowo mamy błyszczące naramienniki, błyszczący naszyjnik i błyszczący hełm. Osobno są to zwykłe przedmioty, ale jeśli założymy wszystkie naraz zyskamy jakieś dodatkowe bonusy. Do tworzenia takich kompletów służy komenda **bsedit**.

Najpierw musimy stworzyć bonus set:

```
bsedit create vnum

```

Vnum jest przypisany do krainy, wszystkie części kompletu i bonus set muszą być zrobione w tej samej krainie.
Po stworzeniu bonus setu i naciśnięciu enter wyskoczy nam info o nim. Możemy ustawić mu nazwę (**name**), opis (**desc**), affecty (**addaffect**, **addapply**) oraz wpisać progi na wear (**wearprog**) i remove (**removeprog**). Działają tutaj także komentarze (**addcomment**, **delcomment**).

Próg na wear odpali się po założeniu wszystkich części kompletu, próg na remove odpali się po zdjęciu choćby jednej części kompletu. To samo z affectami, aby działały trzeba mieć założony cały komplet.

Teraz przydałoby się dodać jakieś przedmioty do naszego kompletu. Można to zrobić na dwa sposoby. Albo w bsedit użyć komendy:

```
object vnum_obiektu

```

Doda ona obiekt do kompletu jeśli go tam jeszcze nie ma lub usunie jeśli juz tam jest Drugi sposób jest identyczny jak ten co był od zawsze, czyli w oedit przedmiotu można wpisać:

```
bonus vnum_bonus_seta

```

Oba sposoby sa równoważne. Można tak lub tak. W informacji na temat bonus setu widać listę przedmiotów należących do niego.
No i to ogólnie chyba wszystko. Listę bonus setów w krainie można uzyskać komendą **bslist** (w krainie, w której się stoi). Lista bonus setów na całym mudzie to **bslist all**.
Proszę o jakiejś fajne i sensowne nazwy kompletów. Niewykluczone że będą kiedyś widoczne dla graczy. To samo tyczy się ich opisów (można wrzucić jakąś historię czy opis właściwości kompletu).
Furge

Zmiana opisu postaci poprzes specjalnie formułowane extra description

**Instrukcja obsługi**:

Tworzymy sobie jakis przedmiot.

Dajemy mu extra desc zaczynający się od \_. Na przykład:

```
ed add _opis1

```

Piszemy tam jakiś tekst. Na przykład:

```
Przyglądając się $x dostrzegasz ze na helmie, ktory nosi widać jakieś dziwne runy.

```

I teraz jak ktoś ubierze przedmiot z tym extra descem (helm w tym przypadku) to jak popatrzymy na niego to pod opisem postaci wyskoczy ten extra description ($x zostanie podmieniony na imię tego co nosi w celowniku)

Furgas

## Moby

### Jak utworzyć

Do tego służy komenda medit z parametrem create:

```
medit create <vnum>

```

gdzie <vnum> to jeden wolnych numerów przydzielonych ci wraz z krainką.

Jeżeli mob jest stworzony, a Ty nie jesteś w edytorze mobów, to użyj komendy:

```
medit  <vnum>

```

Na ekranie zostanie wyświetlona taka oto charakterystyka moba.

```
Name:         [no name]
Area:         [  270] KRAINA TRENINGOWA
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:         [ 9431]
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]
Rodzaj:       [nieokreślony]
Short desc:   (no short description)
Long desc:

```

Tworzenie moba polega na wypełnianiu tej charakterystyki.

### Dostępne komendy i drobne uwagi

A to komendy dostępne pod tym edytorem 'commands':

```
alignment      commands       create         corpse         desc
level          long           name           shop           repair
bank           short          show           spec           sex
act            affect         armor          stats          odmiana
form           part           resist         material       off
size           hitdice        damdice        damweapon      dammagic
damflags       race           position       wealth         hitroll
damtype        group          addmprog       delmprog       languages
speaking       spell          clone          progpos        addcomment
delcomment     progpos        hpcalc         ?              version
skin

```

Przed przystąpieniem do wypełniania powyższej charakterystyki, należy przemyśleć kim (lub czym) będzie mob i jaki będzie miał poziom, tak aby postać ta pasowała do krainy.

### Pola charakteryzujące moba

Poniżej opisze co należy wpisywać w charakterystykę i co znacz poszczególne jej elementy.

Po wykonaniu komendy

```
medit [create]

```

otrzymamy następujący ekran, ten jest dla moba nowego, natomiast dla moba już istniejącego, otrzymamy ten sam ekran, ale zawierający to co wcześniej zostało napisane

```
Name:        [no name] Area: [  171] Wioska Sorrow
Act:         [npc]
Vnum:        [16920] Plec:   [neutral]   Rasa: [unique]  Grupa: [0]
Poziom:      [ 0]    Align: [   0]      Hitroll: [ 0] Dam Type:    [none]
Punkty zycia:[ 0d0  +   0] [Min: 0   (  0/lev) Max: 0   (  0/lev)]
Obrazenia:   [ 0d0  +   0] ( 0-0  ) Magic:[ 0] Weapon bonus:[ 0]
Typ obrazen: [none]
Cechy:       [str: 13  int: 13  wis: 13  dex: 13  con: 13]
Pancerz:     [klujace: 100  obuchowe: 100  tnace: 100  inne: 100]
Form:        [none]
Parts:       [none]
Affected by: [none]
Off:         [none]
Wielkosc:    [medium]   Material: [unknown]   Wealth: [   0]
Start pos:   [standing]    Default pos: [standing]
Languages:   [wspolny]
Speaking:    [wspolny]
Corpse vnum: [default]    Skin Multiplier: [0%%]
Short descr: (no short description)
Long descr:
(no long description)
Description:
Dopelniacz:  [null] (kogo nie ma?)
Celownik:    [null] (komu się przyglądam?)
Biernik:     [null] (kogo widzę?)
Narzednik:   [null] (z kim idę?)
Miejscownik: [null] (o kim mówię?)

```

#### Pole act

Ogólnie rzecz ujmując są to sposoby reagowania moba, jego profesja ...

Uwaga: npc (none player character) - nie zmieniać, znaczy, ze mob jest kierowany przez komputer

komenda:

```
? act

```

wyświetli listę actów oto lista aktów na dzień 2003-09-23

Chcąc ustawić jakiś ACT używamy komendy: act [nazwa actu], np:

```
act pet

```

Acty działają jak przełączniki i ponowne wpisanie tac pet wyłączy tę opcje.

### Ustawianie mobów reperujących przedmioty

W celu stworzenia moba naprawiającego jakieś przedmioty należy użyć komendy **repair** (będąc w edycji moba).

Składnia

```
dodanie nowego elementu : repair new 'nazwa typu'
usunięcie elementu : repair delete 'numer'
modyfikacja elementu : repair 'numer' 'cond | cost | mod' 'liczba'
repair hour <otwarcie> <zamkniecie>

```

Przykłady

```
repair 1 cost 200

```

typ 1 bedzie naprawiany ale tylko gdy cost < 200

```
repair 2 cond 50

```

typ 2 bedzie naprawiany ale tylko gdy condition >= 50

```
repair 3 mod 250

```

typ 3 bedzie naprawiany ale koszt naprawy zwiekszony o 150%

### Statystyki mobów

Na co graczom cechy - wiadomo, choć niektórzy zadają temu kłam. Ale na co mobikowi dana cecha?

**STRENGTH**

wiadomo, jak mocno tlucze (ale nie do konca), jak ciezki orez moze nosic i ile moze nosic dodatkowo mounty z duzym str sa mniej meczace podczas podrozy dla jezdzca. plusy do obrazen i trafienia zaczynaja sie od bodajze 19 (+1) do 28 (+5 hitroll, +10 dam)

dla tych co nie wiedza, jesli mob uzywa jakiejs broni to obrazenia licza sie nastepujaco:

```
v1dv2 +v6 [BRON] + bonus_od_sily + bonus_z_damdice

```

**INTELIGENCE**

inteligencja jak sama nazwa wskazuje, wplywa na zachowanie moba (podczas walki na razie) im wyzsza inteligencja tym czesciej mob probuje uzywac skilli/spelli oraz wpada na jakies lepsze pomysly zakresami to jest mniej wiecej tak:

 7-10
 11-14
 15-19
 20-23
 powyżej 23

jesli mobik jest np jakims durnym zwierzakiem z jednym skillem pod pacha, nie warto mu ustawiac jakiegos fenomenalnego inta z drugiej strony jakis supernapakowany czarodziej powinien miec przynajmniej 24 do tego jeszcze dochodzi level moba, 6 levelowemu magowi mozna ustawic wysoki int ale po co ;) najlepiej testowac zachowanie moba w walce na sobie i metoda prob i bledow dobierac inta

**WISDOM**

na razie nic nie daje, ale juz wkrotce bedzie decydowac jak dobrze mobik zna skilla

**DEXTERITY**

decyduje o AC moba, w waskim zakresie ( max +6 ac bonus dla 28 dexa) jedynym skillem do jakiego wysoki dex jest potrzebny to dodge (z tego co pamietam) wiec jesli uzywa dodga to nie warto dawac ponizej 20 bo raczej nie bedzie wychodzic

**CONDITION**

absolutnie niewykorzystywane :) i zeby bylo jeszcze gorzej nie mam pomyslu do czego mozna zastosowac... jakies sugestie?

2001-12-06 Razor

### Ustawianie mobów sprzedających

W celu stworzenia moba sprzedającego jakieś przedmioty należy użyć komendy **shop** (będąc w edycji moba).

**Składnia**

 shop hours <otwarcie> <zamknięcie>
 shopprofit <procent1> <procent2>
* procent1 - modyfikuje cenę kupna przez **gracza**
 shop type <0-4> <rodzaj>
 shop remove

**Co dalej, czyli jak umieścić moba tak, żeby sprzedawał?**

Po wykonaniu mobika oraz przedmiotów, musimy umieścić go

Następnie ładujemy resetami do inventory moba przedmioty, które ma sprzedawać. Należy pamiętać, że sprzedawce należy załadować komendą

```
redit reset

```

która to powoduje przeładowanie zawartości lokacji i ponowne zaczytanie danych z resetów. Przedtem należy oczywiście wyczyścić lokację komendą

```
purge

```

pamiętając, że jeżeli sprzedawca ma ustawioną flagę "nopurge", to nie zostanie on wyczyszczony. Ale ... do rzeczy.

```
reset 1 mob <vnum_moba> 1 1
reset 2 obj <vnum_przedmiotu> none

```

Jak widać pierwszy musi być mob, po nim przedmiot. Jako wear-loc należy podać **none** bo tylko wtedy sprzedawca będzie oferował dany przedmiot.

Uwaga! - przyczyną braku przedmiot po wydaniu komendy **list** może być to, że brakuje ceny lub cena sprzedaży mniejsza niż 1.

**Skupowanie przedmiotów o konkretnych vnumach**

Jeżeli chcemy, aby mobik skupował tylko konkretne przedmioty (domyślnie skupuje wszystkie, których typ określimy poprzez 'shop type'), musimy dodac mu mały program (który w tym przykładzie dopuszcza tylko sprzedaż 3 konkretnych vnumów).:

```
if vnum $o == 100
or vnum $o == 200
or vnum $o == 300
  mob command
else
  say Niestety nie moge tego kupić, handluje tylko rzepą.
endif

```

Programik ten podpinamy pod moba pod trigger PRECOMMAND z frazą 'sell'.

### Apropos skinów...

**Info ogólne.**

Jak wiadomo z mobów można ściągnąć skórę i potem ją sprzedać (o ile ktoś to będzie chciał kupić). Nie ze wszystkich mobów można ściągnąć jednak skórki. Jest to ograniczone rasą moba. Jeśli jakiś mob nie ma części skóra (PART\_SKIN) to nie można żadnej skóry z niego ściągać. Kiedy poleceniem medit tworzycie moba i dajecie mu potem rasę na przykład niedźwiedź

```
race niedzwiedz

```

to mud automatycznie ustawia mu w partsach (Parts – części ciała) część skóra. Jak pewnie wszyscy wiedzą, a jak nie wiedzą to się dowiadują, party można odejmować i dodawać. Można więc ustawić mobowi jakąś rasę, która nie ma skóry, dodać mu ją

```
part skin

```

i wszystko jak najbardziej będzie grało. Mob będzie miał skórę i będzie można zeń tą skórę ściągać.

**Co to jest mnożnik wartości skóry i gdzie się go ustawia.**

Wszystkie moby mają ustawiony tak zwany "Skin multiplier". Jest to mnożnik wartości skórki. Kiedy w medicie ustawiacie rasę moba skin multiplier ustawia mu się automatycznie zależnie od rasy. Jeśli skórki z tego moba są pospolite i mało wartościowe multiplier ma wartości niskie (skóra psa na przykład), jeśli są to skóry bardziej wartościowe (takie solidne normalne skóry) mnożnik ma wartości wyższe. Jest tak na przykład dla niedźwiedzi, które mają mnożnik 100%. Skóry z ras bardzo rzadkich mają mnożnik najwyższy. Mnożnik ma w prostej linii przełożenie na wartość skóry, kiedy się ją sprzedaje w sklepie. Jak się pewnie wszyscy domyślają mnożnik ten można bez problemu ustawić i czyni się to poleceniem

```
skin

```

, na przykład

```
skin 120

```

, coby uczynić skórę bardziej wartościową.

**Jak w ogóle robić 'indywidualne' ciała mobów.**

To jest już dawno w kodzie, ale pewnie niektórzy ciągle nie wiedzą, więc pasowałoby im wytłumaczyć. Jest coś takiego jak, hmm, że tak się wyrażę, indywidualne, personalne czy jakie tam ciało moba. Normalnie kiedy zabijacie moba mud na podstawie rasy i innych paru rzeczy generuje ciało takie jak zwykle widzicie, czyli jakieś tam na przykład: 'Zmasakrowane ciało lisa leży tu i psuje się powoli.' Ciało to jest standardowe i ma standardowe właściwości, czyli masę, opis, long description, short description. Można jednak ustawić ciało niestandardowe. Wystarczy wtedy utworzyć obiekt typu npccorpse, nadać mu swój opis, ustawić parametry i zrobić co tam jeszcze chcecie, na przykład ustawić progi, czemu nie. Kiedy już to zrobicie wystarczy wpisać podczas edycji moba, któremu chcemy 'dać to ciało'

```
corpse vnum_ciała

```

i po śmierci moba pojawi się to własnie opisane przez was pieczołowicie wcześniej ciało.

**Jak zrobić, żeby z moba skóry nie dało się ściągnąć.**

Można oczywiście (nie wiem czy oczywiście, ale hmm, tak jest zrobione) spowodować aby z moba nie dało się skóry ściągać (bo z jakichś powodów uważacie, że to zły pomysł, na przykład zrobicie mobowi triggera death, po którym ginie on spektakularną, nie pozostawiającą złudzeń co do tego, że skóra jest potem w kiepskim stanie śmiercią). Nie trzeba mu wtedy ustawiać takiej rasy, z której skóra nie jest ściągalna. Można mu zabrać PART\_SKIN (wpisuje się "part skin" i mob jeśli miał tą skórę już jej w partsach nie posiada), ale niekoniecznie. Ustawia się to też dość prosto inaczej - wystarczy wpisać jako mnożnik skina jakąkolwiek ujemną wartość, na przykład:

```
skin -1

```

Skóry z tego moba nie da się wtedy po śmierci ściągnąć.

**Jak zrobić coby mobowi ustawić skórę 'indywidualną'.**

Ano da się coś takiego zrobić. Na początek wytłumaczę może o co chodzi. Jeśli z moba daje się normalnie ściągnąć skórkę to jej opis i parametry są generowane podobnie jak generowany jest opis jego ciała po śmierci. Można jednak spowodować żeby zamiast standardowej skórki ściągało się skórki 'indywidualne', czyli o takich parametrach, opisie i innych, jakie nam się podobają. Czyni się to w trochę skomplikowany i – mam wrażenie – średnio intuicyjny sposób, więc opiszę toto w punktach, lecimy więc:

* Na początek (choć kolejność w sumie dowolna) tworzymy ową skórę, w oedicie dajemy `type skin` i ustawiamy co tam nam się żywnie podoba – opis, wartości, wagę i tak dalej. Istotne jest ustawienie kosztu. Koszt będzie podstawą naliczania wartości ciała żeby potem można je było sprzedać w sklepie (nie powiem jak, heh).
* Potem musimy ustawić mobikowi ciało indywidualne (opis powyżej) i na koniec wklepać vnum tego ciała `corpse vnum_ciała`
* Kiedy tworzymy ciało w oedicie trzeba powpisywać odpowiednie wartości, tak zwane 'valuesy', a konkretnie v5 i v6.
	+ v5 odpowiada za 'flagi' ciała, póki co można tam albo nic nie ustawiać, wtedy ciało nie ma flag żadnych, albo ustawić flagę 'no\_skin', wklepując: `v5 no_skin` wtedy z ciała tego skóry ściągać się nie da
	+ v6 – tutaj ustawiamy vnum skóry, która ma być ściągnięta z ciała

Nooo iii tooo prawie wszystko. Pozostaje już tylko jedna rzecz do ustawienia opisu ciała po ściągnięciu skóry jeśli tylko chcecie to ustawiać, ale – polecam. Heh, w końcu napracowałem się żeby to zrobić. Hrhr. Jak pewnie zauważyliście - kiedy ściągnie się skórę z ciała to mamy prawda wtedy skórę, a z boku leży sobie spokojnie ciało, z którego skóry ściągnąć już nie można. Noo i wszystko git. Ważną rzeczą jest jednak to, że ciało to ma też wygenerowany opis, że skóra z niego jest ściągnięta. Aby pozostać przy lisie jest to na przykład: 'Zmasakrowane, odarte ze skóry ciało lisa leży tutaj powoli gnijąc.' Opis ten też można ustawić. Robi się to akurat prosto. Wszystkie obiekty (hmm, do wykorzystania mam nadzieję w przyszłości do zakodowania innych różności) mają tak zwany 'Hidden Description', czyli opis ukryty. Nie widać go nawet po zidentyfikowaniu obiektu czarem identyfikacji. Jeśli hidden description uzupełni się w opisie ('indywidualnego', ale to chyba oczywiste) ciała (tak, ciała, nie skóry) to potem ten opis jest podawany jako opis ciała po ściągnięciu skóry. Robimy więc prawda sobie owo ciało moba i wpisujemy

```
hidden Poszarpane jakimś ostrzem ciało lisa z którego chyba niedawno
ściągnięto skórę leży tutaj i powoli się rozkłada roznosząc wokół
nieopisany smród.

```

a kiedy ściągniemy z tego ciała skórę pojawi nam się jaki opis ciała?? Ano... 'Poszarpane jakimś ostrzem ciało lisa z którego chyba niedawno ściągnięto skórę leży tutaj i powoli się rozkłada roznosząc wokół nieopisany smród.' Heh.

**Uwagi końcowe.**

1. Nie zwracajcie uwagi na to, że nawet moby, z których skóry nie można ściągać mają skin multiplier 100% - tak to już ma być. Nie powoduje to żadnych problemów, no worries.
2. Polecam, polecam ustawianie opisu ciała po ściągnięciu skóry jeśli już robicie tą (hmm, chyba jednak nieszczęśliwa nazwa) 'indywidualną' skórę.
3. Nie przesadzajcie z ustawianiem wysokich wartości skin multiplier i cost skóry, bo to potem, jak za bardzo przesadzicie – jak wszystko – zetnie się przy sprawdzaniu krainki.
4. Wagę skóry ściągniętej z moba proponuję ustawiać na jakieś 10% wagi ciała moba. Ale to taka propozycja tylko. Jeśli jest sens żeby była lekka albo ciężka to no problem.
5. Jeśli ktoś ma jakieś propozycje jak tu zmienić skóry, co dodać, jakie opcje i tak dalej i tym podobne to proponować, proponować oczywiście.

Maro

## Dobre Praktyki

Kategoria zawiera garść dobrych praktyk związanych z budowaniem.

### Komunikaty dla moba sklepikarza

Budując moba sklepikarza, któremu ustawiasz godziny otwarcie i zamknięcia sklepu, warto w progach dodać komunikaty, dzięki którym gracz będzie wiedział, że sklep jest właśnie otwierany lub zamykany.

Ideałem jest oprogramowanie sklepikarza w taki sposób, żeby po zamknięciu sklepu szedł sobie do swojego domku. Przed rozpoczęciem przychodził, a w ciągu dnia informował o tym, że niedługo zamknie sklep.