All I’m attempting to make is a keybind system where you can simply change your keybinds, but that is not working as intended.
When I attempt to make the path will be shown below
it becomes its own variable, I don’t want to have to make 13 different if statements just to make a Set Data function.
Set Remote and Function
local function Set(Player, Path, Type, Value)
local Data = GetData(Player)
print(Path)
print(Data[Path])
Data[Path] = Value
Save(Player, false)
local Info = {
Info = print(Type, "=", Value)
}
return Info
end
Remotes.SetData.OnInvoke = function(Player, Path, Type, Value)
local PlayerReturnedData = Set(Player, Path, Type, Value)
return PlayerReturnedData
end
*** Test Line of Code ***
if Player.Name == "Rymxi" then
local Changed = SetData:Invoke(Player, "ClientSettings.Keybinds.Computer.Combat.Basic.Sprint", "Sprint", "Enum.KeyCode.Z.Name")
task.wait(3)
print(Changed)
DataChanged:FireClient(Player)
print(GetData:Invoke(Player).ClientSettings.Keybinds.Computer.Combat.Basic.Sprint)
end
*** What ends up happening ***
["BanData"] = ▶ {...},
["ClientSettings"] = ▶ {...},
["ClientSettings.Keybinds.Computer.Combat.Basic.Sprint"] = "Enum.KeyCode.Z.Name",
["Gamepasses"] = {},
["Inventory"] = ▶ {...},
["LastJoin"] = 1726973325,
["Money"] = 0,
["Moves"] = ▶ {...},
["Multipliers"] = ▶ {...},
["PlayTime"] = 0,
["Reputation"] = 0