Это рабочий сценарий po3 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 run pokeall
Я новичок в Lua. Я хочу понять, как работает этот код. Так что вот, если я правильно понял: у нас есть 2 переменные clients
и clname
. clients[i]
с for
это, очевидно, все oop. Он начинается с индекса 1 (поэтому это 2. элемент). Почему не с 0 (i = 0)?
clname
получает имя пользователя, я думаю ...
Как я могу ткнуть конкретного пользователя? (чтобы ткнуть только 1 пользователя с помощью команды: / lua запустить pokeall USER_NICKNAME -> имя пользователя)
Достаточно изменить clients[i]
на clname
в ts3.requestClientPoke
?