Добавлен , опубликован
Алгоритмы, Наработки и Способности
Способ реализации:
Lua
Тип:
Наработка
Версия Warcraft:
1.32+
Что это такое?
Наработка добавляющая кастомный инвентарь определенному герою.

Демо

Инструкция

  • Создать карту.
  • Выставить в Scenario -> Map Options -> Script Language на Lua.
Подробнее
  • Скопировать код из lua файла, который есть в архиве files.zip и вставить в редакторе триггеров в Custom script code.
Подробнее
  • Создать переменную countItems типа Integer (задавать значение пока не нужно).
Подробнее
  • Создать массив itemClass типа String.
Подробнее
  • Создать массив itemAbilitys типа String.
Подробнее
  • Создать новый кастомный предмет в Редакторе объектов.
Примечание
В данный момент есть 10 типов предметов:
  • MainHand - надевается в слот оружия
  • Head - надевается в слот шлема
  • OffHand - надевается в слот щита
  • Hands - надевается в слот перчаток
  • Chest - надевается в слот брони
  • Shoulders - надевается в слот наплечников
  • Neck - надевается в слот амулетов
  • Feet - надевается в слот ботинок
  • Waist - надевается в слот пояса
  • Potion - зелья
  • В Редакторе объектов выбрать опцию View -> Display values as raw data.
Подробнее
  • Посмотреть у созданного предмета на самое первое поле "abilList" и запомнить эти значения.
Подробнее
  • Вернуться в Редактор триггеров и установить для itemAbilitys[0] значение из поля "abilList"(в данном случае это "AIt9").
Подробнее
  • Установить для itemClass[0] значение класса предмета(в данном случае это "MainHand").
Подробнее
  • Установить для countItems значение 1(Мы добавили один предмет в базу).
Подробнее
  • По той же схеме добавляются еще предметы
  • После добавления предметов создаем новое действие Custom script и вызываем функцию Inventory().
Подробнее
  • Не забыть импортировать все нужные файлы для инвентаря из архива files.zip
  • Последнее, что нам нужно сделать, это привязать инвентарь к герою. Создаем новое действие Custom script и вызываем функцию CreateInventory(unit, player), где unit - герой, которому нужно привязать инвентарь, player - игрок владелец героя.
Подробнее
Настройка инвентаря
Есть девять строковых переменных, которые отвечают за иконки экипировки:
Так же есть девять строковых переменных задающих класс каждому слоту экипировки:
eq_class_one
eq_class_two
eq_class_three
eq_class_four
eq_class_five
eq_class_six
eq_class_seven
eq_class_eight
eq_class_nine
  • Если что-то непонятно, можно посмотреть в карте примере из архива files.zip
ChangeLog
  • v. 0.11b
Немного изменил расположение окна инвентаря.
Добавил подсветку окну инвентаря, чтобы было понятнее, что можно выкидывать предмет за пределы окна инвентаря.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
2
3 года назад
0
А почему это в бездне?

и шо такое вообще бездна тут?

Вопрос, а где собственно то Script language тут?

а, всё нашёл, я слепой :D

А, другой вопрос - где вообще этот код??!!!

тут только файлы, которые не открываются
Загруженные файлы
0
5
3 года назад
0
Владислав21:
А почему это в бездне?

и шо такое вообще бездна тут?

Вопрос, а где собственно то Script language тут?

а, всё нашёл, я слепой :D

А, другой вопрос - где вообще этот код??!!!

тут только файлы, которые не открываются
Думал, что архив прикрепился.
Сейчас точно прикрепился.
0
32
3 года назад
0
jsore, если что то я вот эту подсветку имел ввиду, чтобы дать игроку понять, что можно выбросить предмет
Загруженные файлы
0
5
3 года назад
0
Bergi_Bear, да я понял. Чуть позже добавлю.
1
32
3 года назад
1
да я понял.
самый оптимальный вариант - не просто рамка, а плавное перетекание с 0 прозрачности на 50%, от края свечения до контура рамки
0
37
3 года назад
Отредактирован ScorpioT1000
0
Поменяй, пожалуйста, rar на zip, когда будешь заливать новую версию. В 2020 winrar ставят только совсем отчаянные. Zip встроен в любую современную ОС, качать ничего не нужно.

А что со стандартным инвентарем, его нужно скрыть как-то?
И что по поводу магазинов, я помню, много с ними парился в Portable Mini Inv, в итоге пришлось даммика таскать перед героем постоянно, чтоб торговать туда, а не в самого героя

И что по поводу пассивок
0
5
3 года назад
0
Поменяй, пожалуйста, rar на zip, когда будешь заливать новую версию. В 2020 winrar ставят только совсем отчаянные. Zip встроен в любую современную ОС, качать ничего не нужно.
Хорошо.
А что со стандартным инвентарем, его нужно скрыть как-то?
На него есть планы. Что-то типа панели для зелий. Возможно не только для зелий, а для предметов, которые можно будет использовать.
И что по поводу магазинов, я помню, много с ними парился в Portable Mini Inv, в итоге пришлось даммика таскать перед героем постоянно, чтоб торговать туда, а не в самого героя
Можно торговать со стандартным магазином, если в магазине предметы из базы.
И что по поводу пассивок
На счет этого не понял. Пассивок у предметов?

ScorpioT1000, я пока упустил некоторые настройки инвентаря. Как доделаю некоторые вещи, добавлю в описание. Вообще хотел сделать инвентарь для своей карты, но думаю, что сил не хватит.
0
37
3 года назад
0
По поводу пассивных бонусов к характеристикам и всяких аур у предметов
Каким образом вообще оно применяется к герою, абилки выдаются ему от предметов?
0
5
3 года назад
Отредактирован jsore
0
ScorpioT1000, ну, почти выдается от предметов. Если бы новая нативка работала, то так бы и было. А сейчас для каждого предмета руками нужно вписывать его способности в массив. Я этот момент описал в инструкции.

Неудобно, конечно, но я лучше придумать не смог.

По поводу пассивных бонусов к характеристикам и всяких аур у предметов
Это все добавляется герою, когда предмет надевается. Активные способности не используются(от них толка не будет)
0
32
3 года назад
0
Неудобно, конечно, но я лучше придумать не смог.
Есть вариант 1 раз пройтись вурстом или цересом, чтобы получить абилы и все ID (но это в теории) можно так же разово засканить все ID и все абилы, думаю луа не загнётся но варик зависнет наверное если перебирать от 0 до 2,5 миллионов
Так же я видел кто это уже делал, переписывал ID всех дефолт итемов абилок и юнитов, есть готовые бд, но я не вспомню тоже, для нестандартных всё проще выполняем поиск по уровню от A000 До A000+ число новых абил
0
37
3 года назад
Отредактирован ScorpioT1000
0
Bergi_Bear, там может быть любые 4 символа)

проще красивую бд руками намутить пока

хотя есть варик записывать абилы предмета в другое поле, которое сможет считаться в игре
0
5
3 года назад
0
хотя есть варик записывать абилы предмета в другое поле, которое сможет считаться в игре
ScorpioT1000, изначально так и делал. Как раз было два поля для описания тултипов, которые используются при покупке предмета в стандартном магазине. Но я захотел, чтобы стандартный магазин можно было использовать.
0
37
3 года назад
Отредактирован ScorpioT1000
0
Причем тут тултипы, если я об этом
Если бы новая нативка работала, то так бы и было. А сейчас для каждого предмета руками нужно вписывать его способности в массив

Нужно куда-то задублировать поле Abilities, чтоб его можно было считать и тогда в код лезть не придется
0
11
3 года назад
0
Отлично сделано)
Плюс к однозначно!
0
23
3 года назад
0
делаем герой - инвентарь 2 слот дефолотный и 1 слот - дополнение и вручи герою в итоге у героя будет 2 слот и 1 слот скрытый и будет подбирать на 3 слот.
Делаем 2 слот для хилки который можно из нового инвентаря перенести в слот хилки и у героя появится хилки не выбрасываемый. Я уже показывал баг инвентаря на 12 слот.
PS. Создаем предмет
Название: "Выбрать зелье/свитки"
Описание: "Можно выбрать из инвентаря зелье или свитки"
Когда герой создан или вошел в карту вручаем ему 2 слот сразу предмета "Выбрать зелье/свитки"
У героя абилка инвентаря должен 2 слот. А допольнительный абилка инвентаря из раба тоже у героя иметь.
События Игрок подобрал предмет заносят в базу
События Игрок нажал предмет "Выбрать зелье/свитки".
Появляется фрейм все списки зелье и свитки который есть в базе у героя.
После выбора зелья убираем где был применен слот 1 или 2 и добавляет предмет который подобрали.
Это уберет рутинная открывания целого инвентаря и лечить героя.
А 3 слот у героя не будет показывать так как баг интереный в итоге можно подбирать веши даже у тя покажет 2 слота одетый. А все остальное уже за интерфейс
0
5
3 года назад
0
pro100master, Я уже этот момент обдумал. Просто еще не сделал. Я этот код даже не убрал. Сейчас можно просто взглянуть как это примерно будет выглядеть. Собери зелий в инвентарь, потом правой кнопкой мышки нажми на стандартный слот инвентаря. В общем увидишь как это будет выглядеть примерно.
1
23
3 года назад
Отредактирован pro100master
1
jsore, Это понятно но самое странное в коде то что ты создаеш фрейм на юнита когда можно 1 фрейм на клиент. Надеюсь освоишь как оптимизировать и сократить на 1 фрейм а иконки как предметы в инвентаре не создавать и удалять а заранее создай и скрой при подборе просто меняешь текстуры и показываешь. А так все что ты делал отлично лови 5 оценку =)
0
5
3 года назад
0
pro100master, действительно. Спасибо. Отредактирую код.
0
23
3 года назад
0
так как GetLocalPlayer работает в фрейма смена текстура, скрыть и показать фрейм и немногие уже забыл

в итоге можно отдать контроль 2 игроку и он увидит вашего инвентаря но с заблокированным кнопками (чтоб не перемешал и не выбросил) и так много идеи.
0
1
3 года назад
Отредактирован Immoral
0
Очень круто. Спасибо за такую штуку. Попробовал слотов экипировки/инвентаря увеличить -- ок, вроде понятно как.
Только вот, как быть, если хочется сделать 2 кольца, например? Т.е чтобы больше чем 1 слот экипировки мог получать вещь определенного класса?
Если сейчас прописать просто 2-м слотам 1 класс, то будет беда.
0
5
3 года назад
0
Immoral, да этого я не учел. Не уверен, что буду дальше этим заниматься.
0
1
3 года назад
0
хочу извиниться перед сообществом но lua мне показался проще jass начинаю изучать)
1
32
3 года назад
1
Survivalist, ура, ещё не всё потеряно в варкрафте
0
1
2 года назад
0
How can i sell Item to a Store with this Inventory System?
Is there a Limitied Number of items i can Custom-Create? I need like 75 or more.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.