Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::General Support

Support::General Support Post all topics here having to do with errors while trying to connect to an EQEMu server but not about the setup/running of the Server itself.

Reply
 
Thread Tools Display Modes
  #1  
Old 01-03-2019, 11:05 AM
ErikSigvard
Fire Beetle
 
Join Date: Jan 2019
Location: Cheyenne, WY
Posts: 11
Default Perl and LUA quests working, but not custom Perl ones

First, thanks to everyone who has worked on this project and all the posters who have brought up problems and solutions. Just...wow!

Second, pretty sure I've read every post with the search terms "quests not working" but I have yet to find a solution.

My setup:

Windows 10 Home
Underfoot client
Server install from GitHub
Perl 5.12.3 (verified via command line 'perl -v')

Went through the instructions to the "t" and everything works beautifully. Built-in quests are working, mobs give exp and loot, game is fast, life is great.

I wanted to create a buff bot in POK that buffs with simple things like SOW, Clarity, etc. So I started off basic, and created a NPC, following the instructions on this forum. I have a cool looking human in a white robe who looks like someone that would buff newbies. I named him Scion_of_Knowledge.

In the eqemu\quests\poknowledge folder, I created a Scion_of_Knowledge.pl file and included the following code to test just a simple "hail":

Code:
sub EVENT_SAY{
	if($text=~/Hail/i)
		{quest::say("Hello.");}
}
Saved the file. Did #reloadquest in game. NPC does not respond to me.
However, when I create the LUA version of the script, my NPC responds.

When I'm testing the Perl version, I make sure to rename my LUA version with a .bak extension because I remember reading that LUA takes precedence when a quest file of the same name exists. How do I get custom Perl quests working?

Thanks in advance.
Reply With Quote
  #2  
Old 01-03-2019, 12:29 PM
phate8908
Fire Beetle
 
Join Date: Dec 2018
Posts: 12
Default

whitespace matters
Code:
sub EVENT_SAY {
	if ($text=~/Hail/i) {
		quest::say("Hello.");
	}
}
side note: #questerrors is a useful command when writing quest scripts
Reply With Quote
  #3  
Old 01-03-2019, 12:37 PM
ErikSigvard
Fire Beetle
 
Join Date: Jan 2019
Location: Cheyenne, WY
Posts: 11
Default

Code:
sub EVENT_SAY{if($text=~/Hail/i){quest::say("Hello");}}
Also does not work.
Reply With Quote
  #4  
Old 01-03-2019, 12:39 PM
ErikSigvard
Fire Beetle
 
Join Date: Jan 2019
Location: Cheyenne, WY
Posts: 11
Default

I ran #questerrors, and here is what I get:

Error compiling quest file quests/poknowledge/default.pl: Perl runtime error: Undefined subroutine &main::eval_file called.

Looks like all of the .pl files are getting that error.
Reply With Quote
  #5  
Old 01-03-2019, 12:56 PM
ErikSigvard
Fire Beetle
 
Join Date: Jan 2019
Location: Cheyenne, WY
Posts: 11
Default

So when I googled that error, I followed the workaround that others have done and copied all of the content from EQEmu into C:\Perl\bin\ and now my custom Perl script is working.

TYVM for pointing me to the #questerrors command - that's what led me to this solution!
Reply With Quote
  #6  
Old 01-03-2019, 03:11 PM
demonstar55
Demi-God
 
Join Date: Apr 2008
Location: MA
Posts: 1,165
Default

Quote:
Originally Posted by ErikSigvard View Post
So when I googled that error, I followed the workaround that others have done and copied all of the content from EQEmu into C:\Perl\bin\ and now my custom Perl script is working.

TYVM for pointing me to the #questerrors command - that's what led me to this solution!
There is something wrong with your set up. You shouldn't have to do that :P
Reply With Quote
  #7  
Old 01-03-2019, 03:13 PM
ErikSigvard
Fire Beetle
 
Join Date: Jan 2019
Location: Cheyenne, WY
Posts: 11
Default

Quote:
Originally Posted by demonstar55 View Post
There is something wrong with your set up. You shouldn't have to do that :P
I totally agree! But it's funner to work on quests than the server setup, so I'm okay with this workaround
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 07:13 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3