Проблема с переключаемой способностью

RublevskiiP

Новичок
22 Фев 2016
3
0
Всем привет..я совсем новичек в моддинге и в скриптинге подавно..
У меня такая проблема:
Я сделал переключаемую способность которая вроде норм работает..Но есть один минус..на карте находятся "раздатчики" экспы и голды..ентити с абилкой(баффом) на голду и экспу..как в овертроу..однако когда я включаю способность на герое..все норм..но когда выключаю то и получение экспы и голды выключается..Я подозреваю что просто абилка выключает все баффы вместо своего..как это исправить?Подскажите плиз.
 
Последнее редактирование модератором:
Прежде всего, надо скидывать код и абилки и того, с чем она взаимодействует, чтобы тебе могли подсказать, где что идет не так.
 
Прежде всего, надо скидывать код и абилки и того, с чем она взаимодействует, чтобы тебе могли подсказать, где что идет не так.

Ну вот код из Custom_ability
Т.к. я на луа не умею писал скилл только там.

"am_shield"
{
"BaseClass" "ability_datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_TOGGLE | DOTA_ABILITY_BEHAVIOR_IMMEDIATE"
"AbilityTextureName" "spell_shield"
"MaxLevel" "4"

"AbilityCastPoint" "0.0"
"AbilityCooldown" "0"
"AbilityManaCost" "0"

"OnToggleOn"
{
"ApplyModifier"
{
"ModifierName" "modifier_spell_resistance"
"Target" "CASTER"
}

"ApplyModifier"
{
"ModifierName" "modifier_attack_speed"
"Target" "CASTER"
}

"RemoveModifier"
{
"ModifierName" "modifier_spell_immune"
"Target"
{
"Center" "CASTER"
}
}

"RemoveModifier"
{
"ModifierName" "modifier_disarm"
"Target"
{
"Center" "CASTER"
}
}

}

"OnToggleOff"
{

"RemoveModifier"
{
"ModifierName" "modifier_spell_resistance"
"Target"
{
"Center" "CASTER"
}
}

"RemoveModifier"
{
"ModifierName" "modifier_attack_speed"
"Target"
{
"Center" "CASTER"
}
}

"ApplyModifier"
{
"ModifierName" "modifier_spell_immune"
"Target" "CASTER"
}

"ApplyModifier"
{
"ModifierName" "modifier_disarm"
"Target" "CASTER"
}


}

"Modifiers"
{

"modifier_attack_speed"
{

"IsBuff" "1"
"IsHidden" "1"
"IsPurgable" "0"
"Properties"
{
"MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT" "%attack_speed_bonus"
}

}

"modifier_spell_resistance"
{
"IsBuff" "1"
"IsHidden" "1"
"IsPurgable" "0"
"Properties"
{
"MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS" "%magic_resistance"
}


}

"modifier_disarm"
{

"IsBuff" "1"
"IsHidden" "1"
"IsPurgable" "0"
"States"
{
"MODIFIER_STATE_DISARMED" "MODIFIER_STATE_VALUE_ENABLED"
}

}

"modifier_spell_immune"
{
"IsBuff" "1"
"IsHidden" "1"
"IsPurgable" "0"
"States"
{
"MODIFIER_STATE_MAGIC_IMMUNE" "MODIFIER_STATE_VALUE_ENABLED"
}

}

}

"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"magic_resistance" "25 35 45 55"
}
"02"
{
"var_type" "FIELD_INTEGER"
"attack_speed_bonus" "35 50 75 100"
}
}


}

А вот это..абилка с ентити..которая отключается на герое,когда я выключаю свою способность..

"dota_ability_xp_granter"
{
"BaseClass" "ability_datadriven"
"AbilityName" "dota_ability_xp_granter"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"

"Modifiers"
{
"modifier_dota_ability_xp_granter"
{
"IsHidden" "1"
"Passive" "1"

"Aura" "modifier_get_xp"
"Aura_Radius" "2000"
"Aura_Teams" "DOTA_UNIT_TARGET_TEAM_BOTH"
"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"
}

"ThinkInterval" ".5"

"OnIntervalThink"
{
"GrantXPGold"
{
"Target"
{
"Center" "CASTER"
"radius" "2000"
"Types" "DOTA_UNIT_TARGET_HERO"
"Flags" "DOTA_UNIT_TARGET_FLAG_NOT_ILLUSIONS"
}
"XPAmount" "8"
"SplitEvenly" "0"
"GoldAmount" "5"
"ReliableGold" "0"
}
}
}

"modifier_get_xp"
{
"Passive" "1"
"EffectName" ""
"TextureName" "xp1"
}
}
}
 
Последнее редактирование модератором:
[quote author=RublevskiiP link=topic=754.msg3051#msg3051 date=1456193472]
Ну вот код из Custom_ability
Т.к. я на луа не умею писал скилл только там.

"am_shield"
{
"BaseClass" "ability_datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_TOGGLE | DOTA_ABILITY_BEHAVIOR_IMMEDIATE"
"AbilityTextureName" "spell_shield"
"MaxLevel" "4"

"AbilityCastPoint" "0.0"
"AbilityCooldown" "0"
"AbilityManaCost" "0"

"OnToggleOn"
{
"ApplyModifier"
{
"ModifierName" "modifier_spell_resistance"
"Target" "CASTER"
}

"ApplyModifier"
{
"ModifierName" "modifier_attack_speed"
"Target" "CASTER"
}

"RemoveModifier"
{
"ModifierName" "modifier_spell_immune"
"Target"
{
"Center" "CASTER"
}
}

"RemoveModifier"
{
"ModifierName" "modifier_disarm"
"Target"
{
"Center" "CASTER"
}
}

}

"OnToggleOff"
{

"RemoveModifier"
{
"ModifierName" "modifier_spell_resistance"
"Target"
{
"Center" "CASTER"
}
}

"RemoveModifier"
{
"ModifierName" "modifier_attack_speed"
"Target"
{
"Center" "CASTER"
}
}

"ApplyModifier"
{
"ModifierName" "modifier_spell_immune"
"Target" "CASTER"
}

"ApplyModifier"
{
"ModifierName" "modifier_disarm"
"Target" "CASTER"
}


}

"Modifiers"
{

"modifier_attack_speed"
{

"IsBuff" "1"
"IsHidden" "1"
"IsPurgable" "0"
"Properties"
{
"MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT" "%attack_speed_bonus"
}

}

"modifier_spell_resistance"
{
"IsBuff" "1"
"IsHidden" "1"
"IsPurgable" "0"
"Properties"
{
"MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS" "%magic_resistance"
}


}

"modifier_disarm"
{

"IsBuff" "1"
"IsHidden" "1"
"IsPurgable" "0"
"States"
{
"MODIFIER_STATE_DISARMED" "MODIFIER_STATE_VALUE_ENABLED"
}

}

"modifier_spell_immune"
{
"IsBuff" "1"
"IsHidden" "1"
"IsPurgable" "0"
"States"
{
"MODIFIER_STATE_MAGIC_IMMUNE" "MODIFIER_STATE_VALUE_ENABLED"
}

}

}

"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"magic_resistance" "25 35 45 55"
}
"02"
{
"var_type" "FIELD_INTEGER"
"attack_speed_bonus" "35 50 75 100"
}
}


}

А вот это..абилка с ентити..которая отключается на герое,когда я выключаю свою способность..

"dota_ability_xp_granter"
{
"BaseClass" "ability_datadriven"
"AbilityName" "dota_ability_xp_granter"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"

"Modifiers"
{
"modifier_dota_ability_xp_granter"
{
"IsHidden" "1"
"Passive" "1"

"Aura" "modifier_get_xp"
"Aura_Radius" "2000"
"Aura_Teams" "DOTA_UNIT_TARGET_TEAM_BOTH"
"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"
}

"ThinkInterval" ".5"

"OnIntervalThink"
{
"GrantXPGold"
{
"Target"
{
"Center" "CASTER"
"radius" "2000"
"Types" "DOTA_UNIT_TARGET_HERO"
"Flags" "DOTA_UNIT_TARGET_FLAG_NOT_ILLUSIONS"
}
"XPAmount" "8"
"SplitEvenly" "0"
"GoldAmount" "5"
"ReliableGold" "0"
}
}
}

"modifier_get_xp"
{
"Passive" "1"
"EffectName" ""
"TextureName" "xp1"
}
}
}
[/quote]

Аура експы не пробивает бкб, как пурификейшен и репел ApplyModifier"
{
"ModifierName" "modifier_spell_immune"
"Target" "CASTER"
}
 
Последнее редактирование модератором:
Ну тебе вон, объяснили, что когда выключаешь абилку, то включается бкб.
 
Реклама: