~~~~~~TWORZENIE WŁASNEGO POTWORA~~~~~~
SVN pod 8.0 oraz 8.1
SVN pod 8.0 oraz 8.1
SPIS TREŚCI:
0. Kilka informacji na początek.
1. Tworzenie pliku z potworem.
2. Ogólna konstrukcja.
3. Podstawowe informacje.
4. Właściwości.
5. Ataki.
6. Obrony.
7. Odporności.
8. Summony.
9. Głosy.
10.Loot.
11.Przykład
12.Podsumowanie.
0. Kilka słów od autora na początek.
Poradnik ten tworzony jest zarówno dla zupełnie zielonych, jak i tych bardziej zaawansowanych. Myślę, że "starzy wyjadacze" wiedzą już dawno, jak zrobić nowego potwora, ale gdyby coś zapomnieli, to ja służę uprzejmie.
Podkreślając ważne słowa i sformułowania, starałem utrwalić w pamięci newbie'ch rzeczy, z którymi będą mieli styczność w dalszej przygodzie z Tibią i OTS.
Tutorial starałem się ułożyć tak, aby swobodnie można było pominąć któryś z punktów, jeżeli np. umiesz zrobić dany kawałek samodzielnie.
1.Tworzenie pliku z potworem.
Aby stworzyć potwora musimy najpierw przypisać mu dany plik. Zacznijmy więc. W:
Kod :
data/monster ( monsters )
Kod :
NAZWA POTWORA.xml
Np.:
Kod :
jaskolka.xml
Kod :
czarny kruk.xml
Kod :
monsters.xml
Kod :
<monster name="NAZWA POTWORA" file="PLIK Z POTWOREM" />
Kod :
<monster name="Jaskolka" file="jaskolka.xml" />
Kod :
<monster name="Czarny Kruk" file="czarny kruk.xml" />
Kod :
</monsters>
2. Ogólna konstrukcja.
Kod :
<?xml version="1.0" encoding="UTF-8"?>
<monster name=…>
<health now=…/>
<look type=…/>
<targetchange interval=…/>
<strategy attack=…/>
<flags>
</flags>
<attacks>
</attacks>
<defenses armor=…/>
<defense name=…/>
</defenses>
<immunities>
</immunities>
<summons...>
</summons>
<voices interval=…>
</voices>
<loot>
</item>
</loot>
</monster>
Rozpoczynamy od:
Kod :
<?xml version="1.0" encoding="UTF-8"?>
Podobnie jak np. w XHTML na początku dokumentu musimy umieścić 'nagłówek', który informuje komputer, w jakiej wersji, w tym wypadku XML, korzystamy, oraz jakiego systemu kodowania znaków używamy. W każdym razie- przyjmijmy to za standard.
Teraz czas na:
a) kod
Kod :
<monster name="IMIĘ" nameDescription="IMIĘ 2" tp="1" race="RODZAJ OBRAŻEŃ" species="RASA" experience="EXP" speed="SPEED" manacost="KOSZT PRZYWOŁANIA">
IMIĘ -> nazwa potwora, którą widzimy pod paskiem życia w oknie gry i battle list.
IMIĘ 2 -> nazwa potwora, która ukazuje się po użyciu LOOK na potworze ( czyli w formie „You see IMIĘ 2” ) powinno ono zawierać przedrostek a lub an.
RODZAJ OBRAŻEŃ -> jaki kolor odebranego HP ma się pojawić nad potworem po zadaniu blood hita.
RASA -> jak sama nazwa wskazuje, rasa, gatunek potwora.
EXP -> tu chyba nie ma co tłumaczyć, ile doświadczenia dostaniemy za zabicie potwora, gdyby exp rate wynosiło 1.
SPEED -> prędkość potwora, postać 1-wszo levelowa ma prędkość 220, z każdym levelem prędkość rośnie o 2. Dla przykładu potwór o prędkości 240 chodziłby tak samo jak 20lvl.
KOSZT PRZYWOŁYWANIA -> ile many potrzeba, aby przywołać potwora czarem utevo res" , w dalszej części poradnika pokażę, gdzie ustalić, czy potwór może być przywołany, czy nie.
Następnie:
a) kod
Kod :
<health now="RESPHP" max="MAXHP"/>
RESPHP -> ile HP potwór będzie miał w chwili zrespienia
MAXHP -> maksymalna ilość HP, którą może mieć potwór
Idźmy dalej:
a) kod
Kod :
<look type="WYGLĄD" head="WYGLĄD" body="WYGLĄD" legs="WYGLĄD" feet="WYGLĄD" corpse="CIAŁO"/>
WYGLĄD -> wygląd potwora:
# w przypadku "nieludzkiego" wyglądu potwora wypełniamy tylko pole LOOK TYPE, reszcie nadajemy wartość 0 ( mówimy tu tylko o WYGLĄD ).
# w przypadku "ludzkiego" wyglądu wypełniamy wszystkie pola.
Teraz kilka przydatnych linków:
* wszystkie LOOK TYPE, co pomoże Wam w wybraniu odpowiedniego wyglądu ( by Rishi )
* jak wybierać kolory "ludzkich" wyglądów ( by Manky )

