• User message (umsg) tutorial?
    6 replies, posted
I've been to the GMod wiki but nothing really helps me understand how to use user messages to relay information to people--for example, I want to eventually use it to replace the datastream system currently in place inside DarkRP's code. Any help would be totally awesome. :)
Say you wanted to tell a client when someone has died, and who killed them. Clientside code would be: [lua] usermessage.Hook("PlayerKilledUM", function( um ) -- Make the hook local ply = um:ReadString() -- The dead player is the first string local att = um:ReadString() -- The killer is the second string print( string.format( "Oh noes! %s was killed by %s!", ply, att ) ) -- Print to the console that att killed ply end ) [/lua] Serverside: [lua] hook.Add("DoPlayerDeath", "PlayerKilledUM", function( ply, att ) umsg.Start("PlayerKilledUM") -- Start the usermessage. No player is specified so it's sending it to all players umsg.String( ply:Nick() ) -- Send the first string as the dead player's name if ValidEntity( att ) and att:IsPlayer() then -- Checking to see if the attacker is a player (you can't call :Nick() on non-player entities) umsg.String( att:Nick() ) -- If it is, send the second string as their name else umsg.String("Non-Player") -- Else, send the second string as "Non-Player" end -- End the check umsg.End() end ) -- End the function [/lua]
umsg.End() at the end of that serverside part too, just after the "end the check" comment
[QUOTE=superkyol;21621735]I want to eventually use it to replace the datastream system currently in place inside DarkRP's code.[/QUOTE] FYI Datastream is just a lua module that uses usermessages to communicate with the client.
[QUOTE=Crazy Quebec;21628874]FYI Datastream is just a lua module that uses usermessages to communicate with the client.[/QUOTE] and console commands :cop:
[QUOTE=CombineGuru;21628901]and console commands :cop:[/QUOTE] For client to server communications. Not the other way around. :clint:
[QUOTE=Crazy Quebec;21628934]For client to server communications. Not the other way around. :clint:[/QUOTE] ya :bahgawd:
Sorry, you need to Log In to post a reply to this thread.