myDC.ru

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

 
3 страниц V  < 1 2 3  
Ответить в данную темуНачать новую тему

> Вопросы по скриптам, Мелкие вопросы

Теги
Нет тегов для показа
Saymon21
сообщение 20.3.2010, 12:38
Сообщение #41


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Wariner, будь добор пожалуйста, приведи пример кода. big_smile.gif
Попробовал вчера это сделать, не получилось ничего. beat_plaster.gif
Go to the top of the page
+Quote Post
Wariner
сообщение 20.3.2010, 12:46
Сообщение #42


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

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




какой именно пункт тебе не понятен?
Go to the top of the page
+Quote Post
Saymon21
сообщение 20.3.2010, 12:50
Сообщение #43


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Цитата
ник писавшего и его решение ( типо 1 - посыдать; 0 - не посылать)

тут вот что то я сомневаюсь
3) записываешь в таблицу ник = решение (можно и не в таблицу но я вот как то к ним не ровно дышу)
4) при входе проверяешь условие если 1 посылаешь если нет то нет)))
с этим можно сказать я вот не разу не работал
Go to the top of the page
+Quote Post
Wariner
сообщение 20.3.2010, 12:55
Сообщение #44


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

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




ну таблицу объявляешь в самом начале скрипта
Код
tShow = {}

запись будет в таком виде:
Код
tShow["nick"] = 1 --или 0

проверка осуществляется условием
Код
if tShow["nick"] == 1 then
-- посылаем
end


PS: так же не забывай сохранять файл в таблицу стандартными функциями!
PPS: естественно вместо ника и цифры должны быть именно нужные значения!


Спасибо сказали:
Go to the top of the page
+Quote Post
Saymon21
сообщение 20.3.2010, 12:58
Сообщение #45


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




а с сохранением в файл как? Ужас, что я совсем уже втупике. beat_brick.gif scorn.gif
Go to the top of the page
+Quote Post
Wariner
сообщение 20.3.2010, 13:06
Сообщение #46


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

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




мда... вот открыл первый попавшийся свой скрипт:
Пути
Код
local sPath = Core.GetPtokaXPath().."scripts/TopicManager/"                     -- Папка скрипта
local sSettings = sPath.."Settings.tbl"                                         -- Файл с настройками


объявление таблицы
Код
tSettings = {}


загрузка таблицы и сохранение её по тай
Код
function OnStartup()
    if loadfile(sSettings) then
        dofile(sSettings)
    end
    TmrMan.AddTimer(iTime*60000, "OnExit")
end

function OnExit()
    WriteTable(tSettings, "tSettings", sSettings)
end


функции для сохранения

Код
function WriteTable(tTable, tablename, file)
    local handle = io.open(file, "w")
    Serialize(tTable, tablename, handle)
      handle:close()
end

function Serialize(tTable, sTableName, hFile, sTab)
    sTab = sTab or "";
    hFile:write(sTab..sTableName.." = {\n" );
    for key, value in pairs(tTable) do
        local sKey = (type(key) == "string") and string.format("[%q]",key) or string.format("[%d]",key);
        if(type(value) == "table") then
            Serialize(value, sKey, hFile, sTab.."\t");
        else
            local sValue = (type(value) == "string") and string.format("%q",value) or tostring(value);
            hFile:write(sTab.."\t"..sKey.." = "..sValue);
        end
        hFile:write(",\n");
    end
    hFile:write(sTab.."}");
end


Спасибо сказали:
Go to the top of the page
+Quote Post
Serx
сообщение 20.3.2010, 23:14
Сообщение #47


Продвинутый участник
****

Группа: Пользователи
Сообщений: 153
Регистрация: 21.9.2008
Из: Челябинск
Пользователь №: 574
Спасибо сказали: 54 раза




Если записывать в таблице ник юзера вместе с решением, то там может быть раза в 2 больше чем нужно, которые запишутся от того что юзеры просто "опробуют" функцию.
Недавно допиливал такое... сделал по подобию истории чата: в таблицу сохраняется только ники которым отсылать ничего не нужно - получается таблица исключений. Ну и просто проверяется наличие ника в этой таблице...
Go to the top of the page
+Quote Post
Saymon21
сообщение 20.3.2010, 23:18
Сообщение #48


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Вот сейчас сижу ковыряю что то ничего всё равно не получается unhappy.gif
Go to the top of the page
+Quote Post
Saymon21
сообщение 21.3.2010, 15:13
Сообщение #49


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Вот рабочий пример функции которая позволяет юзеру выбирать отсылать ли ему сообщение при входе или нет.
Автор Nickolya

Прикрепленный файл  Example.lua ( 2.8 килобайт ) Кол-во скачиваний: 14


От себя выражаю огромное спасибо Nickolya. big_smile.gif
Go to the top of the page
+Quote Post
Димон1111
сообщение 22.3.2010, 19:08
Сообщение #50


Абсолютный новичок


Группа: Пользователи
Сообщений: 1
Регистрация: 16.3.2010
Пользователь №: 6 373
Спасибо сказали: 0 раз




А зачем скрипты располагать в каком то определённом порядке? И в каком порядке они должны быть? beat_brick.gif И почему при включении некоторых скриптов не работают другие? Например при включении весёлого чата не работает регистратор.
Go to the top of the page
+Quote Post
FallenAngel
сообщение 23.3.2010, 9:13
Сообщение #51


[n00b]
*****

Группа: Пользователи
Сообщений: 291
Регистрация: 10.7.2008
Из: Россия,Пенза
Пользователь №: 168
Спасибо сказали: 24 раза




Цитата(Димон1111 @ 22.3.2010, 19:08) *
А зачем скрипты располагать в каком то определённом порядке? И в каком порядке они должны быть? beat_brick.gif

Никто не зставляет ставить в определенном порядке. Как получится-так и будет. у меня когда хаб пару раз слетел, все скрипты по имени упорядочились. Красотаbig_smile.gif Но сейчас они более упорядочены по времени добавления.
Цитата
И почему при включении некоторых скриптов не работают другие? Например при включении весёлого чата не работает регистратор.

Поставь веселый чат в саааамый низ. Или же просто пониже самого регистратора. Но лучше 1ый вариант..
И да, можно в веселом чате дописать команды, которые не будет он затрагивать.
Go to the top of the page
+Quote Post
DrakonSP
сообщение 24.3.2010, 17:55
Сообщение #52


Продвинутый участник
****

Группа: Пользователи
Сообщений: 107
Регистрация: 23.11.2008
Из: Сергиев Посад
Пользователь №: 1 178
Спасибо сказали: 9 раз




Поиогите пожалуйста в 2-х вопросах:

1) Скрипт CmdsLogger
Немного переделал отправку сообщения "*** Послана команда хабу...."
В оригинальном скрипте это сообщение отправляеться тому нику, который указан в переменой "sAdminNick"
и сам код отправки выглядит так:
Код
        if tUser.sNick~=sAdminNick then
            Core.SendToNick(sAdminNick, "<"..sBot.."> *** Послана команда хабу: "..sData)
        end

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

Я же сделал так:
Код
        if tUser.sNick~=sAdminNick then
            Core.SendToOps("<"..sBot.."> *** Послана команда хабу: "..sData)
        end

И проблема в том, что операторам ну и мне (Главному админу) отправляеться отчёт, о том что я или же мои операторы воспользовались такой то такой то командой.
Например:
Цитата
[17:48:52] <Hub-Bot> *** Вы уже зарегистрированы!
[17:48:52] <Hub-Bot> *** Послана команда хабу: <DrakonSP> +regme

Предполагаю что дело в строчке:
Код
        if tUser.sNick~=sAdminNick then

Но незнаю, чего прописать в место sAdminNick, что бы админам (опам) не приходил отчёт об отправленных ими же команд.

2) Скрипт HubMenu
Тут проблема заключаеться в том, что админы (опы) сидят и дропают сами себя =))
Надо вообщем сделать так, что бы эта команда не распространялась на админов (опов)
Например:
Цитата
[17:48:52] <Hub-Bot> *** Данная команда на этого пользователя не может быть распространена!
Go to the top of the page
+Quote Post
Nickolya
сообщение 25.3.2010, 12:08
Сообщение #53


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 726
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 773 раза




1. Да, дело в этой строке
Код
if tUser.sNick~=sAdminNick then
замени ее на
Код
if not Core.GetUserValue(tUser, 11) then


2. По поводу этого скрипта могу лишь сказать что это скрипт создающий меню в соответствии с правами пользователя, а уже ранговая система это совсем другая область. Так что либо писать скрипт чтобы опы не могли применять команды друг на друга, либо же поговорить с этими раздолбаями и сказать что так делать нельзя.


Спасибо сказали:
Go to the top of the page
+Quote Post
Ksan
сообщение 14.5.2010, 11:12
Сообщение #54


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 722
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 656 раз




Цитата(Saymon @ 21.3.2010, 18:13) *
Вот рабочий пример функции которая позволяет юзеру выбирать отсылать ли ему сообщение при входе или нет.
Автор Nickolya

Прикрепленный файл  Example.lua ( 2.8 килобайт ) Кол-во скачиваний: 14


От себя выражаю огромное спасибо Nickolya. big_smile.gif


Скрипт работает только до первой перезагрузки (скрипта). Вот более правильный код (сравни со своим):
Раскрывающийся текст
Код
sOurFileWay = Core.GetPtokaXPath().."scripts/somefile.txt"    -- путь к файлу
tTableData = {}

function OnStartup()
    if loadfile(sOurFileWay) then
        dofile(sOurFileWay)
    end
end

function OnExit()
    SaveToFile(sOurFileWay, tTableData, "tTableData")    -- сохраняем при выходе
end

