• Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта 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

Что в этом коде не так?

DozyHacks

Пользователь
Регистрация
2 Июн 2020
Сообщения
31
Реакции
0
Баллы
18
Пол
Мужской
Семейное положение
Свободен(а) как ветер
1626637534682.png
Не могу понять что тут не так ошибок не выдает работать отказывается
делал все по wiki.facepunch.com
 
Посмотреть вложение 3645
Не могу понять что тут не так ошибок не выдает работать отказывается
делал все по wiki.facepunch.com
Lua:
hook.Add( "PlayerConnect", "JoinGlobalMessage", function( name, ip )
    PrintMessage( HUD_PRINTTALK, name .. " Подключился на сервер." )
end )
hook.Add( "PlayerDisconnected", "Playerleave", function(ply)
    PrintMessage( HUD_PRINTTALK, ply:Name().. " Отключился от сервера. " )
end )
 
Lua:
hook.Add( "PlayerConnect", "JoinGlobalMessage", function( name, ip )
    PrintMessage( HUD_PRINTTALK, name .. " Подключился на сервер." )
end )
hook.Add( "PlayerDisconnected", "Playerleave", function(ply)
    PrintMessage( HUD_PRINTTALK, ply:Name().. " Отключился от сервера. " )
end )
Спасибо!
 
Пробуй так, если не получится, то завтра помогу.
hook.Add( "PlayerConnect", "JoinGlobalMessage", function()
PrintMessage( HUD_PRINTTALK, LocalPlayer():Name() .. " Подключился на сервер." )
end )
hook.Add( "PlayerDisconnected", "Playerleave", function()
PrintMessage( HUD_PRINTTALK, LocalPlayer():Name() .. " Отключился от сервера. " )
end )
 
*** ***** не понимаю, так еще эти хуки работают на серверах которые в списке серверов.
 
Последнее редактирование модератором:
LocalPlayer():getDarkRPVar("rpname")
 
Хуки PlayerConnect и PlayerDisconnected являются только серверными и их на стороне клиента просто не существует, а переменная LocalPlayer() является только клиентской, вследствие чего возникали конфликты и ошибки в этом посту.
В этом посту видно, что автор пытается в серверном хуке использовать клиентскую функцию и вследствие чего тоже возникает ошибка.
На сайте https://wiki.facepunch.com/gmod/ перед каждой функции стоит квадратик разного цвета, оранжевый квадрат - может выполнятся только на клиенте, синий квадрат - может выполнятся только на сервере, оранжевый с синим квадрат - может выполнятся как на клиентке, так и на сервере.

Я написал код по вашей задумке, его нужно кидать в lua/autorun или куда хотите, главное чтобы он запускался как на сервере, так и у клиента.

Lua:
if SERVER then
    util.AddNetworkString("welcome_message")

    hook.Add("PlayerConnect", "welcome_message_hook", function(nickname, ipaddress)
        net.Start("welcome_message")
        net.WriteInt(1, 3)
        net.WriteString(nickname)
        net.Broadcast()
    end)

    hook.Add("PlayerDisconnected", "welcome_message_hook", function(player)
        net.Start("welcome_message")
        net.WriteInt(2, 3)
        net.WriteString(player:Name())
        net.Broadcast()
    end)
else

    net.Receive("welcome_message", function(len, a)
        if IsValid(a) and a:IsPlayer() then return end

        local id, nickname = net.ReadInt(3), net.ReadString()

        if id == 1 then
            chat.AddText(Color(100, 255, 100), nickname .. " подключается к серверу.")
        elseif id == 2 then
            chat.AddText(Color(255, 0, 0), nickname .. " вышел с сервера.")
        else
            return
        end
    end)
end
 
Хуки PlayerConnect и PlayerDisconnected являются только серверными и их на стороне клиента просто не существует, а переменная LocalPlayer() является только клиентской, вследствие чего возникали конфликты и ошибки в этом посту.
В этом посту видно, что автор пытается в серверном хуке использовать клиентскую функцию и вследствие чего тоже возникает ошибка.
На сайте https://wiki.facepunch.com/gmod/ перед каждой функции стоит квадратик разного цвета, оранжевый квадрат - может выполнятся только на клиенте, синий квадрат - может выполнятся только на сервере, оранжевый с синим квадрат - может выполнятся как на клиентке, так и на сервере.

Я написал код по вашей задумке, его нужно кидать в lua/autorun или куда хотите, главное чтобы он запускался как на сервере, так и у клиента.

Lua:
if SERVER then
    util.AddNetworkString("welcome_message")

    hook.Add("PlayerConnect", "welcome_message_hook", function(nickname, ipaddress)
        net.Start("welcome_message")
        net.WriteInt(1, 3)
        net.WriteString(nickname)
        net.Broadcast()
    end)

    hook.Add("PlayerDisconnected", "welcome_message_hook", function(player)
        net.Start("welcome_message")
        net.WriteInt(2, 3)
        net.WriteString(player:Name())
        net.Broadcast()
    end)
else

    net.Receive("welcome_message", function(len, a)
        if IsValid(a) and a:IsPlayer() then return end

        local id, nickname = net.ReadInt(3), net.ReadString()

        if id == 1 then
            chat.AddText(Color(100, 255, 100), nickname .. " подключается к серверу.")
        elseif id == 2 then
            chat.AddText(Color(255, 0, 0), nickname .. " вышел с сервера.")
        else
            return
        end
    end)
end

Странный метод.
Все делается гораздо проще, без всяких нетов и только в клиентсайде.
(У автора нет проблем с этим, но на всякий случай оставлю сокрытие стандартного вывода подключения/отключения)

Lua:
gameevent.Listen("player_connect_client") -- подключаем прослушивание подключения игроков
gameevent.Listen("player_disconnect") -- подключаем прослушивание отключения игроков

local color_primary = Color(235, 235, 235)
local color_secondary = Color(235, 125, 125)
hook.Add("player_connect_client", "PlayerAnnounceConnect", function(data)
  chat.AddText(color_primary , "Игрок ", color_secondary , data.name, color_primary , " подключается к серверу")
end)

hook.Add("player_disconnect", "PlayerAnnounceDisconnect", function(data)
  chat.AddText(color_primary , "Игрок ", color_secondary , data.name, color_primary , " отключился от сервера")
end)
 
Последнее редактирование:
Главная Регистрация
Назад
Сверху