├── LICENSE ├── README.md ├── getkeys.py ├── requirements.txt ├── satisfactory_building.py └── satisfunctions2.gif /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Harrison 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # satisfunctions 2 | Fighting arthritis from Satisfactory one function at a time. 3 | 4 | 5 | 1. Download Python: 6 | https://www.python.org/downloads/ 7 | 8 | 2. Clone or download this project. 9 | 10 | 3. Navigate to this project's directory in a terminal/command line (extracting first if you downloaded as zip. 11 | 12 | 4. type in `pip install -r requirements.txt` to your terminal to install the required packages. 13 | 14 | 5. Now you can run the script from terminal/command line with: `python satisfactory_building.py` 15 | 16 | Optional: edit `satisfactory_building.py` to change the building key. 17 | 18 | # use: 19 | At the moment, the build key is set to "E", so you pick your foundation to build, press and hold E, release when done... repeat! 20 | 21 | All this script is doing is clicking as fast as possible so long as the E key is pressed. You can also tap the E key once for building a single thing. 22 | 23 | 24 | ![](satisfunctions2.gif) 25 | -------------------------------------------------------------------------------- /getkeys.py: -------------------------------------------------------------------------------- 1 | # Citation: Box Of Hats (https://github.com/Box-Of-Hats ) 2 | import win32api as wapi 3 | 4 | 5 | keyList = ["\b"] 6 | for char in "ABCDEFGHIJKLMNOPQRSTUVWXYZ 123456789,.'£$/\\": 7 | keyList.append(char) 8 | 9 | 10 | def key_check(): 11 | keys = [] 12 | for key in keyList: 13 | if wapi.GetAsyncKeyState(ord(key)): 14 | keys.append(key) 15 | return keys 16 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | pyautogui 2 | pypiwin32 3 | -------------------------------------------------------------------------------- /satisfactory_building.py: -------------------------------------------------------------------------------- 1 | import pyautogui 2 | import time 3 | import getkeys 4 | 5 | KEY_FOR_BUILD = "E" 6 | 7 | print("Starting in...") 8 | for i in reversed(range(4)): 9 | print(i) 10 | time.sleep(1) 11 | 12 | while True: 13 | keys = getkeys.key_check() 14 | if KEY_FOR_BUILD in keys: 15 | pyautogui.click() 16 | -------------------------------------------------------------------------------- /satisfunctions2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sentdex/satisfunctions/b58ce5017e92f500b03c778a42d0dc636da7b601/satisfunctions2.gif --------------------------------------------------------------------------------