Tworzenie .pk4 (z addonem)
req, Śro, 2006-03-29 10:29 Quake 4 | TutorialeOd czasu pojawienia się Point Release 1.1 do czwartego Quake wszystkie dodatkowe packi (z mapami) powinny być ujednolicone i kompatybilne z systemem auto-downloadu w tejże poprawce. Spróbuję wam przedstawić proces tworzenia takiego pliku.
1. Struktura katalogów w pk4
Plik .pk4 to nic innego jak skompresowane archiwum zip ze zmienionym rozszerzeniem. Oto jak powinna wyglądać jego zawartość:
twój_plik.pk4
-addon.conf (opis pliku poniżej)
def/
-twoja_mapa.def
gfx/
guis/
loadscreens/
-obrazek_ladujacy.tga
mainmenu/
-obrazek_menu.tga
maps/
-twoja_mapa.map
-twoja_mapa.proc
-twoja_mapa.cm
-twoja_mapa.aas32 (plik dla botów jako opcja)
materials/
-(dodatkowe pliki .mtr, odpowiednik .shader)
models/
-(dodatkowe modele)
scripts/
-(dodatkowe skrypty, glownie Single Player)
sound/
-(dodatkowe dzwięki)
textures/
-(dodatkowe tekstury)
2. addon.conf
Dodatkowe packi są definiowane właśnie przez ten pliczek, który wrzuca się bezpośrednio do głównego katalogu .pk4, a tworzy się za pomocą notatnika, ze zmienionym rozszerzeniem pliku. Jeżeli pack nie zawiera żadnych map to powinien zostać pusty.
Jeżeli, co nas najbardziej interesuje, znajduje się tu nasza mapa (lub kilka ich), to powinniśmy wypełnić go według poniższego schematu. Musi zawierać nazwe wpisy identyfikujące dodatkowy pack, mapy, ścieżkę oraz tryby gry.
//Przykładowy plik addon
//Możecie go używać w swoich packach
//Definiujemy dodatkowy pack dla autodownloadu
addonDef {}
//Definicje map użytych w packu. Screeny ładujące dopisujemy
//w pliku nazwa_mapy.def (o tym poniżej)
mapDef ścieżka/nazwa_mapy {
//Nazwa mapy wyświetlana na ekranie
"name" "nazwa_wyswietlana"
//Dostępne tryby gry (1 - włączone, 0 - wyłączone)
"DM" "1"
"Team DM" "1"
"Tourney" "1"
"CTF" "0"
"Arena CTF" "0"
}
Ścieżka do mapy powinna zawierać nazwy katalogów i nazwę pliku mapy (bez rozszeżenia), w której siedzi .map. Nie należy podawać pełnej ścieżki z literą dysku, a to co znajduje się w .pk4 po katalogu maps, czyli np. jak wrzucimy naszą mapkę do maps/mp/nasza_mapa.map, to ścieżka powinna wyglądać tak: mp/nasza_mapa.
Oto przykładowy, gotowy plik addon.conf mapy l4dm1x:
addonDef {}
mapDef mp/l4dm1x {
"name" "GALANG by LUKIN [1.1 test]"
"DM" "1"
"Team DM" "0"
"Tourney" "1"
"CTF" "0"
"Arena CTF" "0"
"Gametype_Deathmatch" "1"
"Gametype_TeamDeathmatch" "0"
"Gametype_Tournament" "1"
"Gametype_CaptureTheFlag" "0"
"Gametype_ArenaCaptureTheFlag" "0"
}Wpisy z "Gametype_" na początku są zrobione jako opcja dla modów.
3. Plik .def i screen ładujący
By zobaczyć screen mapy podczas jej ładowania należy stworzyć plik .def z powtórzonym (z addona) wpisem mapDef zawierającym jedynie ścieżki do obrazków.
//Przykład pliku .def dla Quake 4 1.1 przy istniejącym addonie
mapDef ścieżka/nazwa_mapy {
//Obrazek ładujący
"loadimage" "gfx/guis/loadscreens/nazwa_obrazka"
//Obrazek menu
"mp_thumb" "gfx/guis/mainmenu/nazwa_obrazka"
}
Przy podawaniu ścieżki do obrazków nie należy podawać ich rozszeżeń.
- Obrazek ładujący powinien być formatu Truevision Targe (TGA) i mieć wielkość 512x512.
- Obrazek menu tak samo jak wyżej jednak w rozdziałce 256x256.
- Oba powyższe powinny być nazwane tak jak pliczek .map
Oto przykładowy, gotowy plik l4dm1x.def mapy l4dm1x:
mapDef mp/l4dm1x {
"loadimage" "gfx/guis/loadscreens/l4dm1x"
"mp_thumb" "gfx/guis/mainmenu/l4dm1x"
}4. Nazywanie plików .pk4
Własne, dodatkowe packi najlepiej nazywać w taki sam sposób, w jaki nazwaliśmy plik mapy w nim znajdujący się, z dopiskiem map_ na początku, co od razu pozwoli na identyfikację packa, gdy mamy bałagan w naszym folderze q4base. Dla przykładu, mapa nazywa się mojamapa.map, to dobrze by było, gdyby pack nosił nazwę map_mojamapa.pk4.
5. Addon packi bazujące na innych
Jest jeszcze interesująca kwestia, gdy robimy .pk4 bazującego na innych dodatkowych packach (np. dodatkowe packi z teksturami, modelami, czy coś w tym stylu). Trzeba wtedy dopisać do niego sumy kontrolne tych plików. Uzyskujemy je przez wpisanie komendy "path" w konsoli. Przykład:
Dwie ostatnie ścieżki to właśnie dodatkowe packi. Na samym ich końcu znajduje się suma kontrolna, którą przepisujemy na początek pliku addon.conf do części addonDEF.
addonDef {
//Sumy kontrolne dodatkowych packów,
//na których opiera się nasz.
"0xb149cb12" //addon_test_assets.pk4
}
Jednak przydaje się to wyłącznie podczas bazowania na oddzielnych packach, co zdarza się niezwykle rzadko.
Mam nadzieje, że wszystko wyjaśniłem. Oparłem się w dużej części na poradnikach ze stron: iddevnet.com oraz esreality.com.






Ostatnie odpowiedzi
6 tygodni 3 dni temu
9 tygodni 2 dni temu
9 tygodni 3 dni temu
9 tygodni 4 dni temu
9 tygodni 5 dni temu
11 tygodni 2 dni temu
11 tygodni 3 dni temu
11 tygodni 3 dni temu
12 tygodni 6 dni temu
19 tygodni 4 dni temu