这是一个有效的 TS3 poke 脚本,它会戳所有用户:
function pokeall(serverConnectionHandlerID)
local clients, error = ts3.getClientList(serverConnectionHandlerID)
for i=1, #clients do
local clname, clientNameError = ts3.getClientVariableAsString(serverConnectionHandlerID, clients[i], ts3defs.ClientProperties.CLIENT_NICKNAME)
ts3.requestClientPoke(serverConnectionHandlerID, clients[i], "Lua Pokeall script :-)")
--ts3.printMessage(serverConnectionHandlerID, "Poked "..clname.." (id: "..clients[i]..")!")
end
end
ts3.printMessage
现在是评论(可选)。
该脚本使用命令:/lua run pokeall
我是Lua的新手。我想了解这段代码是如何工作的。所以在这里,如果我理解正确:我们有 2 个变量clients
和clname
. 这显然是一个循环clients[i]
。for
它从索引 1 开始(所以它是 2. 元素)。为什么不使用 0 (i = 0) ?
clname
获取用户名,我想...
我怎样才能戳到一个具体的用户? (使用命令只戳 1 个用户:/lua run pokeall USER_NICKNAME --> 用户名)
足以改变clients[i]
to clname
ints3.requestClientPoke
吗?