Skip to content

Introduction

Welcome to official ev0lve.xyz API documentation.

Automatic script sync

BEFORE UPLOAD: please read rules about uploading here

You can use forum's Scripts section to sync scripts you like. Simply subscribe to script you like and it will be downloaded automatically when you load cheat or refresh the list. When you unsubscribe the script, it will be deleted from the disk.

Creating basic script

To begin with extending ev0lve, you have to create a script file first. Go to *game_path*\ev0lve\scripts and create a file with .lua extension. After that you can enable your imagination and create amazing scripts!

Loading and unloading

To load/unload scripts, go to Scripts tab and select a script you want to interact with. Then click load or unload button to run/stop the script. Note, if you have syntax errors/runtime errors/etc script will be unloaded automatically and error will be printed to the game console.

You can create menu elements using gui namespace. Keep in mind, all elements you create are available only in Scripts tab. All custom control values are automatically saved into cheat config (obviously loaded too).

LuaJIT

ev0lve API supports ffi library that is used in LuaJIT. Usage: here

Tips & tricks

  • Keep your code clean and readable. It will be easier for community to help you if you get any issues or understand how your script works.
  • Never execute long-running stuff in on_paint or other constantly called callbacks - it will significantly slow down your game.
  • Comment your code but don't overdo it. The reason is similar to 1st tip.
  • Instead of checks for executing something only once after menu control's value was changed in a constantly called callback, you can add callbacks to menu elements themselves and achieve the very same result. Along that it will speed up code execution and will be easier to read.
  • It is better to cache functions that are being called really often - it will speed up script execution.
  • Follow Lua's code style (2-4 spaces identation, is_ before boolean variable, lowercase namings, snake_case for function naming, ALL_CAPS constants, PascalCase class names. Read more: here)