Tawerna Bibliotekarzy Strona Główna
RSS Panel

Poprzedni temat «» Następny temat
Lokacje w Near Infinity
Autor Wiadomość
Coincidence 

Wysłany: 2005-08-17, 04:35   Lokacje w Near Infinity

Na początek proponuję zapoznanie się z możliwościami edytorskimi Near Infinity, pozwala to doskonale opanowac podstawy ( które to są zawarte w praktycznie każdym programie zawierajacym opcję edycji map ) i zrozumieć zasady funkcjonowania obszaru. No i obsługa NI to rzecz łatwa i przyjemna ( jest to program napisany w Javie, dlatego niezbędne jest posiadanie zainstalowanej Javy ).

Near Infinity:

strona programu
download - najnowsza wersja

Java

download




Główne pliki lokacji:

******.are - zawiera główne informacje o obszarze, listę aktorów, przedmiotów, pułapek, itp.
******.tis - główna grafika obszaru ( tło )
******.wed - ogólnie mówiąc, łączy w całość poszczególne części lokacji (.are, .tis, itd ), zawiera też informacje o wallsach
******ht.bmp, ******lm.bmp,******sr.bmp - bitmapy zawierające dodatkowe informacje na temat m.in. graficznej interakcji postaci z otoczeniem ( np. światło padające na postaci, wysokość ich położenia czy wreszcie dostępność niektórych obszarów )

- te sześć pliczków to podstawa do istnienia lokacji, bez żadnego z nich obszar nie będzie funkcjonował
- ilość gwiazdek jest nieprzypadkowa, nazwa tych plików MUSI składać się z sześciu liter
- można spotkać się z plikami, których nazwa kończy się małą literką 'n' (np: AR0300n.tis ), to nocna wersja danej lokacji ( a więc różniąca się choćby wyglądem )


Jak skopiować daną lokację i wprowadzić w niej drobne zmiany?

Przykładowo, chcesz stworzyć własną gospodę, która będzie wyglądała jak piracka speluna Palucha ("Morska Zdobycz" w dokach Athkatli ). Musisz więc odnależć pliki tego obszaru ( wykorzystująć Infinity Explorer lub Near Infinity, najłatwiej to zrobić wyszukując grafikę - IE ładuje tisa automatycznie, NI ma opcję 'viev area' w menu File ), gdy ci się to uda, wyeksportuj je ( cała szóstka ) do osobnego katalogu. Zmień ich nazwy ( nalepiej żeby te pliki miały identyczną nazwę, łatwiej się później zorientować ) Uruchom NI ( jeśli dotąd tego nie zrobiłeś ) i z menu game wybierz open file, później browse i znajdź katalog, w którym masz pliki. Wybierz .are, kliknij na 'open in new window'.


ARE

1. Aktorzy, czyli wszystkie stworzenia występujące na danym obszarze ( konkretnie tu widzisz barona Ployera, Palucha, kilku gości w gospodzie i parę innych osób )
2. Pojemniki ( containers ), wszystkie szafy, skrzynie, cokolwiek, gdzie znajdują się przedmioty podpada pod tą kategorię.
3. Drzwi ( doors ), każde drzwi ( nie sugerować się nazwą, nie muszą być to te drewniane ) w obszarze.
4. Points of interest - wyjścia z lokacji, obszary informacyjne ( kursor w kształcie znaku zapytania )
5. Area north, south, west, east - jaka lokacja ładuje się po kliknięciu na granicę obszaru ( północną, etc. ), głównie wykorzystywane w zewnętrznych obszarach
Probability - prawdopodobieństwo wystąpienia na danym obszarze śniegu ( snow ), deszczu ( rain ), błyskawic ( lightning ) i mgły ( fog ), wyrażane w procentach, równiez stosowane na zewnątrz budynków
Area script - skrypt wykorzystywany na danej lokacji
6. Location flags - oznaczenia obszaru, choćby czy jest to teren na zewnątrz budynku ( outdoors ), czy las ( forest ), itd. Szczegółowe objaśnienie jest nieco niżej.

