Dependency

From Elanthipedia
Jump to navigation Jump to search

Understanding Dependency

Now that you understand the basic concept of the Lich Engine, we’ll discuss Dependency. Dependency, or what most people refer to as Lich, is an Open Source software suite that uses the Lich Engine to automate the Dragonrealms gameplay. It is important to note that Dependency is NOT a converted software suite from Gemstone, but rather it is a completely new design built exclusively for the game Dragonrealms. It originated from the minds of two professional developers and has since increased to around 20, most of whom are also professional developers. The Dependency suite is hosted on Github which allows easy development processes as well as allowing end-users to request new features or report bugs.

ATTENTION

There is currently an issue with a missing cert that comes with Ruby's package manager.

--- Lich: error: Could not find a valid gem 'rest-firebase' (~> 1.1.0) locally or in a repository

Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

If you see either of the two errors above when installing Lich or running Dependency for the first time please follow the instructions on the Lich_scripting_engine page to resolve the error.

Issuing Script Commands

Just as SF or Genie uses an invoking command, period and comma respectively, Lich and therfore Dependency does as well. To invoke a Lich script you use the semicolon. An example would be ;gird which would then run the gird.lic script and would gird yourself with the gear listed in the script. This script, of course, would have to be written by you before you could run it, but you get the idea. Dependency uses the ;e command to execute some scripts. The below guide uses said formula.

Installation

Do NOT trust scripts unless told to do so!

  1. ;repos download dependency.lic
    • 'dependency.lic' is the the script that will download and keep up-to-date all of the rest of our scripts
    • Do NOT download any other scripts from ;repository unless someone tells you to, some of them conflict with our scripts.
  2. ;trust dependency
    • This lets the trusted script make files on your hard drive and download stuff from the internet - make sure you trust us before running this command
  3. ;dependency install
    • This downloads all of our scripts (and backs up any you had locally with the same name)
    • Did this step not work? Scroll up to the ATTENTION section at the top of this page for help.
    • This made a new folder called profiles inside the script directory and copied in some default character profiles
    • Profiles holds a collection of YAML files.
    • See Introduction-to-Character-Settings for more information on what YAML files are.
  4. Dependency is now set up and has downloaded all of our scripts, you do not need to use ;repos to access any of our scripts, and you won't need to ;trust any other scripts.
  5. We have some sample config files in the Lich/scripts/profiles/ directory, the same location as base.yaml. Make sure to rename the file to match your character (Name-setup.yaml; it's important to capitalize the first name, it must include -setup, and it must be YAML and not YML!) if you'd like to use one:
    • Barbarian: SampleBarbarian-setup.yaml
    • Bard: SampleBard-setup.yaml
    • Cleric: SampleCleric-setup.yaml
    • Empath: Selanas-setup.yaml
    • Moon Mage: SampleMoonMage-setup.yaml
    • Necromancer: Aevul-setup.yaml
    • Paladin: SamplePaladin-setup.yaml
    • Ranger: SampleRanger-setup.yaml
    • Thief: SampleThief-setup.yaml
    • Trader: Cidemon-setup.yaml
    • Warrior Mage: SampleWarriorMage-setup.yaml
  6. You'll probably want to add some scripts you download to run automatically when you log in
    • ;e autostart('script-name') will start it for all of your characters
    • ;e autostart('script-name', false) will start it for only this character
    • ;e echo(list_autostarts) will show you the files being autostarted on a given character
    • ;e stop_autostart('script-name') will remove an autostarted file from the list
    • ;e autostart(['drinfomon', 'common', 'spellmonitor']) to add many scripts at once