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

  • Автор темы Автор темы ZLOY
  • Дата начала Дата начала
Карту залил решил запустить через доту посмотреть ( не запускается . Принимаешь выкидывает обратно в лобби
Запускай кастомку как "локальное лобби", новые кастомки всегда ждут одобрения от модератора стим, прежде чем попасть на сервера валв
 
Подскажите пожалуйста, как добавить/изменить предметы для покупки на стадии планирования?
1111111111.png
 
Количество убийств у команды тьмы уходит в -1 со старта, и не меняется
1605009004791.png
В других кастомках такое же творится, как фиксить?

UPD: нашёл
 
Последнее редактирование:
  • Нравится
Реакции: Sannin
Очередной новичковый вопрос(но я ведь новичок, все логично) - по умолчанию у всех объектов нет коллизии. Получается, каждый раз нужно каждому объекту добавлять внутрь невидимый непроходимый блок? Но это ведь не очень красиво, не все объекты имеют прямоугольные или квадратные формы. Может есть способ давать объектам коллизию по сетке, как это можно делать в других движках?
 
Очередной новичковый вопрос(но я ведь новичок, все логично) - по умолчанию у всех объектов нет коллизии. Получается, каждый раз нужно каждому объекту добавлять внутрь невидимый непроходимый блок? Но это ведь не очень красиво, не все объекты имеют прямоугольные или квадратные формы. Может есть способ давать объектам коллизию по сетке, как это можно делать в других движках?
 
Halo, как через js получить панель, если у неё нет id? Безымянный.pngХочу увеличить размер иконок героев на стадии пика, FindChildTraverse только с id работает, а альтернатив я не знаю(
 
Halo, как через js получить панель, если у неё нет id? Посмотреть вложение 1191Хочу увеличить размер иконок героев на стадии пика, FindChildTraverse только с id работает, а альтернатив я не знаю(
Код:
GetChildCount    Panel.GetChildCount() 
GetChild    Panel.GetChild( integer integer_1 ) 
GetChildIndex    Panel.GetChildIndex( unknown_variant_type unknown_variant_type_1 )
FindChildrenWithClassTraverse   Panel.FindChildrenWithClassTraverse( cstring cstring_1 )
 
Код:
GetChildCount    Panel.GetChildCount()
GetChild    Panel.GetChild( integer integer_1 )
GetChildIndex    Panel.GetChildIndex( unknown_variant_type unknown_variant_type_1 )
FindChildrenWithClassTraverse   Panel.FindChildrenWithClassTraverse( cstring cstring_1 )
Вроде как обычный селектор по классу тоже работает
panel.querySelector(".className")
panel.querySelectorAll(".className")
 
Вроде как обычный селектор по классу тоже работает
panel.querySelector(".className")
panel.querySelectorAll(".className")
Возможно я что-то делаю не так, у меня не получается никаким методом сделать. querySelector is not a function. FindChildrenWithClassTraverse то же самое, только не может найти панель.
 
Возможно я что-то делаю не так, у меня не получается никаким методом сделать. querySelector is not a function. FindChildrenWithClassTraverse то же самое, только не может найти панель.
Нет возможности проверить , но скинь код как ты пытаешься получить панельку через FindChildrenWithClassTraverse()
Или попробуй через цикл:
JavaScript:
let HeroListPanel = это панелька HeroList , найди ее по ИД.
let childCount = HeroListPanel.GetChildCount()
for (let i=1; i <= childCount; i++)
{
     let childPanel = HeroListPanel.GetChild(i)
     $.Msg(childPanel)
}
Если я не ошибаюсь то должно сработать.
 
Возможно я что-то делаю не так, у меня не получается никаким методом сделать. querySelector is not a function. FindChildrenWithClassTraverse то же самое, только не может найти панель.
Попробовал, нашел их вот так:
Код:
let PreGame = $.GetContextPanel().GetParent().GetParent().GetParent().FindChildTraverse("PreGame")
let PickIconArray = PreGame.FindChildrenWithClassTraverse("HeroCard")
$.Msg(PickIconArray)
PickIconArray - массив со всеми элементами которые имеют класс HeroCard
 
Нет возможности проверить , но скинь код как ты пытаешься получить панельку через FindChildrenWithClassTraverse()
Или попробуй через цикл:
JavaScript:
let HeroListPanel = это панелька HeroList , найди ее по ИД.
let childCount = HeroListPanel.GetChildCount()
for (let i=1; i <= childCount; i++)
{
     let childPanel = HeroListPanel.GetChild(i)
     $.Msg(childPanel)
}
Если я не ошибаюсь то должно сработать.
Есть панель Herolist, в ней автоматом создаётся панель для каждого персонажа, у каждой такой панели есть класс HeroCard NoTier, где можно поменять width и height, после чего автоматически панели всех героев изменят свой размер.
Я не знаю как правильно это делается, по этому пытался по-разному
let HeroSelectionOverlay = $.GetContextPanel().GetParent().GetParent().GetParent().FindChildTraverse("HeroList")
let HContainer = HeroSelectionOverlay.querySelectorAll(".HeroCard NoTier")
ещё пробовал
let HContainer = HeroSelectionOverlay.FindChildrenWithClassTraverse("HeroCard NoTier")
---
let HeroSelectionOverlay = $.GetContextPanel().GetParent().GetParent().GetParent().FindChildrenWithClassTraverse("HeroCard NoTier")
Как-то так пытался. К Herolist доступ получал, а к его класам нет.
скрин.png
UPD: Вижу ответ, сейчас попробую
 
Попробовал, нашел их вот так:
Код:
let PreGame = $.GetContextPanel().GetParent().GetParent().GetParent().FindChildTraverse("PreGame")
let PickIconArray = PreGame.FindChildrenWithClassTraverse("HeroCard")
$.Msg(PickIconArray)
PickIconArray - массив со всеми элементами которые имеют класс HeroCard
Не знаю как у вас это работает, у меня нет. Всё аналогично сделал и разными методами - ничего
 
Не знаю как у вас это работает, у меня нет. Всё аналогично сделал и разными методами - ничего

Код:
function testTest()
{
    let PreGame = $.GetContextPanel().GetParent().GetParent().GetParent().FindChildTraverse("PreGame")
    let PickIconArray = PreGame.FindChildrenWithClassTraverse("HeroCard")
    for (let i=1; i<=10; i++)
    {
        $.Msg("HERO ICON #"+String(i))
        $.Msg(PickIconArray[i])
    }
}

(function () {
    testTest();
})();
12312422222.jpg
 
Код:
function testTest()
{
    let PreGame = $.GetContextPanel().GetParent().GetParent().GetParent().FindChildTraverse("PreGame")
    let PickIconArray = PreGame.FindChildrenWithClassTraverse("HeroCard")
    for (let i=1; i<=10; i++)
    {
        $.Msg("HERO ICON #"+String(i))
        $.Msg(PickIconArray[i])
    }
}

(function () {
    testTest();
})();
Да, оно спамит в консоль. Но я не могу получить доступ конкретно к HeroCard NoTier...
 
Да, оно спамит в консоль. Но я не могу получить доступ конкретно к HeroCard NoTier...
HeroCard NoTier - это 2 разных класса на одной панельке. На панель можно вешать сразу несколько разных классов через пробел. А в консоль спамит тебе саму панель. С ней ты можешь делать все что позволяет панорама. Но есть одна загвоздка, функция срабатывает только после пика, я точно не уверен есть ли способ зафорсить ее раньше пика, но можно попробовать отправкой ивента с сервера, сразу после загрузки или какой то другой вариант. В общем нужно проверять.
Можно через
Код:
<CustomUIElement type="HeroSelection" layoutfile="file://{resources}/layout/custom_game/test_panel.xml" />
 
Последнее редактирование:
Вот результат:
washColor="lime" на 10-ти иконках
666.jpg
 
  • Нравится
Реакции: ION
Реклама: