Lich scripting engine
- There are other pages that use the name "Lich." Follow the link for more details.
Welcome to Lich! The Lich Engine (Lich) is a Ruby-based scripting engine which was originally designed for the Simutronic’s Game Gemstone. The foundation of Lich is such that it provides a means to automate the gameplay through use of scripts written in the Ruby programming language. Lich is not a Front End (FE), it is a scripting engine that hooks into an FE and communicates through it with the Simutronic’s servers. Currently, the most widely used FE’s for DR with Lich are Wizard, Storm Front, Genie, Profanity, and Frostbite. Some work right out of the box while others require a bit of tweaking, but all have been used successfully for a long time. The base Lich install supports the use of the go2 command, which works just like Genies’ goto. Mapping is supported by the narost script. Narost loads a Ruby-based window that provides a point and click map for traversing around Elanthia. Narost was named after Gemstone’s original mapper, Tsoran (it’s his name backward). Go2 and the narost map database are updated frequently.
This is the foundation of Lich. You can write scripts in Ruby, and place them in the Lich/scripts folder and access them in-game using the semicolon command. Let’s say you write a simple script that removed all your armor and you named it removearmor.lic. You would then use the command “;removearmor” in-game to invoke that script and run it. As you can see, this is very similar to how Genie or SF scripts work with the comma and period invoking. You have access to making all your own scripts by converting SF/Genie scripts to Ruby, etc.
Many users utilize Lich as simply a game-wide chat room for discussion and to get help, while others utilize the Lich-based software suite DR-Scripts for all their scripting needs. DR-Scripts is basically interchangeable with Lich, but they are in fact two separate things. Please check out the Dr-scripts page for more details regarding its use.
In the basic script below, once every 10 seconds we check if the spell Regenerate is up, if it isn't, we recast it.
if DRSpells.active_spells['Regenerate'].to_i <=0 stop_script('magic') if Script.running?('magic') fput('prep regen') waitcastrt? fput('cast') end pause 10