Garry's Mod Wiki

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>