Знакомая до боли картинка.
Ладно, что-то нашёл в Интернете с помощью
Google, но чтобы не создавать тему отпишусь здесь.
В общем есть небольшой вопрос по скрипту LifeTimeBot (данный скрипт показывает возраст хаба). Так вот я в нём вбил дату создания хаба, но разница во времени показывается 3 часа, т. е. если я хаб создал в 2 часа дня, то скрипт выдаёт разницу в 3 часа (в 5 часов вечера), видимо в скрипте где-то задаётся часовой пояс, но я не нашёл где. Помогите, буду благодарен. Код прилагаю ниже:
Код: Выделить всё
tSettings = {
-- Имя бота
sBot = SetMan.GetString(21),
-- Название менюшки
sMenu1 = SetMan.GetString(21),
sMenu2 = "Информация",
sMenu3 = "Возраст хаба",
-- Дата "Рождения хаба"
iSetup = {
year = 2010,
month = 2,
day = 24,
hour = 14,
min = 43,
sec = 02
},
-- Обновлять топик? [true = да, false = нет]
bUpdateTopic = false,
-- С какой периодичностью обновлять топик? (в часах)
iTime = 1,
}
OnStartup = function()
end
OnTimer = function(tmr)
-- Update Topic
if tSettings.bUpdateTopic then
local iDiff = os.difftime(os.time(os.date("!*t")), os.time(tSettings.iSetup))
if iDiff > 0 then
local tTopic = {
"Наш хаб существует уже [TIME]",
"Нашему хабу: [TIME]",
"Наш хаб держится на плаву вот уже [TIME]",
"Дата 'Рождения' хаба: [TIME]",
}
local sTopic = string.gsub(tTopic[math.random(1, #tTopic)], "%[TIME%]", SecondsToTime(iDiff, true))
SetMan.SetString(10,sTopic)
end
end
collectgarbage(gc); io.flush()
end
ChatArrival = function(user,data)
Core.GetUserAllData(user)
local _,_, to = string.find(data, "^$To:%s(%S+)%s+From:")
local _,_, msg = string.find(data, "%b<>%s(.*)|$")
if (to and to == tSettings.sBot) or not to then
local _,_, cmd = string.find(msg, "^%p(%S+)")
if cmd and tCommands[string.lower(cmd)] then
cmd = string.lower(cmd)
if tCommands[cmd].tLevels[user.iProfile] and tCommands[cmd].tLevels[user.iProfile] == 1 then
return tCommands[cmd].fFunction(user, msg), 1
else
return Core.SendToNick(user.sNick,"<"..tSettings.sBot.."> Ошибка: У Вас нет доступа к данной команде!"), 1
end
end
end
end
ToArrival = ChatArrival
UserConnected = function(user)
Core.GetUserAllData(user)
if user.bUserCommand then
for i, v in pairs(tCommands) do
if v.tLevels[user.iProfile] then
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tSettings.sMenu1.."\\"..tSettings.sMenu2.."\\"..v.tRC[1]..
"$<%[mynick]> !"..i..v.tRC[2].."|")
end
end
end
Core.SendToNick(user.sNick,"<"..tSettings.sBot.."> Добро пожаловать на "..(SetMan.GetString(0) or "Неизвестный хаб").." !"); tCommands["lifetime"].fFunction(user)
end
OpConnected = UserConnected
tCommands = {
lifetime = {
fFunction = function(user)
local iDiff = os.difftime( os.time(os.date("!*t")), os.time(tSettings.iSetup))
if iDiff > 0 then
Core.SendToNick(user.sNick,"<"..tSettings.sBot.."> Нашему хабу уже "..
SecondsToTime(iDiff).."!!! Текущее время работы хаба: "..SecondsToTime(Core.GetUpTime(), true).."!")
else
Core.SendToNick(user.sNick,"<"..tSettings.sBot.."> Ошибка! Вы ввели неправильную дату 'рождения' хаба!")
end
end,
tLevels = {
[-1] = 1, [0] = 1, [1] = 1, [2] = 1, [3] = 1, [4] = 1, [5] = 1, [6] = 1,
},
tRC = { "Показать возраст хаба", "" }
},
}
SecondsToTime = function(iTime, bSmall)
string.gmatch = (string.gmatch or string.gfind)
local T = os.date("!*t", tonumber(iTime));
local sTime = string.format("%i г. %i мес. %i дн. %i час. %i мин.", T.year-1970, T.month-1, T.day-1, T.hour, T.min)
if bSmall then
for i in string.gmatch(sTime, "%d+") do
if tonumber(i) == 0 then sTime = string.gsub(sTime, "^"..i.."%s(%S+),%s", "") end
end
end
return sTime
end
RegConnected = UserConnected