Skip to content

Introduction

New to EQEmulator? New to scripting? No worries - many people have started their Quest learning how to program in this community through building scripts.

Scripts can be leveraged to build an endless amount customization.

Some examples might be custom boss events, NPC dialogue, custom spell behavior, custom tradeskills and so many more.

Scripting Engines

EverQuest Emulator supports two scripting languages, Perl and Lua.

Perl was introduced in the early 2000's and has been the first language still used by many and is still supported today.

Lua was introduced to EverQuest Emulator in 2013 as a newer language with modern support, easier C++ integration and bindings as well as more features in the Quest API.

Learning

If you are new to scripting, you might want to learn some basics and primitives. Both languages share many basics such as conditionals, operators, iterators, arrays, loops etc.

Below are some beginner friendly tutorial sites that can get you started if you are new, they may even be helpful if you are already familiar with programming but maybe not familiar with Perl or Lua.

Learning Resource Link
Perl Tutorial (Tizag) Tizag
Lua Tutorial (tutorialspoint) Tutorialspoint

What Language Should I Choose?

image image

What language you use is entirely up to you and your preference.

Lua is more modern with more features and is the chosen language in ProjectEQ Quests Repo however it makes no difference what you choose to use.

Choice comes down to personal preference, however your personal preference may be influenced by some features and capabilities that are unique to each. You will need to figure that for yourself over time.

Features

If you're new, you might be wondering what are the kinds of things you can do with scripts

  • 1,000+ API methods
  • 100+ custom events

The short answer is there is almost nothing you can't do. The possibilities are endless, but to give you some ideas.

  • Custom item hand in events
  • Custom tradeskills
  • Custom dialogue windows
  • Custom spells
  • Custom boss and encounter events
  • Changing weather, environment, time
  • NPC dialogue, emotes etc
  • Setting and reading character flags
  • Task manipulation
  • More...