Я нашел вот эту штуку. Если не работает то используй обычный ApplyDamage из луа.Можете ли вы скинуть строчку ,которая даёт бонус маг дамаг
На офф сайте смотрел - нету ,только такое MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE
Без луа никак.У меня простой итем без луа .Не работает бонус дамаг ,что делать?
Без луа никак.
item_sprout_lua = class({})
LinkLuaModifier( "modifier_item_sprout_lua", LUA_MODIFIER_MOTION_NONE )
--------------------------------------------------------------------------------
function item_sprout_lua:OnSpellStart()
self.duration = self:GetSpecialValueFor( "duration" )
self.vision_range = self:GetSpecialValueFor( "vision_range" )
local hTarget = self:GetCaster()
if hTarget == nil or ( hTarget ~= nil and ( not hTarget:TriggerSpellAbsorb( self ) ) ) then
local vTargetPosition = nil
if hTarget ~= nil then
vTargetPosition = hTarget:GetOrigin()
else
vTargetPosition = self:GetCaster()
end
AddFOWViewer( self:GetCaster():GetTeamNumber(), vTargetPosition, self.vision_range, self.duration, false )
EmitSoundOnLocationWithCaster( vTargetPosition, "Hero_Sven.WarCry", self:GetCaster() )
end
local nFXIndex = ParticleManager:CreateParticle( "particles/units/heroes/hero_sven/sven_spell_warcry.vpcf", PATTACH_ABSORIGIN_FOLLOW, self:GetCaster() )
ParticleManager:SetParticleControlEnt( nFXIndex, 2, self:GetCaster(), PATTACH_POINT_FOLLOW, "attach_head", self:GetCaster():GetOrigin(), true )
ParticleManager:ReleaseParticleIndex( nFXIndex )--даёт эффект
EmitSoundOn( "Hero_Sven.WarCry", self:GetCaster() )
end
function item_sprout_lua:GetCooldown( nLevel )--GetCooldown и HasScepter снижает кд способности с аганимом
if self:GetCaster():HasScepter() then
return self:GetSpecialValueFor( "cooldown_scepter" )
end
return self.BaseClass.GetCooldown( self, nLevel )
end
function item_sprout_lua:GetBonusDayVision()
if self:GetCaster() then
return self:GetSpecialValueFor( "bonus_day_vision" )
end
end
function item_sprout_lua:GetBonusNightVision()
if self:GetCaster() then
return self:GetSpecialValueFor( "bonus_night_vision" )
end
end
Можете ли вы скинуть строчку ,которая даёт бонус маг дамаг
На офф сайте смотрел - нету ,только такое MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE
Тебе нужно бонусы вижна которые у тебя написаны так:Хочу добавить бонус вижн для предмета .Что мне для этого нужно ?Функция не работает .Первый раз делаю луа код
писать в модифкатор + отправлять сюда таблицу с переменными function Modifier_Namefunction item_sprout_lua:GetBonusDayVision()
if self:GetCaster() then
return self:GetSpecialValueFor( "bonus_day_vision" )
end
end
function item_sprout_lua:GetBonusNightVision()
if self:GetCaster() then
return self:GetSpecialValueFor( "bonus_night_vision" )
end
end
function modifier_lesser_lightning_passive:DeclareFunctions( )
return {MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT,MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE}
end
function modifier_lesser_lightning_passive:GetModifierPreAttack_BonusDamage( )
return self.dmg
end
function modifier_lesser_lightning_passive:GetModifierAttackSpeedBonus_Constant( )
return self.atk
end
function modifier_lesser_lightning_passive:DeclareFunctions( )
return {MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT,MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE}
end
function modifier_lesser_lightning_passive:GetModifierPreAttack_BonusDamage( )
return self.dmg
end
function modifier_lesser_lightning_passive:GetModifierAttackSpeedBonus_Constant( )
return self.atk
end
modifier_item_sprout_lua = class({})
--------------------------------------------------------------------------------
function modifier_item_sprout_lua:OnCreated( kv )
self.sprout_bonus_day_vision = self:GetAbility():GetSpecialValueFor( "bonus_day_vision" )
if IsServer() then
local nFXIndex = ParticleManager:CreateParticle( "particles/units/heroes/hero_sven/sven_warcry_buff.vpcf", PATTACH_ABSORIGIN_FOLLOW, self:GetParent() )
ParticleManager:SetParticleControlEnt( nFXIndex, 2, self:GetCaster(), PATTACH_POINT_FOLLOW, "attach_head", self:GetCaster():GetOrigin(), true )
self:AddParticle( nFXIndex, false, false, -1, false, true )
end
end
--------------------------------------------------------------------------------
function modifier_item_sprout_lua:DeclareFunctions()
local funcs = {
MODIFIER_PROPERTY_BONUS_DAY_VISION,
}
return funcs
end
--------------------------------------------------------------------------------
function item_sprout_lua:GetModifierBonusDayVision()
local hAbility = self:GetAbility() --we get the ability where this modifier is from
return hAbility:GetSpecialValueFor( "bonus_day_vision" )
end
Посмотри в аддонах lua_ability_example, и по аналогии сделай для предметаМне надо просто статы добавить .Доп. вижн
Я первый раз делаю предмет через луа .Не умею давать статы через луа .
Там только способности .Не вижу ,что надо сделатьПосмотри в аддонах lua_ability_example, и по аналогии сделай для предмета
Почти единственная разница это item_lua а не ability_lua. В остальном по аналогии.Там только способности .Не вижу ,что надо сделать
В ДД его нету, в луа он есть.Ты уверен? просто на сайте доты такого нету. У каст ренжа нету айди, там над ним 62 и под ним 63.
В ДД его нету, в луа он есть.
item_sprout_lua = class({})
LinkLuaModifier("modifier_sprout_lua_passive",LUA_MODIFIER_MOTION_NONE)
--------------------------------------------------------------------------------
function item_sprout_lua:OnSpellStart()
self.duration = self:GetSpecialValueFor( "duration" )
self.vision_range = self:GetSpecialValueFor( "vision_range" )
local hTarget = self:GetCaster()
if hTarget == nil or ( hTarget ~= nil and ( not hTarget:TriggerSpellAbsorb( self ) ) ) then
local vTargetPosition = nil
if hTarget ~= nil then
vTargetPosition = hTarget:GetOrigin()
else
vTargetPosition = self:GetCaster()
end
AddFOWViewer( self:GetCaster():GetTeamNumber(), vTargetPosition, self.vision_range, self.duration, false )
EmitSoundOnLocationWithCaster( vTargetPosition, "Hero_Sven.WarCry", self:GetCaster() )
end
local nFXIndex = ParticleManager:CreateParticle( "particles/units/heroes/hero_sven/sven_spell_warcry.vpcf", PATTACH_ABSORIGIN_FOLLOW, self:GetCaster() )
ParticleManager:SetParticleControlEnt( nFXIndex, 2, self:GetCaster(), PATTACH_POINT_FOLLOW, "attach_head", self:GetCaster():GetOrigin(), true )
ParticleManager:ReleaseParticleIndex( nFXIndex )--даёт эффект
EmitSoundOn( "Hero_Sven.WarCry", self:GetCaster() )
end
function item_sprout_lua:GetCooldown( nLevel )--GetCooldown и HasScepter снижает кд способности с аганимом
if self:GetCaster():HasScepter() then
return self:GetSpecialValueFor( "cooldown_scepter" )
end
return self.BaseClass.GetCooldown( self, nLevel )
end
modifier_item_sprout_lua_passive = class({})
--------------------------------------------------------------------------------
function modifier_sprout_lua_passive:IsPurgable( )
return false
end
function modifier_sprout_lua_passive:IsHidden( )
return true
end
function modifier_sprout_lua_passive:OnCreated( )
self.day_vision = self:GetAbility():GetSpecialValueFor("day_vision")
self.night_vision = self:GetAbility():GetSpecialValueFor("night_vision")
self.hp_regen = self:GetAbility():GetSpecialValueFor("hp_regen")
self.mag_resist = self:GetAbility():GetSpecialValueFor("magic_resist_percentage")
end
function modifier_sprout_lua_passive:OnRefresh( )
self.day_vision = self:GetAbility():GetSpecialValueFor("day_vision")
self.night_vision = self:GetAbility():GetSpecialValueFor("night_vision")
self.hp_regen = self:GetAbility():GetSpecialValueFor("hp_regen")
self.mag_resist = self:GetAbility():GetSpecialValueFor("magic_resist_percentage")
end
function modifier_sprout_lua_passive:GetAttributes( )
return MODIFIER_ATTRIBUTE_MULTIPLE
end
function modifier_sprout_lua_passive:DeclareFunctions( )
local funcs = { MODIFIER_PROPERTY_BONUS_DAY_VISION,
MODIFIER_PROPERTY_BONUS_NIGHT_VISION,
MODIFIER_PROPERTY_HEALTH_REGEN_CONSTANT,
MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS,}
return funcs
end
function modifier_sprout_lua_passive:GetBonusDayVision( )
return self.day_vision
end
function modifier_sprout_lua_passive:GetBonusNightVision( )
return self.night_vision
end
function modifier_sprout_lua_passive:GetModifierConstantHealthRegen( )
return self.hp_regen
end
function modifier_sprout_lua_passive:GetModifierMagicalResistanceBonus( )
return self.mag_resist
end
"item_sprout_lua"
{
// General
//-------------------------------------------------------------------------------------------------------------
"ID" "1250"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE"
"BaseClass" "item_lua"
"AbilityTextureName" "sprout_lua"
"ScriptFile" "items/item_sprout_lua"
"ItemQuality" "epic"
"ItemCost" "500"
// Unit Targeting
//-------------------------------------------------------------------------------------------------------------
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_BOTH"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
"AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_NOT_ANCIENTS"
// Stats
//-------------------------------------------------------------------------------------------------------------
"AbilityCooldown" "10"
"AbilityManaCost" "0"
"precache"
{
"soundfile" "soundevents/game_sounds_heroes/game_sounds_sven.vsndevts"
"particle" "particles/units/heroes/hero_sven/sven_spell_warcry.vpcf"
}
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"day_vision" "250"
}
"02"
{
"var_type" "FIELD_INTEGER"
"night_vision" "250"
}
"03"
{
"var_type" "FIELD_INTEGER"
"magic_resist_percentage" "26"
}
"04"
{
"var_type" "FIELD_INTEGER"
"hp_regen" "2"
}
"05"
{
"var_type" "FIELD_INTEGER"
"vision_range" "1200"
}
"06"
{
"var_type" "FIELD_FLOAT"
"duration" "6"
}
"07"
{
"var_type" "FIELD_FLOAT"
"cooldown_scepter" "5"
}
}
}
"ScriptFile" "items/talisman_of_mastery/talisman_of_mastery.lua"
"ScriptFile" "items/talisman_of_mastery/talisman_of_mastery.lua"
Консоль не жалуется что файл не найден?Ничего нету.Расширения сделал