Помогите! Как получить из Dota KV - Caster для обработки в луа(абилка)

gameizeazy

Активный
10 Июн 2016
116
0
Есть абилка...
Код:
-- бла бла бла
"OnSpellStart"
		{
			"RunScript"
			{
				"ScriptFile" "lina.lua"
				"function" "lina_random"
				"target" "CASTER"
				"amount" "amount"
			}
		}
-- бла бла бла
В lua
Код:
-- бла бла бла
function lina_random( event )

local caster = event.target
local amount = event.amount

AddRandomAttribute( caster, amount )
end
-- бла бла бла
-- так выдаёт ошибку что hero(принимаемая в функции) равно nil...
Я пробывал self.GetCaster() место event.target но она работает токо если делать напрямую, а я незнаю способа сделать напрямую что бы можно было сохранить AbilitySpecial...
Прошу доскажите как сделать что бы передавалось CASTER
 
Последнее редактирование модератором:

Danis

Продвинутый
12 Июн 2016
285
0
Проект
Custom Hero Arena
А вазве не так?
и еще amount можно получить в скрипте по другому
Код:
local amount = keys.ability:GetSpecialValueFor("amount")
а твой код должен выглядить как-то так.
Код:
-- бла бла бла
function lina_random( keys)

local caster = keys.caster
local amount = keys.amount

AddRandomAttribute( caster, amount )
end
-- бла бла бла
А self:GetCaster() это для классов (GetCaster() вроде только для модификаторов и спеллов), того-же модификатора или способности на луа. Способа на прямую сохранить кастера в абилити спешл вроде тоже нету.
 
Последнее редактирование модератором:

gameizeazy

Активный
10 Июн 2016
116
0
Ошибка была не в коде ::)
Код:
				"amount" "amount"
А в Dota kv :D
Надо было
Код:
				"amount" "%amount"
::) ::) ::) ::)
 
Последнее редактирование модератором:
Реклама: