myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> HubTopic

Теги
Нет тегов для показа
mariner
сообщение 6.8.2009, 0:45
Сообщение #1


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 875
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




В общем решил таки сделать версию получше этого скрипта.
CODE
sFile = "HubTopic.dat"
sPath = "HubTopic"
sTrueCommand = "HubTopic"
tOpenProfile = {
[0] = true,
[1] = true,
[2] = true,
[3] = true,
[4] = true,
[5] = true,
[6] = false,
[7] = false,
}
sMenu = "Меню админа"

function OnStartup()
sFileName = Core.GetPtokaXPath().."scripts/"..sPath.."/"..sFile
sHubTopic = Read()
end

function UserConnected(tUser)
Core.SendToUser(tUser,"$HubTopic "..sHubTopic)
if tOpenProfile[tUser.iProfile] ~= nil then
Core.SendToUser(tUser, "$UserCommand 1 3 "..sMenu.."\\Сменить ХабТопик$<%[mynick]> !"..sTrueCommand.." %[line: Введите ХабТопик]||")
end
end
RegConnected = UserConnected
OpConnected = UserConnected

function ChatArrival(tUser, s)
if tOpenProfile[tUser.iProfile] ~= nil then
local _,_,sCmd,sRes = s:find("%b<>%s+[!,+](%S+)%s+(.*)|")
if sCmd == sTrueCommand then
Save(sRes)
sHubTopic = sRes
Core.SendToAll("$HubTopic "..sHubTopic)
return true
end
end
end

function Save(s)
local hFile = io.open(sFileName, "w")
hFile:write(tostring(s))
hFile:flush ()
hFile:close ()
return true
end

function Read()
local hFile = io.open (sFileName, "r")
if not hFile then
Save("Установите HubTopic")
end
return tostring(hFile:read("*a")), hFile:close()
end


пишет вот что:
Код
06.08.2009 00:20:43 - /etc/ptokax/scripts/HubTopic.lua:43: attempt to index local 'hFile' (a nil value)
06.08.2009 00:20:57 - /etc/ptokax/scripts/HubTopic.lua:43: attempt to index local 'hFile' (a nil value)


Что не так :(

не меняетт и не переписывает топик
Go to the top of the page
+Quote Post
alex82
сообщение 6.8.2009, 4:48
Сообщение #2


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Не новичок вроде, должен знать, что движок форума портит код.

Прикрепи файл скрипта - посмотрим.
Go to the top of the page
+Quote Post
mariner
сообщение 6.8.2009, 6:48
Сообщение #3


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 875
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




Как то я такого не замечал.
Прикрепленный файл  HubTopic.lua ( 1.21 килобайт ) Кол-во скачиваний: 11
Go to the top of the page
+Quote Post
alex82
сообщение 6.8.2009, 9:10
Сообщение #4


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Походу, проблема с правами доступа, потому как в скрипте все правильно.

Чтобы убедиться наверняка, сделай так:

Код
function Save(s)
local hFile = assert(io.open(sFileName, "w"))
hFile:write(tostring(s))
hFile:flush ()
hFile:close ()
return true
end
Go to the top of the page
+Quote Post
mariner
сообщение 6.8.2009, 9:22
Сообщение #5


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 875
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




хм, странно, ой странно. Хаб от рута пашет, а файл от рута не магет открыть. брр
Go to the top of the page
+Quote Post
Setuper
сообщение 6.8.2009, 10:52
Сообщение #6


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Кажется кто-то от дел сисадмина перешел к делам программирования)))

Функцией assert конечно можно пользоваться, однако лучше делать проверку открытости хендлера условием, так как тогда скрипт будет защищён и не упадёт big_smile.gif
Go to the top of the page
+Quote Post
mariner
сообщение 6.8.2009, 11:54
Сообщение #7


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 875
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




ну что ж поделать, если то, что представлено на форуме не устраивало меня. Вот и точу напильником big_smile.gif
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Topic has attachmentsHubTopic
Скрипт показывающий ваш текст в строке состояния
11 Saymon21 12 774 25.1.2012, 17:34 Посл. сообщение: CrazyKiller
Moved HubTopic
0 mariner 0 5.8.2009, 23:21 Посл. сообщение: mariner

 



RSS Сейчас: 23.11.2024, 6:27