Koteyk0o 13 Опубликовано: 18 августа, 2017 В общем есть чат бокс из Computronics И надо сделать добавление юзера в вайт-лист командой из чата допустим $$adduser НИК Как считать ник? Допустим отправляем в чат $$adduser Koteyk0o и получаем сообщение "$$adduser Koteyk0o" Как из этого сообщения считать ник? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 18 августа, 2017 А как разобрать сообщение на отдельные слова и проверить ник? В инете не нашел инфы по идее как-то так string.gmatch(s, pattern) s:gmatch(pattern) то есть есть стринги какие-то, которые летят из чата, а комп их в цикле принимает local e, adr, ..., msg = event.pull("chat_command") и обрабатывает строку msg Попробуй так: local function split(str) local data = {} for word in str:gmatch("%a+") do table.insert(data, word) end return data end words = split('Hello Bob') print(words[1]) --> Hello print(words[2]) --> Bob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 18 августа, 2017 В общем есть чат бокс из Computronics чатбокс юзера в вайт-лист сам по себе не добавит. Нужен, видимо, еще и комблок какой-нибудь к компу прикрутить. То есть, этой системой должен обладать админ какой-то. Но зачем тогда этот компутронис, если админ может просто набрать /whitelist add nick Ну а так-то, сообщения из чата нужно просто распарсить на слова отдельные и проверить: если первое слово == adduser, то проверим, есть ли второе слово, и если есть, то это и есть ник. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Koteyk0o Автор вопроса 13 Опубликовано: 18 августа, 2017 (изменено) чатбокс юзера в вайт-лист сам по себе не добавит. Нужен, видимо, еще и комблок какой-нибудь к компу прикрутить. То есть, этой системой должен обладать админ какой-то. Но зачем тогда этот компутронис, если админ может просто набрать /whitelist add nick Ну а так-то, сообщения из чата нужно просто распарсить на слова отдельные и проверить: если первое слово == adduser, то проверим, есть ли второе слово, и если есть, то это и есть ник. Да, забыл написать, есть компик с прогой, прога чекает чат чатбоксом А как разобрать сообщение на отдельные слова и проверить ник? В инете не нашел инфы И забыл написать, вайт-лист в проге, не на сервере То-есть список тех игроков, на сообщения которых чатбокс будет реагировать Изменено 18 августа, 2017 пользователем Koteyk0o Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Koteyk0o Автор вопроса 13 Опубликовано: 18 августа, 2017 по идее как-то так string.gmatch(s, pattern) s:gmatch(pattern) то есть есть стринги какие-то, которые летят из чата, а комп их в цикле принимает local e, adr, ..., msg = event.pull("chat_command") и обрабатывает строку msg Попробуй так: local function split(str) local data = {} for word in str:gmatch("%a+") do table.insert(data, word) end return data end words = split('Hello Bob') print(words[1]) --> Hello print(words[2]) --> Bob Спасибо большое, все работает И как раз понял как это все работает Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
dispeloff 0 Опубликовано: 8 января, 2023 (изменено) В 19.08.2017 в 06:10, Koteyk0o сказал: Да, забыл написать, есть компик с прогой, прога чекает чат чатбоксом А как разобрать сообщение на отдельные слова и проверить ник? В инете не нашел инфы И забыл написать, вайт-лист в проге, не на сервере То-есть список тех игроков, на сообщения которых чатбокс будет реагировать Копипаст из официальной документации OpenComputers Event API Ссылка: https://ocdoc.cil.li/api:event Чтобы получать клики только от игрока «Steve», вы должны сделать: local _, x, y = event.pull("touch", nil, nil, "Steve") Разжёвывание: _, - Означает отбрасыватель или discard. Используется, когда возвращается или генирируется значение, которое не нужно. x, y - Переменные в которые записываются координаты, куда тыкнул игрок по монитору. В нашем случае 'nil, nil' После объявления переменной 'y' можно добавить запятую и объявить переменную в которую будет возвращаться ник игрока. "Steve" - Означает что событие "touch" будет приниматься только в том случае если у игрока ник "Steve" Пример в интерпретаторе с использованием чат бокса и события "chat_message": С объявлением переменных: Мягко говоря в программировании я ещё нуб, по этому пояснять некоторые термины могу не точно. Если кто-то ищет взаимный обмен опытом, общение на тему программирование и гейм дев, вот мой дискорд: dispeloff#7807 Изменено 8 января, 2023 пользователем dispeloff Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 8 января, 2023 1 час назад, dispeloff сказал: local _, x, y = event.pull("touch", nil, nil, "Steve") Разжёвывание: _, - Означает отбрасыватель или discard. Используется, когда возвращается или генирируется значение, которое не нужно. x, y - Переменные в которые записываются координаты, куда тыкнул игрок по монитору. В нашем случае 'nil, nil' Никакой это не отбрасыватель. В данном случае _ является таким же именем переменной, как x и y. 1 час назад, dispeloff сказал: Если кто-то ищет взаимный обмен опытом, общение на тему программирование и гейм дев, вот мой дискорд: dispeloff#7807 Добро пожаловать на сервер ComputerCraft.RU в Discord! 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Koteyk0o Автор вопроса 13 Опубликовано: 9 января, 2023 В 08.01.2023 в 09:03, dispeloff сказал: Копипаст из официальной документации OpenComputers Event API Ссылка: https://ocdoc.cil.li/api:event Чтобы получать клики только от игрока «Steve», вы должны сделать: local _, x, y = event.pull("touch", nil, nil, "Steve") Разжёвывание: _, - Означает отбрасыватель или discard. Используется, когда возвращается или генирируется значение, которое не нужно. x, y - Переменные в которые записываются координаты, куда тыкнул игрок по монитору. В нашем случае 'nil, nil' После объявления переменной 'y' можно добавить запятую и объявить переменную в которую будет возвращаться ник игрока. "Steve" - Означает что событие "touch" будет приниматься только в том случае если у игрока ник "Steve" Пример в интерпретаторе с использованием чат бокса и события "chat_message": С объявлением переменных: Мягко говоря в программировании я ещё нуб, по этому пояснять некоторые термины могу не точно. Если кто-то ищет взаимный обмен опытом, общение на тему программирование и гейм дев, вот мой дискорд: dispeloff#7807 Ого какую тему ты раскопал)) За эти 5 лет я успел выучить не только Lua 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
В общем есть чат бокс из Computronics
И надо сделать добавление юзера в вайт-лист командой из чата
допустим $$adduser НИК
Как считать ник?
Допустим отправляем в чат $$adduser Koteyk0o и получаем сообщение "$$adduser Koteyk0o"
Как из этого сообщения считать ник?
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах