Перевод функции из C++ в Lua

Startracker983274

Известный
Автор темы
46
127
Версия MoonLoader
.026-beta
Всем привет.
Как можно это переделать из С++ на Lua?

C++:
playa->m_pIntelligence->m_TaskMgr.SetTaskSecondary(new CTaskComplexPlayHandSignalAnim(animationId, 4.0f), 4);

Пробовал так:

Lua:
local ffi = require("ffi")
local CTaskManager__SetTaskSecondary = ffi.cast("void(__thiscall *)(uintptr_t*, void*, uint32_t)", 0x681B60)
local CTaskComplexPlayHandSignalAnim__CTaskComplexPlayHandSignalAnim = ffi.cast("void(__thiscall *)(int, float)", 0x61B2B0)

local char_pointer = getCharPointer(PLAYER_PED)
char_pointer = char_pointer + 0x47C -- m_pIntelligence
char_pointer = readMemory(char_pointer, 4, false)
char_pointer = char_pointer + 0x4 -- m_TaskMgr
CTaskManager__SetTaskSecondary(ffi.cast("uintptr_t*", char_pointer), ffi.cast("void*", CTaskComplexPlayHandSignalAnim__CTaskComplexPlayHandSignalAnim(320, 4.0)), 4)

Крашит. Что-то не так передаю, но что? В плюсах не шарю совсем.