Code Your Own Scripts
You can write your own custom scripts on top of LSS Bot. Most of the time all you’ll really need is basic Java knowledge. The process is really simple:
1) Import the “lssbot5.jar” library into your project.
2) Write your own script.
3) Build an artifact without dependencies.
4) Place the .jar into the local scripts folder.
The library and local scripts folder can be found in the following directory: C:/Users/USERNAME/lssbot_5/
Please keep in mind that we’re not going to provide support for your personal scripts or help you maintain them.
Your lssbot account must have an active premium subscription and you must also install Java 17. Basic understanding of OCR and some OpenCV knowledge is recommended.
You can find our development tools in the program in the “Development” tab. Simply run an emulator that is tied to one of your LSS Bot instances and wait until the bot connects to it. Select the emulator in the dropbox and press the “Open Development Tools” button.
The tools should cover most things but if something is missing you can always write your own custom script/tool.
The javadocs can be found on this page.
Main Class Example
Config Class Example
After compiling the script and placing it in the scripts folder the bot will pars eit and you should find it in the script configuration menu.
Every script must have a class that implements Config. LSS Bot will automatically convert certain objects and primitives to UI components.
|Object or Primitive||UI Component||Get selected values|
|int||JSpinner||primitive int value|
The bot will automatically take a screenshot and cache it on every loop. Most methods will automatically use that cached image when called, usually these methods are overloaded and you can pass another image if you wish. To access the cached image call APIContext#getLastScreenshot(). You can also update the cached image by calling APIContext#updateScreenshotCache(). The image gets updated when you call the dynamic sleep method sleepUntil(Condition, int timeout).
The AbstractScript extends APIContext<Device> which contains all the methods you’ll need. You will find ways to interact with the emulator, work with images and also method providers that contain specific game related methods. Game specific methods can be initialized separately for easier access. An example of Last Shelter Survival methods is LSSMethodProvider. The game related classes should be pretty self explaining for someone who plays the game.
If your script has multiple tasks you can use ScriptNode this will change the way the script manager works. Instead of calling AbstractScript#loop it will take a node approach. The bot will go through all the nodes that have been added to the AbstractScript until it has none left that should be executed. Adding nodes can be done by calling AbstractScript#addNode.
When using ScriptNode AbstractScript#loop should return a negative value.
An Executor can be added to AbstractScript and it will take priority over the main loop until it no longer should be executed or gets removed. LSS Bot provides some pre coded executors that will make your life much easier. For example you won’t have to write all the code to handle speedups on Last Shelter Survival, all you have to do is initialize LSSSpeedupSolver and add the executor to AbstractScript by calling AbstractScript#addExecutor. The executor will have priority over your script and will be executed once it hits a condition that tells it that it’s no longer needed, the control will then return to the script.
You can access different logging levels by calling Device#log, Device#warn, Device#error, Device#debug.
Main Class Constructor
Ideally do not initialize configs in your main class constructor. Override the onStart method (AbstractScript class).
Avoid using inner classes in your scripts, this includes statements like switch that create inner classes.