VALocker is a Python program that automatically locks any VALORANT agent quickly and reliably. It helps you secure your favorite agent, saving you time, effort, and ensuring you don't miss out on playing who you want to play.
📋 Changelog: For a detailed list of changes, improvements, and bug fixes, refer to the Changelog file.
Disclaimer: This program is not affiliated with or endorsed by Riot Games or VALORANT. The software is provided "as is" without any warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement. In no event shall the authors or copyright holders be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software.
Some antivirus software may flag this program as malware, due to the nature of the program, such as Windows Defender. This is a false positive, and the program is safe to use. If you have any concerns, please feel free to check the source code, compile the program yourself, or reach out to me for more information.
Tools are still a work in progress. Feel free to suggest any tools you would like to see implemented.
VALocker automatically downloads all config files and places them in the %APPDATA%/VALocker
folder, this makes the location of the executable irrelevant. The executable can be placed anywhere on your computer, and it will still function correctly.
VALocker.exe
from the releases page.VALocker.exe
to launch the application. It may take a few seconds to start up as it downloads all necessary files.I strongly recommend using the executable version of VALocker, as it is easier to use, and doesn't require Python to be installed on your machine. Files will still be automatically downloaded, even if you cloned the repository.
pip install -r requirements.txt
to install all necessary dependencies.VALockerApp.pyw
to launch the application.If you would like to compile the executable yourself, you can do so using pyinstaller
. The build.spec
file is included in the repository and can be used to compile the executable.
cd
into the repository folder.pip install -r requirements.txt
to install all necessary dependencies.pyinstaller build.spec
to compile the executable.VALocker automatically checks for updates when it is opened and it's been at least an hour since it last checked for updates. All config files are automatically downloaded. You can also manually check for updates by clicking on the Check for Updates
button in the Settings
tab.
When a new release is available
VALocker.exe
to launch the updated application.VALocker.exe
to launch the application. Allow the program to download all necessary files.Agent Toggle
tab on the left and select all agents that you have unlocked.Overview
tab, and select your desired agent from the dropdown menu.Instalocker
. When the button says Stopped
VALocker will not attempt to lock any agent. When the button says Running
, VALocker will try to determine when you are queuing for a game.Status
shows which task the instalocker is trying to complete. When it shows Locking
, it will attempt to lock your agent if it detects the agent selection screen. When it says Waiting
, it will try to determine when you are done with your current game. If the button shows None
, the instalocker is stopped. Click on this button to swap the task.Status
should now show Waiting
. It will automatically switch to Locking
when it detects you are done with your game.The Random Agents
tab allows VALocker to select a random agent from a group of agents you select.
VALocker will only randomize its selection if at least 1 agent is selected in the Random Agent
tab and Random Agent
is enabled in the Overview
tab.
ExclusiSelect (ES) mode disables random agents after they're picked, ensuring you don't get the same random agent twice. When an agent is locked while ES is enabled, its checkbox will be unselected. This shows which agents are still in the pool. When ES is disabled, it refreshes random agent selections to what they were prior to ES being enabled.
The Save Files
tab is used to change which save is active.
Add a new save using the +
on the bottom right. Saves can be favorited, bringing them to the top, renamed, or deleted. The default save file can only be favorited.
Adding a new save file will require reconfiguring the Agent Toggle
tab. Clicking on the name of your save file in the Overview
tab will also direct you to the Save Files
tab.
The Tools
tab is used to enable and disable the various QOL (Quality of Life) addons VALocker supports. Tools only work when the instalocker status is "Waiting" or "None".
Tools can be enabled and disabled, but are only active when the button above shows Tools: Enabled
(the very long button).
Tools will automatically become active if the Activate Tools Automatically
setting is enabled (default).
The Settings
tab can be used to modify the various settings VALocker has. Currently, the settings tab only allows you to manually check for updates, and change the locking configuration.
1920x1080
.VALocker provides multiple ways to configure the program to your liking outside of the GUI. The settings.yaml
file in %APPDATA%/VALocker/settings
contains all the settings that can be changed. Settings include:
theme: str
: The file containing the theme to use.enableOnStartup: bool
: Whether VALocker should start enabled or not.safeModeOnStartup: bool
: Whether safe mode should be enabled on startup.safeModeStrengthOnStartup: int
: The strength of safe mode by default.fastModeTimings: list[int]
: The timings for fast mode, between moving the mouse and selecting the agent, selecting the agent and moving over the lock button, and clicking the lock button in seconds.safeModeTimings: list[list[int]]
: The timings are the same as the fast mode timings, but for each strength of safe mode.alreadyMigrated: bool
: Whether the user has already migrated their settings to the new location. This is automatically set to True
after first running the program.The settings file contains other settings that are not recommended to be changed or not yet implemented. Please only edit these values if you know what you are doing.
VALocker supports custom themes, allowing you to change the look of the program to your liking. Themes are stored in the themes
folder in the root directory of the project. The default-theme.yaml
file in the themes
folder contains all the settings for the theme. Colors must be provided in hexadecimal format.
To create a new theme, copy the default-theme.yaml
file and modify the colors to your liking. The theme
setting in the settings.yaml
file must be set to the name of the theme file with the .yaml
extension.
VALocker currently supports the following resolutions:
If you'd like to use VALocker with a different resolution, you can create a custom configuration file. See the wiki page for more information.
I can only provide support for resolutions that I can test on my 1920x1080 monitor, however, if you'd like to see support for a specific resolution, please let me know by creating an issue.
Overview Tab |
Agent Select View |
Agent Toggle Tab |
Random Agent Tab |
Save Files Tab |
Settings Tab |
Tools Tab |
Updating Window |
https://github.com/user-attachments/assets/a083d708-96d9-4c5c-82ea-a04841066ab2
VALocker is a big project with a lot of potential for growth and improvement. However, I am only one person, and I can only do so much. Contributions are welcome and encouraged!
If you'd like to contribute to this project, you can do so by:
git checkout -b feature/feature-name
)git add . && git commit -m "Change description"
)git push origin feature/feature-name
)If you encounter any issues or bugs, please create an issue. I will do my best to address them when possible and provide support.
I appreciate your interest in this project!
VALocker utilizes the following libraries:
If you have any questions, feedback, or general inquiries, you may contact me at:
Discord: @e1bos
Feel free to reach out through the provided contact information for non-issue-related matters or general discussions. However, for any project-related issues, I kindly ask that you add an issue to report and discuss them.
This project is licensed under the MIT License. See the LICENSE file for more information.