Таргетное умение в направленное

sometobreak

Пользователь
11 Мар 2023
31
1
vk.com
Проект
Naruto Wars Arena
Здравствуйте, может кто-то знает как таргетный скилл переделать в скиллшот?
Вот кусочек кода:

function Hero_Ability:OnSpellStart(self)
local caster = self:GetCaster()
local target = self:GetCursorTarget()
local channel_time = self:GetChannelTime()
local ____target_TriggerSpellAbsorb_result_0 = target
if ____target_TriggerSpellAbsorb_result_0 ~= nil then
____target_TriggerSpellAbsorb_result_0 = ____target_TriggerSpellAbsorb_result_0:TriggerSpellAbsorb(self)
end
if ____target_TriggerSpellAbsorb_result_0 then
return
end
self.target = target
local ____target_AddNewModifier_result_2 = target
if ____target_AddNewModifier_result_2 ~= nil then
____target_AddNewModifier_result_2 = ____target_AddNewModifier_result_2:AddNewModifier(caster, self, "modifier_tsukuyomi", {duration = channel_time})
end
end
 
Не туда воюешь
"AbilityBehavior" по сути то, что тебе необходимо с параметром "DOTA_ABILITY_BEHAVIOR_POINT"
 
Не туда воюешь
"AbilityBehavior" по сути то, что тебе необходимо с параметром "DOTA_ABILITY_BEHAVIOR_POINT"
Этого мало, это я сразу сделал, но код самого умения написан как таргетное.
 
Поподробнее опиши, что ты хочешь ?
Есть ли аналог твоей способности в доте ?
 
Поподробнее опиши, что ты хочешь ?
Есть ли аналог твоей способности в доте ?
Аналога нет, вытащил умение из чужой кастомки, написано на луа. Умение кастуется таргетно, надо мышкой на врага наживать, а я хочу, чтобы оно либо как скилшот кастовалось, либо как область вокруг курсора.
 
Код:
function Hero_Ability:OnSpellStart(self)
    local caster = self:GetCaster()
    local point = self:GetCursorPosition()
    local channel_time = self:GetChannelTime()

    local units = FindUnitsInRadius(caster:GetTeam(), point, nil, 300, DOTA_UNIT_TARGET_TEAM_ENEMY,
            DOTA_UNIT_TARGET_BASIC+DOTA_UNIT_TARGET_HERO, DOTA_UNIT_TARGET_FLAG_NONE, FIND_CLOSEST, false)

    for _,unit in pairs(units) do
        unit:AddNewModifier(caster, self, "modifier_tsukuyomi", {duration = channel_time})
    end
end
рекомендую ознакомиться с тем как работают способности луа, а потом уже делать что-то свое/ модифицировать
 
Код:
function Hero_Ability:OnSpellStart(self)
    local caster = self:GetCaster()
    local point = self:GetCursorPosition()
    local channel_time = self:GetChannelTime()

    local units = FindUnitsInRadius(caster:GetTeam(), point, nil, 300, DOTA_UNIT_TARGET_TEAM_ENEMY,
            DOTA_UNIT_TARGET_BASIC+DOTA_UNIT_TARGET_HERO, DOTA_UNIT_TARGET_FLAG_NONE, FIND_CLOSEST, false)

    for _,unit in pairs(units) do
        unit:AddNewModifier(caster, self, "modifier_tsukuyomi", {duration = channel_time})
    end
end
рекомендую ознакомиться с тем как работают способности луа, а потом уже делать что-то свое/ модифицировать
посоветуешь что-то на русскому? я вроде на форуме читал все что было по кастомным умениям
 
Посмотри все гайды отсюда как минимум
 
Реклама: