Add receive

This commit is contained in:
Brandon Sturgeon 2021-02-18 21:03:31 -08:00 committed by Brandon Sturgeon
parent 7260991f02
commit 95140a74d6
4 changed files with 85 additions and 0 deletions

View File

@ -0,0 +1 @@
include "cfc_chat_transit/client/receive_remote_message.lua"

View File

@ -1,3 +1,6 @@
require "cfc_steamlookup"
include "cfc_chat_transit/server/init.lua"
include "cfc_chat_transit/server/avatar_service.lua"
include "cfc_chat_transit/server/remote_messages.lua"
AddCSLuaFile "cfc_chat_transit/client/receive_remote_message.lua"

View File

@ -0,0 +1,47 @@
import Start, Receive, ReadBool, ReadString, WriteBool, Send from net
import AddToolCategory, AddToolMenuOption from spawnmenu
shouldReceiveRemoteMessages = CreateConVar "cfc_chat_transit_remote_messages", true, FCVAR_ARCHIVE, "Should receive remote messges in chat", 0, 1
colors =
white: Color 255, 255, 255
blurple: Color 114, 137, 218
Receive "CFC_ChatTransit_RemoteMessageReceive", ->
return unless shouldReceiveRemoteMessages\GetBool!
author = ReadString!
message = ReadString!
return unless author
return unless message
-- "@#{author}: #{message}"
chat.AddText
colors.blurple
"@#{author}"
colors.white
": #{message}"
alertPreference = (val) ->
Start "CFC_ChatTransit_RemoteMessagePreference"
WriteBool val
Send!
hook.Add "InitPostEntity", "CFC_ChatTransit_AlertRemoteMessagePreference", ->
alertPreference shouldReceiveRemoteMessages\GetBool!
populatePanel = (panel) ->
label = "Should show remote messages (i.e. from Discord)"
with panel\CheckBox label, "cfc_chat_transit_remote_messages"
.OnChange = (_, val) -> alertPreference val
hook.Add "AddToolMenuCategories", "CFC_ChatTransit_MenuCategory", ->
AddToolCategory "Options", "ChatTransit", "Chat Transit"
hook.Add "PopulateToolMenu", "CFC_ChatTransit_MenuOption", ->
AddToolMenuOption "Options", "ChatTransit", "should_receive_remote_messages", "Remote Messages", "", "", (panel) ->
populatePanel panel

View File

@ -0,0 +1,34 @@
import AddNetworkString, Decompress from util
import Start, Receive, ReadBool, WriteString, Send from net
AddNetworkString "CFC_ChatTransit_RemoteMessagePreference"
AddNetworkString "CFC_ChatTransit_RemoteMessageReceive"
IsValid = IsValid
recipients = RecipientFilter!
Receive "CFC_ChatTransit_RemoteMessagePreference", (_, ply) ->
shouldReceive = ReadBool!
modify = shouldReceive and recipients.AddPlayer or recipients.RemovePlayer
modify recipients, ply
broadcastMessage = (ply, cmd, args, argStr) ->
return if IsValid ply
author = rawget args, 1
message = rawget args, 2
return unless author
return unless message
message = Decompress(argStr) or message
Start "CFC_ChatTransit_RemoteMessageReceive"
WriteString author
WriteString message
Send recipients
concommand.Add "chat_transit", broadcastMessage