Sieć nawigacji dla przechodniów czy poruszania się przeciwników to rzecz, której także często brakuje w modyfikacjach. Dlatego postanowiłem napisać poradnik jak taką sieć nawigacji utworzyć.

Sieć nawigacji dla przechodniów, przeciwników, pociągów, tramwajów, samolotów przechowywana jest w pliku check.bin Do jego tworzenia i edycji służy program Check.bin Editor autorstwa ziboba32. Przetłumaczoną przeze mnie na polski wersję wraz z podręcznikiem użytkowania można znaleźć pod powyższym linkiem. Mam prośbę do administracji, aby dodać tę wersję na stronę główną do działu Pliki / Mafia: The City of Lost Heaven / Narzędzia, ponieważ obecnie brakuje tam tego programu, a jest on dosyć ważny. Program ten w przeciwieństwie do niektórych innych mafijnych narzędzi, jest w pełni stabilny – nie uszkadza pliku i nie zawiesza się.

Obrazek


Wyróżniamy następujące typy punktów:
01 00 – przechodnie
02 00 – AI (ludzie, samochody)
04 00 – tramwaje, pociągi, samoloty
08 00 – przystanek tramwajowy
10 00 – plac specjalny dla AI
Inne opcje typów punktów można ustawić we flagach bitowych każdego punktu.


Typy łącz:
01 00 – przechodnie
02 00 – AI (ludzie, samochody)
04 00 – tramwaje, pociągi, samoloty (do przodu)
84 00 – tramwaje, pociągi, samoloty (do tyłu)
10 00 – inne
Dla przykładu typ punktu 01 00 nie musi mieć tego samego typu łącza (w tym przypadku 01 00) Ale np. tramwaje 04 00 muszą mieć typ łącza 04 00 i 84 00 do otoczenia dwóch punktów, aby zagwarantować prawidłowy kierunek.


Przygotowanie
● Po wczytaniu wymaganej misji w Mafii przejdź do systemu operacyjnego, uruchom CHE
i otwórz (PlikOtwórz) plik check.bin wybranej misji.
● Po otworzeniu misji w CHE, otwórz narzędzie W-grze z OpcjeTryb W-Grze. Narzędzie W-grze może być otwarte tylko po wczytaniu misji.
● Jeśli będziesz poruszał się w grze to powinieneś widzieć w narzędziu W-grze aktualną pozycję, w której obecnie się znajdujesz.
● W celu wygenerowania punktów kliknij Generuj plik różnicy. Utworzy się w diff/CHED.chg plik zawierający punkty w pobliżu gracza. Skopiuj wszystkie 8 modeli punktów z folderu models tego edytora do folderu Mafia/models Poniższy skrypt wstaw do pliku scene2.bin tej samej misji za pomocą BScriptView 4 – 6 (menu WstawInne) lub DCED 2:
Kod:
dim_flt 1
// naciśnięcie (F1) wyświetla punkty nawigacji
label CHE
wait 1000
ctrl_read 0, OBJECTIVES
if flt[0] = 1, -1, CHE
cleardifferences
loaddifferences "CHED.chg"
goto CHE

Jeśli zdecydujesz się skopiował ten kod z pliku readme dołączonego do folderu programu, zwróć uwagę na myślnik – musi być " a nie ”, fl pisane jako dwa oddzielne znaki, w ctrl_read ma być dolny ukośnik, a nie spacja z podkreśleniem. Jeśli prawidłowo zapisałeś kod po wciśnięciu F1 – cele, powinny zwizualizować się punkty.


Tworzenie punktów
● Przesuń postać w grze do miejsca, w którym chcesz utworzyć punkt.
● Wybierz pierwszą opcję - Edytuj punkt w Trybie W-grze.
● W polu Typ punktu wybierz żądany typ punktu, a następnie ustaw Promień przejścia punktu w zależności od dostępnej szerokości chodnika/ścieżki – jeśli ustawisz zbyt duży promień na wąskim chodniku, to przechodnie mogą przenikać przez tekstury sąsiadującego budynku lub wchodzić na ulicę. Nieznane bajty są automatycznie wypełnione bajtami zerowymi i mają (zazwyczaj) ustawione ID na zero. Te ID jest takie samo jak podana wartość xx w skrypcie enemy_move xx. Aby dodać punkt naciśnij przycisk Utwórz.
● Powtarzaj poprzednie trzy kroki do momentu utworzenia wymaganej liczby punktów w obszarze misji.

Tworzenie łączy
● Łącza punktów tworzy się w La Tierra. Otwórz te narzędzie w OpcjeLa Tierra.
● Aby poruszać się w podglądzie kliknij na miniaturkę w lewej górnej części okna (szybko) lub kliknij i przytrzymaj na podgląd poza białym obramowaniem. Można również blokować
rysowanie punktu na wysokości (koordynacja Y) poprzez ustawienie limitu w prawym górnym rogu okna.
● Aby utworzyć nowe łącza wybierz pierwszą opcję Utwórz łącze. W polu Typ łącza wybierz żądany typ łącza i sprawdź Automatyczne tworzenie zwrotnych łączy.
● Ustaw odpowiednie duże powiększenie. Kliknij na pierwszy wymagany punkt, a następnie na drugi wymagany punkt - to spowoduje utworzenie nowego łącza w obu kierunkach punktów. Aby odłączyć kliknij na podgląd prawym przyciskiem myszki.
Obrazek
Podczas tworzenia łączy, należy uważać, aby dodać bardzo dużo numerów łączy – na obrazku są czerwone. Maksymalna liczba łączy z punktu powinna wynosić ± 8.

Edycja i usuwanie punktów i ich łącz
● Można używać głównego okna do zarządzania punktami i łączami. W oknie punktów kliknij na Zmień – zmienione dane zostaną zapisane lub kliknij na Usuń – punkt i jego łącza zostaną usunięte. Jeżeli usuwasz punkt, udostępniane łącza połączonych punktów są zmienione na nieznane. Musisz również usunąć te łącza. Lepsza metoda: najpierw usuwaj łącza.
● Aby usunąć łącza kliknij na La Tierra i wybierz drugą opcję Usuń łącza. Na początku, kliknij na pierwszy punkt, a następnie drugi punkt - zostanie usunięte pierwsze łącze. Aby usunąć drugie łącze, kliknij te same punkty w odwrotnej kolejności.
● Następnie można bezpiecznie usuwać punkty w głównym oknie.

Zapisywanie
● Aby zapisać kliknij PlikZapisz. Edytor automatycznie tworzy kopię zapasową poprzedniej wersji pliku check.bin w folderze BackUp tej misji.

Dodanie obiektu przechodniów do pliku scene2.bin
Check.bin zawiera tylko nawigację, aby piesi chodzili po zrobionych przez nas ścieżkach należy dodać je jeszcze podwójnie do pliku scene2.bin – jako obiekt definicji i punkt w obiektach standardowych. Można to zrobić za pomocą programu DCED 2, ale należy uważać, bo program ten jest niestabilny – wiesza się, czasami uszkadza edytowany plik scene2.bin. Ja osobiście w przypadku obiektu przechodniów inaczej niż w przypadku obiektu samochodów miałem problem, bo plik importowany wstawiał mi pustą definicję bez nazw modeli, dlatego naklikałem odpowiednią liczbę razy opcję Nowy model i ręcznie pozamieniałem nazwy, przepisując je z oryginalnego pliku misji gry (np. civil02.i3d, civil03.i3d, czena01.i3d itd.).