Исходник Гайд AHK-LUA-API

#Rin

Известный
Автор темы
Всефорумный модератор
1,214
1,035
"Экспорты луа апи генерируются автоматический:" - а это шо и куда?
Это про сам API.

есть какие - то публичные пирмеры скриптов на ahk и на lua использующие это API?
Нет, это наверное проект по типу доказательства концепции.

Кинул Апи и примеры в папку GTA там же и lua51.dll валяется.
чет нихуя я понять не могу
Если ты про MoonLoader, то у тебя должен быть доступ к LuaState который создал ML, то есть надо хукнуть luaL_newstate() в lua51.dll через AHK, и добавлять свои функции туда.
 

Double Tap Inside

Известный
Проверенный
1,897
1,245
Это про сам API.


Нет, это наверное проект по типу доказательства концепции.


Если ты про MoonLoader, то у тебя должен быть доступ к LuaState который создал ML, то есть надо хукнуть luaL_newstate() в lua51.dll через AHK, и добавлять свои функции туда.
Короче, надо рабочий пример как добавить ахк функцию в Moonloader.
 

#Rin

Известный
Автор темы
Всефорумный модератор
1,214
1,035
AutoHotKey:
#include AHK-LUA-API.ahk
#include AHK-HOOK-API.ahk

global luaL_newstateHook := new Hook("lua51.dll", "luaL_newstate", "Hook_luaL_newstate", "CDecl")

Hook_luaL_newstate()
{
    luaL_newstateHook.SetStatus(false)
    retValue := luaL_newstate()
    luaL_newstateHook.SetStatus(true)
    lua_register(retValue, "MsgBox", "LUAFUNC_MsgBox")
    lua_register(retValue, "MultiAdd", "LUAFUNC_Test")
    return retValue
}

LUAFUNC_MsgBox(L)
{
    MsgBox, % lua_tostring(L, 1)
    return 0
}

LUAFUNC_Test(L)
{
    sum := 0
    n := lua_gettop(L)
    loop % n
        sum += lua_tonumber(L, A_Index)
    lua_pushnumber(L, sum)
    return 1
}
Наверно это должно сработать, но такой способ добавить эту функцию во все lua скрипты.

Ну, а лучше было бы написать это в виде модуля, для подключения через require, но такой способ требует небольших изменений в интерпретаторе ахк.
 

Belo4ka_belka

Известный
191
7
Это что-то типо интерпретатора lua? Ну как в ахк 2.0 с его многопоточностью? Допустим тот же imgui хотя бы теоретически можно будет запускать в АХК? Или можно чисто функции вызывать и все? Хочу понять спектр возможности прежде чем начать изучать все это)
 
Последнее редактирование: