Как сделать картину в раст

Обновлено: 03.07.2024

Виды табличек

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

Бесплатные таблички

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

Деревянные таблички

Вращающееся колесо

Вращающееся колесо – на крафт требует 150 фрагментов металла. Требует изучения, которое обойдётся вам в 20 металлолома. Колесо может быть найдено в примитивных ящиках, а также в бочках. Устанавливается на стены и пол.

Платные таблички

Рамки

Двухсторонние вывески

Доски объявлений

Указатели направления

Как рисовать на табличках

Рисование на табличке при помощи программы

Предупреждаю сразу. Если вы используете бесплатную версию программы, то больше часа она рисовать не будет. Не важно сколько там осталось. Проходит час-программа перестаёт рисовать.

Установка картинки при помощи плагина

Данный метод подойдёт не для всех серверов. Он будет рабочим только на тех серверах, где установлен специальный плагин.

Напоминаю, что на серверах из вкладок OFFICIAL и COMMUNITY вы не найдёте никаких плагинов. Плагины можно найти только на MODDED серверах.

Если на сервере присутствует плагин на картинки, то наведитесь на нужную вам табличку, после чего пропишите в чат /sil *ссылка на картинку*.

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

Отключение картинок

Мало кто знает, но в RUST есть возможность отключения картинок. Для этого откройте настройки игры, после чего откройте вкладку OPTIONS (НАСТРОЙКИ).

Как вставить свою картинку в RUST

Для просмотра онлайн кликните на видео ⤵

RUST-Ставим картинку URL (КАК ВСТАВИТЬ ИЗОБРАЖЕНИЕ) Подробнее

Свои картинки на табличках в Rust. Sign Artist настройка. Подробнее

КАК РИСОВАТЬ В RUST (Rustangelo) Подробнее

Cветофикс в расте.Как видеть ночью? Rust/Раст Подробнее

RUST | КАК ПОВЫСИТЬ ФПС, УБРАТЬ ФРИЗЫ и ЛАГИ | ЛУЧШИЕ НАСТРОЙКИ в РАСТ | 2020 Подробнее

ЛЕГКИЙ СПОСОБ КАК ВЫБРАТЬ ЛЮБОГО ПЕРСОНАЖА В RUST Подробнее

Как ИДЕАЛЬНО настроить RUST Подробнее

Как вставлять картинки на табличку в Rust Experimental | SignArtist Подробнее

Плагин ImageOnMap | Любая картинка на сервере. Подробнее

10 интересных фишек и багов в расте о которых ты точно не знал! Rust/Раст (3) Подробнее

Загрузка картинок на серверах RUST, использование команды /sil Подробнее

Как вставлять картинки на табличку в Rust Experimental | SignArtist

Для просмотра онлайн кликните на видео ⤵

Свои картинки на табличках в Rust. Sign Artist настройка. Подробнее

RUST-Ставим картинку URL (КАК ВСТАВИТЬ ИЗОБРАЖЕНИЕ) Подробнее

КАК РИСОВАТЬ В RUST (Rustangelo) Подробнее

Major Change to SIGN ARTIST (SIL) | PLUS BRAND NEW PLUGIN RELEASE | Rust Admin Academy Tutorial 2020 Подробнее

Смена скина на сервере Raptor RUSTZONE Подробнее

RUST-INFO Как нарисовать картину быстро и красиво Подробнее

New Rust Картинки на табличках! Подробнее

Как вставить свою картинку в RUST Подробнее

Rust DEVBLOG 74 | Куча скинов, оптимизация и анимации Подробнее

Загрузка картинок на серверах RUST, использование команды /sil Подробнее

Rust / раст, DEVBLOG 84, картины, таблички, знамена, стойки указатели и другое Подробнее

Свои картинки на табличках в Rust. Sign Artist настройка.

Для просмотра онлайн кликните на видео ⤵

RUST-Ставим картинку URL (КАК ВСТАВИТЬ ИЗОБРАЖЕНИЕ) Подробнее

КАК РИСОВАТЬ В RUST (Rustangelo) Подробнее

Как вставлять картинки на табличку в Rust Experimental | SignArtist Подробнее

RUST-INFO Как нарисовать картину быстро и красиво Подробнее

Как ИДЕАЛЬНО настроить RUST Подробнее

10 интересных фишек и багов в расте о которых ты точно не знал! Rust/Раст (3) Подробнее

How To Use Rustangelo Подробнее

New Rust Картинки на табличках! Подробнее

ЛЕГКИЙ СПОСОБ КАК ВЫБРАТЬ ЛЮБОГО ПЕРСОНАЖА В RUST Подробнее

Rust Таблички и разноцветные постройки! Ёжик учиться писать Подробнее

Rust / раст, DEVBLOG 84, картины, таблички, знамена, стойки указатели и другое Подробнее

RustAngelo | Automatic sign painter for RUST / Автоматический художник для RUST Подробнее

Rust: Новогоднее обновление (САНИ, НЕОН, СТЕНЫ) Подробнее

Плагин Info Panel. Настраиваем интерфейс Rust Подробнее

Свои картинки на табличках в Rust. Sign Artist настройка.

Для просмотра онлайн кликните на видео ⤵

RUST-Ставим картинку URL (КАК ВСТАВИТЬ ИЗОБРАЖЕНИЕ) Подробнее

КАК РИСОВАТЬ В RUST (Rustangelo) Подробнее

Как вставлять картинки на табличку в Rust Experimental | SignArtist Подробнее

RUST-INFO Как нарисовать картину быстро и красиво Подробнее

Как ИДЕАЛЬНО настроить RUST Подробнее

10 интересных фишек и багов в расте о которых ты точно не знал! Rust/Раст (3) Подробнее

How To Use Rustangelo Подробнее

New Rust Картинки на табличках! Подробнее

ЛЕГКИЙ СПОСОБ КАК ВЫБРАТЬ ЛЮБОГО ПЕРСОНАЖА В RUST Подробнее

Rust Таблички и разноцветные постройки! Ёжик учиться писать Подробнее

Rust / раст, DEVBLOG 84, картины, таблички, знамена, стойки указатели и другое Подробнее

RustAngelo | Automatic sign painter for RUST / Автоматический художник для RUST Подробнее

В данной статье мы постарались собрать все актуальные консольные команды из игры раст. Некоторые из них помогут вам упростить и настроить некоторые элементы игры, что даст вам небольшое преимущество в виде прироста FPS или автоматизации рутинных действий. Другие же помогут вам настроить интерфейс игры, управлять сервером или заниматься разработкой.

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

Практически все консольные команды требуют для исполнения передать какое либо значение:

[VALUE] — цифровой тип, это могут быть любые числа. Учтите что диапазон цифр может быть ограничен, у каждой команды он разный.

[BOOLEAN] — логический тип, имеет два значение TRUE (положительное), при котором параметр будет включен, и FALSE (отрицательное ), выключающее параметр. Оба значения могут быть заменены на 1 и 0 соответственно.

[PLAYER NAME] — ник игрока на сервере.

[STEAM ID] — id профиля steam игрока .

[ITEM ID] — id игрового предмета , может быть заменен на shortname. Например: -265876753 равнозначно gunpowder .

Общие команды

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

Команды настройки клиента

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

Команды администратора

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

Команды управления правами

Команды для владельцев серверов, с их помощью можно выдать игрокам особые права на сервере.

КомандаЗначение по умолчаниюОписание
ownerid [Steam ID] Команда выдаёт игроку права администратора.
removeowner [Steam ID] Команда снимает права администратора с определённого игрока.
moderatorid [Steam ID] Выдаёт игроку права модератора.
removemoderator [Steam ID] Команда позволяет снять права модератора с определённого игрока.

Управление игровым миром

Команды для настройки игрового мира.

Телепортация

Команды позволяющие использовать телепортацию игроков.

КомандаЗначение по умолчаниюОписание
teleport [Player Name] Телепортирует вас к указанному игроку.
teleport [Player Name A] [Player Name B]
teleport.toplayer [Player Name A] [Player Name B]
Телепортирует игрока A к игроку B.
teleport.topos [Player Name] [X] [Y] [Z] Телепортирует игрока по координатам.
teleport2me [Player Name] Телепортировать игрока к себе.
teleportany [Value] Телепортироваться к ближайшему животному. Пример: teleportany horse

Управление погодой

Команды для настройки погодных условий на сервере.

КомандаЗначение по умолчаниюОписание
water.quality1Регулирует качество погодных явлений.
weather.clouds1Команда регулирует степень облачности. Доступные значения от 0 до 9. Чем выше значение, тем сильнее погодное явление. Значение 0 отключает облака.
weather.fog1Команда регулирует степень тумана. Доступные значения от 0 до 9. Чем выше значение, тем сильнее погодное явление. Значение 0 отключает туман.
weather.rain1Команда регулирует степень дождя. Доступные значения от 0 до 9. Чем выше значение, тем сильнее погодное явление. Значение 0 отключает дождь.
weather.wind1Команда регулирует степень ветра. Доступные значения от 0 до 9. Чем выше значение, тем сильнее погодное явление. Значение 0 отключает ветер.
world.monumentsTRUEВключает монументы на карте.

Управление эвентами

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

Bradley APC

КомандаЗначение по умолчаниюОписание
spawn bradleyapc Немедленно спавнит бредли рядом.
bradley.enabled [Boolean]TRUEКоманда включает, либо выключает эвент с бредли на локации стартовой площадки.
bradley.respawndelayminutes [Value]60устанавливает таймаут в минутах, с которым бредли будет респавниться.
bradley.respawndelayvariance [Value]1Добавляет к основному времени кулдауна бредли, случайное количество минут от 0 до указанного командой.

Вертолёт

КомандаЗначение по умолчаниюОписание
heli.call Вертолёт начинает патрулирование по своему маршруту.
heli.calltome Вертолёт прилетает к вашему местоположению.
heli.lifetimeMinutes [Value]15Указывает интервал между вылетами вертолёта. Значение 0 отключает вертолёт.
heli.bulletAccuracy [Value]2Коэффициент определения точности стрельбы вертолёта. По умолчанию стоит 2 (50%). Чем выше значение, тем меньше точность.
heli.bulletDamageScale [Value]1Сила атаки вертолёта. Чем выше цифра, тем сильнее атака.
heli.strafe

Воздушный шар

КомандаЗначение по умолчаниюОписание
hotairballoon.population [Value]1Команда определяет радиус респ Воздушного шара(в километрах) на карте. Команда принимает значения от 0 и выше. По умолчанию стоит 1. Значение 0 выключает их респ на карте.
hotairballoon.outsidedecayminutes [Value]180Время распада воздушного шара (в минутах)
hotairballoon.serviceceiling [Value]300максимальная высота полёта (в метрах)

Миникоптер

КомандаЗначение по умолчаниюОписание
spawn minicopter.entity1Команда спавнит миникоптер, но при этом надо соблюдать некоторые требования:Данная команда не будет работать на RCON-платформах, потому администраторам потребуется залогиниться на игровом сервере.
При использовании команды, администратор должен находиться над землёй.
Администратор не должен упираться в стену или прочие особенности ландшафта.
minicopter.population [Value]1Команда определяет радиус респ миникоптера(в километрах) на карте. Команда принимает значения от 0 и выше. По умолчанию стоит 1. Значение 0 выключает их респ на карте.
minicopter.outsidedecayminutes [Value]240Время распада миникоптера (в минутах)
minicopter.serviceceiling [Value]300Максимальная высота полёта (в метрах)

Сухогруз

КомандаЗначение по умолчаниюКоманда
cargoship.event_enabled [Boolean]TRUEКоманда включает, либо выключает эвент с сухогрузами. Если команду ввести без аргумента, в результате отобразится статус ивента.
spawn cargoshiptest Спавнит сухогруз.
ai.npc_spawn_on_cargo_ship [Boolean]TRUEКоманда включает, либо выключает NPC на короблях.
cargoship.egress_duration_minutes [Value]10
cargoship.event_duration_minutes [Value]40Устанавливает интервал запуска эвента (в минутах)

Рождественский эвент

КомандаЗначение по умолчаниюОписание
xmas.refill Команда запускает эвент RUST Xmas немедленно. Если xmas.enabled установлен на true, xmas.refill работает автоматически по расписанию.
xmas.enabled [Boolean]TRUEКоманда включает событие RUST Xmas.
xmas.jpgtsperplayer [Value]2Эта команда используется для установки количества подарков, которые будут среспаны для каждого игрока, когда будет запущено событие RUST Xmas. По умолчанию 2 подарка на одного игрока. Команда может влиять на производительность сервера.
xmas.spawnattempts [Value]5Эта команда устанавливает количество попыток появления подарков вокруг игрока. В случае недоступности случайно сгенерированной точки(координаты) для респа подарка, будет предпринята попытка генерации новой точки. Команда может влиять на производительность сервера.
xmas.spawnrange [Value]50Команда устанавливает радиус (в метрах) от игрока, в котором будут респаться подарки. Не делайте слишком большой радиус, игроки могут не найти подарки, но и не делайти слишком маленький, не все подарки смогут быть выданы.

Санта Клаус

КомандаЗначение по умолчаниюОписание
santasleigh.drop Команда запускает событие RUST Santa Sleigh и респает Большой подарок на том месте, где вы сейчас находитесь. В случае успеха консоль ответит Santa Inbound, иначе N/A.
spawn santasleigh Спавнит сани Санты.
santasleigh.desiredaltitude [Value]50Команда устанавливает высоту(в метрах), на которой будет спавниться большой подарок.
santasleigh.altitudeaboveterrain [Value]60Команда устанавливает высоту(в метрах), на которой будет спавниться Санта.

Команды настройки античита

Команды управления игровым античитом.

Команды для разработчиков

Прочие команды

Остальные консольные команды, которые не были распределены по категориям.

Полезные примеры использования биндов.

Бинды призваны помочь вам с рутинным и не всегда удобным вводом консольных команд. Ниже представлены примеры их использования, которые помогут вам избежать постоянного использования консоли. При необходимости вы можете заменить клавиши на удобные для вас.

Чтобы снять бинд с кнопки достаточно ввести в консоль unbind КНОПКА

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

Наверное, мало кто на хабре не в курсе, что такое Rust — новый язык программирования от Mozilla. Уже сейчас он привлекает много интереса, а недавно наконец вышла первая стабильная версия Rust 1.0, что знаменует собой стабилизацию языковых возможностей. Мне всегда импонировали системные ЯП, а уж идея системного языка, предлагающего безопасность превосходящую языки высокого уровня, заинтересовала еще больше. Захотелось новый язык попробовать в деле и, заодно, интересно провести время, программируя что-нибудь увлекательное. Пока думал, что бы такого на расте написать, вспомнился недавний цикл статей про компьютерную графику, который я лишь бегло просмотрел. А очень интересно было бы попробовать все-таки написать все эти красивости самостоятельно. Вот так и родилась идея этого хобби-проекта, а также данной статьи.

Поскольку в оригинальной статье тщательно разжевываются все нюансы, касающиеся программирования непосредственно графической составляющей, то я в своем цикле статей буду сосредотачиваться главным образом на том, что касается непосредственно Rust'а. Постараюсь описать те грабли, на которые довелось наткнуться, а также как решал возникающие проблемы. Расскажу о личных впечатлениях от знакомства с языком. И, конечно, упомяну список ресурсов, которыми пользовался при разработке. Итак, кому интересно, добро пожаловать под кат.

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

Подготовка

Описывать установку компилятора, я не буду, там все достаточно очевидно. Установочный пакет с официального сайта установился на моей Ubuntu 14.04 парой команд. Следует лишь отметить, что есть репозиторий для Ubuntu, используя который также теоретически можно установить Rust. Однако у меня с этим репозиторием не задалось. Почему-то Rust устанавливался, но без Cargo. Synaptic даже не показывал Cargo в списке доступных пакетов. Rust без Cargo — это довольно бессмысленная штуковина, так что указанный PPA я не использовал.

Итак, как и всегда, знакомство с новым языком мы начинаем с Hello World. Создадим файл main.rs:

Результат запуска этого в консоли очевиден:

Код можно писать с использованием Gedit. Расцветка синтаксиса Rust для этого редактора может быть найдена по следующей ссылке. Сразу она не заработала, но в трекере был багрепорт, который объяснял причину проблемы. Простенький pull request решил проблему, поэтому сейчас у вас должна расцветка заработать без лишних плясок с бубном.

Обычно новый проект создается с использованием команды cargo new rust_project --bin , но я тогда еще об этом не знал, поэтому создал всю структуру вручную, благо она не сложная:

Этот проект запускается на исполнение командой cargo run .

Для вывода изображения я решил не переписывать TGAImage, который предоставляется автором оригинальной статьи. Мне захотелось выводить результат при помощи SDL. Фактически нам от этой библиотеки понадобится только создание окна и вывод точки с заданным цветом по заданным координатам. Все остальные графические примитивы мы рисуем самостоятельно, так что при желании бэкенд вывода изображения можно изменить очень просто, всего-лишь реализовав 2 функции: set(x, y, color); и new(xsize, ysize) . Почему именно SDL? В перспективе хотелось бы уметь изменять точку обзора с клавиатуры. Может быть даже игрушку простенькую написать… TGA такого сделать не позволит.

Первая же ссылка в Google привела меня на сайт проекта Rust-SDL2 — привязки к SDL2 для Rust. Чтобы задействовать эту библиотеку добавляем в конец cargo.toml следующее объявление зависимости:


Это добавляет в проект т. н. контейнер (crate) sdl2. Для компиляции библиотека использует заголовочные файлы SDL, поэтому надо не забыть их установить. В Ubuntu 14.04 это делает команда:


После этого команда cargo build успешно соберет нам проект со всеми необходимыми зависимостями.

Эксперименты с SDL

Всю функциональность, связанную со взаимодействием с SDL (или же другой графической библиотекой в перспективе), я решил вынести в отдельный класс — canvas.rs. Поначалу просто для проверки работы библиотеки я скопировал туда содержимое теста из репозитория Rust-SDL2, собираясь на основе его впоследствии написать готовый класс.

Тут у меня были первые грабли. Оказалось, что любое объявление extern crate package_name в библиотеке должно быть также продублировано в main.rs приложения. Потребовалось время, чтобы разобраться в этом, но после всех мучений, у меня наконец получился проект, который вы можете увидеть в снапшоте на github.

В итоге в файле canvas.rs был такой код:


Этот код выводит вот такое вот замечательное окошко:



Пишем код

  • конструктор, производящий необходимую инициализацию
  • функция вывода точки (вместо имеющегося сейчас вывода текстуры)
  • функция ожидания ввода Esc с клавиатуры

В общем после этого, работа пошла. Хотя еще пришлось повоевать с системой владения и заимствования Rust. Официальная документация отмечает, что этот этап проходит каждый новичок, но ободряет нас тем, что по мере практики код можно будет писать легко и непринужденно, привыкнув к ограничениям, накладываемым компилятором. Во вступлении говорится, что сложность обучения — цена, которую приходится платить за безопасность без накладных расходов. Конкретно проблема была в том, что в методе new(), создающем структуру, поля вновь созданной структуры необходимо проинициализировать несколькими объектами из SDL, чтобы потом использовать их в методах структуры. Если я пытался проинициализировать поле ссылкой, компилятор ругался, что не может сделать изменяемое заимствование ( error: cannot borrow data mutably in a `&` reference ). Вот в таком коде:


Кстати, на Хабре сломана подсветка синтаксиса Rust, из-за чего код выше не расцвечивается, хотя и должен. Проблема в этом кусочке: . Если его убрать, то все расцвечивается нормально. Но убирать его здесь как раз таки нельзя. Это обозначение времени жизни (lifetime) — вполне себе правильный синтаксис для Rust. Не знаю, куда это написать, поэтому написал здесь. Надеюсь, починят.
Просто name: mut type в структурах писать нельзя. Тогда я попробовал сделать переменную неизменяемой (immutable), но от этого сломался другой код:


Компилятор жаловался, что не может заимствовать неизменяемое поле renderer как изменяемое ( error: cannot borrow immutable field `self.renderer` as mutable ). Ларчик открывался просто. Оказывается в Rust все поля в структуре рассматриваются как изменяемые или неизменяемые в зависимости от того, была ли передана сама структура в метод как изменяемая или неизменяемая. Таким образом правильный код таков:


Как видите, здесь я изменил сигнатуру метода point.

В других участках кода все упоминания lifetime можно убрать.


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

Пишем линию


Вобщем после решения всех вышеописанных проблем, итогом моей работы стало то, что вы можете увидеть в срезе репозитория. Ох, это чувство восторга, когда я наконец увидел на экране черное окно с маленькой белой точкой в центре…



Дальше пошло проще, потому-что серьезного взаимодействия с библиотекой Rust-SDL2 уже не требовалось. Ее неочевидный и недокументированный, местами даже недоделанный API был постоянным источником трудностей. Всякая арифметика и управляющие конструкции в Rust не слишком отличаются от других ЯП. Поэтому линия была написана всего за несколько часов (в отличии от нескольких дней на предыдущих этапах). И то большая часть работы была из-за того, что я решил не реализовывать готовый алгоритм, а написать свой, используя уравнение прямой y=kx+b, как основу, а все остальные формулы выведя самостоятельно. Вот такая функция у меня получилась в итоге:


Знаю, она у меня страшненькая, длинная, неэффективная. Но зато своя — родная. :) Я почти сразу пришел к тому, чтобы писать целочисленную версию, не используя вещественную арифметику. В Rust нет неявных преобразований типов, а явные получаются очень многословными. Поэтому от идеи написать сначала вещественную версию я отказался. Много кода, а ее потом все равно в итоге переписывать, чтобы она не тормозила.



Знатокам математики просьба не пинать. Все делалось just for fun.

В ходе написания этой портянки мне понадобилось логгирование, поскольку проверенной временем IDE для Rust пока нет. Есть несколько свежих, но я не хотел залипать на их бета(альфа?)-тесте. Если кто-то пользовался и увидел, что оно стабильно и хорошо работает, отпишитесь, пожалуйста, в комментариях. Пользоваться отладчиком из консоли мне не в радость. Да и вообще логгирование штука полезная. Стараюсь приучать себя использовать логи вместо отладчика, потому-что это помогает писать логи, по которым потом реально разобраться, в чем возникла проблема у конечного пользователя (по крайней мере, если он сумеет запустить в режиме логгирования debug).

Итак, логгирование. Для логгирования в поставке Rust есть библиотека log. Но это просто абстрактное API, а конкретную его реализацию надо выбрать самому. Я использовал env_logger, который предлагается в документации к log. Пишем следующее в cargo.toml:


Пользоваться этим набором очень просто:


Надо только не забыть, что контейнер (crate) env_logger настраивается посредством переменных окружения. Я использую следующую команду перед запуском проекта:


Это задает модулю rust_project уровень логгирования debug. Все остальные модули остаются с уровнем по умолчанию, поэтому лог при запуске программы не засоряется всяким отладочным мусором от cargo или sdl. Итог работы на этом этапе можно увидеть в срезе репозитория. При запуске наша программа выводит вот такую вот красоту:


  • переписать свою страшную функцию line() на ту, которая предлагается в исходной статье как конечный результат
  • написать проволочный рендер
  • далее продвигаться по урокам Краткого курса компьютерной графики

Впечатления

Напоследок


Если я не ослабею, не сорвусь, не озверею, то буду писать продолжение. :) Ну и, конечно, если меня за эту статью в Read-only не отправят.

Предметов в игре Rust – тьма тьмущая. Все предметы разбиты по отдельным категориям, таким как: конструкции, инструменты , оружие , боеприпасы и так далее.

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

Предметы разбиваются не только на категории, но и на верстаки, которых в игре целых 3. Определённые предметы (которых на самом деле большинство) невозможно скрафтить на коленке, им необходим верстак, как минимум, определённого уровня.

Верстак в Rust: зачем нужен?

Rust workbench – это специальные устанавливаемые предметы, которые используются лишь для крафтов определённых предметов. Каждый предмет, требующий наличие верстака, можно скрафтить только в том случае, если уровень, у которого вы находитесь, выше или равен указанному в предмете. Если говорить более понятно – на верстаке 3 уровня можно скрафтить абсолютно все предметы, а на верстаке 2 уровня можно скрафтить большую часть предметов, только не те, которые требуют наличие верстака 3 уровня.

Редко верстаки используют для проведения экспериментов – помещая металлолом в определённый верстак, игрок получает случайный чертёж предмета, который можно создать на данном верстаке. Эксперименты проводить невыгодно, поскольку в большинстве случаев предметы можно изучить в разы дешевле, воспользовавшись столом для изучений . А вот и обратная сторона медали – проводя изучение, вы гарантировано получите чертёж предмета, которого у вас нет в списке изучений.

Каждый верстак обладает довольно приятным баффом – чем выше уровень верстака, тем быстрее предмет будет создаваться.

Виды верстаков в игре

Верстак 1 уровня Rust

Rust 1 верстак – самый первый доступный игроку верстак. Обычно этот Workbench надолго не задерживается, и его заменяют при первой же возможности.

Это единственный верстак, который можно не крафтить. Нередко игроки собирают металлолом и ресурсы на крафт верстака 2 уровня, создавая его в мирном городе , в котором можно найти 2 Workbench 1 уровня. В лагере бандитов также можно найти данный предмет. Ниже представлена таблица, в которой мы показали, что можно скрафтить на верстаке первого уровня в Расте:

Внимание! Лайфхак в Rust ! Имеем мы следующую картину: всего предметов – 83. Следовательно, на полное изучение всех предметов с первого верстака путём проведения экспериментов придётся потратить 6,225 единиц металлолома. Если воспользоваться столом для изучений, можно будет прилично сэкономить, так как потратите вы лишь 4,160 единиц металлолома.

Читайте также: