- 8,887
- 11,615
Описание: получает список команд (без самповских).
Автор: @kin4stat
Код:
Пример использования:
Автор: @kin4stat
Код:
Lua:
local ffi = require('ffi')
ffi.cdef([[
struct std_string { union { char buf[16]; char* ptr; }; unsigned size; unsigned capacity; };
struct stCommandInfo { struct std_string name; int type; void* owner; };
struct std_vector_stCommandInfo{ struct stCommandInfo* first; struct stCommandInfo* last; struct stCommandInfo* end; };
]])
local _getChatCommands = ffi.cast('struct std_vector_stCommandInfo(__thiscall*)()', getModuleProcAddress('SAMPFUNCS.asi', '?getChatCommands@SAMPFUNCS@@QAE?AV?$vector@UstCommandInfo@@V?$allocator@UstCommandInfo@@@std@@@std@@XZ'))
function getChatCommands()
local t = {}
local commands = _getChatCommands()
local it = commands.first
while it ~= commands.last do
table.insert(t, '/'..ffi.string(it[0].name.size <= 0x0F and it[0].name.buf or it[0].name.ptr))
it = it + 1
end
return t
end
Lua:
for _, cmd in ipairs(getChatCommands()) do
imgui.Text(cmd)
end
Последнее редактирование: