![]()
remal
нечто
![]() offline
Опыт:
2,087Активность: |
Реализация дополнительных данных в объектах карты
Реализация дополнительных данных в объектах карты Вступление
На написание данной статьи меня подтолкнула наработка PitzerMike на WC3Jass.com – Interpreter Engine. В указанной теме он ссылается на "исследования" KaTTaNa – New Object Editor Fields. Я посчитал данную тему интересной и решил выложить сюда вольное истолкование-перевод.Начало экспериментов
Есть native функцияКод:
Берём файл Units\UnitMetaData.slk и добавляем в конец следующую строчку: Код:
Поехали
Берём любую абилу. В Графика-Цель заносим что-нибудь типа "hello". Смотрим что вернёт в игре такой вызов:Код:
Продолжаем. Заносим второй строкой в то же многострадальное поле нечто а-ля "TT". На этот раз в качестве последнего параметра в указанном выше вызове ставим 1. Результат ожидаем – "TT". Вывод: последний параметр в функции указывает на номер строчки в нашем поле. Дополнение: если последний параметр больше, чем максимальное кол-во строчек, то будет возвращаться последняя. Едем дальше
Хочется поиметь дополнительных данных для предметов и юнитов. Пробуем. Повторяем эксперимент из предыдущего раздела. ОБЛОМ. Функция ничего не возвращает. Читаем указанные вверху ссылки и видим, что, если импортировать в карту измененный Units\UnitMetaData.slk, то всё начинает работать. Пробуем. Работает.Теперь нюансы
MetaData slk-таблицы грузятся при подгрузке ПЕРВОЙ МАПЫ. Т.е., если человек играет в нашу карту после, например, доты, то у него ничего работать не будет, КРОМЕ АБИЛ И БАФФОВ. К сожалению, пока что не нашли способ это преодолеть.Примеры
Карты из аттачей
Выводы
Технология хороша для абил. Например – есть в команде штатный абильщик. Для него разрабатывается небольшой скриптовый язык на примере PitzerMike-ого и он может делать, не влезая в триггеры, разные удобные вещи, типа добавления скрытых абил при изучении геройской. При этом можно использовать несколько полей для данных EFFECT_TYPE_AREA_EFFECT и т.п. (смотрим common.j) Если на каждое повесить какое-либо событие (добавление, увеличение уровня и тп), то можно очень сильно облегчить работу абильщика.Если мы делаем мод, то тут перед нами открываются огромные возможности. Как пример – удобство при создании типов вещей. ЗЫ: технология работает в мультиплеере. ЗЗЫ: также в аттаче лежит пример такого UnitMetaData.slk ЗЗЗЫ: этим двиглом форума из постов вырезаются табуляции!!! Отредактировано remal, 28.06.2006 в 19:47. |
![]() |
#1
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
AnD
Weighted Companion Cube
![]() ![]() offline
Опыт:
7,351Активность: |
О... я джас только изучаю, а вымне такую статью... =) Ну ладно, не отвечай. Отредактировано AnD, 17.06.2006 в 01:16. |
![]() |
#2
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
remal
нечто
![]() offline
Опыт:
2,087Активность: |
Цитата:
извини, но статья не расчитана на новичков. не так давно я писал NETRAT-y, что пусть напишет что-нить, что было бы интересно читать профи.... но вот написал я. ЗЫ: на вопросы отвечу, но не на "мне ничего не понятно", а по конкретике. |
|
![]() |
#3
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
Van Damm
wait... what?
![]() ![]() offline
Опыт:
22,268Активность: |
про способности знаю давно, вещь очень полезная. сам использую для сохранения в абиле параметров жассового спелла. очень удобно особенно если потом другой человек будет балансить мапу. (чтобы не лезть в жасс-код самой абилы) про итемы не знал. жаль только ограничение это, из-за которого не получится нормально использовать |
![]() |
#4
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
DioD
![]() ![]() offline
Опыт:
45,134Активность: |
Это пошло от витригизера |
![]() |
#5
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
remal
нечто
![]() offline
Опыт:
2,087Активность: |
беру пример с AnD-a.
АП. |
![]() |
#6
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
vlad_C0M
Босс DarkSkyTeam
![]() ![]() offline
Опыт:
10,459Активность: |
Ого! .... Ремал, все достаточно круто, непонятно.... Но можно по Русски? Из всего прочитанного, я понял , что ты открыл нечто новое замечательное, и знаешь как это использовать... А как это работает, и что из себя представляет ты это не упомянул...
Примеры смотреть - это отнимает много времени...Опиши подробней пожалуйста! |
![]() |
#7
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
remal
нечто
![]() offline
Опыт:
2,087Активность: |
vlad_C0M, ок. скажи где конкретно пояснить? |
![]() |
#8
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
remal
нечто
![]() offline
Опыт:
2,087Активность: |
короче, накатал карту-пример:)
из вулкана лезут уродцы, задача их не пустить к хумам. нага изначально принадлежит другому игроку, контроль дан, чтобы можно было нагляднее смотреть.
ЗЫ: да, я знаю, что каст старфола сбивается. исправить это легко, но тут главное пример, а не изыски:) |
![]() |
#9
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
remal
нечто
![]() offline
Опыт:
2,087Активность: |
неужели никому не интересно? |
![]() |
#10
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
remal
нечто
![]() offline
Опыт:
2,087Активность: |
всего 5 просмотров 0 комментов. забавно:) даже на бру кто-то комментировал)))) |
![]() |
#11
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
DeT
![]() ![]() offline
Опыт:
5,715Активность: |
да..я прокоментировал и еще рас скажу - что прикольно..дает неплохие возможности и уменьшает гемморой с триггерами условий..плюс еще парачка идей(кажем у спелла мона в графике-цель прописать что будет писаться над челом кастующим спел)и никаких условий=-)
DeT добавил: это еще например для итемоФ...тока е ремал открыл а перевел=-) (вроде так) |
![]() |
#12
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
remal
нечто
![]() offline
Опыт:
2,087Активность: |
Цитата:
|
|
![]() |
#13
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
NETRAT
![]() ![]() offline
Опыт:
83,712Активность: |
Неплохо, но, судя по всему стабильно работает только для баффов и абил. Гм, это может существенно уменьшить обьемы файлов конфигов, ибо в жассовом конфиге строка занимает
Код:
|
![]() |
#14
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|