Poprzedni temat «» Następny temat
[TUTORIAL] Umiejętność specjalna Instant (na bazie zaklęcia)
Autor Wiadomość
Lava Del'Vortel 
Avatar Sune
Łasiczy Szperacz


Wiek: 28
Posty: 3017
Podziękowania: 183/60
Wysłany: 2008-10-12, 21:40   [TUTORIAL] Umiejętność specjalna Instant (na bazie zaklęcia)

Tutorial zmiany zaklęcia na zdolność specjalną v.1 by Lava Del'Vortel (oparte na pracy CamDawng)

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:

Kod:

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:

Kod:

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ć.
Ostatnio zmieniony przez L`f 2014-04-27, 18:08, w całości zmieniany 6 razy  
Podziękuj autorowi tego posta
 
 
 
Więcej szczegółów
Za tę wypowiedź podziękowali:
Theorp, Alvarez
Marcin 
Feniks


Wiek: 26
Posty: 93
Podziękowania: 15/3
Wysłany: 2008-10-12, 21:54   

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

Podaje 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


Poprawka związana ze sprostowaniem Yarpena
5. Obok jest Level i zmieniamy jego wartośc na 1, podobno taki jest wymóg, choc jeśli tego nie zrobimy to wcale nie oznacza, ze czar nie bedzie działał poprawnie


6. Zapisujemy ten plik pod inną nazwą np: regen.
7. 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 mozemy zrobić z każdym czarem.
_________________
Larsha NPC - Pierwszy polski mod w którym pojawił się romans.
http://wrota.cob.netarteria.pl/dom-driada - o modzie
http://forum.cob.netarteria.pl/viewforum.php?f=126
Ostatnio zmieniony przez Marcin 2008-10-21, 14:02, w całości zmieniany 6 razy  
Podziękuj autorowi tego posta
 
 
 
Yarpen 
Bibliotekarz
Podrywacz znudzonych literatek


Wiek: 27
Posty: 346
Podziękowania: 21/15
Wysłany: 2008-10-18, 13:18   

Marcinie, widzisz, pierwsza metoda stworzona przez CamDawga jest lepsza gdyż:
- wszystko jest robione via WeiDU
- jeśli gracz instalował wcześniej mody które ruszały dane zaklęcie, odpowiednik czaru jako zdolności wrodzonej również będzie zmodyfikowany - co dosyć pozytywnie wpływa na całkowity odbiór czaru.
- obaj pominęliście w opisach zmianę poziomu czaru na 1. Tzn. Lava uznał WRITE_LONG 0x34 1 za niezrozumiały bełkot, a Marcin po prostu tego nie zrobił.

Wszystkie zdolności wrodzone muszą mieć poziom 1, w innym przypadku robi się z nimi syf.

Nie rozumiem sensu ponownego pisania tego tutoriala, chyba kiedyś takowy tłumaczyłem. :roll:
http://forum.biblioteka.a...opic.php?t=1644

Yarpen uznał całą sprawę tutorialu za zakończoną (w SB). Dodany został do tematu dopisek, że tutorial powstał na podstawie materiałów CamDawg'a. Uznałem, że wydzielenie poniższej wymiany zdań mija się z celem (nijak się nie nadaje nawet do Archiwum...), dlatego pobawiłem się trochę nożyczkami i poniższy offtop poszedł w pioruny.

Tematy tutoriali są otwarte, aby można było je komentować, nie służą one do obrzucania się absurdalnymi zarzutami. - L`f
_________________
"Yarpen przedstawiony jest jako kawał sukinsyna i prostaka, ale w gruncie rzeczy porządnego. Cechuje go rubaszny humor, potrafi jednak być poważny i szczery."
Ostatnio zmieniony przez L`f 2008-10-19, 17:26, w całości zmieniany 1 raz  
Podziękuj autorowi tego posta
 
 
 
Ruffle_truffle 


Wiek: 29
Posty: 725
Podziękowania: 24/67
Skąd: Podkarpacie
Wysłany: 2016-06-20, 13:46   

Chyba dobrze trafiłem.

Utworzyłem podklasę "Uczeń srebrnego smoka" (więcej szczegółów w >Pytaniach i poradach dotyczących tworzenia podklas<), moje zaklęcia, właściwie wszystko przerobione na Innate (Spell type, Location), nie chcą się dodać do postaci, mimo tego, że dałem np. GA_silspel1

Coś tu nie gra. Czyżby chodziło o: "Wszystkie zdolności wrodzone muszą mieć poziom 1, w innym przypadku robi się z nimi syf"?

Spróbuję zmniejszyć nieco ilość znaków w nazwie, z 8 na 7.
_________________
Nie pożądaj nimfy druida swego.
Podziękuj autorowi tego posta
 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  
Powered by phpBB modified by Przemo © 2003 phpBB Group