Не могу скачать кастомку, с чем может быть связано?
upd, проблема решена, спустя 4 часа скачалась.
upd, проблема решена, спустя 4 часа скачалась.
Это просто флаг стоящий на юнитах-героях, вроде мишки лон друидаЯ точно не уверен, но скорее всего этот флаг преобразует юнита в героя. Ну и соответственно он становится не creature.
"gold_fort"
{
"BaseClass" "ability_datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY"
"AbilityTextureName" "gold"
"Modifiers"
{
"modifier_dota_ability_xp_granter"
{
"IsHidden" "1"
"Passive" "1"
"Attributes" "MODIFIER_ATTRIBUTE_MULTIPLE"
"TextureName" "gold"
//"UnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY"
"Aura" "modifier_get_xp"
"Aura_Radius" "90000"
"Aura_Teams" "DOTA_UNIT_TARGET_TEAM_FRIENDLY"
"Aura_Types" "DOTA_UNIT_TARGET_HERO"
"Aura_ApplyToCaster" "0"
"Aura_Flags" "DOTA_UNIT_TARGET_FLAG_NOT_ILLUSIONS"
//"States"
//{
// "MODIFIER_STATE_UNSELECTABLE" "MODIFIER_STATE_VALUE_ENABLED"
// "MODIFIER_STATE_NO_HEALTH_BAR" "MODIFIER_STATE_VALUE_ENABLED"
// "MODIFIER_STATE_INVULNERABLE" "MODIFIER_STATE_VALUE_ENABLED"
// "MODIFIER_STATE_OUT_OF_GAME" "MODIFIER_STATE_VALUE_ENABLED"
//}
}
"modifier_get_xp"
{
"Passive" "0"
"Attributes" "MODIFIER_ATTRIBUTE_MULTIPLE"
"TextureName" "gold"
"EffectName" ""
"ThinkInterval" "60.0"
"OnIntervalThink"
{
"GrantXPGold"
{
"Target"
{
"Center" "CASTER"
"radius" "90000"
"Types" "DOTA_UNIT_TARGET_HERO"
"Flags" "DOTA_UNIT_TARGET_FLAG_NOT_ILLUSIONS"
}
"XPAmount" "110"
"SplitEvenly" "0"
"GoldAmount" "110"
"ReliableGold" "0"
}
}
}
}
}
Спасибо, вроде работаетВызываешь GetStackCount() у модификатора.
Тьфу, ты не про стаки. Ну вот так GetModifierCount().
function Getxpstack(keys)
local target = keys.target
local modifier = target:FindModifierByName("modifier_get_xp_stack")
local modifierCount = target:GetModifierCount()
local currentStack = 0
for i = 0, modifierCount do
modifierName = target:GetModifierNameByIndex(i)
if modifierName == "modifier_get_xp" then
currentStack = currentStack + 1
modifier:SetStackCount(currentStack)
end
end
end
На луа не смогу. Крч появилась проблема, доп голда корректно работает только если на карте 1 герой, если появляется больше, то голды тоже даёт больше.По моему тебе гораздо выгоднее переделать сам модификатор modifier_get_xp: реализовать его на lua.
Либо навешивать с помощью lua и SetStackCount, чтобы избавиться от кучи клонов.
"gold_fort"
{
"BaseClass" "ability_datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY"
"AbilityTextureName" "gold"
"Modifiers"
{
"modifier_dota_ability_xp_granter"
{
"IsHidden" "1"
"Passive" "1"
"Attributes" "MODIFIER_ATTRIBUTE_MULTIPLE"
"TextureName" "gold"
"Aura" "modifier_get_xp"
"Aura_Radius" "90000"
"Aura_Teams" "DOTA_UNIT_TARGET_TEAM_FRIENDLY"
"Aura_Types" "DOTA_UNIT_TARGET_HERO"
"Aura_ApplyToCaster" "0"
"Aura_Flags" "DOTA_UNIT_TARGET_FLAG_NOT_ILLUSIONS"
}
"modifier_dota_ability_xp_granter2"
{
"IsHidden" "1"
"Passive" "1"
"TextureName" "gold"
"Aura" "modifier_get_xp_stack"
"Aura_Radius" "90000"
"Aura_Teams" "DOTA_UNIT_TARGET_TEAM_FRIENDLY"
"Aura_Types" "DOTA_UNIT_TARGET_HERO"
"Aura_ApplyToCaster" "0"
"Aura_Flags" "DOTA_UNIT_TARGET_FLAG_NOT_ILLUSIONS"
}
"modifier_get_xp"
{
"Passive" "0"
"IsHidden" "1"
"Attributes" "MODIFIER_ATTRIBUTE_MULTIPLE"
"TextureName" "gold"
"EffectName" ""
"ThinkInterval" "60.0"
"OnIntervalThink"
{
"GrantXPGold"
{
"Target"
{
"Center" "CASTER"
"radius" "90000"
"Types" "DOTA_UNIT_TARGET_HERO"
"Flags" "DOTA_UNIT_TARGET_FLAG_NOT_ILLUSIONS"
}
"XPAmount" "25"
"SplitEvenly" "0"
"GoldAmount" "50"
"ReliableGold" "0"
}
}
}
"modifier_get_xp_stack"
{
"Passive" "0"
"TextureName" "gold"
"EffectName" ""
"ThinkInterval" "1.0"
"OnIntervalThink"
{
"RunScript"
{
"ScriptFile" "xp_stack.lua"
"Function" "Getxpstack"
"Target"
{
"Center" "CASTER"
"radius" "90000"
"Types" "DOTA_UNIT_TARGET_HERO"
"Flags" "DOTA_UNIT_TARGET_FLAG_NOT_ILLUSIONS"
}
}
}
}
}
}
function Getxpstack(keys)
local target = keys.target
local modifier = target:FindModifierByName("modifier_get_xp_stack")
local modifierCount = target:GetModifierCount()
local currentStack = 0
for i = 0, modifierCount do
modifierName = target:GetModifierNameByIndex(i)
if modifierName == "modifier_get_xp" then
currentStack = currentStack + 1
modifier:SetStackCount(currentStack)
end
end
end