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

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

MyDC.ru _ Помощь по скриптам для PtokaX _ Проблемка с малюсеньким скриптиком для экзекутора! Кто поможит?

Автор: 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

Автор: sania 7.6.2010, 12:14

Пасибо, помогло))))