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

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

DozyHacks

Пользователь
Регистрация
2 Июн 2020
Сообщения
33
Реакции
0
Баллы
18
Пол
Мужской
Семейное положение
Свободен(а) как ветер
1626637534682.png
Не могу понять что тут не так ошибок не выдает работать отказывается
делал все по wiki.facepunch.com
 

Levanchik

Пользователь
Регистрация
3 Апр 2020
Сообщения
360
Реакции
2
Баллы
38
Посмотреть вложение 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 )
 

DozyHacks

Пользователь
Регистрация
2 Июн 2020
Сообщения
33
Реакции
0
Баллы
18
Пол
Мужской
Семейное положение
Свободен(а) как ветер
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 )
Спасибо!
 

DozyHacks

Пользователь
Регистрация
2 Июн 2020
Сообщения
33
Реакции
0
Баллы
18
Пол
Мужской
Семейное положение
Свободен(а) как ветер

DozyHacks

Пользователь
Регистрация
2 Июн 2020
Сообщения
33
Реакции
0
Баллы
18
Пол
Мужской
Семейное положение
Свободен(а) как ветер

Levanchik

Пользователь
Регистрация
3 Апр 2020
Сообщения
360
Реакции
2
Баллы
38
Пробуй так, если не получится, то завтра помогу.
hook.Add( "PlayerConnect", "JoinGlobalMessage", function()
PrintMessage( HUD_PRINTTALK, LocalPlayer():Name() .. " Подключился на сервер." )
end )
hook.Add( "PlayerDisconnected", "Playerleave", function()
PrintMessage( HUD_PRINTTALK, LocalPlayer():Name() .. " Отключился от сервера. " )
end )
 

DozyHacks

Пользователь
Регистрация
2 Июн 2020
Сообщения
33
Реакции
0
Баллы
18
Пол
Мужской
Семейное положение
Свободен(а) как ветер

Levanchik

Пользователь
Регистрация
3 Апр 2020
Сообщения
360
Реакции
2
Баллы
38
*** ***** не понимаю, так еще эти хуки работают на серверах которые в списке серверов.
 
Последнее редактирование модератором:

Xumaan

Пользователь
Регистрация
3 Май 2021
Сообщения
17
Реакции
0
Баллы
4
Клан-тег
Diesel
Пол
Мужской
Семейное положение
Свободен(а) как ветер
Род занятий
coder
LocalPlayer():getDarkRPVar("rpname")
 

AlexeyQ

Пользователь
Проверенный
Регистрация
14 Мар 2020
Сообщения
9
Реакции
0
Баллы
15
Пол
Мужской
Род занятий
Программирование в Garry's mod
Хуки 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
 

MeaDolphi

Пользователь
Регистрация
9 Фев 2017
Сообщения
63
Реакции
1
Баллы
19
Адрес
Russia
Пол
Мужской
Хуки 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)
 
Последнее редактирование:
Назад
Сверху Снизу