Painkiller

Painkiller => Problemy => Wątek zaczęty przez: ChromeX Marzec 27, 2012, 07:53:04



Tytuł: Własne zadania na kartę
Wiadomość wysłana przez: ChromeX Marzec 27, 2012, 07:53:04
Witam

Mam pytanie co do kart tarota. Otóż zawsze chcialem zrobić dla nich nowe zadania (tzn. np w Lesie nie mogę otrzymać obrażeń albo na cmentarzu zakończyć poziom z 300 hp) jednak nie znam się kompletnie na modding'u w PK.
Slyszałem że podobno da sie zmienić ich wymagania w jakimś programie. Szukałem po necie - nic nie znalazlem.
Czy byłby ktoś w stanie wytłumaczyć mi jakiego programu użyć i JAK to zrobić?

Z góry thx

ChromeX

Podpis pierwsza klasa, sami byśmy nie wpadli po nicku, że tego posta pisał niejaki ChromeX :]
Shadow
Podpisuje sie z przyzwyczajenia :D


Tytuł: Odp: Własne zadania na kartę
Wiadomość wysłana przez: Szowel Kwiecień 22, 2012, 10:07:58
Nikt nie napisał to ja napiszę wkońcu ;P . Więc tak, jak najbardziej da się to zmienić, potrzebny będzie program "Dragon Unpacker".
Więc wchodzisz do katalogu Painkillera, następnie folder data i tam tworzysz nowy folder z nazwą "Levels". Wchodzisz do tego folderu i tworzysz folder z nazwą poziomu który chcesz zmodyfikować np. "C3L1_Train_Station" . Musisz pamiętać aby poprawnie podpisać folder, inaczej silnik gry nie weźmie go pod uwagę i ściągnie dane z pliku .pak . Więc wracasz następnie do katalogu data i tam otwierasz plik "Levels.pak" Dragon Unpackerem. Tam jest spis wszystkich poziomów i właśnie jak wcześniej pisałem o prawidłowym podpisywaniu folderu to w tym pliku masz prawidłowe nazwy folderów. Dobra tam, kolejną rzeczą jaką trzeba zrobić to wejść do poziomu który cie interesuje i wyeksportować plik np. "C3L1_Train_Station.lua" do katalogu Data/Levels/C3L1_Train_Station/. Otwierasz ten plik notatnikiem i na dole jest dział z kartami. wystarczy go podmienić np. z innego poziomu na inny kod np. posłużyłem się kodem z poziomu "Monastery":
Kod:
--============================================================================
-- Soul Power (Keep HP above 50)
function C3L1_Train_Station:GetCardStatus()
local card = self._MagicCard

if Game.CardsAvailable[card.index] then return 1 end

if Player.MinimalHealth < 50 then return 0 end

return -1
end

I od tej pory w poziomie Train Station (Peron) jest zadanie by utrzymywać zdrowie powyżej 50hp. Zadania możesz sobie modyfikować lub kopiować z innych poziomów. Niestety to jeszcze nie koniec  ;) .
Następną rzeczą o jakiej trzeba pamiętać to wyświetlenie zadania w poziomie i menu. Dalej w tym pliku .lua na samej górze znajdziesz linijki:
Kod:
o._MagicCard = MagicCards.permCards[1] -- soul catcher
o._CardTask = Languages.Texts[400]

i teraz tak:
Kod:
MagicCards.permCards[1] 
<-- ta jedynka to numer unikalny karty jaką chcesz zdobyć kończąc poziom. Jeśli zmienisz numer to otrzymasz inną karte.
Kod:
o._CardTask = Languages.Texts[400]
<-- liczba 400 oznacza przynumerowany tekst zadania jaki musisz wykonać.
Tworzysz w folderze "Data" plik "LScripts/Main" i następnie eksportujesz tam z pliku LScripts.pak plik z językiem gry który w folderze LScripts.pak znajduje się w katalogu "Main" i tam przykładowo jeśli używasz polskiej wersji gry to eksportujesz "Lang_Polish.txt" . Po wyeksportowaniu pliku otwierasz go notatnikiem i tam masz przypisane do każdego numeru tekst z zadaniami itd. itd. Ostatnią rzeczą jest jeszcze zmiana napisu celu zdobycia karty w menu z pentagramem i poziomami. w "LScripts" tworzysz folder "HUD" i tam wklejesz plik Levels.lua który znajduje się w pliku LScripts.pak w katalogu "HUD". Otwierasz go i szukasz twojego zmodyfikowanego poziomu. Jeśli znajdziesz to jest tam coś takiego:
Kod:
Languages.Texts[400]
. W tym miejscu liczbe 400 se zmieniasz na odpowiedni numer tekstu jaki chcesz z pliku "Lang_Polish.txt". Zapisujesz i odpalasz gre. Pamiętaj by przed odpaleniem gry zamknąć program Dragon Unpacker  :!: .
To by było na tyle. W razie problemów pisac  :)



Tytuł: Odp: Własne zadania na kartę
Wiadomość wysłana przez: ChromeX Kwiecień 26, 2012, 03:46:57
Hmm przerobiłem sobie więzienie i troszke sie zdziwiłem bo wszystko działało tak jak chciałem ^^
Jednak mógłbyś mi wytłumaczyć jak zrobic np:. dwa zadania jednocześnie na jedną kartę? (i moze jak właczyć dusze na traumie :D )
Z gory thx

EDIT : Jednak już pomocy nie potrzebuje dot. tego tematu. Udało mi się wszystko obcykać :D

Jakby ktoś chciał sobie zobaczyć co wymyśliłem to udostępniam .rar   :)