Revision Difference
undo.AddFunction#528205
<function name="AddFunction" parent="undo" type="libraryfunc">
<description>Adds a function to call when the current undo block is undone</description>⤶
<description>Adds a function to call when the current undo block is undone. Note that if an undo has a function, the player will always be notified when this undo is performed, even if the entity it is meant to undo no longer exists.</description>⤶
<realm>Server</realm>
<args>
<arg name="func" type="function">The function to call</arg>⤶
<arg name="func" type="function">The function to call. First argument will be the <page text="Undo Structure">Structures/Undo</page>, all subsequent arguments will be what was passed after this function in the argument below.</arg>⤶
<arg name="arguments" type="vararg">Arguments to pass to the function (after the undo info table)</arg>
</args>
</function>
<example>
<description>This example creates a prop_physics, and adds it to the players undo list. A message will be printed to console about it.</description>
<code>
prop = ents.Create("prop_physics")
prop:SetModel("models/props_junk/wood_crate001a.mdl")
prop:Spawn()
undo.Create("prop")
undo.AddEntity(prop)
undo.AddFunction(function(tab, arg2)
print(tab.Owner:GetName().." removed prop "..tab.Entities[1]:GetModel()..", code: "..arg2)
end, 556)
undo.SetPlayer(ply)
⤶
undo.Create("prop")
undo.AddEntity(prop)
undo.AddFunction(function( tab, arg2 )
print( tab.Owner:GetName() .. " removed prop " .. tab.Entities[1]:GetModel() .. ", code: " .. arg2 )
end, 556 )
undo.SetPlayer(ply)
undo.Finish()
</code>
<output>"PlayerName removed prop models/props_junk/wood_crate001a.mdl, code: 556" will be printed</output>
</example>