Перейти к содержанию
Авторизация  
SixHundredCorpses

Требуется помощь: Кто-то, кто будет добавлять новые уровни в игру

Рекомендуемые сообщения

 

Здравствуйте. Прошу прощения, если мой русский звучит странно. Я использую переводчик Deepl, так как не говорю по-русски. Я говорю по-английски.

Я разработчик мода для SoC под названием Chernobyl Freeplay. В настоящее время я переделываю мод на более стабильную платформу. Текущая версия очень нестабильна.

Я ищу человека, который знает, как добавлять новые уровни в игру. У меня есть несколько уровней, которые я хочу включить в свой мод, но я понятия не имею, как их добавить. Я пытался сделать это сам, но у меня ничего не вышло. Кроме того, все руководства на русском языке, что не помогает в моем случае!

Я взял уровни из этой темы. Если я не ошибаюсь, они уже готовы и полностью играбельны. По крайней мере, мне так показалось, когда я тестировал их на SoC. Все, что нужно, - это добавить их в игру.

Если кто-то здесь сможет добавить уровни в игру для меня, это будет очень полезно. Я могу сам создать спавны для уровней, мне просто нужно добавить их в игру. Есть также файл particles.xr, который нужно объединить, но самое главное - это уровни.

Если кто-то здесь может помочь, дайте мне знать, и я с радостью пришлю вам мои файлы мода, а также файлы новых уровней. И я, конечно же, отдам должное за работу. :)

Изменено пользователем SixHundredCorpses
  • Мастер! 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Проблема, которую ты никогда не ожидал услышать, это "Все руководства на русском, поэтому не смог":u1F480:

Надеюсь ты найдешь кого нужно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

SixHundredCorpses for the level to be read by the game you need to go to game's gamedata and add the level to the following files similar to how all the other levels are added, using the level's folder name:

gamedata\config\game_graphs.ltx,
gamedata\config\game_maps_single.ltx
gamedata\config\game_levels.ltx

Then put the level into levels folder of the game. I believe that's pretty much it, but in order to actually visit the level you also need to recompile all.spawn and game.graph using SKD. You said you know how to do it so I won't go into much details, but basically you add the level to all the same files, but now inside the SDK, then you decompile the level and edit spawn using the SDK, then you click Make Game, and then you build the two files with a special .bat (don't forget to add your level's name to the bat file). After the process is done, if no errors happened, you transfer all.spawn and game.graph to your game (the new all.spawn will likely have incorrect name, you will need to rename it first if that happens).

Also if you are trying to add CoP or CS level you will need to do some extra steps, the main one being converting AI map into SoC format. I can give you more details if you need these levels.

For particles.xr use this program: https://xray-engine.org/index.php?title=particles.xr_compiler/decompiler_(particles.xr_cdc)

Hope this helps!

Изменено пользователем Mawrak

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

@Mawrak thank you for the answer! I appreciate it.

The translator may have messed things up a little bit. I know how to unpack and pack the all.spawn using ACDC, but not with the SDK. I've only used the SDK to edit audio files. If you could go into more detail regarding using the SDK to recompile the all.spawn and game.graph files, that would be great.

The levels were made for SoC so I think the AI map doesn't need to be converted.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, SixHundredCorpses сказал:

I know how to unpack and pack the all.spawn using ACDC, but not with the SDK. I've only used the SDK to edit audio files.

ACDC is an ancient and outdated technique and tutorials for it are sparse and borderline incomprehensible even for a native speaker. I have an idea of how to edit spawn using it, but I cannot explain how to add a new level.

How to work with SKD:

The SDK is a complex program that allows you to build game levels using Level Editor mode. SDK has its own gamedata folder and rawdata folder which has raw assets. Gamedata folder's structure is the same as in the game. Level Editor has two parts to it - spawn building and full geometry building. In this case we are only doing spawn building, so any geometry changes won't be saved, we don't have to worry about that. 

Spawn in Stalker stored two different places - in all.spawn/game.graph and also in level.spawn/level.game/level.graph files inside each of the level folders. Now, the game itself never uses level.spawn/level.game, these files are only used by the SDK. The game only uses all.spawn (and game.graph). all.spawn is something like an archive containing all of the level.spawn/level.game from every level, and game.graph contains level.graph files from every level (in CS and CoP game.graph is integrated inside all.spawn).

all.spawn stuff is responsible for all of the spawn elements (level.spawn - contains spawn elements, level.game - waypoints and graph points, I believe). game.graph is responsible for global movement between maps (and I'm not too sure how to work with it or update it using SDK, since I only worked with CoP before and CoP doesn't have any cross-level NPC movement anyway). 

The way SDK works is as follows:

1) You modify raw spawn data using Level editor (this data is separate and is stored in rawdata folder).

2) In SDK you click the button "Make Game" - this creates/overwrites level.spawn and level.game files in the SDK gamedata for the opened level. 

3) You use the bat file which is responsible for building all.spawn (it should come with the SDK), it can be edited using Notepad++ to include all locations in the game (all levels and their level.spawn and level.game must be located in SDK's gamedata) - this will combine all the files for all levels included, and after the process is done, a new all.spawn is created in SDK's gamedata spawn folder (not too sure about game.graph - like I said, this is a SoC-only thing and I have little experience with SoC SDK and some things I say could be slightly inaccurate as a result)

4) You copy over the new all.spawn (and supposedly game.graph) into the game and replace the old one (copying level.spawn and level.game in the level folders is unnecessary since game doesn't use them. But it is considered good practice to do so as well to make it easier for others to use or edit your mod for their own needs).

This is the general process, and you must also add the level to all the files I mentioned earlier for both the game and the SDK for them to recognize it.

The problem is that you need raw files to build level.spawn and level.game. Some of the levels you download may already have these raw files included, and you simply need to put them into levels folder of the rawdata folder of the SDK, and then you can just open it. Some levels don't have that. Also, since you edited original spawn with ACDC, original level.spawn and level.game for vanilla levels cannot be used either.

ACDC allows you to decompile your all.spawn into level.spawn и level.game: https://xray-engine.org/index.php?title=*.spawn_compiler/decompiler_(Universal_ACDC)

You will need to do so and place these proper files into vanilla levels in the SDK's gamedata before continuing (note that due to how ACDC works there may still be some errors or differences after SDK compiles all.spawn, but it should be fine in most cases).

To actually open a level in the SDK, we need to decompile it. Follow this tutorial to do so: https://modfaq.ru/Декомпиляция_уровня

You only need to decompile levels you plan to edit using SDK. Decompiler always uses level.spawn and level.game as a base, I believe, and it never uses all.spawn, that is why we need to get the correct versions of those files.

SoC uses SDK 0.4 so this is the one you should be using here (linking it just in case): https://ap-pro.ru/forums/topic/82-x-ray-sdk-04-soc/

After level is decompiled, raw level files will be added to raw data, then you can open said level in the level editor, make your changes and compile it back using the process described above. Most of geometry will be decompiled into strange chunks and will likely break in different ways if you try to rebuild it from this state, but since we are only working with spawn data, so this is fine. We only use geometry to see the level inside the level editor. Spawn data should be mostly fine, any errors will be small and can be manually fixed, if they are even present in the first place. The only problem is that non-level changer graph points will lose their names, but it should not cause any issues in the game as far as I know.

Alternatively, if the level you are using already have premade level.spawn и level.game, and you plan on using ACDC going forward, you can skip the decompilation phase, and simply build new all.spawn from all of the level.spawn и level.game files for each level, then use ACDC to create the rest of the spawn like you do normally in this new file. That said, I highly recommend fully switching to using SDK, it is a more useful and better program overall. But it is up to you.

Also, backup all of your important files before doing any of this, because it is very easy to break things or mess something up if you make a mistake during this process and damage can be irreversible. Some people also set game's gamedat folder to be the same as SDK's, I highly recommend NOT doing so (SDK loves to just destroy your files with a wrong button click). 


Дополнено 19 минуты спустя

forgot to mentioned, if you do plan to use Level Editor to edit these levels, the SDK gamedata must also contain all resources used in the level like models and textures, if level has custom assets, dont forget to add the as well (both into the game and the sdk gamedatas)

Изменено пользователем Mawrak

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

@Mawrak thanks again for the comprehensive post. The SDK does seem like a complex program but it seems like a powerful tool as well. I don't wish to edit the levels, right now I just want to include them in the mod.

I'm going to use your guide and try to compile the all.spawn and game.graph with the SDK. It seems like a pretty straight forward process.

This is where I got the levels from. The post says the levels intended for SoC are ready-to-go, if I'm not mistaken. 

 

Изменено пользователем SixHundredCorpses

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
2 часа назад, SixHundredCorpses сказал:

The post says the levels intended for SoC are ready-to-go, if I'm not mistaken. 

Every level is packed differently and made by different authors. Depending on what level uploaders included, things may be simpler or more difficult. It should be look at on case-by-case basis.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу