Don't Starve Together

Don't Starve Together

81 ratings
Как строить испытания?
By Sbryf
Меня часто спрашивают о том как я строю свои испытания, в надежде сотворить нечто своё. Созидать всегда прекрасно, а особенно в такой игре как эта. Песочница Don't Starve со своими возможностями не уступает minecraft-у. Тут и головоломки можно придумать, и всевозможные полосы с препятствиями. Земля эта не паханая, а направление новое. Тут я поделюсь с вами всем тем что знаю сам, а знаю я к сожалению очень не многое. Надеюсь что когда-нибудь это перерастёт в нечто большее, и появится много кастомных карт подобно третьему варкрафту.
2
   
Award
Favorite
Favorited
Unfavorite
Описание
Вау, земля кривая, мобы там на ней всякие, ресурсы валяются, выглядит заманчиво?
Очевидно что сама карта так никогда не сгенерируется, а значит, без человеческого вмешательства тут не обошлось. Первым делом нам понадобятся инструменты.
Серверные моды
Simple Map Editor Fix
Эта модификация делает именно то, что первым бросается в глаза. Она позволяет менять дёрн на карте, превращать воду в землю, а землю в воду. Не забудьте нажать F2 после внесённых изменений, это сохранит и перезагрузит мир, в противном случае, изменения не вступят в силу, и вы не сможете пройти туда, где только что была вода или наоборот, или просто упадёте в воду если подойдёте достаточно близко к краю. Это основной инструмент, который предаст вашему испытанию изящную форму, которая смотрится очень и очень не плохо. Эстетическая составляющая вашего будущего испытания очень важна.

Disable Characters
Часто бывает так, что испытание в процессе своего прохождения строится, опираясь на особенности конкретно взятого персонажа, и в случае, если испытуемый возьмёт не того персонажа, что вы задумывали, то всё может пойти по пизdе. Разумеется, было бы логичным в таком случае ограничить круг выбора возможных персонажей для испытуемого, и эта модификация берёт на себя именно такую функцию.





 для картостроителей.jpg]Desolation Regrowth+
На карте самопроизвольно появляются ресурсы (деревья, ягоды, кремень и т.д.), и полностью убрать этот процесс в настройках при создании мира нельзя. Такие сюрпризы нам разумеется нафиг не сдались, ведь это очень легко может пошатнуть тонкий баланс, что так кропотливо вами измерялся. На помощь приходит этот мод, обрубающий появление подобных ресурсов на корню. Но, к моему большому сожалению, он работает только на те ресурсы, которые могут появиться на суше, не затрагивая воду. На данный момент, точно не известно, планирует ли автор обновлять данную модификацию.

Empty map
Данную модификацию написал для нас мой замечательный друг Cunning Fox. А предназначена она для того, чтобы сгенерировать мир полностью пустым, состоящего из старого типа океана (за исключением разве что маленького островка, на котором вы появляетесь), освобождая вас таким образом от необходимости вручную очищать гигантское пространство для постройки испытания. Зачем? Ну чтоб остров с вашим испытанием выглядел эстетически красиво, а так же снизить количество нагрузки на сервер. Но к сожалению не робит с пещерами.


Disable roads
Если вы не готовы жертвовать пещерами, и поэтому мод Empty map вам не подходит, то в таком случае вам может пригодится этот мод. Он отключает появление дорог при генерации мира, что избавит вас от проблемы с дорогами, когда во время редактирования карты - они могут оказаться прямо на воде. К сожалению в уже существующем мире он дороги вам не уберёт. Поэтому необходимо включать его непосредственно перед генерацией мира. А вот карту вам придётся очищать вручную ¯\_(ツ)_/¯.



no AutoSave
Модификация полностью отключает ежедневное автосохранение. Весьма полезно если ивент проходят больше пяти дней, из за чего откатится в самое начало не предоставляется возможным. Лично мне этот мод стал незаменимым, т.к. мне впадлу постоянно восстанавливать файлы игры ради этого. Но к сожалению если в вашем ивенте включены пещеры, то этот мод не будет работать. Ваш мир просто не загрузится пока вы его не выключите, и это весьма печально, но не фатально. Вполне можно обойтись и без этого мода, просто восстанавливая ивент через файлы игры (подробнее в главе: Сохранение и откат).

Skeleton 5 seconds decay
Если ваша жестокость не знает границ, и вы наслаждаетесь тем как игроки на ивенте от ваших испытаний умирают снова и снова, то вскоре пол карты будет усыпано скелетами. Всё бы ничего, но ведь скелеты игроков могут буквально застопорить целый проход, который вам в таком случае придётся расчищать вручную. Дабы не позволить игрокам самим себе руинить игру - был создан этот мод. Через пять секунд после смерти - каждый скелет превращается в пепел. Теперь можно с чистой совестью продолжать смотреть как игроки умирают снова и снова.


自定义月相周期(Custom Moon Phase Cycle)
Некоторые механики игры завязаны на полнолунии. Если к вам в голову пришла идея как раз завязанная на чём-то подобном, то эта модификация может вам очень пригодится. С её помощью вы можете отрегулировать как часто в мире будет происходить полнолуние, вплоть до того - что оно будет каждую ночь. Весьма удобно, если вы переживаете что испытуемые просрут полнолуние, и не успеют сделать то - что необходимо для прохождения вашего ивента.




вапCannibalism 18+
Одна из самых брутальных модификаций которые мне доводилось встречать. Модификация добавляет жестокого реализма с помощью крови и человеческого мяса. Того - что разработчики игры изначально хотели добавить, но потом передумали. Канибализм дамы и господа. Теперь ваш близкий друг после смерти поможет протянуть вам чуть дольше в этом суровом мире. Модификация так же изменяет механику стана от атаки, что позволяет людям с разным соединением сражаться практически на равных. Ибо сама игра в этом плане устроена через жoпу, и нагибает всех тот - у кого пинга лучше. Поэтому мод просто необходим при пвп.




Серверные моды (ч2)
SSpawner
А от этой модификации я впал в восторг. Невероятно простой и примитивный спавнер, зато сколько возможностей открывается с его помощью. Вы можете поставить точку спавна любого префаба, и теперь если это существо/структура будет убито/разрушено - то оно будет появляться снова и снова. С помощью этого мода можно построить чуть ли не целую РПГ карту с фармом всего что только можно. Ну не замечательно ли? Жаль что мода по добавлению своих квестов ещё не придумали (если шарите - прошу в дискорд).


Don't Action
С помощью этой модификации вы можете связать игроков по рукам и ногам, на выбор выключив им возможность разрушать строения молотом, рубить, долбить, копать, сжигать, атаковать забор и строить. Можно запретить всё и сразу, но лично я предпочитаю не ограничивать людей в свободе, и стараюсь строить ивенты с учётом любых вариантов. Тем не менее это может оказаться весьма полезным, если вы например построили лабиринт из стен, и не хотите чтобы игроки просто прошли его насквозь, сломав все стены.



Don't Drop Everything Tweaked
После смерти в жoпе мира, порой хочется всё бросить и уйти. Никому не по кайфу лететь пол карты чтобы воскреснуть, потом бежать пол карты к своим вещам, чтобы в итоге снова там откинутся и по новой. Смягчить горесть поражения не самых опытных игроков поможет вот эта модификация, что позволяет оставлять все вещи после смерти при себе. Исключением станет разве что животворящий амулет, если при себе таковой имелся.
Клиентские моды
Too Many Items Plus для картостроителей.png][TMIP]Too Many Items Plus
А эта модификация не обязательна, можно построить испытание и без неё, но в таком случае вы сильно усложните себе жизнь. Удобство тоже важная штука для кропотливого создания качественного испытания. Эта модификация задействует консоль через графическое оформление, что однозначно будет удобнее, чем запоминать и вводить огромное количество всевозможных команд, в то время как можно просто сделать пару кликов мышкой.




Coordinate
Ну а эта модификация позволяет нам узнать координаты точки, в которой мы сейчас находимся. Это полезно если вам нужно поиграться с телепортацией, или дистанционным спавном префабов. Однако модификация показывает только первую и третью числовую координату, вторая просто как правило всегда равна нулю, поскольку отвечает за высоту объекта. А в DST нам летать, прыгать и лазить по горам не приходится.




Admin Scoreboard+
Во время проведения ивента, администратору в идеале нужно оставаться только наблюдателем, следящим за прохождением карты в соответствие с задумкой. Но ваше присутствие вблизи игрока может повлиять на ход событий. Вы можете случайно сагрить на себя мобов, которые нападут на испытуемого, или просто банально смущать его своим присутствием. Решить эту проблему позволяет этот мод. Благодаря ему вы сможете сделать себя невидимым как для игроков, так и для мобов. А ещё, при необходимости он позволяет более удобно производить различные манипуляции с игроками.


Вы вольны добавлять в свои испытания любые другие моды которые найдёте в мастерской. Я лишь отобрал на свой вкус и цвет самые подходящие на мой взгляд. Нам также пригодится сама консоль[dont-starve.fandom.com] и русскоязычная вики на фандоме[dont-starve.fandom.com]. Это основные инструменты, которыми я пользуюсь при создании испытаний. Причём далеко не всегда всеми и сразу. Выбирайте моды исходя из своих собственных предпочтений.

Меня также периодически в личку спрашивают, как пользоваться той или иной модификацией. Я полагал, что это очевидно, но раз спрашивают, то скажу. В описании непосредственно к самим модам написано, как с ними взаимодействовать. Для этого вам необходимо нажать ЛКМ по названию модификации, и вас редирекнет на страницу с модом. На ней вы уже и сможете внимательно ознакомится с описанием, поскольку в этом руководстве я лишь кратко описал, для чего нужны эти моды, а не как ими пользоваться. К сожалению, в большинстве случаев описания к модам написаны на английском, а потому, если ваш браузер не поддерживает перевод страниц, то будьте готовы воспользоваться переводчиком.
Консольные команды
Спавн префабов
Консоль открывается нажатием клавиши тильда на клавиатуре "~", где располагается русская буква "ё", и вот зачем она нам нужна. Предположим, что нам нужно заспавнить какую-нибудь вещь или моба, пускай это будет топор. Мы находим на вики топор[dont-starve.fandom.com], и видим там некую команду призыва:
"axe"
Запоминаем её. А теперь запишите себе куда-нибудь или запомните шаблонную команду:
c_spawn(?)
Чтобы заспавнить топор, нам необходимо заменить вопросительный знак в шаблоне на команду призыва топора, то есть, у нас должно получиться:
c_spawn("axe")
Копируем получившуюся команду, выделив её и нажав сочетание клавиш Ctrl+C, а затем вставляем в консоль сочетанием Ctrl+V, наводим мышку на то место, где мы ожидаем заспавнить топор и нажимаем Enter, тем самым, активируя команду:
(Важно уточнить что все команды должны отправятся удалённо, а не локально. Для переключения используйте Ctrl) и, таким образом, мы можем заспавнить любой префаб, который сможем найти на вики.

Если же вам необходимо заспавнить префаб в определённых координатах, да ещё и например на высоте, то используйте следующий шаблон:
SpawnAt("префаб", Vector3(-73, 0, 321))
где
"префаб"
это код призыва интересуемого объекта, а
(-73, 0, 321)
сами координаты в которых будет произведён спавн. Так же напоминаю что модификация Coordinate, о которой говорилось выше, показывает лишь первую и третью числовую координату, т.к. центральная отвечает за высоту объекта, которая как правило всегда равна нулю.
Телепортация
А теперь поговорим о телепортации. Запоминаем или записываем ещё один шаблон:
AllPlayers[1].Transform:SetPosition(1, 0, 1)
Если ввести эту команду в консоль, то она телепортирует того, кто первый присоединившись к миру выбрал персонажа, в координаты 1, 0, 1 (Будьте осторожней. Если вы были первым кто выбрал персонажа, но потом диспавнули себя, и выбрали другого - то вы будете уже не первым). Единица в квадратных скобках указывает, кого именно мы будем телепортировать в хронологическом порядке. 1 - значит первый кто выбрал персонажа, 2 - второй и т.д. (Хронологический порядок будет меняться, если диспавнить игроков). А касательно координат вы с ними уже знакомы. Но как нам быть, если нужно телепортировать несколько игроков одновременно? Очень просто, заготавливаем себе сразу несколько таких команд, где у каждой будет свой хронологический порядок игрока и своя координата телепортации, а затем через пробел просто объединяем их. Например, так:
AllPlayers[2].Transform:SetPosition(175, 0, -50)
AllPlayers[3].Transform:SetPosition(157, 0, -50)
AllPlayers[4].Transform:SetPosition(175, 0, -47)
AllPlayers[5].Transform:SetPosition(157, 0, -47)
AllPlayers[6].Transform:SetPosition(177, 0, -50)
AllPlayers[7].Transform:SetPosition(155, 0, -50)
И после ввода такой команды мы сразу телепортируем 6 испытуемых по своим местам (при учёте что сами мы выбрали персонажа первее остальных).

Червоточины
Бывает необходимость создать сложную цепочку связей между червоточинами. Для этого используйте инструкцию:
1. Спавн червоточины 1 с помощью этой команды:
worm1 = c_spawn("wormhole")
2. Спавн червоточины 2 с помощью этой команды:
worm2 = c_spawn("wormhole")
3. Создание соединения:
worm1.components.teleporter.targetTeleporter = worm2
4. И обратно:
worm2.components.teleporter.targetTeleporter = worm1
Для создания большего количества червоточин, меняйте в командах числа на 3, 4 и т.д.
Таким же образом вы можете спавнить больные червоточины[dont-starve.fandom.com], заменив в первых двух командах слово
wormhole
на
wormhole_limited_1

Появление игроков
Если вы уберёте портал и поставите его в другом месте, то точка появления новых игроков не поменяется. Для этого наведите мышку на то место, где вы хотите новую точку спавна, и введите эту команду:
for k,v in pairs(Ents) do if v.prefab == "spawnpoint_master" then c_move(v) end end
Кто такие торговцы (мод) // НЕ РАБОТАЕТ!!!
Среди нереализованного контента для игры есть так называемые торговцы[dont-starve.fandom.com], для одного из которых Klei полностью нарисовали текстуры и даже настроили анимации.

Фактически, это полностью готовое существо, взаимодействие с которым продумано не было. Для нас, как картостроителей, подобная недоработка очень кстати, ведь было бы здорово иметь возможность поставить таких на своей карте и запрограммировать их производить обмен. С подобным новшеством простор для воображения становится шире, и появляется возможность строить более сложные и проработанные карты. К счастью, мой друг Asura также помог мне и с этим, так что ещё одна мечта в моей жизни была реализована. Торговцы являются не разрушаемыми структурами, поэтому если потребуется убрать уже размещённого торговца, то сделать это можно будет, наведя на него курсор мыши и нажав сочетание клавиш Ctrl+X при включенной модификации Simple Map Editor Fix , о которой говорилось выше. Разместить же торговцев можно только с помощью консоли. Работают торговцы следующим образом: когда игрок подходит достаточно близко к торговцу, у него появляется специальная вкладка торговли, в которой игроку и предлагается производить обмены одних ресурсов на другие

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

Для начала, вам нужно скачать шаблон[yadi.sk] мода, который вам предстоит собственноручно дописать и залить в мастерскую как отдельную модификацию. Шаблон находится в архиве, поэтому вам необходимо разархивировать его с помощью таких программ как WinRAR, 7-ZIP или других аналогов.
Как разархивировать архив (подробно)
Если вы нормальный человек, и данный этап у вас не вызывает проблем, то смело переходите к следующей главе, т.к. данная глава была написана исключительно для дегенератов не способных справится даже с такой простой задачей.

Добрая половина интересующихся созданием торговца - дoёбывают меня в личку: "а как это сделать? мммм??? А что за программа? А где ссылка на скачивание?". Чтож, вы достаточно серьёзно меня задолбали, чтобы эта глава таки появилась... Раз у вас возникла с этим сложность, то уже понятно что вы в душе не чаете что вообще такое программа архиватор, поэтому будем знакомится (удивительно как вы вообще зарегистрировались в Steam, и даже совершили покупку этой игры, без подробного на то руководства). И сразу скажу что руководство написано для владельцев операционной системы Windows. Если вы сидите на MacOS или вообще на Linux, то разбирайтесь как разархивировать архив сами. Ибо я в душе не чаю.

В первую очередь нам важно убедится что у нас действительно нет программы архиватора. Потому как это одна из таких программ - которые ставятся на компьютер практически сразу после установки операционной системы, и воспринимается многими пользователями как само собой разумеющееся, по прошествии лет видимо забывая что эта программа не шла в комплекте с Windows, и устанавливалась отдельно. Для этого наведите курсор мышки на скачанный вами архив шаблона, и нажмите по нему Правой Кнопкой Мыши (далее: ПКМ). У вас откроется меню различных манипуляций с этим файлом. Например у меня оно выглядело так, а у вас может отличаться
Теперь постарайтесь найти в нём пункт, именуемый как "Извлечь в текущую папку" или "7-Zip > Распаковать здесь". Но учтите что у вас он может трактоваться немного иначе, если в качестве архиватора у вас установлен не WinRAR и не 7-ZIP. Просто постарайтесь найти интуитивно что-то очень похожее, и в случае успеха - кликайте по этому пункту Левой Кнопкой Мыши (далее: ЛКМ). Если всё сделано правильно, то помимо самого архива, у вас должна будет появится и папка с таким же названием как и у архива (ShopMod), с ней мы уже и будем работать, а архив можно удалить.

Если же найти такой пункт не удалось, то по всей видимости у вас действительно не установлена ни одна программа позволяющая разархивировать файлы, либо вы просто не знаете как ей пользоваться. В таком случае будем скачивать, но для начала необходимо узнать какой тип системы windows у вас установлен, а именно 32-ух или 64-ёх разрядная. Для этого воспользуемся шпаргалкой от самой поддержки windows:
Если ваш компьютер достаточно старый, то вам может показывать что у вас 86-и разрядная система, но это значит что у вас на самом деле 32-ух разрядная (не пытайтесь понять почему так, просто смиритесь). Узнав свой тип системы, теперь мы можем переходить к установке соответствующего софта. Рекомендую 7-ZIP, ибо он распространяется бесплатно, в отличии от того же WinRAR, который будет вечно зaёбывать вас приобрести полную версию каждый раз когда вы будете им пользоваться. Для этого нам надо зайти на официальный сайт[www.7-zip.org] разработчика (если по какой-то причине сайт у вас не открывается, воспользуйтесь помощью анонимайзера[cameleo.xyz]). На странице у вас появится несколько поделённых на группу блоков, в каждом из которых имеется куча ссылок на скачивание самых разных версий этой программы. Найдите тот блок, в названии которого имеется самая свежая дата (обычно самый верхний). Например на момент написания этого гайда, это вот:
в этой группе нас интересуют только версии исполняемого файла, то есть ".exe". Во вкладке "Type" (Тип) находим две интересующих нас версии. Теперь во вкладке "Windows" мы смотрим какая из этих двух версий соответствует нашей архитектуре системы, которую мы выяснили раньше. И во вкладке "Link" (Ссылка), наводим курсор мыши на слово "Download" (Скачать) подходящей нам версии программы, и затем кликаем по нему ЛКМ
У вас скачается файл установщик. Запускаем и устанавливаем программу (я опишу этот процесс более подробно, если хоть у одного с этим возникнут проблемы). И теперь мы наконец-то можем разархивировать архив (Господи, мы так близко). Щёлкаем по архиву ПКМ, и теперь у нас должна будет появится вкладка "7-Zip"
Наведя на неё курсор мыши, у нас откроется ещё одно меню, о чём свидетельствует значок стрелочки в конце этого пункта. Выбираем в нём пункт "Распаковать здесь"
Архив разархивируется, и у вас появится папка под названием "ShopMod" с которой нам и предстоит работать, а сам архив вы теперь можете удалить. Надеюсь вы это запомните, и у вас больше никогда не будет возникать с этим проблем.
Настройка торговца // НЕ РАБОТАЕТ!!!
В первую очередь, вы должны знать об ограничениях:
1) Если в торговца в качестве получаемого от него товара прописать префаб, который в игре имеет свой рецепт крафта, то возможность скрафтить его обычным способом пропадёт, и его можно будет только купить у торговца. Таким образом, если, например, добавить в торговца покупку, скажем, топора за золото, то игроки больше не смогут скрафтить топор самостоятельно. Поэтому рекомендуется добавлять в торговца только те вещи, которые скрафтить в условиях ивента будет невозможно.
2) Меняется сам крафт предмета. Это значит что если вы захотите разобрать купленный за 10 веток топор, то и при разборе посохом разрушения с него выпадет не ветка и кремень, а те самые 10 веток. Потому как торговец на самом деле вовсе и не торговец, а своеобразная научная машина со своими крафтами. Таким образом, не рекомендуется смешивать в одном испытании и торговца, и посох разрушения. Ведь если игрок захочет разобрать что-то, что он купил у торговца, то вся иллюзия торговца сломается.
3) Это также отражается и на живых существах, поменяется дроп, который выпадает с них при убийстве (вместе с обычным дропом из существа выпадет также и то, за что оно покупается), поэтому всяких кроликов, птиц и т.д. добавлять в него не стоит.
4) Для одного и того же товара, вне зависимости от его количества, нельзя добавлять несколько разных способов оплаты. То есть, нельзя, скажем, добавить сначала покупку рубина за траву, и потом, добавить покупку всё того же рубина только уже за ветки. И это, к сожалению, вызывает определённые трудности в попытке организовать единую валюту путём продаж.
5) Не переусердствуйте с количеством получаемых предметов. Ограничьтесь одним стаком (у разных вещей индивидуальная максимальная вместимость. 1, 10, 20 или 40. Например вы не можете хранить два топора в одной ячейке инвентаря, но зато спокойно можете таскать 40 веток). В противном случае, если вы пропишите, например, выдачу вам 10-и топоров за 1 золотой самородок, то торговец впихнёт вам багованный стак из 10-и топоров в одну ячейку, вместо 10-и разных ячеек. Что в свою очередь может сломать игру вплоть до вылета сервера.
Теперь в шаблоне находим файл tech.lua и открываем его с помощью Notepad++ (да, вам надо его скачать[notepad-plus-plus.org]). Если мы хотим добавить рецепты для первого торговца - ищем строки:
----------------------------------------------------------------------------------------------------------------
---------------------------------------------------1 Торговец---------------------------------------------------
----------------------------------------------------------------------------------------------------------------
Под данными строками вставляем следующий код:
local prefab = AddRecipe("prefab", {GLOBAL.Ingredient("prefab", 1)}, GLOBAL.RECIPETABS.SHOP, GLOBAL.TECH.SHOP1_THREE, nil, nil, true, 1, nil)
Объяснение:
(что такое "код призыва" вы можете узнать из главы: консольные команды)
Например, если мы хотим, чтобы первый торговец давал нам 2 селитры[dont-starve.fandom.com] за 3 бревна[dont-starve.fandom.com], то команда должна выглядеть так:
local nitre = AddRecipe("nitre", {GLOBAL.Ingredient("log", 3)}, GLOBAL.RECIPETABS.SHOP, GLOBAL.TECH.SHOP1_THREE, nil, nil, true, 2, nil)
Первый обмен добавлен. Для всех остальных точно также вставляем шаблонный код ещё раз и редактируем его. По заверению Асуры, количество обменов возможное одним торговцем не ограничено.
P.S. Если мы хотим, чтобы торговец продавал нам что-то за несколько разных ингредиентов, то пишем следующее:
{GLOBAL.Ingredient("prefab", 1), GLOBAL.Ingredient("prefab2", 1)},
ВНИМАНИЕ! Файлы необходимо сохранять в кодировке UTF-8. В противном случае, даже правильно написанный код работать не будет. Причём в разных версиях Notepad++ эта кодировка может трактоваться по разному. Опирайтесь на ту кодировку, которая изначально выставлена в файлах шаблона. Она правильная.

Обычный блокнот нaёбывает, не верьте ему. Выбирайте кодировку именно в Notepad++
Ну и не забывайте вручную сохранять файлы. В Notepad++ при закрытии документа вам не всплывёт окошко предлагающее его сохранить, как это происходит в том же блокноте.
А ещё учтите, что игрок не будет видеть, в каком количестве он получит тот или инной предмет при обмене, если не написать об этом в описание к предмету.
Как заполнять описание? Для этого в папке с модом открываем файл modmain.lua и вставляем внизу следующий код:
GLOBAL.STRINGS.RECIPE_DESC.PREFAB = "Описание"
Редактируем PREFAB на код призыва предмета, которому мы хотим заполнить описание, при этом обязательно в верхнем регистре.
Например: Чтобы призвать навоз, надо использовать его префаб - poop
Вместо PREFAB пишем POOP
Ну а чтобы редактировать само описание, надо изменить "Описание"
Например, если мы хотим, чтобы человек, собираясь купить навоз, по описанию понял, что получит его, скажем, штук пять, то можно просто написать "х5". А ещё замечено, что ваше описание к некоторым предметам всё равно не будет отображаться, и, предположительно, это происходит из-за руссификатора на стороне клиента. К сожалению, решения пока не нашлось, кроме как попросить испытуемого временно вырубить русификатор ¯\_(ツ)_/¯

Самое сложное позади, мод полностью готов, и теперь нам осталось только залить его в мастерскую и включить. Для этого устанавливаем себе инструмент Don't Starve Mod Tools, который поставляется вместе с игрой при покупке в Steam.

Запускаем его, и в строчке Target Game`s Workshop выбираем Don't Starve Together
Далее нажимаем кнопку Add. В открывшемся окне нажимаем на верхнюю кнопку Browse и выбираем нашу папку с модом. Потом нажимаем на нижнюю кнопку Browse и выбираем в нашей папке с модом любой файл с расширением .lua
После этого, нажимаем кнопку Publish!, и дожидаемся окончания публикации. Теперь можно найти свою модификацию в мастерской через свой профиль Steam, и подписаться на неё. Включаем её на своём сервере, и радуемся жизни.

Предположим, мы где-то накосячили и хотим отредактировать модификацию. Для этого после того как мы её отредактировали, открываем файл modinfo.lua и в строчке version меняем версию чуть повыше, например, не
version = "1"
а
version = "1.1"
После этого в Don't Starve Mod Tools дважды щёлкаем левой кнопкой мышки по названию нашей модификации, и поставив галочки возле строк Update Data (ALL files in directory will be uploaded) и Update Preview image - снова выбираем папку с модом и .lua через кнопки Browse, после чего нажимаем Publish!
Сохранение и откат
Бывает такое, что испытуемый очень долго проходит ваше испытание и в какой-то момент умирает. Возникает необходимость откатить мир в начало испытаний, но вот незадача, максимальный лимит откатов очень маленький, всего 5 игровых дней. Но что делать если испытуемый превысил этот лимит, и теперь испытание не получается вернуть в начальное состояние? Ну если это уже произошло, то поздно пить боржоми когда почки отказали. Чтоб не допустить такого фейла, нужно позаботиться обо всём заранее. Предположим, вы достроили своё испытание, и теперь появилась необходимость его сохранить, чтоб быть уверенным что оно точно не пропадёт. Вбиваем в поиск винды слово Klei, и открываем найденную папку.
Мы можем увидеть несколько папок, но нас интересует та, которая называется DoNotStarveTogether.
Копируем себе эту папку куда-нибудь отдельно и, в последствие, просто заменяем основную папку скопированной, чтобы вернуть всё в исходное состояние (таким образом, кстати, можно скидывать карты другу, но иногда это почему-то не срабатывает. Для гарантии скиньте другу так же папку client_save). Радуемся жизни, потому что теперь ничего безвозвратно не сломает наше испытание. А ещё, если испытуемый не превысил лимит в 5 откатов, и есть необходимость вернуть испытание в начальное состояние, то вместо того чтобы делать несколько откатов подряд или перезапускать сервер, ради выбора нужной точки сохранения, можно просто воспользоваться консольной командой:
c_rollback()
Где в круглых скобках указывается нужное количество откатов (по умолчанию равно 1).
Дополнительные советы
1) Убедитесь что вы пользуетесь актуальными версиями модов. Например такие моды как Too Many Items и Simple Map Editor имеют кучу устаревших версий, из за чего у вас могут возникнуть проблемы. Пользуйтесь именно теми версиями, которые представлены в руководстве (Либо проверяйте самостоятельно, если я забросил на руководство, и не обновлял его больше года).

2) Создавайте по периметру вашего острова с испытаниями слой воды из нового типа океана. В противном случае на границах острова будут застревать птицы, а хитрые игроки с помощью багов будут выходить за карту. (Left + Numpad 9, Right + Numpad (1-9)) = Новые типы океана.

3) Рекомендую сначала отстроить остров с испытанием без нового типа океана по периметру. Потом перезагрузить карту, и уже тогда добавить воду. Если этого не сделать - вы можете столкнуться с багом что прямо по суше будут прокатываться волны от воды. Конечно баг это не критический и сугубо визуальный, но если уж вы что-то решились сделать, то стоит делать это на совесть. А то где это видано, чтоб волны по земле плавали?

4) Не увлекайтесь с добавлением большого количества любых префабов в одной зоне прогрузки (приблизительно три экрана во все стороны). Это сильно нагружает игру, и всё будет лагать. Чем спавнить 500 пауков в одном месте - лучше заспавните их подальше друг от друга не более чем по 20 штук за раз.

5) Если вы строите испытание рассчитанное на большое количество игроков - то рекомендую делать его максимально маленьким и ограниченным. Это позволит вам снизить нагрузку на сервер. Проще говоря - если у вас есть 6 островов с густым лесом, и на каждом из них находится по одному игроку - то это в 6 раз сильнее напрягает систему, чем если бы они все были на одном острове. Каждый игрок прогружает вокруг себя определённый радиус территории, и нагрузка заметно снизится, если все игроки находятся близко друг к другу. Потому что игре не придётся для каждого прогружать свою территорию, из за её пересечения с другой прогруженной территорией остальных. Такой вот лайфхак.
Заключение
Я постарался объяснить всё максимально просто, но даже это не гарантирует, что всем всё будет понятно. Задавайте вопросы в комментариях, и я постараюсь на них ответить, если сам буду знать как. А если же вы невероятно подкованный и знаете ещё много полезных вещей, о которых я не рассказал, то я с радостью выслушаю вас в дискорде (Sbryf#6661), и вероятно пополню данное руководство. Если же вы построили какое-то очень крутое испытание, то так же приглашайте меня его пройти. Я с привеликим удовольствием заценю ваше творение :3, а также приглашаю вас на свой Discord сервер[discord.gg], где время от времени провожу подобные ивенты. Заходи – не бойся, выходи – не плачь. Ну и вот вам наглядная демонстрация того, что с помощью всего этого багажа знаний можно творить:
https://youtu.be/ELx7YxoFJ8A
https://youtu.be/2tgfPmMLVSI
59 Comments
печально 29 Jun, 2022 @ 4:45pm 
1. 14 лет
2. 50ч часов в игре
3 любой режим
4. онлайн 24/9 (без рофла)
5. есть микрофон
6. https://discord.gg/fCZZcd9cEA можно со мной связаться
7. зовут Мастурбек
я помогу
сосу члены 200 рублей 1 час
Sbryf  [author] 12 May, 2022 @ 3:11am 
Klei переработали механику крафтов, на которой торговец целиком и полностью держался. Так что видимо теперь придётся писать нового
FlowerSleer 24 Mar, 2022 @ 3:37am 
К слову, Сбруф, есть в планах новый ивент по DST?
FlowerSleer 24 Mar, 2022 @ 3:33am 
Понял, принял, обработал :)
Sbryf  [author] 24 Mar, 2022 @ 3:26am 
Увы, нo нельзя coздать тoргoвца пoдxoдящeгo вcем. Я кoнечнo мoгу залить в маcтерcкую мoд, где тoргoвец будет oбменивать, cкажем, cелитру на брёвна. Ho такoй oбмен будет интереcен лишь единицам, кoтoрые как раз и иcкали cпocoб кoнвертации cелитры в брёвна. A пoдавляющему бoльшинcтву такoй oбмен наxрен не cдалcя :D. Cам я в кoдинге практичеcки не шарю, а пoтoму тoргoвца мне пиcал друг. Я кoнечнo прocил егo пocтаратьcя cделать тoргoвца таким, чтoбы егo oбмены мoжнo былo наcтраивать непocредcтвеннo внутри игры, нo друг cказал чтo егo знаний на такoе не xватит. Tак чтo радуемcя тoму чтo еcть)
FlowerSleer 21 Mar, 2022 @ 10:02am 
Отличный гайд, Сбруф! Представляю сколько бы было подписчиков если бы ты выпустил мод на торговца - куда проще для нас, но для тебя полная моета, понимаю. Чтож, спасибо ещё раз.
Sbryf  [author] 11 Mar, 2022 @ 11:46am 
Какой мод?
Олегар Педро 11 Mar, 2022 @ 6:42am 
я не могу скачять 1 мод
выдоёт ошибку
Олегар Педро 11 Mar, 2022 @ 6:42am 
сбруф
Sbryf  [author] 21 Jun, 2021 @ 10:27am 
Мне недавно рассказали как сделать торговца ещё лучше, без дефектов описанных выше. На днях перепишу как будет желание.