Welcome to Сообщество игровых серверов NETZONA.ORG

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. Зарегистрировавшись и войдя в систему, вы сможете создавать темы, публиковать ответы в существующих темах, давать репутацию другим участникам, получать собственный личный мессенджер и многое другое. Это также быстро и совершенно бесплатно, так чего же вы ждете?
  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта NetZONA.org: https://netzona.org/help/public-offer/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами использования Ваших файлов cookie на Проекте NetZONA.org: https://netzona.org/help/cookies/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с Политикой конфиденциальности Проекта NetZONA.org: https://netzona.org/pages/privacy-policy/

  • Ответы на основные вопросы: https://netzona.org/threads/populjarnye-voprosy-i-otvety-na-nix.6122/

  • Приветствуем на сайте, Гость! Приобрести (купить) Информационную услугу (в том числе группу "Проверенный") на Проекте NetZONA.org: https://netzona.org/account/upgrades

Оповещение

Статус
В этой теме нельзя размещать новые ответы.

☢stalker39☢

Пользователь
Регистрация
28 Июл 2017
Сообщения
280
Реакции
0
Баллы
30
Адрес
S.T.A.L.K.E.R. RP
Веб-сайт
netzona.org
Клан-тег
LEGION
Род занятий
Форумный червь
Уважаемы пользователи данного форума, помогите пожалуйста написать или найти скрипт для darkrp на оповещение.
Тоесть в центре экрана или в чате надпись "Рестарт сервера через 5 минут" и через 5 минут всех игроков кикает и через 1-2 секунды можно заходить на сервер. Как сказал один опытный человек *Neon* это должно выглядеть так.

Игрок вводит команду
Сервер запускает таймер и пишет, что рестарт через 5 минут
Когда таймер срабатывает, то в зависимости от необходимости: сервер кикает всех или заставляется переподключиться к этому же серверу
Сервер выключается.
Заранее спасибо!
 

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол
Код:
local function MinOrSeconds(time)
    if time < 60 then
        return " сек."
    else
        return " мин."
    end
end

concommand.Add("server_restart", function(ply, cmd, args)
    if (!ply:IsAdmin()) then
        return
    end

    if timer.Exists("ServerRestart") then
        return ply:ChatPrint("Рестарт сервера уже запланирован!")
    end

    local time = tonumber(args[1])
    if (time < 1 or !time) then
        time = 1
    end

    time = time * 60

    for _, v in ipairs(player.GetHumans()) do
        if !IsValid(v) then continue end
        v:PrintMessage(4, "Рестарт сервера через "..string.ToMinutesSeconds(time)..MinOrSeconds(time))
    end
   
    ServerLog(ply:Nick().." restart server") -- тип кто запланировал рестарт сервера, сохраним в логи сервера.

    timer.Create("ServerRestart", time, 1, function()
        for _, v in ipairs(player.GetHumans()) do
            v:PrintMessage(4, "Сейчас будет рестарт сервера.")
        end

        --game.ConsoleCommand("killserver\n")
        game.ConsoleCommand("changelevel "..game.GetMap().."\n")
    end)
end)

Полностью вырубает сервера.
Или же делаем только рестарт карты:
game.ConsoleCommand("killserver\n") заменить на game.ConsoleCommand("changelevel "..game.GetMap().."\n")

Пример использования: пишешь в консоль server_restart "5"
Т.е через 5 минут будет рестарт.
 
Последнее редактирование:

☢stalker39☢

Пользователь
Регистрация
28 Июл 2017
Сообщения
280
Реакции
0
Баллы
30
Адрес
S.T.A.L.K.E.R. RP
Веб-сайт
netzona.org
Клан-тег
LEGION
Род занятий
Форумный червь
Код:
local function MinOrSeconds(time)
    if time < 60 then
        return " сек."
    else
        return " мин."
    end
end

local nickRestart
concommand.Add("server_restart", function(ply, cmd, args)
    if (!ply:IsAdmin()) then
        return
    end

    if timer.Exists("ServerRestart") then
        return ply:ChatPrint("Рестарт сервера уже запланирован!")
    end

    local time = args[1]
    if (tonumber(time) < 1 or !time) then
        time = 1
    end

    time = time * 60

    for _, v in ipairs(player.GetHumans()) do
        if !IsValid(v) then continue end
        v:PrintMessage(4, "Рестарт сервера через "..string.ToMinutesSeconds(time)..MinOrSeconds(time))
    end

    timer.Create("ServerRestart", time, 1, function()
        nickRestart = ply:Nick()
        ServerLog(nickRestart.." restart server") -- тип кто запланировал рестарт сервера, сохраним в логи сервера.
        for _, v in ipairs(player.GetHumans()) do
            v:PrintMessage(4, "Сейчас будет рестарт сервера.")
            v:Kick("Рестарт сервера, перезайди")
        end
  
        timer.Simple(1, function()
            game.ConsoleCommand("killserver\n")
        end
    end)
end)

Полностью вырубает сервера.
Или же делаем только рестарт карты:
game.ConsoleCommand("killserver\n") заменить на game.ConsoleCommand("changelevel "..game.GetMap().."\n")

Пример использования: пишешь в консоль server_restart "5"
Т.е через 5 минут будет рестарт.
Как установить? И чем отличается рестарт сервера от рестарта карты? (Если у меня всего 1 карта стоит)
 

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол
Ни чем по сути не отличается. Лишь тем что при выключение сервера очищается полностью ВСЕ переменные таймеры и прочее (при рестарте карты не знаю, возможно так же).
Закинь в lua/autorun/server/имя_скрипта.lua
 

☢stalker39☢

Пользователь
Регистрация
28 Июл 2017
Сообщения
280
Реакции
0
Баллы
30
Адрес
S.T.A.L.K.E.R. RP
Веб-сайт
netzona.org
Клан-тег
LEGION
Род занятий
Форумный червь
@Hikka здравствуйте, я когда был админом на одном сталкер рп nutscript заметил такую плюшку, когда ты админ и нажимаешь на v что бы включить noclip то тебя автоматически включает !cloak (в чате этого не видно) и показывает сеткой где какой игрок находится.
Если нажать еще раз на v (выключить noclip) то ты опять видемый, сетки не видно.
Это аддон или скрипт?
Заранее спасибо!
 

Neon

Создатель
Команда форума
Проверенный
Регистрация
9 Фев 2013
Сообщения
1,394
Реакции
3
Баллы
49
@☢stalker39☢, это стандартная функция. Включается в настройках Включить Admin ESP
 

☢stalker39☢

Пользователь
Регистрация
28 Июл 2017
Сообщения
280
Реакции
0
Баллы
30
Адрес
S.T.A.L.K.E.R. RP
Веб-сайт
netzona.org
Клан-тег
LEGION
Род занятий
Форумный червь
Код:
local function MinOrSeconds(time)
    if time < 60 then
        return " сек."
    else
        return " мин."
    end
end

concommand.Add("server_restart", function(ply, cmd, args)
    if (!ply:IsAdmin()) then
        return
    end

    if timer.Exists("ServerRestart") then
        return ply:ChatPrint("Рестарт сервера уже запланирован!")
    end

    local time = tonumber(args[1])
    if (time < 1 or !time) then
        time = 1
    end

    time = time * 60

    for _, v in ipairs(player.GetHumans()) do
        if !IsValid(v) then continue end
        v:PrintMessage(4, "Рестарт сервера через "..string.ToMinutesSeconds(time)..MinOrSeconds(time))
    end
  
    ServerLog(ply:Nick().." restart server") -- тип кто запланировал рестарт сервера, сохраним в логи сервера.

    timer.Create("ServerRestart", time, 1, function()
        for _, v in ipairs(player.GetHumans()) do
            v:PrintMessage(4, "Сейчас будет рестарт сервера.")
        end

        --game.ConsoleCommand("killserver\n")
        game.ConsoleCommand("changelevel "..game.GetMap().."\n")
    end)
end)

Полностью вырубает сервера.
Или же делаем только рестарт карты:
game.ConsoleCommand("killserver\n") заменить на game.ConsoleCommand("changelevel "..game.GetMap().."\n")

Пример использования: пишешь в консоль server_restart "5"
Т.е через 5 минут будет рестарт.
Не работает.
 

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол

☢stalker39☢

Пользователь
Регистрация
28 Июл 2017
Сообщения
280
Реакции
0
Баллы
30
Адрес
S.T.A.L.K.E.R. RP
Веб-сайт
netzona.org
Клан-тег
LEGION
Род занятий
Форумный червь
if (!ply:IsAdmin()) then замени на if (ply:GetUserGroup() != "superadmin") then

Код рабочий, проверял на своем сервере, если у тебя руки не из того места, значит здесь виноват только ты.
Может быть не отрицаю.
 

Monopoly

Пользователь
Регистрация
9 Окт 2017
Сообщения
23
Реакции
0
Баллы
18
Возраст
26
Пол
Спасибо, тоже думал о коде
 

☢stalker39☢

Пользователь
Регистрация
28 Июл 2017
Сообщения
280
Реакции
0
Баллы
30
Адрес
S.T.A.L.K.E.R. RP
Веб-сайт
netzona.org
Клан-тег
LEGION
Род занятий
Форумный червь
@Hikka, Тут ошибка вскакивает не знаю почему.

[ERROR] lua/autorun/opovishenie.lua:30: attempt to call global 'ServerLog' (a nil value)
1. unknown - lua/autorun/opovishenie.lua:30
2. unknown - lua/includes/modules/concommand.lua:54
 

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол

Hodyrev74

Пользователь
Регистрация
9 Окт 2017
Сообщения
109
Реакции
0
Баллы
27
Возраст
35
Веб-сайт
bloodglade.ru
Клан-тег
BG
Пол
В воркшопе есть аддоны Notify. Можно с его помощью сделать, а так такой аддон беспл не заполучить(красивый со звуками и анимацией)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу