История чата, непашет |
Здравствуйте, гость ( Вход | Регистрация )
История чата, непашет |
21.11.2009, 14:56
Сообщение
#1
|
|
Активный участник Группа: Пользователи Сообщений: 61 Регистрация: 24.7.2008 Из: Тамбов Пользователь №: 259 Спасибо сказали: 1 раз |
Всем привет. давненько сюда не заходил... Вообщем проблема со скриптом история чата, работал хорошо долго. а потом просто перестал выкидывать истори чата, пробывал по разному скрипт запустить, не вышло, выдаёт такие ошибки:
Синтаксис C:\PtokaX\scripts\Chat_History_5.1_newapi.lua:29: attempt to get length of global 'chathistory' (a nil value) и Синтаксис cannot open scripts/main/chathistory.txt: No such file or directory Чё за фигня случилась, всё ж работало хорошо... Раскрывающийся текст -- This script is converted with PtokaX LUA API Converter v0.9 at 01/17/08 15:57:18 --Chat History On Entry 1.02 LUA 5 --By Mutor The Ugly 4/14/04 -- --Based on a script by Tezlo 1/17/04 --Send chat history to PM on entry --Перевел и конвертировал в LUA 5.1 X-Ray 01/06/2006 -- +Converted to LUA 5 2/22/05 ----------------------------------------------------------- chatfile = "scripts/main/chathistory.txt"-- путь до файла данных maxhistory = 10 -- максимум строк чата для хранения в кеше botname = "#hub=TMB=" -- имя бота BadChars = {".","?","!","+","-",} -- разрешенные префиксы function OnStartup() chathistory = dofile(chatfile) or {} --Core.RegBot(botname,"","",true)-- Comment this line to not have bot appear in user list. Note: If botname is not registered, default dc++ settings will not allow pm's to pop up -- Enable Pop up messages from offline users / Disable ingnore messages from offline in client 'advanced dc settings'. To allow pop from unregistered botname. end function OnExit() savehistory() end function UserConnected(user) if user.iProfile~=-1 then Core.GetUserAllData(user) local n = #chathistory local str = " . . . : : : Последние сообщения в чате : : : . . ." for i = 1, n do str = str.."\r\n"..chathistory[i] end Core.SendToNick(user.sNick,"<"..botname.."> "..str.."") -- в Main end end OpConnected = UserConnected function ChatArrival(user,data) Core.GetUserAllData(user) if string.sub(data, 1, 1) ~= "<" then end local s,e,pre = string.find(data, "^%b<> (.)") local when = os.date("[%H:%M] ") local chat = string.sub(data, 1, -2) for k,v in pairs(BadChars) do if pre == v then -- disallow command input to cached chat return end end table.insert(chathistory,when..chat) if #chathistory > maxhistory then table.remove(chathistory, 1) end savehistory() end function savehistory() local f,e = io.open( chatfile, "w+" ) if f then f:write( "return {\n" ) for i = 1, #chathistory do f:write( "\t"..string.format("%q", chathistory[i])..",\r\n" ) end f:write( "}" ) f:close() return 1 else return nil,"savehistory failed: "..e end end function loadfile(chatfile) local f,e = io.open( chatfile, "r" ) if f then local r = f:read( "*a" ) f:close() return r else return nil,"loadfile failed: "..e end end RegConnected = UserConnected |
|
|
21.11.2009, 15:05
Сообщение
#2
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
пути надо прописать корректно
Код chatfile = Core.GetPtokaXPath().."scripts/main/chathistory.txt"-- путь до файла данных
|
|
|
21.11.2009, 15:16
Сообщение
#3
|
|
Активный участник Группа: Пользователи Сообщений: 61 Регистрация: 24.7.2008 Из: Тамбов Пользователь №: 259 Спасибо сказали: 1 раз |
Спасибо большое Прост я давно уже со скриптами не возился, забыл самое простое..((
Странно что он работал и не тупил раньше |
|
|
Похожие темы
|
Сейчас: 27.11.2024, 2:00 |