"DisableWearables" "1"Как убрать стандартную часть модели?
"DisableWearables" "1"Как убрать стандартную часть модели?
Поищи способ пофиксить в кастомках популярных (Memes Reborn Birzha Memov)Знает кто как пофиксить баг, когда предмет нельзя подобрать в рюкзак, если 6 слотов инвентаря заполнены?
Поищи в game_mode hero:GetNumItemsInInventory()Знает кто как пофиксить баг, когда предмет нельзя подобрать в рюкзак, если 6 слотов инвентаря заполнены?
Можно ли использовать для таргета аттач поинты?
upd: мне нужно что бы аое урон шёл от хвоста, а не героя
local vAttachOrigin = unit:GetAttachmentOrigin( unit:ScriptLookupAttachment(attach_name) )
https://developer.valvesoftware.com/wiki/Dota_2_Workshop_Tools/Scripting/APIПодскажите, пожалуйста, как в lua получить значения атрибутов (с учётом зелёных и без их учёта)
Проверять по именикак сделать так чтоб имунитет только к 1 дебафу который обновляется?
Код:local vAttachOrigin = unit:GetAttachmentOrigin( unit:ScriptLookupAttachment(attach_name) )
function stomp( keys )
local ability = keys.ability
local damage = ability:GetAbilityDamage()
local caster = keys.caster
local unit = keys.unit
local impactPoint = unit:GetAttachmentOrigin( unit:ScriptLookupAttachment "attach_tail" )
local damageType = ability:GetAbilityDamageType()
local targetImpactTeam = DOTA_UNIT_TARGET_TEAM_ENEMY
local targetType = DOTA_UNIT_TARGET_HERO + DOTA_UNIT_TARGET_BASIC
local targetFlag = DOTA_UNIT_TARGET_FLAG_NONE
local units = FindUnitsInRadius(
caster:GetTeamNumber(), impactPoint, caster, 500, targetImpactTeam,
targetType, targetFlag, FIND_ANY_ORDER, false)
local damageTable = {
victim = units,
attacker = caster,
damage = damage,
damage_type = damageType
}
ApplyDamage( damageTable )
end
Урона тупо нет, я криворукий дурик, да?Lua:function stomp( keys ) local ability = keys.ability local damage = ability:GetAbilityDamage() local caster = keys.caster local unit = keys.unit local impactPoint = unit:GetAttachmentOrigin( unit:ScriptLookupAttachment "attach_tail" ) local damageType = ability:GetAbilityDamageType() local targetImpactTeam = DOTA_UNIT_TARGET_TEAM_ENEMY local targetType = DOTA_UNIT_TARGET_HERO + DOTA_UNIT_TARGET_BASIC local targetFlag = DOTA_UNIT_TARGET_FLAG_NONE local units = FindUnitsInRadius( caster:GetTeamNumber(), impactPoint, caster, 500, targetImpactTeam, targetType, targetFlag, FIND_ANY_ORDER, false) local damageTable = { victim = units, attacker = caster, damage = damage, damage_type = damageType } ApplyDamage( damageTable ) end
for k,v in pairs(units) do
local damageInfo =
{
victim = v,
attacker = caster,
damage = damage,
damage_type = damageType,
ability = ability,
}
ApplyDamage( damageInfo )
end
Я нашёл через OnNPCSpawnedКак сделать чтобы абилка была прокачана по стандарту?
local npc = EntIndexToHScript(keys.entindex)
if npc:FindAbilityByName(Ability) then
npc:FindAbilityByName(Ability):SetLevel(1) --Вместо Ability либо Абилку либо через local несколько
end
Проверять по имени
"abomination_disease_cloud"
{
"BaseClass" "ability_datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_PASSIVE"
"AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL"
"AbilityCastRange" "%radius"
"MaxLevel" "1"
"AbilityTextureName" "pudge_rot"
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"radius" "50000"
}
"02"
{
"var_type" "FIELD_FLOAT"
"damage_per_second" "6"
}
"03"
{
"var_type" "FIELD_FLOAT"
"debuff_duration" "1"
}
}
"Modifiers"
{
"modifier_disease_cloud_aura"
{
"Passive" "1"
"IsHidden" "1"
"Aura" "modifier_disease_cloud_debuff"
"Aura_Radius" "%radius"
"Aura_Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_CREEP"
"Aura_Flags" "DOTA_UNIT_TARGET_FLAG_NOT_MAGIC_IMMUNE_ALLIES"
"States"
{
"MODIFIER_STATE_PROVIDES_VISION" "MODIFIER_STATE_VALUE_ENABLED"
}
}
"modifier_disease_cloud_debuff"
{
"Duration" "%debuff_duration"
"IsDebuff" "1"
"ThinkInterval" "1"
"OnIntervalThink"
{
"Damage"
{
"Target" "TARGET"
"Type" "DAMAGE_TYPE_MAGICAL"
"Damage" "%damage_per_second"
}
}
}
}
}
Подскажите, пожалуйста, как сделать периодический урон(как у orb of venom)
"per_damage"
{
"Passive" "0"
"IsBuff" "0"
"IsDebuff" "1"
"IsHidden" "0"
"IsPurgable" "1"
"Duration" "%duration"
"ThinkInterval" "0.5"
"OnIntervalThink"
{
"Damage"
{
"Target" "TARGET"
"Damage" "%damage"
"Type" "DAMAGE_TYPE_MAGICAL"
}
}
}
RemoveModifier Target, ModifierNameтут я вешаю дебай, как через другую абилку его снять? примерно или это делается через слушателя то какого?Код:"abomination_disease_cloud" { "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "AbilityCastRange" "%radius" "MaxLevel" "1" "AbilityTextureName" "pudge_rot" "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "radius" "50000" } "02" { "var_type" "FIELD_FLOAT" "damage_per_second" "6" } "03" { "var_type" "FIELD_FLOAT" "debuff_duration" "1" } } "Modifiers" { "modifier_disease_cloud_aura" { "Passive" "1" "IsHidden" "1" "Aura" "modifier_disease_cloud_debuff" "Aura_Radius" "%radius" "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY" "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_CREEP" "Aura_Flags" "DOTA_UNIT_TARGET_FLAG_NOT_MAGIC_IMMUNE_ALLIES" "States" { "MODIFIER_STATE_PROVIDES_VISION" "MODIFIER_STATE_VALUE_ENABLED" } } "modifier_disease_cloud_debuff" { "Duration" "%debuff_duration" "IsDebuff" "1" "ThinkInterval" "1" "OnIntervalThink" { "Damage" { "Target" "TARGET" "Type" "DAMAGE_TYPE_MAGICAL" "Damage" "%damage_per_second" } } } } }
А если через .luaКод:"per_damage" { "Passive" "0" "IsBuff" "0" "IsDebuff" "1" "IsHidden" "0" "IsPurgable" "1" "Duration" "%duration" "ThinkInterval" "0.5" "OnIntervalThink" { "Damage" { "Target" "TARGET" "Damage" "%damage" "Type" "DAMAGE_TYPE_MAGICAL" } } }