CIAŁO -> wygląd ciała ( potwora po śmierci ), nie znalazłem żadnego linku, tak więc pozostaje Wam edytować plik z potworem, którego wygląd przybierze Wasz nowy monster i stamtąd skopiować numer wyglądu ciała.
Przedostatni podpunkt punktu 3.:
a) kod
Kod :
<targetchange interval="CZAS" chance="SZANSA"/>
CZAS -> co jaki czas ( co 1500 oddajemy cios w rl tibii ) jest SZANSA zmienienia celu, tzw. przerzucenia się potwora na innego gracza
SZANSA -> szansa zmienienia celu, w procentach ( czyli 100 to maksymalna, zawsze skuteczna )
Ostatni podpunkt punktu 3.:
a) kod
Kod :
<strategy attack="ATAK" defense="OBRONA"/>
ATAK -> ile "sił" poświęcać na atak ( w procentach )
OBRONA -> ile "sił" poświęcać na obronę ( w procentach )
4. Właściwości.
Mamy już skonfigurowane podstawowe wiadomości o naszym nowym potworze. Teraz czas na jego "właściwości". Zapamiętaj, że w większości "właściwości" przypisanie wartości 1 oznacza TAK, a wartości 0 - NIE
a) kod
Kod :
<flags>
<flag summonable="0 lub 1"/>
<flag attackable="0 lub 1"/>
<flag hostile="0 lub 1"/>
<flag illusionable="0 lub 1"/>
<flag convinceable="0 lub 1"/>
<flag pushable="0 lub 1"/>
<flag canpushitems="0 lub 1"/>
<flag canpushcreatures="0 lub 1" />
<flag staticattack="30 lub 50"/>
<flag targetdistance="1"/>
<flag runonhealth="od 0 do MAXHP"/>
</flags>
summonable -> czy możemy przywołać potwora czarem utevo res" .
attackable -> czy możemy atakować potwora ( 0 dajemy np. w przypadku magicthrowerów ).
hostile -> czy potwór może atakować
illusionable -> czy możemy przybrać wygląd potwora czarem utevo res ina" .
convinceable -> czy możemy "oswoić" potwora runą Convice Creature.
pushable -> czy możemy przesuwać potwora ( tak jak gracza ).
canpushitems -> czy potwór może przesuwać przedmioty ( takie jak parcel i wszelkiego rodzaju skrzynki, garnki itp. ).
canpushcreatures -> czy potwór może przesuwać inne potwory ( oraz graczy ), które np. zagradzają mu drogę do gracza
staticattack -> jeżeli wpiszesz 30 to potwór przyjmie taktykę warlocka, jeżeli 50 to tak jak większość potworów, czyli walkę w zwarciu1
runonhealth -> od ilu HP potwór ma zacząć uciekać
5. Ataki
Rozpoczynamy:
Kod :
<attacks>
# dystansowe ( spear / arrow / bolt / throwing star / throwing knife / poison arrow / explosives arrow / small stone / large rock)
a) kod
Kod :
<attack name="NAZWA" interval="CZAS" chance="SZANSA" range="DŁUGOŚĆ" min="MINDMG" max="MAXDMG"/>
NAZWA -> wpisujemy nazwę ataku dystansowego: spear, arrow, bolt, throwing star, throwing knife itp. ( wszystie wymienione są na górze, można dorabiać również nowe rodzaje broni dystansowych pisząc skrypt w data/spells, ale o tych kiedy indziej )
CZAS -> co jaki CZAS potwór będzie próbował zaatakować ( co 1500 zadajemy cios w rl tibii )
SZANSA -> jaka jest SZANSA, że atak zostanie wykonany ( w procentach )
DŁUGOŚĆ -> na ile kratek potwór będzie mógł rzucić bronią ( 3 kratki zasięgu ma wand of vortex )
MINDMG -> jaki minimalnie blood hit zada potwór w razie powodzenia ataku ( nie wliczając obrony gracza / potwora ), liczbę poprzedzamy minusem ( - )
MAXDMG -> jaki maksymalnie blood hit zada potwór w razie powodzenia ataku ( nie wliczając obrony gracza / potwora ), liczbę poprzedzamy minusem ( - )
# walka wręcz ( melee )
a) kod
Kod :
<attack name="melee" interval="CZAS" min="MINDMG" max="MAXDMG"/>
CZAS -> co jaki CZAS potwór zaatakuje ( przypominam, że co 1500 zadajemy cios w rl tibii )
MINDMG -> jaki minimalnie blood hit zada potwór ( nie wliczając obrony gracza / potwora ), liczbę poprzedzamy minusem ( - )
MAXDMG -> jaki maksymalnie blood hit zada potwór ( nie wliczając obrony gracza / potwora ), liczbę poprzedzamy minusem ( - )
# czary
a) kod
Kod :
<attack name="NAZWA" interval="CZAS" chance="SZANSA" min="MINDMG" max="MAXDMG"/>
NAZWA -> nazwa ataku magicznego ( np. Fireball ), aby dowiedzieć się jaką nazwę ma Twój atak magiczny zajrzy do:
Kod :
data/spells/spells.xml
Kod :
<instant name="Flame Strike"
Kod :
<rune name="Light Magic Missile"
Kod :
<rune name="mana drain"
Kod :
<instant name="hydra poisonwave"
SZANSA -> jaka jest SZANSA, że atak zostanie wykonany ( w procentach )
MINDMG -> jaki minimalnie blood hit zada potwór w razie powodzenia ataku ( nie wliczając obrony i amuletów gracza / potwora ), liczbę poprzedzamy minusem ( - )
MAXDMG -> jaki maksymalnie blood hit zada potwór w razie powodzenia ataku ( nie wliczając obrony i amuletów gracza / potwora ), liczbę poprzedzamy minusem ( - )
Kończymy:
Kod :
</attacks>
6. Obrony.
Najpierw określmy punkty pancerza i obrony potwora:
a) kod
Kod :
<defenses armor="ARMOR" defense="DEF">
ARMOR -> punkty pancerza ( np. tak jak u graczy plate armor daje 10, plate legs- 7 itp. ).
DEF -> co tu dużo mówić, po prostu tak jak u nas tarcza i broń mają punkty obrony to tutaj podajemy ilość tych punktów u potwora.
Następnie, jeżeli chcemy, aby potwór się leczył dodajemy linijkę:
a) kod
Kod :
<defense name="NAZWA" interval="CZAS" chance="SZANSA" min="MINHEAL" max="MAXHEAL"/>
NAZWA -> nazwa czaru leczącego, podobnie jest jak w czarach ofensywnych, tyle że tu mamy mniej do wyboru ( Ultimate Healing, Intense Healing, Light Healing )
CZAS -> co ile będzie podjęta próba leczenia ( co 1500 zadajemy cios w rl tibii )
SZANSA -> jaka jest SZANSA, że leczenie się powiedzie
MINHEAL -> o ile potwór się minimalnie uleczy ( tutaj BEZ MINUSA )
MAXHEAL -> o ile potwór się maksymalnie uleczy ( tutaj BEZ MINUSA )
<defence informuje silnik, że czar ma być użyty na tym, kto go rzuca. Możemy to wykorzystać do zastosowania np. przyspieszenia:
a) kod
Kod :
<defense name="NAZWA" interval="CZAS" chance="SZANSA"/>
NAZWA -> nazwa czaru ( w tym wypadku: haste, strong haste )
CZAS -> co jaki czas podjęta będzie próba rzucenia czaru
SZANSA -> jaka SZANSA jest na powodzenie rzucenia czaru
Wszystko kończymy:
Kod :
</defenses>
7. Odporności.
Przy odporności potwora na dany żywioł ( tryb ataku, czar, runę ) używamy wartości 1, jako odporny, 0- nieodporny.
a) kod
Kod :
<immunities>
<immunity physical="0 lub 1"/>
<immunity energy="0 lub 1"/>
<immunity fire="0 lub 1"/>
<immunity poison="0 lub 1"/>
<immunity lifedrain="0 lub 1"/>
<immunity paralyze="0 lub 1"/>
<immunity outfit="0 lub 1"/>
<immunity drunk="0 lub 1"/>
<immunity invisible="0 lub 1"/>
</immunities>
physical -> odporność na ataki fizyczne ( np. runa SD, czar Ulimate Explosion, atak bronią ), przykładem takiego potwora jest Phantasm
energy -> odporność na żywioł energii
fire -> odporność na żywioł ognia
poison -> odporność na truciznę
lifedrain -> odporność przez atakiem „wydzierania życia”
paralyze -> odporność przed paraliżem ( runa Paralyze )
outfit -> odporność na zmianę wyglądu przeciwnika czarem utevo res ina"
drunk -> odporność przed „pijaństwem”
invisible -> odporność na niewidzialność przeciwnika
Zakładki