[Гайд] Создаем кастомный магазин, шаг за шагом

-ExotiC-

Какой-то ноунэйм
Команда форума
11 Авг 2014
498
56
customgames.ru
Привет. В этом уроке я покажу как создать кастомный магазин

Создание dota_shop объекта

Начнем с создания объекта (Shift + E) и назначим ему "ent_dota_shop", расположите его где угодно.

Свойства dota_shop

Выберите объект и перейдите к его свойствам (Alt + Enter), когда вы зашли в свойства найдите World Model и кликните для просмотра библиотеки (маленькая лупа под полем). Присвойте ему модель по своему вкусу.

Назначение Shop Type объекта

После изменения World Mode, прокрутите вниз свойства объекта, вплоть до "Shop Type" поля, здесь мы можем указать следующие данные:

Home - Предметы автоматически помещаются в тайник (стэш), если вы не в зоне триггера. Иначе он будет помещен в инвентарь, если свободный слот доступен.
Side - Вы должны быть рядом с магазином, чтобы купить предмет в инвентарь, не могут быть помещены в тайник (стэш).
Secret - Вы должны быть рядом с магазином, чтобы купить предмет в инвентарь, не могут быть помещены в тайник (стэш).

*Примечание* Вы можете использовать только эти три типа магазина. У меня не получалось создать свой тип магазина.

Создание области триггера (блок)

После настройки типа магазина, у нас теперь есть возможность создать зону триггера, это можно сделать, нажав Shift + B. Теперь перетащите нужный блок для области покупки (предпочтительно сделать одинаковой высоты с моделью магазина).

Назначение материала для триггера

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

Назначение класса trigger_shop к блоку триггера

Теперь мы должны добавить класс к блоку, это может сделать, нажав Ctrl + T, как только это было сделано, присвойте ему класс "trigger_shop" , после этого прокрутите вниз и назначьте ему тип магазина который вы хотите.

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

Создание кастомного shop.txt

Теперь мы должны создать текстовый файл магазина, расположите его здесь:

Код:
dota_ugc\game\dota_addons\ИМЯ_АДДОНА\scripts\shops

Кастомное имя файла магазина

Код:
<название_карты>_shops.txt

Кастомное содержание

Код:
  "dota_shops"
  {
 //Home Shop Start
 //--------------------------

  "consumables"
  {
    "item"   "ITEM_NAME"
  }

  "attributes"
  {
    "item"   "ITEM_NAME"
  }

  "weapons_armor"
  {
    "item"   "ITEM_NAME"
  }

  "misc"
  {
    "item"   "ITEM_NAME"
  }  

  // Level 1 - Green Recipes
  "basics"
  {
    "item"   "ITEM_NAME"
  }

  // Level 2 - Blue Recipes
  "support"
  {
    "item"   "ITEM_NAME"
  }

  "magics"
  {
    "item"   "ITEM_NAME"
  }

  // Level 3 - Purple Recipes
  "defense"
  {
    "item"   "ITEM_NAME"
  }

  "weapons"
  {
    "item"   "ITEM_NAME"
  }

 // Level 4 - Orange / Orb / Artifacts
  "artifacts"
  {
    "item"   "ITEM_NAME"
  }

 //Sideshop Start - Page 1
 //--------------------------

  "sideshop1"
  {
    "item"   "ITEM_NAME"
  }

 //Sideshop Page 2

  "sideshop2"
  {
    "item"   "ITEM_NAME"
  }

 //Secret Shop Start
 //--------------------------  

  "secretshop"
  {
    "item"   "ITEM_NAME"
  }
  }

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


Заключительные замечания

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

Перевод: http://customgames.ru/
Источник: http://www.reddit.com/r/Dota2Modding/comments/2dpts1/tutorial_creating_a_custom_shop_step_by_step/
 
Последнее редактирование:

somsim

Пользователь
14 Мар 2017
23
0
Вы все еще можете искать предметы, которые не в магазине.
Не совсем понял. То есть предметы в этом магазине искать возможно но они не в нем?
А проблема что в созданном магазине нет предметов:/
 

Илья

Друзья CG
25 Сен 2015
2,348
41
В доте все вещи хранятся в стандартном магазе, который в игре присутствует будто в "облаке". И ты лишь делаешь вот подобным методом точки входа игрока в это облако предметов. Поэтому, когда тебе не нужны в моде какие-то стандартные вещи, то именно вещи выключают либо вообще удаляют из игры.

И сейчас расположение файла содержания магазинов не scripts/shops/addon_name_shops.txt, а scripts/addon_name_shops.txt.
 
Последнее редактирование модератором:

Илья

Друзья CG
25 Сен 2015
2,348
41
Насколько я знаю, сейчас можно сделать только один shops.txt (и именно с таким названием) на весь мод и храниться он должен в

dota_ugc\game\dota_addons\ИМЯ_АДДОНА\scripts\


Так было месяц назад, после обновы с талантами и обезьяной. Может сейчас все и поправили.
 
Реклама: