17/07/2001
17/07/2001 |
Oto rewelacje Duke Nuken'a: Mam miłą wiadomość dla wszystkich tych, którzy nie oparli się przemożnej pokusie położenia kamienia duchów Vary na jegorz ołtarzu, już na samym początku gry. "Błąd" ten (sam nie wiem czy graczy, czy też samych programistów :-)))) uniemożliwia skutecznie dalszą grę. W przypadku tychże nieszczęśników płonące pentagramy w watykanie nie znikną mimo iż wszystkie kamienie duchów, leżą już na swoich miejscach. Ponieważ należę do tejże grupy straceńców, musiałem sobie poradzić w inny sposób. Otóż całą grą rządzą pliki *.scr ( nie mylić z wygaszaczem ekranu) z katalogu \REF. Po długich bojach odnalazłem te, które odpowiadają za owe piorunujące pentagramy. Pliki należy nagrać na te które mieszczą się w katalogu \dispel\ref, czyli:Event1004.scr,Event1005.scr,Event1006.scr i Event0130.scr. Z tym, że w pliku Event0130 zmieniając wartość parametru procedury setendgame(), można ustalić czy skończymy grę jako dobrzy czy źli. Dobrzy setendgame(1), źli setendgame(2). I to już wszystko :-))) Jestem pewien, że umożliwi to wszytkim upragnione ukończenie gry. Oto dalsze rewelacje Duke'a: Grzebiąc dalej w plikach *.scr odkryłem złoty środek, dosłownie na wszystkie problemy gnębiące graczy Dispel'a. Algorytm jest banalnie prosty, a wymagania praktycznie żadne. Wystarczy bowiem mierna znajomość dowolnego języka programowania poziomu wyższego od asemblera i odrobina wyobraźni:-)) Oto on: 1. Save'ujemy grę tuż przed problemem który chcemy rozwiązać. 2. Wychodzimy z gry i zmieniamy datę systemu (dwuklik na godzinie znajdującej się po prawej stronie paska zadań) o np. jeden dzień do przodu. 3. Uruchomiamimy grę i wczytujemy wcześniej przygotowanego Save'a. 4. Wykonujemy czynność, która sprawiała nam problem, czyli np. rozmowa z księdzem w sprawie świętej zbroi, gdy nie możemy zdobyć kamienia światła numer 1, gdyż zabrakło nam wytrychów by wyjąć go ze skrzyni, czy też gościem który obiecał nam legendarną buławę ale się rozmyslił :-))). 5. Nie robiąc nic więcej wychodzimy z gry. 6. Otwieramy katalog Dispel\Ref i używamy narzędzia "wyszukaj pliki i foldery" wbudowanego w Okna. Wybieramy w nim jako parametr datę i poszukujemy plików OSTATNIO UŻYWANYCH (nie modyfikowanych i nie utworzonych) i tylko używanych w dniu na który wcześniej zmieniliśmy datę systemową. W tym celu zaznaczamy radiobutton "pomiędzy" i wpisujemy w oba pola edycyjne tę samą datę. 7. W najgorszym przypadku program znajdzie ze 3,4 pliki *.scr (innych w tym przypadku nie bierzemy pod uwagę) 8. Otwieramy wyżej wymienione pliki w dowolnym edytorze tekstowym i bierzemy się do roboty. Ponieważ najlepiej uczyć się na przykładach, omówię problem na przykładzie "Płonących pentagramów". - po wykonaniu wszystkich czynności jak opisałem wyżej, okienka znalazły 4 pliki: event1004, event1005, event1006 - już teraz warto zrobić sobie ich kopię - a co znajdujemy w pierwszym z nich w sekcji [ACT]: geteventstate(varchk1,120) if(varchk1,=,1) { return(0) } geteventstate(varchk2,118) if(varchk2,=,1) { return(0) } usemagic(9,0,0,0,0,0) Po pięciu sekundach już można się domyśleć o co tu tak właściwie chodzi. Skrypt sprawdza czy zdażenia o tajemniczych numerach 120 bądź 118 mają stan "Prawda" i jeżeli tak, to skrypt kończy się zwracając wartość 0 ( return(0) ), a jeżeli żaden z nich nie został jak się domyslamy zakończony pomyślnie, nasz nieszczęsny bohater jest poddawany działaniu zaklęcia magicznego ( usemagic ) o nic nie mówiącym numerze ( wiadomo jednak o jakie zaklęcie chodzi ). Jak można wydedukować z powyższego przykładu najskuteczniejsze będzie pozostawienie w sekcji [ACT] jedynie "return(0)". Kolejne pliki nie wnoszą nic nowego poza gadżetem uniemożliwiającym przeżycie nawet najtwardszemu twardzielowi czyli zmniejszenie jego żywotności ( damage ) o 250 punktów. Po zmianie zawartości wszystkich trzech plików, uruchamiamy grę wczytujemy save'a i wypróbowywujemy efekty naszej radosnej twórczości :-) Czas na mały BONUS :-))))) Czy niefajnie byłoby wraz z naprzykład (pisze "naprzykład" ponieważ może to być dowolne zdażenie jakie tylko sobie wybierzecie) próbą zabójstwa (trzymając SHIFT naciskamy lewy klawisz myszki) dowolnej ludzkiej postaci, otrzymywać, i znów naprzykład, 100000 punktów doświadczenia i powiedzmy tyle samo sztuk złota ?-))) Umożli to procedurka "addskilltochar(zmienna (nieważna), numer parametru postaci, wartość (będzie dodana do aktualnej))". Można ją wykożystać na wiele sposobów. Ja zmodyfikowałem plik event1003.scr (załączam do listu) tak, że zamiast batów od niepokonanej straży otrzymuje za każdym razem 100000 puktów doświadczenia. Jak ktoś zechce może otrzymywać dodatkowe pukty dwolnych parametrów postaci. Dopełnieniem mojego wywodu jest lista wszystkich parametrów, które udało mi się odnaleźć: Umiejętności, max 99 punktów: 0 - kieszonkostwo 1 - włamywanie 2 - targowanie 3 - percepcja 4 - rozbrajanie pułapek Umiejętności posługiwania się, max 9999 (ale trzeba uważać aby nie przesadzić) : 5 - miecze 6 - topory 7 - łuki 8 - włucznie 9 - zaklęcia zwykłe 10 - zaklęcia boskie 11 - zaklęcia piekielne Inne: 12 - morale max 99 13 - doświadczenie max 99999 14 - złoto max 99999 Czas na przykład: [VAR] var=0 ..... [ACT] .... addskilltochar(var,13,100000) addskilltochar(var,14,100000) .... otrzymujemy 100000 puktów doświaczenia i tyleż samo złota:-))) No i ostatnia czesc rewelacji Duke'a: Hej :-))) Może jestem upierdliwy, ale jak już się za coś wezmę to ... :-))) Wykorzystanie tej procedurki daje nam już chyba nie ograniczone możliwości w Dispel'u. Ową psiejsko-czarodziejską procedurką, jaką udało mi się rozszyfrować, jest GETITEM :-) A oto jej składnia: getitem(kategoria przedmiotów, numer przedmiotu ( od 0), 0 lub 1 (nie mam pojęcia jaką funkcję spełnia ten parametr)) Kategorie: 0 - uzbrojenie 1 - lecznicze 2 - modyfikujące uzbrojenie 3 - różne (wytrychy, ...) 4 - związane ze zdarzeniami (klejnoty duchów, Księga Mędrców itp.) Numerację poszczególnych przedmiotów w kategoriach udało mi się wyciągnąć z plików *.db krótkim programikiem C. Można ją wykorzystać analogicznie do poprzednio opisanej "addskilltochar", łącznie lub rozłącznie jak kto woli :-) PLIK POBRANO ZE STRONY: WWW.DISPEL.PRV.PL p.s. Spisy itemow znajduje się w dziale PORADY.
|
![]() ![]() |