HubTopic |
Здравствуйте, гость ( Вход | Регистрация )
HubTopic |
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) Что не так :( не меняетт и не переписывает топик |
|
|
6.8.2009, 4:48
Сообщение
#2
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
Не новичок вроде, должен знать, что движок форума портит код.
Прикрепи файл скрипта - посмотрим. |
|
|
6.8.2009, 6:48
Сообщение
#3
|
|
Местная ТехПоддержка Группа: Администраторы Сообщений: 1 875 Регистрация: 18.7.2008 Из: Моск. Обл, г. королев, район Болшево Пользователь №: 221 Спасибо сказали: 220 раз |
|
|
|
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 |
|
|
6.8.2009, 9:22
Сообщение
#5
|
|
Местная ТехПоддержка Группа: Администраторы Сообщений: 1 875 Регистрация: 18.7.2008 Из: Моск. Обл, г. королев, район Болшево Пользователь №: 221 Спасибо сказали: 220 раз |
хм, странно, ой странно. Хаб от рута пашет, а файл от рута не магет открыть. брр
|
|
|
6.8.2009, 10:52
Сообщение
#6
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Кажется кто-то от дел сисадмина перешел к делам программирования)))
Функцией assert конечно можно пользоваться, однако лучше делать проверку открытости хендлера условием, так как тогда скрипт будет защищён и не упадёт |
|
|
6.8.2009, 11:54
Сообщение
#7
|
|
Местная ТехПоддержка Группа: Администраторы Сообщений: 1 875 Регистрация: 18.7.2008 Из: Моск. Обл, г. королев, район Болшево Пользователь №: 221 Спасибо сказали: 220 раз |
ну что ж поделать, если то, что представлено на форуме не устраивало меня. Вот и точу напильником
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
HubTopic Скрипт показывающий ваш текст в строке состояния |
11 | Saymon21 | 12 840 | 25.1.2012, 17:34 Посл. сообщение: CrazyKiller | |
HubTopic | 0 | mariner | 0 | 5.8.2009, 23:21 Посл. сообщение: mariner |
|
Сейчас: 27.11.2024, 5:16 |