DTT

Forum serwera DTT, serdecznie zapraszamy do pisania postów.


#1 2009-05-26 18:27:28

Dark Magican

Administrator

Zarejestrowany: 2009-05-25
Posty: 40
Punktów :   

Jak Zrobic Potwora

~~~~~~TWORZENIE WŁASNEGO POTWORA~~~~~~
SVN pod 8.0 oraz 8.1

SPIS TREŚCI:
0. Kilka słów od autora 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)

tworzymy plik:
Kod:

NAZWA POTWORA.xml

Pamiętaj, aby nie używać polskich znaków.
Np.:
Kod:

jaskolka.xml

lub
Kod:

czarny kruk.xml

Gdy już go mamy, przechodzimy do edycji:
Kod:

monsters.xml

Doklejamy tam linijkę:
Kod:

<monster name="NAZWA POTWORA" file="PLIK Z POTWOREM" />

Czyli np.:
Kod:

<monster name="Jaskolka" file="jaskolka.xml" />

lub:
Kod:

<monster name="Czarny Kruk" file="czarny kruk.xml" />

Pamiętajmy, aby zrobić to przed znacznikiem:
Kod:

</monsters>

Teraz możemy już przejść do edycji naszego pliku z potworem. Najlepiej edytować go notatnikiem.


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>

3. Podstawowe informacje.

Rozpoczynamy od:
Kod:

<?xml version="1.0" encoding="UTF-8"?>

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">

b) tłumaczenie
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"/>

b) tłumaczenie
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"/>

b) tłumaczenie
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)

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"/>

b) tłumaczenie
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"/>

b) tłumaczenie
ATAK -> ile "sił" poświęcać na atak (w procentach)
OBRONA -> ile "sił" poświęcać na obronę (w procentach)


Nowo powstale forum!
http://www.supportibiaots.pun.pl/forums.php
http://www.iv.pl/images/kb4upha73rb78q7u7lrp.jpg

Offline

 

#2 2009-05-26 18:28:57

Dark Magican

Administrator

Zarejestrowany: 2009-05-25
Posty: 40
Punktów :   

Re: Jak Zrobic Potwora

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>

b) tłumaczenie
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>

Wyróżniamy trzy typy ataków:
# 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"/>

b) tłumaczenie
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"/>

b) tłumaczenie
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"/>

b) tłumaczenie
NAZWA -> nazwa ataku magicznego (np. Fireball), aby dowiedzieć się jaką nazwę ma Twój atak magiczny zajrzy do:
Kod:

data/spells/spells.xml

i odnajdź linijkę np.:
Kod:

<instant name="Flame Strike"

Kod:

<rune name="Light Magic Missile"

Kod:

<rune name="mana drain"

Kod:

<instant name="hydra poisonwave"

W tym wypadku Flame Strike, Light Magic Missile, mana drain, hydra poisonwave to NAZWA czaru.
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">

b) tłumaczenie
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"/>

b) tłumaczenie
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"/>

b) tłumaczenie
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>


Nowo powstale forum!
http://www.supportibiaots.pun.pl/forums.php
http://www.iv.pl/images/kb4upha73rb78q7u7lrp.jpg

Offline

 

#3 2009-05-26 18:29:38

Dark Magican

Administrator

Zarejestrowany: 2009-05-25
Posty: 40
Punktów :   

Re: Jak Zrobic Potwora

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>

b) tłumaczenie
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
8. Summony ( można ten fragment kodu pominąć )

Aby dodać summony rozpoczynamy:
a) kod
Kod:

<summons max="SUMMONMAX">

b) tłumaczenie
SUMMONMAX -> ile maksymalnie potwór może przywołać wszystkich summonów

Teraz już zajmiemy się rodzajami summonów:
a) kod
Kod:

<summon name="NAZWA" interval="CZAS" chance="SZANSA"/>

b) tłumaczenie
NAZWA -> nazwa potwora, który ma być przywołany
CZAS -> co jaki CZAS ma być podjęta próba przywołania summona
SZANSA -> jaka jest SZANSA na powodzenia przywołania
Można oczywiście dodać więcej niż 1 typ summona, wtedy będą one losowane.
Na końcu dodajemy:
Kod:

</summons>




9. Głosy ( ten fragment kodu można pominąć )

Jeżeli chcemy, aby potwór wydawał głosy to zacznijmy od:
a) kod
Kod:

<voices interval="CZAS" chance="SZANSA">

b) tłumaczenie
CZAS -> co jaki CZAS potwór ma próbować coś powiedzieć.
SZANSA -> jaka jest SZANSA na powodzenie.

Teraz dodajemy sentencję:
a) kod
Kod:

<voice sentence="TEKST"/>

b) tłumaczenie
TEKST -> tekst, który ma być wypowiedziany.
Można oczywiście dodać więcej niż 1 sentencję, wtedy będą one losowane.
Na koniec dodajemy:
Kod:

</voices>


10. Loot

Teraz trzeba ustalić, co wypada z potwora, gdy go zabijemy.
Rozpocznijmy od:
Kod:

<loot>

Teraz dodajmy jakiś przedmiot, który ma kilka sztuk ( np. pieniądze, strzały, runy ):
a) kod
Kod:

<item id="ID" countmax="MAX" chance1="SZANSA" chancemax="0"/>

b) tłumaczenie
ID -> ID przedmiotu, który ma wypaść ( najlepiej sprawdzić w Map Editorze )
MAX -> jaka największa liczba tego przedmiotu może wypaść
SZANSA -> jaka jest SZANSA, że dany przedmiot wypadnie ( 100000 to największa, im niżej, tym rzadziej będzie wypadać )

Teraz dodajmy przedmiot, który ma tylko jedną sztukę:
a) kod
Kod:

<item id="ID" chance="SZANSA"/>

b) tłumaczenie
ID -> ID przedmiotu, który ma wypaść ( najlepiej sprawdzić w Map Editorze )
SZANSA -> jaka jest SZANSA, że dany przedmiot wypadnie ( 100000 to największa, im niżej, tym rzadziej będzie wypadać )

A co gdy chcemy zrobić worek? ( ID => 1987 )
Dodajemy następujący kawałek kodu:
Kod:

<item id="1987" chance="100000">
        <inside>
        </inside>

Gdy już to mamy, pomiędzy klamry <inside></inside> dodajemy przedmioty tak, jak pokazane jest to kilka- kilkanaście linijek wyżej.

Wszystko kończymy:
Kod:

</item>
    </loot>
  </monster>



11. Przykład.
Kod:

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Czarny Kruk" nameDescription="a czarny kruk" tp="1" race="blood" experience="5" speed="200" manacost="0">
<health now="20" max="20"/>
<look type="122" head="0" body="0" legs="0" feet="0" corpse="4298"/>
<targetchange interval="1000" chance="0"/>
<strategy attack="100" defense="0"/>
<flags>
      <flag summonable="0"/>
      <flag attackable="1"/>
      <flag hostile="1"/>
      <flag illusionable="1"/>
      <flag convinceable="0"/>
      <flag pushable="1"/>
      <flag canpushitems="0"/>
      <flag canpushcreatures="0" />
      <flag staticattack="50"/>
      <flag targetdistance="1"/>
      <flag runonhealth="0"/>
</flags>
<attacks>
<attack name="melee" interval="2000" min="-1" max="-6"/>
</attacks>
<defenses armor="4" defense="9">
<defense name="haste" interval="3000" chance="80"/>
</defenses>
<immunities>
      <immunity physical="0"/>
      <immunity energy="0"/>
      <immunity fire="0"/>
      <immunity poison="1"/>
      <immunity lifedrain="0"/>
      <immunity paralyze="0"/>
      <immunity outfit="1"/>
      <immunity drunk="1"/>
      <immunity invisible="0"/>
</immunities>
<voices interval="4000" chance="40">
<voice sentence="Kra, kra..."/>
</voices>
<loot>
<item id="2148" countmax="3" chance1="100000" chancemax="100000"/>
</item>
</loot>
</monster>


12. Podsumowanie.

Skończyłeś już robić swojego potwora, teraz wystarczy dodać go do Map Editora, ale o tym opowiada już poradnik -Siwka- :
Kod:



Stawiasz na mapie i cieszysz się własnym monsterem.
Mam nadzieję, że tym poradnikiem pomogłem chociaż jednej osobie, bo wtedy trud, jaki włożyłem w powstanie tutoriala, nie pójdzie na marne.
Proszę o komentarze oraz opisy błędów, które na pewno przytrafiły mi się przy takim tekście.


Nowo powstale forum!
http://www.supportibiaots.pun.pl/forums.php
http://www.iv.pl/images/kb4upha73rb78q7u7lrp.jpg

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.bezplatne.pun.pl www.hssnysa.pun.pl www.sampowicze.pun.pl www.wyjazddoaustrii.pun.pl www.longiju2009-godmt2.pun.pl