Recording = false
Millisecond = 0
EventTable = {}
EventID = 1
ControlTable = { "fire", "next_weapon", "previous_weapon", "forwards", "backwards", "left", "right", "zoom_in", "zoom_out",
"change_camera", "jump", "sprint", "look_behind", "crouch", "action", "walk", "aim_weapon", "conversation_yes", "conversation_no",
"group_control_forwards", "group_control_back", "enter_exit", "vehicle_fire", "vehicle_secondary_fire", "vehicle_left", "vehicle_right",
"steer_forward", "steer_back", "accelerate", "brake_reverse", "radio_next", "radio_previous", "radio_user_track_skip", "horn", "sub_mission",
"handbrake", "vehicle_look_left", "vehicle_look_right", "vehicle_look_behind", "vehicle_mouse_look", "special_control_left", "special_control_right",
"special_control_down", "special_control_up" }
function ToggleRecording(Key)
if (Key == "F3") then
if not (Recording) then
Millisecond = 0
EventTable = {}
EventID = 1
Recording = true
outputChatBox("Recording Started!")
end
else
if (Recording) then
Recording = false
Millisecond = 0
EventTable = {}
EventID = 1
outputChatBox("Recording Stopped!")
end
end
end
bindKey("F3", "down", ToggleRecording)
bindKey("F4", "down", ToggleRecording)
function onClientPreRender()
if (Recording) then
Millisecond = Millisecond + 1
local CheckTable = {}
for ID, Control in ipairs(ControlTable) do
CheckTable[ID + 1] = getControlState(Control)
end
local AcquiredTable = EventTable[EventID - 1]
if (AcquiredTable) then
CheckTable[1] = AcquiredTable[1]
if not (AcquiredTable == CheckTable) then
AddToTable(CheckTable)
end
else
AddToTable(CheckTable)
end
outputChatBox(tostring(EventID))
end
end
addEventHandler("onClientPreRender", root, onClientPreRender)
function AddToTable(NewTable)
NewTable[1] = Millisecond
EventTable[EventID] = NewTable
EventID = EventID + 1
end
I can't figure out why the two compared tables always return as different (false) = line 44