Revision Difference
player_manager.RunClass#529575
<function name="RunClass" parent="player_manager" type="libraryfunc">
<description>Execute a named function within the player's set class</description>
<realm>Shared</realm>
<file line="395-L405">lua/includes/modules/player_manager.lua</file>
<file line="405-L415">lua/includes/modules/player_manager.lua</file>
<args>
<arg name="ply" type="Player">Player to execute function on.</arg>
<arg name="funcName" type="string">Name of function.</arg>
<arg name="arguments" type="vararg">Optional arguments. Can be of any type.</arg>
</args>
<rets>
<ret name="" type="vararg">The values returned by the called function.</ret>
</rets>
</function>
<example>
<description>Run the player's class 'Loadout' function when PlayerLoadout is called</description>
<code>
function GM:PlayerLoadout( ply )
player_manager.RunClass( ply, "Loadout" )
end
</code>
<output>The player's class 'Loadout' function is executed</output>
</example>
<example>
<description>Call a greeting function within the playerclass system.</description>
<code>
local PLAYER = {}
PLAYER.DisplayName = "Hooman"
PLAYER.WalkSpeed = 200
PLAYER.greet = function( tbl ) // create a function named 'greet'
// the first argument passed is the source table
// which includes the classID, the player entity, and the function itself
local ply = tbl.Player // here we extract the player entity from the table
ply:ChatPrint("Hello "..ply:Nick().." !") // tell the player
end
// link it to the spawn hook, so each time a player (re-)spawns, he will be greeted with a hello
hook.Add("PlayerSpawn","greet",function(ply)
player_manager.RunClass( ply, "greet" )
end)
</code>
<output>Hello Flowx !</output>
</example>