Coding / Wurm_Online /

Wurm Online Scripts

History/Backstory

I have been playing Wurm for quite some time, not as long as the original Alpha veterans, but long enough to know that I didn't really like grinding. As Wurm is a niche game, there is going to be some to zero public scripts. The chance for myself to get any public scripts was gone when Hoaxkey/wurmonline.co.uk went down, but I still have to thank Joe for his correspondence with me, and inspiring to create what I have today.

I had previous experience with Runescape botting, so the concept was not foriegn to me. Get a script that is well coded, has lots of failsafes, and don't leave your computer while you let the script run. Other players are the biggest reasons for banning, so never act in a bot like manner.

The main catalyst for wanting to learn to script myself, is the fact that all the other public scripts sucked ass. Google/Pastebin searches mainly yeilded pure garbage, though there were some ideas and code snippets that I used in my own scripts.

For example, here is the infamous mining script that got KellyT banned:

Global $Paused HotKeySet("`", "TogglePause") HotKeySet("{DEL}", "Terminate") While 1 = 1 Send("z") WinActivate ("Wurm Online 3.0") Sleep(Random(5000,9500)) WEnd Func TogglePause( ) $Paused = NOT $Paused While $Paused sleep(100) ToolTip('Script is "Paused"',0,0) WEnd ToolTip("") EndFunc Func Terminate( ) Exit 0 EndFunc

After reading the code, I thought to myself, I wrote better code in Scratch while at highschool. From this point I sought to begin coding, using what I was familiar with. With Simba (a better version of SCAR), I made my first mining script. Fully utilizing the power of its OCR and BMPsearch functions, I was able to make a bot that had stamina detection, cave wall recognition, and would stop for anything from unstable walls to dirt flowing in. Making this script was not easy tho, as it was alot of trial and error, with some very frustrating stalls (OCR not working because the text was anti-aliased).

It was at this time that Gbelcik publicly released his set of macros, and the video describing how he used them. While the coding was downright terrible, it taught me about the shifting right click menu, and the use of setting 'locations' using hotkeys. As my style of coding is 'press play and hands off', it was good that I was able to expand my thinking to include this techinque. I began to try and branch my scripts out, to include creation and imping. I did not get very far tho, due to my own lack of knowledge.

After getting a new computer, and sharing the script with some friends, I found out that there were some technical problems with Simba and newer video cards, at which point I had to reconsider what to port my scripts too. In the end it came down to AutoIt, due to the ease of the scripting language, and the large range of examples to learn from. Though I was losing the OCR functions of Simba, I was gaining the power of hotkeys with AutoIt.

One thing I am big on is randomness, and human imitation. All my code is to try and imitate humans, and the fact that they hate grinding. Pauses, and normal distribution of wait times is one of the critical elements that most other scripts you find will lack. Though this may decrease efficiency, what exactly about getting banned is efficient?

It has been a great learning experience so far, and I recommend to whomever is reading this, learn how to code and solve problems, it certainly made my life easier!