Bonus AMP

  • Автор темы Автор темы qofma
  • Дата начала Дата начала

qofma

Активный
1 Апр 2016
81
0
Можете ли вы скинуть строчку ,которая даёт бонус маг дамаг
На офф сайте смотрел - нету ,только такое MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE
 
Можете ли вы скинуть строчку ,которая даёт бонус маг дамаг
На офф сайте смотрел - нету ,только такое MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE
Я нашел вот эту штуку. Если не работает то используй обычный ApplyDamage из луа.
MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_MAGICAL
 
Последнее редактирование модератором:
[quote author=CryDeS link=topic=1339.msg8380#msg8380 date=1487536007]
Я нашел вот эту штуку. Если не работает то используй обычный ApplyDamage из луа.
MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_MAGICAL
[/quote]
У меня простой итем без луа .Не работает бонус дамаг ,что делать?
 
Код:
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 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_Name:DeclareFunctions() {Ид'ы_модификаторов, Другие_Ид'ы_модификаторов} 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
 
Последнее редактирование модератором:
[quote author=Danis link=topic=1339.msg8768#msg8768 date=1489175581]
Если тебе бонус процента урона нужен то тебе Сюда
Тебе нужно бонусы вижна которые у тебя написаны так:писать в модифкатор + отправлять сюда таблицу с переменными function Modifier_Name:DeclareFunctions() {Ид'ы_модификаторов, Другие_Ид'ы_модификаторов} 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
[/quote]
Так?
Код:
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
 
Последнее редактирование модератором:
Че вы мутите, MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGEW уже работает. Каст рейдж вроде тоже.
 
[quote author=CryDeS link=topic=1339.msg8774#msg8774 date=1489223141]
Че вы мутите, MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGEW уже работает. Каст рейдж вроде тоже.
[/quote]Мне надо просто статы добавить .Доп. вижн
Я первый раз делаю предмет через луа .Не умею давать статы через луа .
 
Мне надо просто статы добавить .Доп. вижн
Я первый раз делаю предмет через луа .Не умею давать статы через луа .
Посмотри в аддонах lua_ability_example, и по аналогии сделай для предмета
 
Последнее редактирование модератором:
[quote author=CryDeS link=topic=1339.msg8774#msg8774 date=1489223141]
Че вы мутите, MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGEW уже работает. Каст рейдж вроде тоже.
[/quote]

Ты уверен? просто на сайте доты такого нету. У каст ренжа нету айди, там над ним 62 и под ним 63.
 
[quote author=Danis link=topic=1339.msg8781#msg8781 date=1489237596]
Разрешаю посмотреть мой аддон и мои итемы на луа.
[/quote]
Код:
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"
 
Последнее редактирование модератором:
[quote author=CryDeS link=topic=1339.msg8787#msg8787 date=1489247235]
Для начала, прячь все в спойлеры, если кусок кода такой большой(ну удобнее же читать будет).
А так, что консоль сказала тебе?
Еще мб что расширение надо явно указать, но наврятле(я указывал)
Код:
	"ScriptFile" "items/talisman_of_mastery/talisman_of_mastery.lua"
[/quote]
Ничего нету.Расширения сделал
 
Последнее редактирование модератором:
Реклама: