Backpacks — позволяет игрокам иметь рюкзаки, которые обеспечивают им дополнительное пространство для инвентаря.
Характеристики
Backpacks позволяет игрокам иметь рюкзаки, которые обеспечивают им дополнительное пространство для инвентаря.
- Настраиваемая вместимость для каждого игрока (с использованием разрешений)
- Возможность выбросить или стереть содержимое рюкзака в случае смерти
- Возможность очистить содержимое рюкзака при очистке карты
- Необязательные ограничения на товары
- Дополнительная кнопка графического интерфейса для доступа к рюкзаку
- При необходимости автоматически соберите вновь приобретенные предметы в свой рюкзак
- При необходимости автоматически извлекайте предметы из вашего рюкзака для крафта, строительства и т.д.
Примечание: чтобы привязать клавишу для открытия рюкзака Backpacks, используйте: bind <key> backpack в консоли клиента F1. Например, bind b backpack.

Быстрый старт Backpacks
Разрешить игрокам открывать рюкзаки
Чтобы разрешить всем игрокам использовать рюкзаки, выполните следующую команду.
o.grant group default backpacks.use
Это позволит всем игрокам открывать свой рюкзак Backpacks с помощью команды /backpack в чате или команды backpack в консоли. По умолчанию все рюкзаки имеют 6 ячеек (1 ряд), но это можно изменить в настройках и с помощью назначения разрешений.
Разрешить игрокам использовать кнопку графического интерфейса Backpacks
Чтобы все игроки могли видеть кнопку графического интерфейса рюкзака, выполните следующую команду.
o.grant group default backpacks.gui
Игроки могут нажать на эту кнопку (рядом с поясом), чтобы открыть или закрыть свой рюкзак. Они также могут использовать команду /backpackgui в чате, чтобы скрыть или показать кнопку. Если вы хотите отключить кнопку по умолчанию, чтобы игрокам приходилось включать её вручную, вы можете сделать это в настройках.
В качестве альтернативы вместо включения кнопки графического интерфейса в этом плагине рассмотрите возможность использования плагина Backpack Button для более продвинутых функций.
Команды Backpacks
Этот плагин предоставляет команды для чата и консоли с использованием одного и того же синтаксиса. При использовании команды в чате добавьте к ней косую черту: `/`.
backpack/backpack.open— Открывает ваш собственный рюкзак. Требуется разрешениеbackpacks.use. Если рюкзак уже открыт, это позволит перейти на следующую страницу или закроет инвентарь игрока, если страниц больше нет.backpack.fetch <item short name or id> <amount>— Достает предмет из вашего рюкзака.backpackgui— Определяет, можете ли вы видеть кнопку графического интерфейса рюкзака.backpack.setgathermode <All|Existing|Off> <optional page number>— Устанавливает режим сбора для указанной страницы рюкзака. Если номер страницы не указан, это относится к первой странице. Эта команда полезна для быстрого изменения режима сбора с помощью привязки клавиш без открытия рюкзака. Примечание: если вы хотите постоянно получать обратную связь по этой команде через чат, а не через консоль, вам следует привязать её какbind <key> chat.say "/backpack.setgathermode All"вместоbind <key> backpack.setgathermode All.
Команды администратора Backpacks
viewbackpack <name or steam id>— Открывает рюкзак другого игрока (требуетсяbackpacks.adminразрешение)backpack.addsize <name or steam id> <amount>— Попытка изменить размер рюкзака указанного игрока на заданную величину, не выходя за пределы профиля размера игрока. Это можно использовать для уменьшения вместимости, указав отрицательное число. Требуется включить экспериментальную функцию динамического размера в конфигурации.backpack.setsize <name or steam id> <amount>— Попытка установить размер рюкзака игрока на заданное значение, не выходя за пределы профиля размера игрока. Требуется включить экспериментальную функцию динамического размера в конфигурации.
Серверные команды Backpacks
backpack.erase <steam id>— Принудительно удаляет всё содержимое рюкзака конкретного игрока, даже если у него естьbackpack.keeponwipe.*разрешения, которые обычно освобождают его от этой обязанности.
Разрешения Backpacks
Этот плагин использует систему разрешений. Чтобы назначить разрешение, используйте
oxide.grant <user or group> <name or steam id> <permission>. Чтобы удалить разрешение, используйте
oxide.revoke <user or group> <name or steam id> <permission>.
backpacks.use— Требуется, чтобы открыть свой собственный рюкзак.backpacks.admin— Требуется для использования командviewbackpack,backpack.addsizeиbackpack.setsize.backpacks.admin.protected— Защищает ваш рюкзак от просмотра другими администраторами с помощью командыviewbackpackbackpacks.gui— Требуется, чтобы увидеть кнопку GUI.backpacks.fetch— Требуется для использования командыbackpack.fetch.backpacks.keepondeath— Освобождает вас от необходимости стирать или выбрасывать рюкзак после смерти.backpacks.gather— Позволяет включить режим сбора на каждой странице рюкзака Backpacks, который автоматически переносит только что полученные предметы в ваш рюкзак.- Примечание: если вы отключитесь от сервера и подключитесь к нему через некоторое время, режим сбора не будет активирован, пока вы хотя бы раз не откроете свой рюкзак.
backpacks.retrieve— Позволяет включить режим извлечения для каждой страницы рюкзака. Когда режим извлечения включён, вы можете строить, создавать предметы и многое другое, используя предметы со страниц вашего рюкзака. Требуется плагин Item Retriever.- Примечание: когда вы отключаетесь от сервера и подключаетесь к нему через некоторое время, режим извлечения не будет активирован, пока вы хотя бы раз не откроете свой рюкзак Backpacks. Кроме того, при перезарядке оружия, смене боеприпасов, покупке предметов в торговых автоматах и покупке транспортных средств у NPC-продавцов вы не сможете извлекать предметы со страниц, пока не откроете эти страницы хотя бы один раз после (повторного) подключения к серверу.
Разрешения на размер Backpacks
Если вы хотите предоставить конкретным игрокам или группам больше ячеек для рюкзаков, чем по умолчанию (Backpack size -> Default size), вы можете сделать это с помощью разрешений. Каждое число, присутствующее в параметре конфигурации Backpack size -> Permission sizes, заставит плагин сгенерировать разрешение в формате backpacks.size.<number>, которое назначит соответствующим игрокам или группам столько ячеек. Например, backpacks.size.18 назначит 18 ячеек (3 ряда).
Следующие разрешения Backpacks поставляются с конфигурацией по умолчанию плагина.
backpacks.size.6— 1 строкаbackpacks.size.12— 2 рядаbackpacks.size.18— 3 рядаbackpacks.size.24— 4 рядаbackpacks.size.30— 5 рядовbackpacks.size.36— 6 рядовbackpacks.size.42— 7 рядовbackpacks.size.48— 8 рядовbackpacks.size.96— 16 строк (2 страницы)backpacks.size.144— 24 строки (3 страницы)
Дополнительные разрешения можно задать, просто добавив их в параметр конфигурации Backpack size -> Permission sizes и перезагрузив плагин.
Примечание: если игроку предоставлено несколько разрешений разного размера, будет применяться разрешение наибольшего размера.
Динамический размер (ПРОДВИНУТЫЙ / ЭКСПЕРИМЕНТАЛЬНЫЙ) Backpacks
Если вы хотите разрешить игрокам увеличивать размер своего рюкзака, это можно сделать с помощью описанных выше разрешений backpacks.size.* , просто предоставив более высокие разрешения по мере того, как игрок совершает покупки или выполняет действия, чтобы получить рюкзак большего размера (вы несете ответственность за использование других плагинов для предоставления и/или отзыва разрешений в нужное время). Однако использование разрешений для определения размера рюкзака подходит не для всех типов серверов, что приводит к некоторым проблемам, описанным ниже.
- Если вы хотите, чтобы размер рюкзака сбрасывался в начале каждой очистки, вам понадобится другой плагин для сброса разрешений в это время.
- Если вы хотите, чтобы игроки могли увеличивать размер своего рюкзака несколькими способами, например, с помощью дерева навыков, покупок в магазине, расходуемых предметов, которые можно найти и/или обменять у других игроков, такая комбинация просто невозможна, потому что каждый источник улучшения может перекрывать другие или не действовать, если предоставленное разрешение соответствует меньшему размеру, чем у игрока в данный момент.
Динамический размер рюкзака позволяет решить эти проблемы. Используя динамический размер, вы можете задать профили размера, в которых указывается начальный и максимальный размер. Вы назначаете профили размера игрокам с помощью разрешений. В начале каждой wipe размер рюкзака каждого игрока по желанию сбрасывается до начального размера его профиля. В течение wipe игроки могут получать улучшения размера из различных источников (например, других плагинов) вплоть до максимального размера, указанного в их профиле. Например, если в профиле игрока указан начальный размер 6 и максимальный размер 48, игрок может постепенно приобретать улучшения, пока не достигнет размера 48, после чего рюкзак больше нельзя будет улучшать.
Чтобы начать работу с динамическим размером рюкзака, установите для параметра Dynamic Size (EXPERIMENTAL) -> Enabled конфигурации значение true и перезапустите плагин. Затем предоставьте одно из следующих разрешений (или новое, которое вы определите в конфигурации)
Следующие разрешения предоставляются конфигурацией плагина по умолчанию. Дополнительные профили размеров можно определить в конфигурации, что приведёт к появлению дополнительных разрешений.
backpacks.size.profile.6-48— от 6 до 48 слотовbackpacks.size.profile.6-96— от 6 до 96 слотовbackpacks.size.profile.6-144— от 6 до 144 слотов
Важные примечания:
- Если игроку предоставлено несколько разрешений
backpacks.size.profile.*, ~~применится последнее из них в соответствии с порядком профилей в конфигурации.~~ Начальный и максимальный размеры будут наибольшими из всех профилей, к которым у него есть доступ (изменено в версии 3.14.0). - Если игроку предоставлены какие-либо
backpacks.size.profile.*разрешения, они переопределят размер рюкзака по умолчанию из конфигурации, а также любыеbackpacks.size.<number>разрешения, которые были предоставлены, поскольку профили размеров имеют приоритет над всеми остальными настройками/разрешениями. - Плагин отслеживает размер бонуса, который получил игрок, а не его точный размер. Это означает, что вы можете переключать игрока с одного профиля на другой, не теряя заработанных очков. Например, если игрок начинает с профиля 6-48 и увеличивает количество очков до 24 (6 + 18), а затем получает разрешение на профиль 48-96, у него будет 66 очков (48 + 18).
- В настоящее время этот плагин не предлагает встроенных функций для увеличения вместимости рюкзака, поэтому для таких случаев необходимо использовать другие плагины. Разработчики плагинов могут обратиться к документации API ниже, чтобы узнать, как запрашивать и изменять вместимость рюкзака. Ниже приведены названия основных методов API.
API_IsDynamicCapacityEnabledAPI_GetBackpackCapacityAPI_GetBackpackInitialCapacityAPI_GetBackpackMaxCapacityAPI_AddBackpackCapacityAPI_SetBackpackCapacity
- Другие плагины могут использовать команды
backpack.addsizeиbackpack.setsize, но в зависимости от вашей конкретной настройки это может привести к ситуациям, когда игроки будут тратить ресурсы на покупку улучшений, когда их запас уже на пределе. Рекомендуется более точная интеграция с использованием API, поскольку другие плагины могут запрашивать у плагина Backpacks информацию о том, возможно ли улучшение, прежде чем взимать плату с игрока.
Разрешения на ограничение элементов Backpacks
Если вы хотите разрешить рюкзакам определённых игроков или групп принимать другие предметы, отличные от стандартных (Item restrictions -> Default ruleset), вы можете сделать это с помощью разрешений. Каждый набор правил, определённый в параметре конфигурации Item restrictions -> Rulesets by permission, приведёт к тому, что плагин сгенерирует разрешение в формате backpacks.restrictions.<name>. Предоставление этого разрешения назначит соответствующий набор правил соответствующим игрокам или группам.
Следующие разрешения предоставляются конфигурацией плагина по умолчанию. Дополнительные наборы правил ограничения элементов можно задать в конфигурации, что приведёт к появлению дополнительных разрешений.
backpacks.restrictions.allowall— Позволяет использовать все предметы в рюкзаке игрока. Полезно только в том случае, если вы настроили набор правил по умолчанию для ограничения предметов.
Примечание: если игроку предоставлено несколько backpacks.restrictions.* разрешений, то в соответствии с порядком правил в конфигурации будет применяться последнее из них.
Продолжайте использовать разрешения на очистку Backpacks
Если вы хотите, чтобы рюкзаки определённых игроков или групп сохраняли другие предметы после вычитки, чем по умолчанию (Clear on wipe > Default ruleset), вы можете сделать это с помощью разрешений. Каждый набор правил, заданный в параметре конфигурации Clear on wipe > Rulesets by permission, приведёт к тому, что плагин сгенерирует разрешение в формате backpacks.keeponwipe.<name>. Предоставление этого разрешения назначит соответствующий набор правил соответствующим игрокам или группам.
Следующие разрешения предоставляются конфигурацией плагина по умолчанию. Дополнительные наборы правил для сохранения при очистке можно определить в конфигурации, что приведёт к появлению дополнительных разрешений.
backpacks.keeponwipe.all— Позволяет хранить все предметы на салфетках.
Примечание: если игроку предоставлено несколько backpacks.keeponwipe.* разрешений, то в соответствии с порядком правил в конфигурации будет применяться последнее из них.
Устаревшие разрешения Backpacks
Следующие разрешения по-прежнему поддерживаются плагином для обеспечения обратной совместимости, но рекомендуется использовать более новые разрешения.
backpacks.use.1 - 8— Как иbackpacks.size.*, но присваивает указанное количество строк, а не ячеек.- Эти разрешения будут сгенерированы при установке параметра конфигурации
"Backpack size">"Enable legacy backpacks.use.1-8 row permissions": true, который будет автоматически добавлен в вашу конфигурацию при обновлении с предыдущей версии плагина, если на тот момент у вас был установлен параметр конфигурации"Backpack Size (1-8 Rows)". - Рекомендуемая альтернатива:
backpacks.size.6черезbackpacks.size.48(присутствует в конфигурации по умолчанию, но может отсутствовать в зависимости от того, как вы изменили конфигурацию)
- Эти разрешения будут сгенерированы при установке параметра конфигурации
backpacks.noblacklist— Освобождает игроков от ограничений по предметам, позволяя помещать в рюкзак любые предметы.- Это разрешение присутствует, если задана опция конфигурации
"Item restrictions">"Enable legacy noblacklist permission": true, которая будет автоматически добавлена в вашу конфигурацию при обновлении с предыдущей версии плагина, если на тот момент у вас были заданы опции конфигурации"Use Whitelist (true/false)": trueили"Use Blacklist (true/false)": true. - Рекомендуемая альтернатива:
backpacks.restrictions.allowall(присутствует в конфигурации по умолчанию, но может отсутствовать в зависимости от того, как вы изменили конфигурацию)
- Это разрешение присутствует, если задана опция конфигурации
backpacks.keeponwipe— Освобождает игроков от необходимости удалять содержимое рюкзака при очистке карты.- Это разрешение присутствует, когда установлен параметр
"Clear on wipe">"Enable legacy keeponwipe permission": trueconfig, который будет автоматически добавлен в ваш config при обновлении с предыдущей версии плагина, если у вас на тот момент установлен параметр"Clear Backpacks on Map-Wipe (true/false)": trueconfig. - Рекомендуемая альтернатива:
backpacks.keeponwipe.all(присутствует в конфигурации по умолчанию, но может отсутствовать в зависимости от того, как вы изменили конфигурацию)
- Это разрешение присутствует, когда установлен параметр
Конфигурация Backpacks
Настройки и параметры можно изменить в файле
Backpacks в каталоге config. Рекомендуется использовать редактор и валидатор, чтобы избежать проблем с форматированием и синтаксическими ошибками.
Конфигурация по умолчанию:
{
"Backpack size": {
"Default size": 6,
"Max size per page": 48,
"Enable legacy backpacks.use.1-8 row permissions": false,
"Permission sizes": [
6,
12,
18,
24,
30,
36,
42,
48,
96,
144
],
"Dynamic Size (EXPERIMENTAL)": {
"Enabled": false,
"Reset dynamic size on wipe": {
"Enabled": true
},
"Size profiles": [
{
"Permission suffix": "6-48",
"Initial size": 6,
"Max size": 48
},
{
"Permission suffix": "6-96",
"Initial size": 6,
"Max size": 96
},
{
"Permission suffix": "6-144",
"Initial size": 6,
"Max size": 144
}
]
}
},
"Drop on Death (true/false)": true,
"Erase on Death (true/false)": false,
"Minimum Despawn Time (Seconds)": 300.0,
"GUI Button": {
"Enabled": true,
"Enabled by default (for players with permission)": true,
"Skin Id": 3050418770,
"Image": "",
"Background Color": "0.969 0.922 0.882 0.035",
"GUI Button Position": {
"Anchors Min": "0.5 0.0",
"Anchors Max": "0.5 0.0",
"Offsets Min": "185 18",
"Offsets Max": "245 78"
}
},
"Container UI": {
"Show page buttons on container bar": false,
"Max page buttons to show": 8
},
"Softcore": {
"Reclaim Fraction": 0.5
},
"Item restrictions": {
"Enabled": false,
"Enable legacy noblacklist permission": false,
"Feedback effect": "assets/prefabs/locks/keypad/effects/lock.code.denied.prefab",
"Default ruleset": {
"Allowed item categories": [
"All"
],
"Disallowed item categories": [],
"Allowed item short names": [],
"Disallowed item short names": [],
"Allowed skin IDs": [],
"Disallowed skin IDs": []
},
"Rulesets by permission": [
{
"Name": "allowall",
"Allowed item categories": [
"All"
],
"Disallowed item categories": [],
"Allowed item short names": [],
"Disallowed item short names": [],
"Allowed skin IDs": [],
"Disallowed skin IDs": []
}
]
},
"Clear on wipe": {
"Enabled": false,
"Enable legacy keeponwipe permission": false,
"Default ruleset": {
"Max slots to keep": 0,
"Allowed item categories": [],
"Disallowed item categories": [],
"Allowed item short names": [],
"Disallowed item short names": [],
"Allowed skin IDs": [],
"Disallowed skin IDs": []
},
"Rulesets by permission": [
{
"Name": "all",
"Max slots to keep": -1,
"Allowed item categories": [
"All"
],
"Disallowed item categories": [],
"Allowed item short names": [],
"Disallowed item short names": [],
"Allowed skin IDs": [],
"Disallowed skin IDs": []
}
]
},
}
Размер рюкзака Backpacks
Backpack sizeDefault size(По умолчанию:6) — определяет вместимость (в слотах) рюкзаков для игроков, у которых есть разрешениеbackpacks.use- Примечание: Игроки, у которых есть
backpacks.size.<number>разрешения, могут иметь большую пропускную способность. - Примечание: Игроки, у которых есть
backpacks.size.profile.*разрешения, могут иметь разную вместимость.
- Примечание: Игроки, у которых есть
Max size per page(По умолчанию:48, максимум:48) — определяет вместимость (в слотах) каждой страницы рюкзака. Например, если вы даёте игроку рюкзак вместимостью60и устанавливаете максимальный размер страницы в48, то в его рюкзаке будет две страницы: одна страница вместимостью48и другая страница вместимостью12.Enable legacy backpacks.use.1-8 row permissions(trueилиfalse; по умолчанию:false) — определяет, регистрируются лиbackpacks.use.1-8разрешения плагином. При обновлении плагина до версии 3.9, если у вас установлен параметр"Backpack Size (1-8 Rows)"конфигурации, этот параметр будет автоматически включен для обратной совместимости. Даже если вы устанавливаете плагин впервые, есть веские причины для включения этого параметра, например, если вы используете другой плагин, который управляет этими разрешениями. На момент написания этой статьи плагины XPerience и Backpack Upgrader используют эти разрешения, чтобы позволить игрокам увеличивать вместимость с помощью системы развития, но к моменту прочтения этой статьи ситуация могла измениться.Permission sizes— Каждое число в этом списке генерирует разрешение в форматеbackpacks.size.<number>. Предоставление этого разрешения игроку или группе увеличивает вместимость их рюкзака на указанное количество. Это полезно, если вы хотите, чтобы у некоторых игроков было больше вместимости, чем указано выше по умолчанию. Примечание: если игроку предоставлено несколько разрешений на увеличение вместимости, будет применяться наибольшее из них.- Примечание: Эти разрешения игнорируются для игроков, у которых есть
backpacks.size.profile.*разрешения.
- Примечание: Эти разрешения игнорируются для игроков, у которых есть
Dynamic Size (EXPERIMENTAL)— Расширенная функция для интеграции с другими плагинами. Примечание: эта функция может быть изменена в будущих обновлениях. Если вам нравится эта функция, пожалуйста, оставьте отзыв на форумах uMod (нажмите кнопку «Справка» на боковой панели, чтобы перейти на форумы Backpacks).Enabled(trueилиfalse; по умолчанию:false) — еслиtrueдинамический размер включен, то любыеbackpacks.size.profile.*разрешения будут сгенерированы из конфигурации и вступят в силу. Еслиfalseпараметры динамического размера отключены, тоbackpacks.size.profile.*разрешения не будут сгенерированы и не вступят в силу, если ранее были предоставлены игрокам.Reset dynamic size on wipeEnabled(trueилиfalse; По умолчанию:true) — В то время какtrueдинамический размер будет сброшен при очистке. Это означает, что все рюкзаки, использующие dynamic size, вернутся к первоначальному размеру.
Size profiles— Каждая запись в этом списке определяет профиль размера. Когда профиль размера назначается игроку с помощью разрешений, размер рюкзака этого игрока определяется профилем, переопределяя размер рюкзака по умолчанию из конфигурации и любыеbackpacks.size.<number>разрешения, назначенные игроку.Permission suffix— Определяет сгенерированное разрешение форматаbackpacks.restrictions.<suffix>.Initial size— Начальный размер рюкзака. Другие плагины могут использовать API для изменения размера рюкзака, но не ниже этого значения. Размер автоматически сбрасывается до этого значения при очистке сервера.Max size— Максимальный размер рюкзака. Другие плагины могут использовать API для увеличения размера рюкзака до этого значения.
Кнопка графического интерфейса пользователя Backpacks
GUI Button— Определяет отображение кнопки графического интерфейса, которую игроки могут нажимать, чтобы открывать и закрывать свой рюкзак.Enabled(trueилиfalse; по умолчанию:true) — определяет, включена ли кнопка графического интерфейса. Если вы не хотите показывать кнопку графического интерфейса игрокам, установите значениеfalseдля повышения производительности. Отключение этой функции также приведет к отмене регистрации командыbackpackguiдля использования другим плагином.Enabled by default (for players with permission)(trueилиfalse; по умолчанию:true) — определяет, будет ли кнопка графического интерфейса отображаться для новых игроков по умолчанию, если у них есть разрешениеbackpacks.gui. Примечание: игроки могут использовать командуbackpackgui, чтобы самостоятельно включить или выключить её, если они не согласны с выбранным вами значением по умолчанию.Skin Id(По умолчанию:3050418770) — определяет идентификатор скина, используемый для отображения кнопки графического интерфейса в качестве альтернативы URL-адресуImage. Если0, это не имеет значения. Примечание: пользователи могут увидеть значок сумки на короткое время, пока значок скина загружается на их компьютер.Image(По умолчанию:"") — определяет URL-адрес изображения для отображения на кнопке графического интерфейса в качестве альтернативыSkin Id.Background Color— Значение по умолчанию:"0.969 0.922 0.882 0.035".GUI Button Position— Определяет положение и размер кнопки.Anchors Min— По умолчанию:"0.5 0.0"(в нижней центральной части экрана). Не меняйте это значение, если не знаете, что делаете.Anchors Max— По умолчанию:"0.5 0.0"(в нижней центральной части экрана). Не меняйте это значение, если не знаете, что делаете.Offsets Min— Определяет положение кнопки в левом нижнем углу. По умолчанию:"185 18"(правая сторона ремня).Offsets Max— Определяет положение кнопки в правом верхнем углу. По умолчанию:"245 78"(правая сторона ремня).
Пользовательский интерфейс контейнера
Container UI— Управляет отображением пользовательского интерфейса контейнера рюкзака.Show page buttons on container bar(trueилиfalse; по умолчанию:false) — определяет, будут ли кнопки страниц (например, 1, 2, 3) отображаться на панели контейнера или над панелью контейнера. По умолчанию они отображаются над панелью контейнера для совместимости с плагином Sort Button. Однако если вы используете плагин Quick Sort и хотите, чтобы на странице рюкзака было 48 ячеек, вам, вероятно, нужно включить эту опцию, чтобы переместить кнопки страниц вниз.Max page buttons to show— Определяет максимальное количество кнопок страниц (например, 1, 2, 3), которые могут отображаться одновременно. Если в рюкзаке игрока больше страниц, чем указано здесь, будут отображаться дополнительные кнопки<и>.
Рекомендуется для кнопки Сортировки (по умолчанию):

Рекомендуется для быстрой сортировки:

Ограничения по товарам
Item restrictionsEnabled— Определяет, распространяются ли ограничения на рюкзаки игроков. Установите значениеfalseдля отключения ограничений на рюкзаки для всех игроков. Установите значениеtrueдля применения указанных ниже наборов правил. Примечание: независимо от этих настроек другие плагины могут препятствовать добавлению определённых предметов в рюкзаки с помощью хукаCanBackpackAcceptItemEnable legacy noblacklist permission(trueилиfalse; по умолчанию:false) — определяет, зарегистрировано ли разрешениеbackpacks.noblacklistв плагине. При обновлении плагина до версии 3.9, если у вас заданы параметры конфигурации"Use Whitelist (true/false)": trueили"Use Blacklist (true/false)": true, этот параметр будет автоматически включен для обратной совместимости.Feedback effect— Префаб эффекта, который воспроизводится, когда игрок пытается добавить запрещённый предмет в свой рюкзак. Установите значение""для отключения эффекта.Default ruleset— Набор правил по умолчанию применяется ко всем рюкзакам игроков, кроме тех, которым были предоставленыbackpacks.restrictions.<name>разрешения (которые генерируются с помощьюRulesets by permissionниже).Allowed item categories— Определяет, какие категории предметов разрешены в рюкзаках, которым назначен этот набор правил, в дополнение к любым разрешённым коротким названиям предметов и идентификаторам скинов.- Если вы хотите разрешить только определённые короткие названия элементов, оставьте этот параметр пустым (
[]) и вместо этого добавьте эти короткие названия элементов вAllowed item short names. - Если вы хотите разрешить большинство элементов с некоторыми исключениями, установите для этого параметра значение
"Allowed item categories": ["All"], а затем используйте параметрыDisallowed item categories,Disallowed item short names, и/илиDisallowed skin IDs. - Возможные значения:
"All","Ammunition","Attire","Common","Component","Construction","Electrical","Favourite","Food","Fun","Items","Medical","Misc","Resources","Search","Tool","Traps","Weapon".
- Если вы хотите разрешить только определённые короткие названия элементов, оставьте этот параметр пустым (
Disallowed item categories— Определяет, какие категории предметов запрещены в рюкзаках, для которых установлен этот набор правил.- Единственный правильный способ использовать эту опцию — установить
"Allowed item categories": ["All"]и использовать эту опцию для указания категорий, которые вы хотите запретить. - Если товар относится к запрещённой категории, он всё равно может быть разрешён, если его краткое название указано в
Allowed item short namesили если его идентификатор скина указан вAllowed skin IDs. - Допустимые значения: Те же, что и для
Allowed item categories.
- Единственный правильный способ использовать эту опцию — установить
Allowed item short names— Определяет, какие краткие названия предметов разрешены в рюкзаках, которым присвоен этот набор правил, в дополнение к любым разрешённым категориям предметов и идентификаторам скинов.- Короткие названия товаров имеют более высокий приоритет, чем категории товаров. Это означает, что вы можете использовать эту опцию, чтобы разрешить товары из запрещённых категорий.
Disallowed item short names— Определяет, какие короткие названия предметов запрещены в рюкзаках, для которых установлен этот набор правил.- Эта опция не действует, если
Allowed item categoriesпустое, потому что это означает, что никакие элементы не разрешены. - Если у элемента есть недопустимое короткое название, этот элемент всё равно может быть разрешён, если его идентификатор скина указан в
Allowed skin IDs.
- Эта опция не действует, если
Allowed skin IDs— Определяет, какие идентификаторы скинов предметов разрешены в рюкзаках, которым назначен этот набор правил, в дополнение к любым разрешённым категориям предметов и коротким названиям.- Идентификаторы скинов предметов имеют более высокий приоритет, чем категории предметов и их краткие названия. Это означает, что вы можете использовать эту опцию, чтобы разрешить использование предметов с запрещёнными категориями или краткими названиями.
Disallowed skin IDs— Определяет, какие идентификаторы скинов предметов запрещены в рюкзаках, которым назначен этот набор правил.- Эта опция не действует, если
Allowed item categoriesиAllowed item short namesпусты, поскольку это означает, что никакие элементы не разрешены. - Если у элемента есть недопустимый идентификатор скина, он не будет разрешён ни при каких обстоятельствах, даже если у этого элемента есть допустимая категория или короткое название.
- Эта опция не действует, если
Rulesets by permission— Каждый набор правил в этом списке генерирует разрешение в форматеbackpacks.restrictions.<name>. Помимо опцииName, остальные опции такие же, как и дляDefault ruleset.
Примеры наборов правил:
"Rulesets by permission": [
{
"Name": "no_fun_except_trumpet",
"Allowed item categories": [
"All"
],
"Disallowed item categories": [
"Fun"
],
"Allowed item short names": [
"fun.trumpet"
],
"Disallowed item short names": [],
"Allowed skin IDs": [],
"Disallowed skin IDs": []
},
{
"Name": "no_c4",
"Allowed item categories": [
"All"
],
"Disallowed item categories": [],
"Allowed item short names": [],
"Disallowed item short names": [
"explosive.timed"
],
"Allowed skin IDs": [],
"Disallowed skin IDs": []
},
{
"Name": "only_food_but_no_apples",
"Allowed item categories": [
"Food"
],
"Disallowed item categories": [],
"Allowed item short names": [],
"Disallowed item short names": [
"apple",
"apple.spoiled"
],
"Allowed skin IDs": [],
"Disallowed skin IDs": []
}
]
Очистите рюкзаки салфеткой
Clear on wipeEnabled(По умолчанию:false) — в то время какtrueсодержимое рюкзаков игроков может быть очищено при уничтожении карты в соответствии с приведёнными ниже правилами.- Примечание: для работы этой функции необходимо установить Oxide и загрузить плагин при первой загрузке сервера с новой картой. В редких случаях владельцы серверов допускают ошибку, запуская сервер после обновления Rust без установленного Oxide или с устаревшим плагином (например, из-за сбоя компиляции), что приводит к тому, что рюкзаки не удаляются. Если вы допустили эту ошибку, рекомендуется снова очистить сервер, удалив файл сохранения сервера и перезапустив сервер, поскольку это повлияет и на другие плагины, которые полагаются на обнаружение очистки карты. В качестве альтернативы вы можете вручную очистить все рюкзаки, выгрузив плагин, удалив каталог
oxide/data/Backpacksи затем загрузив плагин.
- Примечание: для работы этой функции необходимо установить Oxide и загрузить плагин при первой загрузке сервера с новой картой. В редких случаях владельцы серверов допускают ошибку, запуская сервер после обновления Rust без установленного Oxide или с устаревшим плагином (например, из-за сбоя компиляции), что приводит к тому, что рюкзаки не удаляются. Если вы допустили эту ошибку, рекомендуется снова очистить сервер, удалив файл сохранения сервера и перезапустив сервер, поскольку это повлияет и на другие плагины, которые полагаются на обнаружение очистки карты. В качестве альтернативы вы можете вручную очистить все рюкзаки, выгрузив плагин, удалив каталог
Enable legacy keeponwipe permission(trueилиfalse; по умолчанию:false) — определяет, зарегистрировано ли разрешениеbackpacks.keeponwipeв плагине. При обновлении плагина до версии 3.9, если у вас установлен параметр"Clear Backpacks on Map-Wipe (true/false)": trueконфигурации, этот параметр будет автоматически включен для обратной совместимости. Это разрешение заменяется разрешениемbackpacks.keeponwipe.allDefault ruleset— Набор правил по умолчанию применяется ко всем рюкзакам игроков, кроме тех, которым были предоставленыbackpacks.keeponwipe.<name>разрешения (которые генерируются с помощьюRulesets by permissionниже).Max slots to keep— Определяет, сколько ячеек для предметов можно сохранить между перезагрузками. Установите значение-1для сохранения неограниченного количества ячеек для предметов, вплоть до размера рюкзака.- Например, если вы установите значение
10при очистке, плагин сохранит первые10разрешённых предметов в рюкзаке, отдавая приоритет предметам в начале рюкзака, а остальные предметы будут удалены. - Запрещенные элементы пропускаются и не засчитываются в этот лимит.
- Пустые слоты пропускаются и не засчитываются в этот лимит.
- Например, если вы установите значение
Allowed item categories— Определяет, какие категории предметов можно сохранять между перезагрузками, в дополнение к любым разрешённым коротким названиям предметов и идентификаторам скинов.- Если вы хотите разрешить только определённые короткие названия элементов, оставьте этот параметр пустым (
[]) и вместо этого добавьте эти короткие названия элементов вAllowed item short names. - Если вы хотите разрешить большинство элементов с некоторыми исключениями, установите для этого параметра значение
"Allowed item categories": ["All"], а затем используйте параметрыDisallowed item categories,Disallowed item short names, и/илиDisallowed skin IDs. - Возможные значения:
"All","Ammunition","Attire","Common","Component","Construction","Electrical","Favourite","Food","Fun","Items","Medical","Misc","Resources","Search","Tool","Traps","Weapon".
- Если вы хотите разрешить только определённые короткие названия элементов, оставьте этот параметр пустым (
Disallowed item categories— Определяет, какие категории товаров нельзя сохранять между вытираниями.- Единственный правильный способ использовать эту опцию — установить
"Allowed item categories": ["All"]и использовать эту опцию для указания категорий, которые вы хотите запретить. - Если товар относится к запрещённой категории, он всё равно может быть разрешён, если его краткое название указано в
Allowed item short namesили если его идентификатор скина указан вAllowed skin IDs. - Допустимые значения: Те же, что и для
Allowed item categories.
- Единственный правильный способ использовать эту опцию — установить
Allowed item short names— Определяет, какие краткие названия предметов можно сохранять в разных версиях, в дополнение к любым разрешённым категориям предметов и идентификаторам скинов.- Короткие названия товаров имеют более высокий приоритет, чем категории товаров. Это означает, что вы можете использовать эту опцию, чтобы разрешить товары из запрещённых категорий.
Disallowed item short names— Определяет, какие краткие названия элементов нельзя сохранять между перезагрузками.- Этот параметр не действует, если значение
Allowed item categoriesне указано. - Если у элемента есть недопустимое короткое название, этот элемент всё равно может быть разрешён, если его идентификатор скина указан в
Allowed skin IDs.
- Этот параметр не действует, если значение
Allowed skin IDs— Определяет, какие идентификаторы скинов предметов можно сохранять между перезагрузками, в дополнение к любым разрешённым категориям предметов и коротким названиям.- Идентификаторы скинов предметов имеют более высокий приоритет, чем категории предметов и их краткие названия. Это означает, что вы можете использовать эту опцию, чтобы разрешить использование предметов с запрещёнными категориями или краткими названиями.
Disallowed skin IDs— Определяет, какие идентификаторы скинов нельзя сохранять между перезагрузками.- Этот параметр не действует, если оба параметра
Allowed item categoriesиAllowed item short namesявляются пустыми. - Если у элемента есть недопустимый идентификатор скина, он не будет разрешён ни при каких обстоятельствах, даже если у этого элемента есть допустимая категория или короткое название.
- Этот параметр не действует, если оба параметра
Rulesets by permission— Каждый набор правил в этом списке генерирует разрешение в форматеbackpacks.keeponipe.<name>. Помимо опцииName, остальные опции такие же, как и дляDefault ruleset.
Примеры наборов правил:
"Clear on wipe": {
"Enabled": true,
"Default ruleset": {
"Max slots to keep": 0,
"Allowed item categories": [],
"Disallowed item categories": [],
"Allowed item short names": [],
"Disallowed item short names": [],
"Allowed skin IDs": [],
"Disallowed skin IDs": []
},
"Rulesets by permission": [
{
"Name": "all",
"Max slots to keep": -1,
"Allowed item categories": [
"All"
],
"Disallowed item categories": [],
"Allowed item short names": [],
"Disallowed item short names": [],
"Allowed skin IDs": [],
"Disallowed skin IDs": []
},
{
"Name": "1row",
"Max slots to keep": 6,
"Allowed item categories": [
"All"
],
"Disallowed item categories": [],
"Allowed item short names": [],
"Disallowed item short names": [],
"Allowed skin IDs": [],
"Disallowed skin IDs": []
},
{
"Name": "2rows",
"Max slots to keep": 12,
"Allowed item categories": [
"All"
],
"Disallowed item categories": [],
"Allowed item short names": [],
"Disallowed item short names": [],
"Allowed skin IDs": [],
"Disallowed skin IDs": []
},
{
"Name": "onlywood",
"Max slots to keep": -1,
"Allowed item categories": [],
"Disallowed item categories": [],
"Allowed item short names": [
"wood"
],
"Disallowed item short names": [],
"Allowed skin IDs": [],
"Disallowed skin IDs": []
}
]
},
Различные варианты
Drop on Death (true/false)(По умолчанию:true) — покаtrueсодержимое рюкзаков игроков будет выпадать из их трупов после смерти. Когда игрок возродится, его рюкзак будет пуст, но он сможет найти свой выпавший рюкзак и забрать его содержимое.- Примечание: даже если эта опция включена, игроки с разрешением
backpacks.keepondeathсохранят содержимое своего рюкзака после смерти. - Примечание: даже если сброс рюкзаков отключен, другие плагины, такие как Raidable Bases, могут принудительно сбросить рюкзак игрока, если это настроено через
API_DropBackpackAPI.
- Примечание: даже если эта опция включена, игроки с разрешением
Erase on Death (true/false)(По умолчанию:false) — В то время какtrueсодержимое рюкзаков игроков будет удалено после их смерти. Удаленное содержимое рюкзаков не может быть восстановлено ни при каких обстоятельствах.- Примечание: даже если эта опция включена, игроки с разрешением
backpacks.keepondeathсохранят содержимое своего рюкзака после смерти.
- Примечание: даже если эта опция включена, игроки с разрешением
Minimum Despawn Time (Seconds)(По умолчанию:300.0) — определяет минимальное время (в секундах), в течение которого упавшие рюкзаки будут защищены от исчезновения. Если содержимое рюкзака встречается редко, как в ванильном Rust, рюкзак может исчезать дольше, чем указано в этом параметре.Softcore— Определяет параметры для режима Softcore.Reclaim Fraction(По умолчанию:0.5, минимум:0.0, максимум:1.0) — определяет процент предметов из рюкзака, которые отправляются в терминал восстановления после смерти, если включена функция «выпадение при смерти». Примечание: предметы, отправленные из вашего рюкзака в терминал восстановления после смерти, не доступны на вашем трупе.
Локализация
Сообщения по умолчанию находятся в файле
Backpacks в каталоге
lang/en. Чтобы добавить поддержку другого языка, создайте новую языковую папку (например,
de для немецкого языка), если она ещё не создана, скопируйте файл языка по умолчанию в новую папку, а затем настройте сообщения.
Вопросы и ответы
Почему рюкзаки не падают, когда игроки умирают?
Есть три возможные причины, по которым рюкзаки не падают.
- Параметр конфигурации
"Drop on Death (true/false)"являетсяfalse. - У игроков есть
backpacks.keepondeathразрешение. - Другой плагин предотвращал выпадение рюкзака с помощью
CanDropBackpackкрюка. Плагины для арены часто делают это для игроков на арене.
Как переместить кнопку рюкзака на левую сторону панели быстрого доступа?
Замените "GUI Button Position" раздел конфигурации плагина следующим.
"GUI Button Position": {
"Anchors Min": "0.5 0.0",
"Anchors Max": "0.5 0.0",
"Offsets Min": "-265 18",
"Offsets Max": "-205 78"
}
API разработчика
API_IsDynamicCapacityEnabled
int API_IsDynamicCapacityEnabled()
Возвращает true, если в конфигурации включена динамическая пропускная способность, в противном случае возвращает false. Это полезно для плагинов-аддонов, использующих динамическую пропускную способность, так как позволяет им выводить предупреждение в консоли сервера, информируя администратора о том, что для использования функций динамической пропускной способности, предоставляемых плагином-аддоном, необходимо включить эту опцию конфигурации.
API_GetBackpackCapacity
int API_GetBackpackCapacity(BasePlayer player)
int API_GetBackpackCapacityById(ulong playerID, string playerIDString)
Возвращает текущую вместимость рюкзака игрока.
API_GetBackpackInitialCapacity
int API_GetBackpackInitialCapacity(BasePlayer player)
Возвращает начальную/минимальную вместимость рюкзака игрока. Если динамический размер не включён или если у игрока нет назначенного профиля размера, возвращаемое значение будет просто равно текущей вместимости рюкзака игрока.
API_GetBackpackMaxCapacity
int API_GetBackpackMaxCapacity(BasePlayer player)
Возвращает максимальную вместимость рюкзака игрока. Если динамический размер не включён или если у игрока нет назначенного профиля размера, возвращаемое значение будет просто равно текущей вместимости рюкзака игрока.
API_AddBackpackCapacity
int API_AddBackpackCapacity(BasePlayer player, int amount)
Попытка увеличить вместимость рюкзака игрока на заданную величину, не выходя за пределы диапазона, определяемого профилем размера игрока (т. е. определяемого его backpacks.size.profile.* разрешениями). Для уменьшения вместимости рюкзака можно использовать отрицательное число. Если у игрока нет профиля размера, это не повлияет на результат. Возвращает вместимость рюкзака игрока после применения изменения.
API_SetBackpackCapacity
int API_SetBackpackCapacity(BasePlayer player, int amount)
Попытка установить вместимость рюкзака игрока на заданное значение, не выходя за пределы диапазона, определяемого профилем размера игрока (т. е. определяемого его backpacks.size.profile.* разрешениями). Если у игрока не назначен профиль размера, это не повлияет на результат. Возвращает вместимость рюкзака игрока после применения изменения.
API_GetBackpackItemAmount
int API_GetBackpackItemAmount(ulong backpackOwnerID, int itemId, ulong skinId = 0)
Возвращает количество указанного предмета в рюкзаке игрока. Возвращает 0, если у игрока нет рюкзака. Этот API более производительный, чем API_GetBackpackContainer, поскольку не требует создания контейнера рюкзака.
API_DropBackpack
DroppedItemContainer API_DropBackpack(BasePlayer player, List<DroppedItemContainer> collect = null)
Опустите рюкзак игрока на его текущее местоположение. Это можно использовать, например, чтобы рюкзак игрока опускался только в случае его смерти в зоне PvP.
Если указан список collect, то каждый выпавший из рюкзака контейнер будет добавлен в этот список. Это полезно, если в рюкзаке несколько страниц.
Примечание: это намеренно игнорирует разрешение игрока backpacks.keepondeath для обеспечения максимальной гибкости других плагинов, поэтому рекомендуется, чтобы другие плагины предоставляли аналогичное разрешение для исключения исключений.
API_EraseBackpack
void API_EraseBackpack(ulong backpackOwnerID)
Стирает содержимое рюкзака конкретного игрока.
Примечание: Это не может быть заблокировано с помощью CanEraseBackpack крючка.
API_GetBackpackOwnerId
ulong API_GetBackpackOwnerId(ItemContainer container)
- Возвращает Steam ID владельца рюкзака, если это
ItemContainerрюкзак. - Возвращается,
0если этоItemContainerне рюкзак.
API_MutateBackpackItems
int API_MutateBackpackItems(ulong ownerId, Dictionary<string, object> itemQuery, Dictionary<string, object> mutationRequest)
Находит и изменяет предметы в рюкзаке игрока. Возвращаемое значение — количество изменённых стопок предметов.
ownerId— Идентификатор Steam в рюкзаке игрока.itemQuery— Описывает элементы для поиска. Подробнее см. раздел «Запросы по элементам» ниже.mutationRequest— Описывает применяемые изменения. Поддерживает"ItemId"(int),"SkinId"(ulong) и"DisplayName"(string). По запросу могут быть добавлены дополнительные параметры. Примечание: изменениеItemIdследует выполнять только для эквивалентных типов предметов, например, костюма химзащиты Nomad на костюм химзащиты Arctic, иначе могут возникнуть непредсказуемые последствия.
Пример:
int itemsReskinned = Backpacks.Call<int>("API_MutateBackpackItems", basePlayer.userID,
// Find items with where `item.info.itemid == 1234567890`
new Dictionary<string, object>{ ["ItemId"] = 1234567890 },
// Change `item.skin` to `9876543210`
new Dictionary<string, object>{ ["SkinId"] = 9876543210 }
);
basePlayer.ChatMessage($"{itemsReskinned} item stacks were reskinned in the backpack.");
API_GetExistingBackpacks (УСТАРЕЛ)
Настоятельно рекомендуется, чтобы плагины не использовали API_GetExistingBackpacks, поскольку рюкзак может содержать несколько контейнеров, если в нём есть несколько страниц, и может содержать виртуальные представления контейнеров, к которым ещё не было доступа. Если вы считаете, что у вашего плагина есть веская причина для доступа к контейнерам рюкзака, пожалуйста, откройте тему в службе поддержки, чтобы обсудить ваш вариант использования.
Dictionary<ulong, ItemContainer> API_GetExistingBackpacks()
Возвращает все контейнеры рюкзаков, которые кэшируются в памяти плагина, с указанием идентификаторов Steam владельцев рюкзаков. Изначально это было сделано для того, чтобы плагины для очистки предметов могли определять, какие предметы находятся в рюкзаках, чтобы игнорировать их. Однако начиная с версии Backpacks 3.7.0 все плагины для очистки предметов должны автоматически поддерживаться.
API_GetBackpackContainer (УСТАРЕЛ)
Настоятельно рекомендуется, чтобы плагины не использовали API_GetBackpackContainer, поскольку рюкзак может содержать несколько контейнеров, если в нём есть несколько страниц, и может содержать виртуальные представления контейнеров, к которым ещё не было доступа. Если вы считаете, что у вашего плагина есть веская причина для доступа к контейнерам рюкзака, пожалуйста, откройте тему в службе поддержки, чтобы обсудить ваш вариант использования.
ItemContainer API_GetBackpackContainer(ulong backpackOwnerID)
Возвращает ссылку на базовый ItemContainer рюкзака игрока. Возвращает null, если у игрока фактически нет рюкзака (нет файла данных и нет рюкзака в памяти).
Примечания:
- Если контейнер не существует, он будет создан. Это может увеличить нагрузку на сервер, поэтому рекомендуется использовать этот API только в том случае, если другие методы API вам не подходят. Например, если вы хотите узнать только количество предметов в рюкзаке игрока, вы можете использовать
API_GetBackpackItemAmountдля подсчёта предметов без создания контейнера. - Вам следует избегать кэширования контейнера, поскольку несколько событий могут привести к замене или удалению базового контейнера рюкзака, что сделает кэшированную ссылку бесполезной.
Запросы к элементам
Несколько методов API, в том числе API_MutateBackpackItems поддерживают запросы по товарам. Запрос по товарам — это абстрактное описание интересующих вас товаров. Каждый запрос по товарам представляет собой Dictionary<string, object> и поддерживает указанные ниже ключи. Если запрос по товарам содержит несколько параметров, товар будет считаться подходящим, только если он соответствует всем параметрам.
"BlueprintId":int— сопоставление элементов, гдеitem.blueprintTargetравно указанному значению. Например, чтобы найти чертежи автоматической турели, укажите в этом параметре идентификатор автоматической турели."DisplayName":string— Сопоставлять элементы, гдеitem.nameравно этому значению (без учета регистра)."DataInt":int— Сопоставлять элементы, гдеitem.instanceData.DataIntравно этому значению."FlagsContain":Item.Flag— Сопоставление элементов, в которых битовая маскаitem.flagsсодержит все биты из предоставленной битовой маски. Это можно использовать для поиска элементов с одним или несколькими флагами, не обращая внимания на наличие дополнительных флагов."FlagsEqual":Item.Flag— сопоставление элементов, в которыхitem.flagsравно этому значению. Это можно использовать для поиска элементов, в которых есть все интересующие вас флаги без дополнительных флагов."ItemDefinition":ItemDefinition— сопоставление элементов, гдеitem.infoравно этому значению. Альтернатива"ItemId"."ItemId":int— соответствует элементам, гдеitem.info.itemidравно этому значению. Альтернатива"ItemDefinition"."IgnoreItem":Item— Предотвращает сопоставление по этому конкретному элементу."MinCondition":float— соответствует элементам, для которыхitem.conditionNormalizedбольше или равно этому значению. Этот параметр игнорируется, если элемент не поддерживает условие (согласноitem.info.condition.enabled)."RequireEmpty":bool— соответствует элементам, у которых нет дочернего содержимого (т. е.item.contents?.itemList?.Count— это0илиnull). Например, еслиtrue— оружие с насадкой не будет соответствовать, но оружие без насадки может соответствовать."SkinId":ulong— Сопоставлять элементы, гдеitem.skinравно указанному значению.
Концепция запросов к предметам существует потому, что плагин Backpacks не обязательно использует реальные предметы или контейнеры для рюкзака конкретного игрока или для конкретной страницы рюкзака игрока до тех пор, пока это не станет абсолютно необходимым (например, когда игрок откроет эту страницу). Запросы к предметам позволяют другим плагинам запрашивать, изменять и даже брать предметы из рюкзака, не беспокоясь о внутренних деталях реализации плагина Backpacks.
Крючки разработчика
Рюкзак — навес
object CanOpenBackpack(BasePlayer player, ulong backpackOwnerID)
- Вызывается, когда игрок пытается открыть рюкзак.
- Вызывается, когда режим сбора пытается автоматически поместить предметы в рюкзак. Результат кэшируется для каждого рюкзака на каждый кадр, чтобы снизить нагрузку на производительность.
- Вызывается, когда плагин Item Retriever пытается автоматически забрать предметы из рюкзака игрока. Результат кэшируется для каждого рюкзака на каждый кадр, чтобы снизить нагрузку на производительность.
Возврат false или a string предотвратит выполнение действия. Если игрок пытался открыть рюкзак (в отличие от использования «Собрать» или «извлечь») и string был возвращен, это string будет отправлено игроку в виде сообщения в чате.
OnBackpackOpened открыт
void OnBackpackOpened(BasePlayer player, ulong backpackOwnerID, ItemContainer backpackContainer)
- Вызывается, когда игрок успешно открывает рюкзак.
- Ответного поведения нет.
OnBackpackClosed
void OnBackpackClosed(BasePlayer player, ulong backpackOwnerID, ItemContainer backpackContainer)
- Вызывается, когда игрок закрывает рюкзак.
- Ответного поведения нет.
CanBackpackAcceptItem
bool CanBackpackAcceptItem(ulong backpackOwnerID, ItemContainer backpackContainer, Item item)
- Вызывается, когда игрок пытается переместить предмет в рюкзак.
- Возврат
falseпредотвращает перемещение товара.
Рюкзак CanDropBackpack
bool CanDropBackpack(ulong backpackOwnerID, Vector3 position)
- Вызывается, когда игрок умирает, пока для
"Drop on Death (true/false)"параметра установлено значениеtrue. - Возврат
falseпредотвращает падение рюкзака.
OnBackpackDropped сброшенный пакет
void OnBackpackDropped(ulong ownerId, List<DroppedItemContainer> droppedBackpackList)
- Вызывается после того, как рюкзак игрока был сброшен.
- Список
List<DroppedItemContainer>содержит все выпавшие из рюкзака контейнеры. В зависимости от того, сколько предметов находится в рюкзаке игрока, может выпасть несколько контейнеров. Обратите внимание, что этот список является общим и будет немедленно очищен после завершения вызова хука, поэтому, если вам нужно обработать контейнеры после вызова хука, вам следует скопировать содержимое списка в список, который вы контролируете.
Рюкзак CanEraseBackpack
bool CanEraseBackpack(ulong backpackOwnerID)
- Вызывается, когда игрок умирает, пока для
"Erase on Death (true/false)"параметра установлено значениеtrue. - Возврат
falseпредотвращает стирание рюкзака.
Дополнительные плагины для игры Rust можно найти в разделе: Rust плагины
