Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Запросы скриптов для PtokaX _ Помогите сделать скрипт!

Автор: Osimus 18.11.2010, 16:02

Всем привет!

Сообственно вот в чём дело...
Бродя по форуму, я наткнулся на вот это.

Код
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

Возникла идея у меня, сварганить скриптик! Но вот незадача...
Делать вот это не совсем мне подходит!

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

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

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

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


Я в скриптах не силён! Токо не-знаю как вообще его сделать так как мне нужно.
А нужно мне вот что что-бы в ЛС отправлялись токо правила которые зарание уже подготовлены, а всё остальное кидалось в чат!
Так вот подскажите что в скрипте делать изменять?! Пути т.д и т.п... big_smile.gif

Можно например так ну по крайней мере я так планирую сам скрипт скажем test.lua папка например resourse и в ней txt которые будут загружатся при вызове скриптом в чат!

Спасибо всем за внимание!

Автор: Ksan 18.11.2010, 16:32

Попробуй это (скриптик можешь назвать TextToUser.lua):

Код
tCmds1 = {  -- тут команды для отправки текста в приват
    "!rules",
}

tCmds2 = { -- тут команды для отправки текста в чат
    "!faq",
    "!radio",
    "!hubs",
}

function UserConnected(tUser) -- тут прописываете отправку всех своих команд в меню юзера
    local sMsg = "$UserCommand 1 3 Меню хаба\\Правила хаба$<%[mynick]> !rules||"..
    "$UserCommand 1 3 Меню хаба\\Хабы-друзья$<%[mynick]> !radio||"..
    "$UserCommand 1 3 Меню хаба\\Сетевое радио$<%[mynick]> !faq||"
    Core.SendToUser(tUser, sMsg)
end
RegConnected,OpConnected=UserConnected,UserConnected

function ChatArrival(tUser,sData)
    local sData = sData:sub(1,-2)
    local sCmd = sData:match"^%b<>%s+(%S+)"
    if tCmds1[sCmd] then
        SetMan.SetBool(32, true)
    elseif tCmds2[sCmd] then
        SetMan.SetBool(32, false)
    end
end

Только не забудь заполнить таблицы и в UserConnected набить те же самые текстовые команды из таблиц. Хотя, думаю, и это можно организовать через таблицы.

Автор: Osimus 18.11.2010, 17:01

ммм... а вот скрипт не хочет работать!
ничего не отправляется(

Автор: Ksan 18.11.2010, 17:03

Напиши, какие изменения ввёл..
И есть ли те команды в таблицах?
И подвигай по списку вверх-вниз.

Автор: Osimus 18.11.2010, 17:08

Изминения я не вносил я его сначала так проверил, он ничего не выводил...
rules.txt лежит в папке texts скрипт один в списке двигать его нет смысла.

Автор: Ksan 18.11.2010, 17:16

Ну а галочка "Включить текстовые файлы" стоит в настройках Птоки, в окне "Больше настроек"?

Автор: Osimus 18.11.2010, 17:19

Да. всё включено!

Автор: Ksan 18.11.2010, 18:02

Я был не прав. Не получается менять направление текстовых файлов. Куда стоит галочка, туда и идёт.
Похоже, это на лету не изменить. :(
Единственное решение, какое я вижу - организовать отправку сообщений с текстом правил хаба через альтернативную команду в скрипте.
Но почему у тебя вообще никуда не приходит текстовое сообщение - не знаю.

Автор: Osimus 18.11.2010, 18:11

Пробовал все команды, менял их но резельтата нету...

Например !правила и усё ничего не вижу(
Только через несколько минут вижу в чате команду !правила

Автор: Tsd 19.11.2010, 11:49

Вот тебе скриптик

http://mydc.ru/r/?http://paste.ubuntu.com/534205/
Думаю разберёшься - в меню ссылки на текстовые файлы.

Автор: Ksan 19.11.2010, 12:02

Tsd, ему надо, чтоб один текст приходил в приват, другие - в чат. Именно в этом его проблема изначальная.

Автор: Osimus 19.11.2010, 13:51

Ksan прав!

Может всё-таки ктонить поможет? confuse.gif

Автор: Ksan 19.11.2010, 13:55

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

Автор: Osimus 19.11.2010, 14:17

ну на счёт засиранье я не согласен)
правила много монотонного текста его в приват.

а вот астальное и в чат можно. текста не очень много...

например "меню хаба/ресурсы"

PtokaX наш сайт http://тест

ну разве это засирание чата? big_smile.gif

Автор: Saymon 19.11.2010, 14:52

Ну сделай скриптом, типа:

Код
local bot = "Бот" -- если нужно с настроек хаба, то вместо "Бот" пиши SetMan.GetString(21)
text1 = [[ тут куча текста для привата]]
text2 = [[тут куча текста для главного чата]]

function ChatArrival(tUser, sData)
  local cmd = sData:match"%b<>%s+(%S+).*|"
  if cmd == "!show_text1" then
   Core.SendPmToUser(tUser, bot, text1)
    return true
  elseif cmd == "!show_text2" then
   Core.SendToUser(tUser,"<..bot..> "..text2)
  return true
  end    
end

Как-то так короче...

PS, Не проверял.

Автор: Ksan 19.11.2010, 14:53

Я всё равно не понял, почему именно в чат? ЧТО мешает получать в приват? Причина в чём?
То, что МОЖНО в чат, не значит, - обязательно в чат..

Автор: Osimus 21.11.2010, 1:23

Может всё-таки мне поможет хоть кто-то?
Очень хочется скрипт... crying.gif

Автор: Nickolya 22.11.2010, 18:23

Как вариант: берем скрипт http://mydc.ru/index.html?showtopic=1231&view=findpost&p=30807.
Затем в начало скрипта добавляем таблицу с файлами, которые будут идти в приват:

Код
tPmOlways = {
    ['правила'] = true,
    ['еще_очень_длинные_правила'] = true,
    ['somelongshit'] = true,
}
Настройку bPm выставляем вот так:
Код
bPm = false -- отсылать сообщение в приват (true) или нет (false)
и заменяем в самом скрипте
Код
if bPm then
на
Код
if bPm or tPmOlways[sCmd] then

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

Автор: Ferb 31.12.2010, 7:37

Спасибо