Проблема с модификатором и ошибками.

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

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
Ребят, у меня опять проблема с модификаторами. Помните, тот модификатор, где у меня не отображалось ничего, но при этом работало? Так вот, я сделал другую абилку и она тоже полностью работает, никаких траблов нет, но консоль орет мне, что получает ноль. Хотя работает все так, как я и хотел. Вот ошибки:
Код:
[  Developer      ]: ...ota_addons\arena\scripts\vscripts\heroes\ss\equality.lua:102: attempt to call method 'GetCursorTarget' (a nil value)
[  Developer      ]: stack traceback:
[  Developer      ]: 	...ota_addons\arena\scripts\vscripts\heroes\ss\equality.lua:102: in function <...ota_addons\arena\scripts\vscripts\heroes\ss\equality.lua:101>
[ W VScript       ]: Script Runtime Error: ...ota_addons\arena\scripts\vscripts\heroes\ss\equality.lua:102: attempt to call method 'GetCursorTarget' (a nil value)
[ W VScript       ]: stack traceback:
[ W VScript       ]: 	...ota_addons\arena\scripts\vscripts\heroes\ss\equality.lua:102: in function <...ota_addons\arena\scripts\vscripts\heroes\ss\equality.lua:101>
[  Developer      ]: ...ota_addons\arena\scripts\vscripts\heroes\ss\equality.lua:64: attempt to call method 'GetCursorTarget' (a nil value)
[  Developer      ]: stack traceback:
[  Developer      ]: 	...ota_addons\arena\scripts\vscripts\heroes\ss\equality.lua:64: in function <...ota_addons\arena\scripts\vscripts\heroes\ss\equality.lua:63>
[ W VScript       ]: Script Runtime Error: ...ota_addons\arena\scripts\vscripts\heroes\ss\equality.lua:64: attempt to call method 'GetCursorTarget' (a nil value)
[ W VScript       ]: stack traceback:
[ W VScript       ]: 	...ota_addons\arena\scripts\vscripts\heroes\ss\equality.lua:64: in function <...ota_addons\arena\scripts\vscripts\heroes\ss\equality.lua:63>

Я неправильно вызываю метод GetCursorTarget, но все же работает, как по-другому в модификаторе можно получить цель?
Вот код модификаторов, в которых ошибки(там только по два раза используется GetCursorTarget(в функцях OnCreated и OnRefresh)):
Код:
if modifier_equality_enemy == nil then
	modifier_equality_enemy = class({})
end
function modifier_equality_enemy:IsHidden()
	return false
end
function modifier_equality_enemy:IsDebuff()
	return true
end
function modifier_equality_enemy:IsPurgable()
	return false
end
function modifier_equality_enemy:GetTexture()
	return "storm_spirit_static_remnant"
end
function modifier_equality_enemy:OnCreated( kv )
	self.target = self:GetAbility():GetCursorTarget()
	self.maxmana = self.target:GetMaxMana()
	self.pct = self:GetAbility():GetSpecialValueFor("mana")
end
function modifier_equality_enemy:OnRefresh( kv )
	self.target = self:GetAbility():GetCursorTarget()
	self.maxmana = self.target:GetMaxMana()
	self.pct = self:GetAbility():GetSpecialValueFor("mana")
end
function modifier_equality_enemy:GetAttributes ()
  return MODIFIER_ATTRIBUTE_PERMANENT
end
function modifier_equality_enemy:DeclareFunctions()
	local funcs = {
		MODIFIER_PROPERTY_MANA_BONUS
	}
	return funcs
end
function modifier_equality_enemy:GetModifierManaBonus()
	return -((self.maxmana/100)*self.pct)
end

if modifier_equality_caster == nil then
	modifier_equality_caster = class({})
end
function modifier_equality_caster:IsHidden()
	return false
end
function modifier_equality_caster:IsDebuff()
	return false
end
function modifier_equality_caster:IsPurgable()
	return false
end
function modifier_equality_caster:GetTexture()
	return "storm_spirit_static_remnant"
end
function modifier_equality_caster:OnCreated( kv )
	self.target = self:GetAbility():GetCursorTarget()
	self.maxmana = self.target:GetMaxMana()
	self.pct = self:GetAbility():GetSpecialValueFor("mana")
end
function modifier_equality_caster:OnRefresh( kv )
	self.target = self:GetAbility():GetCursorTarget()
	self.maxmana = self.target:GetMaxMana()
	self.pct = self:GetAbility():GetSpecialValueFor("mana")
end
function modifier_equality_caster:GetAttributes ()
  return MODIFIER_ATTRIBUTE_PERMANENT
end
function modifier_equality_caster:DeclareFunctions()
	local funcs = {
		MODIFIER_PROPERTY_MANA_BONUS
	}
	return funcs
end
function modifier_equality_caster:GetModifierManaBonus()
	return ((self.maxmana/100)*self.pct)
end
 
Последнее редактирование модератором:
Код:
function zerno:OnCreated()
If IsServer() then
 Local targer = self:GetAbility():GetCursorTarget()
End
End
End
 
Adam Smith, спасибо, чет я даже не додумался до такого
 
Реклама: