From 8c16ae545718315e631f9244fd406a7bc1a9ad44 Mon Sep 17 00:00:00 2001 From: Matt Stevens Date: Tue, 7 Jan 2014 20:11:19 +0000 Subject: [PATCH 1/3] Base: Replaced umsgs with net messages. --- .../base/gamemode/cl_deathnotice.lua | 47 +++++++++---------- garrysmod/gamemodes/base/gamemode/npc.lua | 23 +++++---- garrysmod/gamemodes/base/gamemode/player.lua | 32 +++++++------ 3 files changed, 54 insertions(+), 48 deletions(-) diff --git a/garrysmod/gamemodes/base/gamemode/cl_deathnotice.lua b/garrysmod/gamemodes/base/gamemode/cl_deathnotice.lua index f5631701e6..e1a1f8c9ca 100644 --- a/garrysmod/gamemodes/base/gamemode/cl_deathnotice.lua +++ b/garrysmod/gamemodes/base/gamemode/cl_deathnotice.lua @@ -42,11 +42,11 @@ local function PlayerIDOrNameToString( var ) end -local function RecvPlayerKilledByPlayer( message ) +local function RecvPlayerKilledByPlayer( _ ) - local victim = message:ReadEntity(); - local inflictor = message:ReadString(); - local attacker = message:ReadEntity(); + local victim = net.ReadEntity(); + local inflictor = net.ReadString(); + local attacker = net.ReadEntity(); if ( !IsValid( attacker ) ) then return end if ( !IsValid( victim ) ) then return end @@ -55,39 +55,38 @@ local function RecvPlayerKilledByPlayer( message ) end -usermessage.Hook( "PlayerKilledByPlayer", RecvPlayerKilledByPlayer ) +net.Receive( "PlayerKilledByPlayer", RecvPlayerKilledByPlayer ) +local function RecvPlayerKilledSelf( _ ) -local function RecvPlayerKilledSelf( message ) - - local victim = message:ReadEntity(); + local victim = net.ReadEntity(); if ( !IsValid( victim ) ) then return end GAMEMODE:AddDeathNotice( nil, 0, "suicide", victim:Name(), victim:Team() ) end -usermessage.Hook( "PlayerKilledSelf", RecvPlayerKilledSelf ) +net.Receive( "PlayerKilledSelf", RecvPlayerKilledSelf ) -local function RecvPlayerKilled( message ) +local function RecvPlayerKilled( _ ) - local victim = message:ReadEntity(); + local victim = net.ReadEntity(); if ( !IsValid( victim ) ) then return end - local inflictor = message:ReadString(); - local attacker = "#" .. message:ReadString(); + local inflictor = net.ReadString(); + local attacker = "#" .. net.ReadString(); GAMEMODE:AddDeathNotice( attacker, -1, inflictor, victim:Name(), victim:Team() ) end -usermessage.Hook( "PlayerKilled", RecvPlayerKilled ) +net.Receive( "PlayerKilled", RecvPlayerKilled ) -local function RecvPlayerKilledNPC( message ) +local function RecvPlayerKilledNPC( _ ) - local victimtype = message:ReadString(); + local victimtype = net.ReadString(); local victim = "#" .. victimtype; - local inflictor = message:ReadString(); - local attacker = message:ReadEntity(); + local inflictor = net.ReadString(); + local attacker = net.ReadEntity(); -- -- For some reason the killer isn't known to us, so don't proceed. @@ -115,20 +114,20 @@ local function RecvPlayerKilledNPC( message ) end -usermessage.Hook( "PlayerKilledNPC", RecvPlayerKilledNPC ) +net.Receive( "PlayerKilledNPC", RecvPlayerKilledNPC ) -local function RecvNPCKilledNPC( message ) +local function RecvNPCKilledNPC( _ ) - local victim = "#" .. message:ReadString(); - local inflictor = message:ReadString(); - local attacker = "#" .. message:ReadString(); + local victim = "#" .. net.ReadString(); + local inflictor = net.ReadString(); + local attacker = "#" .. net.ReadString(); GAMEMODE:AddDeathNotice( attacker, -1, inflictor, victim, -1 ) end -usermessage.Hook( "NPCKilledNPC", RecvNPCKilledNPC ) +net.Receive( "NPCKilledNPC", RecvNPCKilledNPC ) diff --git a/garrysmod/gamemodes/base/gamemode/npc.lua b/garrysmod/gamemodes/base/gamemode/npc.lua index 80ad67bfb6..cc43457a1a 100644 --- a/garrysmod/gamemodes/base/gamemode/npc.lua +++ b/garrysmod/gamemodes/base/gamemode/npc.lua @@ -1,3 +1,6 @@ +-- Add Network Strings we use +util.AddNetworkString( "PlayerKilledNPC" ) +util.AddNetworkString( "NPCKilledNPC" ) --[[--------------------------------------------------------- Name: gamemode:OnNPCKilled( entity, attacker, inflictor ) @@ -27,13 +30,13 @@ function GM:OnNPCKilled( ent, attacker, inflictor ) if ( attacker:IsPlayer() ) then - umsg.Start( "PlayerKilledNPC" ) + net.Start( "PlayerKilledNPC" ) - umsg.String( ent:GetClass() ) - umsg.String( InflictorClass ) - umsg.Entity( attacker ) + net.WriteString( ent:GetClass() ) + net.WriteString( InflictorClass ) + net.WriteEntity( attacker ) - umsg.End() + net.End() return end @@ -41,13 +44,13 @@ function GM:OnNPCKilled( ent, attacker, inflictor ) end - umsg.Start( "NPCKilledNPC" ) + net.Start( "NPCKilledNPC" ) - umsg.String( ent:GetClass() ) - umsg.String( InflictorClass ) - umsg.String( AttackerClass ) + net.WriteString( ent:GetClass() ) + net.WriteString( InflictorClass ) + net.WriteString( AttackerClass ) - umsg.End() + net.End() end diff --git a/garrysmod/gamemodes/base/gamemode/player.lua b/garrysmod/gamemodes/base/gamemode/player.lua index ae625f3cd5..98f83cd0fc 100644 --- a/garrysmod/gamemodes/base/gamemode/player.lua +++ b/garrysmod/gamemodes/base/gamemode/player.lua @@ -1,4 +1,3 @@ - --[[--------------------------------------------------------- Name: gamemode:OnPhysgunFreeze( weapon, phys, ent, player ) Desc: The physgun wants to freeze a prop @@ -127,6 +126,11 @@ function GM:PlayerSilentDeath( Victim ) end +-- Pool network strings used for PlayerDeaths. +util.AddNetworkString("PlayerKilledSelf") +util.AddNetworkString("PlayerKilledByPlayer") +util.AddNetworkString("PlayerKilled") + --[[--------------------------------------------------------- Name: gamemode:PlayerDeath( ) Desc: Called when a player dies. @@ -157,9 +161,9 @@ function GM:PlayerDeath( Victim, Inflictor, Attacker ) if (Attacker == Victim) then - umsg.Start( "PlayerKilledSelf" ) - umsg.Entity( Victim ) - umsg.End() + net.Start( "PlayerKilledSelf" ) + net.WriteEntity( Victim ) + net.Broadcast() MsgAll( Attacker:Nick() .. " suicided!\n" ) @@ -167,25 +171,25 @@ function GM:PlayerDeath( Victim, Inflictor, Attacker ) if ( Attacker:IsPlayer() ) then - umsg.Start( "PlayerKilledByPlayer" ) + net.Start( "PlayerKilledByPlayer" ) - umsg.Entity( Victim ) - umsg.String( Inflictor:GetClass() ) - umsg.Entity( Attacker ) + net.WriteEntity( Victim ) + net.WriteString( Inflictor:GetClass() ) + net.WriteEntity( Attacker ) - umsg.End() + net.Broadcast() MsgAll( Attacker:Nick() .. " killed " .. Victim:Nick() .. " using " .. Inflictor:GetClass() .. "\n" ) return end - umsg.Start( "PlayerKilled" ) + net.Start( "PlayerKilled" ) - umsg.Entity( Victim ) - umsg.String( Inflictor:GetClass() ) - umsg.String( Attacker:GetClass() ) + net.WriteEntity( Victim ) + net.WriteString( Inflictor:GetClass() ) + net.WriteString( Attacker:GetClass() ) - umsg.End() + net.Broadcast() MsgAll( Victim:Nick() .. " was killed by " .. Attacker:GetClass() .. "\n" ) From 228e31795824f7c102f14038f062017ef20551ba Mon Sep 17 00:00:00 2001 From: Matt Stevens Date: Tue, 7 Jan 2014 20:11:42 +0000 Subject: [PATCH 2/3] undo.lua: Replaced umsgs with net messages. --- garrysmod/lua/includes/modules/undo.lua | 39 +++++++++++++------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/garrysmod/lua/includes/modules/undo.lua b/garrysmod/lua/includes/modules/undo.lua index 1941804064..ebeb7a4907 100644 --- a/garrysmod/lua/includes/modules/undo.lua +++ b/garrysmod/lua/includes/modules/undo.lua @@ -1,6 +1,6 @@ -require ( "usermessage" ) require ( "timer" ) +require ( "net" ) module( "undo", package.seeall ) @@ -57,10 +57,10 @@ if ( CLIENT ) then AddUndo Called from server. Adds a new undo to our UI -----------------------------------------------------------]] - local function AddUndo( message ) + local function AddUndo( _ ) - local k = message:ReadLong(); - local v = message:ReadString(); + local k = net.ReadInt(16); + local v = net.ReadString(); table.insert( ClientUndos, 1, { Key = k, Name = v } ) @@ -68,7 +68,7 @@ if ( CLIENT ) then end - usermessage.Hook( "AddUndo", AddUndo ) + net.Receive( "Undo_AddUndo", AddUndo ) --[[--------------------------------------------------------- @@ -77,9 +77,9 @@ if ( CLIENT ) then has been undone or made redundant. We act by updating out data (We wait until the UI is viewed until updating) -----------------------------------------------------------]] - local function Undone( message ) + local function Undone( _ ) - local key = message:ReadLong(); + local key = net.ReadInt(16); local NewUndo = {} local i = 1 @@ -98,7 +98,7 @@ if ( CLIENT ) then end - usermessage.Hook( "Undone", Undone ) + net.Receive( "Undo_Undone", Undone ) --[[--------------------------------------------------------- MakeUIDirty @@ -165,6 +165,9 @@ local PlayerUndo = {} local Current_Undo = nil +util.AddNetworkString("Undo_Undone") +util.AddNetworkString("Undo_AddUndo") + --[[--------------------------------------------------------- GetTable Returns the undo table for whatever reason @@ -293,9 +296,9 @@ local function SendUndoneMessage( ent, id, ply ) -- For further optimization we could queue up the ids and send them -- in one batch ever 0.5 seconds or something along those lines. - umsg.Start( "Undone", ply ) - umsg.Long( id ) - umsg.End() + net.Start( "Undo_Undone" ) + net.WriteInt( id, 16 ) + net.Send( ply ) end @@ -315,10 +318,10 @@ function Finish( NiceText ) NiceText = NiceText or Current_Undo.Name - umsg.Start( "AddUndo", Current_Undo.Owner ) - umsg.Long( id ) - umsg.String( NiceText ) - umsg.End() + net.Start( "Undo_AddUndo" ) + net.WriteInt( id, 16 ) + net.WriteString( NiceText ) + net.Send( Current_Undo.Owner ) -- Have one of the entities in the undo tell us when it gets undone. if ( Current_Undo.Entities[1] ) then @@ -404,9 +407,9 @@ local function CC_UndoLast( pl, command, args ) local count = Do_Undo( last ) - umsg.Start( "Undone", pl ) - umsg.Long( lastk ) - umsg.End() + net.Start( "Undo_Undone" ) + net.WriteInt( lastk, 16 ) + net.Send( pl ) PlayerUndo[ index ][ lastk ] = nil From 067e78693c7481b7a853ef1dc426358ac3d5e060 Mon Sep 17 00:00:00 2001 From: Matt Stevens Date: Mon, 27 Jan 2014 18:50:57 +0000 Subject: [PATCH 3/3] Clumsy mistakes fixes. --- garrysmod/gamemodes/base/gamemode/cl_deathnotice.lua | 10 +++++----- garrysmod/gamemodes/base/gamemode/npc.lua | 4 ++-- garrysmod/lua/includes/modules/undo.lua | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/garrysmod/gamemodes/base/gamemode/cl_deathnotice.lua b/garrysmod/gamemodes/base/gamemode/cl_deathnotice.lua index e1a1f8c9ca..ce0b69d23e 100644 --- a/garrysmod/gamemodes/base/gamemode/cl_deathnotice.lua +++ b/garrysmod/gamemodes/base/gamemode/cl_deathnotice.lua @@ -42,7 +42,7 @@ local function PlayerIDOrNameToString( var ) end -local function RecvPlayerKilledByPlayer( _ ) +local function RecvPlayerKilledByPlayer() local victim = net.ReadEntity(); local inflictor = net.ReadString(); @@ -57,7 +57,7 @@ end net.Receive( "PlayerKilledByPlayer", RecvPlayerKilledByPlayer ) -local function RecvPlayerKilledSelf( _ ) +local function RecvPlayerKilledSelf() local victim = net.ReadEntity(); if ( !IsValid( victim ) ) then return end @@ -68,7 +68,7 @@ end net.Receive( "PlayerKilledSelf", RecvPlayerKilledSelf ) -local function RecvPlayerKilled( _ ) +local function RecvPlayerKilled() local victim = net.ReadEntity(); if ( !IsValid( victim ) ) then return end @@ -81,7 +81,7 @@ end net.Receive( "PlayerKilled", RecvPlayerKilled ) -local function RecvPlayerKilledNPC( _ ) +local function RecvPlayerKilledNPC() local victimtype = net.ReadString(); local victim = "#" .. victimtype; @@ -117,7 +117,7 @@ end net.Receive( "PlayerKilledNPC", RecvPlayerKilledNPC ) -local function RecvNPCKilledNPC( _ ) +local function RecvNPCKilledNPC() local victim = "#" .. net.ReadString(); local inflictor = net.ReadString(); diff --git a/garrysmod/gamemodes/base/gamemode/npc.lua b/garrysmod/gamemodes/base/gamemode/npc.lua index cc43457a1a..58a4548a7b 100644 --- a/garrysmod/gamemodes/base/gamemode/npc.lua +++ b/garrysmod/gamemodes/base/gamemode/npc.lua @@ -36,7 +36,7 @@ function GM:OnNPCKilled( ent, attacker, inflictor ) net.WriteString( InflictorClass ) net.WriteEntity( attacker ) - net.End() + net.Broadcast() return end @@ -50,7 +50,7 @@ function GM:OnNPCKilled( ent, attacker, inflictor ) net.WriteString( InflictorClass ) net.WriteString( AttackerClass ) - net.End() + net.Broadcast() end diff --git a/garrysmod/lua/includes/modules/undo.lua b/garrysmod/lua/includes/modules/undo.lua index ebeb7a4907..b5653f1bb2 100644 --- a/garrysmod/lua/includes/modules/undo.lua +++ b/garrysmod/lua/includes/modules/undo.lua @@ -57,7 +57,7 @@ if ( CLIENT ) then AddUndo Called from server. Adds a new undo to our UI -----------------------------------------------------------]] - local function AddUndo( _ ) + local function AddUndo() local k = net.ReadInt(16); local v = net.ReadString(); @@ -77,7 +77,7 @@ if ( CLIENT ) then has been undone or made redundant. We act by updating out data (We wait until the UI is viewed until updating) -----------------------------------------------------------]] - local function Undone( _ ) + local function Undone() local key = net.ReadInt(16);