Skip to content

Provides a scripting framework and API for the game Genshin Impact.

License

Notifications You must be signed in to change notification settings

wuyadie/genshin-scripting-framework

 
 

Repository files navigation

Genshin Impact Scripting Framework

release issues license

AboutGetting StartedUsageScripting API DocumentationChange LogsLibrariesLicenseTodo

Repository

Branch Status Commit Count Last Commit
master Build Status

About

Provides a scripting framework and API for the game Genshin Impact.

Disclaimer:

  • GSF is not a cheat/hack. GSF does not contain any "advantage" enchancement features built in. GSF only provides a framework and API to its users.
  • The contributors of this repository/project/software bear no responsibility on whatever purpose the user does with this.

Getting Started

Prerequisite

Cloning

This requires Git. If you don't have Git yet you can download it here.

  • If you are planning on contributing or want access to the repo's history locally:

    git clone https://github.com/u16rogue/genshin-scripting-framework.git
  • If you only want to compile and use GSF:

    git clone --depth 1 https://github.com/u16rogue/genshin-scripting-framework.git

Projects

  • gsf-client - The client that's loaded into the game, this provides the scripting API and ability to load LUA scripts.
  • gsf-launcher - (optional) Used for launching the game and loading gsf-client into it. Requires gsf-client to be built (This is already set up in the project as a dependency).

Compiling

The project is ready to compile immediately, you can proceed by opening the solution file, set up the configuration (Release x64), and start building.

If you get an error regarding a missing macro (GIT_HASH and GIT_BRANCH) and a header file (git_info.h), simply build the project once and it should fix the problem. The macro and header file is automatically generated pre-build.

Output

The built binaries are located at build\Release_x64 for release builds and build\Debug_x64 for debug builds.

Usage

Prerequisite

Injecting

General usage of GSF is by injecting gsf-client.dll to GenshinImpact.exe. Upon successful injection a top menu bar should appear ingame where you can access GSF's features.

You can also use gsf-launcher to load GSF to Genshin Impact. if you are using this method make sure that the game is currently not running and to execute the launcher with administrator privilege.

Note: gsf-launcher does NOT disable the anti-cheat mhyprot2. GSF might load in-game but the anti-cheat is still active in the background, do also take note that both the launcher and client do not provide evasion against detection (if any is in place anyway).

Loading Lua Scripts

Lua Scripts can be loaded through the Script Manager window which can be accessed by opening the Genshin Scripting Framework dropdown on the top menu bar. Inside the Script Manager window you can import Lua scripts through the Import dropdown, upon a successful import the script should appear in the window's list where a button is provided for loading the script.

Unloading / Shutting down GSF

You can either use the DELETE key or the Shutdown option under GSF's dropdown on the top menu bar.

Libraries

  • MinHook 1.3.3 - TsudaKageyu
  • Dear ImGui 1.80 - ocornut
  • Lua 5.4.3 - Lua org, PUC-Rio
  • sol2 3.2.2 - Rapptz, ThePhD, and contributors

License

GNU General Public License 3.0

Todo

  • xlua interfacing from GSF
  • imported script list persistence
  • autoexec lua

About

Provides a scripting framework and API for the game Genshin Impact.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%