This may be the strangest issue I ever had with any of my projects as I genuinely have no clue where the source of the problem is let alone how to fix it, so I’m gonna explain what happened and everything I know hoping somebody on the dev forum has an idea of what’s going on.
I finished up the combat system for my battle royale project a few weeks ago, and after that, I began to focus more of my time on coding the lobby and setting up the teleportAPI to take players to maps. The combat system is made up of 6 auto-updating packages that are inside of each game map (one package for StarterGui, ServerStorage, ServerScriptService, ReplicatedStorage, StarterCharacter, and StarterPlayer). During my time coding the lobby I had never touched the packages. The only person who had tampered with the packages was another scripter I brought in to work on setting up a game timer and datastores for each round.
After the week I spent in the lobby when I came back to the original game all of a sudden the game had these game-breaking bugs. From what I can see, now:
- String Values that track attacking, crouching, and other actions like dodging sometimes fail to update
- when the player dies their String Values don’t reset when they respawn, which can at times leave players in a state where they cannot attack, block, or crouch.
- the ‘equip’ button when selecting an item in the inventory can be inactive at times
- when selecting another item in the inventory, the previous item will fail to close its options panel
- the code that loads in the inventory at times creates duplicate inventory items.
Examples
How items should open and close
How items currently open and close
Duplicate items sometimes appearing
The biggest inhibitor to solving this problem is that my game’s packages are set to AutoUpdate. I can’t open up a previous build of the project and compare the changes because whenever I do, the packages just update to the current version. I would try to manually set a package to an older version but since there are 6 different packages in different destinations that interact with each other, I would have to eyeball my way to the exact package numbers that both predate the bug and don’t cause an error when communicating with each other, which is overly tedious.
Keep in mind, all of this code worked perfectly fine before I started to work on the lobby. The only things I know right now that can maybe help me solve the issue:
- The problem is not because of a Roblox update. I can play an old build of the project and the game works perfectly fine.
- the problem has to do with the code inside the packages. When playing an older build in studio with up to date packages, the game bugs again. However, if I play the same build without the updated packages, the game works fine. (playing without opening in studio)
- I moved the game map containing the package code into a group once I added the lobby. The old maps are still in my profile
- from what the scripter told me, he added a new remote to ReplicatedStorage, code into server script service, and a new screenGUI. He did not change the code I had created. I tried removing the code and UI he added and the problem still persisted.
I genuinely have no clue on how to solve the issue, all I know is that the problem has to do with some deeper part of the code than the bugs I’m seeing. I have no clue how to find the error, I’m hoping that somebody has a better idea of what’s happening. At the least, if someone knows how to prevent autoUpdate from updating packages on an old build, that is a huge step in the right direction. Thank you for reading this far if you have, please help!