I have it in my inventory.
I know you do, but does the server know you do? And by “Inventory”, do you mean “Backpack”? Because that’s a different place than where you’re checking for it in this code.
The entire if statement breaks it.
As @nicemike40 said, to check if you actually have these things, click Play > Current: Client > and head to Explorer and check (in Explorer window) if you actually have the items. If not then you are probably adding them with LocalScript where you should add them with Server one.
If it still is not working try to put the local script in StarterPlayerScripts and then reference the proximity prompt via workspace.Door.ProximityPrompt or whever it is stored.