[UPDATE 1.0]Карта мира выживания в браузере | Scrap Mechanic

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

ВАЖНАЯ ИНФОРМАЦИЯ

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

Как будет выглядеть карта

Примерно так будет выглядеть карта, но у всех по разному так как карта генерируется процедурной генерацией, на карте можно будет увидеть локации, биомы, здания, заводы, озера и т.д.
[UPDATE 1.0]Карта мира выживания в браузере | Scrap Mechanic

Как сделать карту (Инструкция к установке)

  1. Скачать notepad чтобы было удобнее работать
  2. После установки notepad нужно перейти в файлы игры и найти terrain_overworld.lua
Сам файл находится вот тут
C:ProgramFiles(x86)SteamsteamappscommonScrapMechanicSurvivalScriptsgameterrainterrain_overworld.lua
  1. Открываем файл через notepad и через ctrl+f находим function Load()
  2. Полностью удаляем эту функцию
  3. Потом вставляем новую и сохраняем файл
function Load() if g_generatorIndex == 0 and sm.isHost then sm.terrainGeneration.setGameStorageNoSave( "tileData"..g_world.id, GetTileDatabase() ) end if sm.terrainData.exists() then g_cellData = sm.terrainData.load() if g_generatorIndex == 0 and UpgradeCellData( g_cellData ) then sm.terrainData.save( g_cellData ) end GenerateOceanCells() GenerateHLodCells() CreateControlPoints() UpdateLocationStorage() PrecacheLocationStorage() CreateCellDataStorage() -- ===== START EXPORT ===== if not g_exportDone then print("=== EXPORTING MAP TO LOG ===") local cells = {} local bounds = g_cellData.bounds for y = bounds.yMin, bounds.yMax do for x = bounds.xMin, bounds.xMax do local uid = GetCellTileUid(x, y) if uid and not sm.uuid.isNil(uid) then local cell = {} cell["x"] = x cell["y"] = y cell["uid"] = tostring(uid) cell["rotation"] = g_cellData.rotation[y][x] or 0 cells[#cells + 1] = cell end end end if #cells > 0 then cells[1]["bounds"] = bounds cells[1]["seed"] = g_cellData.seed sm.log.info("--- START COPYING AFTER THIS LINE FOR CELLS.JSON ---") local json = sm.json.writeJsonString(cells) sm.log.info(json) sm.log.info("--- STOP COPYING BEFORE THIS LINE FOR CELLS.JSON ---") print("Export completed! Check the log file.") end g_exportDone = true end -- ===== END EXPORT ===== return true end return false end
  1. Заходим в любой мир или создаем новый, потом выходим из него и закрываем игру
  2. Далее заходим в логи по пути
C:Program Files (x86)SteamsteamappscommonScrap MechanicLogs
  1. Открываем последний лог через notepad и через ctrl+f ищем "START COPYING AFTER THIS LINE FOR CELLS.JSON" и копируем все начиная с [{"bounds": и заканчиваем копировать перед строчкой "--- STOP COPYING BEFORE THIS LINE FOR CELLS.JSON ---"
  2. Затем создаем файл cells.txt и вставляем туда все что скопировали и меняем тип файла с txt на json
  3. Заходим на сайт "sc ra pm ap . ru" (убираем пробелы)и загружаем файл cells.json туда
  4. Наслаждаемся картой
P.S. Если есть какие то вопросы, то пишите в комментарии, если что я вам помогу
P.S.S. Если в логах ничего не появилось:
  1. Запустите стим от имени администратора
  2. В C:Program Files (x86)SteamsteamappscommonScrap MechanicRelease найдите файл ScrapMechanic.exe, затем в свойствах нажмите на совместимость и поставьте галочку на запускать программу от имени администратора
  3. В параметрах запуска Scrapmechanic в стиме укажите "-dev"

ОТДЕЛЬНОЕ СПАСИБО the1killer

Поделиться
VK Telegram