|
1 | 1 | # ErScripts 🎮 |
2 | | -### Elevate Your *Counter-Strike 2* Experience |
| 2 | +### Enhance Your *Counter-Strike 2* Experience |
3 | 3 |
|
4 | | -**ErScripts** is a lightweight, multi-feature tool designed to enhance your *Counter-Strike 2 (CS2)* gameplay. Designed to run outside the game, it steers clear of memory injection or game tampering (no reading or writing memory), making it **completely safe** for Valve servers like Premier and Matchmaking. |
| 4 | +**ErScripts** is a lightweight, open-source tool crafted for *Counter-Strike 2 (CS2)* fans to personalize and streamline their gameplay. It operates externally—never modifying game memory or files—using only what CS2 provides through console commands, Game State Integration (GSI), and log files. |
5 | 5 |
|
6 | 6 | --- |
7 | 7 |
|
8 | | -## ✨ What is ErScripts? |
| 8 | +## ⚠️ Disclaimer |
9 | 9 |
|
10 | | -**ErScripts** supercharges your CS2 experience with a sleek overlay, real-time game data, and smart automation. It taps into what the game provides, retrieving data through: |
| 10 | +**ErScripts** is a personal project by an independent developer, not affiliated with or endorsed by Valve Corporation, the creators of CS2. It offers features like *Auto Accept*, *Jump Throw*, and *Bomb Timer* to enhance convenience and fun. However: |
11 | 11 |
|
12 | | -- **External Overlay**: Tracks CS2’s window position and size. |
13 | | -- **Config & Binds**: Sends commands via `exec` binds (e.g., `bind "KEY" "exec erscripts"`). |
14 | | -- **Game State Integration (GSI)**: Pulls live data like weapons and bomb status. |
15 | | -- **Console Logs**: Reads `console.log` for game insights. |
| 12 | +- **Valve’s Rules**: Some features automate actions via external inputs or scripts. Valve discourages automation in competitive play, and while *ErScripts* avoids game memory manipulation (no VAC violations), **use in official matchmaking may still risk account bans** at Valve’s discretion. |
| 13 | +- **User Responsibility**: You are solely responsible for complying with [Valve’s Terms of Service](https://store.steampowered.com/subscriber_agreement/) and [CS2 Rules](https://www.counter-strike.net/). The developer is not liable for bans, data issues, or loss of functionality. |
| 14 | +- **Intended Use**: This tool is for personal enjoyment, experimentation, and learning—not for gaining unfair advantages. Use it responsibly in appropriate settings (e.g., private servers or casual play) to respect the CS2 community. |
16 | 15 |
|
17 | | -No hacks, no bans—just pure, clean enhancement. |
| 16 | +--- |
| 17 | + |
| 18 | +## ✨ What is ErScripts? |
| 19 | + |
| 20 | +**ErScripts** is a utility that adds convenience and flair to CS2 through an external overlay and automation features. It leverages: |
| 21 | + |
| 22 | +- **External Overlay**: Tracks CS2’s window for visual enhancements. |
| 23 | +- **Config & Binds**: Executes commands via CS2’s built-in `exec` system (e.g., `bind "KEY" "exec erscripts"`). |
| 24 | +- **Game State Integration (GSI)**: Reads live game data like weapon status or bomb timers. |
| 25 | +- **Console Logs**: Parses `console.log` for events like match acceptance. |
| 26 | + |
| 27 | +No game files are altered beyond user-created configs, and no hacks are involved—just clean, creative tools for CS2 enthusiasts. |
18 | 28 |
|
19 | 29 | --- |
20 | 30 |
|
21 | | -## 🚀 Features |
| 31 | +## 🚀 Features |
22 | 32 |
|
23 | | -Here’s what ErScripts brings to your arsenal: |
| 33 | +Here’s what *ErScripts* offers: |
24 | 34 |
|
25 | 35 | | Feature | Description | |
26 | 36 | |-----------------------|-----------------------------------------------------------------------------| |
27 | | -| **Auto Accept** | Automatically clicks "Accept" when a match is found. | |
28 | | -| ~~**Pixel Trigger**~~ | ~~Fires when the center-screen color changes (e.g., spotting enemies).~~ | |
29 | | -| **Sniper Crosshair** | Custom crosshair overlay for snipers, synced with your crosshair settings. | |
30 | | -| **Bomb Timer** | Real-time bomb countdown with defuse kit alerts. | |
31 | | -| **RGB Crosshair** | Adds a smooth gradient effect to your crosshair. | |
32 | | -| **Knife Switch** | Switches knife hand based on your weapon. | |
33 | | -| **Auto Pistol** | Transforms pistols into rapid-fire beasts. | |
34 | | -| **Anti AFK** | Keeps you in-game by preventing AFK kicks. | |
35 | | -| **Keystrokes** | Displays WASD and mouse inputs on-screen. | |
36 | | -| **Long Jump** | Combines duck + jump for longer leaps. | |
37 | | -| **Jump Throw** | Combines jumps and throws for convenience. | |
38 | | -| **Drop Bomb** | Drops the bomb instantly and switches back. | |
39 | | -| **Kill Say** | Sends a message after each kill. | |
40 | | -| **Kill Sound** | Plays a sound after each kill. | |
41 | | -| **Round Start Alert** | When you're not in the game and a new round starts, a sound plays. | |
42 | | -| **Snap Tap** | Instantly press the opposite key for a faster stop. | |
43 | | -| **Watermark** | Shows ping, time, and game info. | |
44 | | -| **Capture Bypass** | Keeps the overlay hidden from recordings/streams. | |
45 | | -| **FPS Limiter** | Limits overlay FPS for smoother performance. | |
| 37 | +| **Auto Accept** | Clicks "Accept" when a match is found via `console.log` monitoring. | |
| 38 | +| ~~**Pixel Trigger**~~ | ~~Disabled feature (previously fired on color changes).~~ | |
| 39 | +| **Sniper Crosshair** | Overlays a custom crosshair for snipers, synced with in-game settings. | |
| 40 | +| **Bomb Timer** | Shows a real-time bomb countdown with defuse kit alerts via GSI. | |
| 41 | +| **RGB Crosshair** | Adds a gradient effect to your crosshair using console commands. | |
| 42 | +| **Knife Switch** | Switches knife hand based on your weapon via `switchhands`. | |
| 43 | +| **Auto Pistol** | Rapid-fires pistols by repeating `attack` commands. | |
| 44 | +| **Anti AFK** | Prevents AFK kicks with subtle inputs. | |
| 45 | +| **Keystrokes** | Displays WASD and mouse inputs on-screen for streams or fun. | |
| 46 | +| **Long Jump** | Combines duck + jump for longer leaps with one keypress. | |
| 47 | +| **Jump Throw** | Simplifies jump-throw combos for consistent utility tosses. | |
| 48 | +| **Drop Bomb** | Drops the bomb and switches back instantly. | |
| 49 | +| **Kill Say** | Sends a custom chat message after kills. | |
| 50 | +| **Kill Sound** | Plays a sound on kills for extra flair. | |
| 51 | +| **Round Start Alert** | Sounds an alert if a round begins while you’re tabbed out. | |
| 52 | +| **Snap Tap** | Press the opposite key for a faster stop. | |
| 53 | +| **Watermark** | Shows ping, time, and game info as an overlay. | |
| 54 | +| **Capture Bypass** | Hides the overlay from recordings/streams. | |
| 55 | +| **FPS Limiter** | Caps overlay FPS for smoother performance. | |
46 | 56 |
|
47 | 57 | --- |
48 | 58 |
|
49 | | -## 🛠️ Installation |
| 59 | +## 🛠️ Installation |
50 | 60 |
|
51 | | -Get started in just a few steps: |
| 61 | +Get started easily: |
52 | 62 |
|
53 | | -1. **Download**: Grab the latest release from [GitHub Releases](https://github.com/emp0ry/ErScripts/releases). |
54 | | -2. **Extract**: Unzip the files to any folder. |
55 | | -3. **Set Launch Options**: In Steam, add these `-conclearlog -condebug +bind scancode104 exec erscripts1` to CS2’s launch parameters: |
56 | | -4. **First Run**: Launch `ErScripts.exe` *before opening CS2* (afterward, you can launch it with CS2 running). |
57 | | -5. **Play**: Open CS2, tweak settings in the ErScripts menu, and dominate! 😎 |
58 | | -6. **Exiting ErScripts**: To close the program, either click the "X" button in the ErScripts menu or press the "End" key on your keyboard. |
| 63 | +1. **Download**: Grab the latest release from [GitHub Releases](https://github.com/emp0ry/ErScripts/releases). |
| 64 | +2. **Set Launch Options**: In Steam, add `-conclearlog -condebug +bind scancode104 exec erscripts1` to CS2’s launch options. |
| 65 | +3. **First Run**: Launch `ErScripts.exe` *before* CS2 (afterward, it’s fine to start with CS2 running). |
| 66 | +4. **Play**: Open CS2, config settings in the ErScripts menu, and enjoy! |
| 67 | +5. **Exit**: Close via the "X" button in the menu or press the "End" key. |
59 | 68 |
|
60 | 69 | --- |
61 | 70 |
|
62 | | -## ⚙️ Configuration |
63 | | - |
64 | | -Customize ErScripts to fit your playstyle: |
| 71 | +## ⚙️ Configuration |
65 | 72 |
|
66 | | -### Pixel Trigger |
67 | | -- **Displacement**: X/Y offset from screen center (avoids crosshair overlap). |
68 | | -- **Threshold**: Color change sensitivity. |
69 | | -- **Delay**: Time before firing. |
| 73 | +Tailor *ErScripts* to your liking: |
70 | 74 |
|
71 | | -### Auto Accept |
72 | | -- **Waiting Time**: Set a timer in seconds for the time it takes to search for the "Accept" button. |
| 75 | +### Auto Accept |
| 76 | +- **Waiting Time**: Delay (in seconds) before searching for the "Accept" button. |
73 | 77 |
|
74 | | -### Bomb Timer |
75 | | -- **Scale**: Timer size. |
76 | | -- **Gradient**: Toggle gradient bomb icon. |
77 | | -- **Transparency**: Background opacity. |
| 78 | +### Bomb Timer |
| 79 | +- **Scale**: Adjust timer size. |
| 80 | +- **Gradient**: Enable/disable gradient icon. |
| 81 | +- **Transparency**: Set background opacity. |
78 | 82 |
|
79 | | -### Sniper Crosshair |
80 | | -- **Reload Icon**: Syncs with your in-game crosshair settings. |
| 83 | +### Sniper Crosshair |
| 84 | +- **Reload Icon**: Syncs with your in-game crosshair settings. |
81 | 85 |
|
82 | | -### Keystrokes |
83 | | -- **Scale**: Display size. |
84 | | -- **Gradient**: Toggle gradient text. |
85 | | -- **Animation Speed**: Keypress animation speed. |
86 | | -- **Colors**: Set pressed/released colors. |
87 | | -- **Transparency**: Opacity after released. |
| 86 | +### Keystrokes |
| 87 | +- **Scale**: Size of the display. |
| 88 | +- **Gradient**: Toggle gradient text. |
| 89 | +- **Animation Speed**: Speed of keypress animations. |
| 90 | +- **Colors**: Customize pressed/released colors. |
| 91 | +- **Transparency**: Opacity when keys are released. |
88 | 92 |
|
89 | | -### Kill Sound, Round Start Alert |
90 | | -- **Volume**: Сhange sound volume. |
| 93 | +### Kill Sound, Round Start Alert |
| 94 | +- **Volume**: Adjust sound loudness. |
91 | 95 | - **File Name**: Specify the WAV file for the custom sound. |
92 | 96 | - Leave empty to use the default sound. |
93 | 97 | - Enter a custom WAV file (e.g., `sound.wav`) located in the executable’s folder. |
94 | 98 | - You can write without specifying `.wav` (e.g., if it’s `sound.wav`, just write `sound`). |
95 | 99 | - You can use a subfolder like `sounds` (e.g., `sounds/audio.wav` or `sounds/audio`). |
96 | 100 | - If the file is missing or invalid, it defaults to the built-in sound. |
97 | 101 |
|
98 | | -### Watermark |
99 | | -- **Gradient**: Toggle gradient text. |
100 | | -- **Transparency**: Background opacity. |
101 | | -- **Ping Update Rate**: How often the in-game ping refreshes. |
| 102 | +### Watermark |
| 103 | +- **Gradient**: Toggle gradient text. |
| 104 | +- **Transparency**: Background opacity. |
| 105 | +- **Ping Update Rate**: Refresh frequency for ping display. |
102 | 106 |
|
103 | | -### Gradient Manager (RGB Effects) |
104 | | -- **Steps**: Smoothness of color transitions. |
105 | | -- **Delay**: Speed of color shifts. |
106 | | -- **Start/End Hue**: Pick your color range. |
107 | | -- **Saturation**: Color intensity (0 = gray, 1 = vibrant). |
108 | | -- **Value**: Brightness (0 = dark, 1 = bright). |
| 107 | +### Gradient Manager (RGB Effects) |
| 108 | +- **Steps**: Smoothness of color transitions. |
| 109 | +- **Delay**: Speed of color shifts. |
| 110 | +- **Start/End Hue**: Choose color range. |
| 111 | +- **Saturation**: Color intensity (0 = gray, 1 = vibrant). |
| 112 | +- **Value**: Brightness (0 = dark, 1 = bright). |
109 | 113 |
|
110 | | -*Other features (e.g., Knife Switch, Jump Throw, FPS Limiter) are easy to configure—no details needed here!* |
| 114 | +*Other features (e.g., Knife Switch, Jump Throw, FPS Limiter) are easy to configure—no details needed here!* |
111 | 115 |
|
112 | 116 | --- |
113 | 117 |
|
114 | | -## 🧠 How It Works |
| 118 | +## 🧠 How It Works |
115 | 119 |
|
116 | | -ErScripts is clever but safe: |
| 120 | +*ErScripts* enhances CS2 safely and externally by: |
117 | 121 |
|
118 | | -- **Auto Accept**: Reads `console.log` for match detection, then clicks Accept button. |
119 | | -- **Pixel Trigger**: Monitors center-screen pixels for color shifts, triggering shots. |
120 | | -- **Sniper Crosshair**: Pulls active weapon data from GSI to detect sniper rifles, then mirrors your crosshair by sending commands through a config and reading data from `console.log`. |
121 | | -- **Bomb Timer**: Tracks bomb state via GSI, changes color for defuse urgency. |
122 | | -- **RGB Crosshair**: Cycles colors with console commands. |
123 | | -- **Knife Switch**: Toggles hands with `switchhands` via configs. |
124 | | -- **Auto Pistol**: Spams `attack` commands for rapid fire. |
| 122 | +- **Command Sending**: Features like *Jump Throw*, *Drop Bomb*, and *Auto Pistol* work by writing CS2 commands (e.g., `+jump; -attack`) to numbered config files (e.g., `erscripts1.cfg`). These are triggered via pre-bound keys (e.g., `F13` to `F24`) simulated by *ErScripts*. In CS2, you bind a key to `exec erscripts1` (set via launch options), and *ErScripts* presses that key to run the command. |
| 123 | +- **Auto Accept**: Monitors `console.log` for match detection, then simulates a mouse click on the "Accept" button. |
| 124 | +- **Sniper Crosshair**: Reads active weapon data from GSI and overlays a custom crosshair synced with your settings. |
| 125 | +- **Bomb Timer**: Tracks bomb state via GSI, updating the display with defuse urgency cues. |
| 126 | +- **RGB Crosshair**: Cycles colors by sending console commands to adjust crosshair settings. |
| 127 | +- **Knife Switch**: Uses `switchhands` via config files triggered by keybinds. |
125 | 128 |
|
126 | | -Everything runs externally—no game memory touched, no risks taken. |
| 129 | +This method relies entirely on CS2’s native systems—no memory reading, writing, or injection—keeping it aligned with standard scripting practices while avoiding game file tampering. |
127 | 130 |
|
128 | 131 | --- |
129 | 132 |
|
130 | | -## 🖼️ Images |
| 133 | +## 🖼️ Images |
131 | 134 |
|
132 | | -### Menu |
133 | | -|  |  | |
134 | | -|-----------------------------|-----------------------------| |
| 135 | +### Menu |
| 136 | +|  |  | |
| 137 | +|-----------------------------|-----------------------------| |
135 | 138 |
|
136 | | -### Keystrokes, Crosshair, Bomb Timer |
137 | | -|  |  <br>  | |
138 | | -|---------------------------------------|-------------------------------------------------------------------------------| |
| 139 | +### Keystrokes, Crosshair, Bomb Timer |
| 140 | +|  |  <br>  | |
| 141 | +|---------------------------------------|-------------------------------------------------------------------------------| |
139 | 142 |
|
140 | 143 | --- |
141 | 144 |
|
142 | | -## 🛡️ Built With |
| 145 | +## 🛡️ Built With |
143 | 146 |
|
144 | | -ErScripts relies on these awesome libraries: |
145 | | -- **[Dear ImGui](https://github.com/ocornut/imgui)**: Slick overlay and UI. |
146 | | -- **[nlohmann/json](https://github.com/nlohmann/json)**: GSI and config parsing. |
147 | | -- **[cpp-httplib](https://github.com/yhirose/cpp-httplib)**: GSI data handling. |
148 | | -- **Windows API**: Registry access, window tracking, and inputs. |
149 | | -- **Standard C++**: Core logic and file management. |
| 147 | +Powered by these amazing tools: |
| 148 | +- **[Dear ImGui](https://github.com/ocornut/imgui)**: Overlay and UI framework. |
| 149 | +- **[nlohmann/json](https://github.com/nlohmann/json)**: GSI and config parsing. |
| 150 | +- **[cpp-httplib](https://github.com/yhirose/cpp-httplib)**: GSI data handling. |
| 151 | +- **Windows API**: Window tracking and input simulation. |
| 152 | +- **Standard C++**: Core functionality and file management. |
150 | 153 |
|
151 | 154 | --- |
152 | 155 |
|
153 | | -## 💖 Support the Project |
| 156 | +## 💖 Support the Project |
154 | 157 |
|
155 | | -Love ErScripts? Fuel its development with a coffee! |
| 158 | +Love ErScripts? Fuel its development with a coffee! |
156 | 159 |
|
157 | | -[](https://www.buymeacoffee.com/emp0ry) |
| 160 | +[](https://www.buymeacoffee.com/emp0ry) |
158 | 161 |
|
159 | 162 | --- |
160 | 163 |
|
161 | | -## 📜 License |
| 164 | +## 📜 License |
162 | 165 |
|
163 | | -Released under the [MIT License](LICENSE.txt). Free to use, modify, and share—just include the original license and copyright notice. A link to the original project for credit is appreciated! |
| 166 | +Released under the [MIT License](LICENSE.txt). Feel free to use, modify, and share—just keep the original license and credit [emp0ry](https://github.com/emp0ry). |
164 | 167 |
|
165 | 168 | --- |
166 | 169 |
|
167 | | -## 🌟 Get Involved |
| 170 | +## 🌟 Get Involved |
168 | 171 |
|
169 | | -Found a bug? Got a feature idea? |
170 | | -- Open an [Issue](https://github.com/emp0ry/ErScripts/issues) or submit a [Pull Request](https://github.com/emp0ry/ErScripts/pulls). |
171 | | -- Join the community and let’s make CS2 even better together! |
| 172 | +Spotted a bug? Have a feature idea? |
| 173 | +- File an [Issue](https://github.com/emp0ry/ErScripts/issues) or submit a [Pull Request](https://github.com/emp0ry/ErScripts/pulls). |
| 174 | +- Join the community and let’s elevate CS2 together! |
172 | 175 |
|
173 | 176 | --- |
174 | 177 |
|
175 | | -Created with ❤️ by [emp0ry](https://github.com/emp0ry) |
| 178 | +Created with ❤️ by [emp0ry](https://github.com/emp0ry) |
0 commit comments