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

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

MyDC.ru _ Kорзина _ Помогите Исправить Ошибку В Скрипте

Автор: Артём 3.4.2009, 22:10

Подскажите как исправить ошибку в скрипте 359: attempt to concatenate field 'sNick' (a nil value)
 Антиреклама.lua ( 4.89 килобайт ) : 17

Автор: Setuper 3.4.2009, 22:38

там всего 170 строк. Откуда ошибка в 359 строке?

Автор: Артём 3.4.2009, 23:32

Цитата(Setuper @ 3.4.2009, 22:38) *
там всего 170 строк. Откуда ошибка в 359 строке?

big_smile1.gif их там больше....просто я большую часть списка всевозможных видов рекламы удалил прежде чем закинуть.....
CODE
function Core.ChatArrival(tUser,sData,bPM)
if CanDo[tUser.iProfile] == 0 then
return false
end
local s,e,msg = string.find(sData,"%b<>%s(.*)")
if checkForAdvertising(msg) then
if checkForSafe(msg) then
return false
end
if bPM == nil then
if UserSay == 1 then
Core.SendToAll("<"..tUser.sNick.."> "..MessageToAll[math.random(PhrasLen)])
end
Core.SendPmToOps(sBot, "*** "..tUser.sNick.." "..text_to_op..msg)
else
Core.SendPmToOps(sBot, "*** "..tUser.sNick.." "..text_to_op_pm..msg)
end
if bPM == nil then
Fuckit(tUser,Chat)
else
Fuckit(tUser,PM)
end
return true
end
end

в этом кусочке ошибку выдаёт,а именно Core.SendPmToOps(sBot, "*** "..tUser.sNick.." "..text_to_op_pm..msg)

Автор: Setuper 3.4.2009, 23:35

Потому что неправильно перевёл скрипт под api1.

в функциях OnStartup и ToArrival спереди тоже надо писать Core. !

Автор: Артём 3.4.2009, 23:41

big_smile.gif Спасибо за помощь,парочку пропустил при переводе)))
P.S. У меня вопрос,а можно сделать чтобы только определённый ник получал сообщения о том что кто-то пытается кинуть рекламу,а не все операторы и админы.......?

Автор: ustas 4.4.2009, 10:05

Код
Core.SendPmToOps(sBot, "*** "..tUser.sNick.." "..text_to_op..msg)

заменяешь на
Код
Core.SendPmToNick(Nick, sBot "*** "..tUser.sNick.." "..text_to_op..msg)

Автор: Wariner 4.4.2009, 10:09

при этом ещё надо не забыть

Код
Nick = "ник кому приходит"

Автор: Артём 4.4.2009, 13:53

2Wariner

что-то не хочет....я уже и пробовал sNick,может я просто не туда его поставил или разници нету куда ставить.... unhappy.gif

Автор: ustas 4.4.2009, 15:22

хотя бы написал, какие ошибки выдает

Код
Nick = "Артём"
Core.SendPmToNick(Nick, sBot "*** "..tUser.sNick.." "..text_to_op..msg)

сообщение придет Артёму

Код
Core.SendPmToOps(sBot, "*** "..tUser.sNick.." "..text_to_op_pm..msg)

тоже надо исправить на
Код
Core.SendPmToNick(Nick, sBot "*** "..tUser.sNick.." "..text_to_op_pm..msg..msg)

Автор: Артём 4.4.2009, 15:59

Цитата(ustas @ 4.4.2009, 15:22) *
хотя бы написал, какие ошибки выдает

attempt to call global 'sBot' (a string value)

Автор: Setuper 4.4.2009, 16:02

После sBot пропущена запятая.

Автор: Артём 5.4.2009, 9:08

Цитата(Setuper @ 4.4.2009, 16:02) *
После sBot пропущена запятая.

adore.gif пасипа