local fireBallAnim = hum:LoadAnimation(animaInstance)
Это очень запутанное сообщение об ошибке. Единственная проблема заключается в том, что вы вызвали функцию-член с .
вместо :
. Переключение на двоеточие исправит вашу ошибку.
Когда вы вызываете функцию для объекта с двоеточием, он автоматически вставляет объект в качестве первого аргумента. Интересный пример этого можно увидеть в таблицах:
-- insert an object into the table 't'
local t = {}
table.insert(t, 1)
-- can also be written as...
t.insert(t, 1)
-- which is the same as...
t:insert(1)
Все эти вызовы делают одно и то же. Вызов функции с :
является синтактическим c сахаром для помещения объекта t
в качестве первого аргумента. Итак, в вашем коде происходит то, что вы вызываете LoadAnimation следующим образом:
local fireBallAnim = hum.LoadAnimation(<a humanoid object needs to go here>, <animation>)
Но так как вы передаете анимацию, где Humanoid должен go, он пытается найти функцию LoadAnimation на объект анимации и не удалось.