Перейти к основному содержимому

Как исправить ошибку при использовании монстра, связанную с порядком аргументов ...

Вопрос

Как исправить ошибку при использовании монстра, связанную с порядком аргументов функции?

Ответ

Для решения ошибки необходимо изменить регистрацию коллбэка. Существующий код:

```lua
object:set_callback(callback.use_object, self.on_use, self)

Попробуйте следующий вариант:

object:set_callback(callback.use_object, self.on_use, monster, obj, who)

Затем измените сигнатуру функции on_use на соответствующую новому порядку аргументов. Например:

function generic_object_binder:on_use(monster, obj, who)
for i=1, self.item_count do
alife():create(self.item, who:position(), who:level_vertex_id(), who:game_vertex_id(), who:id())
end
end

После этих изменений функция должна работать корректно.