Как запросить возврат денег в стиме за подарок

Мало кто из геймеров не слышал про Steam. Первое появление площадки приходится аж на 2002 г. На ней крупные издатели могли безопасно распространять игры.

Спустя десяток лет появился Steam Greenlight, который дал возможность попасть на площадку не только крупным студиям, но и обычным инди-разработчикам. Пользователи сами выбирали, какие игры они хотят видеть на площадке. Но из-за появления массы второсортных игр такую систему пришлось закрыть. На место Greenlight пришел Direct. По словам разработчиков, такая система должна сделать процесс публикации упорядоченным, прозрачным и доступным для новых разработчиков со всего света.

За почти два десятилетия Steam перестал быть просто площадкой цифрового распространения. В нём появилась внутренняя экономика, достижения, коллекционные карточки, инвентарь. Всё это необходимо для повышения вовлечённости игрока. Естественно, нужно было дать возможность разработчикам как-то интегрировать эти составляющие Steam в свои игры. Для этого был создан Steamworks.

История Steam как многопользовательской платформы началась с CS 1.6. Мультиплеер всегда был одним из ключевых аспектов в процессе игры. Площадка даёт игрокам возможность связываться между собой по одноранговой сети (P2P), либо использовать выделенные игровые серверы. Для первого случая, естественно, необходим матчмейкинг — процесс объединения игроков в игровую сессию. Набор игроков происходит в лобби, где игроки могут обсудить различные игровые аспекты, выбрать персонажей и карту. Steamworks даёт исчерпывающее API для работы с матчмейкингом.

Примечание Оригинальный Steamworks работает на C++. В этой же статье будет идти речь о C# — Steamworks.NET. Это полноценная обёртка официального Steamworks. У Steam есть полная документация для матчмейкинга.

Установка (для Unity3D)

  1. Скачайте из репозитория Steamworks.NET актуальную версию SDK.
  2. Переместите всё содержимое в папку Assets.
  3. Запустите проект в Unity3D. После запуска в корне проекта создастся файл steam_appid.txt. В этом файле должен храниться ID вашего приложения в Steam. Если такового пока нет — можно использовать стандартный ID 480. Он принадлежит игре Spacewar.
  4. Перезагрузите Unity3D, чтобы изменения файла вошли в силу.
  5. Обратите внимание на наличие файла SteamManager.cs. Он выполняет несколько крайне важных функций. Если файла нет, то его всегда можно найти в репозитории.

Что ещё можно подарить?

Дарить в Steam можно не только игры, но и внутриигровые предметы. Например, карточки или классные скины, которые в некоторых игрушках стоят довольно много. Например, в Dota 2 и Counter Strike: Global Offensive существует много лута, который продаётся за большие деньги. Если он есть у вас, при помощи него вы можете сделать другу приятный подарок.

  1. Заходим на страничку игрока.
  2. Нажимаем на кнопку «Ещё», которая находится рядом с «Отправить сообщение».
  3. Выбираем «Предложить обмен».
  4. Выбираем нужную вещь.
  5. Соглашаемся с тем, что хотим отдать её в подарок.
  6. Отправляем.

Когда друг зайдёт в сеть и увидит такое предложение обмена, ему останется только нажать «Подтвердить». Если вы хотите сделать презент геймеру, которого нет у вас в друзьях, что, конечно, маловероятно, вам нужна его trade-ссылка. Перейдя по ней, можно также обмениваться лутом с этим игроком.

Введение

Ключевую роль в Steamworks играют Callback и CallResult. Обратные вызовы позволяют игре асинхронно работать со Steam.

Callback вызывается при каких-либо событиях в Steam. Это могут быть события получения сообщения в чате, изменение списка игроков лобби или даже открытие игрового оверлея. Рассмотрим следующий код, взятый с вики Steamworks.NET:

public class SteamScript : MonoBehaviour { Callback m_GameOverlayActivated; private void OnEnable() { if (SteamManager.Initialized) m_GameOverlayActivated = Callback.Create(OnGameOverlayActivated); } private void OnGameOverlayActivated(GameOverlayActivated_t pCallback) { if(pCallback.m_bActive != 0) Debug.Log(«Оверлей Steam открыт»); else Debug.Log(«Оверлей Steam закрыт»); } }

