Простые вопросы #2

Hulimontana

Новичок
19 Апр 2019
6
0
1
29
Реакции
0 0 0
Разобрал чужую кастомку чтобы посмотреть как реализован интерфейс, но столкнулся с такой проблемой - например есть файл стилей dota_hud_health_mana.vcss_c и по коду видно что он нужный, без него ни как, но он нигде не подключается! Я шел абсолютно по всей цепочке подключений всех файлов, искал через нотпад++ по содержимому во всех файлах этой кастомки.
И это не единственный такой файл, их несколько, которые ни где не подключаются, но они важны.
Некоторые файлы отсутствуют, в xml подключается 2 css файла, которых просто нет в указанной директории.
А что самое интересное, если создать карту на основе этой кастомки, то все работает! Как это возможно?
 
Последнее редактирование:
20 Дек 2016
618
126
28
11
Проект
DI:LS
Реакции
126 0 0
Некоторые файлы отсутствуют, в xml подключается 2 css файла, которых просто нет в указанной директории.
Ты можешь подключать в xml уже существующие стили (написанные разрабами доты) из pak01_dir
 

Hulimontana

Новичок
19 Апр 2019
6
0
1
29
Реакции
0 0 0
Ты можешь подключать в xml уже существующие стили (написанные разрабами доты) из pak01_dir
Спасибо! А что с файлами панорамы, которые ни где не подключаются, но они важны? Я реально вчера убил очень много времени на поиски, как же они подключаются и где, искал несколько часов, все перепроверил. В распакованной кастомке чего-то не хватает? Но ведь она работает если запустить.
 

CryLegion

Пользователь
28 Фев 2019
27
0
1
22
Реакции
0 0 0
Подскажите как создать дополнительную панельку в лавке
 
Реклама:

CryLegion

Пользователь
28 Фев 2019
27
0
1
22
Реакции
0 0 0
Подскажите, пожалуйста, как при поведении "DOTA_ABILITY_BEHAVIOR_TOGGLE" менять иконки предмета( вкл. - 1, выкл. - 2)
 

LAPKI

Пользователь
26 Окт 2018
47
5
8
20
Реакции
5 0 0
точно не знаю как поставить вопрос, в общем, для всех кнопок (итерации для кнопок проходят нормально) ставится ивент исходя из индекса последней итерации на onactivate, а мне надо чтобы ставился ивент по своему индексу, вот цикл, в котором я все это обрабатываю
Код:
counter = 0;
for (tab in tabs) {
              /* тут он берет нужный tab*/  tab.SetPanelEvent("onactivate", function () { /* а вот уже внутри этой функции counter берется с моей последней итерации, в моем случае - 1 */
                    end = 0;
                    if ((counter) * 3 > panels_content_item_row.length) { end = panels_content_item_row.length; } else { end = (counter) * 3; }
                    for (row = (counter - 1) * 3; row < end; row++) {
                        panels_content_item_row[row].AddClass("active");
                    }
                });
                counter = counter + 1;
            }
как это можно поправить?
 

Niker323

Пользователь
25 Сен 2018
10
12
3
Проект
Element Arena
Реакции
12 0 0
точно не знаю как поставить вопрос, в общем, для всех кнопок (итерации для кнопок проходят нормально) ставится ивент исходя из индекса последней итерации на onactivate, а мне надо чтобы ставился ивент по своему индексу, вот цикл, в котором я все это обрабатываю
Код:
counter = 0;
for (tab in tabs) {
              /* тут он берет нужный tab*/  tab.SetPanelEvent("onactivate", function () { /* а вот уже внутри этой функции counter берется с моей последней итерации, в моем случае - 1 */
                    end = 0;
                    if ((counter) * 3 > panels_content_item_row.length) { end = panels_content_item_row.length; } else { end = (counter) * 3; }
                    for (row = (counter - 1) * 3; row < end; row++) {
                        panels_content_item_row[row].AddClass("active");
                    }
                });
                counter = counter + 1;
            }
как это можно поправить?
После установки ивентов counter равен кол-ву tab'ов.
Чтобы всё работало как ты хочешь тебе нужно получать индекс в самой функции или передавать индекс в функцию.
Я обычно делаю так:
XML:
Код:
onactivate="OnSelect(1)"
JS:
Код:
function OnSelect(num) {
//num == индекс
}
 

I_GRIN_I

Друзья CG
15 Мар 2016
1,156
93
48
20
Реакции
92 0 1
точно не знаю как поставить вопрос, в общем, для всех кнопок (итерации для кнопок проходят нормально) ставится ивент исходя из индекса последней итерации на onactivate, а мне надо чтобы ставился ивент по своему индексу, вот цикл, в котором я все это обрабатываю
Код:
counter = 0;
for (tab in tabs) {
              /* тут он берет нужный tab*/  tab.SetPanelEvent("onactivate", function () { /* а вот уже внутри этой функции counter берется с моей последней итерации, в моем случае - 1 */
                    end = 0;
                    if ((counter) * 3 > panels_content_item_row.length) { end = panels_content_item_row.length; } else { end = (counter) * 3; }
                    for (row = (counter - 1) * 3; row < end; row++) {
                        panels_content_item_row[row].AddClass("active");
                    }
                });
                counter = counter + 1;
            }
как это можно поправить?
Тебе нужно использовать замыкание. Дело в том, что ты объявляешь counter 1 раз, а функция вызывается, когда этот counter уже прибавился, переменная не сохраняет значение внутри функции, а берет уже его из наружной переменной
 
Реклама:
20 Дек 2016
618
126
28
11
Проект
DI:LS
Реакции
126 0 0
Можно как-то изменить AI дефолтных нейтралов? Им тупо посрать на все ордера, даже на SetAttackCapability(0)
 

LAPKI

Пользователь
26 Окт 2018
47
5
8
20
Реакции
5 0 0
как отключить возможность перемещения по нажатию ПКМ? чтобы выделение героя осталось, но он не реагировал на команду
 
20 Дек 2016
618
126
28
11
Проект
DI:LS
Реакции
126 0 0
как отключить возможность перемещения по нажатию ПКМ? чтобы выделение героя осталось, но он не реагировал на команду
Самый простой вариант - фильтр приказов
 

SniperX

Активный
26 Фев 2018
103
12
18
steamcommunity.com
Проект
Белоозерская Потасовка - Updated
Реакции
8 0 4
Подскажите, пожалуйста, как при поведении "DOTA_ABILITY_BEHAVIOR_TOGGLE" менять иконки предмета( вкл. - 1, выкл. - 2)
Через SwapAbilities (если не знаешь Lua) (1 скилл тролля в SpellLibrary)
 

SniperX

Активный
26 Фев 2018
103
12
18
steamcommunity.com
Проект
Белоозерская Потасовка - Updated
Реакции
8 0 4
Ребята у меня вопрос!
Я делаю изменения в папке content (связано с panorama) в папочке content всё работает а в game ничего не конвертируется (делаю Full Recompile затем Reload)
Делаю всё правильно, но консоль выдаёт ошибку
CSS:
Error loading resource file "panorama/layout/custom_game/discord.vxml_c" (Error: ERROR_FILEOPEN)
 
Реклама:

SniperX

Активный
26 Фев 2018
103
12
18
steamcommunity.com
Проект
Белоозерская Потасовка - Updated
Реакции
8 0 4
Ребята у меня вопрос!
Я делаю изменения в папке content (связано с panorama) в папочке content всё работает а в game ничего не конвертируется (делаю Full Recompile затем Reload)
Делаю всё правильно, но консоль выдаёт ошибку
CSS:
Error loading resource file "panorama/layout/custom_game/discord.vxml_c" (Error: ERROR_FILEOPEN)
У меня не может загрузить картинку
Код:
CompileImages: Failed to decode as a known image file "panorama/images/custom_game/loading_screen/discord.png"
 

SniperX

Активный
26 Фев 2018
103
12
18
steamcommunity.com
Проект
Белоозерская Потасовка - Updated
Реакции
8 0 4
У меня не может загрузить картинку
Код:
CompileImages: Failed to decode as a known image file "panorama/images/custom_game/loading_screen/discord.png"
Ошибка пропала, плохая кодировка была картинки теперь другая
Код:
PNG load error Incorrect sBIT chunk length
 
Реклама: