myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Тема закрытаНачать новую тему

> ! Часто Задаваемые Вопросы !, Обязательно прочитать всем!!!

Теги
Setuper
сообщение 18.1.2009, 13:36
Сообщение #1


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




В данной теме будут описываться часто задаваемые вопросы. Прежде чем писать очередной пост, посмотрите нету ли решения вашей проблему в этой теме!!!

Итак, поехали...

Где скачать хаб PtokaX?
Как сделать отсылку сообщения пользователю при входе на хаб?
Как прописать абсолютные пути?
Что такое MOTD или как установить сообщение при входе?
Как по команде сделать показ сообщения (например правил хаба)?
Как сделать контекстное меню для команды?
Как запретить скачивать и искать на хабе незарегистрированным?
Как запретить пользоваться чатом и личкой на хабе незарегистрированным?
Как написать функцию оповещения об ошибках скрипта?
Как запретить символы в нике для определённых профилей?
Как изменить выводимые в чат ники пользователей?
Как сделать действие по команде?
Как сделать приветствие с указанием времени суток?
Есть ли скрипт статистики скачивания на хабе?
Как сделать оповещение в ОпЧат о слишком большой шаре пользователя?
Как сделать ограничения действий или добавить исключения по профилям?
Как сделать ограничения действий или добавить исключения по никам пользователей?
Как установить/удалить/запустить PtokaX как службу?
Как сделать сообщение, которое будет выдаваться при входе на хаб(Перед надписями "Этот хаб работает ...")?


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 18.1.2009, 13:38
Сообщение #2


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Где скачать хаб PtokaX?

Читаем внимательно тут: http://mydc.ru/topic19.html


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 18.1.2009, 13:49
Сообщение #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


Спасибо сказали:
Go to the top of the page
+Quote Post
Wariner
сообщение 18.1.2009, 13:53
Сообщение #4


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




Как прописать абсолютные пути?

Для API 2:
Код
sFile = Core.GetPtokaXPath().."scripts/папка/файл"


Для API 1:
Код
sFile = frmHub:GetPtokaXLocation().."scripts/папка/файл"


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 18.1.2009, 14:14
Сообщение #5


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Что такое MOTD или как установить сообщение при входе?

MOTD - это сокращение от Message Of The Day. Переводится как "Сообщение дня". Показывается при входе на хаб. Для старых версий PtokaX устанавливается на первой вкладке. Для новых версий устанавливается в настройках. Для отсылки данного сообщения в приват нужно установить галочку: "Отправлять сообщение дня в приват".


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 18.1.2009, 14:29
Сообщение #6


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Как по команде сделать показ сообщения (например правил хаба)?

1. Открываем папку, где располагается файл PtokaX.exe, и заходим в папку texts.
2. Создаём в этой папке текстовый файл.
3. Переименовываем этот файл (например в имя rules.txt)
4. Открываем его, и пишем сообщение (например правила хаба)
5. Ищем в настройках хаба настройку: "Включить текстовые файлы" (В старых версиях настройка находится во вкладке "Настройки" справа. В новых версиях в "основных настройках" - "Больше настроек"). Там же можно (если необходимо) установить отправку этого сообщения в приват.
6. Для старых версий там же в настройках нужно перезагрузить текстовые файлы (или просто воспользоваться командой в чат !reloadtxt).

Всё готово и по команде !rules можно будет увидеть правила хаба.

Таким образом можно создать любые текстовые сообщения по команде. Например, можно сделать правила, сайты, хабы сети, информацию для операторов и тд. и тп.
Go to the top of the page
+Quote Post
Setuper
сообщение 18.1.2009, 14:41
Сообщение #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&#124;|"..
  "$UserCommand 1 3 Меню хаба\\Хабы-друзья$<%[mynick]> !hubs&#124;|"..
  "$UserCommand 1 3 Меню хаба\\Сетевое радио$<%[mynick]> !radio&#124;|")
end
RegConnected,OpConnected=UserConnected,UserConnected


API 1:
Код
function NewUserConnected(tUser)
  tUser:SendData("$UserCommand 1 3 Меню хаба\\Правила хаба$<%[mynick]> !rules&#124;|"..
  "$UserCommand 1 3 Меню хаба\\Хабы-друзья$<%[mynick]> !hubs&#124;|"..
  "$UserCommand 1 3 Меню хаба\\Сетевое радио$<%[mynick]> !radio&#124;|")
end
OpConnected=NewUserConnected
Go to the top of the page
+Quote Post
Setuper
сообщение 7.2.2009, 21:04
Сообщение #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


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 8.2.2009, 18:41
Сообщение #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


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 28.2.2009, 17:48
Сообщение #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


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 7.3.2009, 2:41
Сообщение #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


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 7.3.2009, 2:43
Сообщение #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


Спасибо сказали:
Go to the top of the page
+Quote Post
Wariner
сообщение 9.3.2009, 10:46
Сообщение #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


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 19.3.2009, 14:35
Сообщение #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
Go to the top of the page
+Quote Post
Wariner
сообщение 27.5.2009, 8:49
Сообщение #15


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




Есть ли скрипт статистики скачивания на хабе?

Нет, такой скрипт невозможно реализовать из-за того что скачка идёт напрямую между клиентами не затрагивая хаб.
Поэтому невозможно создать скрипт статистики не на количество скачиваемого не на то что скачивают(названия файлов)!!!


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 9.8.2009, 13:30
Сообщение #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


Спасибо сказали:
Go to the top of the page
+Quote Post
Wariner
сообщение 1.11.2009, 10:21
Сообщение #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 стоит еденичка!


Спасибо сказали:
Go to the top of the page
+Quote Post
Accelerator
сообщение 8.6.2010, 18:47
Сообщение #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


Спасибо сказали:
Go to the top of the page
+Quote Post
alex82
сообщение 24.7.2010, 12:23
Сообщение #19


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Как установить/удалить/запустить PtokaX как службу?

Консольная версия PtokaX прекрасно умеет устанавливать себя как системную службу.

  • Установка сервиса:
    Код
    PtokaX.exe -i "имя сервиса"
    Аналог:
    Код
    PtokaX.exe /install "имя сервиса"
  • Удаление сервиса:
    Код
    PtokaX.exe -u "имя сервиса"
    Аналог:
    Код
    PtokaX.exe /uninstall "имя сервиса"
  • Запуск сервиса:
    Код
    PtokaX.exe -s "имя сервиса"
    Аналог:
    Код
    PtokaX.exe /service "имя сервиса"
  • Установка конфиг директории:
    Код
    PtokaX.exe -c "абсолютный путь до директории"
  • Получение версии:
    Код
    PtokaX.exe -v
    Аналог:
    Код
    PtokaX.exe /version
  • Помощь по командам:
    Код
    PtokaX.exe -h
    Аналог:
    Код
    PtokaX.exe /help
  • Отключение проверки ключа в $Key команде:
    Код
    PtokaX.exe /nokeycheck


Примеры:

Конфигурирование директории и установка сервиса:
Код
"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


Спасибо сказали:
Go to the top of the page
+Quote Post
Accelerator
сообщение 10.6.2011, 16:28
Сообщение #20


Developer
******

Группа: Модераторы
Сообщений: 541
Регистрация: 11.11.2008
Пользователь №: 1 075
Спасибо сказали: 244 раза




Как сделать сообщение, которое будет выдаваться при входе на хаб(Перед надписями "Этот хаб работает ...")?

Код
local sMsg = "Пожалуйста, подождите, идёт загрузка хаба..." -- сообщение, выдаваемое при входе на хаб

function ValidateNickArrival(tUser, sData)
       Core.SendToUser(tUser, sMsg)
end


Спасибо сказали:
Go to the top of the page
+Quote Post

Тема закрытаНачать новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts ВАЖНО: Topic has attachmentsВопросы Разработчикам Скриптов
вопросы по скриптам (мелкие вопросы)
1 049 Wariner 930 032 3.2.2019, 12:51 Посл. сообщение: MIKHAIL
No new ВАЖНО: Topic has attachmentsВаши Вопросы И Предложения По Поводу Форума
447 Svyat 302 116 20.10.2015, 19:39 Посл. сообщение: Ksan
No New Posts От: Вопросы Разработчикам Скриптов
От темы с ID: 173
0 MIKHAIL 4 008 23.1.2015, 0:56 Посл. сообщение: MIKHAIL
No new Topic has attachmentsВопросы по протоколу NMDC
Делаю программу
26 Master255 27 415 12.1.2015, 0:38 Посл. сообщение: Master255
No New Posts Вопросы к Phazeus по Экзекутору
Мастер может забанить мастера, как решить в Экзекуторе?
1 AndreiDC 5 000 31.10.2014, 19:20 Посл. сообщение: Ksan
No new От: Вопросы Разработчикам Скриптов
От темы с ID: 173
29 Wariner 24 330 28.1.2014, 13:11 Посл. сообщение: Alexey
No new Topic has attachmentsВопросы по RusHub
Технические вопросы
316 Jaska 251 344 19.12.2013, 13:59 Посл. сообщение: mod
No new Topic has attachmentsМелкие вопросы
44 Wariner 48 221 19.9.2013, 12:34 Посл. сообщение: Alexey
No New Posts От: Ваши Вопросы И Предложения По Поводу Форума
От темы с ID: 753
3 anila 8 554 28.3.2013, 16:02 Посл. сообщение: настя
No new Topic has attachmentsВопросы Разработчикам Скриптов с SQL
вопросы по скриптам (мелкие вопросы)
101 Wariner 56 946 6.12.2011, 0:34 Посл. сообщение: Enyby
No New Posts От: Вопросы по RusHub
От темы с ID: 2902
4 Otshelnik-Fm 7 909 19.10.2011, 9:23 Посл. сообщение: Mangust
No New Posts От: Ваши Вопросы И Предложения По Поводу Форума
От темы с ID: 753
0 AntonRibin868 5 479 13.4.2011, 4:46 Посл. сообщение: AntonRibin868
No New Posts PtokaX часто зависает
9 Ares 13 381 4.3.2011, 0:58 Посл. сообщение: mod
No New Posts От: Ваши Вопросы И Предложения По Поводу Форума
От темы с ID: 753
0 Ksan 5 259 26.12.2010, 17:39 Посл. сообщение: Ksan
No New Posts От: Задаем Вопросы
От темы с ID: 399
3 теньь 6 231 19.12.2010, 22:28 Посл. сообщение: Cost-iron

 



RSS Сейчас: 28.3.2024, 23:49