Вначале нужно создать экземпляр Callback. В данном случае это событие открытия/закрытия оверлея. Callback нужно инициализировать, привязав к нему функцию. Это стоит делать только убедившись, что Steam уже инициализирован: SteamManager.Initialized. Для этого лучше всего подойдёт метод OnEnable(), который вызывается сразу при старте игры.

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

CallResult очень похож на Callback. Разница в том, что CallResult является результатом вызова определённого метода. Это может быть, к примеру, результат создания лобби или подключения к нему. Рассмотрим код с вики:

public class SteamScript : MonoBehaviour { private CallResult m_NumberOfCurrentPlayers; private void OnEnable() { if (SteamManager.Initialized) m_NumberOfCurrentPlayers = CallResult.Create(OnNumberOfCurrentPlayers); } private void Update() { if(Input.GetKeyDown(KeyCode.Space)) { SteamAPICall_t handle = SteamUserStats.GetNumberOfCurrentPlayers(); m_NumberOfCurrentPlayers.Set(handle); Debug.Log(«Вызван метод GetNumberOfCurrentPlayers()»); } } private void OnNumberOfCurrentPlayers(NumberOfCurrentPlayers_t pCallback, bool bIOFailure) if (pCallback.m_bSuccess != 1 || bIOFailure) { Debug.Log(«Возникла ошибка при обработке NumberOfCurrentPlayers.»); else Debug.Log(«Количество игроков в игре: » + pCallback.m_cPlayers); } }

Как и в случае с Callback, тут сначала нужно создать экземпляр CallResult и инициализировать его. В методе Update() идёт проверка на нажатие пробела. По нажатию будет отправлен запрос на получение количества игроков. Как и в прошлом случае, после получения ответа вызывается указанный метод, которому будет передан результат.

Обратите внимание, что при работе с CallResult в сигнатуре метода всегда будет bool bIOFailure.

Для работы Callback и CallResult нужно циклически вызывать метод SteamAPI.RunCallbacks().

Примечание Вызов этого метода уже реализован в SteamManager.cs.

Пошаговая инструкция возврата денег с игры Steam (Стим)

Представители Steam, дорожа своей репутацией, удовлетворили практически все заявки своих пользователей на возврат денег за No Man’s Sky. Очевидно, что большинство недовольных успело провести за ней значительно более 2 часов, ведь в играх подобного жанра быстро разобраться просто невозможно. Кроме того, в Steam пообещали поступать так каждый раз, когда разработчики будут вводить покупателей в заблуждение до официального релиза. Для этого от пользователя потребуется лишь отправить соответствующую заявку на help.steampowered.com.

Деньги на внутренний кошелек Steam (Стим) будут возвращены вам без комиссии, только если вы потеряли какие-то проценты при пополнении аккаунта, они вам компенсированы не будут, и это – разумеется верно. При выводе средств на карту с вас может быть снята комиссия за использование платежной системы PayPal, а вот пользователям из стран Евросоюза еще в 2013 году деньги на VISA и Mastercard возвращались в полном объеме без лишних вычетов. По всей видимости, аналогичная практика функционирует до сих пор. Сегодня существует немало сайтов, где игры для Steam можно приобрести по крайне низким ценам. На таких площадках происходят сделки между экономными геймерами и предприимчивыми посредниками.

Первые ищут «дармовщины», а вторые торгуют подарками либо софтом, который был ранее куплен ими по акции. Некоторые из этих сайтов заманивают не только ценами, но и обещаниями произвести возврат средств любым удобным для вас методом. Учитывайте, что их деятельность не совсем легальна, поэтому они устанавливают собственные правила для совершения сделок и, пользуясь услугами подобных порталов, вы рискуете нарваться на мошенников. Пожалуй, в 9 случаях из 10 покупателю не удается вернуть деньги за не подошедший ему товар, если он был куплен на подобных «онлайн-барахолках». Необходимо отправить заявку на возврат средств по стандартной процедуре согласно инструкции Steam.

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

Но для того, чтобы снизить риск злоупотреблений со стороны пользователей, Steam дает им возможность «попробовать игру в течение строго ограниченного срока. Зато No Man’s Sky удостоилась исключения – за нее деньги были возвращены практически всем желающим и это не зависело от проведенного времени в игре. Данный случай вполне может стать прецедентом.

Продукт, созданный компанией Hello Games, оказался для многих геймеров самым крупным разочарованием 2020 года. Интригующие заявления разработчиков в сочетании с удачной рекламной кампанией сделали свое дело: за первую неделю с учетом предзаказов было продано более 700 тысяч копий. Сразу выяснилось, что в No Man’s Sky нет обещанного мультиплеера, а без него эта игра представляет собой нечто унылое и однообразное, да еще и с некачественной графикой.

Уже вскоре, через 2 недельки после релиза, среднее число пользователей, одновременно играющих в нее, сократилось на 90%, упав до отметки в 19 000. Но теперь даже после того, как подарочная копия была активирована, есть возможность вернуть потраченную на нее сумму. Для этого получатель подарка должен инициировать процедуру возврата, однако деньги придут на счет не ему, а дарителю. Что же касается не активированных подарочных копий, то возврат их стоимости осуществляется по стандартной процедуре.

В обоих случаях действует стандартное правило – не более 2 недель с момента покупки и менее 120 минут общего срока эксплуатации игры.Как запросить возврат денег в стиме за подарок

Подготовка

Для работы с матчмейкингом вам понадобятся некоторые структуры:

struct LobbyMetaData { public string m_Key; public string m_Value; } struct LobbyMembers { public CSteamID m_SteamID; public LobbyMetaData[] m_Data; } struct Lobby { public CSteamID m_SteamID; public CSteamID m_Owner; public LobbyMembers[] m_Members; public int m_MemberLimit; public LobbyMetaData[] m_Data; }

Каждое лобби имеет свои мета-данные: название карты или же режим игры. Нет каких-либо шаблонных данных — всё остаётся за разработчиком. Для работы с мета-данными понадобится структура LobbyMetaData. Она представляет собой стандартную пару ключ-значение.

В лобби каждый игрок представляет из себя структуру LobbyMembers, главным свойством которой является m_SteamID — уникальный ID пользователя Steam.

Структура Lobby описывает непосредственно лобби, а точнее — самые необходимые свойства, такие как:

  • уникальный ID лобби;
  • ID владельца лобби;
  • список игроков в лобби;
  • максимальное количество игроков в лобби;
  • мета-данные лобби.

Также потребуются некоторые экземпляры Callbacks и CallResult, а именно:

CallResult m_LobbyEnterCallResult; // При входе в лобби CallResult m_LobbyMatchListCallResult; // При получении списка лобби CallResult m_LobbyCreatedCallResult; // При создании лобби Callback m_LobbyChatMsgCallResult; // При получении сообщения в лобби Callback m_LobbyChatUpdateCallResult; // При изменении списка игроков в лобби (когда какой-либо игрок входит в лобби или выходит) Callback m_LobbyDataUpdateCallResult; // При обновлении мета-данных лобби

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

void OnEnable() { if (!SteamManager.Initialized) return; m_LobbyEnterCallResult = CallResult.Create(OnLobbyEnter); m_LobbyMatchListCallResult = CallResult.Create(OnLobbyMatchList); m_LobbyCreatedCallResult = CallResult.Create(OnLobbyCreated); m_LobbyChatMsgCallResult = Callback.Create(OnLobbyChatMsg); m_LobbyChatUpdateCallResult = Callback.Create(OnLobbyChatUpdate); m_LobbyDataUpdateCallResult = Callback.Create(OnLobbyDataUpdate); } void OnLobbyEnter(LobbyEnter_t pCallback, bool bIOFailure) { // При входе в лобби… } void OnLobbyMatchList(LobbyMatchList_t pCallback, bool bIOFailure) { // При получении списка лобби… } void OnLobbyCreated(LobbyCreated_t pCallback, bool bIOFailure) { // При создании лобби… } void OnLobbyChatMsg(LobbyChatMsg_t pCallback) { // При получении сообщения в лобби… } void OnLobbyChatUpdate(LobbyChatUpdate_t pCallback) { // При изменении списка игроков в лобби… } void OnLobbyDataUpdate(LobbyDataUpdate_t pCallback) { // При обновлении мета-данных лобби… }

Процедура возврата денег в Steam

Шаг No1. В меню сверху выберите пункт «Справка». Сверху выпадающего списка будет раздел службы поддержки — нажмите на него.

Шаг No2. На отобразившейся странице сверху будет перечень недавно приобретенных игр. Выберите интересующий вас продукт и вариант из списка «Товар не оправдал ожиданий». Шаг No3. Затребуйте возврат денег, нажав на пункт меню с одноименным названием. На следующей странице вам предложат выбрать одну из нескольких причин или написать собственное примечание. Сделайте это.

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

Получение списка лобби

Чтобы получить список существующих лобби, используйте:

m_LobbyMatchListCallResult.Set(SteamMatchmaking.RequestLobbyList());

После получения ответа вызовется метод OnLobbyMatchList. Методу передаётся только одно число — количество лобби. Его можно взять из переменной pCallback.m_nLobbiesMatching.

Внимание Steamworks может вернуть в списке не более 50 лобби.

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

for (int i = 0; i < pCallback.m_nLobbiesMatching; i++) RenderLobby(SteamMatchmaking.GetLobbyByIndex(i));

Вам нужно будет создать какой-нибудь метод отображения списка лобби (RenderLobby), который будет принимать ID лобби:

Lobby lobby = new Lobby(); lobby.m_SteamID = steamIDLobby; // ID, который передавался методу lobby.m_Owner = SteamMatchmaking.GetLobbyOwner(steamIDLobby); lobby.m_Members = new LobbyMembers[SteamMatchmaking.GetNumLobbyMembers(steamIDLobby)]; lobby.m_MemberLimit = SteamMatchmaking.GetLobbyMemberLimit(steamIDLobby); int DataCount = SteamMatchmaking.GetLobbyDataCount(steamIDLobby); lobby.m_Data = new LobbyMetaData[DataCount]; for (int i = 0; i < DataCount; i++) // Получение всех мета-данных лобби { bool lobbyDataRet = SteamMatchmaking.GetLobbyDataByIndex(steamIDLobby, i, out lobby.m_Data
.m_Key, Constants.k_nMaxLobbyKeyLength, out lobby.m_Data.m_Value, Constants.k_cubChatMetadataMax); if (!lobbyDataRet){ Debug.LogError(«Ошибка при получении мета-данных лобби»); continue; } } // // Отображение лобби в списке… //
Потом нужно дать возможность пользователю выбрать лобби, к которому он захочет подключиться, либо создать своё.

История и F.A.Q. по Steam

История и F.A.Q. по Steam

История и F.A.Q. по Steam

Для начало! Пост был написан лично мной и информация собрана и переведена мной и не кем другим.

История и F.A.Q. по Steam

История создания.

Мало кому интересно, поэтому отправил под кат, всё это мне сказала старая добрая «Wiki».

Сервис пришел на смену более ранней системе WON, которая была более узкоспециализированным сервисом и не являлась системой распространения данных по интернету (цифровой дистрибуции). История Steam началась в 1999 году с успехом Team Fortress Classic и Counter-Strike. Ещё до выхода финальных версий эти игры стали одними из самых популярных многопользовательских игр. В то время популярность игр достигала максимум 2-3 тысяч активных игроков. Число игроков TFC и CS спустя пару лет возросло в несколько раз. В результате, Valve приступила к пересмотру традиционных методов организации онлайн-игр. Необходимо было решить проблемы и в свете дальнейшего наплыва игроков. В основном, это касалось автоматического обновления, совершенствования анти-чит системы. Когда разработчики работали над этой системой, к ним пришла идея использовать эту платформу для продажи игр. Реализация данной идеи представилась слишком дорогой, поэтому в Valve искали сотрудничества с различными компаниями, такими как Amazon, Yahoo и Cisco, предлагая данный подход, но все отделывались обещаниями. Поскольку система была так необходима Valve, компания решила, что будет сама осуществлять эту идею.

Интерфейс Steam первой версии

Steam впервые был представлен на Game Developers Conference 22 марта 2002 года

Версия Steam 1.0 стала доступна во время бета-тестирования Counter-Strike 1.4. Установка Steam была обязательна для бета-тестеров CS 1.4, но являлась лишь дополнительным компонентом для финальной версии.

В Steam 2.0 был изменён пользовательский интерфейс и интегрирована система мгновенного обмена сообщениями с друзьями.

В конце 2003 года Valve объявила о своих планах закрытия WON и обязательной установки Steam для онлайн-игр Valve. Это вызвало гнев многих игроков, которые затем создали WON2 в качестве замены.

26 июля 2004 года World Opponent Network была закрыта и заменена на Steam.

В сентябре 2004 года стало известно о суде Vivendi Games с Valve. Компания утверждала, что распространение Half-Life 2 через Steam нарушило издательский контракт. Vivendi проиграла дело, и ей было запрещено продолжать лицензирование игр Valve для Интернет-кафе. Позже контракт между этими двумя компаниями был расторгнут, и Valve выбрали Electronic Arts в качестве нового розничного издателя.

В ноябре 2004 года Valve выпустила Half-Life 2 — первую однопользовательскую игру, требующую Steam клиент в обязательном порядке.

Под конец 2005 года в Steam впервые появились игры сторонних разработчиков: Rag Doll Kung Fu (12 октября) и Darwinia (14 декабря).

В августе 2006 года начался переход к Steam 3.0. В начале был изменён дизайн официального сайта, а затем, в декабре, и внешний вид программы. Следующий шаг последовал в августе 2007 года — первая бета-версия Steam Community, релиз которой состоялся в сентябре.

В начале 2008 года Valve сделали платформу Steam более открытой, выпустив Steamworks. Этот пакет предоставляет разработчикам и издателям функциональность Steam (или его частей) бесплатно. Это касается, прежде всего, статистики и DRM функций. Причина этого шага — укрепить рынок компьютерных игр и более широкого распространить Steam. Первая игра, использующая эти возможности, появилась в середине февраля. Это была музыкальная аркада Audiosurf. Она распространяется через Steam и использует Steamworks для интеграции со Steam Community и системой достижений.

4 октября 2008 года через Steam стали доступны первые пять модификаций для Source-игр. (раннее все модификации необходимо было скачивать и устанавливать вручную). А в начале февраля 2009 к ним прибавилось еще 2 мода.

16 марта 2009 года в SteamWorks была реализована новая функция для разработчиков игр под названием Downloadable Content (DLC). Это позволяет разработчикам публиковать дополнительный внутриигровой контент по небольшим ценам (около 2—5$), что, по сути, является аналогом микротранзакций. Первыми играми с поддержкой DLC стали The Maw и Far Cry 2.

Steam (русск. пар) — своеобразная игра слов, используемая компанией-разработчиком. Название фирмы Valve переводится с английского языка как клапан, кроме этого, «трубопроводная» тематика встречается и в названиях прочих разработок компании: Steamworks (русск. паровые работы), Steam Cloud (русск. облако пара) и Source (русск. источник).

Влияние на игровую индустрию

Появление Steam сильно повлияло на разработки инди-игр, разработчики которых зачастую не могли найти себе издателя. Распространение нестандартных игр на дисках с точки зрения издателей — рискованный шаг, ведь заранее неизвестно, как отнесутся к игре покупатели.

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

После того, как Valve начала распространять через Steam игры Darwinia и Red Orchestra, их разработчики получили сразу несколько предложений от розничных издателей, так как эти игры продемонстрировали свою востребованность.

Также распространение Steam повлияло и на цифровую дистрибуцию в целом. Сразу после выхода Half-Life 2 (требующей обязательной установки Steam), этот сервис привлёк внимание множества игроков. Steam стал первым удачным проектом в этой области (Около 25 % копий Half-Life 2 было продано через Steam). Вскоре после этого о создании своих подобных сервисов заявили несколько крупных компаний, таких как Sega, EA Games и 3D Realms . Более мелкие компании, такие как Stream Theory и Virgin Games, также анонсировали свои проекты.

Однако некоторые компании, в конечном итоге, не довели собственные проекты до завершения. Sega стала продавать свои игры в Steam, а сервис Triton компании Game xStream, распространявший игры 3D Realms, был закрыт. (игры 3D Realms также перешли в Steam). Electronic Arts тоже стали распространять некоторые свои игры через Steam, несмотря на свой сервис EA Store (помимо цифровой дистрибуции этот сервис предназначен и для онлайн продаж игр на физических носителях).
Что такое Steam. И с чем его едят…
История и F.A.Q. по Steam

Скачать Steam можно тут (1,5Мб). Но учтите, что это, по сути, просто небольшая программа, которая пропишет Steam в системе. Все необходимые для своей работы файлы Steam скачает при первом запуске в режиме обновления.

Если вы хотите знать о Steam всё, вам к Wiki-порталу Службы Поддержки Steam

Правила, которые надо помнить при использовании системы Steam

1) Никогда не сообщайте никому ваш логин и пароль от Steam-аккаунта.

Даже если вам на почту придёт письмо от Службы поддержки Steam, даже если вы получите сообщение в самом Steam’е, даже если ваш лучший друг скажет, что надо зайти по адресу типа steamnewpassword.сom и написать там свой старый пароль — помните, что всё это обман.

2) Запишите в любом удобном для вас месте E-Mail, на который зарегистрирован ваш Steam-аккаунт.

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

3) 90% всех проблем с обновлением Steam-игр возникают из-за медленной скорости Интернета.

Помните, что пиковая нагрузка в Сети бывает в вечерние часы (19:00 ~ 23:00), ведь многие в это время возвращаются с работы или учёбы. Соответственно, если вы не можете обновить какую-либо игру, то остаётся просто ждать. Владельцам низкоскоростных соединений рекомендуется оставлять загрузку обновлений на ночь, когда линии связи максимально свободны.

Сам FAQ

1) Steam и прокси-сервер

Прежде всего: в системе Steam отсутствуют какие-либо настройки, касающиеся его соединения с сервером, поэтому быстро и легко настроить Steam для работы с прокси не получится. Смиритесь с этим. составила FAQ (ссылка на него есть выше), в котором указано, что в определённых случаях всё же можно заставить работать Steam через прокси-сервер.

2) Могу ли я дать поиграть диск другу?

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

3) Как избежать обновления Steam-игр в будущем.

Прежде всего: обойти обновление при первом запуске игры нельзя. Если же вы хотите отключить обновление для конкретной игры уже после первого ее запуска, то это можно сделать в её Свойствах, но учтите, что в последнее время наблюдается неприятный глюк: даже если выбрать пункт «Не обновлять игру автоматически», после ее запуска он вновь переключится в прежнее состояние , поэтому необходимо перейти в режим офф-лайна. Выберите в меню Файл пункт Переход в автономный режим…(вверху главного окна Steam’а):

История и F.A.Q. по Steam

История и F.A.Q. по Steam

4) Как установить Steam-игру, если нет Интернета.

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

5) Что делать, если в игре не работает Steam Community.

Обычно такая проблема возникает у пользователей, которые установили себе продукты от Лаборатории Касперского. Откройте ваш KAV \ KIS и зайдите в Настройки. Там поставьте галочку «Совместимость с самозащитой приложений» в разделе Защита.

6) Информация про объединении двух Steam-аккаунтов в один.

К сожалению, возможность объединения нескольких аккаунтов в один оказалась на самом деле лишь мифом. Невозможность переноса игр была подтверждена службой технической поддержки Steam: «As per the Steam Subscriber Agreement, Steam game subscriptions / CD keys are nontransferable and cannot be reset / moved between Steam accounts

7) Я забыл логин \ пароль от своего Steam-аккаунта! Помогите!

*Если вы забыли только пароль, то можно восстановить его, ответив на секретный вопрос.

*Если вы забыли и логин, и пароль, то попробуйте создать новый аккаунт с тем E-Mail’ом, который использовался для регистрации — тогда Steam скажет, что такой E-Mail уже используется и предложит восстановить аккаунт через E-Mail.

*Если вы не помните и E-Mail, то можете идти в магазин за новым диском, т.к. повторная активация ключа невозможна.

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

