Tak więc wytłumaczę zasady tworzenia nowych przedmiotów. Nowy przedmiot należy dać w tym samym folderze co inne, a nazwa pliku może być dowolna, ale musi mieć IT_ na początku (a plik ma być w formacie takim jak inne).
INSTANCE RodzajPrzedmiotu_EwentualnyNapisAddonLubInny_NazwaPoAngielsku (C_Item)
INSTANCE musi być, bo to znaczy, że teraz będziemy coś definiować
Nazwa, którą podałem jest tylko sugerowana, może być Dupa, ale jakakolwiek by nie była powinna być czytelna i musi być
unikatowa
(C_Item) mówi Gothikowi, że to jest przedmiot
{
Klamra otwiera definicję przedmiotu
name = "Nazwa";
Jest to nazwa, która jest wyświetlana, gdy przedmiot leży na ziemi,
nie w ekwipunku
mainflag = KATEGORIA_PRZEDMIOTU;
Dzięki temu Gothic wie jak ma traktować ten przedmiot (ogólnie)
Oto kategorie główne występujące w Gothiku:
ITEM_KAT_NF - Broń do walki w zwarciu ("Near Fight")
ITEM_KAT_FF - Broń do walki na odległość ("Far Fight")
ITEM_KAT_MUN - Amunicja do broni do walki na odległość
ITEM_KAT_ARMOR - Zbroje
ITEM_KAT_FOOD - Jedzenie
ITEM_KAT_DOCS - Dokumenty (listy, książki, itd.)
ITEM_KAT_POTIONS - Mikstury
ITEM_KAT_LIGHT - Pochodnie
ITEM_KAT_RUNE - Runy i zwoje
ITEM_KAT_MAGIC - Przedmioty magiczne (pierścienie, amulety, itd.)
ITEM_KAT_NONE - To co nie pasuje nigdzie indziej (np. muszle)
ITEM_KAT_KEYS - klucze
flags = FLAGA;
Dzięki temu Gothic wie jak ma traktować ten przedmiot (szczególnie)
Oto flagi występujące w Gothiku (używane):
Bronie:
ITEM_SWD - Miecze jednoręczne
ITEM_AXE - Topory jednoręczne
ITEM_2HD_SWD - Miecze dwuręczne
ITEM_2HD_AXE - Topory dwuręczne
ITEM_BOW - Łuki
ITEM_CROSSBOW - Kusze
Przedmioty magiczne:
ITEM_RING - Pierścienie
ITEM_AMULET - Amulety
ITEM_BELT - Pasy
Inne:
ITEM_MISSION - Ważne, taki przedmiot nie może być usunięty (czyli np. NPC, który ma taki przedmiot w ekwipunku nie zniknie po śmierci
ITEM_MULTI - Czasami trzeba dać, żeby można było "kumulować" przedmiot w ekwipunku
ITEM_TORCH - Pochodnie
value = Liczba;
Wartość przedmiotu
damagetype = TYP_OBRAŻEŃ;
Tylko do broni, oto typy obrażeń (używane do broni):
DAM_BLUNT - Obuchowe (do młotów, maczug, itp.)
DAM_EDGE - Sieczne (do mieczy, toporów, itp.)
DAM_FIRE - Ogień
DAM_FLY- "Latające", jak się to da, to po trafieniu "delikwent" odlatuje (jak u trolla)
DAM_MAGIC - Magiczne
DAM_POINT - Od pocisków
damageTotal = Liczba;
Obrażenia broni - tylko do broni
damage [TYP_OBRAŻEŃ] = Liczba;
Jeśli broń ma więcej niż jeden typ obrażeń można dla każdego typu ustawić wartość
wear = MIEJSCE_ZAŁOŻENIA;
Od miejsca założenia zależne jest to jak ubierany będzie przedmiot
WEAR_TORSO dla zbroi
WEAR_EFFECT dla amuletów itp.
protection [RODZAJ_OBRAŻEŃ] = Liczba;
Ochrona przed danym typem obrażeń, dla każdego trzeba podać osobno
Rodzaje ochron używane w zbrojach, są takie same jak przy obrażeniach (zamiast DAM, należy wpisać PROT), z tym, że PROT_FLY nie jest używane (czyt. nigdy nie ustawiamy PROT_FLY, ponieważ gdy ochrona celu przed obrażeniami "latającymi" jest wyższa niż obrażenia "latające" przeciwnika, to cel nie poleci)
cond_atr[2] = ATRYBUT;
Atrybut wymagany do założenia przedmiotu (oczywiście tylko przedmioty, które można założyć), tą dwójkę należy zignorować bo to
raczej porzucony pomysł (ale
chyba musi być)
Oto zmienne atrybutów:
ATR_HITPOINTS - Aktualne punkty trafień (moja ulubiona nazwa na punkty oznaczające "poziom życia")
ATR_HITPOINTS_MAX - Maksymalne punkty trafień
ATR_MANA - Aktualna mana
ATR_MANA_MAX - Maksymalna mana
ATR_DEXTERITY - Zręczność
ATR_STRENGTH - Siła
cond_value[2] = Liczba;
Wartość atrybutu ustalonego powyżej, wymagana do założenia
on_equip = Nazwa_Funkcji;
Tu można wpisać nazwę funkcji (tylko nazwę, bez nawiasów), która ma się wykonać po założeniu przedmiotu, oczywiście tylko dla tych przedmiotów, które można założyć
on_unequip = Nazwa_Funkcji;
Jak wyżej, ale przy zdejmowaniu przedmiotu
on_state[0] = Funkcja;
Tylko dla przedmiotów z warunkiem sceneName
Funkcja (bez nawiasów trzeba podać) wykona się podczas "utylizacji" przedmiotu
visual = "Nazwa.3DS";
Nazwa modelu tego przedmiotu (
raczej musi być format .3DS)
visual_change = "Nazwa.ASC";
Model dla zbroi, należy podać nazwę pliku w formacie .ASC
effect = "NAZWA_EFEKTU";
Nazwy efektów można znaleźć w pliku VisualFxInst.d w folderze System
visual_skin = liczba;
Dla sprytnego zmieniania tekstur zbroi, opisane będzie później dokładnie. Powinno być 0.
scemeName = "NAZWA_SCENY";
Przedmiot, który ma coś tu wpisane można "zutylizować" klikając na niego w ekwipunku. Nazw scen najlepiej szukać przy innych przedmiotach
material = MATERIAŁ;
Od tego zależy jakie dźwięki przedmiot będzie wydawał (np. przy upuszczaniu)
Oto materiały jakie występują w grze:
MAT_WOOD - Drewno
MAT_STONE - Kamień
MAT_METAL - Metal
MAT_LEATHER - Skóra (ale i materiał)
MAT_CLAY - Glina (?)
MAT_GLAS - Szkło (?)
munition = Instancja_Amunicji;
Dla broni dystansowych, instancja amunicji do tej broni
spell = Nazwa_Zaklecia;
Dla run i zwojów
range = Liczba;
Zasięg broni (cm), tylko dla broni do walki wręcz
mag_circle = Liczba;
Krąg magii wymagany do użycia przedmiotu (
raczej runy)
description = "Nazwa";
Nazwa w ekwipunku, można też napisać:
description = name;
Wtedy nazwa w ekwipunku jest taka sama jak name
TEXT[Liczba] = Słowo; COUNT[Liczba] = Liczba;
To służy do opisu przedmiotu
TEXT jest z lewej strony i jest tekstem
COUNT jest z prawej strony i jest liczbą
Każdego może być po 6, dając indeks (0-5) ustawia się miejsce, w którym się znajduje (wiersz)
};
Przede wszystkim nowe przedmioty należy tworzyć na bazie starych (kopiować, a następnie przerabiać tylko to, co chce się zmienić).
Tam gdzie napisałem, że coś raczej jest do czegoś znaczy, że nie jestem pewien, ale w oryginale jest tylko tak używane.