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

Аддон с urf.im

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

Gifty

Пользователь
Проверенный
Регистрация
3 Июл 2021
Сообщения
12
Реакции
0
Баллы
4
Веб-сайт
hellhound-rp.ru
Клан-тег
HH
Пол
Мужской
Взаимодействие с игроком при помощи "E".
Кто-нибудь знает что это за аддон?
1707941928858.png
 

FAFNIROV

Пользователь
Регистрация
1 Авг 2018
Сообщения
224
Реакции
0
Баллы
38
Возраст
23
Пол
Мужской
Семейное положение
Всё сложно
Род занятий
Программирование GLua, Python.
Если это Helix, то можно написать самому. Помогу тебе немного:

Lua:
if SERVER then
    -- Добавляем сетевую строку для обмена данными между клиентом и сервером
    util.AddNetworkString("ShowPlayerMenu")

    -- Хук для обработки нажатия кнопки "E" игроком на другого игрока
    hook.Add("PlayerUse", "PlayerInteract", function(ply, ent)
        -- Проверяем, является ли цель игроком и нажатие производится администратором
        if IsValid(ent) and ent:IsPlayer() and ply:IsAdmin() then
            -- Отправляем сетевое сообщение клиенту для открытия меню
            net.Start("ShowPlayerMenu")
            net.Send(ply)
        end
    end)

    -- Получаем сообщение от клиента о необходимости показать меню для определенного игрока
    net.Receive("ShowPlayerMenu", function(len, ply)
        local target = net.ReadEntity()
        -- Проверяем, является ли цель действительным игроком
        if IsValid(target) and target:IsPlayer() then
            -- Отправляем сетевое сообщение клиенту для открытия меню
            net.Start("ShowPlayerMenu")
            net.Send(ply)
        end
    end)

    -- Получаем сообщение от клиента о выбранном действии с игроком
    net.Receive("PlayerAction", function(len, ply)
        local action = net.ReadString() -- Считываем выбранное действие
        local target = net.ReadEntity() -- Считываем цель действия

        -- Обрабатываем выбранное действие
        if action == "Knockout" then
            local knockoutTime = math.random(15, 30) -- Генерируем время оглушения
            target:Knockout(knockoutTime) -- Вызываем функцию оглушения у цели
        elseif action == "ViewInfo" then
            -- Добавьте код для показа информации об игроке
        elseif action == "ViewDescription" then
            -- Добавьте код для показа описания персонажа
        elseif action == "Introduce" then
            -- Добавьте код для представления игроков друг другу
        end
    end)
else
    -- Получаем сетевое сообщение от сервера для показа меню действий с игроком
    net.Receive("ShowPlayerMenu", function(len)
        local target = net.ReadEntity() -- Получаем цель действия
        -- Проверяем, является ли цель действительным игроком
        if IsValid(target) and target:IsPlayer() then
            -- Создаем меню с действиями
            local actions = {
                {"Вырубить игрока", "Knockout"},
                {"Посмотреть информацию", "ViewInfo"},
                {"Посмотреть описание персонажа", "ViewDescription"},
                {"Познакомиться с игроком", "Introduce"}
            }

            local menu = DermaMenu() -- Создаем контекстное меню

            -- Добавляем каждое действие в меню
            for _, action in ipairs(actions) do
                -- Добавляем опцию в меню, которая отправит выбранное действие на сервер
                menu:AddOption(action[1], function()
                    net.Start("PlayerAction")
                    net.WriteString(action[2]) -- Отправляем выбранное действие
                    net.WriteEntity(target) -- Отправляем цель действия
                    net.SendToServer() -- Отправляем сообщение на сервер
                end)
            end

            menu:Open() -- Открываем меню
        end
    end)
end

Я могу ошибаться, но суть дал.
 

Gifty

Пользователь
Проверенный
Регистрация
3 Июл 2021
Сообщения
12
Реакции
0
Баллы
4
Веб-сайт
hellhound-rp.ru
Клан-тег
HH
Пол
Мужской
Если это Helix, то можно написать самому. Помогу тебе немного:

Lua:
if SERVER then
    -- Добавляем сетевую строку для обмена данными между клиентом и сервером
    util.AddNetworkString("ShowPlayerMenu")

    -- Хук для обработки нажатия кнопки "E" игроком на другого игрока
    hook.Add("PlayerUse", "PlayerInteract", function(ply, ent)
        -- Проверяем, является ли цель игроком и нажатие производится администратором
        if IsValid(ent) and ent:IsPlayer() and ply:IsAdmin() then
            -- Отправляем сетевое сообщение клиенту для открытия меню
            net.Start("ShowPlayerMenu")
            net.Send(ply)
        end
    end)

    -- Получаем сообщение от клиента о необходимости показать меню для определенного игрока
    net.Receive("ShowPlayerMenu", function(len, ply)
        local target = net.ReadEntity()
        -- Проверяем, является ли цель действительным игроком
        if IsValid(target) and target:IsPlayer() then
            -- Отправляем сетевое сообщение клиенту для открытия меню
            net.Start("ShowPlayerMenu")
            net.Send(ply)
        end
    end)

    -- Получаем сообщение от клиента о выбранном действии с игроком
    net.Receive("PlayerAction", function(len, ply)
        local action = net.ReadString() -- Считываем выбранное действие
        local target = net.ReadEntity() -- Считываем цель действия

        -- Обрабатываем выбранное действие
        if action == "Knockout" then
            local knockoutTime = math.random(15, 30) -- Генерируем время оглушения
            target:Knockout(knockoutTime) -- Вызываем функцию оглушения у цели
        elseif action == "ViewInfo" then
            -- Добавьте код для показа информации об игроке
        elseif action == "ViewDescription" then
            -- Добавьте код для показа описания персонажа
        elseif action == "Introduce" then
            -- Добавьте код для представления игроков друг другу
        end
    end)
else
    -- Получаем сетевое сообщение от сервера для показа меню действий с игроком
    net.Receive("ShowPlayerMenu", function(len)
        local target = net.ReadEntity() -- Получаем цель действия
        -- Проверяем, является ли цель действительным игроком
        if IsValid(target) and target:IsPlayer() then
            -- Создаем меню с действиями
            local actions = {
                {"Вырубить игрока", "Knockout"},
                {"Посмотреть информацию", "ViewInfo"},
                {"Посмотреть описание персонажа", "ViewDescription"},
                {"Познакомиться с игроком", "Introduce"}
            }

            local menu = DermaMenu() -- Создаем контекстное меню

            -- Добавляем каждое действие в меню
            for _, action in ipairs(actions) do
                -- Добавляем опцию в меню, которая отправит выбранное действие на сервер
                menu:AddOption(action[1], function()
                    net.Start("PlayerAction")
                    net.WriteString(action[2]) -- Отправляем выбранное действие
                    net.WriteEntity(target) -- Отправляем цель действия
                    net.SendToServer() -- Отправляем сообщение на сервер
                end)
            end

            menu:Open() -- Открываем меню
        end
    end)
end

Я могу ошибаться, но суть дал.
Спасибо за ответ и помощь <3
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу