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

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

MyDC.ru _ Скрипты для RusHub'а _ OpChat

Автор: Alexey 17.2.2013, 20:23

Название скрипта: OpChat
Версия скрипта: 1.4 (2013-12-05)
Скрипт для: RusHub 2.3.10 (под более ранними не проверялось)
Автор: Alexey
Описание: Создаёт "комнату" для общения пользователей с указанными профилями.
Зависимости: http://mydc.ru/topic2937.html?view=findpost&p=25266

Особенности:


 opchat.lua ( 6.02 килобайт ) : 38

Предыдущие версии
1.3:  opchat.lua ( 5.77 килобайт ) : 20
1.2:  opchat.lua ( 5.47 килобайт ) : 6
1.1:  opchat.lua ( 4.14 килобайт ) : 2
1.0:  opchat.lua ( 3.64 килобайт ) : 31

Автор: Alexey 25.9.2013, 22:57

Версия 1.2. Изменения:


Автор: Alexey 5.10.2013, 20:30

Версия 1.3. Изменения:


Автор: Panasonic 3.12.2013, 7:18

Ошибка. Как быть?

Цитата
Ошибка в скрипте .../RusHub/scripts/OpChat.lua:109: bad argument #1 to 'ipairs' (table expected, got nil)
Ошибка в скрипте ...\RusHub\libs\files.lua:15: bad argument #1 to 'pairs' (table expected, got nil)

Автор: Setuper 3.12.2013, 11:18

заменить

Код
local tCmds, tOpChat
на
Код
local tCmds, tOpChat = {}


Хотя не совсем понятно как такое могло произойти

Автор: Alexey 5.12.2013, 22:56

Версия 1.4. Добавил сохранение истории комнаты по таймеру (чтоб при аварийном завершении работы хаба в истории комнаты находились более-менее свежие сообщения).

Panasonic, скорей всего ты что-то поменял в скрипте, что и привело к этим ошибкам.

Setuper, давненько не брал шахмат Lua в руки, а? ;)
Такое присваивание всё-равно оставит nil во второй таблице... да и не нужно оно: tOpChat задаётся в OnStartup.

Автор: Setuper 6.12.2013, 9:22

Да, действительно написал не по lua правилам (сделал присвоение по с++ правилам big_smile.gif ).

Надо было написать так:

Код
local tCmds, tOpChat = {}, {}

Ну да, tOpChat задаётся в OnStartup, поэтому я и написал, что не понятно как такое могло произойти. Видимо действительно автор что-то поменял.