Автор: sania 6.6.2010, 12:18
Проблемка с малюсеньким скриптиком для экзекутора! Кто поможит?
Поставил дописку для экзекутора(поудобнее вынес опцию в меню хаба)
Скрипт робит, даже при ошибке в нём
Скрипт ставится без проблем, а когда уже работает пишит ошибку в птоку:
[13:00] Синтаксис ...общения от 3-го лица в чат(дописка к экзекутору).lua:36: bad argument #1 to 'len' (string expected, got nil)
Помогите исправить, буду очень признателен!
"Дописка":
_____________3____________________________________.lua ( 1.51 килобайт )
: 10
Автор: Nickolya 6.6.2010, 14:51
Может стоит выложить твою "дописку" (можно околоошибочный код)? Без этого тебе никто не подскажет какая ошибка в коде. Или ищи на форуме решение частых проблем.
Автор: sania 6.6.2010, 18:59
Точняк, сори, тупанул!
Залил скрипт в теме
Автор: Nickolya 7.6.2010, 10:04
Поменяй
Код
ChatArrival = function(tUser,sData)
local s,e,cmd, S1= string.find(sData,"%b<>%s(%S+)%s(.+)")
if ((cmd=="!экшн") or (cmd=="!action")) and (tProfiles[tUser.iProfile]==0) then
Core.SendToUser(tUser,"<"..SetMan.GetString(21).."> Недостаточно прав для выполнения команды")
return true
end
S1 = string.sub(S1,1,string.len(S1)-1)
if cmd == "!экшн" then
Core.SendToAll("## "..tUser.sNick.." "..S1.." ##")
return true
end
if cmd == "!action" then
Core.SendToAll(">> "..tUser.sNick.." "..S1.." <<")
return true
end
end
на
Код
ChatArrival = function(tUser,sData)
local s,e,cmd, S1= string.find(sData,"%b<>%s(%S+)%s(.+)")
if ((cmd=="!экшн") or (cmd=="!action")) and (tProfiles[tUser.iProfile]==0) then
Core.SendToUser(tUser,"<"..SetMan.GetString(21).."> Недостаточно прав для выполнения команды")
return true
end
if S1 then
S1 = string.sub(S1,1,string.len(S1)-1)
if cmd == "!экшн" then
Core.SendToAll("## "..tUser.sNick.." "..S1.." ##")
return true
end
if cmd == "!action" then
Core.SendToAll(">> "..tUser.sNick.." "..S1.." <<")
return true
end
end
end