'Outdoor' - teren 'na zewnątrz', nie będący budynkiem; ważne choćby dla niektórych czarów
'Day/Night' - ustala, czy w obszarze jest cykl dzień/noc ( wczytywanie po określonej godzinie nocnej/dziennej wersji lokacji )
'Weather' - określa, czy w obszarze są 'włączone' zjawiska atmosferyczne ( deszcz, śnieg, itp. )
'City' - teren 'miastowy'
'Forest' - teren należący do lasu
'Dungeon' - podziemia, lochy, itp.
'Extended night' - przedłużona noc
'Can rest' - określa, czy w obszarze można spróbować odpocząć

Są to oznaczenia dla Baldur's Gate 2 ( i Bg1 oraz Id1 ); Planescape: Torment ma inny system, ale wykorzystujący nazwy własne ( 'Rubikon', 'Baator').


ARE -> EDIT

Actor

Nas interesuje kwestia NPC, zjeżdżamy więc nieco niżej, aż po lewej stronie tabelki zobaczysz actor. Powiedzmy, że chcesz zamiast Palucha wstawić swojego własnego karczmarza ( zakładam, że go masz ). Klikasz na actor, w dole pojawiają sie szczegółowe dane ingerencji tego NPC w obszarze ( gdzie stoi, kiedy się pojawia, dodatkowy skrypt, itp. ). Nas interesuje ( na razie ) przycisk 'Viev/Edit' znajdujący się na samym dole ekranu, kliknij go. Pojawi się nowy ekran, tu również przejdź na zakładkę 'edit'.


'Name' to nazwa danego NPC w pliku are ( ułatwia orientację )
'Current position: X' i 'Current position: Y' to miejsce, w którym NPC znajduje się po wczytaniu ( w grze ) obszaru, 'Current destination' ( X i Y ) to punkt, do którego bedzie podążał NPC ( identyczne wartości w position i destination sprawią, że bedzie stał w miejscu )
'Present at' to przedział czasowy, w jakim NPC bedzie obecny w obszarze ( najmniejszy dostepny to jedna godzina )
Opcje takie jak 'dialog' i wszelakie skrypty najlepiej ustawiać w pliku 'cre' ( gdy jest to specyficzny NPC ), gdy jest to 'napotkana osoba' możesz umieścić na lokacji kilka wersji tego samego NPC i w pliku 'are' przyporzadkować dany dialog i skrypt.
'Character' - plik 'cre' który zostanie umieszczony w lokacji, wystarczy kliknąć nań i wybrac dostępne z rozwijanego menu.
By umieścić nowego karczmarza zmien najpierw nazwę ( name ) i podmień plik 'cre' na swojego ( musi się znaleźć w katalogu Override, by NI go 'widział' ). Jeśli chcesz zmienić pozycję, to musisz ręcznie wklepać nowe wartości, jak dla mnie, karczmarz stoi w optymalnym miejscu. Zamykamy okienko i wracamy do głównego obszaru.
To, co zrobisz teraz, zależy tylko od ciebie. Możesz edytować istniejących NPC, dodać nowych ( Add - actor ), usunąć istniejących ( Remove ).

No dobra, ale to są tylko aktorzy, co zrobić, gdy chcesz, np. umieścić interesującą książkę na półce? Tu, podobnie jak powyżej, po kliknięciu najpierw na istniejący pojemnik, potem na 'Viev/Edit' i przejściu na zakładkę pojawia się interesujący nas ekranik:


Container

'Name' to nazwa danego pojemnika w pliku 'are', ułatwia orientację
'Location: X' i 'Location: Y' to miejsce, w którym trzeba stanąć, by otworzyć dany pojemnik
'Type' określa rodzaj pojemnika, to m.in. grafika pojawiająca się po otworzeniu go ( w grze )
'Is locked?' - okresla, czy pojemnik jest zamknięty
'Lock difficulty' - poziom umiejętności otwierania zamków niezbedny do otworzenia pojemnika
'Trap detection difficulty' - stopień umiejętności wykrywania pułapek, niezbędny by ją wykryć
'Trap removal difficulty' - stopień umiejętności rozbrajania pułapek, niezbędny by ją rozbroić
'Is trapped?' - określa, czy pojemnik jest zabezpieczony pułapką
'Is trap detected?' - określa, czy pułapka jest wykryta
'Trap location: X' i 'Trap location: Y' to miejsce, w którym trzeba stanąć, by rozbroić pułapkę
'Bounding box( left, right, top, bottom ) - "pudełko" tworzące dany pojemnik ( ale to tylko ogólne wartości )
'#items' to liczba przedmiotów w pojemniku
'Trap script' - skrypt bedący "właściwą" pułapką ( np: doznajesz 20 obrażeń )
'Vertices' - liczba wierzchołków 'pudełka' tworzącego pojemnik
'Creature' - istota pojawiająca się po otworzeniu pojemnika / aktywacji pułapki
'Key' - przedmiot, który musisz mieć w ekwipunku, by otworzyć pojemnik
'Item' - przedmiot umieszczony w pojemniku
'Vertex (cyferka)' miejsce ( X: Y: ), gdzie znajduje się dany wierzchołek 'pudełka'

