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

Статус
В этой теме нельзя размещать новые ответы.

dEN5

Пользователь
10 Фев 2019
25
0
steamcommunity.com
Проект
MADNESS: PROJECT ABADDON
приветик
можете помочь
с абилкой
нужно чтобы в радиусе ауры срабатывал с шансом бафф

вот коды
Код:
    "shadow_master_agility_of_shadows"
    {
        "BaseClass"                 "ability_datadriven"
        "AbilityBehavior"           "DOTA_ABILITY_BEHAVIOR_PASSIVE"
        "AbilityTextureName"        "custom\shadow_master_agility_of_shadows"
   
        "AbilityType"               "DOTA_ABILITY_TYPE_ULTIMATE"  
        "MaxLevel"                  "1"
        "RequiredLevel"             "0"
        "LevelsBetweenUpgrades"     "0"
  
        "precache"
        {
            "particle"                "particles/status_fx/status_effect_gods_strength.vpcf"
        }
  
        "AbilitySpecial"
        {
            "01"
            {
                "var_type"                  "FIELD_INTEGER"
                "duration"                  "1"
            }
            "02"
            {
                "var_type"                  "FIELD_INTEGER"
                "bonus_attack_speed"        "3"
            }
            "03"
            {
                "var_type"                  "FIELD_INTEGER"
                "damage_reduction"        "40"
            }
            "04"
            {
                "var_type"                  "FIELD_INTEGER"
                "armor_bonus"        "15"
            }
            "05"                          
            {
                "var_type"                  "FIELD_INTEGER"
                "chance"                    "10"
            }
        }
  
  
        "Modifiers"
        {
            "modifier_agility_of_shadows"
            {
                "Passive"           "1"
                "IsHidden"          "1"
  
                 "OnAttacked"
                 {
                    "Random"
                    {
                        "Chance"            "%chance"
                        "OnSuccess"
                        {
                            "RunScript"
                            {
                                "ScriptFile"        "lua_abilities\agilityofshadows.lua"
                                "Function"          "ApplyBuffs"
                            }
                        }
                    }
                 }
            }
  
            "modifier_art_of_shadows_buff"
            {
                "IsBuff"            "1"
                "IsPurgable"        "1"
              
                "EffectName"    "particles/status_fx/status_effect_gods_strength.vpcf"
                "EffectAttachType"  "follow_origin"
  
                "Properties"
                {
                    "MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE" "%bonus_attack_speed"
                    "MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE"    "%damage_reduction"
                    "MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS"    "%armor_bonus"
                }
            }
        }
    }

вот аура код
Код:
    "crit_aura"
    {
        "BaseClass"                     "ability_datadriven"
        "AbilityBehavior"                "DOTA_ABILITY_BEHAVIOR_PASSIVE"
        "AbilityUnitTargetTeam"         "DOTA_UNIT_TARGET_TEAM_FRIENDLY"
          "AbilityUnitTargetType"         "DOTA_UNIT_TARGET_ALL"
        "AbilityTextureName"            "phantom_assassin_coup_de_grace"
        "AbilityCastRange"                "%radius"
  
        "precache"
        {
            "particle"             "particles/units/heroes/hero_phantom_assassin/phantom_assassin_crit_impact.vpcf"
        }

        "AbilitySpecial"
        {
            "01"
            {
                "var_type"                    "FIELD_INTEGER"
                "crit_bonus"                "125"
            }
            "02"
            {
                "var_type"                    "FIELD_INTEGER"
                "crit_chance"                "100"
            }
            "03"
            {
                "var_type"                    "FIELD_INTEGER"
                "radius"                    "900"
            }
          
        }
  
        "Modifiers"
        {
            "Aura_Modifier"
            {          
                "Passive"             "1"
                "IsHidden"             "1"
                "IsBuff"            "1"
                "Aura"                 "modifier_coup_de_grace_passive"
                "Aura_Radius"         "%radius"
                "Aura_Teams"         "DOTA_UNIT_TARGET_TEAM_FRIENDLY"
                "Aura_Types"         "DOTA_UNIT_TARGET_ALL"
            }
          
            "modifier_coup_de_grace_passive"
            {              
                "IsHidden"     "1"
              
                "OnAttackStart"
                {
                    "Random"
                    {
                        "Chance" "%crit_chance"
                        "PseudoRandom" "DOTA_PSEUDO_RANDOM_PHANTOMASSASSIN_CRIT"
                        "OnSuccess"
                        {
                            "ApplyModifier"
                            {
                                "ModifierName" "coup_de_grace_crit"
                                "Target"       "ATTACKER"  
                            }  
                              
                        }
                    }
                }

            }

            "coup_de_grace_crit"
            {
                "IsHidden"        "1"
                "Properties"
                {
                    "MODIFIER_PROPERTY_PREATTACK_CRITICALSTRIKE"   "%crit_bonus"
                }
              
                "OnAttackLanded"
                {
                      
                    "RemoveModifier"
                    {
                        "ModifierName"        "coup_de_grace_crit"
                        "Target"            "ATTACKER"  
                    }
                }
            }
        }
    }
и вот ещё луа на всякий
Код:
function ApplyBuffs(event)
    local caster = event.caster
    local ability = event.ability
   
    if caster:passivesDisabled() then
        return
    end

    local duration = ability:GetSpecialValueFor("duration")

    ability:ApplyDataDrivenModifier(caster, caster, "modifier_art_of_shadows_buff", {duration = duration})

    local abiShadow = caster:FindAbilityByName("shadow_master_shadow")
    if abiShadow and abiShadow.shadow and IsValidEntity(abiShadow.shadow) and abiShadow.shadow:IsAlive() then
        ability:ApplyDataDrivenModifier(caster, abiShadow.shadow, "modifier_art_of_shadows_buff", {duration = duration})
    end

    local abiArt = caster:FindAbilityByName("shadow_master_art_of_shadows")
    if abiArt and abiArt.shadows then
        for _,unit in pairs(abiArt.shadows) do
            if IsValidEntity(unit) and unit:IsAlive() then
                ability:ApplyDataDrivenModifier(caster, unit, "modifier_art_of_shadows_buff", {duration = duration})
            end
        end
    end
end

function Picked (event)
    local heroentity = EntIndexToHScript(event.heroindex)
    local ability = heroentity:FindAbilityByName("shadow_master_agility_of_shadows")
    ability:SetLevel(1)
end
нужно 2 кода соеденить в 1
 
Последнее редактирование модератором:

dEN5

Пользователь
10 Фев 2019
25
0
steamcommunity.com
Проект
MADNESS: PROJECT ABADDON
я попробовал иак
но бафф не даёться

Код:
    "filler_ability"
    {
        "BaseClass"                     "ability_datadriven"
        "AbilityBehavior"                "DOTA_ABILITY_BEHAVIOR_PASSIVE"
        "AbilityUnitTargetTeam"         "DOTA_UNIT_TARGET_TEAM_FRIENDLY"
          "AbilityUnitTargetType"         "DOTA_UNIT_TARGET_ALL"
        "AbilityTextureName"            ""
        "AbilityCastRange"                "%radius"

        "AbilitySpecial"
        {
            "01"
            {
                "var_type"                  "FIELD_INTEGER"
                "duration"                  "1"
            }
            "02"
            {
                "var_type"                  "FIELD_INTEGER"
                "bonus_attack_speed"        "3"
            }
            "03"
            {
                "var_type"                  "FIELD_INTEGER"
                "damage_reduction"        "40"
            }
            "04"
            {
                "var_type"                  "FIELD_INTEGER"
                "armor_bonus"        "15"
            }
            "05"                           
            {
                "var_type"                  "FIELD_INTEGER"
                "chance"                    "10"
            }
            "06"
            {
                "var_type"                    "FIELD_INTEGER"
                "radius"                    "900"
            }
           
        }
   
        "Modifiers"
        {
            "Aura_Modifier"
            {           
                "Passive"             "1"
                "IsHidden"             "1"
                "IsBuff"            "1"
                "Aura"                 "modifier_agility_of_shadows"
                "Aura_Radius"         "%radius"
                "Aura_Teams"         "DOTA_UNIT_TARGET_TEAM_FRIENDLY"
                "Aura_Types"         "DOTA_UNIT_TARGET_ALL"
            }
           
            "modifier_agility_of_shadows"
            {
                "Passive"           "1"
                "IsHidden"          "1"
   
                 "OnAttacked"
                 {
                    "Random"
                    {
                        "Chance"            "%chance"
                        "OnSuccess"
                        {
                            "RunScript"
                            {
                                "ScriptFile"        "abilities\agilityofshadows.lua"
                                "Function"          "ApplyBuffs"
                            }
                        }
                    }
                 }
            }
   
            "modifier_art_of_shadows_buff"
            {
                "IsBuff"            "1"
                "IsPurgable"        "1"
               
                "EffectName"    "particles/status_fx/status_effect_gods_strength.vpcf"
                "EffectAttachType"  "follow_origin"
   
                "Properties"
                {
                    "MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE" "%bonus_attack_speed"
                    "MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE"    "%damage_reduction"
                    "MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS"    "%armor_bonus"
                }
            }
        }
    }
[/QUOTE]
 
Последнее редактирование:

SniperX

Друзья CG
26 Фев 2018
539
100
Проект
Dota 2x4
Чувак dEN5 пожалуйста прячь весь код специально в
Код:
Например как здесь
 

SniperX

Друзья CG
26 Фев 2018
539
100
Проект
Dota 2x4
Народ, хелпа нужна, как сделать чтобы юнита нельзя было атаковать через автоатаку и обычную (как 2 скилл дарк виллоу), но он смог получать урон
 

SniperX

Друзья CG
26 Фев 2018
539
100
Проект
Dota 2x4
Не работает LIBRARY modifier_movespeed_cap.lua
C++:
"sniper_ms"
    {
        "BaseClass"    "ability_datadriven"
        "AbilityBehavior"    "DOTA_ABILITY_BEHAVIOR_PASSIVE"
        "Modifiers"
        {
            "modifier_give_ms"
            {
                "Passive"    "1"
                "IsHidden"    "1"
                "ThinkInterval"    "0.01"
                "OnIntervalThink"
                {
                    "RunScript"
                    {
                        "ScriptFile"    "newabilities/sniper.lua"
                        "Function"    "GiveMaxSpeed"
                    }
                }
            }
        }
    }
Lua:
LinkLuaModifier( "modifier_movespeed_cap", "modifiers/modifier_movespeed_cap.lua" ,LUA_MODIFIER_MOTION_NONE )
function GiveMaxSpeed( keys )
    local caster = keys.caster
    if caster:HasModifier("modifier_movespeed_cap") == false then
        caster:AddNewModifier(caster, nil, "modifier_movespeed_cap", {})
    end
end
Lua:
modifier_movespeed_cap = class({})
function modifier_movespeed_cap:DeclareFunctions()
    local funcs = {
        MODIFIER_PROPERTY_MOVESPEED_MAX,
        MODIFIER_PROPERTY_MOVESPEED_LIMIT,
    }
    return funcs
end
function modifier_movespeed_cap:GetModifierMoveSpeed_Max( params )
    return 1000
end
function modifier_movespeed_cap:GetModifierMoveSpeed_Limit( params )
    return 1000
end
function modifier_movespeed_cap:IsHidden()
    return true
end
 

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
Не работает LIBRARY modifier_movespeed_cap.lua
C++:
"sniper_ms"
    {
        "BaseClass"    "ability_datadriven"
        "AbilityBehavior"    "DOTA_ABILITY_BEHAVIOR_PASSIVE"
        "Modifiers"
        {
            "modifier_give_ms"
            {
                "Passive"    "1"
                "IsHidden"    "1"
                "ThinkInterval"    "0.01"
                "OnIntervalThink"
                {
                    "RunScript"
                    {
                        "ScriptFile"    "newabilities/sniper.lua"
                        "Function"    "GiveMaxSpeed"
                    }
                }
            }
        }
    }
Lua:
LinkLuaModifier( "modifier_movespeed_cap", "modifiers/modifier_movespeed_cap.lua" ,LUA_MODIFIER_MOTION_NONE )
function GiveMaxSpeed( keys )
    local caster = keys.caster
    if caster:HasModifier("modifier_movespeed_cap") == false then
        caster:AddNewModifier(caster, nil, "modifier_movespeed_cap", {})
    end
end
Lua:
modifier_movespeed_cap = class({})
function modifier_movespeed_cap:DeclareFunctions()
    local funcs = {
        MODIFIER_PROPERTY_MOVESPEED_MAX,
        MODIFIER_PROPERTY_MOVESPEED_LIMIT,
    }
    return funcs
end
function modifier_movespeed_cap:GetModifierMoveSpeed_Max( params )
    return 1000
end
function modifier_movespeed_cap:GetModifierMoveSpeed_Limit( params )
    return 1000
end
function modifier_movespeed_cap:IsHidden()
    return true
end
Нахрена смешивать дд с луа в такой херне? Зачем вообще тут абилка, если можно просто вешать модификатор в коде. Проверка на модификатор каждые 1 сотую секунды, мда
 

FalseSeE

Пользователь
28 Ноя 2018
54
1
Проект
Dota 2 but you Saitama
Как прикрепить эффект, у меня есть пассивная способность, но когда я прокачиваю свою способность, эффект остается на месте. Он не следует за героем или проще говоря, он не прикреплен к герою


Код:
"tusk_flying"
    {
        "BaseClass"                     "ability_datadriven"
        "AbilityTextureName"            "icon"
        "MaxLevel"                         "1"
        "AbilityBehavior"                "DOTA_ABILITY_BEHAVIOR_PASSIVE"
        "AbilitiUnitTargetType"    "DOTA_UNIT_TARGET_HERO"
        "AbilityUnitTargetTeam"            "DOTA_UNIT_TARGET_TEAM_BOTH"
        "RequiredLevel"    "15"
        "precache"
            {
                "particle"  "particles/units/heroes/hero_morphling/morphling_waveform.vpcf"
                "particle"    "particles/units/heroes/hero_morphling/morphling_waveform_wave_1.vpcf"
                "particle"    "particles/units/heroes/hero_morphling/morphling_waveform_wave_2.vpcf"
                "soundfile" "sounds/weapons/hero/bloodseeker/rupture_cast.vsnd"
            } 
      
        "OnSpellStart"
        {
            "ApplyModifier"
            {
                "ModifierName"    "modifier_fly"
                "Target"         "CASTER"
            }

        }
        "Modifiers"
        {
            "modifier_fly"
            {
                "Passive"            "1"
                "IsHidden"            "0"

                "OnCreated"
                {
                    "AttachEffect"
                    {
                      
                        "EffectName"        "particles/units/heroes/hero_morphling/morphling_waveform.vpcf"
                        "EffectAttachType"    "follow_origin"
                        "Target"    "CASTER"

                    }
                }         
                "States"
                {
                    "MODIFIER_STATE_FLYING"        "MODIFIER_STATE_VALUE_ENABLED"
                }
            }
        }
    } 
}
o_Oo_Oo_O
 
Последнее редактирование:

SniperX

Друзья CG
26 Фев 2018
539
100
Проект
Dota 2x4
Как прикрепить эффект, у меня есть пассивная способность, но когда я прокачиваю свою способность, эффект остается на месте. Он не следует за героем или проще говоря, он не прикреплен к герою


Код:
"tusk_flying"
    {
        "BaseClass"                     "ability_datadriven"
        "AbilityTextureName"            "icon"
        "MaxLevel"                         "1"
        "AbilityBehavior"                "DOTA_ABILITY_BEHAVIOR_PASSIVE"
        "AbilitiUnitTargetType"    "DOTA_UNIT_TARGET_HERO"
        "AbilityUnitTargetTeam"            "DOTA_UNIT_TARGET_TEAM_BOTH"
        "RequiredLevel"    "15"
        "precache"
            {
                "particle"  "particles/units/heroes/hero_morphling/morphling_waveform.vpcf"
                "particle"    "particles/units/heroes/hero_morphling/morphling_waveform_wave_1.vpcf"
                "particle"    "particles/units/heroes/hero_morphling/morphling_waveform_wave_2.vpcf"
                "soundfile" "sounds/weapons/hero/bloodseeker/rupture_cast.vsnd"
            }
     
        "OnSpellStart"
        {
            "ApplyModifier"
            {
                "ModifierName"    "modifier_fly"
                "Target"         "CASTER"
            }

        }
        "Modifiers"
        {
            "modifier_fly"
            {
                "Passive"            "1"
                "IsHidden"            "0"

                "OnCreated"
                {
                    "AttachEffect"
                    {
                     
                        "EffectName"        "particles/units/heroes/hero_morphling/morphling_waveform.vpcf"
                        "EffectAttachType"    "follow_origin"
                        "Target"    "CASTER"

                    }
                }        
                "States"
                {
                    "MODIFIER_STATE_FLYING"        "MODIFIER_STATE_VALUE_ENABLED"
                }
            }
        }
    }
}
o_Oo_Oo_O
Немного почистил код и починил

C++:
"tusk_flying"
    {
        "BaseClass"                     "ability_datadriven"
        "AbilityTextureName"            "icon"
        "MaxLevel"                         "1"
        "AbilityBehavior"                "DOTA_ABILITY_BEHAVIOR_PASSIVE"
        "RequiredLevel"    "15"
        "precache"
        {
            "particle"  "particles/units/heroes/hero_morphling/morphling_waveform.vpcf"
        }
        "Modifiers"
        {
            "modifier_fly"
            {
                "Passive"            "1"
                "EffectName"        "particles/units/heroes/hero_morphling/morphling_waveform.vpcf"
                "EffectAttachType"    "follow_origin"
                "States"
                {
                    "MODIFIER_STATE_FLYING"        "MODIFIER_STATE_VALUE_ENABLED"
                }
            }
        }
    }
}
 

DDSuper

Друзья CG
31 Май 2019
405
57
Кто знает когда герой, умирает то около него спавниться юнит как такое делать?
И ещё как сделать это из переключаемой?
 
Последнее редактирование:

dEN5

Пользователь
10 Фев 2019
25
0
steamcommunity.com
Проект
MADNESS: PROJECT ABADDON

Вложения

  • способность.txt
    765 байт · Просмотры: 7

InfiniteGenius

Новичок
22 Июл 2019
3
0
После удаления с мантой произошло это:
112222.PNG
npc_items_custom:
"item_recipe_manta" "REMOVE"
"item_manta" "REMOVE"
Ошибок в коде нет, проверено на ссылка
 
Статус
В этой теме нельзя размещать новые ответы.
Реклама: