И как исправить? (Есть вариант сделать 9 разных юнитов и абилок но хз сработает или нет)У тебя опыт дается всем в радиусе 90000 от каждого кастера столько раз сколько есть юнитов под аурой
Да, за каждый захваченный форт игроку раз в минуту дают голдуЯ не понял твою ошибку, да и вообще в чем суть кода? Периодически давать голду всем игрокам?
Ну можно например давать голду не всем героям подряд, а только владельцу баффа. Но это очень сложная механика.
Через ддЧерез дд?
Ты наркоман чтоле?когда есть lua и c++
function Givegoldability(data)
local hero = data.activator
if hero:FindAbilityByName("gold_per_fort") == nil then
hero:AddAbility("gold_per_fort")
local ability = hero:FindAbilityByName("gold_per_fort")
ability:SetLevel(1)
end
end
"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" ""
}
"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"
}
}
}
}
}
}
"gold_per_fort"
{
// General
//-------------------------------------------------------------------------------------------------------------
"BaseClass" "ability_datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE | DOTA_ABILITY_BEHAVIOR_HIDDEN"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES"
"AbilityTextureName" "gold"
"MaxLevel" "1"
// Time
//-------------------------------------------------------------------------------------------------------------
"AbilityCooldown" "60.0"
"Modifiers"
{
"modifier_gold_per_fort"
{
"Passive" "1"
"IsHidden" "1"
"ThinkInterval" "0.5"
"OnIntervalThink"
{
"RunScript"
{
"ScriptFile" "xp_stack.lua"
"Function" "Getexpandgold"
}
}
}
}
}
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
function Getexpandgold(keys)
local caster = keys.caster
local ability = keys.ability
local casterGold = caster:GetGold()
local cooldown = ability:GetCooldown(ability:GetLevel() - 1)
local modifierCount = caster:GetModifierCount()
local currentStack = 0
if ability:IsCooldownReady() then
for i = 0, modifierCount do
modifierName = caster:GetModifierNameByIndex(i)
if modifierName == "modifier_get_xp" then
currentStack = currentStack + 1
end
end
caster:ModifyGold(120 * currentStack, true, 0)
caster:AddExperience(60 * currentStack, false, false)
ability:StartCooldown(cooldown)
end
end
На этой странице CTRL+F и пишешь RandomКакая функция/ метод рандомит в луа ?
Как сделать , чтобы мобы использовали абилки / предметы.
Какая функция/ метод рандомит в луа ?
Как сделать , чтобы мобы использовали абилки / предметы.
Как настроить сложность игры ?