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

Статус
В этой теме нельзя размещать новые ответы.
Тут собственно свой мод выложить можно?, ито не могу найти куда бы вставить свое детище, хоть и баянистое зато с душой сделанное
 
Оч глупый вопрос был, извините, просто сами поймете когда увидите, надеюсь не удалят))
 
Я делал это так (наследуешь от "special_bonus_undefined"):
Код:
function Talents:LinkTalent( hero, talent_name, linked_talent_name )
    if hero:HasAbility( talent_name ) then
        local modifier = hero:AddNewModifier( hero, nil, "modifier_talent_linker", {} )
        modifier:StartCheck( hero:FindAbilityByName( talent_name ), linked_talent_name )
    end
end

modifier_talent_linker = class( {} )
function modifier_talent_linker:GetAttributes()
    return MODIFIER_ATTRIBUTE_PERMANENT + MODIFIER_ATTRIBUTE_MULTIPLE + MODIFIER_ATTRIBUTE_IGNORE_INVULNERABLE
end
function modifier_talent_linker:IsHidden()
    return true
end
function modifier_talent_linker:StartCheck( talent, linked_talent_name )
    if IsServer() then
        self.talent = talent
        self.linked_talent_name = linked_talent_name
        self:StartIntervalThink( 0.5 )
    end
end
function modifier_talent_linker:OnIntervalThink()
    if self.talent:IsTrained() then
        local linked_talent = self:GetParent():AddAbility( self.linked_talent_name )
        linked_talent:UpgradeAbility( true )
        self:Destroy()
    end
end
Тут при вкачке основного таланта, герою дается способность linked_talent. Она уже может быть написана как угодно: на дд, луа, или еще как. Можешь изменить под себя, и давать модификатор вместо способности.
Возможно есть способ проще, но тут так-то тоже ничего сложного.
Я так понимаю. При выкачке скилла - герой получает скрытый модификатор,который чекает каждые 0.5 секунды взят ли талант или нет? и если взят = накидывает модификатор?
 
Я делал это так (наследуешь от "special_bonus_undefined"):
Код:
function Talents:LinkTalent( hero, talent_name, linked_talent_name )
    if hero:HasAbility( talent_name ) then
        local modifier = hero:AddNewModifier( hero, nil, "modifier_talent_linker", {} )
        modifier:StartCheck( hero:FindAbilityByName( talent_name ), linked_talent_name )
    end
end

modifier_talent_linker = class( {} )
function modifier_talent_linker:GetAttributes()
    return MODIFIER_ATTRIBUTE_PERMANENT + MODIFIER_ATTRIBUTE_MULTIPLE + MODIFIER_ATTRIBUTE_IGNORE_INVULNERABLE
end
function modifier_talent_linker:IsHidden()
    return true
end
function modifier_talent_linker:StartCheck( talent, linked_talent_name )
    if IsServer() then
        self.talent = talent
        self.linked_talent_name = linked_talent_name
        self:StartIntervalThink( 0.5 )
    end
end
function modifier_talent_linker:OnIntervalThink()
    if self.talent:IsTrained() then
        local linked_talent = self:GetParent():AddAbility( self.linked_talent_name )
        linked_talent:UpgradeAbility( true )
        self:Destroy()
    end
end
Тут при вкачке основного таланта, герою дается способность linked_talent. Она уже может быть написана как угодно: на дд, луа, или еще как. Можешь изменить под себя, и давать модификатор вместо способности.
Возможно есть способ проще, но тут так-то тоже ничего сложного.
Но вот вопрос. Как он определяет выкачанность таланта? Он вроде всегда даёт модификатор.
 
Но вот вопрос. Как он определяет выкачанность таланта? Он вроде всегда даёт модификатор.

Что такое талант? Это абилка. И у абилки есть уровень. Возможно, так и проверяет. Но мне сдается, что никакой там модификатор ниче не проверяет. Просто абилка сама навешивает модификатор при прокачке и все.
 
как сделать общий фонтан? у меня 10 команд и надо сделать 1 общий
 
где взять абилку фонтана?
У меня на карте есть вд - аналог общего фонтана !
вот абилка
Код:
    "fountain_aura"
    {
        // General
        //-------------------------------------------------------------------------------------------------------------
        "AbilityBehavior"                "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_PASSIVE"
        "BaseClass"                        "ability_datadriven"
        "AbilityTextureName"            "witch_doctor_voodoo_restoration"
        
        "OnSpellStart"
        {
            "ApplyModifier"
            {
                "ModifierName"            "fountain_aura_regen"
                "Target"                "CASTER"
            }
        }
        "AbilitySpecial"
        {
            // This Values are mostly for tooltips, the unit stats are not affected
            "01"
            {
                "var_type"                    "FIELD_INTEGER"
                "hp_reg"                    "6"
            }
            "02"
            {
                "var_type"                    "FIELD_INTEGER"
                "mp_reg"                    "6"
            }
            
        }
        // Modifiers
        //-------------------------------------------------------------------------------------------------------------
        "Modifiers"
        {
            "fountain_aura_regen"
            {
                "IsHidden"                "1"
                "Passive"                "1"
                "Aura_ApplyToCaster"    "0"
                
                "Aura"                    "modifier_fountain_regen"
                "Aura_Radius"            "600"
                "Aura_Teams"            "DOTA_UNIT_TARGET_TEAM_ENEMY"
                "Aura_Types"            "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_CREEP | DOTA_UNIT_TARGET_MECHANICAL"
                "Aura_Flags"             "DOTA_UNIT_TARGET_FLAG_INVULNERABLE"
                "Aura_ApplyToCaster"    "0"
                
            }
            
            "modifier_fountain_regen"
            {
                "IsBuff" "1"
                "Passive" "0"
                "IsHidden" "0"
                "EffectName"        "particles/generic_gameplay/rune_regeneration.vpcf" //"particles/items_fx/healing_flask.vpcf" //"particles/econ/events/ti4/radiant_fountain_regen_ti4.vpcf"
                "EffectAttachType"    "follow_origin"
                "Properties"
                {
                    "MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE"    "%hp_reg"
                    "MODIFIER_PROPERTY_MANA_REGEN_TOTAL_PERCENTAGE"     "%mp_reg"
                }
            }   
        }
    }
 
  • Нравится
Реакции: makc45tlist
Но вот вопрос. Как он определяет выкачанность таланта? Он вроде всегда даёт модификатор.
if self.talent:IsTrained() then
LinkTalent надо делать вручную в начале игры. Модификатор этот будет висеть, пока не вкачаешь талант, которой по сути будет пустышкой. Просто при этом добавиться уже нормальный талант (способность), который можешь сам написать. Либо сразу давать модификатор вместо способности, но лучше все-таки давать способность-пассивку.
 
Последнее редактирование:
У меня на карте есть вд - аналог общего фонтана !
вот абилка
Код:
    "fountain_aura"
    {
        // General
        //-------------------------------------------------------------------------------------------------------------
        "AbilityBehavior"                "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_PASSIVE"
        "BaseClass"                        "ability_datadriven"
        "AbilityTextureName"            "witch_doctor_voodoo_restoration"
       
        "OnSpellStart"
        {
            "ApplyModifier"
            {
                "ModifierName"            "fountain_aura_regen"
                "Target"                "CASTER"
            }
        }
        "AbilitySpecial"
        {
            // This Values are mostly for tooltips, the unit stats are not affected
            "01"
            {
                "var_type"                    "FIELD_INTEGER"
                "hp_reg"                    "6"
            }
            "02"
            {
                "var_type"                    "FIELD_INTEGER"
                "mp_reg"                    "6"
            }
           
        }
        // Modifiers
        //-------------------------------------------------------------------------------------------------------------
        "Modifiers"
        {
            "fountain_aura_regen"
            {
                "IsHidden"                "1"
                "Passive"                "1"
                "Aura_ApplyToCaster"    "0"
               
                "Aura"                    "modifier_fountain_regen"
                "Aura_Radius"            "600"
                "Aura_Teams"            "DOTA_UNIT_TARGET_TEAM_ENEMY"
                "Aura_Types"            "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_CREEP | DOTA_UNIT_TARGET_MECHANICAL"
                "Aura_Flags"             "DOTA_UNIT_TARGET_FLAG_INVULNERABLE"
                "Aura_ApplyToCaster"    "0"
               
            }
           
            "modifier_fountain_regen"
            {
                "IsBuff" "1"
                "Passive" "0"
                "IsHidden" "0"
                "EffectName"        "particles/generic_gameplay/rune_regeneration.vpcf" //"particles/items_fx/healing_flask.vpcf" //"particles/econ/events/ti4/radiant_fountain_regen_ti4.vpcf"
                "EffectAttachType"    "follow_origin"
                "Properties"
                {
                    "MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE"    "%hp_reg"
                    "MODIFIER_PROPERTY_MANA_REGEN_TOTAL_PERCENTAGE"     "%mp_reg"
                }
            }  
        }
    }
Благодарствую,ты топ
 
У меня на карте есть вд - аналог общего фонтана !
вот абилка
Код:
    "fountain_aura"
    {
        // General
        //-------------------------------------------------------------------------------------------------------------
        "AbilityBehavior"                "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_PASSIVE"
        "BaseClass"                        "ability_datadriven"
        "AbilityTextureName"            "witch_doctor_voodoo_restoration"
       
        "OnSpellStart"
        {
            "ApplyModifier"
            {
                "ModifierName"            "fountain_aura_regen"
                "Target"                "CASTER"
            }
        }
        "AbilitySpecial"
        {
            // This Values are mostly for tooltips, the unit stats are not affected
            "01"
            {
                "var_type"                    "FIELD_INTEGER"
                "hp_reg"                    "6"
            }
            "02"
            {
                "var_type"                    "FIELD_INTEGER"
                "mp_reg"                    "6"
            }
           
        }
        // Modifiers
        //-------------------------------------------------------------------------------------------------------------
        "Modifiers"
        {
            "fountain_aura_regen"
            {
                "IsHidden"                "1"
                "Passive"                "1"
                "Aura_ApplyToCaster"    "0"
               
                "Aura"                    "modifier_fountain_regen"
                "Aura_Radius"            "600"
                "Aura_Teams"            "DOTA_UNIT_TARGET_TEAM_ENEMY"
                "Aura_Types"            "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_CREEP | DOTA_UNIT_TARGET_MECHANICAL"
                "Aura_Flags"             "DOTA_UNIT_TARGET_FLAG_INVULNERABLE"
                "Aura_ApplyToCaster"    "0"
               
            }
           
            "modifier_fountain_regen"
            {
                "IsBuff" "1"
                "Passive" "0"
                "IsHidden" "0"
                "EffectName"        "particles/generic_gameplay/rune_regeneration.vpcf" //"particles/items_fx/healing_flask.vpcf" //"particles/econ/events/ti4/radiant_fountain_regen_ti4.vpcf"
                "EffectAttachType"    "follow_origin"
                "Properties"
                {
                    "MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE"    "%hp_reg"
                    "MODIFIER_PROPERTY_MANA_REGEN_TOTAL_PERCENTAGE"     "%mp_reg"
                }
            }  
        }
    }
Будешь таких кормить - на шею сядут
 
Хочу сделать 70к+ маны, не переписывая манабар (для этого вроде вообще всю нижнюю панель надо пересоздавать). Есть идеи, как ето можно сделать?
 
Хочу сделать 70к+ маны, не переписывая манабар (для этого вроде вообще всю нижнюю панель надо пересоздавать). Есть идеи, как ето можно сделать?
Нет, просто удаляешь дотовский манабар и добавляешь свой, это очень легко
 
Статус
В этой теме нельзя размещать новые ответы.
Реклама: