by Lava Del'Vortel (oparte na pracy CamDawg)
Wersja 1.0


I. WSTĘP:


Ten tutorial pokaże Wam jak przekształcić zaklęcie magii objawionej lub mistycznej na zdolność specjalną czyli po angielsku "innate ability" w skrócie po prostu "innate".



II. DO CZEGO TO MOŻE SIĘ PRZYDAĆ?


Gotową umiejętność później możemy dać wybranej postaci (przez jej edycję) lub postaci NPC którą tworzymy. Nie wszystkie zaklęcia z gry mają swój odpowiednik w innate. Jest to dobre wyjście dla osób nie umiejących stworzyć całkowicie nowych zdolności specjalnych, lub sądzących, że istniejące już zaklęcie dobrze taką umiejętność zastąpi.



III. TREŚĆ PLIKU INSTALACYJNEGO:


Aby dodać do gry nową umiejętność specjalną której bazą będzie istniejące już zaklęcie do pliku instalacyjnego czyli .tp2 dopisujemy ten oto blok:



COPY_EXISTING ~SPWI333.spl~ ~override/Lava01.spl~ // stary plik zajlęcia-bazy i miejsce + nowy plik umiejętności
WRITE_SHORT 0x1C 4 // ustawia typ zaklęcia jako 4 czyli innate
WRITE_LONG 0x34 1
READ_LONG 0x64 "offset_abil"
READ_SHORT 0x68 "num_abil"
READ_ASCII ("%offset_abil%" + 0x04) "bam"
WRITE_EVALUATED_ASCII 0x3A "%bam%"
SAY NAME1 ~XXX~
// Gdzie XXX to nazwa nowej umiejętności
SAY NAME2 ~XXX~ // Gdzie XXX to nazwa nowej umiejętności
SAY UNIDENTIFIED_DESC ~XXX~ // XXX to opis gdy niezidentyfikowano umiejętności (można pominąć)
SAY DESC ~XXX~ // Gdzie XXX to opis umiejętności
WHILE (0 < "%num_abil%")
BEGIN
WRITE_SHORT (("%offset_abil%" + 0x02) + (("%num_abil%" - 1) * 0x28)) 4
// Dodaje ikone zaklęcia mist./obj. do ikon innate

SET "num_abil" = ("%num_abil%" - 1)
END


Praktycznie zmienia się tylko nazwa nowego pliku .spl, nazwa umiejętności i jej opis. Wszystko inne może zawsze być takie samo.
Możemy ten blok dodać do instalki naszego NPC, lub zrobić dla niego osobną instalkę. Instalka by wyglądała po prostu tak:



BACKUP ~New Innate\backup~
AUTHOR ~Lava Del'Vortel~
BEGIN ~Nowa umiejętność specjalna w BG2~

COPY_EXISTING ~SPWI333.spl~ ~override/Lava01.spl~
WRITE_SHORT 0x1C 4
WRITE_LONG 0x34 1
READ_LONG 0x64 "offset_abil"
READ_SHORT 0x68 "num_abil"
READ_ASCII ("%offset_abil%" + 0x04) "bam"
WRITE_EVALUATED_ASCII 0x3A "%bam%"
SAY NAME1 ~XXX~
SAY NAME2 ~XXX~
SAY UNIDENTIFIED_DESC ~XXX~
SAY DESC ~XXX~
WHILE (0 < "%num_abil%")
BEGIN
WRITE_SHORT (("%offset_abil%" + 0x02) + (("%num_abil%" - 1) * 0x28)) 4
SET "num_abil" = ("%num_abil%" - 1)
END

Poza tym plikiem .tp2 będziemy potrzebowali pustego folderu (w tej przykładowej instalce to folder "New Innate") i samego pliku WeiDU.



IV. ZAKOŃCZENIE:


Sama umiejętność nam się nie przyda raczej chyba, że dacie ją później przez np. Shadow Keepera jakiejś postaci, może być to jednak przydatna możliwość szybkiego stworzenia innate dla NPC. Możemy później takiemu NPC dać to przez wybrany przez nas program lub po prostu napisać skrypt z akcją AddSpecialAbility("XXX").
Można też dodać, że metoda została pierwotnie stworzona przez CamDawg. Postanowiłem jednak wszystko czytelniej wyjaśnić, przetłumaczyć i przedstawić.




UWAGI:
Marcin: Istnieje jeszcze druga możliwość, aby osiagnąć ten sam efekt.

Podaję na przykładzie zaklęcia regeneracja:

1. Otwieramy DLTCEP klikamy Edit i spell
2. Klikamy Load Spell
3. Wybieramy z listy SPPR711(to jest regeneracja) lub jakieś inne zaklęcie
4. W zakładce General properties w opcji Spell Type zmieniamy na Innate
5. Zapsujemy ten plik pod inną nazwą np: regen.
6. Umieszczamy plik w folderze moda i w pliku .tp2 piszemy:


COPY ~folder moda/regen.spl~ ~override/regen.spl~
SAY NAME1 #10996 // regeneracja
SAY NAME2 #10996 // regeneracja


Tak samo możemy zrobić z każdym czarem.



Podziękowania (za pomocą przycisku POMÓGŁ pod postem), opinie i komentarze