Версия для печати темы
MyDC.ru _ Kорзина _ Антимат И Команды Хаба
Автор: zzipper 18.10.2008, 1:03
Собственно проблема такая что при включенном скрипте антимата (наже приаттачен), команды хаба, такие как, например, !help, !getbans, !restart и все остальные, написанные в общем чате не срабатывают и проскакивают в чат. При отправке в ЛС бот норм все. В чем может быть проблема? Пробовал играться с позициями загрузки скрипта с другими - не помогло. Ниже аттачу сам скрипт, вдруг дело в коде.
Автор: Sephiroth_Lukaw 18.10.2008, 1:47
Код
function ChatArrival(curUser, data)
local s,e,data =string.find(string.sub(data, 1, (string.len(data)-1)), "%b<>%s+(.*)")
local s,e,sCmd = string.find(data, "^[+,!](%S*)")
if sCmd == nil then
for s1, s2 in pairs(Mat2) do
data = string.gsub(data, s1, s2)
end
local data,c = string.gsub(data , "(%S+)", function(word) return CheckWord(word) end)
Core.SendToAll("<"..curUser.sNick.."> "..data.."|")
return true
else
if CheckWord(sCmd) ~= sCmd then
return true
end
end
end
Автор: zzipper 18.10.2008, 9:52
Благодарю. Работает. :smile2:
Автор: Yudeix 26.10.2008, 0:44
После того, как кто-то в чате выматерится, скрипт этот, как положено заменяет фразу, отправляет сообщение с предупреждением о предстоящем бане и... вылетает. Пишет ошибку:
Синтаксис ...X 0.4.1.1\scripts\AНТИмат block_words_4.0_newapi.lua:142: attempt to call global 'GetItemByName' (a nil value)
Я пробовал на примерах других скриптов с подобной же ошибкой GetItemByName заменить на Core.SendToNick, но что-то ничего не меняется и выдаёт новую ошибку...
А скрипт хороший.
Автор: Wariner 26.10.2008, 10:35
смотри, исправляйся;) http://mydc.ru/ipb.html?s=&showtopic=156&view=findpost&p=651
Автор: Perspect 7.11.2008, 1:26
У мну такая же ошибка: ... .lua:133: attempt to call global 'GetItemByName' (a nil value)
и нет в скрипте ни одной из перечисленных (по ссылке) строк:
Код
tMenu.msgMain = function()
Код
tMenu["msgMain"] = function()
Код
tMenu={
...
["msgMain"] = function()
...
}
Там написали, что это и есть причина ошибки, но мне от этого как-то легче не стало.
Подскажите, что и куда добавить-то нужно?
или
поделитесь реально рабочим скриптом АНТИмат под PtokaX 0.4.1.1
Автор: Sephiroth_Lukaw 7.11.2008, 2:01
Setuper, же, уже описал как исправлять подобную ошибку, по ссылке выше(3 сообщение)...
...
В данном скрипте, находишь
Код
if (GetItemByName(to) ~= nil) then
и заменяешь на
Код
if (Core.GetUser(to, true) ~= nil) then
Автор: Perspect 9.11.2008, 18:03
Спасибо, всё работает.
Чтобы другие не парились, выкладываю подправленный скрипт, в том числе и базу слегка добавил
Автор: СТУДЕНТ 10.11.2008, 13:43
Цитата(Perspect @ 9.11.2008, 18:03)
Спасибо, всё работает.
Чтобы другие не парились, выкладываю подправленный скрипт, в том числе и базу слегка добавил
Хм странно но он меня не кикнул
)) и не забанил , а ведь на писано что типа забанил
в чём подвох?
Автор: Perspect 10.11.2008, 15:41
Цитата(СТУДЕНТ @ 10.11.2008, 12:43)
Хм странно но он меня не кикнул
)) и не забанил , а ведь на писано что типа забанил
в чём подвох?
По умолчанию там в личку пиши, что хоШ, а в чат - только то, что не запрещено правилами хаба или то, что не внесено в скрипте в запрет.
В настройках ты можешь выправить ситуацию, как тебе нужно
Автор: eL50ff 19.12.2008, 21:59
А кто может переписать? Чтоб не заменял слова а банил!