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

ION

Активный
10 Ноя 2019
73
4
Проект
Memethrow 2.0 dota 2
Вот результат:
washColor="lime" на 10-ти иконках
У меня стоит инжект в ивент.луа на стадию игры hero_selection, с этим проблем нету. Но всё равно оно у меня не хочет работать. У меня нет панели PreGame в которой HeroCard.. Оно вроде бы видит HeroCard в HeroList, но не может его менять, пишет cannot set property "width или что угодно что я меняю". Через дебагер вручную пишу, изменения видны. А через js фиг. И ещё, как выглядит код который у вас работает?
JavaScript:
let PreGameHeroIcons = $.GetContextPanel().GetParent().GetParent().GetParent().FindChildTraverse("HeroList")
let PregameHeroicon = PreGameHeroIcons.FindChildrenWithClassTraverse("HeroCard")
    for (let i=1; i<=10; i++)
    {
        $.Msg("HERO ICON #"+String(i))
        $.Msg(PregameHeroicon[i])
        PregameHeroicon.style.washColor = "red"
    }
 

muRLoc

Активный
25 Ноя 2018
77
20
Попробуй заменить:
Код:
let PreGameHeroIcons = $.GetContextPanel().GetParent().GetParent().GetParent().FindChildTraverse("HeroList")
на
Код:
let PreGameHeroIcons = $.GetContextPanel().GetParent().GetParent().GetParent().FindChildTraverse("PreGame").FindChildTraverse("MainContents").FindChildTraverse("HeroList")
и вот тут
Код:
PregameHeroicon.style.washColor = "red"
должно быть
Код:
PregameHeroicon[i].style.washColor = "red"
 

ION

Активный
10 Ноя 2019
73
4
Проект
Memethrow 2.0 dota 2
Попробуй заменить:
Код:
let PreGameHeroIcons = $.GetContextPanel().GetParent().GetParent().GetParent().FindChildTraverse("HeroList")
на
Код:
let PreGameHeroIcons = $.GetContextPanel().GetParent().GetParent().GetParent().FindChildTraverse("PreGame").FindChildTraverse("MainContents").FindChildTraverse("HeroList")
и вот тут
Код:
PregameHeroicon.style.washColor = "red"
должно быть
Код:
PregameHeroicon[i].style.washColor = "red"
во, уже есть изменения. Только оно поменяло всех героев силы, а ловкость и инт остались как были. Ещё i=0 что б первого закрасило
 

lesssay[j]

Пользователь
28 Дек 2019
15
2
vk.com
Проект
Diretide SuperStar
Не видно скилл в игре (на экране выбора героя он есть)


Код:
    //=================================================================================================================
    // Holdout: Blade Fury
    //=================================================================================================================
    "holdout_blade_fury"
    {
        // General
        //-------------------------------------------------------------------------------------------------------------
        "AbilityTextureName"            "juggernaut_blade_fury"
        "AbilityBehavior"                "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE | DOTA_ABILITY_BEHAVIOR_IGNORE_CHANNEL"
        "AbilityUnitDamageType"            "DAMAGE_TYPE_MAGICAL"   
    
        // Casting
        //-------------------------------------------------------------------------------------------------------------
        "AbilityCastRange"                "0"
        "AbilityCastPoint"                "0 0 0 0"

        // Time       
        //-------------------------------------------------------------------------------------------------------------
        "AbilityCooldown"                "24.0 22.0 20.0 18.0"

        // Cost
        //-------------------------------------------------------------------------------------------------------------
        "AbilityManaCost"                "80"       

        // Special
        //-------------------------------------------------------------------------------------------------------------
        "AbilitySpecial"
        {
            "01"
            {
                "var_type"                    "FIELD_FLOAT"
                "blade_fury_damage_tick"    "0.2"
            }
            "02"
            {
                "var_type"                    "FIELD_INTEGER"
                "blade_fury_radius"            "250"
            }
            "03"
            {
                "var_type"                    "FIELD_FLOAT"
                "duration"                    "5.0 5.0 5.0 5.0"
            }
            "04"
            {
                "var_type"                    "FIELD_INTEGER"
                "damage"                    "25 75 125 175"
            }
            "05"
            {
                "var_type"                    "FIELD_INTEGER"
                "bonus_evasion"                "20 40 60 80"
            }
        }
    }

Код:
    //=================================================================================================================
    // HERO: Juggernaut
    //=================================================================================================================
    "npc_dota_hero_juggernaut_dark_moon"
    {
        "override_hero"            "npc_dota_hero_juggernaut"
        "AbilityLayout"                "5"
        
        "Ability1"                "holdout_blade_fury"
        "Ability6"                "holdout_omnislash"
        "VisionNighttimeRange"        "1800"                                    // Range of vision at night time.
    }
 

ION

Активный
10 Ноя 2019
73
4
Проект
Memethrow 2.0 dota 2
Не видно скилл в игре (на экране выбора героя он есть)


Код:
    //=================================================================================================================
    // Holdout: Blade Fury
    //=================================================================================================================
    "holdout_blade_fury"
    {
        // General
        //-------------------------------------------------------------------------------------------------------------
        "AbilityTextureName"            "juggernaut_blade_fury"
        "AbilityBehavior"                "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE | DOTA_ABILITY_BEHAVIOR_IGNORE_CHANNEL"
        "AbilityUnitDamageType"            "DAMAGE_TYPE_MAGICAL"  
   
        // Casting
        //-------------------------------------------------------------------------------------------------------------
        "AbilityCastRange"                "0"
        "AbilityCastPoint"                "0 0 0 0"

        // Time      
        //-------------------------------------------------------------------------------------------------------------
        "AbilityCooldown"                "24.0 22.0 20.0 18.0"

        // Cost
        //-------------------------------------------------------------------------------------------------------------
        "AbilityManaCost"                "80"      

        // Special
        //-------------------------------------------------------------------------------------------------------------
        "AbilitySpecial"
        {
            "01"
            {
                "var_type"                    "FIELD_FLOAT"
                "blade_fury_damage_tick"    "0.2"
            }
            "02"
            {
                "var_type"                    "FIELD_INTEGER"
                "blade_fury_radius"            "250"
            }
            "03"
            {
                "var_type"                    "FIELD_FLOAT"
                "duration"                    "5.0 5.0 5.0 5.0"
            }
            "04"
            {
                "var_type"                    "FIELD_INTEGER"
                "damage"                    "25 75 125 175"
            }
            "05"
            {
                "var_type"                    "FIELD_INTEGER"
                "bonus_evasion"                "20 40 60 80"
            }
        }
    }

Код:
    //=================================================================================================================
    // HERO: Juggernaut
    //=================================================================================================================
    "npc_dota_hero_juggernaut_dark_moon"
    {
        "override_hero"            "npc_dota_hero_juggernaut"
        "AbilityLayout"                "5"
       
        "Ability1"                "holdout_blade_fury"
        "Ability6"                "holdout_omnislash"
        "VisionNighttimeRange"        "1800"                                    // Range of vision at night time.
    }
BaseClass забыл
 
  • Влюблен
Реакции: lesssay[j]

ION

Активный
10 Ноя 2019
73
4
Проект
Memethrow 2.0 dota 2
во, уже есть изменения. Только оно поменяло всех героев силы, а ловкость и инт остались как были. Ещё i=0 что б первого закрасило
Есть панель HeroGrid, в которое есть три панели с классами каждого атрибута героев. Оно по стандарту взяло первый попавшийся HeroList - то есть героев силы, и поменяло их. А остальные HeroListы оно уже не меняло. Пытался по подробному пути получить доступ - не вышло..что делац((
 

muRLoc

Активный
25 Ноя 2018
77
20
Есть панель HeroGrid, в которое есть три панели с классами каждого атрибута героев. Оно по стандарту взяло первый попавшийся HeroList - то есть героев силы, и поменяло их. А остальные HeroListы оно уже не меняло. Пытался по подробному пути получить доступ - не вышло..что делац((
Попробуй выбрать панельку которая чуть выше, то есть ты ищешь панельку HeroList через
Код:
let PreGameHeroIcons = $.GetContextPanel().GetParent().GetParent().GetParent().FindChildTraverse("PreGame").FindChildTraverse("MainContents").FindChildTraverse("HeroList")
но иконки поделены на 3 части, поэтому там таких 3 штуки, а выбирается первый по списку. Найди такую панель, которая сразу охватывает эти 3 HeroList'a. И обратись к ней через:
Код:
FindChildrenWithClassTraverse("HeroCard")
По идеи он выдаст тебе массив со всеми иконками.
 

muRLoc

Активный
25 Ноя 2018
77
20
В общем вот так у меня работает, была проблема - PickIconArray выдавал пустой массив, наверно не успевали панельки прогрузится, поэтому выставил задержку в 1 секунду.
Код:
function testTest()
{
    $.Msg("123");
    let PreGame = $.GetContextPanel().GetParent().GetParent().GetParent().FindChildTraverse("PreGame").FindChildTraverse("MainContents").FindChildTraverse("GridCategories");
    let PickIconArray = PreGame.FindChildrenWithClassTraverse("HeroCard")
    
    for (let key in PickIconArray)
    {
        $.Msg(key)
        PickIconArray[key].style.washColor="lime";
    }
}


(function () {
    $.Schedule(1, testTest);
})();
 
  • Нравится
Реакции: ION

lesssay[j]

Пользователь
28 Дек 2019
15
2
vk.com
Проект
Diretide SuperStar
Почему то строчка в описании скилла "Скилл из - блаблабла" не изменяется, в адон раша нету ниче но название всеравно осталось.
В адон инглиш тоже ниче нету.
В чем может быть проблема?

Безымянный.jpg
Код:
    //=================================================================================================================
    // HERO: Troll Warlord
    //=================================================================================================================

        "DOTA_Tooltip_ability_troll_cutthroat_boomeang_axe"    "Топор-Бумеранг"
        "DOTA_Tooltip_ability_troll_cutthroat_boomeang_axe_Description"    "Тролль-Головорез кидает в указанного врага топор, после чего он отскакивает в других противников, нанося им урон, зависящий от урона и силы героя, и применяя эффекты атаки. Бросив топор, Тролль теряет возможность атаковать. Топор можно вернуть, применив способность. Активирует спсобность Зачарованные Топоры на время полета топора."
        "DOTA_Tooltip_ability_troll_cutthroat_boomeang_axe_damage_percentage"    "%АТАКИ ТРОЛЛЯ В УРОН:"
        "DOTA_Tooltip_ability_troll_cutthroat_boomeang_axe_strength_into_damage_percentage"    "%СИЛЫ В УРОН:"      
        "DOTA_Tooltip_ability_troll_cutthroat_boomeang_axe_max_targets"    "МАКСИМАЛЬНОЕ ЧИСЛО ЦЕЛЕЙ:"      
        "DOTA_Tooltip_ability_troll_cutthroat_boomeang_axe_ability_cast_range"    "ДАЛЬНОСТЬ ПРИМЕНЕНИЯ:"      
       
        "DOTA_Tooltip_modifier_troll_cutthroat_boomeang_axe_disarm"    "Топор-Бумеранг"
        "DOTA_Tooltip_modifier_troll_cutthroat_boomeang_axe_disarm_Description" "Герой не сможет атаковать, пока к нему не вернется топор."
       
        "DOTA_Tooltip_ability_troll_cutthroat_boomeang_axe_return"    "Вернуть Топор"
        "DOTA_Tooltip_ability_troll_cutthroat_boomeang_axe_return_Description" "Топор возращается к Троллю."

        "DOTA_Tooltip_ability_troll_cutthroat_vulnerability"    "Уязвимость"
        "DOTA_Tooltip_ability_troll_cutthroat_vulnerability_Description"    "Есть шанс, что Тролль ударит врага в уязвимое место, нанеся критеческий урон и снизив его защиту."
        "DOTA_Tooltip_ability_troll_cutthroat_vulnerability_crit_chance"    "%ШАНС КРИТИЧЕСКОГО УДАРА:"
        "DOTA_Tooltip_ability_troll_cutthroat_vulnerability_crit_multiplier"    "%КРИТИЧЕСКИЙ УРОН:"  
        "DOTA_Tooltip_ability_troll_cutthroat_vulnerability_armor_reduction"    "СНИЖЕНИЕ ЗАЩИТЫ:"      

        "DOTA_Tooltip_modifier_troll_cutthroat_vulnerability_debuff"    "Уязвимость"
        "DOTA_Tooltip_modifier_troll_cutthroat_vulnerability_debuff_Description"    "Защита этого воина снижена на %dMODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS%."

        "DOTA_Tooltip_ability_troll_cutthroat_enchanted_axes"    "Зачарованные Топоры"
        "DOTA_Tooltip_ability_troll_cutthroat_enchanted_axes_Description"    "Тролль вращает вокруг себя два топора в радиусе 450, нанося урон противникам, равный постоянному значению и проценту от силы героя. У самого героя на время действия заклинания увеличивается скорость передвижения, и появляется способность проходить сквозь юнитов.<br>Способность активируется Топором-Бумерангом или Боевым Трансом."
        "DOTA_Tooltip_ability_troll_cutthroat_enchanted_axes_damage"    "УРОН:"
        "DOTA_Tooltip_ability_troll_cutthroat_enchanted_axes_str_prc_dmg"    "%СИЛЫ В УРОН:"
        "DOTA_Tooltip_ability_troll_cutthroat_enchanted_axes_bonus_movement_speed"    "%ДОПОЛНИТЕЛЬНАЯ СКОРОСТЬ ПЕРЕДВИЖЕНИЯ:"  
        "DOTA_Tooltip_ability_troll_cutthroat_enchanted_axes_whirl_duration"    "ДЛИТЕЛЬНОСТЬ ВРАЩЕНИЯ:"  

        "DOTA_Tooltip_modifier_whirling_axes_melee_phase"    "Зачарованные Топоры"
        "DOTA_Tooltip_modifier_whirling_axes_melee_phase_Description"    "Скорость передвижения этого героя увеличена, и он может проходить сквозь юнитов."

        "DOTA_Tooltip_ability_troll_cutthroat_battle_trance"    "Боевой Транс"
        "DOTA_Tooltip_ability_troll_cutthroat_battle_trance_Description"    "Тролль впадает в состояние Боевого Транса, увеличивая свою скорость атаки и силу. На время действия способности появляется возможность применять Зачарованные Топоры, и если использовать Топор-Бумеранг, то способность атаковать у героя не пропадет."
        "DOTA_Tooltip_ability_troll_cutthroat_battle_trance_bonus_attack_speed"    "%ДОПОЛНИТЕЛЬНАЯ СКОРОСТЬ АТАКИ:"
        "DOTA_Tooltip_ability_troll_cutthroat_battle_trance_bonus_strength"    "ДОПОЛНИТЕЛЬНАЯ СИЛЫ:"  
        "DOTA_Tooltip_ability_troll_cutthroat_battle_trance_duration"    "ДЛИТЕЛЬНОСТЬ:"  

        "DOTA_Tooltip_modifier_troll_cutthroat_battle_trance"    "Боевой Транс"
        "DOTA_Tooltip_modifier_troll_cutthroat_battle_trance_Description" "Скорость атаки и сила этого героя увеличена."
 
  • Нравится
Реакции: Sphincter

lesssay[j]

Пользователь
28 Дек 2019
15
2
vk.com
Проект
Diretide SuperStar
Почему то строчка в описании скилла "Скилл из - блаблабла" не изменяется, в адон раша нету ниче но название всеравно осталось.
В адон инглиш тоже ниче нету.
В чем может быть проблема?

Код:
    //=================================================================================================================
    // HERO: Troll Warlord
    //=================================================================================================================

        "DOTA_Tooltip_ability_troll_cutthroat_boomeang_axe"    "Топор-Бумеранг"
        "DOTA_Tooltip_ability_troll_cutthroat_boomeang_axe_Description"    "Тролль-Головорез кидает в указанного врага топор, после чего он отскакивает в других противников, нанося им урон, зависящий от урона и силы героя, и применяя эффекты атаки. Бросив топор, Тролль теряет возможность атаковать. Топор можно вернуть, применив способность. Активирует спсобность Зачарованные Топоры на время полета топора."
        "DOTA_Tooltip_ability_troll_cutthroat_boomeang_axe_damage_percentage"    "%АТАКИ ТРОЛЛЯ В УРОН:"
        "DOTA_Tooltip_ability_troll_cutthroat_boomeang_axe_strength_into_damage_percentage"    "%СИЛЫ В УРОН:"     
        "DOTA_Tooltip_ability_troll_cutthroat_boomeang_axe_max_targets"    "МАКСИМАЛЬНОЕ ЧИСЛО ЦЕЛЕЙ:"     
        "DOTA_Tooltip_ability_troll_cutthroat_boomeang_axe_ability_cast_range"    "ДАЛЬНОСТЬ ПРИМЕНЕНИЯ:"     
      
        "DOTA_Tooltip_modifier_troll_cutthroat_boomeang_axe_disarm"    "Топор-Бумеранг"
        "DOTA_Tooltip_modifier_troll_cutthroat_boomeang_axe_disarm_Description" "Герой не сможет атаковать, пока к нему не вернется топор."
      
        "DOTA_Tooltip_ability_troll_cutthroat_boomeang_axe_return"    "Вернуть Топор"
        "DOTA_Tooltip_ability_troll_cutthroat_boomeang_axe_return_Description" "Топор возращается к Троллю."

        "DOTA_Tooltip_ability_troll_cutthroat_vulnerability"    "Уязвимость"
        "DOTA_Tooltip_ability_troll_cutthroat_vulnerability_Description"    "Есть шанс, что Тролль ударит врага в уязвимое место, нанеся критеческий урон и снизив его защиту."
        "DOTA_Tooltip_ability_troll_cutthroat_vulnerability_crit_chance"    "%ШАНС КРИТИЧЕСКОГО УДАРА:"
        "DOTA_Tooltip_ability_troll_cutthroat_vulnerability_crit_multiplier"    "%КРИТИЧЕСКИЙ УРОН:" 
        "DOTA_Tooltip_ability_troll_cutthroat_vulnerability_armor_reduction"    "СНИЖЕНИЕ ЗАЩИТЫ:"     

        "DOTA_Tooltip_modifier_troll_cutthroat_vulnerability_debuff"    "Уязвимость"
        "DOTA_Tooltip_modifier_troll_cutthroat_vulnerability_debuff_Description"    "Защита этого воина снижена на %dMODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS%."

        "DOTA_Tooltip_ability_troll_cutthroat_enchanted_axes"    "Зачарованные Топоры"
        "DOTA_Tooltip_ability_troll_cutthroat_enchanted_axes_Description"    "Тролль вращает вокруг себя два топора в радиусе 450, нанося урон противникам, равный постоянному значению и проценту от силы героя. У самого героя на время действия заклинания увеличивается скорость передвижения, и появляется способность проходить сквозь юнитов.<br>Способность активируется Топором-Бумерангом или Боевым Трансом."
        "DOTA_Tooltip_ability_troll_cutthroat_enchanted_axes_damage"    "УРОН:"
        "DOTA_Tooltip_ability_troll_cutthroat_enchanted_axes_str_prc_dmg"    "%СИЛЫ В УРОН:"
        "DOTA_Tooltip_ability_troll_cutthroat_enchanted_axes_bonus_movement_speed"    "%ДОПОЛНИТЕЛЬНАЯ СКОРОСТЬ ПЕРЕДВИЖЕНИЯ:" 
        "DOTA_Tooltip_ability_troll_cutthroat_enchanted_axes_whirl_duration"    "ДЛИТЕЛЬНОСТЬ ВРАЩЕНИЯ:" 

        "DOTA_Tooltip_modifier_whirling_axes_melee_phase"    "Зачарованные Топоры"
        "DOTA_Tooltip_modifier_whirling_axes_melee_phase_Description"    "Скорость передвижения этого героя увеличена, и он может проходить сквозь юнитов."

        "DOTA_Tooltip_ability_troll_cutthroat_battle_trance"    "Боевой Транс"
        "DOTA_Tooltip_ability_troll_cutthroat_battle_trance_Description"    "Тролль впадает в состояние Боевого Транса, увеличивая свою скорость атаки и силу. На время действия способности появляется возможность применять Зачарованные Топоры, и если использовать Топор-Бумеранг, то способность атаковать у героя не пропадет."
        "DOTA_Tooltip_ability_troll_cutthroat_battle_trance_bonus_attack_speed"    "%ДОПОЛНИТЕЛЬНАЯ СКОРОСТЬ АТАКИ:"
        "DOTA_Tooltip_ability_troll_cutthroat_battle_trance_bonus_strength"    "ДОПОЛНИТЕЛЬНАЯ СИЛЫ:" 
        "DOTA_Tooltip_ability_troll_cutthroat_battle_trance_duration"    "ДЛИТЕЛЬНОСТЬ:" 

        "DOTA_Tooltip_modifier_troll_cutthroat_battle_trance"    "Боевой Транс"
        "DOTA_Tooltip_modifier_troll_cutthroat_battle_trance_Description" "Скорость атаки и сила этого героя увеличена."
Перезапустил доту, все пофиксилось. :D
 

ION

Активный
10 Ноя 2019
73
4
Проект
Memethrow 2.0 dota 2
В общем вот так у меня работает, была проблема - PickIconArray выдавал пустой массив, наверно не успевали панельки прогрузится, поэтому выставил задержку в 1 секунду.
Код:
function testTest()
{
    $.Msg("123");
    let PreGame = $.GetContextPanel().GetParent().GetParent().GetParent().FindChildTraverse("PreGame").FindChildTraverse("MainContents").FindChildTraverse("GridCategories");
    let PickIconArray = PreGame.FindChildrenWithClassTraverse("HeroCard")
   
    for (let key in PickIconArray)
    {
        $.Msg(key)
        PickIconArray[key].style.washColor="lime";
    }
}


(function () {
    $.Schedule(1, testTest);
})();
От души) всё работает.
 

ION

Активный
10 Ноя 2019
73
4
Проект
Memethrow 2.0 dota 2
Можно как-то через дд сделать что б скилл у героя был сразу прокачан? Только не нужно говорить что в луа напиши ability:SetLevel и т.д.. Мне просто нужно что герой заспавнился, и у него сходу был скилл, что б не приходилось качать какой-то другой скилл, в котором есть функция по прокачке другого скила
 
Последнее редактирование:

SniperX

Друзья CG
26 Фев 2018
441
54
steamcommunity.com
Проект
Белоозерская Потасовка - Reworked
Только не нужно говорить что в луа напиши ability:SetLevel и т.д.
Тогда никак
что б не приходилось качать какой-то другой скилл, в котором есть функция по прокачке другого скила
а зачем? в addon_game_mode пропиши, чтобы делал SetLevel
 
  • Нравится
Реакции: ION

ION

Активный
10 Ноя 2019
73
4
Проект
Memethrow 2.0 dota 2
Тогда никак

а зачем? в addon_game_mode пропиши, чтобы делал SetLevel
всё, сделал через events.lua. Дело было у меня со скиллом, который с аганимом добавлялся. Если не ставить его в слот generic_hidden, то когда он появляется на нём нету хоткея, приходится мышкой активировать. Выдавался он проверкой в другом скилле, пассивке. То есть эта функция проверки не стартует если скилл не вкачать. А что б хоткей был на абилке, нужно ставить в слот "AbilityN". Но тогда выходит что со старта у меня есть 5 скиллов, качаю пассивку в которой проверка - скилл пропадает (ну логично же:) ). ПО этому хотел сделать скрытую пассивку со старта, у которой будет какой нить thinker на проверку аганима. А оказалось всё проще. В итоге вкинул абилку в пятый слот, спрятал её через ивент, а выдаётся при прокачке пассивки с аганимом. Всё гуд
Lua:
function COverthrowGameMode:OnNPCSpawned( event )
    local hero = EntIndexToHScript(event.entindex)
    if hero:GetUnitName() == "HERONAME" then
    hero:RemoveAbility("AbilityName") -- Аганимная абилка пятого слота, прячем её
    end
end
 
Реклама: