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

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

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

Оффлайн gameizeazy

  • 116
  • Мощь: 1
Есть абилка...
Код
-- бла бла бла
"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

  • Продвинутый
  • 278
  • Мощь: 2
А вазве не так?
и еще 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() вроде только для модификаторов и спеллов), того-же модификатора или способности на луа. Способа на прямую сохранить кастера в абилити спешл вроде тоже нету.
« Последнее редактирование: 04-11-2016, 05:18:23 от Danis »
Создай Героя
Мод  - steamcommunity.com/...ils/?id=750146414
[свернуть]

Оффлайн gameizeazy

  • 116
  • Мощь: 1
Ошибка была не в коде  ::)
Код
				"amount" "amount"
А в Dota kv :D
Надо было
Код
				"amount" "%amount"
::) ::) ::) ::)