Как сделать коллекцию в стиме

Обновлено: 05.07.2024

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

Какие коллекции сейчас собирают дети?

На мой взгляд, если ребёнок находиться в дошкольном возрасте, то на его желание что-то коллекционировать оказывают взрослые люди, которые его окружают. Более 5-ти лет назад, наш дедушка на Новый Год подарил внуку карманные календарики, которые он сам лично собирал ещё с 1970 года. Их, на тот . Читать далее

Коллекция пуговиц в детском саду как оформить?

Одним из вариантов может быть оформление панно. Для этого можно взять большой лист плотной бумаги или ткани, нарисовать какой-то рисунок и выложить его с помощью пуговиц, подобрав пуговицу по размеру и цвету в соответствии с рисунком. Пуговицы на бумаге или ткани нужно тщательно закрепить . Читать далее

Что значит капсульная коллекция одежды?

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

Как узнать об действующих скидках в Steam?

Как можно пополнить кошелек в Steam в 2021 году?

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

Steam gift что это?

Это своего рода система подарков. Вы можете подарить игру своим друзьям. Для этого достаточно положить средства на счёт. При покупке выбрать "для друга",возможно написано по-другому. Дальше оплачиваете, человек принимает подарок.

Мастерская Steam — это система внутреннего хранилища и внешних веб-страниц, которая облегчает хранение, организацию, сортировку, оценку и загрузку контента для вашей игры или приложения.

Эта страница содержит подробную техническую информацию об интеграции Мастерской Steam с вашей игрой. Чтобы получить дальнейшую информацию и определения интеграции различных видов Мастерской, а также извлечь наибольшую пользу из инструментов Steam, ознакомьтесь с обзором Мастерской Steam прежде чем начать её интеграцию со своей игрой.

Типы Мастерской Steam, монетизация и рекомендации

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

Управление показом Мастерской Steam

Технический обзор

Чтобы добавлять и использовать контент, созданный сообществом, необходимо использовать API ISteamUGC, который можно найти в разделе SDK Steamworks. Представленные методы дадут возможность добавлять контент, который пользователи затем смогут увидеть в Мастерской Steam или внутри приложения.

SteamAPICall_t hSteamAPICall = SteamUGC()->CreateItem( SteamUtils()->GetAppID(), k_EWorkshopFileTypeMicrotransaction );

Активация ISteamUGC в игре или приложении

Перед тем, как предметы Мастерской можно будет загрузить на внутренний сервер Steamworks, необходимо определить настройку квот Steam Cloud и активировать API ISteamUGC.

Создание и загрузка контента

Процесс создания и загрузки контента Мастерской – это простой и воспроизводимый процесс, отражённый в графике ниже.

ISteamUGCFlow-CreateUpload-Web2.jpg

Создание предмета Мастерской

Загрузка предмета Мастерской

Примечания:

  • Ранее предметы Мастерской обозначались как отдельные файлы. С использованием ISteamUGC предмет Мастерской представляется в виде папки файлов.
  • Если предмету Мастерской необходимы дополнительные метаданные, затребованные использующим его приложением, вы можете прикрепить метаданные к предмету с помощью вызова ISteamUGC::SetItemMetadata. Эти метаданные могут быть возвращены в запросах без необходимости скачивать и устанавливать контент предмета.
    Ранее мы рекомендовали сохранять эти метаданные в файле внутри папки предмета Мастерской, что вы по-прежнему можете делать.

Пользование контентом

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

  • ISteamUGC::SubscribeItem - подписаться на предмет Мастерской. Скачивание и установка предмета произойдёт в максимально короткие сроки.
  • ISteamUGC::UnsubscribeItem - отменить подписку на предмет Мастерской. Это приведёт к удалению предмета при выходе из игры.
  • ISteamUGC::GetNumSubscribedItems - подсчитывает общее число предметов, на которые подписан пользователь, в игре или приложении.
  • ISteamUGC::GetNumSubscribedItems - подсчитывает общее число предметов в текущей игре, на которые подписан пользователь.

Получение уведомлений о внешних действиях подписки

  • Создайте обработчик обратного вызова для RemoteStoragePublishedFileSubscribed_t и RemoteStoragePublishedFileUnsubscribed_t
  • Структуры будут заполнены функцией ISteamRemoteStorage::PublishedFileId_t, которую затем можно использовать для доступа к информации о предмете Мастерской.
  • Структуры также содержат номер приложения ( m_unAppID ), связанного с предметом Мастерской. Его нужно сравнить с номером запущенного приложения, поскольку обработчик будет вызван для всех подписок на предметы независимо от приложения, запущенного в тот момент.

Установка предмета

Статус предмета Мастерской

  • ISteamUGC::GetItemState - выдаёт текущее состояние предмета Мастерской в клиенте.

Состояние загрузки предмета Мастерской

  • ISteamUGC::GetItemDownloadInfo - получает информацию о незавершённой загрузке предмета Мастерской с флагом k_EItemStateNeedsUpdate.

Инициация или увеличение приоритета выполнения загрузки предмета Мастерской

  • ISteamUGC::DownloadItem
    • Задайте значение bHighPriority как true , чтобы приостановить все текущие процессы загрузки и немедленно начать загружать данный предмет Мастерской.
    • Если возвращаемое значение — true , зарегистрируйтесь и дождитесь обратного вызова ISteamUGC::DownloadItemResult_t перед вызовом ISteamUGC::GetItemInstallInfo или доступом к предмету Мастерской на диске.
    • Если у пользователя нет подписки на предмет (к примеру, используется анонимный вход в игровой сервер), предмет Мастерской будет загружен и временно кэширован.
    • Если состояние предмета Мастерской ISteamUGC::EItemState равно k_EItemStateNeedsUpdate , можно вызвать ISteamUGC::DownloadItem, чтобы инициировать обновление. Не пытайтесь получить доступ к предмету Мастерской на диске, пока не будет отправлен обратный вызов ISteamUGC::DownloadItemResult_t.
    • Данный метод действует только для предметов Мастерской, созданных с помощью ISteamUGC. С предметами Мастерской, созданными с помощью устаревшей функции ISteamRemoteStorage, он не сработает.
    • Структура обратного вызова ISteamUGC::DownloadItemResult_t содержит номер приложения ( m_unAppID ), связанный с предметом Мастерской. Его нужно сравнить с номером запущенного приложения, поскольку обработчик будет вызван для всех загрузок предметов независимо от приложения, запущенного в тот момент.

    Получение информации о локальной копии предмета Мастерской

    • ISteamUGC::GetItemInstallInfo - получает информацию о текущем установленном контенте на диске для предметов Мастерской с флагом k_EItemStateInstalled.

    Уведомление при установке или обновлении предмета Мастерской

    Запрос контента

    Интерфейс ISteamUGC предлагает гибкий метод организации различных видов пользовательского контента в Steam (например, предметы Мастерской, скриншоты, видео и пр.).

    ISteamUGCFlows-QueryingContent-web2.jpg

    1. Создайте обработчик результата вызова для SteamUGCQueryCompleted_t.
    2. Существует несколько методов для создания запроса в зависимости от требуемого сценария: запрос по контенту, связанному с пользователем, запрос всего контента или запрос деталей контента, идентификаторами которого вы обладаете.
      • ISteamUGC::CreateQueryUserUGCRequest - запрос контента, связанного с пользователем. Его также можно использовать для перечисления пользовательского контента, на который подписан пользователь.
      • ISteamUGC::CreateQueryAllUGCRequest - запрос всего соответствующего пользовательского контента. Его можно использовать для перечисления всего доступного пользовательского контента для вашего приложения.
      • ISteamUGC::CreateQueryUGCDetailsRequest - запрос информации об определённых предметах Мастерской.
    3. Задайте настройки запроса соответствующим образом, вызвав методы установок параметров:
      • Запрос информации о пользовательском контенте, которым обладает пользователь:
        • ISteamUGC::SetCloudFileNameFilter - возвращает только предметы с определённым названием файла в обрабатываемом запросе пользовательского контента.
      • Запрос информации обо всём пользовательском контенте:
        • ISteamUGC::SetMatchAnyTag - определяет, возвращать ли предметы при наличии одной или более соответствующих меток, а также должны ли все метки в обрабатываемом запросе пользовательского контента совпадать.
        • ISteamUGC::SetSearchText - определяет строку, с которой должны совпадать название или описание предмета в обрабатываемом запросе пользовательского контента.
        • ISteamUGC::SetRankedByTrendDays - определяет, будет ли обновлена очерёдность результатов в зависимости от предпочтения рейтинга предмета над сроком его пребывания в обрабатываемом запросе пользовательского контента.
      • При запросе любого из типов пользовательского контента
        • ISteamUGC::AddRequiredTag - добавляет требуемую метку к обрабатываемому запросу пользовательского контента. Послужит лишь возврату пользовательского контента с определённой меткой.
        • ISteamUGC::AddExcludedTag - добавляет исключённую метку к обрабатываемому запросу пользовательского контента. Послужит лишь возврату пользовательского контента без определённой метки.
        • ISteamUGC::AddRequiredKeyValueTag - добавляет требуемую метку ключ-значение к обрабатываемому запросу пользовательского контента. Послужит возврату лишь предметов Мастерской с ключом = [param]pKey[/param] и значением = [param]pValue[/param].
        • ISteamUGC::SetReturnOnlyIDs - определяет возвращение только идентификаторов вместо подробной информации по обрабатываемому запросу пользовательского контента. Может пригодиться, когда не требуется вся информация (например, если вам нужны лишь идентификаторы предметов в списке желаемого пользователя).
        • ISteamUGC::SetReturnKeyValueTags - определяет возвращение меток ключ-значение для предметов в обрабатываемом запросе пользовательского контента.
        • ISteamUGC::SetReturnLongDescription - определяет возвращение полного описания для предметов в обрабатываемом запросе пользовательского контента.
        • ISteamUGC::SetReturnLongDescription - определяет возвращение указанных разработчиком метаданных для предметов в обрабатываемом запросе пользовательского контента.
        • ISteamUGC::SetReturnLongDescription - определяет возвращение идентификаторов для дочерних элементов предметов в обрабатываемом запросе пользовательского контента.
        • ISteamUGC::SetReturnKeyValueTags - определяет возвращение дополнительных изображений или видео, привязанных к предметам в обрабатываемом запросе пользовательского контента.
        • ISteamUGC::SetReturnTotalOnly - определяет возвращение лишь общего числа совпадающих предметов в обрабатываемом запросе пользовательского контента. -- При вызове ISteamUGC::SteamUGCQueryCompleted_t сами предметы возвращаться не будут.
        • ISteamUGC::SetLanguage - определяет язык возвращения названия и описания для предметов в обрабатываемом запросе пользовательского контента.
        • ISteamUGC::SetAllowCachedResponse - определяет возвращение из кэша результатов обрабатываемого запроса пользовательского контента на определённое время.
    4. Отправьте запрос в Steam с помощью ISteamUGC::SendQueryUGCRequest, который вызовет обработчик результата вызова ISteamUGC::SteamUGCQueryCompleted_t, созданный в пункте 1 пошаговых инструкций.
    5. В обработчике результата вызова для ISteamUGC::SteamUGCQueryCompleted_t вызовите ISteamUGC::GetQueryUGCResult, чтобы получить информацию для каждого возвращённого предмета.

    • ISteamUGC::GetQueryUGCPreviewURL - находит ссылку на изображение для предпросмотра для отдельного предмета Мастерской после получения результата вызова запроса информации о пользовательском контенте.
    • ISteamUGC::GetQueryUGCMetadata - находит установленные разработчиком метаданные отдельного предмета Мастерской после получения результата вызова запроса информации о пользовательском контенте.
    • ISteamUGC::GetQueryUGCChildren - находит идентификаторы дочерних элементов отдельного предмета Мастерской после получения результата вызова запроса информации о пользовательском контенте.
    • ISteamUGC::GetQueryUGCMetadata - находит различные данные статистики отдельного предмета Мастерской после получения результата вызова запроса информации о пользовательском контенте.
    • ISteamUGC::GetQueryUGCNumAdditionalPreviews and ISteamUGC::GetQueryUGCAdditionalPreview - находит информацию о дополнительном предпросмотре, связанном с отдельным предметом Мастерской, после получения результата вызова запроса информации о пользовательском контенте.
    • ISteamUGC::GetQueryUGCNumAdditionalPreviews и ISteamUGC::GetQueryUGCAdditionalPreview - находит информацию о метке ключ-значение, связанной с отдельным предметом Мастерской, после получения результата вызова запроса информации о пользовательском контенте.

    Просмотр результатов

    Каждый запрос может возвратить до 50 результатов. Постраничного просмотра большего количества результатов можно добиться посредством создания запроса, увеличивающего параметр unPage , который должен начинаться с 1.

    Отслеживание времени в игре

    Чтобы отслеживать время в игре предметов Мастерской, вызовите функциюISteamUGC::StartPlaytimeTracking с идентификаторами предметов, которые хотите отслеживать. Когда предметы будут удалены из игры, вызовите функцию ISteamUGC::StopPlaytimeTracking с идентификаторами предметов, отслеживание которых хотите прекратить, или функцию ISteamUGC::StopPlaytimeTrackingForAllItems, чтобы прекратить отслеживание времени в игре для всех предметов одновременно.
    Отслеживание времени в игре автоматически прекратится, когда закроется ваше приложение.

    • k_EUGCQuery_RankedByPlaytimeTrend - сортировка по общему времени в игре в период популярности в порядке убывания (установленная с помощью функции ISteamUGC::SetRankedByTrendDays)
    • k_EUGCQuery_RankedByTotalPlaytime - сортировка по общему времени в игре за всё время в порядке убывания.
    • k_EUGCQuery_RankedByPlaytimeTrend - сортировка по времени в игре в среднем в период популярности в порядке убывания (установленная с помощью функции ISteamUGC::SetRankedByTrendDays)
    • k_EUGCQuery_RankedByLifetimeAveragePlaytime — сортировка по среднему времени, проведённому в игре, в порядке убывания.
    • k_EUGCQuery_RankedByPlaytimeSessionsTrend - сортировка по числу игровых сессий в период популярности в порядке убывания (установленная с помощью функции ISteamUGC::SetRankedByTrendDays)
    • k_EUGCQuery_RankedByLifetimePlaytimeSessions - сортировка по числу игровых сессий за всё время в порядке убывания.

    Удаление контента Мастерской

    Чтобы удалить предмет Мастерской, вызовите функцию ISteamUGC::DeleteItem. Пожалуйста, помните, предмет удаляется, не спрашивая пользователя, и это действие нельзя отменить.

    Пример интеграции игры SpaceWar в Steamworks

    • CSpaceWarClient::LoadWorkshopItem демонстрирует проверку информации о том, загружен ли предмет Мастерской и установлен ли он на диске, а также запрос данных о предмете с помощью ISteamRemoteStorage::PublishedFileId_t
    • CSpaceWarClient::LoadWorkshopItems демонстрирует получение списка предметов Мастерской, на которые подписан текущий пользователь приложения SpaceWar
    • CSpaceWarClient::OnWorkshopItemInstalled демонстрирует обработчик обратного вызова для ISteamUGC::ItemInstalled_t

    Правовая информация о Мастерской

    Веб-API

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

    Выделенные игровые серверы

    • Игровому серверу понадобится информация дескриптора PublishedFileId_t, чтобы запросить предмет Мастерской. Данные могут быть предоставлены клиентами игры или установлены администраторами серверов. Затем потребуется вызвать функцию ISteamUGC::DownloadItem, чтобы получить временную копию предмета Мастерской.
    • Далее можно сделать вызов ISteamUGC::GetItemInstallInfo для получения информации о местоположении и использовании предмета Мастерской.
    • Ознакомьтесь с разделом Установка предмета выше, чтобы узнать больше об этих методах API.

    Интеграция SteamCmd

    Наряду с API ISteamUGC инструмент командной строки steamcmd.exe можно использовать для создания и обновления предметов Мастерской в целях тестирования. Его необходимо использовать только для тестирования, поскольку от пользователя потребуется ввести свои данные аккаунта Steam (чего мы пытаемся избежать).

    Чтобы создать новый предмет Мастерской Steam с использованием steamcmd.exe, необходимо открыть новый файл в формате .vdf. .vdf-файл — это обычный текстовый файл, содержащий следующие ключи.

    • Ключи соотносятся с различными методами ISteamUGC::SetItem[. ]. Подробная информация об этом процессе представлена в разделе выше.
    • Показанные значения предоставлены только в качестве примеров и должны быть изменены соответствующим образом.
    • Для создания нового предмета appid должен быть установлен, а publishedfileid должен быть либо не установлен, либо установлен на 0 .
    • Чтобы обновить существующий предмет, необходимо установить как appid , так и publishedfileid .
    • Оставшиеся пары ключ-значение должны входить в .vdf-файл, если ключ нужно обновить.

    Если команда выполнена успешно, значение publishedfileid в .vdf-файле будет автоматически обновлено, чтобы содержать идентификатор предмета Мастерской. Таким образом, последующие вызовы с помощью steamcmd.exe того же .vdf-файла будут способствовать не созданию, а обновлению предмета.

    Ошибки и ведение журнала

    • Steam\logs\Workshop_log.txt — журнал всех передач, происходящих во время скачивания
      и установки предмета Мастерской.
    • Steam\workshopbuilds\depot_build_.log — журнал всех действий во время загрузки и обновления предмета Мастерской.
    • ISteamUGC::SteamUGCQueryCompleted_t, ISteamUGC::CreateItemResult_t и ISteamUGC::SubmitItemUpdateResult_t содержат переменные EResult, которые можно проверить.

    Частые вопросы

    В: Может ли отдельное приложение опубликовать контент в Мастерской моей игры?

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

    После опубликования настроек приложения редактирующее приложение сможет опубликовать контент в Мастерской основного приложения.

    Steamworks — это набор инструментов и служб от Valve, позволяющих настроить и поддерживать игру в Steam.

    • Ответы 2
    • Создано 02.09.2020, 15:36:07
    • Последний ответ 24.07.2021, 18:39:31
    • Просмотры 3616

    Лучшие авторы в этой теме

    Популярные дни

    Лучшие авторы в этой теме

    Популярные дни

    Кецаль

    Кецаль

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


    Steam

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

    • GameSubject � 2017 Вопросы и ответы для геймеров
      Игровое сообщество, помощь игрокам

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

    Спецаильно для наших уважаемых посетителей, мы собираем лучшие советы и рекомендации которые помогут справится с той или иной проблемой. Как мы уже сказали раньше, даже если вы столкнулись с самыми редкими вылетами, даже если при запуске игры процесс находится в задачах но ничего не происходит, мы все равно найдем оптимальное решение которое подойдет каждому. Ах да, мы забыли упомянуть о самом главном, часто любители поиграть в 3D игры сталкиваются с такой ситуацией когда при попытке зайти в игровое приложение, у них просто происходит вылет или крэш на рабочий стол - с этим мы тоже знаем как боротся.

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

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