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

  • Автор темы Автор темы ZLOY
  • Дата начала Дата начала
Вылетает кастомка после 7-ой минуты.
В консоли пишет:
Код:
ResetBreakpadAppId: Universe is 1
ResetBreakpadAppId: Setting non standard break pad app id: 375360
Как исправить?
 
Помогите пожалуйста.

Есть вопрос как сделать абилку или что то что после смерти юнита делает хп и урон этого самого юнита больше на 5%
 
Помогите пожалуйста.

Есть вопрос как сделать абилку или что то что после смерти юнита делает хп и урон этого самого юнита больше на 5%
на самом деле такие простые вопросы теперь можно решать с помощью OpenaAi:

твоя пассивная способность на луа:
Lua:
--Вот пример кода для пассивной способности в Dota 2, которая увеличивает хп и урон юнита на 5% после его смерти:

LinkLuaModifier("modifier_my_passive_ability", "path_to_modifier_file.lua", LUA_MODIFIER_MOTION_NONE)

my_passive_ability = class({})

function my_passive_ability:GetIntrinsicModifierName()
    return "modifier_my_passive_ability"
end

modifier_my_passive_ability = class({})

function modifier_my_passive_ability:IsHidden()
    return true
end

function modifier_my_passive_ability:DeclareFunctions()
    return {
        MODIFIER_EVENT_ON_DEATH,
        MODIFIER_PROPERTY_EXTRA_HEALTH_PERCENTAGE,
        MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE
    }
end

function modifier_my_passive_ability:OnDeath(keys)
    if IsServer() then
        local unit = keys.unit
        local attacker = keys.attacker

        if unit == self:GetParent() and attacker:IsHero() then
            self:SetStackCount(self:GetStackCount() + 1)
        end
    end
end

function modifier_my_passive_ability:GetModifierExtraHealthPercentage()
    return self:GetStackCount() * 5
end

function modifier_my_passive_ability:GetModifierBaseDamageOutgoing_Percentage()
    return self:GetStackCount() * 5
end


--Примечания:
--1. Замените "path_to_modifier_file.lua" на путь к файлу модификатора.
--2. Этот код должен быть размещен в файле с расширением .lua, который будет загружаться в игру.
--3. Ваш персонаж должен иметь эту способность в своем файле NPC в формате Key-Value или Lua.
 
на самом деле такие простые вопросы теперь можно решать с помощью OpenaAi:

твоя пассивная способность на луа:
Lua:
--Вот пример кода для пассивной способности в Dota 2, которая увеличивает хп и урон юнита на 5% после его смерти:

LinkLuaModifier("modifier_my_passive_ability", "path_to_modifier_file.lua", LUA_MODIFIER_MOTION_NONE)

my_passive_ability = class({})

function my_passive_ability:GetIntrinsicModifierName()
    return "modifier_my_passive_ability"
end

modifier_my_passive_ability = class({})

function modifier_my_passive_ability:IsHidden()
    return true
end

function modifier_my_passive_ability:DeclareFunctions()
    return {
        MODIFIER_EVENT_ON_DEATH,
        MODIFIER_PROPERTY_EXTRA_HEALTH_PERCENTAGE,
        MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE
    }
end

function modifier_my_passive_ability:OnDeath(keys)
    if IsServer() then
        local unit = keys.unit
        local attacker = keys.attacker

        if unit == self:GetParent() and attacker:IsHero() then
            self:SetStackCount(self:GetStackCount() + 1)
        end
    end
end

function modifier_my_passive_ability:GetModifierExtraHealthPercentage()
    return self:GetStackCount() * 5
end

function modifier_my_passive_ability:GetModifierBaseDamageOutgoing_Percentage()
    return self:GetStackCount() * 5
end


--Примечания:
--1. Замените "path_to_modifier_file.lua" на путь к файлу модификатора.
--2. Этот код должен быть размещен в файле с расширением .lua, который будет загружаться в игру.
--3. Ваш персонаж должен иметь эту способность в своем файле NPC в формате Key-Value или Lua.
А как это сделать я немного не до конца понял?
 
Есть ли способ на дефолтной карте доты поменять таймер рошана? Или только переписывать всю механику?
 
Да информации очень много, но со стороны обычного юзера, который решил заняться с 0 очень много не понятного, я например пол дня разбирал код как сделать TEAM_CUSTOM (типо что бы было только 3 команды по 2 человека, или 1 команда на 5 человек и т.д.)
P.S. Спасибо вам парни, без этого огромного справочника, у меня бы все закончилось на рисовании карты
Подскажи, пожалуйста, если разобрался. Я сделал себе 6 кастомных команд, но не понимаю, как настроить для каждой свой респаун. У меня все команды появляются в одном месте
 
Если я хочу добавить в кастомку вторую карту, можно ли использовать для неё отдельные InitGameMode и панораму?
 
Если я хочу добавить в кастомку вторую карту, можно ли использовать для неё отдельные InitGameMode и панораму?
Нашёл ответ на свой вопрос. Все изменения можно вносить через if GetMapName() == "dota" then
 
Кто-нибудь знает как создавать партикли в panorama и цеплять к панелям? Например, сделать свечение или какое-нибудь пламя у панели.
 
Помогите пожалуйста у меня что-то не работет. Если коротко то по идеи должно быть что если умирает "npc_vaal_dire" то побеждает RADIANT, а если умирает "npc_vaal_radiant" то побеждает DIRE. Но по итогу при загрузки кастомки побеждает radiant.

InitGameMode:
Lua:
ListenToGameEvent('entity_killed', Dynamic_Wrap(self, 'OnTitanDead'), self)

OnTitanDead:
Lua:
function titandefense:OnTitanDead(data)
    local killed_unit = EntIndexToHScript( data.entindex_killed )

    if killed_unit:GetUnitName() == "npc_vaal_dire" then
        GameRules:SetGameWinner(DOTA_TEAM_GOODGUYS)
    end
    if killed_unit:GetUnitName() == "npc_vaal_radiant" then
        GameRules:SetGameWinner(DOTA_TEAM_BADGUYS)
    end
end

UPD: Пофиксил
 
Последнее редактирование:
Здравствуйте! Как выдать предмет игроку при убийстве определенного юнита?
 
Здравствуйте! Как выдать предмет игроку при убийстве определенного юнита?
Можно попробовать через слушатель last_hit, а ты вроде со слушателями умеешь работать) Если нужен подробный ответ, напиши
 
Реклама: