|
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
![]()
Сообщение
#2
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
|
|
|
![]()
Сообщение
#3
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Как сделать отсылку сообщения пользователю при входе на хаб?
Простейший код реализации отсылки сообщения в чат пользователю при входе: API 2: Код local sMsg=[[ Ваше сообщение (можно даже в несколько строк!) ]] function UserConnected(tUser) Core.SendToUser(tUser,sMsg) end RegConnected=UserConnected OpConnected=UserConnected API 1: Код local sMsg=[[ Ваше сообщение (можно даже в несколько строк!) ]] function NewUserConnected(tUser) tUser:SendData(sMsg) end OpConnected=NewUserConnected Простейший код реализации отсылки сообщения в приват пользователю при входе: API 2: Код local sMsg=[[ Ваше сообщение (можно даже в несколько строк!) ]] function UserConnected(tUser) Core.SendPmToUser(tUser,"Бот",sMsg) end RegConnected=UserConnected OpConnected=UserConnected API 1: Код local sMsg=[[
Ваше сообщение (можно даже в несколько строк!) ]] function NewUserConnected(tUser) tUser:SendPM("Бот",sMsg) end OpConnected=NewUserConnected |
|
|
![]()
Сообщение
#4
|
|
![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз ![]() |
Как прописать абсолютные пути?
Для API 2: Код sFile = Core.GetPtokaXPath().."scripts/папка/файл" Для API 1: Код sFile = frmHub:GetPtokaXLocation().."scripts/папка/файл"
|
|
|
![]()
Сообщение
#5
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Что такое MOTD или как установить сообщение при входе?
MOTD - это сокращение от Message Of The Day. Переводится как "Сообщение дня". Показывается при входе на хаб. Для старых версий PtokaX устанавливается на первой вкладке. Для новых версий устанавливается в настройках. Для отсылки данного сообщения в приват нужно установить галочку: "Отправлять сообщение дня в приват". |
|
|
![]()
Сообщение
#6
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Как по команде сделать показ сообщения (например правил хаба)?
1. Открываем папку, где располагается файл PtokaX.exe, и заходим в папку texts. 2. Создаём в этой папке текстовый файл. 3. Переименовываем этот файл (например в имя rules.txt) 4. Открываем его, и пишем сообщение (например правила хаба) 5. Ищем в настройках хаба настройку: "Включить текстовые файлы" (В старых версиях настройка находится во вкладке "Настройки" справа. В новых версиях в "основных настройках" - "Больше настроек"). Там же можно (если необходимо) установить отправку этого сообщения в приват. 6. Для старых версий там же в настройках нужно перезагрузить текстовые файлы (или просто воспользоваться командой в чат !reloadtxt). Всё готово и по команде !rules можно будет увидеть правила хаба. Таким образом можно создать любые текстовые сообщения по команде. Например, можно сделать правила, сайты, хабы сети, информацию для операторов и тд. и тп. |
|
|
![]()
Сообщение
#7
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Как сделать контекстное меню для команды?
Допустим, у вас есть команда !rules, по которой показываются правила хаба, команда !hubs, по которой показываются хабы сети и команда !radio, по которой показываются транслируемые через сеть радиостанции. Вы хотите, чтобы эти команды можно было вызывать из контекстного меню хаба. API 2: Код function UserConnected(tUser) Core.SendToUser(tUser,"$UserCommand 1 3 Меню хаба\\Правила хаба$<%[mynick]> !rules||".. "$UserCommand 1 3 Меню хаба\\Хабы-друзья$<%[mynick]> !hubs||".. "$UserCommand 1 3 Меню хаба\\Сетевое радио$<%[mynick]> !radio||") end RegConnected,OpConnected=UserConnected,UserConnected API 1: Код function NewUserConnected(tUser)
tUser:SendData("$UserCommand 1 3 Меню хаба\\Правила хаба$<%[mynick]> !rules||".. "$UserCommand 1 3 Меню хаба\\Хабы-друзья$<%[mynick]> !hubs||".. "$UserCommand 1 3 Меню хаба\\Сетевое радио$<%[mynick]> !radio||") end OpConnected=NewUserConnected |
|
|
![]()
Сообщение
#8
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Как запретить скачивать и искать на хабе незарегистрированным?
Код local sMsg="Вы не зарегистрированы. Пользоваться поиском и скачивать запрещено!"
function ConnectToMeArrival(tUser) if tUser.iProfile==-1 then if Core then Core.SendToUser(tUser,sMsg) else tUser:SendData(sMsg) end return true end end RevConnectToMeArrival,SearchArrival=ConnectToMeArrival,ConnectToMeArrival |
|
|
![]()
Сообщение
#9
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Как написать функцию оповещения об ошибках скрипта?
Код function OnError(s)
local h=io.open("errors.log","a+") if h then h:write(os.date()..": "..s.."\r\n") h:close() end if Core then Core.SendToOpChat(s) else SendToOpChat(s) end end |
|
|
![]()
Сообщение
#10
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Как запретить пользоваться чатом и личкой на хабе незарегистрированным?
API2: Код local sMsg=[[Сообщение о недоступности чата и лички незарегистрированному]] function ChatArrival(tUser) if tUser.iProfile == -1 then Core.SendToUser(tUser,sMsg) return true end end ToArrival=ChatArrival API1: Код local sMsg=[[Сообщение о недоступности чата и лички незарегистрированному]]
function ChatArrival(tUser) if tUser.iProfile == -1 then tUser:SendData(sMsg) return 1 end end ToArrival=ChatArrival |
|
|
![]()
Сообщение
#11
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Как запретить символы в нике для определённых профилей?
Код tSmbs={
[0]="", -- Master [1]="", -- Operator [2]="[®™]", -- Vip [3]="[®™]", -- Reg [-1]="[®™]", --UnReg } tBeginSmbs={ -- хотя цифры (одну) можно записать как %d [0]="", -- Master [1]="", -- Operator [2]="[1234567890]", -- Vip [3]="[%[%]%!]", -- Reg -- запрет []! в самом начале ника (1 символ) [-1]="[%.@]", --UnReg -- запрет .@ } function UserConnected(tUser) local sSmb=tBeginSmbs[tUser.iProfile] if sSmb and string.find(tUser.sNick,"^("..sSmb..")") then Core.SendToUser(tUser,"*** Украшения в никах запрещены!") Core.Disconnect(tUser) end sSmb=tSmbs[tUser.iProfile] if sSmb and string.find(tUser.sNick,"("..sSmb..")") then Core.SendToUser(tUser,"*** Украшения в никах запрещены!") Core.Disconnect(tUser) end end RegConnected=UserConnected OpConnected=UserConnected |
|
|
![]()
Сообщение
#12
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Как изменить выводимые в чат ники пользователей?
Код tNames = {
["Вася"] = "Барабас", ["Петя"] = "Гондурас", } function ChatArrival(tUser, sData) if tNames[tUser.sNick] then Core.SendToAll("<"..tNames[tUser.sNick].."> "..sData:sub(tUser.sNick:len()+4, -2)) return true end end |
|
|
![]()
Сообщение
#13
|
|
![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз ![]() |
Как сделать действие по команде?
Код function ChatArrival(tUser, sData) local cmd = sData:match"%b<>%s+(%S+).*|" if cmd == "!команда" then -- здесь вписываем то, что должно происходить по команде! return true end end Код одинаков для обих API единственное различие что в конце команды под API 2 надо писать return true, а под API 1 - return 1 |
|
|
![]()
Сообщение
#14
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Как сделать приветствие с указанием времени суток?
Код function UserConnected(tUser)
local iHour, sMsg = tonumber(os.date"%H"), tUser.sNick..". Добро пожаловать на хаб!" if iHour >= 5 and iHour < 12 then Core.SendToUser(tUser, ("Доброе утро %s"):format(sMsg)) elseif iHour >= 12 and iHour < 18 then Core.SendToUser(tUser, ("Добрый день %s"):format(sMsg)) elseif iHour >= 18 and iHour <= 23 then Core.SendToUser(tUser, ("Добрый вечер %s"):format(sMsg)) else Core.SendToUser(tUser, ("Доброй ночи %s"):format(sMsg)) end end RegConnected, OpConnected = UserConnected, UserConnected |
|
|
![]()
Сообщение
#15
|
|
![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз ![]() |
Есть ли скрипт статистики скачивания на хабе?
Нет, такой скрипт невозможно реализовать из-за того что скачка идёт напрямую между клиентами не затрагивая хаб. Поэтому невозможно создать скрипт статистики не на количество скачиваемого не на то что скачивают(названия файлов)!!! |
|
|
![]()
Сообщение
#16
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Как сделать оповещение в ОпЧат о слишком большой шаре пользователя?
Код local iShareLimit = 15 * 0x100000 * 0x100000 -- 15 ТБ
local sReport = "Подозрительно большая шара у пользователя: " function MyINFOArrival(tUser, sData) Core.GetUserData(tUser, 16) if tUser.iShareSize >= iShareLimit then Core.SendToOpChat(sReport..tUser.sNick.." ["..tUser.sIP.."]. Шара: "..tUser.iShareSize) end end |
|
|
![]()
Сообщение
#17
|
|
![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз ![]() |
Как сделать ограничения действий или добавить исключения по профилям?
в начале помещаем таблицу Код local tProfiles = { [0] = 1, -- Мастер [1] = 1, -- ОПератор [2] = 0, -- VIP [3] = 0, -- Зарегистрированный пользователь [-1] = 0, -- Незарегистрированный юзер } затем в куске кода который надо ограничить пишем Код if tProfiles[tUser.iProfile] == 1 then -- кусок кода end Кусок кода будет выполнятся только для того профиля для которого в таблице tProfiles стоит еденичка! |
|
|
![]()
Сообщение
#18
|
|
![]() Developer ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза ![]() |
Как сделать ограничения действий или добавить исключения по никам пользователей?
Создаём таблицу с никами Код local tNicks = { ["Вася"] = 1, -- Васе доступно использование команды (т.к. значение = 1) ["Петя"] = 0, -- Пете использование команды не доступно (т.к. значение = 0) } затем в куске кода который надо ограничить пишем Код if tNicks[tUser.sNick] == 1 then
-- код else Core.SendToUser(tUser, "<"..SetMan.GetString(21).."> Использование команды для вас не доступно!") end |
|
|
![]()
Сообщение
#19
|
|
![]() Местный ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз ![]() |
Как установить/удалить/запустить PtokaX как службу?
Консольная версия PtokaX прекрасно умеет устанавливать себя как системную службу.
Примеры: Конфигурирование директории и установка сервиса: Код "C:\Program Files\PtokaX\PtokaX.exe" -c "C:\PtokaX\" -i "PtokaX" Удаление сервиса: Код "C:\Program Files\PtokaX\PtokaX.exe" -u "PtokaX" Для запуска и остановки службы можно также использовать консольную программу NET, входящую в состав Windows. Команда запуска службы: Код NET START PtokaX Команда остановки: Код NET STOP PtokaX
|
|
|
![]()
Сообщение
#20
|
|
![]() Developer ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза ![]() |
Как сделать сообщение, которое будет выдаваться при входе на хаб(Перед надписями "Этот хаб работает ...")?
Код local sMsg = "Пожалуйста, подождите, идёт загрузка хаба..." -- сообщение, выдаваемое при входе на хаб
function ValidateNickArrival(tUser, sData) Core.SendToUser(tUser, sMsg) end |
|
|
![]() ![]() |
Похожие темы
![]() |
Сейчас: 8.9.2024, 2:39 |