Lua 在 TS3 说明中戳客户端的脚本
Lua script to poke clients in TS3 explanation
这是一个有效的 TS3 戳脚本,它戳了所有用户:
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 运行 pokeall
我是 Lua 的新人。我想了解这段代码是如何工作的。
所以在这里,如果我理解正确的话:
我们有 2 个变量 clients
和 clname
。 clients[i]
和 for
显然是一个循环。它以索引 1 开头(因此它是 2. 元素)。为什么不使用 0 (i = 0)?
clname
获取用户名,我觉得...
如何戳具体用户?
(仅使用命令戳 1 个用户:/lua 运行 pokeall USER_NICKNAME --> 用户名)
足以将 ts3.requestClientPoke
中的 clients[i]
更改为 clname
?
Why not with 0 (i = 0) ?
因为 Lua 与大多数其他编程语言不同,序列从索引 1 开始。
Enough to change the clients[i] to clname in ts3.requestClientPoke ?
您使用用户的客户端 ID,而不是用户名来访问用户。
这是一个有效的 TS3 戳脚本,它戳了所有用户:
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 运行 pokeall
我是 Lua 的新人。我想了解这段代码是如何工作的。
所以在这里,如果我理解正确的话:
我们有 2 个变量 clients
和 clname
。 clients[i]
和 for
显然是一个循环。它以索引 1 开头(因此它是 2. 元素)。为什么不使用 0 (i = 0)?
clname
获取用户名,我觉得...
如何戳具体用户? (仅使用命令戳 1 个用户:/lua 运行 pokeall USER_NICKNAME --> 用户名)
足以将 ts3.requestClientPoke
中的 clients[i]
更改为 clname
?
Why not with 0 (i = 0) ?
因为 Lua 与大多数其他编程语言不同,序列从索引 1 开始。
Enough to change the clients[i] to clname in ts3.requestClientPoke ?
您使用用户的客户端 ID,而不是用户名来访问用户。