|
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
![]()
Сообщение
#1
|
|
![]() Участник ![]() ![]() Группа: Пользователи Сообщений: 49 Регистрация: 16.9.2010 Пользователь №: 7 707 Спасибо сказали: 0 раз ![]() |
Доброе время сутак)
В dc-клиенте Greylink есть такая шляпа - GetUserInfo(uid) -- что то вроде апи в скриптах часто вижу userinfo.ME, userinfo.NI собственно, что означает ME, NI? и почему нельзя выполнить такую конструкцию, чтобы узнать что она возвращает Код userinfo = DC():GetUserInfo(cid) DC(): SendPublicMessage(adres, userinfo) привел к tostring эту переменную userinfo, вернула nil видимо что то надо писать в этом параметре (cid) и что он означает вообще? |
|
|
![]()
Сообщение
#2
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Думаю для начала следовало бы прочитать вот это:
ME - это признак тебя (если этот юзер ты, то равно "1", иначе nil). NI - это ник юзера. Функция DC():GetUserInfo(uid) возвращает объект "юзер" по его uid. uid можно получить из аргумента функции-события: Код dcpp = {}
function dcpp.OnPublicMessage(uid, data) local user = DC():GetUserInfo(uid) DC():SendPublicMessage(user.HL, "test") end |
|
|
![]()
Сообщение
#3
|
|
![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз ![]() |
1.
2. Код local hub_name = dc_huburl -- "127.0.0.1" local users = DC():GetUsers(hub_name) local user = DC():GetUserInfo(users[math.random(1,#users)]) DC():SendPublicMessage(hub_name, '---------------------------') for k,i in pairs(user) do DC():SendPublicMessage(hub_name, k..' = '..i) end DC():SendPublicMessage(hub_name, '---------------------------') 3. ME - флаг того, что этот юзер - ты. NI - ник юзера. DE - описание VE - версия клиента TAG - тэг клиента SSshort - краткое название шары SS - шара в байтах LOC - строка месторасположения I4 - IPv4 адрес HL - адрес хаба OP - флаг оператора EM - e-mail SL - слоты 4. Вот еще описание этих значений: http://mydc.ru/index.html?showtopic=1983&a...ost&p=15998 UPD: Долго писал. Setuper обскакал. ![]() |
|
|
![]()
Сообщение
#4
|
|
![]() Участник ![]() ![]() Группа: Пользователи Сообщений: 49 Регистрация: 16.9.2010 Пользователь №: 7 707 Спасибо сказали: 0 раз ![]() |
Код dcpp = {} function dcpp.OnPublicMessage(uid, data) local user = DC():GetUserInfo(uid) DC():SendPublicMessage(user.HL, "test") end еще вопрос такой, как эту функцию завершить? она выполняется я так понял бесконечное число раз(выводит строку test) а как сделать так чтобы она выполнила только одну итерацию(один вывод test) и завершилась? |
|
|
![]()
Сообщение
#5
|
|
![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз ![]() |
Код dcpp = {} function dcpp.OnPublicMessage(uid, data) local user = DC():GetUserInfo(uid) DC():SendPublicMessage(user.HL, "test") dcpp = {} end или Код dcpp = {}
flag = true function dcpp.OnPublicMessage(uid, data) if flag then local user = DC():GetUserInfo(uid) DC():SendPublicMessage(user.HL, "test") flag = false end end |
|
|
![]() ![]() |
Похожие темы
![]() |
Сейчас: 8.9.2024, 4:21 |