The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination.
- Frederick P. Brooks, Jr.
If you are new to the EQEmu Quest API, it can easily be daunting to try to digest the vast array of methods, functions, subroutines, plugins, and varying quest-scripting languages. Quest scripts in EQEmu are written in Lua or Perl, both of which are widely accepted throughout the EQEmu community.
If you are adept at either Lua or Perl, it is best to familiarize yourself with how EQEmu loads quests scripts, followed by reviewing the various Events that can be triggered in either Perl or Lua, along with exports of those events (as well as the global exports), and then beginning to review the many methods and functions exposed in the API.
I Can't Find ________
The Quest API for EQEmu Server is massive. We have tried to put all of the information on a single page, but the loading times were awful, simply due to the vast amount of information and examples found on the pages in this space. As a result, we have separated all of the documentation into separate pages for faster reference.
The 23 seconds you would have been waiting for this page to load
Please use the navigation bar along the left-hand side to locate the documentation that you are seeking. If you are not sure where a method or function may reside, be sure to use the search function--it is amazing!
Searching even returns potential typo answers
To Perl, or to Lua?
The decision to utilize either Perl or Lua for your quest scripts is entirely up to you. Both offer nearly all the same functions and methods--where discrepancies exist, they are noted (for instance the Spell Methods (Lua) page describes methods only available in Lua. Beginners often find Perl easier to understand. Adept Lua programmers might enjoy the ability to load encounters. Advanced Perl programmers may find the ability to create or utilize plugins very desirable.
All attempts have been made to provide corresponding examples in both languages throughout this Wiki. Many community members have a preference, and certainly there are many members of the community that can provide you guidance for either language--please look for us in the #Support-Quest-Scripts channel on the EQEmu Discord server.