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

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

MyDC.ru _ Помощь по скриптам для PtokaX _ Переменные

Автор: DrakonSP 10.2.2010, 14:13

Здравствуйте!
Для информации: имееться скрипт антрекламы + антимат (антимат я убрал, т.к. нафиг не нужет big_smile1.gif)
В этом скрипте имееться самая обычныя big_smile1.gif переменная:

Код
RekBanTime=1440            -- Время бана за рекламу (в минутах)

Вообщем вопрос в следующем...
Дело в том что я хочу что бы эта переменая выводилась пользователю при бане, мл:
Цитата
Вы забанены на 1440 минут

Хочеться что бы это как то переводилось в дни, ну или хотя бы в часы.
Типо как то так...
Цитата
Вы забанены на 1 день

Цитата
Вы забанены на 24 часа

Как это реализовать? (Всмысле перевод переменой в другое значение (минуты в часы или минуты в дни))
Спасибо!

Автор: STRELOK_IS74 10.2.2010, 14:56

Перевод в часы/минуты/дни/месяца

Код
function GetNormalTime(s)
    s=tonumber(s) or 0
    local r=""
    if s>=31104000 then r=math.floor(s/31104000).." лет " s=math.fmod(s,31104000) end
    if s>=2592000 then r=r..math.floor(s/2592000).." месяцев " s=math.fmod(s,2592000) end
    if s>=86400 then r=r..math.floor(s/86400).." дней " s=math.fmod(s,86400) end
    if s>=3600 then r=r..math.floor(s/3600).." часов " s=math.fmod(s,3600) end
    if s>=60 then r=r..math.floor(s/60).." минут " s=math.fmod(s,60) end
    return r..s.." секунд"
end
Отсылка сообщения
Код
Core.SendToUser(tUser, "<"..sBot.."> Вы забанены на "..GetNormalTime(RekBanTime))

А вообще, надо прикладывать скрипт.

Автор: DrakonSP 10.2.2010, 15:00

Простите ни как не врублюсь как же мне это всё впихнуть в скрипт?
 Janus_HS_light_API2.lua ( 4.48 килобайт ) : 5

Автор: STRELOK_IS74 10.2.2010, 15:04

 Janus_HS_light_API2.lua ( 5.16 килобайт ) : 9

Автор: DrakonSP 10.2.2010, 16:07

Спасибо всё я разобрался =))
Просто по началу ошибку выдавало, но там моя тупость
И сообщение мне надо было в другое место пихнуть
Вообщем всё работает

вот тока функция GetNormalTime(s) нагло врёт
Бан вешаеться на 1440 минут (т.е 24 часа, т.е 1 день)
А отображает: Вы забанены на 24 минут 0 секунд

А как сделать так что бы переменая "RekBanTime" была не в минутах а в сек?

Автор: STRELOK_IS74 10.2.2010, 16:53

Код
function GetNormalTime(s)
    s=tonumber(s) or 0
    local r=""
    if s>=1440 then r=r..math.floor(s/1440).." дней " s=math.fmod(s,1440) end
    if s>=60 then r=r..math.floor(s/60).." часов " s=math.fmod(s,60) end
    return r..s.." минут"
end

Автор: DrakonSP 10.2.2010, 17:15

А как сделать так что бы переменая "RekBanTime" была не в минутах а в часах?
Т.е.
RekBanTime=24 -- Время бана за рекламу (в часах)

Автор: Setuper 10.2.2010, 17:26

То в минутах, то в часах, - ты уж определись.
В функцию GetNormalTime подставляются секунды. Неужели нельзя догадаться перевести минуты в секунды или часы в секунды

Код
RekBanTime=1440            -- Время бана за рекламу (в минутах)
GetNormalTime(RekBanTime * 60) -- RekBanTime в минутах


Код
RekBanTime=24            -- Время бана за рекламу (в часах)
GetNormalTime(RekBanTime * 3600) -- RekBanTime в часах

Автор: DrakonSP 10.2.2010, 17:51

Да я не про это
Я про то что в переменой RekBanTime я указываю 1440 и это в минутах
При использовании функции GetNormalTime я могу сделать так, что бы написало хоть 1 год, хоть 10 лет,
а банит то всё равно на 1440 минут
Надо что то тут менять тогда!

Код
BanMan.TempBan(user,RekBanTime,Reason,NameBot,false)

Либо в наименовании самой переменной.
Кароч я чё то не догоняю =))
Мне как всегда надо потупить =))

Автор: Setuper 10.2.2010, 18:18

Код
BanMan.TempBan(user,RekBanTime,Reason,NameBot,false) -- RekBanTime в минутах

Код
BanMan.TempBan(user,RekBanTime*60,Reason,NameBot,false) -- RekBanTime в часах

Чего тут сложного?

Автор: DrakonSP 10.2.2010, 18:35

Всё блин допёр =))
ппц я тупил сорри
Котёл не варит сегодня вообще =))