Untitled

 avatar
unknown
plain_text
2 months ago
1.3 kB
2
Indexable
local movesetService = require(game.ServerStorage.EBGStyleMovesetService)

local remoteBackpack = game.ReplicatedStorage.Backpack

local remoteMoveReturn = game.ReplicatedStorage.PlayerEquippedMoves

local remoteMoveExecution = game.ReplicatedStorage.ExecuteMove

local players = game:GetService("Players")

local function deepCopy(original)

	local copy = {}
	for key, value in original do

		copy[key] = type(value) == "table" and deepCopy(value) or value
	end
	return copy
end

remoteBackpack.OnServerEvent:Connect(function(plr, move, slot)
	if movesetService.EquippedPlrMoves[plr.UserId] == deepCopy(move) then
		print('a')
		movesetService.EquippedPlrMoves[plr.UserId] = {}
		remoteBackpack:FireClient(plr, movesetService.EquippedPlrMoves[plr.UserId], slot)
	else
		movesetService.EquippedPlrMoves[plr.UserId] = deepCopy(move)
		remoteBackpack:FireClient(plr, movesetService.EquippedPlrMoves[plr.UserId], slot)
	end
	
	
end)

players.PlayerAdded:Connect(function(plr)
	movesetService.plrMoves[plr.UserId] = deepCopy(movesetService.Elements.Fire)
end)

remoteMoveReturn.OnServerInvoke = function(plr)
	return deepCopy(movesetService.plrMoves[plr.UserId])
end

remoteMoveExecution.OnServerEvent:Connect(function(plr)
	movesetService.ReleaseMove(plr)
end)
Leave a Comment