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

Jail в ServerGuard

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

DaNN

Пользователь
Регистрация
6 Май 2019
Сообщения
163
Реакции
0
Баллы
33
Ребят, можно ли сделать в сервергуарде так, чтобы при команде /jail игрока телепортировало на какое-то место, а по истечению джайла, он возвращался на спавн?
 

David Pavlov282717

Пользователь
Проверенный
Регистрация
16 Июл 2019
Сообщения
121
Реакции
1
Баллы
31
Ребят, можно ли сделать в сервергуарде так, чтобы при команде /jail игрока телепортировало на какое-то место, а по истечению джайла, он возвращался на спавн?
Вроде-нет ибо нету команды jailtp поищи в Gmod wiki
 

KailHet

Модератор
Команда форума
Проверенный
Регистрация
5 Ноя 2019
Сообщения
728
Реакции
9
Баллы
52
Возраст
21
Веб-сайт
kailhet.github.io
Пол
Мужской
Семейное положение
Свободен(а) как ветер
Род занятий
Веб разработчик

KailHet

Модератор
Команда форума
Проверенный
Регистрация
5 Ноя 2019
Сообщения
728
Реакции
9
Баллы
52
Возраст
21
Веб-сайт
kailhet.github.io
Пол
Мужской
Семейное положение
Свободен(а) как ветер
Род занятий
Веб разработчик
Ребят, можно ли сделать в сервергуарде так, чтобы при команде /jail игрока телепортировало на какое-то место, а по истечению джайла, он возвращался на спавн?
Можно, если нужно, скину код. Сам только сегодня прописывал сидел)
 

NiceFps

Пользователь
Проверенный
Регистрация
21 Мар 2020
Сообщения
328
Реакции
0
Баллы
37
Клан-тег
//\\От игроков для игроков!//\\
Пол
Мужской

KailHet

Модератор
Команда форума
Проверенный
Регистрация
5 Ноя 2019
Сообщения
728
Реакции
9
Баллы
52
Возраст
21
Веб-сайт
kailhet.github.io
Пол
Мужской
Семейное положение
Свободен(а) как ветер
Род занятий
Веб разработчик
можешь пожалуйста скинуть?
В файле по пути serverguard/lua/tools/sv_administrarion.lua, начиная со строки 43 (быдлокод, я не топ кодер, делал, как знаю)
Расписал все основные вещи, которые будут нужны. Узнать координаты - getpos в консоль.

КООРДИНАТЫ ПРОПИСЫВАТЬ ОБЯЗАТЕЛЬНО ЧЕРЕЗ ЗАПЯТУЮ


Lua:
local jail = {                                                    --расположение стенок (в моем случае - кубиков) вокруг игрока при прописывании джайла. без них джайл ломается и не телепортирует игрока после джайла на спавн(решать мне это лень, да и ничего критичного нет).
    {Vector(0, 0, -15), Angle(90, 0, 0)},     -- Bottom
    {Vector(0, 0, 100), Angle(90, 0, 0)}     -- Top
    -- {Vector(0, 40, 50), Angle(0, 90, 0)},     -- Side
    -- {Vector(0, -40, 50), Angle(0, 90, 0)},     -- Side
    -- {Vector(40, 0, 50), Angle(0, 0, 0)},     -- Side
    -- {Vector(-40, 0, 50), Angle(0, 0, 0)}     -- Side
};

--
-- Jail a player.
--

local pieceModel = "models/hunter/blocks/cube025x025x025.mdl";     --моделька, которая будет спавниться возле игрока по координатам выше

function serverguard:JailPlayer(player, duration)
    if (IsValid(player) and isnumber(duration)) then
        local pieces = {};

        if (player:InVehicle()) then
            player:ExitVehicle();
        end;

        player:SetMoveType(MOVETYPE_WALK);
        player:SetLocalVelocity(Vector(0, 0, 0));
        player:SetPos(Vector(5121, -1209, -230))                --позиция джайл-рума

        for k, v in pairs(jail) do
            local piece = ents.Create("prop_physics");

            piece:SetModel(pieceModel);
            piece:SetPos(player:GetPos() + v[1]);
            piece:SetAngles(v[2]);
            piece:Spawn();
            piece:SetMoveType(MOVETYPE_NONE);
            piece:GetPhysicsObject():EnableMotion(false);
            piece.sg_jail = true;

            table.insert(pieces, piece);
        end;

        -- If one piece gets removed, remove them all.
        for i = 1, #pieces do
            local piece = pieces[i];
            local otherPiece = pieces[i - 1] or pieces[i + 1];

            piece:DeleteOnRemove(otherPiece);
            otherPiece:DeleteOnRemove(piece);
        end;

        player:SetPos(player:GetPos() + Vector(0, 0, 8));
        player:SetNetworkedBool("serverguard_jailed", true);

        player.sg_jail = pieces;
        player.sg_jailLocation = player:GetPos();
        
        if duration > 0 then
            local timerID = "serverguard.jail.timer_" .. player:UniqueID();
            player.sg_jailTime = duration;
            timer.Create(timerID, duration, 1, function()
                player:SetPos(Vector(-981, 5024, -39))            --куда будет тепаться игрок после джайла
                serverguard:UnjailPlayer(player);
            end);
        end;
    end;
end;
 

hnxhxnn

Пользователь
Регистрация
25 Мар 2020
Сообщения
66
Реакции
0
Баллы
20
В файле по пути serverguard/lua/tools/sv_administrarion.lua, начиная со строки 43 (быдлокод, я не топ кодер, делал, как знаю)
Расписал все основные вещи, которые будут нужны. Узнать координаты - getpos в консоль.

КООРДИНАТЫ ПРОПИСЫВАТЬ ОБЯЗАТЕЛЬНО ЧЕРЕЗ ЗАПЯТУЮ


Lua:
local jail = {                                                    --расположение стенок (в моем случае - кубиков) вокруг игрока при прописывании джайла. без ********* джайл ломается и не телепортирует игрока после джайла на спавн(решать мне это лень, да и ничего критичного нет).
    {Vector(0, 0, -15), Angle(90, 0, 0)},     -- Bottom
    {Vector(0, 0, 100), Angle(90, 0, 0)}     -- Top
    -- {Vector(0, 40, 50), Angle(0, 90, 0)},     -- Side
    -- {Vector(0, -40, 50), Angle(0, 90, 0)},     -- Side
    -- {Vector(40, 0, 50), Angle(0, 0, 0)},     -- Side
    -- {Vector(-40, 0, 50), Angle(0, 0, 0)}     -- Side
};

--
-- Jail a player.
--

local pieceModel = "models/hunter/blocks/cube025x025x025.mdl";     --моделька, которая будет спавниться возле игрока по координатам выше

function serverguard:JailPlayer(player, duration)
    if (IsValid(player) and isnumber(duration)) then
        local pieces = {};

        if (player:InVehicle()) then
            player:ExitVehicle();
        end;

        player:SetMoveType(MOVETYPE_WALK);
        player:SetLocalVelocity(Vector(0, 0, 0));
        player:SetPos(Vector(5121, -1209, -230))                --позиция джайл-рума

        for k, v in pairs(jail) do
            local piece = ents.Create("prop_physics");

            piece:SetModel(pieceModel);
            piece:SetPos(player:GetPos() + v[1]);
            piece:SetAngles(v[2]);
            piece:Spawn();
            piece:SetMoveType(MOVETYPE_NONE);
            piece:GetPhysicsObject():EnableMotion(false);
            piece.sg_jail = true;

            table.insert(pieces, piece);
        end;

        -- If one piece gets removed, remove them all.
        for i = 1, #pieces do
            local piece = pieces[i];
            local otherPiece = pieces[i - 1] or pieces[i + 1];

            piece:DeleteOnRemove(otherPiece);
            otherPiece:DeleteOnRemove(piece);
        end;

        player:SetPos(player:GetPos() + Vector(0, 0, 8));
        player:SetNetworkedBool("serverguard_jailed", true);

        player.sg_jail = pieces;
        player.sg_jailLocation = player:GetPos();
       
        if duration > 0 then
            local timerID = "serverguard.jail.timer_" .. player:UniqueID();
            player.sg_jailTime = duration;
            timer.Create(timerID, duration, 1, function()
                player:SetPos(Vector(-981, 5024, -39))            --куда будет тепаться игрок после джайла
                serverguard:UnjailPlayer(player);
            end);
        end;
    end;
end;
Спасибо, давно пытался сделать)
 

NanyBunny

Пользователь
Регистрация
19 Апр 2020
Сообщения
20
Реакции
0
Баллы
15
В файле по пути serverguard/lua/tools/sv_administrarion.lua, начиная со строки 43 (быдлокод, я не топ кодер, делал, как знаю)
Расписал все основные вещи, которые будут нужны. Узнать координаты - getpos в консоль.

КООРДИНАТЫ ПРОПИСЫВАТЬ ОБЯЗАТЕЛЬНО ЧЕРЕЗ ЗАПЯТУЮ


Lua:
local jail = {                                                    --расположение стенок (в моем случае - кубиков) вокруг игрока при прописывании джайла. без ********* джайл ломается и не телепортирует игрока после джайла на спавн(решать мне это лень, да и ничего критичного нет).
    {Vector(0, 0, -15), Angle(90, 0, 0)},     -- Bottom
    {Vector(0, 0, 100), Angle(90, 0, 0)}     -- Top
    -- {Vector(0, 40, 50), Angle(0, 90, 0)},     -- Side
    -- {Vector(0, -40, 50), Angle(0, 90, 0)},     -- Side
    -- {Vector(40, 0, 50), Angle(0, 0, 0)},     -- Side
    -- {Vector(-40, 0, 50), Angle(0, 0, 0)}     -- Side
};

--
-- Jail a player.
--

local pieceModel = "models/hunter/blocks/cube025x025x025.mdl";     --моделька, которая будет спавниться возле игрока по координатам выше

function serverguard:JailPlayer(player, duration)
    if (IsValid(player) and isnumber(duration)) then
        local pieces = {};

        if (player:InVehicle()) then
            player:ExitVehicle();
        end;

        player:SetMoveType(MOVETYPE_WALK);
        player:SetLocalVelocity(Vector(0, 0, 0));
        player:SetPos(Vector(5121, -1209, -230))                --позиция джайл-рума

        for k, v in pairs(jail) do
            local piece = ents.Create("prop_physics");

            piece:SetModel(pieceModel);
            piece:SetPos(player:GetPos() + v[1]);
            piece:SetAngles(v[2]);
            piece:Spawn();
            piece:SetMoveType(MOVETYPE_NONE);
            piece:GetPhysicsObject():EnableMotion(false);
            piece.sg_jail = true;

            table.insert(pieces, piece);
        end;

        -- If one piece gets removed, remove them all.
        for i = 1, #pieces do
            local piece = pieces[i];
            local otherPiece = pieces[i - 1] or pieces[i + 1];

            piece:DeleteOnRemove(otherPiece);
            otherPiece:DeleteOnRemove(piece);
        end;

        player:SetPos(player:GetPos() + Vector(0, 0, 8));
        player:SetNetworkedBool("serverguard_jailed", true);

        player.sg_jail = pieces;
        player.sg_jailLocation = player:GetPos();
       
        if duration > 0 then
            local timerID = "serverguard.jail.timer_" .. player:UniqueID();
            player.sg_jailTime = duration;
            timer.Create(timerID, duration, 1, function()
                player:SetPos(Vector(-981, 5024, -39))            --куда будет тепаться игрок после джайла
                serverguard:UnjailPlayer(player);
            end);
        end;
    end;
end;
ты лучший чел спс
 

NanyBunny

Пользователь
Регистрация
19 Апр 2020
Сообщения
20
Реакции
0
Баллы
15
В файле по пути serverguard/lua/tools/sv_administrarion.lua, начиная со строки 43 (быдлокод, я не топ кодер, делал, как знаю)
Расписал все основные вещи, которые будут нужны. Узнать координаты - getpos в консоль.

КООРДИНАТЫ ПРОПИСЫВАТЬ ОБЯЗАТЕЛЬНО ЧЕРЕЗ ЗАПЯТУЮ


Lua:
local jail = {                                                    --расположение стенок (в моем случае - кубиков) вокруг игрока при прописывании джайла. без ********* джайл ломается и не телепортирует игрока после джайла на спавн(решать мне это лень, да и ничего критичного нет).
    {Vector(0, 0, -15), Angle(90, 0, 0)},     -- Bottom
    {Vector(0, 0, 100), Angle(90, 0, 0)}     -- Top
    -- {Vector(0, 40, 50), Angle(0, 90, 0)},     -- Side
    -- {Vector(0, -40, 50), Angle(0, 90, 0)},     -- Side
    -- {Vector(40, 0, 50), Angle(0, 0, 0)},     -- Side
    -- {Vector(-40, 0, 50), Angle(0, 0, 0)}     -- Side
};

