Решение Стандартных Ошибок Скриптов |
Здравствуйте, гость ( Вход | Регистрация )
Решение Стандартных Ошибок Скриптов |
22.7.2008, 19:11
Сообщение
#1
|
|
Освоившийся участник Группа: Модераторы Сообщений: 281 Регистрация: 24.6.2008 Из: Луганск Пользователь №: 70 Спасибо сказали: 47 раз |
Предлагаю в этой теме описывать все ошибки, которые попадаются наиболее часто при написании \ использовании скриптов! Сегодня я узнал что... если в вашем скрипте есть строки типа: Код Bot = SetMan.GetString(21), или Menu = SetMan.GetString(0), то ваш скрипт может выдавать ошибку типа Код [19:07] Синтаксис C:\PtokaX\scripts\Lag_Check.lua:29: attempt to index global 'SetMan' (a nil value) Исправление ошибки довольно простое! Чтоб 100% всегда не выдавало ошибок вы можете вместо Bot = SetMan.GetString(21), написать Bot = "PtokaX" в таком случае имя вашего бота будет совпадать с именем системного бота и он будет отображаться, или нет, смотря как включена опция в настройках хаба! т.е. отображать, или не отображать этого бота на хабе в списке юзеров! НО... Из-за чего же возникает данная ошибка!? А всё просто, просто запускайте скрипт, когда хаб запущен, а не когда он отключен Удачи вам в использовании и написании скриптов и жду дальнейшего развития темы! |
|
|
22.7.2008, 19:20
Сообщение
#2
|
|
Местная ТехПоддержка Группа: Администраторы Сообщений: 1 875 Регистрация: 18.7.2008 Из: Моск. Обл, г. королев, район Болшево Пользователь №: 221 Спасибо сказали: 220 раз |
хехе, а еще был юзер, которые имя бота просто стер и ничего не написал!
Причина редактирования: без оскарблений пожалуйста (dimetrius)
|
|
|
15.8.2008, 20:42
Сообщение
#3
|
|
мяу =^.^= Группа: Пользователи Сообщений: 414 Регистрация: 20.5.2008 Пользователь №: 6 Спасибо сказали: 14 раз |
решил перевести 2 хаб на 0411 большую часть скриптов перевел но с некоторыми проблема(
и так 1 вроде скрипт простой но с ошибкой -> mpps_newapi.lua:34: unexpected symbol near ',' mpps_newapi.lua ( 1.32 килобайт ) Кол-во скачиваний: 10 2 все ок но почему то не находит директорию О.о анти_реклама_newapi.lua ( 2.49 килобайт ) Кол-во скачиваний: 4 3 работает но с ошибкой -> Призрак_newapi.lua:22: bad argument #1 to 'pairs' (table expected, got no value) Призрак_newapi.lua ( 2.33 килобайт ) Кол-во скачиваний: 10 помогите) P.S. может создать тему с такими ошибками и способы их решения?? |
|
|
15.8.2008, 20:50
Сообщение
#4
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
2*FoxMalder* описанные ошибки ни о чем не говорят - нужно смотреть код
выложи хотябы фрагменты коды с этими ошибками, тем более номера строк известны)) |
|
|
15.8.2008, 21:00
Сообщение
#5
|
|
мяу =^.^= Группа: Пользователи Сообщений: 414 Регистрация: 20.5.2008 Пользователь №: 6 Спасибо сказали: 14 раз |
смотри выше)
у меня почемуто с 1 раза не загрузились файлы :( с 4 и 5 разобрался остались 3 |
|
|
15.8.2008, 21:09
Сообщение
#6
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Предлагаю в этой теме описывать все ошибки, которые попадаются наиболее часто при написании \ использовании скриптов! Сегодня я узнал что... если в вашем скрипте есть строки типа: Код Bot = SetMan.GetString(21), или Menu = SetMan.GetString(0), то ваш скрипт может выдавать ошибку типа Код [19:07] Синтаксис C:\PtokaX\scripts\Lag_Check.lua:29: attempt to index global 'SetMan' (a nil value) Исправление ошибки довольно простое! Чтоб 100% всегда не выдавало ошибок вы можете вместо Bot = SetMan.GetString(21), написать Bot = "PtokaX" в таком случае имя вашего бота будет совпадать с именем системного бота и он будет отображаться, или нет, смотря как включена опция в настройках хаба! т.е. отображать, или не отображать этого бота на хабе в списке юзеров! НО... Из-за чего же возникает данная ошибка!? А всё просто, просто запускайте скрипт, когда хаб запущен, а не когда он отключен Удачи вам в использовании и написании скриптов и жду дальнейшего развития темы! Чушь собачья! Для кого спрашивается дана функция OnStartup() ??? Думаете она просто так существует? Так вот открою вам секрет, она не просто так существует! Эта функция срабатывает при запуске скрипта (вне зависимости от состояния хаба) и данная функция объявляет и инициализирует глобальные таблицы и метатаблицы. Поэтому во избежании данной ошибки следует писать так: Код function OnStartup() Bot = SetMan.GetString(21) Menu = SetMan.GetString(0) end смотри выше) у меня почемуто с 1 раза не загрузились файлы :( с 4 и 5 разобрался остались 3 1. функция getcmdprefixarray() ничего не возвращает, а должна возвращать таблицу 2. я не проверял работу скрипта (даже не запускал), но полагаю, что в функции getcmdprefixarray() надо вернуть p (return p) |
|
|
15.8.2008, 21:17
Сообщение
#7
|
|
мяу =^.^= Группа: Пользователи Сообщений: 414 Регистрация: 20.5.2008 Пользователь №: 6 Спасибо сказали: 14 раз |
и вот еще 1 RegBot_newapi.lua:39: bad argument #1 to 'GetReg' (string expected, got nil)
function UserConnected(user) Core.GetUserAllData(user) ошиба тут -> if not(RegMan.GetReg(user.sNick)) and not (RegMan.GetReg(user.sName)) then local msg = "\r\n\r\n".. "\t-·=»‡«=·- -·=»‡«=·- -·=»‡«=·- -·=»‡«=·- -·=»‡«=·- -·=»‡«=·- -·=»‡«=·- -·=»‡«=·-\r\n".. "\t"..string.rep("-", 112).."\r\n" Core.SendPmToNick(user.sNick,bot,msg) end UserMenu(user) end 1. функция getcmdprefixarray() ничего не возвращает, а должна возвращать таблицу 2. я не проверял работу скрипта (даже не запускал), но полагаю, что в функции getcmdprefixarray() надо вернуть p (return p) так как эт все исправить? |
|
|
15.8.2008, 21:30
Сообщение
#8
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
и вот еще 1 RegBot_newapi.lua:39: bad argument #1 to 'GetReg' (string expected, got nil) function UserConnected(user) Core.GetUserAllData(user) ошиба тут -> if not(RegMan.GetReg(user.sNick)) and not (RegMan.GetReg(user.sName)) then local msg = "\r\n\r\n".. "\t-·=»‡«=·- -·=»‡«=·- -·=»‡«=·- -·=»‡«=·- -·=»‡«=·- -·=»‡«=·- -·=»‡«=·- -·=»‡«=·-\r\n".. "\t"..string.rep("-", 112).."\r\n" Core.SendPmToNick(user.sNick,bot,msg) end UserMenu(user) end так как эт все исправить? Код if not(RegMan.GetReg(user.sName)) and not (RegMan.GetReg(user.sName)) then - увидел разницу? Будь внимательнеепо поводу предыдущего: Код OnStartup = function() function getcmdprefixarray() local p = {} for i=1,#SetMan.GetString(29) do table.insert(p,SetMan.GetString(29):sub(i,i)) return p end end for a,b in pairs(getcmdprefixarray()) do tPrefixes[b] = 1 end end хотя повторяю еще раз, что работу скрипта я не проверял |
|
|
15.8.2008, 21:54
Сообщение
#9
|
|
мяу =^.^= Группа: Пользователи Сообщений: 414 Регистрация: 20.5.2008 Пользователь №: 6 Спасибо сказали: 14 раз |
Код if not(RegMan.GetReg(user.sName)) and not (RegMan.GetReg(user.sName)) then - увидел разницу? Будь внимательнеепо поводу предыдущего: Код OnStartup = function() function getcmdprefixarray() local p = {} for i=1,#SetMan.GetString(29) do table.insert(p,SetMan.GetString(29):sub(i,i)) return p end end for a,b in pairs(getcmdprefixarray()) do tPrefixes[b] = 1 end end хотя повторяю еще раз, что работу скрипта я не проверял 1 разницу увидел изменил теперь другая проблема :( лучше весь скрипт выложу 2 вроде работает newapi.lua:70: bad argument #2 to 'AddReg' (string expected, got number) opmeBot_newapi.lua ( 7.27 килобайт ) Кол-во скачиваний: 4 |
|
|
15.8.2008, 22:11
Сообщение
#10
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Код RegMan.AddReg(user.sNick, tostring(pass), 1)
|
|
|
15.8.2008, 22:55
Сообщение
#11
|
|
мяу =^.^= Группа: Пользователи Сообщений: 414 Регистрация: 20.5.2008 Пользователь №: 6 Спасибо сказали: 14 раз |
отлично
Record_newapi.lua:176: attempt to concatenate field 'sNick' (a nil value) Код function UserConnected(user)
Core.GetUserAllData(user) if tSettings.tIgnore[user.sNick] ~= 1 then local iUserCount, tTable = Core.GetUsersCount(), Record.tDB tTable.iUsers = tTable.iUsers or 0; tTable.tUsers = tTable.tUsers or "*нет данных*" if (iUserCount > tTable.iUsers) then tTable.iUsers = iUserCount; tTable.tUsers = os.date() if (Record.tSetup.pm == 1) then Core.SendPmToNick(user.sNick, "Спасибо. Вы только что увеличили рекорд Юзеров на ХАБе!"); end; if (Record.tSetup.main == 1) then Core.SendToAll("<"..tSettings.Bot.sNick.."> "..user.sNick.." только что поднял рекодную планку Юзеров на ХАБе до: ".. ошибка тут -> tTable.iUsers.." юзеров на "..os.date().." :)"); SaveToFile(Record,"Record",tSettings.fRecord) end; end tDelay[user] = {} tDelay[user]["iTime"] = tSettings.iDelay*60 end end |
|
|
15.8.2008, 23:48
Сообщение
#12
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
учись понимать ошибки! переводи ошибки или бери англо-русский словарь (или воспользуйся переводчиком)!
"attempt to concatenate field 'sNick' (a nil value)" = "попытка конкатенации поля 'sNick' (это поле имеет значение nil)" разберу эту ошибку подробно: конкатенация - синоним склеивание (соединение строк), поле - это элемент таблицы, получаем предложение: "попытка соединить элемент таблицы 'sNick' со строкой (этот элемент таблицы равен nil)" а как известно nil - это пустота. Нельзя строку соединять с пустотой! Возможно ошибка тут: Есть таблица: tSettings. В этой таблице существует другая подтаблица:tSettings.Bot и уже в этой подтаблице есть поле 'sNick'. И по утверждению интерпретатора это поле равно nil, то есть tSettings.Bot.sNick = nil. Вывод из всего сказанного: ищи в скрипте объявление и инициализацию поля: tSettings.Bot.sNick |
|
|
16.8.2008, 0:08
Сообщение
#13
|
|
мяу =^.^= Группа: Пользователи Сообщений: 414 Регистрация: 20.5.2008 Пользователь №: 6 Спасибо сказали: 14 раз |
непонял
|
|
|
16.8.2008, 0:10
Сообщение
#14
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
что именно не понятно? вроде ясно изложил
|
|
|
16.8.2008, 0:14
Сообщение
#15
|
|
мяу =^.^= Группа: Пользователи Сообщений: 414 Регистрация: 20.5.2008 Пользователь №: 6 Спасибо сказали: 14 раз |
все...
можешь по полочкам разложить и разъяснить что именно надо изменить что бы избавиться от ошибки |
|
|
16.8.2008, 0:18
Сообщение
#16
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
значение tSettings.Bot.sNick не существует
|
|
|
16.8.2008, 0:50
Сообщение
#17
|
|
мяу =^.^= Группа: Пользователи Сообщений: 414 Регистрация: 20.5.2008 Пользователь №: 6 Спасибо сказали: 14 раз |
аааа дошло)))))))) сделал и скрипт заработал
рано радовался :( теперь шару не показывает и ошибки нету никакой [01:28:44] <Hub-Security> ---------------------------------------------------------------------------------------------------- Рекорды Результат Дата - Время ---------------------------------------------------------------------------------------------------- Шара 0 *нет данных* Юзеров 140 08/16/08 01:27:08 СуперШар *нет данных* (0) *нет данных* ---------------------------------------------------------------------------------------------------- [01:28:44] !rb.show
Прикрепленные файлы
|
|
|
16.8.2008, 7:15
Сообщение
#18
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Код function OnTimer(tmr)
for nick,v in pairs(tDelay) do tDelay[nick]["iTime"] = tDelay[nick]["iTime"] - 1 if tDelay[nick]["iTime"] <= 0 then if GetItemByName(nick.sNick) then Core.GetUserAllData(nick) ................................ |
|
|
16.8.2008, 9:57
Сообщение
#19
|
|
мяу =^.^= Группа: Пользователи Сообщений: 414 Регистрация: 20.5.2008 Пользователь №: 6 Спасибо сказали: 14 раз |
ничего не изменилось
точнее шара в рекодах стала видна а вот новые рекорды шары он не отмечает |
|
|
16.8.2008, 10:12
Сообщение
#20
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
во-первых, надо изменить строку:
Код fRecord = "scripts/RecordBot/tRecord.txt", -- RecordBot Database во-вторых, в папке scripts создать папку RecordBot, так как код скрипта не предусматривает ее автоматическое создание. |
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
ВАЖНО: Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
1 049 | Wariner | 991 361 | 3.2.2019, 12:51 Посл. сообщение: MIKHAIL | |
ВАЖНО: Модули для скриптов RusHub | 26 | Setuper | 45 394 | 21.3.2017, 17:31 Посл. сообщение: Alexey | |
От: Вопросы Разработчикам Скриптов От темы с ID: 173 |
0 | MIKHAIL | 4 337 | 23.1.2015, 0:56 Посл. сообщение: MIKHAIL | |
От: Установка скриптов От темы с ID: 5657 |
0 | MIKHAIL | 4 800 | 29.7.2014, 23:37 Посл. сообщение: MIKHAIL | |
Установка скриптов Нужна помощь по установке |
2 | _wRz_ | 7 309 | 29.7.2014, 16:11 Посл. сообщение: Артём | |
От: Вопросы Разработчикам Скриптов От темы с ID: 173 |
29 | Wariner | 25 996 | 28.1.2014, 13:11 Посл. сообщение: Alexey | |
Единая платформа для скриптов Обсуждения вопроса создания единой платформы скриптов |
5 | Enyby | 9 056 | 18.1.2012, 20:15 Посл. сообщение: Setuper | |
Переделка скриптов Прошу помощи |
47 | Fe(one)X | 41 396 | 26.12.2011, 15:04 Посл. сообщение: Ksan | |
Вопросы Разработчикам Скриптов с SQL вопросы по скриптам (мелкие вопросы) |
101 | Wariner | 62 320 | 6.12.2011, 0:34 Посл. сообщение: Enyby | |
ВАЖНО: Метод Быстрого Перевода Скриптов Под API_1 Самостоятельный быстрый перевод из API_2 ---> в API_1 |
30 | Setuper | 51 272 | 14.8.2011, 21:16 Посл. сообщение: Олешка | |
От: Переделка скриптов От темы с ID: 4941 |
6 | Ksan | 9 692 | 12.8.2011, 11:33 Посл. сообщение: Ksan | |
ВАЖНО: Запросы Скриптов Ваши идеи по разработке скриптов под HeXHuB |
36 | Setuper | 49 339 | 16.5.2011, 9:40 Посл. сообщение: ANDRBEST | |
Документация DBHub - Написание скриптов на Perl | 0 | Артём | 7 673 | 20.10.2010, 18:08 Посл. сообщение: Артём | |
Заготовки скриптов для PtokaX Делимся болванками скриптов |
4 | alex82 | 11 751 | 11.10.2010, 2:49 Посл. сообщение: alex82 | |
ВАЖНО: Запросы Скриптов | 6 | njnj | 13 622 | 3.7.2010, 8:45 Посл. сообщение: Accelerator |
|
Сейчас: 27.11.2024, 6:17 |