function OnEvent(event, arg, family)
if (event == "MOUSE_BUTTON_PRESSED" and arg == 5 and family == "mouse") then
PlayMacro("Lustre Rotation")
end
if (event == "MOUSE_BUTTON_RELEASED" and arg == 5 and family == "mouse") then
AbortMacro()
end
end
您好,我一直在
使用MINGW32编译Lua5.2将创建一个库(lua52.dll),当发生Lua错误时,该库可能会使主机应用程序崩溃。
我在测试脚本中做了一个Lua语法错误,检测到了这个错误。如果脚本完全没有错误,主机程序将成功地运行它。但是,当加载无效的脚本时(例如,在一个IF块中缺少一个脚本),主机程序就会崩溃。
下面是我的代码片段:
//Load the script
int status = luaL_loadfile(L, "foo.lua");
if (status == 0) {
//Run the script
....
} else {
wa
我有一个G700鼠标连接到我的电脑。Linux (Ubuntu)中这个鼠标的问题是灵敏度很高。我也不喜欢鼠标加速,所以我做了一个脚本来关闭它。剧本看上去像这样
#!/bin/bash
# This script removes mouse acceleration, and lowers pointer speed
# Suitable for gaming mice, I use the Logitech G700.
# More info: http://www.x.org/wiki/Development/Documentation/PointerAcceleration/
xinput
我想在logitech lua脚本中设置随机循环时间,但软件一直告诉我"string "LuaVM":4:尝试调用全局‘随机’(一个空值)“,是不是出了什么问题?我该怎么解决这个问题? entfunction OnEvent(event, arg)
if (event == "MOUSE_BUTTON_PRESSED" and arg == 3) then
local i=1
for i = 1,random(5,7),1 do
PressAndReleaseKey("1")
Sleep(
我对脚本的了解不多。在Logitech Gaming Software中,我想使用这个LUA脚本:
function OnEvent(event, family)
if (event == "MOUSE_BUTTON_PRESSED" and arg == 2) then
PlayMacro("DPI Up")
elseif (event == "MOUSE_BUTTON_RELEASED" and arg == 2) then
PlayMacro("DPI Down")
我有一个Logitech 360键盘,我正试图用它在Raspberry Pi B上编写Python代码。撇号键会生成一个斜引号,而不是‘垂直’单引号,这会导致代码中出现语法错误(当我从浏览器粘贴一个代码片段时,同样的代码运行得很好,这是我唯一能找到的产生正确风格撇号的方法)。
语法错误是“文件‘-’中第X行的非ASCII字符'\xc2‘,但未声明编码;有关详细信息,请参阅。”网页建议在脚本的开头声明一个字符编码,但这对我不起作用,而且无论如何,我都不希望在每个脚本的开头都使用它--我只希望键盘一开始就能产生正确的字符。我已经摆弄了键盘配置的国际设置;什么都不起作用。快把我逼疯了。
嘿,伙计们,我最近开始尝试为Logitech GHUB写一些简单的Lua脚本。我终于让它们以我喜欢的方式工作了,但我对这个有点麻烦。当我释放Mouse5时,它不会立即停止,它将继续执行脚本直到结束。但是,如果我释放鼠标5,我希望它立即停止。我该怎么做?
function OnEvent(event, arg)
if event == "MOUSE_BUTTON_PRESSED" and arg == 5 then
repeat
Sleep(40)
PressMouseButton(1)
Sleep(1150)
Rele
我开始学习如何使用Lua脚本为不同的游戏配置文件与罗技软件。
首先,我尝试使用onevent (我知道它不是很高级)并创建了这个攻击组合脚本
function OnEvent(event, arg)
if event == "MOUSE_BUTTON_PRESSED" and arg == 1 then --set flag for mb1
mb1_pressed = true
elseif event == "MOUSE_BUTTON_RELEASED" and arg == 1 then --set flag for mb1
我正在改进我们在中为机器人玩家处理Lua脚本的方式。目前,每个机器人都有自己的L实例,我们试图通过交换环境表来让它们共享一个。注意,机器人可能是完全不同的脚本。
我意识到这个方法在Lua5.2中是不推荐的,但是我们目前使用Lua,它仍然使用Lua5.1。这个游戏是用C++写的。
所以..。
首先,我们创建一个环境,并称之为:
// Create a table with room for 0 array and 1 non-array elements
lua_createtable(L, 0, 1); // -- tab
// Set the globals
考虑一下这个小型Lua测试脚本。
g1 = "Global 1"
g2 = "Global 2"
function test ()
local l1
print(g1,g2,l1)
end
test()
假设您在print(g1、g2、l1)处暂停执行,然后从C++获得这个C代码的所有全局变量:
lua_pushglobaltable(L);
lua_pushnil(L);
while (lua_next(L,-2) != 0) {
const char* name = lua_tostring(L,-2);
// How do I tel
我在redis.lua中启动Redis连接池,通过从C调用,我得到了一个redis_lua_state,这个Lua状态是全局启动的,而其他线程只能从它得到。
当有一个HTTP请求(工作线程)时,我需要从redis_lua_state中获取一个Redis连接,然后新的Lua状态来加载其他Lua脚本,而这些脚本将使用这个redis连接与redis通信,如何做到这一点?或者如何设计我的Lua脚本使其变得简单?
代码示例:
/* on main thread, to init redis pool connection */
lua_State *g_ls = NULL;
l
我有一个使用luabind绑定到Lua的C++程序。我目前正在测试lua和luabind必须提供的错误处理方法,以帮助调试未来的lua脚本。这样做的目的是让luabind或lua在出现语法错误和编程错误时抛出异常,以便我可以调试和更正它们。
现在的问题是,下面的脚本只是停止执行,没有任何错误消息或异常被抛出,所以在一个较大的程序中,我不知道问题会在哪里,甚至不知道问题是不是在第一个地方。
下面是相关的代码片段:
Lua:(start.lua)
--complete file shown, this is meant to test the error handling of the C++ p
在游戏中,一个朋友正在为这个Logitech鼠标使用LUA脚本,如果他单击并按住鼠标右键,然后单击鼠标左键,则执行一个“按左键-alt”操作:
function OnEvent(event,arg)
if IsKeyLockOn("numlock")then
if IsMouseButtonPressed(3)then
repeat
if IsMouseButtonPressed(1) then
PressAndReleaseKey("lalt
我目前正在研究一些Logitech键盘的Lua代码。
我可以让代码在单次按下时工作,我已经放置了一个重复和睡眠计时器,并希望这个计时器继续循环,直到我按下鼠标按钮,这是不值得的。
这就是我到目前为止所知道的:
function OnEvent(event, arg)
if event == "G_PRESSED" and arg == 1 then
PressMouseButton(3)
repeat
MoveMouseRelative(-20,0)
Sleep(50)
until not
所以有一个main_window类,它处理所有重要的东西--敌人的向量,敌人的向量,当敌人死亡时,它会把一个效果对象推回到效果向量中。这里来了一个有用的观点
lua_State *G = luaL_newstate(); // I need this thing to be global
// class constructor
Effect::Effect(int ix, int iy)
{
// not important codes deleted
luaL_openlibs(G);
luaL_dofile(G, "script/effect/blue_explos
我有以下lua脚本,它用正确的单词分隔字符串:
names = "aa bb cc dd"
words = {}
for word in names:gmatch("%w+") do table.insert(words, word) end
for k,v in pairs(words) do print(k,v) end
我正在使用一个名为Graphite的程序,它是一个用于计算机图形学等的平台。在它的自述文件中写着:
您可以编写一个LUA脚本并使用Graphite运行它。只需使用GEL ->执行文件加载脚本即可。
我对LUA的经验很少,对凝胶
我正在尝试实现一个简单的C++函数,它检查Lua脚本的语法。为此,我使用Lua的编译器函数luaL_loadbufferx(),然后检查它的返回值。
最近,我遇到了一个问题,因为我认为应该被标记为无效的代码没有被检测到,相反,脚本在运行时失败了(例如。在lua_pcall()中)。
示例Lua代码(可以在上进行测试):
function myfunc()
return "everyone"
end
-- Examples of unexpected behaviour:
-- The following lines pass the compile time check
我有一个Lua解释器,每当我在代码中出现语法错误时,返回的错误消息就是attempted to call a string value,而不是有意义的错误消息。例如,如果我运行这个lua代码:
for a= 1,10
print(a)
end
它将返回错误'do' expected near 'print',而不是返回有意义的attempted to call a string value和行号。
我的C++代码如下:
void LuaInterpreter::run(std::string script) {
luaL_openlibs(m_ma
我很难通过安卓上的LuaJ调用Java脚本,这需要其他Lua脚本。我认为这与我目前的工作目录有关。
我在Java中尝试的是:
InputStream input = EvilApp.getContext().getAssets().open("lua/pathTest.lua");
Prototype p = LuaC.instance.compile(input, "pathTest.lua");
LuaValue g = JsePlatform.standardGlobals();
LuaClosure c = new LuaClosure(p, g);
c
我正在使用我的C/C++游戏中的lua 5.3,以允许其行为的某些部分被脚本化。 在C++程序中,每一帧我都会以如下方式调用lua函数main: lua_getfield(VMState, LUA_GLOBALSINDEX, "main");
int result = lua_pcall(VMState, 0, 0, 0); 我希望脚本定义一个名为main的函数,它可以做很多事情。例如,我可以有一个脚本,它执行以下操作: local f = function()
draw_something({visible = true, x = 0, y = 0})
end
m
我发现_VERSION返回"Luau"而不是"Lua 5.1"。我还发现continue和+=操作符可以正常工作
print(_VERSION) -- Luau
value = 0
value += 1
print(value) -- Doesn't return a syntax error
for k, v in ipairs({1, 2, 3, 4}) do
if k == 1 then
continue -- This works?
end
print(v)
end
打印
1
2
3
4
我还摆弄了一下它,并意识到类型注解是有