function UserConnected(user)
    -- меню:
    Core.SendToUser(user, "$UserCommand 1 3 Информация\\получать$<%[mynick]> +ИзменитьСтатус on|")
    Core.SendToUser(user, "$UserCommand 1 3 Информация\\не получать$<%[mynick]> +ИзменитьСтатус off|")
    
    if not tTableData[user.sNick] then    -- проверяем на отсутствие ника в таблице и если его там нет то отсылаем ему информацию
        Core.SendToUser(user, "..........")
    end
end
OpConnected = UserConnected
RegConnected = UserConnected

function ChatArrival(user, sData)
    local sCmd, sOption = sData:match"%b<>%s+[!%+%*](%S+)%s*(%S*).*|$"    -- отлавливаем команду и аругмент после нее
    if sCmd == "ИзменитьСтатус" then    -- если наша команда
        if not sOption then    -- если вдруг отсутствует статус в команде
            Core.SendToUser(user, "*** Вы не ввели статус команды!")
        elseif sOption == "on" then    -- если опция после команды on то
            if not tTableData[user.sNick] then    -- если ника нет в таблице то он получает инфу
                Core.SendToUser(user, "*** Вы и так получаете информацию при входе!")
            else
                tTableData[user.sNick] = nil    -- иначе удаляем ник из таблицы
                SaveToFile(sOurFileWay, tTableData, "tTableData")
                Core.SendToUser(user, "*** Теперь вы получаете информацию при входе!")
            end
        elseif sOption == "off" then    -- если опция после команды off то
            if tTableData[user.sNick] then    -- если ник в таблице
                Core.SendToUser(user, "*** Вы и так ничего не получаете при входе!")
            else
                tTableData[user.sNick] = true    -- иначе добавляем ник в таблицу
                SaveToFile(sOurFileWay, tTableData, "tTableData")
                Core.SendToUser(user, "*** Теперь вы не получаете информацию при входе!")
            end
        else    -- если опции нет или она какая-то странная
            Core.SendToUser(user, "*** Неверный статус команды!")
        end
        return true
    end
end


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

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

Collapse

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

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts ВАЖНО: Topic has attachmentsВопросы Разработчикам Скриптов
вопросы по скриптам (мелкие вопросы)
1 049 Wariner 831 634 3.2.2019, 12:51 Посл. сообщение: MIKHAIL
No new ВАЖНО: Topic has attachmentsВаши Вопросы И Предложения По Поводу Форума
447 Svyat 269 700 20.10.2015, 19:39 Посл. сообщение: Ksan
No New Posts От: Вопросы Разработчикам Скриптов
От темы с ID: 173
0 MIKHAIL 3 326 23.1.2015, 0:56 Посл. сообщение: MIKHAIL
No new Topic has attachmentsВопросы по протоколу NMDC
Делаю программу
26 Master255 23 534 12.1.2015, 0:38 Посл. сообщение: Master255
No New Posts Вопросы к Phazeus по Экзекутору
Мастер может забанить мастера, как решить в Экзекуторе?
1 AndreiDC 4 087 31.10.2014, 19:20 Посл. сообщение: Ksan
No new От: Вопросы Разработчикам Скриптов
От темы с ID: 173
29 Wariner 21 142 28.1.2014, 13:11 Посл. сообщение: Alexey
No new Topic has attachmentsВопросы по RusHub
Технические вопросы
316 Jaska 222 520 19.12.2013, 13:59 Посл. сообщение: mod
No new Topic has attachmentsМелкие вопросы
44 Wariner 43 164 19.9.2013, 12:34 Посл. сообщение: Alexey
No New Posts От: Ваши Вопросы И Предложения По Поводу Форума
От темы с ID: 753
3 anila 7 669 28.3.2013, 16:02 Посл. сообщение: настя
No new Topic has attachmentsВопросы Разработчикам Скриптов с SQL
вопросы по скриптам (мелкие вопросы)
101 Wariner 48 839 6.12.2011, 0:34 Посл. сообщение: Enyby
No New Posts От: Вопросы по RusHub
От темы с ID: 2902
4 Otshelnik-Fm 6 987 19.10.2011, 9:23 Посл. сообщение: Mangust
Closed ВАЖНО: ! Часто Задаваемые Вопросы !
Обязательно прочитать всем!!!
19 Setuper 55 729 10.6.2011, 16:28 Посл. сообщение: Accelerator
No New Posts Здравствуйте всем . У меня проблема со скриптам StatPX
Здравствуйте всем . У меня проблема со скриптам StatPX
4 warhammer 8 611 14.4.2011, 14:48 Посл. сообщение: warhammer
No New Posts От: Ваши Вопросы И Предложения По Поводу Форума
От темы с ID: 753
0 AntonRibin868 4 858 13.4.2011, 4:46 Посл. сообщение: AntonRibin868
No New Posts От: Ваши Вопросы И Предложения По Поводу Форума
От темы с ID: 753
0 Ksan 4 707 26.12.2010, 17:39 Посл. сообщение: Ksan

 



RSS Сейчас: 30.6.2022, 0:50