I'm afraid I don't fully understand exactly how the players are being chosen, please correct my thinking here:
function ulx.dksnr(calling_ply, target_plys)
local affected_plys ={}
for i=1, #target_plys do
local v = target_plys[ i ]
"ulx" is a preset table, and "dksnr" is a unique name that I give to it, containing my script. What the args do is dictated by "ulx", but can be named anything so long as they are in the correct place (first will always be calling, second targets, third whatever else ulx is set up to do (is there documentation on what all it does somewhere?))
We then create a table called "affected_plys", we dictate how many rows the table has based on how many "target_plys" are called through "ulx" with "for i=1, #target_plys". Then we assign the called player's name to the table with "do local v=target_plys[ i ]" Making the table look like,
affected_plys[1] = John Doe
affected_plys[2] = Jane Doe
and since "v" equals said players, we can call them as a group using "v", and this is how we execute commands on them?
So, by my (flawed?) reasoning using "v" instead of HUD_PRINTTALK, would not alert everyone on the server, just John and Jane, right?
EDIT
Wait, I think I better understand now,
for i=1, #target_plys do
local v = target_plys[ i ]is saying loop through the number of targeted players in the list and each time, v becomes a different targeted player (one by one rather than as a whole as previously thought above). But in the end, v still only refers to players actually targeted, and not everyone connected to the server, correct?
So, by doing:
hook.Add("TTTBeginRound", i.."dksnr", function()I could create a unique hook for each player. Correct?