utak3r 21 lis 2009, 01:40

Podsumowanie dyskusji przez Sidorowicza

Najemnicy
ModderModder
Posty: 2201
Rejestracja: 11 lis 2009, 18:15
Ostatnio: 02 sie 2025, 22:51
Lokalizacja: Szczecin
Ulubiona broń: GP 37
Kozaki:
376
Na górę
Post autor: utak3r  Ostatnio zmieniony 26 lip 2010, 22:23 przez utak3r, łącznie zmieniany 4 razy.
Zaczynamy mini-kursik obsługi Level Editora. Na początek trzeba w ogóle całe środowisko sobie przygotować... a więc - good hunting, stalker!

1. Instalujemy SDK
http://files.gsc-game.com/st/xray-sdk-setup-v0.4.exe

1a. Jeżeli używasz systemu Windows Vista lub Windows 7, warto zainstalować Microsoft Application Toolkit. Sposób jego użycia znajdziesz w tym tutorialu.

2. Instalujemy najnowszy patch
http://stalkerin.gameru.net/downloads/S ... atch_04.7z

3. Usuwamy zawartość katalogu C:\Program Files\X-Ray SDK\level_editor\gamedata\.
4. Rozpakowujemy tam oryginalną zawartość z gry
5. Pobieramy najnowsze X-ray Game asset tools pack update 2.0:
http://www.stalkerin.gameru.net/downloa ... 0090708.7z
5a. [UPDATE] Najnowsza wersja X-ray Game asset tools pack z 22 lutego 2012: tutaj.

6. Tworzymy katalog C:\Program Files\X-Ray SDK\converter
7. Wypakowujemy do tego katalogu pliki converter.exe i fsconverter.ltx.
8. Do katalogu C:\Program Files\X-Ray SDK\level_editor kopiujemy plik converter.ini.
9. Edytujemy plik converter.ini. Na początek zajmiemy się konfiguracją dla finalnej SoC, czyli dla buildu 2947. Odnajdujemy sekcję [2947_config] (pod koniec pliku będzie). Ustawiamy ścieżki:

Kod: Zaznacz cały

[2947_config]:2945_config
$game_data$         = C:\Program Files\X-Ray SDK\level_editor\gamedata\
$game_levels$         = C:\Program Files\X-Ray SDK\level_editor\gamedata\levels\


To samo robimy w sekcji [aitest_config].

10. Tworzymy katalog C:\Program Files\X-Ray SDK\aiwrapper
11. Kopiujemy do niego pliki aiwrapper.exe, aiwrapper.ini i fsaiwrapper.ltx.
12. Do katalogu C:\Program Files\X-Ray SDK\level_editor rozpakowujemy katalog 2215.

voila!!

Przygotowujemy level do zaciągnięcia do Level Editora. Wchodzimy do katalogu C:\Program Files\X-Ray SDK\converter i wykonujemy polecenie:

Kod: Zaznacz cały

converter -level l01_escape -mode le


Uwaga:
W przypadku, gdy chcemy rozpakować level l12_stancia_2, należy użyć trybu -mode le2 !!

Przykładowy wynik działania konwertera::

C:\Program Files\X-Ray SDK\converter>converter -level l01_escape -mode le

log started (console and converter.log)
level name: l01_escape
loading level.ltx
loading level.geom
loading level
...visuals
...shaders/textures
...sectors
...portals
...lights
...glows
loading level.cform
loading level.hom
loading level.details
...texture
loading level.ai
loading level.game
loading level.spawn
ignoring trailing garbage at m_dog.ltx:287
ignoring trailing garbage at m_pseudodog.ltx:281
ignoring trailing garbage at m_poltergeist.ltx:305
loading level.wallmarks
loading level.som
loading level.snd_static
loading level.ps_static
loading level.env_mod
loading level_lods.dds
loading level_lods_nm.dds
loading meshes\brkbl#0.ogf
loading meshes\brkbl#1.ogf
loading meshes\brkbl#2.ogf
loading meshes\brkbl#3.ogf
loading meshes\brkbl#4.ogf
loading meshes\brkbl#5.ogf
loading meshes\brkbl#6.ogf
loading meshes\brkbl#7.ogf
loading meshes\brkbl#8.ogf
loading meshes\brkbl#9.ogf
loading meshes\brkbl#10.ogf
loading meshes\brkbl#11.ogf
loading meshes\brkbl#12.ogf
loading meshes\brkbl#13.ogf
loading meshes\brkbl#14.ogf
loading meshes\brkbl#15.ogf
loading meshes\brkbl#16.ogf
loading meshes\brkbl#17.ogf
loading meshes\brkbl#18.ogf
loading meshes\brkbl#19.ogf
loading meshes\brkbl#20.ogf
loading meshes\brkbl#21.ogf
loading meshes\brkbl#22.ogf
loading meshes\brkbl#23.ogf
loading meshes\brkbl#24.ogf
loading meshes\brkbl#25.ogf
loading meshes\brkbl#26.ogf
loading meshes\brkbl#27.ogf
loading meshes\brkbl#28.ogf
loading meshes\brkbl#29.ogf
loading meshes\brkbl#30.ogf
loading meshes\brkbl#31.ogf
loading meshes\brkbl#32.ogf
loading meshes\brkbl#33.ogf
loading meshes\brkbl#34.ogf
loading meshes\brkbl#35.ogf
loading meshes\brkbl#36.ogf
loading meshes\brkbl#37.ogf
loading meshes\brkbl#38.ogf
loading meshes\brkbl#39.ogf
loading meshes\brkbl#40.ogf
loading meshes\brkbl#41.ogf
loading meshes\brkbl#42.ogf
loading meshes\brkbl#43.ogf
loading meshes\brkbl#44.ogf
loading meshes\brkbl#45.ogf
loading meshes\brkbl#46.ogf
loading meshes\brkbl#47.ogf
loading meshes\brkbl#48.ogf
loading gamemtl.xr
scene name: escape
substituting shaders/textures
re-indexing shaders/textures
building detail_object.part
saving det\det_escape
building sector.part
selected sector #23 (of 24) as default
building portal.part
building scene_object.part
calculating subdivisions
calculating external meshes
collecting subdivisions
collecting external meshes
compacting 3534281 verts, 3049452 faces
got 1732371 points, 140258 normals, 397327 uvs in 12.875s
cleaning geometry
removed 0 duplicate faces in 1.250s
removed 458196 back faces in 2.969s
cleaning cform
mapping 698013 CFORM verts to 1732371 visual
got 652281 matches
matching edges/faces
propagating game materials
restoring fake colliders
separating terrain
separating models (by merged edge-linked groups)
building edge-connected submeshes
immediate fake/MU joins: 453
submeshes (MU): 1839
submeshes (fake): 3862
submeshes (regular): 14046
reordering faces
accounting submeshes
creating collision models (MU)
creating collision models (fake)
merging fake/MU submeshes
non-fake (residue) submeshes: 0
cross-merging fake submeshes
assigning contact groups (fake)
total groups (fake): 26
creating collision models (regular)
merging submeshes (regular)
contacts (with redundancy): 52800
assigning contact groups (regular)
total groups (regular): 658
building regular models
exporting visuals
materials\fake -> prop\prop_fake_kollision, def_shaders\def_vertex, def_shaders\def_kolizion
materials\fake -> prop\prop_fake_kollision, def_shaders\def_vertex, def_shaders\def_kolizion
materials\fake -> prop\prop_fake_kollision, def_shaders\def_vertex, def_shaders\def_kolizion
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\tree_trunk -> trees\trees_bark_a_01, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\tree_trunk -> trees\trees_bark_a_01, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\tree_trunk -> trees\trees_bark_a_01, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\tree_trunk -> trees\trees_bark_a_01, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\tree_trunk -> trees\trees_bark_a_01, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\tree_trunk -> trees\trees_bark_a_01, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\tree_trunk -> trees\trees_bark_a_01, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\tree_trunk -> trees\trees_bark_a_01, def_shaders\def_trans, flora\flora_collision
materials\tree_trunk -> trees\trees_bark_a_01, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\tree_trunk -> trees\trees_bark_a_01, def_shaders\def_trans, flora\flora_collision
materials\fake -> prop\prop_fake_kollision, def_shaders\def_vertex, def_shaders\def_kolizion
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\tree_trunk -> trees\trees_bark_a_01, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\tree_trunk -> trees\trees_bark_a_01, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\tree_trunk -> trees\trees_bark_a_01, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\tree_trunk -> trees\trees_bark_a_01, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
materials\bush -> tree\tree_fuflo, def_shaders\def_trans, flora\flora_collision
building HOM object
building SOM object
building ai_map.part
found 240 (of 595499) no-return nodes
building glow.part
building light.part
building ps.part
building sound_src.part
building wallmark.part
building way.part (paths)
building spawn.part (entities)
building spawn.part ($env_mods)


Po tej operacji taki level można już otworzyć w Level Editorze :)
Część dalsza kiedy indziej, dużo pisania ;)

Jeszcze tylko dwa linki zapodam:
Najnowsza wersja pluginów do 3DS Max.
Najnowsza wersja pluginów do Maya 2009.

Otwarty level l01_escape:

Obrazek
Sooner or later, you will meet the Undertaker...
Postawili kozaka za ten post (5):
Naukowcy
ModderModder
Posty: 1097
Rejestracja: 26 maja 2009, 23:44
Ostatnio: 16 mar 2026, 23:44
Lokalizacja: Gdzieś Daleko W Wielkopolsce
Ulubiona broń: Vintar BC
Kozaki:
277
Na górę
Post autor: MatrixSTR  Ostatnio zmieniony 15 maja 2010, 19:49 przez MatrixSTR, łącznie zmieniany 1 raz.
Na prośbe Freemana napiszę mniej więcej jak skompilować mapę do gry.
Jest to całkowicie ogólny opis edytowania gotowych map i nie są opisane błędy które mogą wystąpić więc jest to raczej wskazówka niż dokładny opis więc nie pytać czemu coś nie chodzi w temacie ani na PW do czasu aż Utak3r nie napisze pełnego Tutoriala, jak już to można się pytać na SB(jako że do końca się jeszcze nie znam :) )
Należy pamiętać żeby SDK zainstalować w taki sposób żeby w ścieżce do folderu level_editor nie występowały żadne spacje ani znaki specjalne (mi przez to nie chciało znaleźć plików)
po pierwsze przy konwerterowaniu polecenie powinno wyglądać następująco

Kod: Zaznacz cały

converter -level l05_bar -mode le -with_lods
będzie się konwerterowało coś koło godziny ale bez tego później nie skompilujemy levelu. W między czasie odpalamy Level Editora wybieramy z menu po prawej Objects --> Library editor zaznaczamy Preview i przeglądamy listę obiektów, jeśli któryś nam się spodoba i będziemy chcieli go dodać to klikamy Make LOD i w zależności czy mam silny komputer czy słaby to wybieramy High lub Low.
Następnie musimy dodać do SDK tekstury z gry, więc jeśli mamy wypakowaną gamedate konwerterujemy wszystkie tekstury na .tga następnie wrzucamy je do folderu import, odpalamy LE wybieramy Images-> Check New Textures klikamy OK w okienku które się pojawi i czekamy aż się otworzy
gdy już zkonwerteruje się nam level otwieramy go i usuwamy lub dodajem to co chcemy
Następnie gdy już skończymy wchodzimy w Scene -> Options i w sekcji build options wybieramy w zależności od kompa Draw gdy mamy 4 Giga i mniej RAMu (gdy nam już uda się cała kompilacja można ustawić na Custom i zwiększyć ustawienia małymi kroczkami) a jeśli mamy 8 Giga można wziąć High ale niekoniecznie może nam wystarczyć pamięci do kompilacji więc jak się nie uda to należy ustawić custom i zmniejszyć parametry
Następnie wybieramy po kolej:
Compile->Make Details
Compile->Make Game
Compile->Build
Jeśli przy którejś czynności wyskoczy nam ERROR i się zatrzyma, to znaczy że coś wcześniej zrobiliśmy żle lub level się źle skonwerterował
Gdy już to zrobimy zamykamy LE i otwieramy start-> uruchom i wpisujemy

Kod: Zaznacz cały

x\level_editor\xrLC.bat nazwa levelu 
pod "x" ścieżka do folderu level_editor np:

Kod: Zaznacz cały

X:\SDK\level_editor\xrLC.bat l05_bar
i czekamy aż skończy się nam kompilować (czasem może to trwać od kilku do kilkunastu godzin) gdy już się skończy sukcesem wpisujemy w uruchom:

Kod: Zaznacz cały

x\level_editor\xrDO_light.bat nazwa levelu
pod "x" ścieżka do folderu level_editor
i znowu czekamy

Gdy już wszystko się nam zrobi kopiujemy folder z mapą z SDK do folderu gry i odpalamy STALKERa i ją sprawdzamy :) (nie trzeba zaczynać nowej gry)
Naukowcy
Stalker
Posty: 84
Rejestracja: 27 lut 2010, 20:27
Ostatnio: 07 lut 2015, 16:55
Lokalizacja: Siemianowice Śl.
Ulubiona broń: Sniper Rifle SVDm2
Kozaki:
6
Na górę
Post autor: DanieloZ 
Hmmm... Przydatny poradnik :)
Co do części 1 mam problem, po uruchomieniu conventer.exe wyskakuje na ułamek sekund konsola - i nic się nie dzieje :| .Postępowałem zgodnie z poradnikiem, wie ktoś może co może być tego przyczyną?
Jak uruchamiam level editor, wyskuje jakiś błąd, a potem bugtrap

Expression : assertion failed
Function : I:\xray-svn\xrCore\Xr_ini.cpp
File : I:\xray-svn\xrCore\Xr_ini.cpp
Line : 132
Description : F

F - i wszystko wiadomo xD
Proszę o pomoc.
Otwórz oczy i spójrz na świat z innej perspektywy, być może odkryjesz coś, co zmieni twoje życie.
Naukowcy
ModderModder
Posty: 1097
Rejestracja: 26 maja 2009, 23:44
Ostatnio: 16 mar 2026, 23:44
Lokalizacja: Gdzieś Daleko W Wielkopolsce
Ulubiona broń: Vintar BC
Kozaki:
277
Na górę
Post autor: MatrixSTR 
Co do convertera sprawdź czy masz dobrze podaną ścieżke do Level Editora w pliku converter\fsconverter.ltx oraz do gamedaty w level_editor\converter.ini

Co do drugiego to nie mam za bardzo pojęcia. Zainstalowałeś wszystko? patcha? jaki masz system? bo na siódemce są z SDK problemy, a nie wiem jak jest na Viście na przykład.
wyskuje jakiś błąd, a potem bugtrap
co pisze w tym błędzie co na początku wyskakuje? Bo może jakiejś biblioteki brakuje
Naukowcy
Stalker
Posty: 84
Rejestracja: 27 lut 2010, 20:27
Ostatnio: 07 lut 2015, 16:55
Lokalizacja: Siemianowice Śl.
Ulubiona broń: Sniper Rifle SVDm2
Kozaki:
6
Na górę
Post autor: DanieloZ 
Dzięki za szybką odpowiedź :)
Mam Viste - niestety :|
W errorze (nie Bugtrapie) pisało że brakuje mi folderu prefetch, więc zrobiłem go, a do środka wrzuciłem
_prefetch i prefetch, i błąd zniknął.
W fsconventer pozmieniałem linijki z ścieżką i gamedatą na true, a efekt jest taki :

Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
Line : 73
Description : <no expression>
Arguments : LUA error: C stack overflow

BugTrap
Hmmm... Przynajmniej szerzej bug opisany :| Ale i tak za wiele z niego nie wiadomo
Sorry za męczenie, ale jestem w robieniu modyfikacji zielony, ale poddawać się nie będę :D w końcu może to wszystko ogarnę.A na razie proszę o pomoc :)
Otwórz oczy i spójrz na świat z innej perspektywy, być może odkryjesz coś, co zmieni twoje życie.
Naukowcy
ModderModder
Posty: 1097
Rejestracja: 26 maja 2009, 23:44
Ostatnio: 16 mar 2026, 23:44
Lokalizacja: Gdzieś Daleko W Wielkopolsce
Ulubiona broń: Vintar BC
Kozaki:
277
Na górę
Post autor: MatrixSTR 
Sorry za męczenie,
Chyba nie wiesz co to znaczy męczenie jeszcze ;)

w fsconventer nie trzeba zmieniać false na true tylko wystarczy podać dobrą ścieżkę.

a ten błąd przy czym Ci wyskakuje?
C stack overflow
coś musiało się gdzieś zapętlić przez co zapycha cały bufor, coś ze skryptami jakby. Ale co i jak to nie pisze dokładniej... A nie masz może XP gdzieś? bp co jak co ale XP jest najlepszy do SDK, najlepiej chodzi i jest mało błędów :)
Naukowcy
Stalker
Posty: 84
Rejestracja: 27 lut 2010, 20:27
Ostatnio: 07 lut 2015, 16:55
Lokalizacja: Siemianowice Śl.
Ulubiona broń: Sniper Rifle SVDm2
Kozaki:
6
Na górę
Post autor: DanieloZ 
Ten bug wyskakuje przy włączaniu owego Level Editora.

;Edit: Nie no teraz to już całkiem nie wiem o co chodzi :| - BugTrap bez loga :mad:
Otwórz oczy i spójrz na świat z innej perspektywy, być może odkryjesz coś, co zmieni twoje życie.
Naukowcy
ModderModder
Posty: 1097
Rejestracja: 26 maja 2009, 23:44
Ostatnio: 16 mar 2026, 23:44
Lokalizacja: Gdzieś Daleko W Wielkopolsce
Ulubiona broń: Vintar BC
Kozaki:
277
Na górę
Post autor: MatrixSTR 
a jeszcze takie pytanie: otwierasz LE przez plik .exe czy przez .bat? bo należy przez .bat
Nic innego mi nie przychodzi do głowy już...
Naukowcy
Stalker
Posty: 84
Rejestracja: 27 lut 2010, 20:27
Ostatnio: 07 lut 2015, 16:55
Lokalizacja: Siemianowice Śl.
Ulubiona broń: Sniper Rifle SVDm2
Kozaki:
6
Na górę
Post autor: DanieloZ 
Mam wszystkie ścieżki poprawnie ustawione, ale plik conventer nie działa.
Otwórz oczy i spójrz na świat z innej perspektywy, być może odkryjesz coś, co zmieni twoje życie.
Kot
Posty: 29
Rejestracja: 21 cze 2010, 12:15
Ostatnio: 01 sty 2011, 22:32
Ulubiona broń: Striker
Kozaki:
2
Na górę
Post autor: de Arellano 
Jeśli mógłbym się nieco przysłużyć tworzeniu tego tutoriala...podaję link do rosyjskiego poradnika SDK, zawiera screeny i opisuje krok po kroku działania przy obsłudze SDK, szkoda że tłumaczenie translatorem powoduje więcej szkód, może modderzy znający temat znajdą coś dla siebie i uzupełnią w oparciu o niego powyższy poradnik, acha...byłbym zapomniał - poradnik jest zapisany jako .doc i najlepiej zmienić do przeglądania format dokumentu jako A3 bo na mniejszym wcina screeny.
Link: http://www.sendspace.com/file/icbx2n
Stronka z mapkami i poradami: http://www.amk-team.ru/forum/index.php? ... 533&st=680 (Kostya).
AdministratorAdministrator
Posty: 1920
Rejestracja: 13 kwie 2009, 18:52
Ostatnio: 28 maja 2026, 19:27
Lokalizacja: Fraktal
Ulubiona broń: GP 37
Kozaki:
726
Na górę
Post autor: Wheeljack 
2. Instalujemy najnowszy patch
http://stalkerin.gameru.net/downloads/S ... atch_04.7z

Cholerstwo nie działa... Kiedy ściągnę wyskakuje błąd, że nie można odczytać pliku źródłowego. :|
Naukowcy
ModderModder
Posty: 1097
Rejestracja: 26 maja 2009, 23:44
Ostatnio: 16 mar 2026, 23:44
Lokalizacja: Gdzieś Daleko W Wielkopolsce
Ulubiona broń: Vintar BC
Kozaki:
277
Na górę
Post autor: MatrixSTR 
u mnie bez problemu otwiera, a jakiego programu używasz? bo ja to winrara
Odpowiedz

Podobne tematy