Решено Обнова доты((

Novichek

Активный
18 Фев 2020
123
14
Проект
Evo Land
После ночного последнего обновления вылетает игра когда игрок прожимает предмет а ему должна датся способность когда я пытаюсь удалить предмет после использования
caster:RemoveItem(self) то вылетает игра. Ну почему так?

Lua:
item_famango4 = class({})
function item_famango4:OnSpellStart()
    local caster = self:GetCaster()
    local abilityName = "zuus_arc_lightning"
    local abilities = {
        "EMPTY",
        "EMPTY2",
        "EMPTY3",
        "EMPTY4",
        "EMPTY5",
        "EMPTY6"
    }
    if caster:HasAbility(abilityName) then
        local ability = caster:FindAbilityByName(abilityName)
        if ability:GetLevel() == 4 then
            caster:RemoveItem(self)
            return
        else
            ability:SetLevel(ability:GetLevel() + 1)
        end
    else
        caster:AddAbility(abilityName)
        for _, ability in ipairs(abilities) do
            if caster:HasAbility(ability) then
                local emptyAbility = caster:FindAbilityByName(ability)
                caster:SwapAbilities(emptyAbility:GetAbilityName(), abilityName, false, true)
                local newAbility = caster:FindAbilityByName(abilityName)
                newAbility:SetLevel(1)
                caster:RemoveAbility(emptyAbility:GetAbilityName())
                caster:RemoveItem(self)
                break
            end
        end
    end
end
 
Последнее редактирование:
Габен сломал функцию RemoveItem, попробуй вместо неё использовать item: Destroy()
 
У меня нормально работает RemoveItem. Чёт вы тут бредите, судари.
И зачем уничтожать айтем, если можно, к примеру, "скушать" его, потратив заряд?
 
  • Злость
Реакции: fabio_longo
Удаляй предмет через один фрейм с помощью таймера и все будет ок
 
При использовании просто добавляешь self:SpendCharge().
Заранее укажи что предмет НЕперманентный, а значит исчезнет сам после использования. Скриншот ниже.
 

Вложения

  • 1710718205789.png
    1710718205789.png
    33.9 KB · Просмотры: 12
При использовании просто добавляешь self:SpendCharge().
Заранее укажи что предмет НЕперманентный, а значит исчезнет сам после использования. Скриншот ниже.
Тоесть ремув писать не нужно?
 
  • Нравится
Реакции: .фи
Реклама: