Strona Główna


UżytkownicyUżytkownicy  Regulamin  ProfilProfil
SzukajSzukaj  FAQFAQ  GrupyGrupy  AlbumAlbum  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj
Winieta

Poprzedni temat «» Następny temat
Parada oszustów, czyli jak robimy twórców gry w konia.
Autor Wiadomość
ilcattivo13 
Wirtualny Suwalski Niedźwiedź


Posty: 17772
Skąd: Suwałki (k. Dowspudy)
Wysłany: 23 Października 2009, 09:07   

jesli chodzi o modyfikowanie RAMu, to ze starymi grami może być problem. Najpewniejszy sposób to edycja hexów
_________________
DVRVM CACANTES MONVIT VT NITANT THALES
 
 
dzejes 
prorok


Posty: 10065
Skąd: City
Wysłany: 23 Października 2009, 09:09   

Ja tylko UFO: Enemy unknown rozbiłem na hexy. Zacząłem od kasy, potem już dodawałem sobie konkretne uzbrojenie, budowałem bazy wedle potrzeby i tak dalej.
_________________
If we shadows have offended,
Think but this, and all is mended,
That you have but slumber'd here
While these visions did appear.
 
 
ketyow 
Jim Raynor


Posty: 11344
Skąd: z domu
Wysłany: 23 Października 2009, 09:48   

ilcattivo13 napisał/a

to nie edycja hexów, tylko modyfikowanie zawartości RAMu ;P

No tak. W zasadzie miałem namyśli cel, który chcemy osiągnąć. Zarówno edytując pliki gry jak i korzystając z MTC dążymy do tego samego efektu. Program po prostu odwala za nas najgorszą (choć i najbardziej satysfakcjonującą) część roboty :P
_________________
http://ketyow.deviantart.com
http://www.biblionetka.pl/
 
 
 
ilcattivo13 
Wirtualny Suwalski Niedźwiedź


Posty: 17772
Skąd: Suwałki (k. Dowspudy)
Wysłany: 24 Października 2009, 15:53   

Kolejna porcja łakoci:

Gra: Blood Bowl. Jeszcze z nią nie skończyłem :twisted:

Cel: Brutalizujemy rozgrywkę. W obie strony. :twisted:

Narzędzie: Windoza

Działanie:

1. Edytujemy plik "match.xml", znajdujący się w katalogu "Data", w podkatalogu "Match".

2. znajdujemy na końcu pliku taki oto wpis:
Cytat
<ProbabilitiesInjuryTypes>
<RT>
<Stun>0</Stun>
<KO>11</KO>
<Casualty>12</Casualty>
</RT>
<TT>
<Stun>0</Stun>
<KO>8</KO>
<Casualty>10</Casualty>
</TT>
</ProbabilitiesInjuryTypes>


3. W zależności od preferowanego typu rozgrywki zmieniamy część "RT" (real-time) lub "TT" (turowa), zmniejszając progową szansę dla "Stun" (ogłuszony), "KO" (znokautowany) i "Casualty" (ranni i zabici). Na przykład na:
Cytat
<ProbabilitiesInjuryTypes>
<RT>
<Stun>0</Stun>
<KO>11</KO>
<Casualty>12</Casualty>
</RT>
<TT>
<Stun>0</Stun>
<KO>3</KO>
<Casualty>5</Casualty>
</TT>
</ProbabilitiesInjuryTypes>


4. Zapisujemy zmiany. Odpalamy grę i pławimy się po pas we flakach :twisted: Bo-na-petyt :wink:
_________________
DVRVM CACANTES MONVIT VT NITANT THALES
 
 
ketyow 
Jim Raynor


Posty: 11344
Skąd: z domu
Wysłany: 24 Października 2009, 16:24   

Ja zawsze w plikach gry szukam konfiguracyjnych. Bardzo często jest dużo opcji, których nie da się zmienić w menu gry. Można wyłączyć drażniącego blura, albo mocno podkręcić grafikę (przykładowo Bioshocka podrasowałem tak, że był niegrywalny na moim R4850 :D ).
_________________
http://ketyow.deviantart.com
http://www.biblionetka.pl/
 
 
 
ilcattivo13 
Wirtualny Suwalski Niedźwiedź


Posty: 17772
Skąd: Suwałki (k. Dowspudy)
Wysłany: 24 Października 2009, 16:55   

część gier jest tak zrobiona, jak piszesz. Ale sporo nie ma jakiegoś wydzielonego pliku .ini, albo choćby .txt. Poza tym, w 90% znanych mi przypadków pliki konfiguracyjne mają zapisane tylko ustawienia grafiki, audio i jakieś drobne rzeczy typu poziom trudności czy wybór języka. Żeby zrobić coś naprawdę sensownego, trzeba sięgnąć głębiej. Do skryptów, albo tabel baz danych.
Z drugiej strony, są też takie gry, jak będąca u mnie obecnie na rozkładzie BloodBowl, gdzie spora część ustawień konfiguracyjnych jest porozbijana na kilka/kilkanaście plików dotyczących poszczególnych fragmentów gry.
Na przykład, żeby wyłączyć nużące i niepotrzebne powtórki akcji w czasie meczu, trzeba w już wspomnianym pliku "match.xml" zmienić zapis segmentu:
Cytat
<InstantReplay>
<Touchdown>1</Touchdown>
<KnockOut>1</KnockOut>
<Casualty>1</Casualty>
<Catch>1</Catch>
<Interception>1</Interception>
</InstantReplay>

(który notabene znajduje się zaraz po modyfikowanym kilka postów wyżej segmencie "<ProbabilitiesInjuryTypes>"). Ofkorz zmieniamy "1" na "0", czyli zapis przybierze formę:
Cytat
<InstantReplay>
<Touchdown>0</Touchdown>
<KnockOut>0</KnockOut>
<Casualty>0</Casualty>
<Catch>0</Catch>
<Interception>0</Interception>
</InstantReplay>
_________________
DVRVM CACANTES MONVIT VT NITANT THALES
 
 
ketyow 
Jim Raynor


Posty: 11344
Skąd: z domu
Wysłany: 24 Października 2009, 17:11   

No i właśnie często gry posiadają takie pliki jak parametry broni, pojazdów etc. tylko wbite w jakiś plik *.dat (etc.) skompresowany unikatowym pakerem. Do niejednej gry możemy znaleźć pierdółki rozpakowujące to, dzięki czemu mamy dostęp do tychże plików czy np. ścieżki dźwiękowej. Przykładem może być ta Diuna o której wspomniałem, gdzie piraci postarali się już o to by wewnętrzne pliki gry były dostępne dla usera. Tu nie pomoże już np. edycja hexów, bo nie znamy szukanej wartości (np. zasięg Kobry - widzimy tylko na oko ile cm po ekranie sunie pocisk). Ale tak zaawansowany w te klocki nie jestem, żeby samemu się dobrać bez pomocy żadnego programiku do ukrytych/zablokowanych przez autorów plików :P Ale chyba w każdej grze grzebię na tyle, na ile to możliwe i szukam nowych możliwości dla rozgrywki :)
_________________
http://ketyow.deviantart.com
http://www.biblionetka.pl/
 
 
 
ilcattivo13 
Wirtualny Suwalski Niedźwiedź


Posty: 17772
Skąd: Suwałki (k. Dowspudy)
Wysłany: 25 Października 2009, 15:37   

wiesz, czasami sobie myślę, że takie "chowanie" parametrów gry czy jej ustawień w szyfrowanych czy specjalnie spakowanych plikach jest po prostu próbą ukrycia nieudolności programistów. Tak są robione prawie wszystkie gry z Rosji. Tak są często robione "niewypały" germańców. Ile w tym jest sensu - raczej mało. Bo jeśli dostęp do plików i ich modyfikacja byłyby nieograniczone, to przynajmniej userzy mogliby tworzyć nieoficjalne patche czy mody poprawiające rozgrywkę. Przez co gry byłyby ciągle w użyciu, jak np. gry Troiki/Black Isle, a nie kończyły jak np. (po) twory typu niemieckiego "Ground Zero".

A wracając do moich wczorajszych modyfikacji w pliku "match.xml". Gra stała się naprawdę brutalna. Dwa mecze wygrałem technicznym walkowerem (bo przeciwnikowi, mocnym krasnoludom i drużynie chaosu, "zdjąłem" wszystkich zawodników z pola (średnio 3 trupy i pozostali ranni). Sam też kilku bym stracił, ale od czego są aptekarze? Za to zdecydowanym plusem modyfikacji jest skrócenie czasu meczu. Ze średnio godziny, do 25 - 35 minut.
Druga modyfikacja usunęła głupie replaye akcji, ale niestety nie znikło pokazywanie boksów i cheerleaderek. No nic. Trzeba będzie pogmerać głębiej.
_________________
DVRVM CACANTES MONVIT VT NITANT THALES
 
 
ketyow 
Jim Raynor


Posty: 11344
Skąd: z domu
Wysłany: 25 Października 2009, 18:08   

ilcattivo13 napisał/a
wiesz, czasami sobie myślę, że takie chowanie parametrów gry czy jej ustawień w szyfrowanych czy specjalnie spakowanych plikach jest po prostu próbą ukrycia nieudolności programistów.


Zgodzę się, a szczególnie dobrym przykładem niech będzie wspominana już Diuna, w której plikach natrafiłem na porzucone pojazdy i budynki. Choć pomimo tego gra jest jednym z moich ulubionych RTS. Ogólnie mówiąc o grzebaniu w grach, czasami sprawia to więcej przyjemności niż sama gra ;)
_________________
http://ketyow.deviantart.com
http://www.biblionetka.pl/
 
 
 
ilcattivo13 
Wirtualny Suwalski Niedźwiedź


Posty: 17772
Skąd: Suwałki (k. Dowspudy)
Wysłany: 25 Października 2009, 18:55   

wcale nie czasami. Dla mnie gra, w której porządnie nie pogmerałem, to gra stracona ;P:

A co do rzeczy stworzonych i zapisanych, a niewykorzystanych w grze, to debeściakiem jest "Hired Guns: tJE" - jest trochę broni, wyposażenia i innych rzeczy... oraz pełny skład najemników z AIM z "Jagged Alliance 2" :| W dodatku w plikach panuje taki burdel, że nie ma się co dziwić, że gra bez bugów się w ogóle udaje. Choć nie mnie, więc to nie jest fakt potwierdzony :wink:
_________________
DVRVM CACANTES MONVIT VT NITANT THALES
 
 
ketyow 
Jim Raynor


Posty: 11344
Skąd: z domu
Wysłany: 5 Listopada 2009, 21:46   

ilcattivo13 napisał/a

co do flopków (choć bardziej ta część rozmowy pasuje do Parady oszustów...)... słowo może i by miało 9 liter, ale to nie książka, gdzie tekst pisany jest jednym ciągiem, więc dochodzą skrypty odpowiedzialne za dialogi, zmiany w fabule, itp. (co może zwiększyć program co najmniej dziesiątki czy setki razy - jeśli bawiłeś się programowaniem, to wiesz o co biega). I jeszcze jeden mały szczegół - jak przykładowe 9 literowe słowo będzie zapisane w pliku. Jak się otwiera pliki hexeditem, to czasami zapis (np. dane misji w niektórych strategiach SSI) jest moooocno rozciągnięty, bo poszczególne literki mają kilkubajtowe odstępy (nie wiem dlaczego tak jest, ale zdarza się), do tego odpowiednio większe odstępy pomiędzy poszczególnymi słowami i zdaniami. I koniec końców z 15 dyskietek zrobi nam się 1500 dyskietek, albo i jeszcze lepiej.


Bawię się w programowanie i wiem, że rozciąga się to co nie powinno, ale tak naprawdę zmierzając ku celowi dyskusji, to jednak nie pojemność dyskietek była przeszkodą dla dialogów. Wszystko tak czy siak jest w tych grach szczelnie kompresowane, i nikt nie kazał dawać dialogów tyle co w Tormencie. Gry te przewidziane zostały na brak dialogów od początku i już. Bo chcieć to móc, zwłaszcza biroąc pod uwagę jakie cuda w tamtych czasach tworzyli programiści, by obszerne i niezwykłe gry działały na tak słabych sprzętach. Wielogodzinowe, dniowe i jeszcze dłuższe rozgrywki pakowano na 2-3 dyskietki, z paroma modułami, klikunastoma samplami i czasem pokaźną gromadą tekstur. Poza tym teksty nie lądowały z grą w pliku exe, a w jakichś datach, etc. spakowane unikatowym pakerem, gdzie długość jednego znaku to 1 bajt, po kompresji średnio nawet mniej. Część może iść do maina, nieraz bawiąc się w edit hexów widać słówka, ale to by było nieefektywne. W niejednej grze natknąłem się nawet na to, że teksty leżały luzem w plikach, a ja wtedy takie gry sobie nawet tłumaczyłem. Zatem, żadne 1500 dyskietek :)
_________________
http://ketyow.deviantart.com
http://www.biblionetka.pl/
 
 
 
ilcattivo13 
Wirtualny Suwalski Niedźwiedź


Posty: 17772
Skąd: Suwałki (k. Dowspudy)
Wysłany: 25 Listopada 2009, 21:29   

Kiedyś już o tym wspominałem, ale skoro znowu sobie grę przypominam, to może i to przypomnę.

Gra: Rome: Total War (ale można też podciągnąć pod Medieval 2: Total War, bo silnik jest praktycznie niezmieniony)

Cel: super-duper-celna amunicja

Narzędzie: edytor tekstu (np. Notatnik)

Działanie:

1. w katalogu "data" (u mnie ścieżka wygląda tak: "D:\RomeTW\data") znajdujemy i otwieramy plik "descr_projectile_new.txt" (w sumie, to najpierw wypadałoby zrobić kopię, ale co mi tam).

2. Zmieniamy wartości dla "accuracy_vs_units" i "accuracy_vs_buildings" na możliwie bliskie zeru (wystarczy np. "0,001").

przykład dla głazów do katapult napisał/a
projectile boulder

effect boulder_set
end_effect boulder_explosion_set
damage 70
damage_to_troops 8
radius 0.3
mass 0.1
area 2.0
accuracy_vs_units 0.09
accuracy_vs_buildings 0.0625
min_angle 0
max_angle 70
velocity 61
bounce 0.5 0.6 0.5 0.4
display aimed
effect_only


Po zmianie będzie wyglądało tak:

Cytat
projectile boulder

effect boulder_set
end_effect boulder_explosion_set
damage 70
damage_to_troops 8
radius 0.3
mass 0.1
area 2.0
accuracy_vs_units 0.001
accuracy_vs_buildings 0.001
min_angle 0
max_angle 70
velocity 61
bounce 0.5 0.6 0.5 0.4
display aimed
effect_only
.

3. Czynność powtarzamy przy innych amunicjach, z tym, że lepiej dać sobie na spokój ze strzałami do łuków, bełtami do kusz, oszczepami i kamieniami do proc - krótko mówiąc, lepiej ograniczyć się do artylerii. Z drugiej strony, po zmianie każdej amunicji bitwy stają się dużo bardziej adrelinotwórcze (zwłaszcza jak się gra Rzymianami).

4. Część amunicji ma predefiniowaną (w innym pliku/ach) celność, np. strzały. Ale i to można obejść. Wystarczy przed linijką z "min_angle" wkleić linijki z "accuracy_vs_units" i "accuracy_vs_buildings".

strzały przed zmianami napisał/a
projectile arrow

;effect default_arrow_trail_set
effect_offset -1.5
damage 0
radius 0.1
affected_by_rain
min_angle -60
max_angle 60
velocity 48
display particle_trail
triangle
texture data/textures/arrow_test.tga
tail 0.3
length 2.5
tail_tex0 0 0.0
tail_tex1 0 0.25
head_tex 1 0.125
end


i po zmianach napisał/a
projectile arrow

;effect default_arrow_trail_set
effect_offset -1.5
damage 0
radius 0.1
affected_by_rain
accuracy_vs_units 0.001
accuracy_vs_buildings 0.001
min_angle -60
max_angle 60
velocity 48
display particle_trail
triangle
texture data/textures/arrow_test.tga
tail 0.3
length 2.5
tail_tex0 0 0.0
tail_tex1 0 0.25
head_tex 1 0.125
end


5. Jak widać, możemy też zmienić zadawane przez amunicję obrażenia, kąt ostrzału (przydatny przy zdobywaniu umocnień i murów), czy np. prawdopodobieństwo i ilość "kaczuszek" :wink: zrobionych przy pomocy katapultowanych głazów (linijka "bounce" - spróbujcie to zrobić dla zwykłych strzał ;P: )

6. Plik zapisujemy i odpalamy grę. Najlepiej wtedy zacząć grę od nowa, żeby uniknąć różnych przykrych niespodzianek.
_________________
DVRVM CACANTES MONVIT VT NITANT THALES
 
 
ilcattivo13 
Wirtualny Suwalski Niedźwiedź


Posty: 17772
Skąd: Suwałki (k. Dowspudy)
Wysłany: 25 Listopada 2009, 21:53   

i od razu drugi pliczek z gry - "descr_strat.txt", który możemy znaleźć w "D:\RomeTW\data\world\maps\campaign\imperial_campaign"

tutaj można zmienić ustawienia początkowe kampanii głównej:

- odblokować frakcje (wyciąć je z sekcji "unlockable" i "nonplayable" i wkleić do "playable") - można to zrobić z każdą oprócz "romans_senate" i "slaves".

- wydłużyć lub skrócić rozgrywkę,

- zmienić prawdopodobieństwo pojawiania się buntowników i piratów (linijki "brigand_spawn_value" i "pirate_spawn_value") - im liczba mniejsza, tym prawdopodobieństwo większe. Ja mam piratów ustawionych na "999" i buntowników na "1" - bo bitwy morskie mnie wkurzają, za to nigdy nie mam dość potyczek na lądzie :) ;

- zmienić ustawienia początkowe każdej z frakcji:
- - ilość denarów na początku rozgrywki, wielkość miast (tu trzeba uważać, żeby rodzaj budowli i liczebność mieszkańców pasowały do predefiniowanej wielkości miasta),

- - zmienić charakterystyki początkowych członków rodzin/generałów/urzędników. Można wstawić do 8 "ancillaries", mniej więcej tyle samo "traits" (sama gra pozwala na dowolną liczbę, ale jeśli przekroczymy pewną [nie chciało mi się sprawdzać] ilość znaków w linii, to nie odpalimy kampanii). Wszystkie dostępne "ancillaries" (wraz z opisem) są zapisane w pliku "export_descr_ancillaries.txt" (w katalogu "data"), obok też znajdziemy plik "export_descr_character_traits.txt" z "traits" (tu również są dostępne opisy i poziomy). Uważać jedynie trzeba na wiek postaci - u mnie każda zmiana uniemożliwiała uruchomienie kampanii.

Jedyne czego w tym pliku nigdy nie ruszałem, to surowce i siedem cudów. Bo dlaczego miałbym pozbawiać Kartagińczyków słoni, skoro tak fajnie się palą? :twisted:

Ogólnie rzecz biorąc - wszystkie części Total War, oprócz "Empire TW" są ekstremalnie łatwo modowalno-cheatowalne. Wszystkie pliki odpowiedzialne za silnik rozgrywki są zapisane jako "txt" i dopiero w "Empire" zaczęto je dodatkowo pakować.
_________________
DVRVM CACANTES MONVIT VT NITANT THALES
 
 
Fidel-F2 
Wysoki Kapłan Kościoła Latającego Fidela


Posty: 37549
Skąd: Sandomierz
Wysłany: 25 Listopada 2009, 21:56   

pozaglądałem w te pliki i faktycznie łatwo to pozmieniac ale ja nie lubię, nie chciało by mi się potem grać
_________________
Jesteśmy z And alpakami
i kopyta mamy,
nie dorówna nam nikt!
 
 
ilcattivo13 
Wirtualny Suwalski Niedźwiedź


Posty: 17772
Skąd: Suwałki (k. Dowspudy)
Wysłany: 25 Listopada 2009, 22:12   

mnie najpierw wkurzyła niecelność "artylerii", zwłaszcza tej większego kalibru i tylko to zmieniałem. A potem już gmerałem gdzie się dało :D
Ale ja dziwny jestem, często bardziej wolę gmerać niż grać.
_________________
DVRVM CACANTES MONVIT VT NITANT THALES
 
 
ketyow 
Jim Raynor


Posty: 11344
Skąd: z domu
Wysłany: 26 Listopada 2009, 00:50   

ilcattivo13, mam tak samo. Potrafiłem godziny spędzić dopasowując rozgrywkę w Emperor Battle for Dune, by potem nawet dużo nie grać, poza wnikliwymi testami tych ustawień. Podobnie miałem przy sieciowej rozgrywce w Fallouta Tacticsa, gdzie godzinami tworzyłem postacie, testowałem je jakiś czas i znów od początku tworzyłem szukając najbardziej morderczego buildu - dla samej satysfakcji. Doprowadziło to do tego, że nikt nie chciał ze mną grać, dopóki nie zrobiłem postaci także przeciwnikom :D
_________________
http://ketyow.deviantart.com
http://www.biblionetka.pl/
 
 
 
ilcattivo13 
Wirtualny Suwalski Niedźwiedź


Posty: 17772
Skąd: Suwałki (k. Dowspudy)
Wysłany: 26 Listopada 2009, 20:08   

zacytuję mojego przyjaciela: "Dobrze wiedzieć, że masz tę samą, wstydliwą, przypadłość" :wink:
_________________
DVRVM CACANTES MONVIT VT NITANT THALES
 
 
ketyow 
Jim Raynor


Posty: 11344
Skąd: z domu
Wysłany: 26 Listopada 2009, 21:46   

A to jeśli o wstyd chodzi, to w simsach też budowałem godzinami domy, wille itd. Nie jest to gra w którą grałem dłużej, ale wstukanie kodu na forsę i zabawa w architekta zawsze sprawiała mi przyjemność :) To na tej samej zasadzie, co z tym przerabianiem ustawień w grze. Nie trzeba wiele przy grze spędzić, ale ważne jest to, że czujesz, że po Twojemu jest lepiej, niż było w zamierzeniu twórców :)
_________________
http://ketyow.deviantart.com
http://www.biblionetka.pl/
 
 
 
ilcattivo13 
Wirtualny Suwalski Niedźwiedź


Posty: 17772
Skąd: Suwałki (k. Dowspudy)
Wysłany: 26 Listopada 2009, 21:59   

prawie gadasz, dać Ci wódki! :D
_________________
DVRVM CACANTES MONVIT VT NITANT THALES
 
 
ketyow 
Jim Raynor


Posty: 11344
Skąd: z domu
Wysłany: 26 Listopada 2009, 22:13   

Dzisiaj tylko syropek i herbata z cytryną :D Aż mnie naszło na grzebanie, ale nie ma w czym grzebać - żadnej gry nie mam zainstalowanej :(
_________________
http://ketyow.deviantart.com
http://www.biblionetka.pl/
 
 
 
ilcattivo13 
Wirtualny Suwalski Niedźwiedź


Posty: 17772
Skąd: Suwałki (k. Dowspudy)
Wysłany: 6 Stycznia 2010, 00:54   

Ciąg dalszy grzebania w Total War (niech będzie, że w Rome).

Dziś odmładzamy kadrę dowódczą. W pliku "descr_strat.txt", znajdujemy linijkę z danymi generała, dajmy na to

Cytat
character Hanno, named character, leader, age 65, , x 96, y 49


wiek startowy, to 65 lat. Możemy go obniżyć, ale trzeba pamiętać o jednej, podstawowej zasadzie - musimy zachować 17-18 lat różnicy pomiędzy pokoleniami. Pokolenia są na samym końcu danych o frakcji, tuż pod danymi o "nielatach". Modyfikację zaczynamy od "nielatów" - najlepiej ustawić wiek na "15" (szesnaście lat to próg wejścia w dorosłość - ustawienie tego lub wyższego wieku u "nielata" spowoduje błąd i niezaładowanie się gry), potem ich rodzicom wstawiamy po 32 - 33 lata, a głowie rodu 49 - 50. I tak, rodzinka będzie żyła przynajmniej 30 tur (ci co na starcie nie mieli dzieci nawet więcej) dłużej per capita (jak nie zdarzy się przedwczesny zgon).

I to by było chyba na tyle, jeśli chodzi o grzebanie w TW (a przynajmniej dopóki nie kupię sobie Empire TW). Można zrobić masę innych rzeczy, ale przy tym stopniu skomplikowania i wzajemnego uzupełniania się plików, trzeba by było poświęcić na to długie tygodnie, jeśli nie miesiące. A są przecież jeszcze inne gry do zmodyfikowania.

To co mi się nie udało, to:
1. Poprawa kretyńskiego skryptu, odpowiadającego za wyniki walk na morzu i automatycznych bitew na lądzie. Chodzi mi tu o to wyliczanie strat na 50% +/- kilka osób (np. 180 wojów, po pierwszej przegranej 90, po drugiej 45, po trzeciej 23, po czwartej 12 i albo koniec albo jeszcze oddział istnieje i walczy). Pociesza mnie to, że nikomu nie udało się tego idiotyzmu poprawić. Siedzi to najprawdopodobniej zbyt głęboko w plikach gry, może nawet w samym exe'ku i mimo, że grę modowały tysiące i to już już od ładnych paru lat, dalej figa.
2. Poprawa skryptu odpowiadającego za ilość generałów/członków rodziny. Ilość takich osób jest ściśle przypisana do ilości zarządzanych prowincji i po wyrównaniu się tych ilości komputer blokuje narodziny dzieci, przekupywanie generałów innych nacji oraz adopcję nowych generałów zasłużonych na polu chwały (skrypt "Man of the Hour"). Wg. mnie jest to nierealistyczne, ale podobnie jak punkt pierwszy, obejść tego nikomu się nie udało. Choć w "Alexandrze" skrypt "Man of the Hour" jest wyraźnie zmodyfikowany (poziom potrzebny do "pojawiania" się generała jest drastycznie obniżony).

*************************************************************

Za to na chwilkę, na warsztat wziąłem "Armadę 2526". W katalogu "XML", znajdują się takież pliki, w których są zapisane wszystkie ustawienia gry.

1.

Bierzemy się najpierw za plik" races.xml" (edycja przy pomocy zwykłego notatnika). Ziemianie the best i rulez w ogóle, więc po moim gmeraniu sekcja pliku odpowiadająca za Ziemian wyglądała tak:

Cytat
<Race Name =Human>
<ShortDescription>
Monkey descendents from Earth
</ShortDescription>
<LongDescription>
Chances are that if you're playing this game, you're one of them. The ape descendants survived the perils of war, energy shortages and global warming, and spread out into deep space.
Their agile minds and willingness to embrace change makes them adept at technology, but with their existence firmly rooted in the dimensions of time and space their ability to use the other dimensions of existence is poor.
An emphasis on individualism sometimes makes other races wary and slightly mistrustful of humans as they do not understand the way that motivation and moral compass vary from one individual to another. They also dislike the way that democratic government can lead to inconsistent high level policy.
</LongDescription>
<Symbols Population=@Human_Population Victory=Art\UI\Victory-Human.jpg Fleet=FS Human/>
<Animation Folder=Art\Animations\Human Prefix=Human/>
<Sound Music =Human Accept =HumanAccept Talk =HumanTalk Reject =HumanReject Angry =HumanAngry/>
<Capability Name=High Growth Rate Level=9/>
<Capability Name=Orderly Level =9/>
<Capability Name=Warlike Level =0/>
<Capability Name=No Bureaucracy Level =0/>
<Capability Name=Biological Immunity Level =0/>
<Capability Name=Psychic Immunity Level =0/>
<Capability Name=Natural Miner Level =0/>
<Capability Name=General Research Bonus Level =9/>
<Capability Name=Hyperspace Research Bonus Level =9/>
<Capability Name=Psychic Research Bonus Level =9/>
<Capability Name=Weapons Research Bonus Level =9/>
<Capability Name=Bio Research Bonus Level =9/>
<Capability Name=Skunkworks Bonus Level =9/>
<Capability Name=Construction Research Bonus Level =9/>
<Capability Name=Information Research Bonus Level =9/>
<Capability Name=Shield Research Bonus Level =9/>
</Race>


Zmieniłem tu zdolności rasy (capability) na same pozytywy. Pamiętać trzeba o jednym - bonusy do researchu (Research Bonus) oraz wskaźnik płodności (Grow Rate) i zdyscyplinowania (Orderly) mogą się zawierać w przedziale 0 (najmniejszy) - 9 (największy). Pozostałe zdolności rasy (Warlike, No Bureaucracy, Biological Immunity, Psychic Immunity, Natural Miner i Nano Vulnerable) mają poziom "0" i ich posiadanie przez rasę wiąże się jedynie z dodaniem odpowiedniej linijki tekstu, np.:
Cytat
<Capability Name=Warlike Level =0/>


Uwaga na zdolności ujemne, typu Disorderly, Research Penalty czy Nano Vulnerable, żeby przez przypadek nie pozostawić takiej na poziomie 9 lub nie dać dwóch wzajemnie się znoszących, np. Shield Research Bonus i Shield Research Penalty. Bo albo będzie się gorzej grało, albo w ogóle gra się nie uruchomi.

2.

Teraz plik "factions.xml". Po moim gmeranku frakcja Ziemian wyglądała tak:

Cytat
<Faction Name=The Human Union Generic=true>
<Names ShortName=The Humans Adjective=Human GenericBase=Humans/>
<Data Race=Human Symbol=10 NameSet=Bronze Age Greek/>
<Type Elimination =NoPopulation RebelFaction =The Human Rebels/>
<VictoryPoints Area=TotalHappyPopulation Multiplier=10/>
<VictoryPoints Area=OwnPopulation Multiplier =5/>
<VictoryPoints Area=Glory Multiplier=2/>
<VictoryPoints Area =EnemyKilled Multiplier =100/>
<Strategy Name=Colonizer/>
<StartingCash Amount =100000000/>
<Tech Item =Hyperspace Communication/>
<Tech Item =Precise Location/>
<Tech Item =Long Range Communication/>
<Tech Item =Quantum Communication/>
<Tech Item =Basic Weather Control/>
<Tech Item =Advanced Weather Control/>
<Tech Item =Atmosphere Generation/>
<Tech Item =Basic Terraforming/>
<Tech Item =Terraforming/>
<Tech Item =Biosphere Creation/>
<Tech Item =Technology Complex/>
<Colony Name=Earth RandomPos=true>
<Population Number=99/>
<Building Type =Surface Shipyard/>
<Building Type =Research Lab/>
<Building Type =Research Lab/>
<Building Type =Research Lab/>
<Building Type =Research Lab/>
<Building Type =Research Lab/>
<Building Type =Research Lab/>
<Building Type =Research Lab/>
<Building Type =Research Lab/>
<Building Type =Research Lab/>
<Building Type =Research Lab/>
<Defense Type =Light Missile Number =99/>
<GroundUnit Type=Militia Number =14/>
</Colony>
<Fleet Colony =@Home>
<Ship Type=Ark Ship Number =10/>
<Ship Type=Scout Number =10/>
<Ship Type=Transport Number =99/>
<Ship Type=Corvette Number =99/>
</Fleet>
</Faction>


To, co zmieniłem, to:
- dodałem inne sposoby zdobywania "Victory Points",
- początkową kasę na 100.000.000 czegoś tam,
- dodałem kilka technologii (Tech Item),
- zwiększyłem populację Ziemi na 99 czegoś tam,
- dodałem kilka laboratoriów (<Building Type ="Research Lab"/>),
- zwiększyłem liczbę wyrzutni rakiet i milicji,
- i we flocie zwiększyłem ilość statków.

Uwaga - można dodawać też inne typy statków, budynków czy wojsk, ale trzeba pamiętać, żeby początkowy poziom technologiczny pozwalał na wybudowanie takich rzeczy. W dodatku, na przykładzie niszczycieli, czasami nie wystarczy dodać tylko jedną technologię odpowiedzialną za niszczyciele, trzeba dodać całą gałąź technologiczną do niszczycieli włącznie.

3. Ilość kasy można też zmodyfikować przy użyciu edytora pamięci RAM (np. Cheat Engine'u). Tylko jest jeden szkopuł - gra ma na kretyńsko zapisane poziomy kasy, tj. oparte są one na ilości bajtów, czyli: jeden bajt (0 - 255), dwa bajty (256 - 65535), trzy bajty (65536 - 16777216), itp. Jeśli w danym momencie mamy 5000 czegoś tam, to możemy to zwiększyć jedynie na 65535 czegoś tam. W przeciwnym wypadku gra się może "kojfnąć". Można to ominąć, ustawiając kasę na maksymalny możliwy poziom na koniec rundy i ustawiając tak parametry zarządzania koloniami, żeby rasa generowała ogólny przychód. Wtedy w nowej turze gra sama wskoczy w wyższe "widełki" i będziemy mogli zmodyfikować kasę na większym poziomie, w tym wypadku na 16777216 czegoś tam.

*********************************************

I jeszcze gra "Smugglers 4" i sposób na łatwy abordaż. Tu akurat nic nie trzeba modyfikować, po prostu lecimy do systemu w którym trwają walki (żeby wrogich jednostek było więcej) - najlepsze są systemy naszej frakcji atakowane przez wroga. Tak udajemy się do jakiejkolwiek planety, gdzie zwalniamy całą załogę (która jest potrzebna wyłącznie do latania), zatrudniając tylko żołnierzy. Potem wychodzimy z menu planety, włączamy skaner i atakujemy dowolnie wybrany cel w swojej klasie wielkości, lub o oczko wyższej. Straty, zwłaszcza przy tych większych wrogach będą nadal duże, ale przynajmniej zajęte statki możemy sprzedawać z porządnym zyskiem, w dodatku często-gęsto trafiają się dodatkowe bonusy za schwytanych piratów lub okupy za innych.
Jest tylko jeden feler. Do abordażu nadają się jedynie statki (najczęściej krążowniki), w których ładowni można zainstalować prom desantowy - dzięki temu możemy zawsze dokonać abordażu na wrogu, choć i tak trzeba poważnie uszkodzić mu tarcze.

A co mi tam - podam jeszcze sposób na 100% wygraną walkę:

Gdy zaczyna się walka, odpalamy Cheat Engine, znajdujemy ilość AP i po ustawieniu ich na maksa "zamrażamy" je. Wrogowie nawet nie zaczną strzelać :twisted:
_________________
DVRVM CACANTES MONVIT VT NITANT THALES
 
 
ilcattivo13 
Wirtualny Suwalski Niedźwiedź


Posty: 17772
Skąd: Suwałki (k. Dowspudy)
Wysłany: 1 Lutego 2010, 13:16   

"Jagged Alliance 2" (plus mody).

Sposób na "killim" niewidzialnego wroga. Metoda jest prosta:
- szybki save/load jako zabezpieczenie na wypadek pudła,
- w ustawieniach zaznaczamy "pokaż ścieżkę poruszania" (czy jak to tam było) - chodzi o te ślady stóp, które pokazują, którędy będzie szedł najemnik.
I teraz tak, w postawie stojącej/kucaniu, najemnik może przejść jeden po drugim. W leżeniu już nie i dlatego kładziemy swojego najemnika (poza tym, będzie miał największy bonus do celności) i zmieniamy kursor na poruszanie się. Teraz przesuwając kursor po horyzoncie, będzie pokazana proponowana trasa ruchu najemnika, z zaznaczonymi "iksem" polami zablokowanymi, lub omijająca zablokowane pola. Tam gdzie pole zablokowane nie będzie się pokrywało z krzakami/budynkami/głazami/itp., tylko będzie puste, tam jest wróg. Teraz zapamiętujemy pozycję wroga, zmieniamy kursor na celowanie i prujemy w pole zajęte przez wroga. Najlepsze są bronie jednostrzałowe, o dużej mocy pocisku, granaty/moździerze/granatniki i niektóre karabiny, które strzelają zwartą serią. Pocisk wystrzelony w pozycji leżącej trafi niewidzialnego wroga w nogi (jeśli ten stoi) lub w tułów/głowę (jeśli ten kuca/leży). Po pierwszym trafieniu pojawi się plama krwi, które dodatkowo pokazuje lokalizację wroga. Metoda jest prosta, szybka i przyjemna.

**********************************

A jak najlepiej bronić jakiegoś obszaru? Robimy save, pozwalamy wrogowi zaatakować sektor, sprawdzamy którędy wchodzi, robimy load. I teraz w miejscu, w którym pojawia się wróg kładziemy miny i/lub mat. wybuchowe (z zapalnikiem lub bez). Blisko tego miejsca, ale bez przesady, ustawiamy zwiadowcę (skradanie się i/lub kamuflaż). Ma on za zadanie uruchomienie trybu walki. Jak już tryb walki jest uruchomiony, korzystamy w powyższego sposobu na lokalizację niewidocznego wroga. Gdy już wiemy kto gdzie stoi, walimy z broni obszarowych (granaty, moździerze, itp.) i/lub odpalamy ładunki wybuchowe. Te ostatnie są najbardziej skuteczne, gdy zdalnie odpalany ładunek obłożymy minami/ładunkami bez zapalnika. Ew. możemy odpalać miny przy pomocy broni obszarowych. Ta metoda jest tym skuteczniejsza, im więcej wrogów wkracza do sektora i im bardziej jest on zgrupowany.

***********************************

Kasa, kasa i jeszcze raz kasa.

Zaczynamy nową grę, tworzymy swojego najemnika, robimy save. Robimy kopię save'a. Edytujemy save przy pomocy edytora hexów (np. HexEdit). Kasę z gry przeliczamy na system szesnastkowy i w wyszukiwarce wpisujemy otrzymaną liczbę parami od tyłu (najczęstszy sposób zapisu kasy/itp. w save'ach). Powinno znaleźć trzy offsety z poszukiwaną liczbą (ale moga też być cztery lub pięć). I te trzy offsety zmieniamy na "FF FF FF" (co daje nam 16 milionów z hakiem na starcie :D ). Jeśli będzie więcej wyników, wtedy na pewno zmieniamy pierwszy i ostatni przed ciągiem znaków FF FF FF FF FF FF FF (lub wewnątrz tego ciągu - już ze dwa lata tego nie robiłem i nie pamiętam dokładnie :oops: ). Trzeci offset do zmiany wybieramy na chybił trafił, tylko zapiszcie sobie który zmieniacie, żeby można było potem cofnąć. Jak się uda, to macie kasę wystarczającą na większą część gry. Jak się nie uda, to poprawiamy save do skutku.
_________________
DVRVM CACANTES MONVIT VT NITANT THALES
 
 
ketyow 
Jim Raynor


Posty: 11344
Skąd: z domu
Wysłany: 2 Lutego 2010, 00:33   

FE! "Krótki przepis na to jak zepsuć całą rozgrywkę" :mrgreen: Dużo razy przeszedłem, ale nie potrafię tak oszukiwać w JA ;P:
_________________
http://ketyow.deviantart.com
http://www.biblionetka.pl/
 
 
 
ilcattivo13 
Wirtualny Suwalski Niedźwiedź


Posty: 17772
Skąd: Suwałki (k. Dowspudy)
Wysłany: 2 Lutego 2010, 10:31   

teraz już wiesz jak oszukiwać w JA2, czyli też "potrafisz" :mrgreen:
_________________
DVRVM CACANTES MONVIT VT NITANT THALES
 
 
ketyow 
Jim Raynor


Posty: 11344
Skąd: z domu
Wysłany: 2 Lutego 2010, 11:03   

Tzn. tego typu bugi znałem już wcześniej, może znalazł bym coś jeszcze, jakbym sobie poprzypominał, ale chodzi o to, że po prostu nie umiałem grać szukając w ten sposób przeciwników itd. - bo w JA jednak zawsze lubiłem się wysilić i doprowadzić do wszystko perfekcji, ale legalnymi sposobami - wczytaj/zapisz :)

Ale teraz jak przypomniałeś o pieniądzach - kurcze, może dałoby się "normalnie" grać w moda Urban :mrgreen:
_________________
http://ketyow.deviantart.com
http://www.biblionetka.pl/
 
 
 
ilcattivo13 
Wirtualny Suwalski Niedźwiedź


Posty: 17772
Skąd: Suwałki (k. Dowspudy)
Wysłany: 2 Lutego 2010, 11:07   

W "1.13" można wybrać, że od początku gry dostępne jest całe wyposażenie, ale czy w "UC" tez ta opcja jest dostępna - nie pamiętam.
_________________
DVRVM CACANTES MONVIT VT NITANT THALES
 
 
ilcattivo13 
Wirtualny Suwalski Niedźwiedź


Posty: 17772
Skąd: Suwałki (k. Dowspudy)
Wysłany: 22 Kwietnia 2010, 20:14   

Drakensang.

Modyfikacja (prawie) wszystkiego, na przykładzie zmiany statystyk bohaterów.

Dlaczego nie warto korzystać z gotowego edytora save'ów Drakensanga? Bo pozwala on tylko na zwiększanie statystyk do wielkości 24 (czasami 26), przy czym i tak obowiązują ograniczenia dla ras i profesji, dzięki którym raczej nie ma szans na dobicie statystykami nawet do tych marnych 24/26 punktów. Wstawienie wyższej wielkości skutkuje pięknym CTD, pojawiającym się m.in. przy jakiejkolwiek próbie podnoszenia statystyk bohaterów w czasie grania (np. po awansie na wyższy poziom czy zdobyciu punktów umiejętności).

Ale bierzmy się do roboty :D

Z narzędzi, potrzebne nam będą dwa programiki:

- używany już wcześniej SQLite Database Browser - bo prawie wszystkie dane tabelaryczne zapisane są w plikach z rozszerzeniem "db4".
- i coś nowego - rozpakowywarka plików z rozszerzeniami "npk" (to są wewnętrzne, "prywatne" archiwa plików z danymi gry, zawierające "silnik", grafikę, muzykę, historię/fabułę, lokalizacje, itp.), o wdzięcznej nazwie NNPKTOOL.
W pewnym momencie przyda się też Microsoft Excel, lub inny edytor arkuszy kalkulacyjnych XML.

Na początek weźmy się za pliki "game.db4" i "static.db4", które znajdują się w katalogu g:\Draken\export\db\ (g:\Draken\ - to przykład umiejscowienia głównego katalogu gry).

Odpalamy SQLite i wczytujemy plik "game.db4". Wybieramy zakładkę "Browse Data" i z listy wybieramy tabelę "_Instance_PC". Tutaj to, między innymi, są przechowywane dane dane bohaterów, których możemy w czasie rozgrywki dołączyć do drużyny.

W ramach przykłady, weźmy na warsztat krasnoluda Forgrimma. I już na początku jest mały ZONG, bo okazuje się, że są trzy oddzielne charakterystyki o ID "pc_forgrimm". Na szczęście, tuż obok jest kolumna NAME, z której dowiadujemy się, że dwie z tych charakterystyk odpowiadają za postać Forgrimma pojawiającą się w cut-scenkach. A ta, która nas interesuje, to charakterystyka z NAME "Forgrimm_Sohn_des_Ferolax" (wiersz nr 4).

>> Mały wtręt - wszystkie pliki gry, są stworzone w języku angielsko-niemieckim, dzięki
>> czemu od razu widać rzeczywisty poziom wykształcenia niemieckich informatyków
>> :twisted: Niestety, dla "nieszkopskojęzycznych grzebaczy" (jak mła), może to stanowić
>> pewne utrudnienie. Ale od czego jest intuicja :wink: I google...

Wracamy do Forgrimma. Interesują nas zwłaszcza kolumny:

- "RunSpeed", "CurrentSpeed", "MaxVelocity" - odpowiadające za prędkość biegania postaci - ja zmieniłem z 3,4 na 7,0 i dopiero wtedy dało się normalnie grać. Większe wartości powodują, że kamera w czasie biegu "nie nadąża" za drużyną. UWAGA! - nie zmieniamy wartości dla skradania się (Sneak) i marszu (Walk), bo spowoduje to natychmiastowe CTD.

- "IsMagicUser" - "0" nie może czarować, "1" może.

- "Reg_LE", "Reg_LE_freq" - ilość punktów życia, które postać regeneruje na raz i ilość tur, pomiędzy poszczególnymi regeneracjami. Podobnie jest dla magii ("Reg_AE" i "Reg_AE_freq") oraz wytrzymałości ("Reg_AU" i "Reg_AU_freq"). Jak widać, standardowe ustawienia to jeden zregenerowany punkt życia/magii/wytrzymałości co 4 lub 8 sekund. Dlaczego by tej niesprawiedliwości nie naprawić? Odwracamy proporcje na 4 lub 8 punktów regenerowanych co 1 sekundę :D

- teraz właściwe, startowe atrybuty postaci (czyli te atrybuty mają bohaterowie, których dopiero co dołączyliśmy do drużyny po raz pierwszy), czyli: MU, KL, IN, CH, FF, GE, KO i KK. Nie będę tłumaczył który odpowiada za co, bo nie warto. I tak wszystkie zmieniamy na ile chcemy. Maksymalne wartości dla atrybutów jakie możemy osiągnąć, to wartość startowa *1,5. Dlatego też lepiej jest wybierać dla atr. startowych liczby parzyste. Ja wybrałem wartości startowe na poziomie "22" (przez co wart. maksymalne atrybutów to "33"). UWAGA! - wartości możemy zmieniać manualnie, bądź za pomocą skryptu w zakładce "Execute SQL" (oprócz kolumny odpowiadającej za Intuicję - IN - bo "in" to również słowo z języka SQL i przez to jedyny sposób na zmianę wartości w kolumnie IN, to użycie skryptu). Przykład skryptu dla Intuicji Forgrimma, w pliku "game.db4", w tabeli "_Instance_PC":

UPDATE _Instance_PC SET 'IN'=14 WHERE rowid=4; czyli po polskiemu "Zmień w tabeli "_Instance_PC", wartość komórki w kolumnie "IN" w wierszu nr "4"". Proste, nie?

- następne kolumny w "_Instance_PC" dotyczą talentów (początek nazwy kolumny z "TA") i umiejętności bitewnych (początek "SF") postaci, a również czarów (początek "ZA"). Wartość "-500" oznacza, że postać nie umie czegoś, lub nie ma takiego talentu, inne wartości ujemne oznaczają, że postać ma kary z powodu rasy/profesji, a wart. dodatnie oznaczają poziom umiejętności/talentu. Niestety, są opisane po dojczlandzku, dlatego je olałem :wink:

- w następnych kolumnach są m.in. wyposażenie, receptury itp. Wszystko po nowogermańsku :| Screw it.

W ten sposób modyfikujemy każdego bohatera, którego chcemy później dołączyć do drużyny. UWAGA - Możemy to robić również w trakcie gry!

Teraz następny plik - "static.db4". Tutaj zamiast tabel "_Instance_" mamy tabele "_Template_". Niestety, sprawa się pogarsza, bo w pliku "game.db4" interesowała nas tylko tabela "_Instance_PC", a w "static.db4" trzeba zmienić 3 tabelki:
- "_Template_PC" (odpowiednik "_Instance_PC" z pliku "game.db4" - zmieniamy w dokładnie ten sam sposób),
- "_Template_Backup" - zawiera dane dotyczące podstawowych atrybutów, talentów, umiejętności i magii dla wszystkich bohaterów, a także dla archetypów bohaterów - to jest dla wszystkich wzorów, z których tworzymy naszego głównego herosa/heroinę (w napierśniku 65G :mrgreen: ). UWAGA - przykład archetypu dla mężczyzny, maga bojowego ma ID "archetype_MI_KM_M" (wiersz nr 7), gdzie MI - Śródlądowiec, KM - kampfmage (mag bitewny), M - "mążczyzna" :)
- "_Template_PC_CharWizard" - tutaj mamy szczegółowe dane wszystkich archetypów bohaterów (ta tabela ma te same kolumny co "_Instance_PC" i "_Template_PC". Plus kolumna "SetupStorage", na początku której jest zapisana początkowa kasa bohatera (np: "Money/Geld:200" - czyli dwa dukaty/dwadzieścia talentów/dwieście grajcarów na początku).

Jeśli zaczynamy z tak zmienionymi plikami grę od początku, to jest to prawie koniec naszej roboty. Ale jeśli chcemy zmodyfikować grę w czasie rozgrywki, to musimy jeszcze pozmieniać dane w tabelkach w pliku save. Save'y są przechowywane docelowo w Moich Dokumentach, w "\Drakensang\profiles\default\save\" w katalogach "savegame_numer_kolejny_save'a", i są zapisane jako pliki z rozszerzeniem "dsa". W nich zmieniamy dane w tabelkach "_Instance_Backup" i "_Instance_PC". UWAGA - w tym pliku tabela _Instance_PC zawiera dane obecne postaci, a nie startowe. W tejże tabeli jest także zapisany nasz bohater, którego stworzyliśmy na początku gry - kolumna ID wartość "CharWizardPC" lub NAME wartość "Hero".

Zmieniliśmy pliki "game.db4", "static.db4" i ew. "savegame_numer.dsa". Zostaje jeszcze jedna rzecz: dodać kolejne wielkości atrybutów (od 27 w górę) i przypisać im koszty w punktach umiejętności.
Są one zapisane w pliku "xp.xml", który z kolei jest schowany w prywatnym archiwum gry o nazwie "export.npk". Żeby rozpakować te archiwum (ważące prawie 1 GB), musimy stworzyć nowy katalog gdzieś na dysku, skopiować do niego te archiwum (z katalogu głównego gry) oraz programik NNPKTOOL. Teraz klikamy na plik "unpack npk.bat" i czekamy. Czekamy, Czekamy. Rozpakowało i stworzyło podkatalog "pack.npk". Plik "xp.xml" znajduje się w "\pack.npk\data\tables", a edytujemy go jak każdy arkusz kalkulacyjny. Ewentualnie piszemy do mnie pw i ja wysyłam zmodyfikowany plik (do wartości 50), który waży straszne 165 kB :wink: Jak ktoś chce zrobić to sam, to w środku pliku interesuje nas formularz "AttrUpgradeXPCost" - trzeba poszerzyć tabelkę dla każdej grupy od A do X, do wartości pożądanej - u mnie to było 50, koszty dla mogą być jednakowe dla każdej wartości, lub rosnąć (jak w oryginale).

I teraz, podobnie jak w S.T.A.L.K.E.R.ach, nie musimy z powrotem pakować plików do "export.npk". Wystarczy, zachowując strukturę katalogów, skopiować plik "xp.xml" do katalogu "export", który jest w katalogu głównym gry (jak się sami przekonacie, ten katalog "export" to w rzeczywistości częściowo rozpakowany plik "export.npk" :D ). I już możemy odpalać grę i cieszyć się szybkimi i dobrze rozwiniętymi postaciami :D


*****

Ale zanim to zrobimy, możemy jeszcze zrobić coś innego. Na przykład, zwiększyć level_cap, czyli ilość leveli, jakie możemy osiągnąć. W tym celu, znowu modyfikujemy pliki:
- xp.xml" (dodajemy nowe poziomy w formularzu "CharLevelXP", wraz z odpowiadającymi im ilościami XP - ważne, żeby każdy kolejny poziom kosztował więcej XP niż poprzedni, inaczej będzie śliczny CTD).
- "game.db4" - tabelka "_Globals", kolumna "LevelCap" (ja dałem 30),
- i ewentualnie plik save - tabelka i kolumna jak wyżej.

Do tego możemy zmienić szybkość zdobywania XP: w plikach "game.db4" i save, tabelka "_Globals", kolumna "XPMultiplicator" (fabrycznie mnożnik jest ustawiony na "2.0").

Można też zmniejszyć koszt akcji podejmowanych przez bohatera. W pliku "static.db4" zmieniamy wartości w tabeli "_Template_Talent", w kolumnie "TaAction". Ja sobie zmniejszyłem czas trwania wszystkich niebojowych, na "0". Trzy kolumny dalej w prawo, mamy zapisane po angielsku nazwy akcji (PickPocket, GatherHerbs, SkinAnimals...).

*********

Do tego, mając odpowiednie zaplecze techniczno-czasowe możemy stworzyć kompletnie nowe archetypy bohaterów, kompletnie nowe potwory, NPCów, przedmioty itp., lub zmienić istniejące. Możemy zmieniać też dialogi (plik "locate.db4"), questy i inne rzeczy. Jedyny problem jak dla mnie, to używany w plikach język "pana Hiltera" :wink: Podejrzewam, że gdyby nie to, to zalała by nas masa alternatywnych kampanii do Drakensanga...

Część tricków podpatrzona jest na http://forum.dtp-entertai...orum.php?f=191, do części doszedłem sam.

EDIT: Kasy w save'ach nie chciało mi się szukać. Odpaliłem Cheat Engine i po dwóch minutach miałem 99999 dukatów :D

A punkty umiejętności (za które zwiększamy poziomy atrybutów/umiejętności/talentów/czarów), są w savegamie, w tabeli "_Instance_PC", w kolumnie "UpgradeXP" :D I to na razie na tyle :D
 
 
ilcattivo13 
Wirtualny Suwalski Niedźwiedź


Posty: 17772
Skąd: Suwałki (k. Dowspudy)
Wysłany: 3 Czerwca 2010, 18:09   

Age of Pirates 2

W sieci jest instrukcja, jak zacząć grę z bohaterem, który ma wszystkie atrybuty (SPECIAL, a raczej PIRATES) na maksa (po 10 pkt.). Ale jakoś nikt nie wpadł na to, że oprócz tych podstawowych atrybutów, można też podbić sobie umiejętności i rangę.

Narzędzi żadnych oprócz "notatnika" nie potrzebujemy.

Otwieramy plik "RPGUtilite.c" (u mnie ścieżka jest taka --> "\AoP2\Program\characters\") i szukamy frazy:
Cytat
case Merchant:
SetSPECIAL(ch, 4,9,5,8,9,3,4);
break;

przerabiamy linijkę z "SetSPECIAL" na
Cytat
SetSPECIAL(ch, 10,10,10,10,10,10,10);


jeśli wolimy grać inną klasą postaci - "Corsair", "Adventurer", "Inquisitor" czy "SecretAgent" - to SPECIALe tych klas są tuż poniżej "Merchanta"
Przy okazji, w tym miejscu możemy też dodać postaci perki, na przykładzie
Cytat
case Merchant:
ch.perks.list.IronWill = 1;
SetSPECIAL(ch, 10,10,10,10,10,10,10);
break;


Teraz umiejętności.
Zaraz poniżej SPECIALa dla klasy "SecretAgent" jest fraza
Cytat
ch.skill.freeskill = 0;
i tutaj te zero zmieniamy na "1260". Więcej nie potrzeba, bo jest 14 umiejętności, które możemy rozwinąć z 10 do 100 punktów.

UWAGA - zaraz na początku gry, otwieramy kartę naszego herosa i dystrybuujemy punkty umiejętności ręcznie. Za każde 25 rozdysponowanych punktów wzrasta nam ranga (o 1, a przy okazji też zdrowie o 9 pkt.) i za każde 30 pkt. dostajemy jeden perk, przy czym za umiejętności zwykłe dostajemy perki "personalne", a za umiejętności okrętowe - "perki okrętowe". Punktów do wykupu perków jest po 21 za każdą grupę umiejętności. I tu jest problem, bo perków okrętowych jest ponad 30 (perków personalnych jest jedynie 20, więc zostaje nam jeden punkcik w zapasie). Można to rozwiązać w prosty sposób: dystrybuujemy punkty umiejętności na maksa, a potem zabieramy je z powrotem dla jednej z umiejętności okrętowych (ile się da, czyli do 1pkt.). Liczba punktów na umiejętności nam się nie zmniejszy, podobnie jak poziom rangi i HP, a jak znowu zaczniemy podnosić poziom umiejętności, to dostajemy kolejne perki, a poziom rangi i HP się zacznie znowu zwiększać - żeby uzyskać wszystkie perki okrętowe, trzeba to powtórzyć kilka razy.

Ale tu jest kolejny, większy problem. Wszyscy nasi wrogowie, oficerowie i duża część NPCów są uzależnieni od poziomu naszego bohatera, więc im nasz heros ma większą rangę, tym większą rangę (HP i umiejętności też) będą mieli inni.

Można to częściowo obejść w pewien sposób.
Swojemu bohaterowi modyfikujemy jedynie SPECIAL i dodajemy perki w pliku, zostawiając umiejętności w spokoju. A jako dodatkowe ułatwienie w grze, stworzymy sobie dwóch oficerów/bodyguardów (Uwaga - SPOILER - dwóch, bo tylko tylu niegenerowanych losowo gostków przyłącza się do nas po zdobyciu pierwszego statku). Panowie nazywają się PITT (pierwszy gostek, jakiego spotykamy w grze - nawigator) i OGL (pirat-kanonier, jeden z trzech gostków z plantacji, którzy uciekają razem z nami).

Logika nakazywałaby szukać danych tych panów w plikach w katalogu "characters". Niestety logika, to nie jest to, czym się kierowali twórcy gry w czasie jej robienia. Po dłuuuugich poszukiwaniach, dane tych panów znalazłem w katalogu "Quests", w pliku "reaction_functions.c". Są one rozwinięciem questów związanych z tymi dwoma panami.

Na początek szukamy frazy
Cytat
sld = GetCharacter(NPC_GenerateCharacter(Ogl, Chard3a, man, man, 10, ENGLAND, -1, false));


najpierw zmieniamy rangę z
Cytat
sld.rank = 10;

na
Cytat
sld.rank = 90;


kilka linijek niżej jest

Cytat
sld.OfficerWantToGo.DontGo = true; //íĺ ďűňŕňüń˙ óéňč
sld.loyality = MAX_LOYALITY;
SetSPECIAL(sld, 8, 9, 5, 5, 9, 5, 7);
//int _fl, f, fh, p, fr
SetSelfSkill(sld, 20, 30, 20, 35, 30);
//int ld, cr, ac, cn, sl, re, gr, de, sn
SetShipSkill(sld, 20, 10, 50, 40, 15, 20, 20, 20, 20);


wartości w SPECIAL zmieniamy na 10, a wartości w SelfSkill i ShipSkill na 100.

A następne w kolejce są perki - dodajemy ile chcemy (nazw perków nie będę podawał, bo jest tego ponad pięćdziesiąt - jak ktoś chce, to sobie znajdzie sam: Ctrl + F i szukamy "SetCharacterPerk" - zaraz po tym, w nawiasie jest nazwa perka - a pan OGL ma już kilka perków, więc wzór jak je dodawać też jest).

Podobnie potraktujmy pana PITTa

Cytat
sld = GetCharacter(NPC_GenerateCharacter(Pitt, Pitt, man, man, 1, ENGLAND, -1, false))


Dla obu panów trzeba też dodać perki "dwustanowiskowiec" i "trójstanowiskowiec" (żeby można ich było obsadzić na 6 stanowiskach łącznie)

Dzięki temu, grę zaczynamy ze średnio rozwiniętą postacią, ale za dysponującą dwoma naprawdę potężnymi pomagierami.

**************

Kasa - w pliku "RPGUtilite.c" jest też miejsce z kasą początkową dla każdego typu bohatera - fraza "pchar.money=". Ale tę kasę dostajemy we wstępnie do gry i zaraz potem ją tracimy, gdy trafiamy jako niewolnik na plantację. Nie można jej odzyskać, więc można dać sobie na spokój z jej modyfikacją. Nie wiem, czy nie lepiej byłoby popróbować pogmerać w nagrodach, które dostajemy za rozwiązanie questów - ale na razie mi się nie chce...
_________________
DVRVM CACANTES MONVIT VT NITANT THALES
 
 
ilcattivo13 
Wirtualny Suwalski Niedźwiedź


Posty: 17772
Skąd: Suwałki (k. Dowspudy)
Wysłany: 3 Wrzeœśnia 2010, 13:22   

"Jak dawno niczego nie modowałem..." Wczoraj mnie takie myśli opadły i postanowiłem sobie pomodować. A że jakoś tak "taktycznie" mi na duszy, to odgrzebałem "Silent Storma" od CD Projektu (przechodziłem już kilka razy, ale nigdy nie modowałem), zainstalowałem razem z MapEditorem. Potem zrobiłem sobie 1,5l czarnej herbaty (krótko parzona - 25 sekund) z imbirem, cytryną i cukrem trzcinowym, postawiłem dzbanek przed kompem, usiadłem wygodnie w fotelu, chwyciłem myszkę, kliknąłem w MapEdit.exe i... CD Projekt zwalił mnie za schodów do nieba :evil:

ZONG 1. Dane gry są upchane w mssqlserver'owskich bazach danych, a więc MapEditor potrzebuje zainstalowanego MS SQL Server. Ściągam ze strony Microsoftu wersję 2008 Express, instaluję, błąd, znowu instaluję, jeszcze inny błąd, upgrade'uję microsoftowski instalator, instaluję, znowu błąd. Wersja instalatora o.k., komputer spełnia wymagania z dużym zapasem, wszystkie komponenty systemu oryginalne... Po trzech godzinach - pas.

Następuje grzebanie w sieci, bo może czymś innym dałbym radę zastąpić "mikrosofta". Na jednym z forów o "Silent Stormie" znajduję informację producenta, że w razie problemów z MapEditorem, trzeba zainstalować MSDE (kompenent MS SQL Server) z płytki z grą. No to już z górki. Płytka siedzi w napędzie cały czas, wystarczy kliknąć w skrót napędu, jeszcze raz w katalog "Bin" (w którym ma być instalka) i...

ZONG 2. Ktoś w CD Projekcie postanowił być "mądrzejszy od Boga" i wywalił MSDE z polskiej wersji gry :evil: Z-płatnej-nałożnicy-syny...

Nic to, twardy jestem. Do gry znalazłem dołączone mody - wgram sobie któryś, będzie fajnie (nie tak jak mogło by być, ale jednak choć trochę).

ZONG 3. Mody dołączone do gry nie działają z polskim patchem 1.2 (wystarczy odpalić w grze konsolę, żeby to stwierdzić).

Nic to, jestem najwyraźniej twardszy (lub głupszy) niż myślałem. Szukam gotowych modów w sieci. Znajduję, ściągam, instaluję, odpalam grę, uruchamiam mody i...

ZONG 4. CTD. Jeden po drugim. Szukam przyczyny, uruchamiam po jednym modzie na raz, wszystkie kończą się CTD.

Ściągam AllMod'a i na twardo wwalam mody do starego sejwa. Gra się uruchamia. Mogę biegać, skradać się, podskakiwać, czołgać i ...

ZONG 5. Nic więcej nie mogę. Sprawdzam konsolę... Strzelać mogę, ale nawet headshoty z przyłożenia do gościa w szmacianej czapce zadają 0 ran. Granatów w ogóle nie mogę używać. Medykamenty "leczą" w odwrotną stronę, coś koło 3,5 mln HP na raz. Inżynierskie ustrojstwa dają "minus" do umiejętności w podobnej skali. Jednym słowem, powtórka z rozrywki - mody nie są kompatybilne z polskim patchem 1.2...

Po pięciu czy sześciu godzinach takiej "zabawy" stwierdziłem, że chyba czas zostać piratem. Anglojęzyczna wersja gry ma potrzebny do modowania plik MSDE, a stare mody z nią współpracują.

Pozostaje mi jedynie pogratulować CD Projektowi: tego, że grę wydali z kilkuletnim opóźnieniem (prawie 4 lata po reszcie świata), że spierdzielili patche'a, że okroili płytkę z grą i że się nie dziwią, że na tym zarobić nie idzie...

EDIT: Byłbym zapomniał - MSDE, który jest potrzebny do uruchomienia MapEdita, to wersja z 2000 roku...
_________________
DVRVM CACANTES MONVIT VT NITANT THALES
 
 
ilcattivo13 
Wirtualny Suwalski Niedźwiedź


Posty: 17772
Skąd: Suwałki (k. Dowspudy)
Wysłany: 9 Października 2010, 21:30   

Moja modo-kompilacja do gry S.T.A.L.K.E.R Zew Prypeci w wersji 1.602:

Wykorzystałem:
- No Armor Degrade (1.0) by myrutza3000
- Barkeeper Sells Everything (1.0) by jperez2003us
- No Weapon Degrade/100% Perfect Dropped Weapons (1.0) by satry (wykorzystałem tylko drugą część moda, bo No Weapon Degrade cały czas powodowało CTD, a sił do poprawienia nie miałem ;P )
- Less Stress - mod for Call of Pripyat by valimatei (wykorzystałem cześć danych dot. pancerzy)
- No Intro Mod by Bad_Motha
- Full Upgrades Without Tools (v.1.0) by kzmajra - musiałem poprawić część skryptu, bo "na surowo" robiło CTD.

Od siebie dodałem:
- zmienione wyposażenie początkowe (kasa, 3xtoolkity - żeby móc zaliczyć questy, granaty, jedzenie, rad-offy)
- zmieniony udźwig - na 3000 ton
- mniejszą wrażliwość na obrażenia
- extra-hiper-super-duper szybką regenerację staminy
- minimalnie zwiększoną wysokość skoku.

Nie pamiętam, przy czym jeszcze dłubałem, ale to "wyjdzie w praniu" ;P

Przetestowane - grę ukończyłem bez żadnych problemów.
_________________
DVRVM CACANTES MONVIT VT NITANT THALES
 
 
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:  

Partner forum
Powered by phpBB modified by Przemo © 2003 phpBB Group