Dobra, chesz dodać książkę; kliknij więc na 'item', by zmienić dany przedmiot, lub na 'add - item' by dodać przedmiot; niezależnie od decyzji musisz teraz wybrac 'viev/edit'. Pojawi się nowe okienko, zaznaczyć musisz poprzez kliknięcie item', na dole ok. pojawi się lista wszystkich przedmiotów dostępnych w grze ( włącznie z tymi w Override ). Teraz wystarczy tylko wybrać ( 'update value' ).


Doors

Używając wyrażenia 'drzwi' mam na myśli obszar, który po kliknięciu ( akcji ) zmienia swą grafikę ( najprościej jak się da - drzwi otwarte i drzwi zamknięte to dwie różne statyczne grafiki a nie animacja ) - w .tis lokacji zwykle drzwi są otwarte.


'Name' - nazwa danych drzwi w pliku .are, ułatwia orientację
'ID' - identyfikacja drzwi dla .wed

'Flags' - poszczególne opcje:
'Door open' - drzwi otwarte ( w sensie - nie na klucz )
'Door locked' - drzwi zamknięte ( w sensie - na klucz, ale nie DOSŁOWNIE na klucz - przedmiot niezbędny do ich otwarcia )
'Trap must be disarmed' - niezbędne rozbrojenie ( lub aktywacja ) pułapki do otwarcia
'Detectable trap' - wykrywalna pułapka
'Can be opened?' - czy drzwi mogą być otwierane
'Door secret' - ukryte, zamaskowane
'Uses key' - czy do ich otwarcia niezbedny jest przedmiot ( "klucz" )


'First vertex index-open' - liczba wierzchołków określających położenie drzwwi w pozycji otwartej
'First vertex index-closed' - liczba wierzchołków określających położenie drzwwi w pozycji zamkniętej
'Bounding box' - wszystkie osiem kolejnych pozycji odpwiada za położenie 'pudełka' tworzącego drzwi, zarówno w pozycji zamkniętej ( open ) jak i zamkniętej ( closed )
'Sound: Open' - dźwięk przy otwieraniu
'Sound: Close' - dźwięk przy zamykaniu
'Cursor.BAM anim nr.' - kursorek wyświetlany po najechaniu na drzwi
'Trap detection difficulty' - stopień umiejętności wykrywania pułapek, niezbędny by ją wykryć
'Trap removal difficulty' - stopień umiejętności rozbrajania pułapek, niezbędny by ją rozbroić
'Is trapped?' - określa, czy pojemnik jest zabezpieczony pułapką
'Is trap detected?' - określa, czy pułapka jest wykryta
'Trap location: X' i 'Trap location: Y' to miejsce, w którym trzeba stanąć, by rozbroić pułapkę
Key[i] - przedmiot, który musisz mieć w ekwipunku, by drzwiczki się otworzyły ( klucz )
[i]'Lock difficulty'
- poziom umiejętności otwierania zamków niezbedny do otworzenia pojemnika ( gdy jest zamknięty - patrz opcja poniżej )
'Open location: X' i "Open location: Y' to miejsce, w którym trzeba stanąć, by otworzyć dane drzwi
'Close location: X' i "Close location: Y' to miejsce, w którym trzeba stanąć, by zamknąć dane drzwi
'Unlock message' - tekst pojawiający się w oknie dialogowym przy, np. nieudanej próbie otwarcia zamka
'Travel trigger name' - nazwa triggersa ( patrz niżej - 'points of interest' ), który tworzą drzwi
'Door name' - nazwa drzwi
'Dialog' - plik dialogowy aktywowany w momencie kliknięcia na drzwiczki
'Vertex ( liczba)' - wierzchołek obszaru danych drzwi



Points of interest

'Info trigger' - obszar informacyjny, klikasz na dany obszar i wyświetla ci tekst ( na lokacji lub w okienku dialogowym )
'Proximity trigger' - pułapka
'Travel trigger' - obszar, z ktrego można podróżować


'Name' - nazwa danego triggersa ( KONIECZNIE nadawaj im własne nazwy, by móc się później zorientować - w większych lokacjach triggersów może być kilkadziesiąt )
'Type of point' - rodzaj triggersa, opisane wyżej
'Bounding box( left, right, top, bottom )'[i] - "pudełko" tworzące dany trigger ( ale to tylko ogólne wartości )
[i]'#vertices'
- liczba wierzchołków triggersa
'Cursor frame number' - określa wygląd kursora, najczęściej używane w przypadku zmiany obszaru to '28' - kursor-schody, i '30' - kursor-drzwi
'Destination area' - obszar przeznaczenia, wczytywany po uaktywnieniu triggersa
'Entrance name' - określa, gdzie wylądujemy po wczytaniu lokacji, na której konkretnie pozycji, w którą stronę będą zwrócone postacie - szczegóły niżej
'Flag' - znaczniki:
'Trap undetectable' - określa, czy pułapka jest niewykrywalna
'Party required' - do przejścia do następnej lokacji jest wymagana cała drużyna
'Detectable trap' - określa, czy pułapka jest wykrywalna
'Trigger deactivated' - trigger dezaktywowany
'Cannot be passed by NPC' - określa, czy NPC ( istoty spoza drużyny gracza ) mogą używać tego triggersa
'Info point text' - tekst pojawiający się po kliknięciu na dany obszar ( kursorek w kształcie znaku zapytania ), nie jest on przechowywany w .are a w dialog.tlk
'Trap detection difficulty' - stopień umiejętności wykrywania pułapek, niezbędny by ją wykryć
'Trap removal difficulty' - stopień umiejętności rozbrajania pułapek, niezbędny by ją rozbroić
'Is trapped?' - określa, czy pojemnik jest zabezpieczony pułapką
'Is trap detected?'[i] - określa, czy pułapka jest wykryta ( automatycznie )
[i]'Trap location: X'
i 'Trap location: Y' to miejsce, w którym trzeba stanąć, by rozbroić pułapkę
'Script' - skrypt wyzwalany po kliknięciu na triggers
'Activation dialog' - dialog aktywowany po kliknięciu na obszar triggersa
'Vertex' - wierzchołki 'pudełka' tworzącego triggersa



Na początek rzeczy łatwe i przyjemne - zablokujemy przejście schodami, ot, w naszej gospodzie piętro nie jest dostępne dla klientów ( a ściśle mówiąc zamiast 'travel' będzie to 'info point' ) Otwórz interesujący nas triggers ( Tran0314 ) i zmień jego typ ( 'type of point' ) na 'info point'. Następnie wybierz 'destination area', zaznacz, w okienku na dole zjedź na sam dół i wybierz 'none'. Zrób mały 'Update value'. No i wymaż zawartość 'entrance name'. Teraz zmień wartość 'cursor frame number' na '22' ( będzie to znak zapytania ) i wpisz coś w polu 'info point text' - kliknij 'edit' i w okienku, które się pojawi, w 'string' wpisz, co zechcesz - np. "schody prowadzą do zamkniętych drzwi, których żadną siłą nie możesz otworzyć." - teraz kliknij na 'add'. I gotowe.

Powiedzmy, że w twojej gospodzie ukryte drzwi nie prowadzą do jaskini będącej siedzibą piratów, ale jest tam mała piwniczka na alkohole. Nieźle wyglądającą piwicę pamiętam z pierwszego Icewinda, z gospody 'Zimowa kołyska' w Eastheaven, a że mam Icewinda na dysku mogę pokusić się na wyeksportowanie tejże lokacji do Baldurka. Robi się to identycznie jak z początkowym eksportem naszej gospody - odnalezienie lokacji przy pomocy NI, eksport do Baldurowego override wszystkich plików lokacji i zmiana ich nazwy - w tym konkretnym przypadku nie będzie to konieczne, tzn. zmiana nazwy, gdyż lokacji AR1015 nie ma w BG2 - ale należy jeszcze wprowadzić kilka drobnych zmian w pliku .are. Trzeba usunąć wszystkich aktorów - cztery żuczki - i aktualizować wpisy w 'info point', są one bowiem czerpane z dialog.tlk, a ten jest przecież różny w BG2 i ID. W jaki sposób to zrobić opisałem wyżej, gotowy opis można przekopiować z okienka IE.

Triggers

Wyeksportuj też ambient ( dźwięki otoczenia ) lokacji. Kliknij dwukrotnie na 'ambient' w zakładce 'edit' pliku '.are', ponownie kliknij dwukrotnie na 'AM_1015.wav' w okienku, które się pojawi. Następnie za pomocą przycisku 'export' umieść 'wav' w baldurowym override, jeśli nie usunąłeś 'ambient' z pliku '.are', to dźwięk powinien działać automatycznie.
Teraz czas na najtrudniejszą część. Przyjrzyj się w wyeksportowanym pliku 'ar1015.are', w zakładce 'edit' na pierwszą pozycję 'info, trigger or exit point' o typie 'travel trigger' ( 'Name: To1006', tutaj nie masz co szukać, gdyż jest tylko jeden tego typu triggers; gdy jest ich więcej, to najłatwiej szuka się właściwego z pomocą IE ). Kliknij dwukrotnie na tym triggersie i wybierz 'destination area'. Z dolnego menu wybierz '.are' twojej gospody ( zakładam, że pamiętasz jego nazwę ), w polu 'Entrance name' wpisz 'Exit0310' ( 'Name:Exit0310' w polu 'entrance' 'ar0313.are' - jak już pisałem, 'entrance' jest miejscem, gdzie pojawiają się istoty po wczytaniu lokacji, przy pomocy IE możesz sprawdzić, który jest właściwy dla danego przejścia ). Podobnie czynimy w pliku 'ar0313.are' - zmiana 'destination area' na naszą piwnicę, właściwa nazwa 'entrance name' ( piwnica ma tylko jeden 'entrance' więc ze znalezieniem nazwy nie powinno być problemów ). Teraz tylko zapisz i sprawdź, czy działa.
Został nam jeszcze trzeci triggers, będący wyjściem z lokacji. A tylko od ciebie zależy, gdzie twoja gospoda będzie ( Amn, Targowo, itp. ). Zmianę połączeń pomiedzy triggersami a entrancesami dokonuje się identycznie jak w sposób opisany powyżej.


Ambients

'Name' - nazwa danego ambienta w pliku '.are'
'Origin: [X i Y]' - położenie środka danego ambientu
'Radius' - zasięg słyszalności dźwięku
'Frequency?' - częstotliwość powtarzania
'Volume' - głośność dźwięku
'Sound (liczba)' - wav wykorzystywany w ambiencie ( maksymalnie może ich być dziesięć ); dwukrotne kliknięcie na nazwę 'wav'a otwiera nowe okienko, gdzie można odsłuchać plik ( czy wyeksportować )
'# sounds' - liczba odtwarzanych naraz dźwięków
'Time interval' - odstęp czasu ( w sekundach ) pomiędzy odtwarzaniem dźwięku
'# sounds to use' - maksymalna liczba odtwarzanych naraz dźwięków
'Present at' - przedział czasu, w jakim odtwarzany jest ambient
'Flags' - poszczególne opcje:

'Enabled(0)' - ambient 'uatywniony'
'Point sound(1)' - dźwięk odtwarzany z punktu, im dalej od niego, tym cichszy
'Main ambient(2)' - główny ambient lokacji
'Area sound(3)' - ambient odtwarzany w całym obszarze ( lokacji )
 
 
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
Nie możesz ściągać załączników na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme made by Aiglon von Lupus based on subSilver