--
-- Jail a player.
--

local pieceModel = "models/hunter/blocks/cube025x025x025.mdl";     --моделька, которая будет спавниться возле игрока по координатам выше

function serverguard:JailPlayer(player, duration)
    if (IsValid(player) and isnumber(duration)) then
        local pieces = {};

        if (player:InVehicle()) then
            player:ExitVehicle();
        end;

        player:SetMoveType(MOVETYPE_WALK);
        player:SetLocalVelocity(Vector(0, 0, 0));
        player:SetPos(Vector(5121, -1209, -230))                --позиция джайл-рума

        for k, v in pairs(jail) do
            local piece = ents.Create("prop_physics");

            piece:SetModel(pieceModel);
            piece:SetPos(player:GetPos() + v[1]);
            piece:SetAngles(v[2]);
            piece:Spawn();
            piece:SetMoveType(MOVETYPE_NONE);
            piece:GetPhysicsObject():EnableMotion(false);
            piece.sg_jail = true;

            table.insert(pieces, piece);
        end;

        -- If one piece gets removed, remove them all.
        for i = 1, #pieces do
            local piece = pieces[i];
            local otherPiece = pieces[i - 1] or pieces[i + 1];

            piece:DeleteOnRemove(otherPiece);
            otherPiece:DeleteOnRemove(piece);
        end;

        player:SetPos(player:GetPos() + Vector(0, 0, 8));
        player:SetNetworkedBool("serverguard_jailed", true);

        player.sg_jail = pieces;
        player.sg_jailLocation = player:GetPos();
       
        if duration > 0 then
            local timerID = "serverguard.jail.timer_" .. player:UniqueID();
            player.sg_jailTime = duration;
            timer.Create(timerID, duration, 1, function()
                player:SetPos(Vector(-981, 5024, -39))            --куда будет тепаться игрок после джайла
                serverguard:UnjailPlayer(player);
            end);
        end;
    end;
end;
а можно сделать так чтобы игрок спавнился в джайле на земле и после unjail тоже на земле а не на поверхности
 

KailHet

Модератор
Команда форума
Проверенный
Регистрация
5 Ноя 2019
Сообщения
728
Реакции
9
Баллы
52
Возраст
21
Веб-сайт
kailhet.github.io
Пол
Мужской
Семейное положение
Свободен(а) как ветер
Род занятий
Веб разработчик
а можно сделать так чтобы игрок спавнился в джайле на земле и после unjail тоже на земле а не на поверхности
Не очень понял твой вопрос.
Как я понял - ты хочешь, чтобы игрок появлялся не на кубике. Просто поменяй координаты спавна кубика, они находятся вот здесь(выделено красным квадратом) за высоту кубика отвечает 3 координата (z): 1587427421657.png
 

LIMBO_SS

Пользователь
Регистрация
15 Фев 2021
Сообщения
40
Реакции
0
Баллы
15
Клан-тег
Renix
Пол
Мужской
Пацаны а как координаты узнать?
 

LIMBO_SS

Пользователь
Регистрация
15 Фев 2021
Сообщения
40
Реакции
0
Баллы
15
Клан-тег
Renix
Пол
Мужской
Спасибо, а для ulx есть?
 

KailHet

Модератор
Команда форума
Проверенный
Регистрация
5 Ноя 2019
Сообщения
728
Реакции
9
Баллы
52
Возраст
21
Веб-сайт
kailhet.github.io
Пол
Мужской
Семейное положение
Свободен(а) как ветер
Род занятий
Веб разработчик

jayceee

Пользователь
Регистрация
25 Фев 2021
Сообщения
3
Реакции
0
Баллы
13
Пол
Мужской
подскажите как убрать табличку на весь экран при заходе на сервер?
 

KailHet

Модератор
Команда форума
Проверенный
Регистрация
5 Ноя 2019
Сообщения
728
Реакции
9
Баллы
52
Возраст
21
Веб-сайт
kailhet.github.io
Пол
Мужской
Семейное положение
Свободен(а) как ветер
Род занятий
Веб разработчик
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу