CustomGames.ru - Dota 2 пользовательские игры

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

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн I_GRIN_I

  • Продвинутый
  • 389
  • Мощь: 6
  • Научиться бы скриптить...
Ребят, у меня опять проблема с модификаторами. Помните, тот модификатор, где у меня не отображалось ничего, но при этом работало? Так вот, я сделал другую абилку и она тоже полностью работает, никаких траблов нет, но консоль орет мне, что получает ноль. Хотя работает все так, как я и хотел. Вот ошибки:
Код
[   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

Оффлайн Adam Smith

  • Друзья CG
  • 468
  • Мощь: 6
  • жрять жри его
Код
function zerno:OnCreated()
If IsServer() then
 Local targer = self:GetAbility():GetCursorTarget()
End
End
End
By PG.Freeman

Оффлайн I_GRIN_I

  • Продвинутый
  • 389
  • Мощь: 6
  • Научиться бы скриптить...
Adam Smith, спасибо, чет я даже не додумался до такого