8) Что делать, если Steam пишет о том, что вы не в России и не в СНГ.

У вас есть два варианта: либо вы проследуете по этой ссылке и будете следовать предписанным там инструкциям (официальное решение проблемы), либо звоните своему провайдеру и говорите ему, что его IP-адрес не Российский, а вас это не устраивает (в этом случае объяснять провайдеру, почему вам нужен именно Российский адрес, будете вы сами).

9) Как запустить игру, если она начала обновляться, но индикатор обновления завис.

Кликните правой кнопкой мыши на иконке Steam в трее и нажмите Выход. Затем откройте папку Steam и удалите файл ClientRegistry.blob. Снова запустите Steam и подождите, пока он не обновит всё до конца.

10) Что делать, если при установке игр из Orange Box установщик зависает на стадии создания локального кэша.

Вы можете скачать готовый кэш отсюда.

11) Что делать, если при установке игр из Orange Box указывается, что до конца установки осталось очень много времени.

Если инсталлятор пишет вам, что до конца установки осталось 10-20 часов (или типа того), то это означает, что Steam вместо того, чтобы скопировать все файлы с DVD-диска, начал качать их с сервера. В этом случае необходимо отменить установку, вставить DVD-диск №1 и выбрать в меню автозапуска пункт Переустановить.

12) Как переместить папку Steam’а в другое место, чтобы избавиться от необходимости скачивать обновления после переустановки Windows.

Просто берёте и перетаскиваете папку со Steam’ом куда вам надо. Как показала практика, он абсолютно равнодушно относится к подобным перемещениям. Steam будет нормально запускаться и обновляться после переустановки Windows. Также вы можете перенести его папку на другой компьютер. Тем не менее, после подобных действий от вас потребуется следующее:

1) Ввести свой пароль при первом запуске Steam’а.

2) Вновь настроить Steam’а под себя, т.е. выбрать скин оформления, скорость соединения и т.д.

3) Установить правильный язык, т.к. по умолчанию Steam первый раз запускается на английском.

Внимание! Если вы увидели, что игры начали обновляться, то кликните по ним правой кнопкой и выберите пункт «Приостановить обновление», а затем переключитесь в их свойствах на русский язык. Это связано с тем, что после переустановки ОС Steam запускается как бы в первый раз и выставляет английский язык для себя и для всех игр. Соответственно, автоматом начинается закачки английской озвучки для тех игр, у которых она отсутствует.

Если понравился пост, то не будьте жлобами и кликните на кнопку в левом углу поста!!!

Фильтр списка лобби

Steamworks даёт возможность отфильтровать возвращаемый список по некоторым категориям.

Внимание Фильтр нужно устанавливать перед вызовом RequestLobbyList().

Вначале можно указать максимальное количество возвращаемых лобби. Чем меньше количество — тем быстрее обработается результат. Сделать это можно функцией SteamMatchmaking.AddRequestLobbyListResultCountFilter(max_count);.

Дальше есть несколько типов фильтров (все они находятся в классе SteamMatchmaking):

  • AddRequestLobbyListDistanceFilter — задаёт расстояние, в пределах которого нужно искать лобби (исходя из IP пользователя). Принимает ELobbyDistanceFilter.
  • AddRequestLobbyListFilterSlotsAvailable — оставляет только те лобби, в которых доступно указанное количество свободных слотов.
  • AddRequestLobbyListNearValueFilter — сортирует лобби по степени удалённости значения от указанного. Таких фильтров можно указать несколько. Первый будет иметь больше всего влияния на сортировку, последний — меньше всего.
  • AddRequestLobbyListNumericalFilter — задаёт числовой тип сравнения.
  • AddRequestLobbyListStringFilter — задаёт строковый тип сравнения.

Три последних фильтра сравнивают/сортируют лобби по их мета-данным.

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

Ожидание в течение 30 минут между попытками входа

Определив несколько безуспешных попыток пользователя войти в аккаунт, система блокирует вход в него на 30 минут. Несмотря на множество существующих заблуждений о блокировке профиля на 40-50 минут, нормированный период блокировки составляет лишь полчаса. Для решения проблемы перезагрузите ваш ПК и телефон (если последний используете для входа в Стим). Подождите указанный отрезок времени, а затем вновь попробуйте войти в ваш аккаунт.

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

Пребывание в лобби

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

public static Sprite GetUserAvatar(CSteamID ID) { Texture2D original = NULL; uint width, height; int image = SteamFriends.GetLargeFriendAvatar(ID); bool IsValid = SteamUtils.GetImageSize(image, out width, out height); if (IsValid) { byte[] data = new byte; IsValid = SteamUtils.GetImageRGBA(image, data, (int)(width * height * 4)); if (IsValid) { original = new Texture2D((int)width, (int)height, TextureFormat.RGBA32, false, true); original.LoadRawTextureData(data); original.Apply(); } } Texture2D flipped = new Texture2D((int)width, (int)height); int x = (int) width, y = (int) height; for (int i = 0; i < x; i++) for (int j = 0; j < y; j++) flipped.SetPixel(j, x — i — 1, original.GetPixel(j, i)); flipped.Apply(); return Sprite.Create(flipped, new Rect(0f, 0f, original.width, original.height), Vector2.zero); }

При этом разрешение аватара будет 128×128 пикселей.

Чтобы получить собственный Steam ID используйте SteamUser.GetSteamID(). Для получения своего имени — SteamFriends.GetPersonaName(). Если нужно получить имя другого пользователя — SteamFriends.GetFriendPersonaName(PlayerID).

Отправка сообщений в лобби

Steamworks даёт возможность обмена информацией в лобби. Это может быть уведомление о готовности какого-нибудь игрока, смена персонажа либо банальное получение сообщений в чате. В любом случае вам понадобится следующий метод:

void SendData(string data) { byte[] bytes = System.Text.Encoding.Default.GetBytes(data); SteamMatchmaking.SendLobbyChatMsg(current_lobby_id, bytes, bytes.Length + 1); }

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

После получения сообщения у всех пользователей (в том числе и у отправителя) вызовется метод OnLobbyChatMsg.

Неплохим решением будет создание объекта данных, который будет иметь определённый тип (сообщение в чате, изменение готовности игрока и т. д.). Для отправки данных нужно будет его сериализовать в строку (например JSON) и отправить всем остальным через SendData. При получении такого сообщения нужно будет десериализовать сообщение в объект, определить его тип и обработать. Тогда OnLobbyChatMsg будет начинаться примерно так:

void OnLobbyChatMsg(LobbyChatMsg_t pCallback) { CSteamID SteamIDUser; // ID отправителя byte[] Data = new byte[4096]; // Максимальный размер сообщения EChatEntryType ChatEntryType; int ret = SteamMatchmaking.GetLobbyChatEntry((CSteamID)pCallback.m_ulSteamIDLobby, (int)pCallback.m_iChatID, out SteamIDUser, Data, Data.Length, out ChatEntryType); string data = System.Text.Encoding.Default.GetString(Data); // // Дальнейшая обработка data… // }

Покупка в подарок

Сначала разберемся, как подарить игру в «Стиме» сразу из магазина. В этом вам поможет следующее руководство:

  1. В магазине Steam найдите нужный проект и откройте страницу с его описанием.
  2. Теперь найдите строку со стоимостью (она может отличаться для разных регионов) и нажмите на кнопку «В корзину».
  3. Для перехода к продолжению процедуры вам необходимо перейти в корзину. Приложение сделает это автоматически, а если вы хотите добавить еще несколько позиций в корзину, то вернуться к ней можно будет через верхнее меню.
  4. После этого кликните по зеленой кнопке «Купить в подарок». Далее укажите друга, которому хотите отправить копию игры. Он должен находиться во френд-листе на вашем аккаунте.
  5. Указав пользователя, кликаем на «Продолжить».
  6. Выбираем способ оплаты и указываем платежные данные.
  7. Подтверждаем транзакцию. После чего на электронную почту друга приходит уведомление о подарочной копии. Он может активировать ее или по ссылке в том же письме, или через приложение Steam.

Рейтинг
( 1 оценка, среднее 4 из 5 )
Понравилась статья? Поделиться с друзьями: