Вопросы по скриптам, Мелкие вопросы |
Здравствуйте, гость ( Вход | Регистрация )
Вопросы по скриптам, Мелкие вопросы |
22.2.2010, 16:49
Сообщение
#21
|
|
Developer Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза |
Код local sCmd = sData:match"%b<>%s+[!+*](%S+)" if sCmd == "команда" or sCmd == "команда2" or sCmd == "команда3" then Ошибка была в регулярном выражении. |
|
|
22.2.2010, 17:13
Сообщение
#22
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
И так тоже никак.
|
|
|
22.2.2010, 17:23
Сообщение
#23
|
|
Developer Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза |
Код function ChatArrival(user, sData)
local sData = string.sub(sData,1,-2) local sCmd = sData:match"%b<>%s+[!+*](%S+)" if sCmd == "test" or sCmd == "stats" or sCmd == "команда3" then ... return true end end |
|
|
22.2.2010, 17:52
Сообщение
#24
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
вместо этого:
Код local sData = string.sub(sData,1,-2) local sCmd = sData:match"%b<>%s+[!+*](%S+)" лучше писать так: Код local sCmd = sData:match"%b<>%s+[!+*](%S+)|$"
|
|
|
25.2.2010, 14:32
Сообщение
#25
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Вопрос таковой, как сделать сохранение данных - юзеров, шары в txt файл что бы потом вывести на сайт???
|
|
|
28.2.2010, 0:13
Сообщение
#26
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Предыдущий вопрос решёл. Спасибо Nickolya.
Сейчас вопрос такой: В некоторых скриптах видел подобную функцию. Пример. "Отсылать ли сообщение в приват или в главный чат? пишем true Отсылается сообщение в чат Пишем false - отсылается сообщение в приват." "Дублировать ли важные сообщения? (Отсылать в лс и в чат) Пишем true - Отсылается и в приват и в гл чат Пишем false Сообщение идёт только в приват." Попробовал выдернуть из других скриптов не получилось. Скажите пожалуйста как написать такую функцию. Зарание спасибо. |
|
|
28.2.2010, 0:32
Сообщение
#27
|
|
Продвинутый участник Группа: Пользователи Сообщений: 153 Регистрация: 21.9.2008 Из: Челябинск Пользователь №: 574 Спасибо сказали: 54 раза |
Код If bFlag == true then Core.SendToAll("сообщение всем") elseif bFlag == false then Core.SendPmToNick(tUser.sNick, sBot,"сообщение в приват") end Ну и аналогично второе... bFlag - параметр который будет настраиваться и проверяться. tUser.sNick - адресат (юзер с ником в параметре sNick) sBot - отправитель |
|
|
28.2.2010, 1:56
Сообщение
#28
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Код if sCmd == sCmd.MainStat then Core.SendToUser(user,""..sLine.."\r\n\t\t\tИнформация о вас\r\n\n".. "\t[::] Ваш ник: "..user.sNick.."\t [::] Ваш IP: "..user.sIP.."\t \r\n".. "\t[::] Ваша шара: "..GetNormalShare(Core.GetUserValue(user,16)).."\t [::] Ваш режим: "..ModeRec(user).."\r\n".. "\t[::] Местоположение: "..tostring(IP2Country.GetCountryName(user)).." \r\n".. "\t"..sLine.."\r\n") return true end sPrefix = "+" sCmd = { MainStat = "mystat", } Вот как бы сижу рисую, пробую всё и понемногу Не пойму в чём у меня тут ошибка? В птоке ошибка: attempt to index global 'sCmd' (a nil value) |
|
|
28.2.2010, 10:20
Сообщение
#29
|
|
Продвинутый участник Группа: Пользователи Сообщений: 153 Регистрация: 21.9.2008 Из: Челябинск Пользователь №: 574 Спасибо сказали: 54 раза |
А как может таблица быть равна одному из полей таблицы?
По-моему тебе надо изменить название переменной для захвата команды или имя таблицы с набором возможных команд. |
|
|
28.2.2010, 18:20
Сообщение
#30
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
что то не то, и не могу понять что... не работают так команды
Раскрывающийся текст Код if sCmd == "..sCmd.MainStat.." then Core.SendToUser(user,""..sLine.."\r\n\t\t\tИнформация о вас\r\n\n".. "\t[::] Ваш ник: "..user.sNick.."\t [::] Ваш IP: "..user.sIP.."\t \r\n".. "\t[::] Ваша шара: "..GetNormalShare(Core.GetUserValue(user,16)).."\t [::] Ваш режим: "..ModeRec(user).."\r\n".. "\t[::] Местоположение: "..tostring(IP2Country.GetCountryName(user)).." \r\n".. "\t"..sLine.."\r\n") return true end if sCmd == "..sCmd.Hub.." then Core.SendToUser(user,""..sLine.."\r\n".. "\t\t\tО хабе\r\n\n".. "\t[::] Местоположение хаба:\r\n\t[::] Страна: "..Country..",\t Регион: "..Republic..",\tГород: "..City..".\r\n".. "\t[::] Главный бот хаба: "..sBot..", E-Mail: "..BotMail.."\r\n".. "\t[::] Топик хаба: "..sTopic.."\r\n".. "\t[::] Описание хаба: "..HubDescription.."\r\n".. "\t[::] Время непрерывной работы хаба: "..GetNormalTime(Core.GetUpTime()).."\r\n".. "\t"..sLine.."") return true end sPrefix = "+" --Префикс команд sCmd = { MainStat = "mystat", Hub = "hub", } |
|
|
28.2.2010, 19:49
Сообщение
#31
|
|
Продвинутый участник Группа: Пользователи Сообщений: 153 Регистрация: 21.9.2008 Из: Челябинск Пользователь №: 574 Спасибо сказали: 54 раза |
не видно функции ChatArrival в которой производился бы захват какой-либо команды.
Ну и ещё перечитай мой предыдущий пост. Ты все ещё пытаешься сравнить таблицу с одним из её полей. |
|
|
4.3.2010, 0:10
Сообщение
#32
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
В скрипте написан код
Код function UserConnected(tUser) Core.SendToUser(tUser, "\r\n".. "\t\t\tДобро пожаловать, "..tUser.sNick..", на "..HubName.." г. "..City..".\r\n".. "\t\t\t\t "..HubDescription.."\r\n".. "\t\t\t\t"..DecText.."\r\n".. "\t\t\t"..sLine.."\r\n".. "\t\t\tВаш ник: "..tUser.sNick..", IP-Адрес: "..tUser.sIP..", Ваша шара: "..GetNormalShare(Core.GetUserValue(tUser,16)).."") end OpConnected = UserConnected RegConnected = UserConnected function GetNormalShare(s) s=tonumber(s) or 0 if s>=1099511627776 then return string.format("%.2f",(math.floor(1000*s/1099511627776)/1000)).." TБ" elseif s>=1073741824 then return string.format("%.3f",(math.floor(1000*s/1073741824)/1000)).." ГБ" elseif s>=1048576 then return (math.floor(1000*s/1048576)/1000).." МБ" elseif s>=1024 then return (math.floor(1000*s/1024)/1000).." КБ" else return s.." Б" end end Шара юзера отображается нормально. а если заменить function UserConnected(tUser) на function ValidateNickArrival(tUser, sData) то шара юзера отображается 0Б. В чём может быть причина и как можно исправить? |
|
|
4.3.2010, 3:35
Сообщение
#33
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Это никак не исправить. На стадии валидации ника определён только ip адрес и ник, больше ничего не определено, так как пользователь ещё не отослал на хаб MyINFO строку.
|
|
|
15.3.2010, 22:27
Сообщение
#34
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Подскажите пожалуйста что не так в коде? Ошибка attempt to call global 'Send' (a nil value)
Код function ChatArrival(user, sData)
local cmd = sData:match"%b<>%s+(%S+).*|" if cmd == "+dcmagnet" then Send(sData) if SendMsg == Pm then Core.SendPmToUser(user, sData, "<"..Bot.."> "..msg) elseif SendMsg == Main then Core.SendToUser(user, sData, "<"..Bot.."> "..msg) end end return true end SendMsg = Pm --Куда отсылать сообщение |
|
|
15.3.2010, 22:32
Сообщение
#35
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
вот в этой строчке
Код Send(sData) скрипт пытается вызвать глобальную функцию Send которая видимо не определена в скрипте... |
|
|
15.3.2010, 22:34
Сообщение
#36
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
А как сделать надо будет?
|
|
|
15.3.2010, 22:36
Сообщение
#37
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
ты понимаешь что такое функция?
чтобы ошибка пропала достаточно написать Код function Send(sData) end а вот что делать должна эта функция хз.... думаю надо скрипт приложить тогда можно будет посмотреть))) |
|
|
15.3.2010, 22:41
Сообщение
#38
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
А всё сделал, Спасибо Wariner
щас ещё кое что поправлю
Прикрепленные файлы
|
|
|
20.3.2010, 12:28
Сообщение
#39
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Вот на некоторых хабах видел такую функцию
\\история чата\\посылать при входе (да или нет) Меню сделать не проблема, вот как написать функцию которая позволит чтобы юзер сам мог выбирать посылать ли ему сообщение при входе или нет? |
|
|
20.3.2010, 12:35
Сообщение
#40
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
1) пишешь меню с командой.
2) отлавливаешь эту команду в чате + ник писавшего и его решение ( типо 1 - посыдать; 0 - не посылать) 3) записываешь в таблицу ник = решение (можно и не в таблицу но я вот как то к ним не ровно дышу) 4) при входе проверяешь условие если 1 посылаешь если нет то нет))) |
|
|
Похожие темы
|
Сейчас: 27.11.2024, 1:54 |