Насмешка/taunt. Можно ли её добавить?

  • Автор темы Автор темы Zek13f1
  • Дата начала Дата начала
Код работает, проверил в обе стороны, убил героем - героя бота, сработала насмешка, убил героем бота - своего героя у него сработала насмешка
Да работает, но вот я пробовал на джагере, почему то не работает
 
Вот ты заставляешь меня.. сейчас посмотреть танут на джаге?
Да, пожалуйста
f09f998f_2x.png
 
1691683135233.png для него надо делать определение акта скорее всего, мне сейчас некогда этим заниматься

1691683234340.png
 
Потому-что надо накладывать модификатор при спавне, а OnSpellStart() в модификаторе воспроизводить при убийстве
Просто перенеси нужные функции из OnSpellStart способности в OnCreated модифаера и тогда всё должно сработать )
 
if killerEntity:GetUnitName() == "npc_dota_hero_juggernaut" then
print(killerEntity:GetUnitName() .. " убил кого-то")
EmitSoundOn("juggernaut_jug_taunt_01", killerEntity)
print("Сработал звук")
killerEntity:StartGestureWithPlaybackRate(ACT_DOTA_TAUNT_STATUE, 1)
print("Сработала анимация")
end
Lua:
LinkLuaModifier("modifier_juggernaut_taunt", "heroes/hero_juggernaut/juggernaut_taunt", LUA_MODIFIER_MOTION_NONE)

juggernaut_taunt = class({})

modifier_juggernaut_taunt = class({
    IsHidden                = function(self) return false end,
    IsPurgable              = function(self) return false end,
    IsDebuff                = function(self) return false end,
    IsBuff                  = function(self) return true end,
    RemoveOnDeath           = function(self) return false end,
    DeclareFunctions        = function(self) return
    {
        MODIFIER_PROPERTY_TRANSLATE_ACTIVITY_MODIFIERS,
    } end,
})

function modifier_juggernaut_taunt:GetActivityTranslationModifiers()
    return "sharp_blade"
end

В общем у каждого таунта есть своё название в зависимости от героя и сезона когда они добавлены я вытащил из VPK файла 2 текстовика засунул в архив и закрепил - в котором есть описание всяких хуевин которые есть в доте, тем самым я узнал, что sharp_blade - хуйня для таунта джаги

function modifier_juggernaut_taunt:GetActivityTranslationModifiers()
return "sharp_blade"
end

Методом перебора актов понял что для джаги нужно вызвать ACT_DOTA_TAUNT_STATUE


Так же я понял, что модификатор лучше накладывать 1 раз, а не каждый раз ибо из за этого может что то отъебунуть







Создаем скилл в npc_abilities_custom.txt
Код:
    "juggernaut_taunt"
    {
        "BaseClass"                     "ability_lua"
        "ScriptFile"                    "heroes/hero_juggernaut/juggernaut_taunt"
        "AbilityBehavior"               "DOTA_ABILITY_BEHAVIOR_NO_TARGET"
        "AbilityType"                   "DOTA_ABILITY_TYPE_BASIC"
        "MaxLevel"                      "1"
        "AbilitySound"                  "juggernaut_jug_taunt_01"
        "AbilityCastAnimation"          "ACT_DOTA_TAUNT_STATUE"
    }
Даем скилл герою в npc_heroes_custom.txt
Код:
    "npc_dota_hero_juggernaut"
        {
        "Ability10" "juggernaut_taunt"
        }
Создаем juggernaut_taunt.lua - модификатор
Lua:
LinkLuaModifier("modifier_juggernaut_taunt", "heroes/hero_juggernaut/juggernaut_taunt", LUA_MODIFIER_MOTION_NONE)

juggernaut_taunt = class({})
function juggernaut_taunt :OnSpellStart()
    local caster = self:GetCaster()
    caster:AddNewModifier(caster, self, "modifier_chaos_knight_taunt", {duration = 1})
end
modifier_juggernaut_taunt = class({
    IsHidden                = function(self) return false end,
    IsPurgable              = function(self) return false end,
    IsDebuff                = function(self) return false end,
    IsBuff                  = function(self) return true end,
    RemoveOnDeath           = function(self) return false end,
    DeclareFunctions        = function(self) return
    {
        MODIFIER_PROPERTY_TRANSLATE_ACTIVITY_MODIFIERS,
    } end,
})

function modifier_juggernaut_taunt:GetActivityTranslationModifiers()
    return "sharp_blade"
end
 

Вложения

  • 1.zip
    1.zip
    3 MB · Просмотры: 4
Последнее редактирование:
На каждого героя уж сам делай, я дал максимум информации и кучу кода, который по факту нахуй не нужен ибо действительно можно было обойтись OnCreated
 
Реклама: