[Ability&Modifier] SwapAbilities

  • Официальное уведомление администрации CustomGames.RU
    В связи с масштабным техническим сбоем в инфраструктуре прежнего хостинг-провайдера (Beget), работа форума CustomGames.RU была оперативно перенесена на новую серверную площадку и развёрнута из резервной копии базы данных.

    • Безопасность данных: учётные записи и данные пользователей находятся в полной безопасности. Все пароли и защищаемые параметры хранятся исключительно в криптографически зашифрованном (хэшированном) виде — никаких критических инцидентов для аккаунтов пользователей не произошло.
    • Временные технические ограничения: на этапе синхронизации файлового хранилища часть статических материалов (пользовательские аватары и архивные вложения) временно недоступна. По мере получения доступа к файловым архивам все материалы будут восстановлены в полном объёме.

EnDronist

Продвинутый
28 Апр 2016
231
0
Проект
Защитники Изобилия | Defenders of Abundance
Пытался сделать переключаемую способность, как Nightmare у Bane или Ice Blast у Ancient Apparation, но столкнулся с проблемой при обратном переключении, которое срабатывает, когда уничтожается бафф, накладывающийся на героя при смене изначальной способности:
1526642334132.png1526642383728.png1526642422359.png

Lua:
function SomeText(keys)
    -- Ability Datadriven, Lua Function with arguments "main_ability_name" and "sub_ability_name"
    print(keys.main_ability_name,keys.sub_ability_name)
    print(keys.target,keys.caster)
    if target == caster then
        keys.caster:SwapAbilities(keys.main_ability_name,keys.sub_ability_name,false,true) -- Криво свапает
        if keys.main_ability_name == keys.check_ability then
            local level_ability = keys.caster:FindAbilityByName(keys.sub_ability_name)
            if level_ability:GetLevel() ~= 1 then level_ability:SetLevel(1) end
        end
    end
end
 
Оп, а вот и нашёл проблему. Т.к. способность менялась при её использовании, а использование - целенаправленное, то скрипт запускался, но не менял способность на другую, хотя визуально она менялась, что странно. Но в первую очередь проблема заключалась в том, что target и caster были написаны без обращения к переменным класса keys, мда. (Псс, как пометить тему, как решённую?)
 
Реклама: