• Друзья, на пополнения счёта добавлены новые платежные методы FreeKassa, ЮМани, Perfect Money, Cryptomus (все виды криптовалют)

Иконка ресурса

БЕСПЛАТНЫЙ Instant Craft 2.7.4

Недоступно
Исправлена ошибка, из-за которой при вызове хуков не передавались необходимые параметры
Исправлена ошибка компиляции после обновления от 03.08.2023
Исправлена ошибка компиляции после обновления от 07.04.22
  • Like
Реакции: Gallardo
Восстановлена полноценная поддержка списка дополнительных скинов из мастерской


Теперь для определения типа предмета используется web-api steam, о любых ошибках пожалуйста сразу сообщайте в обсуждении ресурса
После обновления сервера от 1.04.2021 при использовании настройки "Использовать дополнительный список скинов из мастерской" сервера ВЫЛАТЕЮТ при запуске

Причина данного явления, а так же - способ её решения на данный момент неизвестны - отключите данную настройку до выхода обновления плагина
  • Новая настройка в конфигурации: "Привилегия для мгновенного крафта (null - мгновенный крафт работает для всех)"
    • Если не установлена или "null" - мгновенный крафт будет доступен всем игрокам на сервере
    • Чёрный список/список нормальной скорости крафта работает ДЛЯ ВСЕХ игроков, вне зависимости от наличия привилегии
    • После установки обновления - опция автоматически добавится в конфигурацию со значением "null"
  • Исправлена ошибка загрузки собственного списка скинов, связанная с очередным удалением кода части кода сервера разработчиками
Исправлена ошибка в стандартной конфигурации, из-за которой неверно отображался текст в чате.

Вместо обновления можете просто изменить файл конфигурации, указав вместо "{{0}}" -> "{0}" в параметре "Формат сообщений в чате"
Исправление ошибки компиляции после обновления от 03.09.2020
Изменён формат сообщений в чате:
JSON:
"Префикс сообщений в чате": "[InstantCraft]",
"Цвет префикса": "#42d4f4",

JSON:
 "Формат сообщений в чате": "<color=#42d4f4>[InstantCraft]</color>: {0}",
  "SteamID отправителя сообщений в чате": 0,

Теперь сам формат (цвет\префикс) указываются на одной строке, а на второй - вы можете указать SteamID профиля игрока, иконка профиля которого будет использоваться при выводе сообщений в чат.

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

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

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

Так же есть поле, Rust.Workshop.Approved.All. Однако - оно заполняется людьми. т.е. там могут быть, до банального, ошибки. Самое банальное - новые предметы из текущего ивента, https://steamcommunity.com/sharedfiles/filedetails/?id=2051308391 как вариант.

Теперь же - к цифрам. Основное обвинение в мой счёт было в связи с тем, что использование этого типа может замедлить работу сервере.
Я предполагал подобное, по этому - перечисление списка было вынесено в корутину. Однако - я ошибался:

oldFuncTest.png

Теперь же, по поводу skins2. Так это свойство ни где не вызывается (кроме плагинов) - первое выполнение займёт время. Последующие - нет, просто будут возвращать уже инициализированный массив:

skins2.png
newFuncTest.png

т.е. вместо ~7 мс на сбор всех данных, теперь будет проходить ~10 при первом крафте каждого предмета. Кто-то скажет: "капля в море". Я скажу - не в Steamworks.SteamInventory беда :)

Есть причины, почему при КАЖДОМ крафте в самой игре - идёт поиск по Steamworks.SteamInventory, и это - никому не мешает.

findSkins.png

А для всех администраторов данного хостинга я скажу следующее - это ИХ хостинг. Вы САМИ решили размещать свои сервера там. На СВОЕЙ площадке, владельцы в праве делать ВСЁ, что сочтут возможным\нужным. И либо вы принимаете правила такой игры, либо - ищите другие способы поддерживать сервер.

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

P.S. А если уж обвиняете кого-то в плохой производительности, то будьте добры - подкрепите свои слова хоть чем-то
При выгрузке плагина добавлена дополнительная проверка перед вызовом статического метода у типа Steamworks.SteamInventory

На хостинге Alkad больше не будет возникать NRE при выгрузке плагина в случае, если выключена опция "Использовать принятые скины из мастерской"
Добавлен список предметов, где вы можете выбрать на какие предметы будут или не будут применяться случайные скины.
Из конфигурации удалена опция IsPermissionEmpty, оставленная по ошибке в прошлом обновлении.
Так же - если сервер настроен как официальный, то будут работать достижения за крафт.

Конфиг обновиться автоматически, удалять ничего не нужно - новая опция сразу же появится после загрузки последней версии, а старая - будет удалена.
Изначальное значение параметра "Привилегия для получения случайного скина (null - все игроки получают случайные скины)" при автоматическом обновлении конфигурации со старых версий плагина будет не просто null, а "null". Оба значения (строка null, и null) означают то, что у всех игроков будут выставляться случайные скины.
В файл конфигурации добавлен пункт "Привилегия для получения случайного скина (null - все игроки получают случайные скины)"
Если значение не null, то случайные скины будут присваиваться ТОЛЬКО игрокам с этой привилегией.

Значение по умолчанию - "InstantCraft.Random"

При обновлении опция будет автоматически добавлена в конфигурацию, со значением null.
Исправлена проблема с обработкой принятых в игру скинов
Убраны отладочные сообщения
Устранена ошибка в файле локализации.
ВНИМАНИЕ!
Перед установкой обновления, обязательно удалите файл oxide\lang\ruInstantCraft.json

(Либо замените [ на { в ключе "NotEnoughSlots")
  • Добавлен вызов хука OnItemCraftCancelled при отмене крафта (недостаточно слотов (task.amount - сколько не удалось создать), предмет в чёрном списке, инвентарь полон)
    C#:
    void OnItemCraftCancelled(ItemCraftTask task)
  • Добавлен вызов хука OnItemCraftFinished при успешном завершении крафта (в случае, если крафт был мгновенным. Хук вызывается до присваивания instanceData, как и в oxide). Если предмет был в списке обычного крафта - данный хук вызывается самим Oxide.
    C#:
    void OnItemCraftFinished(ItemCraftTask task, Item item)
Исправлена остановка корутин при выгрузке плагина до того, как плагин окончательно инициировал все скины.
Добавлена поддержка скинов из мастерской
Внимание - скины из своего списка будут работать ТОЛЬКО в случае мгновенного крафта. При использовании стандартной скорости - будут доступны только принятые в игру.

Конфигурация изменится автоматически - добавлена возможность выбора раздела скинов (стандартные скины/принятые скины в мастерской/свой список)
В список достаточно внести только ID скина - плагин сам определит, для какого предмета/объекта он предназначен
  • Like
Реакции: LeX
Исправлена ошибка при крафте предметов со скинами из мастерской
Исправлена проблема с подгрузкой скинов из мастерской при включенной опции "Случайный скин при крафте"
Исправлен крафт ключей для двери
Сверху