Установка


Данный скрипт работает как на сервере Verlihub, так и на серверах PtokaX, RusHub и Eximius. При желании можно добавить практически любую локализацию для любого другого сервера, поддерживающего LUA 5.1.x. Перед запуском скрипта необходимо установить в самом скрипте нужную локализацию. Для этого откройте скрипт в текстовом редакторе и в блоке конфигурации найдите строку:
--<<>><<>><<>> текущая версия API/Current API: <<>><<>><<>> (задать значение/set value)
Ниже константе localization присваивается текстовое значение. Варианты: "rushub", "verlihub", "ptokax04" или "eximius". Таким образом производится переключение скрипта на нужную локализацию, которая будет загружена из файлов вида <название_локализации>.lua, расположенных в папке бота.

В установочном дистрибутиве присутствуют четыре варианта меню хаба для четырёх типов локализации (HubMenu.lua.rushub, HubMenu.lua.ptokax04, HubMenu.lua.verluhub и HubMenu.lua.eximius). Просто переименуйте нужный в HubMenu.lua. При первом запуске, если не будет обнаружен файл меню Хаба, скрипт сам попытается отыскать подходящий файл меню Хаба и переименовать его.

Также, если системная кодировка не совпадает с кодировкой, используемой сервером, и отображаемая дата кириллицей искажается, то раскомментируйте в основном скрипте код, исправляющий кодировку системной даты:

original_osdate=os.date
os.date = function(...)
    local str=original_osdate(...) or ""
    if type(str)=="string" then
        for l in pairs(CodePages["utf8"] or {}) do str=str:gsub(l,CodePages["utf8"][l]) end
        return (loadstring("return \""..(str or "").."\"") or function() end)() or ""
    end
    return str
end --фикс функции даты для перекодировки юникода --unicode os.date data replacement

Сразу установите константе DefaultLang значение языка по умолчанию (два символа в нижнем регистре языка, присутствующего в таблице EkzekutorLangs, который поддерживается ботом и плагинами):

DefaultLang = "ru" -- язык по умолчанию -- default language

VerliHub

Установите константе localization значение "verlihub". Это будет выглядеть так:

--<<>><<>><<>> текущая версия API/Current API: <<>><<>><<>> (задать значение/set value)
localization = "verlihub" -- ("rushub", "verlihub", "ptokax04", "eximius")
--<<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>

Теперь обратите внимание на массив настроек MySettings. Тут хранятся основные настройки скрипта, которые после первого запуска и при последующей эксплуатации сохраняются в текстовый файл Config.cfg. Необходимо, чтобы в поле FName был прописан путь до папки скрипта с файлами. По умолчанию эта папка называется Ekzekutor и обязательно идёт вместе со скриптом. Там хранится ряд необходимых для работы файлов и в неё сохраняются все файлы и базы, с которыми работает скрипт. Итак, пропишите путь до папки скрипта (обязательно со слэшем на конце), например:

["FName"]="/etc/verlihub/scripts/Ekzekutor/", -- имя папки -- bot folder path
(этот пример для сервера на Linux). Также в массиве MySettings много других настроек, о которых будет рассказано после. Большинство из них меняется через меню и команды скрипта.

После этого скрипт будет готов к первому запуску. После запуска он создаст в своей папке файлы, с которыми будет работать. Также перед запуском (если Вы используете LuaSocket) установите значение константе UseLuaSocket в самом начале файла verlihub.lua:

UseLuaSocket = 0 -- использовать ли LuaSocket (1-да,0-нет) -- use LuaSocket (1-yes,0-no)
Если задано значение 1, то будут использованы библиотеки LuaSocket для работы некоторых функций скрипта. Иначе будут использованы утилиты: dig, host, iconv, gunzip и curl (для Unix-систем). Утилита iconv должна быть в любом случае, если не используется локальная таблица преобразования кодировок (об этом в параграфе настроек). Обязательно установите все перечисленные утилиты, если не используете LuaSocket.

Также сразу надо сказать, что в локализации VerliHub, если Вы хотите использовать плагин автоматический регистрации пользователей, нужно установить значения переменным глобальной конфигурации Хаба autoreg_class и use_reglist_cache на 1 (или желаемый класс для автоматической регистрации) и 0 соответственно (команды !set autoreg_class 1 и !set use_reglist_cache 0).


PtokaX

Меню бота по умолчанию рассчитано на создание в PtokaX следующих профилей в порядке убывания полномочий (сверху вниз в редакторе профилей):
NetFounder
, Master, Moderator, Operator, VIP, Reg. Тоесть классы 0, 1, 2, 3, 4, 5 соответственно.

Названия профилей не важны, важен порядок и количество. Создайте классы в таком порядке и задайте им привилегии. Если у Вас стандартные профили, то просто добавьте недостающие. Таким образом, зарегистрированный пользователь должен быть с индексом 5. Если у Вас другие профили и Вы не хотите переделывать их в соответствии с этими "умолчаниями", тогда отредактируйте файлы меню Бота, Хаба и имеющихся плагинов (HubMenu.lua, BotMenu.lua, Menu.lua (в плагинах)), установив разрешения для команд в соответствии с Вашими профилями. Для редактирования можно использовать плагин редактирования меню. Разрешения по профилям для команд указанной локализации находятся в следующем блоке в файлах меню:

["PROFILES"]={
["ptokax04"]={
[номер_профиля] = 1,
},
},
Экзекутор запретит использование текущей команды для профилей, не указанных в этой таблице разрешений. Если профиль присутствует в списке, но ему присвоено значение 0, то пользователю не будет отправлено меню этой команды.

Установите константе localization значение "ptokax04". Это будет выглядеть так:

--<<>><<>><<>> текущая версия API/Current API: <<>><<>><<>> (задать значение/set value)
localization = "ptokax04" -- ("rushub", "verlihub", "ptokax04", "eximius")

--<<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>

Теперь обратите внимание на массив настроек MySettings. Тут хранятся основные настройки скрипта, которые после первого запуска и при последующей эксплуатации сохраняются в текстовый файл Config.cfg. Необходимо, чтобы в поле FName был прописан путь до папки скрипта с файлами. По умолчанию эта папка называется Ekzekutor и обязательно идёт вместе со скриптом. Там хранится ряд необходимых для работы файлов и в неё сохраняются все файлы и базы, с которыми работает скрипт. Итак, пропишите путь до папки скрипта (обязательно со слэшем на конце), например:

["FName"]="C:/Server/", -- имя папки -- bot folder path
Путь до папки прописывать не обязательно. Надо расположить папку бота в той же папке, где и скрипт. По умолчанию при первом запуске (при отсутствии файла конфигурации) скрипт попытается отыскать папку Ekzekutor в папке для скриптов scripts сервера и сам пропишет к ней путь. Также в массиве MySettings много других настроек, о которых будет рассказано после. Большинство из них меняется через меню и команды скрипта.

После этого скрипт будет готов к первому запуску. После запуска он создаст в своей папке файлы, с которыми будет работать. Также перед запуском (если Вы не используете LuaSocket) установите значение константе UseLuaSocket в самом начале файла ptokax04.lua:

UseLuaSocket = 0 -- использовать ли LuaSocket (1-да,0-нет) -- use LuaSocket (1-yes,0-no)
Если задано значение 1, то будут использованы библиотеки LuaSocket для работы некоторых функций скрипта. Иначе будут использованы утилиты: dig, host, iconv, gunzip и curl (для Unix-систем). Утилита iconv должна быть в любом случае, если не используется локальная таблица преобразования кодировок (об этом в параграфе настроек). Обязательно установите все перечисленные утилиты, если не используете LuaSocket.

Сразу необходимо заметить, что в локализации PtokaX скрипт использует пакет LuaSocket 2.0.2 (PXLuaSocket-2.0.2.rar в дистрибутиве скрипта). Файлы и папки этого пакета из архива надо разместить в папке с исполнительным файлом сервера PtokaX.exe (распаковать архив в папку с сервером) или в папку libs.

Обратите внимание на скрипт UnknownCommandBlock_PtokaX.lua, который идёт в дистрибутиве. Это "заглушка". Он необходим для того, чтобы не пропускать неизвестные команды в чат (как в Verlihub). Этот скрипт должен располагаться в самом конце списка скриптов (с самым низким приоритетом). Команды, которые должна пропускать заглушка, вносятся в таблицу исключений exeptions внутри скрипта заглушки.

Eximius

Меню бота по умолчанию рассчитано на создание в Eximius следующих профилей в порядке убывания полномочий (сверху вниз в редакторе профилей):
hubowner, master, moderator, operator, vip, reg, user. Тоесть классы 0, 1, 2, 3, 4, 5, 6 соответственно.
Названия профилей не важны, важен порядок и количество. Создайте классы в таком порядке и задайте им привилегии. Если у Вас стандартные профили, то просто добавьте недостоющие. Таким образом, зарегистрированный пользователь должен быть с индексом 5. Если у Вас другие профили и Вы не хотите переделывать их в соответствии с этими "умолчаниями", тогда отредактируйте файлы меню Бота, Хаба и имеющихся плагинов (HubMenu.lua, BotMenu.lua, Menu.lua (в плагинах)), установив разрешения для команд в соответствии с Вашими профилями. Для редактирования можно использовать плагин редактирования меню. Разрешения по профилям для команд указанной локализации находятся в следующем блоке в файлах меню:

["PROFILES"]={
["eximius"]={
[номер_профиля] = 1,
},
},
Экзекутор запретит использование текущей команды для профилей, не указанных в этой таблице разрешений. Если профиль присутствует в списке, но ему присвоено значение 0, то пользователю не будет отправлено меню этой команды.

Установите константе localization значение "eximius". Это будет выглядеть так:

--<<>><<>><<>> текущая версия API/Current API: <<>><<>><<>> (задать значение/set value)
localization = "eximius" -- ("rushub", "verlihub", "ptokax04", "eximius")

--<<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>

Теперь обратите внимание на массив настроек MySettings. Тут хранятся основные настройки скрипта, которые после первого запуска и при последующей эксплуатации сохраняются в текстовый файл Config.cfg. Необходимо, чтобы в поле FName был прописан путь до папки скрипта с файлами. По умолчанию эта папка называется Ekzekutor и обязательно идёт вместе со скриптом. Там хранится ряд необходимых для работы файлов и в неё сохраняются все файлы и базы, с которыми работает скрипт. Итак, пропишите путь до папки скрипта (обязательно со слэшем на конце), например:

["FName"]="C:/Server/", -- имя папки -- bot folder path
Путь до папки прописывать не обязательно. Надо расположить папку бота в той же папке, где и скрипт. По умолчанию при первом запуске скрипт попытается отыскать папку Ekzekutor в папке для скриптов scripts сервера и сам пропишет к ней путь, если файл конфигурации не обнаружен. Также в массиве MySettings много других настроек, о которых будет рассказано после. Большинство из них меняется через меню и команды скрипта.

После этого скрипт будет готов к первому запуску. После запуска он создаст в своей папке файлы, с которыми будет работать.

Обратите внимание на скрипт UnknownCommandBlock_Eksimius.lua, который идёт в дистрибутиве. Это "заглушка". Он необходим для того, чтобы не пропускать неизвестные команды в чат (как в Verlihub). Этот скрипт должен располагаться в самом конце списка скриптов (с самым низким приоритетом). Команды, которые должна пропускать заглушка, вносятся в таблицу исключений exeptions внутри скрипта заглушки.

По умолчанию в меню Хаба не добавлены "родные" команды сервера. Используется меню самого сервера. Если есть желание сделать меню Хаба отдельно в своём меню, то заполните этот файл по правилам создания файлов меню.

RusHub

Для работы в этой локализации Экзекутор использует вспомогательные скрипты. Для системы регистраций и профилей используется скрипт FirstRusHubBot.lua (должен располагаться в папке scripts) - автор Nickolya, страница: http://mydc.ru/topic2878.html?hl=FirstRusHubBot. Для системы банов используется скрипт BanManager.lua (должен располагаться в папке scripts) и модуль Ban.lua (должен располагаться в папке libs) - автор Wariner (немного доработал: Setuper), страница: http://mydc.ru/topic2885.html?hl=BanManager. Эти скрипты должны загружаться до загрузки Экзекутора (приоритет запуска устанавливается в файле scripts.xml).
Меню бота по умолчанию рассчитано на создание в скрипте FirstRusHubBot.lua следующих профилей в порядке убывания полномочий:
администратор, мастер, модератор, оператор, VIP, пользователь, гость. Тоесть классы 0, 1, 2, 3, 4, 5, -1 соответственно. Вот как выглядит таблица профилей:
tProfiles = {
    [0] = {
        tNames = {"администратор", "администрации"},
        bHaveKey = true,
    },
    [1] = {
        tNames = {"мастер", "мастера"},
        bHaveKey = true,
    },
    [2] = {
        tNames = {"модератор", "модератора"},
        bHaveKey = true,
    },
    [3] = {
        tNames = {"оператор", "оператора"},
        bHaveKey = true,
    },
    [4] = {
        tNames = {"VIP", "VIP'а"},
    },
    [5] = {
        tNames = {"пользователь", "пользователя"},
    },
    [-1] = {
        tNames = {"гость", "гостя"},
    },
}

Названия профилей не важны, важен порядок и количество. Создайте классы в таком порядке и задайте им привилегии. Если у Вас стандартные профили, то просто добавьте недостающие. Таким образом, зарегистрированный пользователь должен быть с индексом 5. Если у Вас другие профили и Вы не хотите переделывать их в соответствии с этими "умолчаниями", тогда отредактируйте файлы меню Бота, Хаба и имеющихся плагинов (HubMenu.lua, BotMenu.lua, Menu.lua (в плагинах)), установив разрешения для команд в соответствии с Вашими профилями. Для редактирования можно использовать плагин редактирования меню. Разрешения по профилям для команд указанной локализации находятся в следующем блоке в файлах меню:

["PROFILES"]={
["ptokax04"]={
[номер_профиля]=1,
},
},
Экзекутор запретит использование текущей команды для профилей, не указанных в этой таблице разрешений. Если профиль присутствует в списке, но ему присвоено значение 0, то пользователю не будет отправлено меню этой команды.

Установите константе localization значение "rushub". Это будет выглядеть так:

--<<>><<>><<>> текущая версия API/Current API: <<>><<>><<>> (задать значение/set value)
localization = "rushub" -- ("rushub", "verlihub", "ptokax04", "eximius")

--<<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>

Теперь обратите внимание на массив настроек MySettings. Тут хранятся основные настройки скрипта, которые после первого запуска и при последующей эксплуатации сохраняются в текстовый файл Config.cfg. Необходимо, чтобы в поле FName был прописан путь до папки скрипта с файлами. По умолчанию эта папка называется Ekzekutor и обязательно идёт вместе со скриптом. Там хранится ряд необходимых для работы файлов и в неё сохраняются все файлы и базы, с которыми работает скрипт. Итак, пропишите путь до папки скрипта (обязательно со слэшем на конце), например:

["FName"]="C:/Server/", -- имя папки -- bot folder path
Путь до папки прописывать не обязательно. Надо расположить папку бота в той же папке, где и скрипт. По умолчанию при первом запуске скрипт попытается отыскать папку Ekzekutor в папке для скриптов scripts сервера и сам пропишет к ней путь, если файл конфигурации не найден. Также в массиве MySettings много других настроек, о которых будет рассказано после. Большинство из них меняется через меню и команды скрипта.
После этого скрипт будет готов к первому запуску. После запуска он создаст в своей папке файлы, с которыми будет работать. Также перед запуском (если Вы не используете LuaSocket) установите значение константе UseLuaSocket в самом начале файла rushub.lua:
UseLuaSocket=0 -- использовать ли LuaSocket (1-да,0-нет) -- use LuaSocket (1-yes,0-no)
Если задано значение 1, то будут использованы библиотеки LuaSocket для работы некоторых функций скрипта. Иначе будут использованы утилиты: dig, host, iconv, gunzip и curl (для Unix-систем). Утилита iconv должна быть в любом случае, если не используется локальная таблица преобразования кодировок (об этом в параграфе настроек). Обязательно установите все перечисленные утилиты, если не используете LuaSocket.

Сразу необходимо заметить, что в локализации RusHub скрипт использует пакет LuaSocket 2.0.2 (luasocket_2.0.2.rar в дистрибутиве скрипта). Файлы и папки этого пакета из архива надо разместить в папке libs.

Обратите внимание на скрипт UnknownCommandBlock_RusHub.lua, который идёт в дистрибутиве. Это "заглушка". Он необходим для того, чтобы не пропускать неизвестные команды в чат (как в Verlihub). Этот скрипт должен располагаться в самом конце списка скриптов (с самым низким приоритетом). Команды, которые должна пропускать заглушка, вносятся в таблицу исключений exeptions внутри скрипта заглушки.

<<< назад | печать | К началу...
PhazaSoft© Экзекутор©