Why does this one line not work?

for some reason this doesn’t work and displays this error:
Screen Shot 2022-05-20 at 9.00.28 PM

local ammo1 = script.Parent.Ammo.Value
	if not ammo1 <= 0 then

what is ammo value?
you may have accidenatlly set it as a bool value rather than a int vallue

you can also try

if ammo1 > 0 then

i think the not is affecting the ammo1 rather than the entire function.

also, isnt not <= the same as >?

hahaha placeholder go brrr

local ammo1 = script.Parent.Ammo
	if ammo1.value >= 0 then
--code here

@shipmaster2410’s code is what you should’ve wrote, but your issue would’ve been solved with this:

local ammo1 = script.Parent.Ammo.Value
	if not (ammo1 <= 0) then -- parenthesis

The interpreter saw your original code as:

if (not ammo1) <= 0 then
 -- ^^ if [boolean] <= [number]