Remove = function(self,Tool)
		for i, v in ipairs(Spots) do
			print(v, Tool, i, Current)
			if v == Tool and tonumber(Current) == tonumber(i) then
				Spots[i] = true
				script.Parent:FindFirstChild(i).IMG.Image = ""
				break
			end
		end
		print("--------------------------------")
	end

Output

 ClassicSword ClassicSword 1 2
  ClassicSword ClassicSword 2 2 -- MATCH
  true ClassicSword 3 2
  true ClassicSword 4 2
  true ClassicSword 5 2
  --------------------------------

In this script, it gets the tools name, but to make the inventory more precise, it also checks the current tool you're holding. As you can see in the output, there was a match, both if statements were fulfilled. But it ignored that and went on. Why does it do this?

Also, spots is just a directory of free spots inside the inventory.


Spots = {
	[1] = true;
	[2] = true;
	[3] = true;
	[4] = true;
	[5] = true;
}

3 comments

0

are Tool and Current both a string .... or looking at an objects name?

0

I guess its v and tool not tool and current

0

Yes, both are objects. They are saved as the Tool object and not a property.