Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #16  
Old 04-05-2008, 07:38 PM
suprphrk
Fire Beetle
 
Join Date: Apr 2008
Posts: 16
Default

I also do not see any perl processes in the processes list on the server. Should I?
Reply With Quote
  #17  
Old 04-07-2008, 09:13 AM
suprphrk
Fire Beetle
 
Join Date: Apr 2008
Posts: 16
Default

Last thing that I did was to copy my c:\perl\bin folder contents into EQEmu, saw an old post out there that said that it fixed someone else's problem. Still, when I hail Maesyn Trueshot, nothing. When I say "What trueshot longbows", nothing.

Anyone else having this problem, or have any suggestions for me?
Reply With Quote
  #18  
Old 04-07-2008, 05:13 PM
Andrew80k
Dragon
 
Join Date: Feb 2007
Posts: 659
Default

You shouldn't see any perl processes running. Are you logs telling you anything helpful?
Reply With Quote
  #19  
Old 04-07-2008, 05:59 PM
suprphrk
Fire Beetle
 
Join Date: Apr 2008
Posts: 16
Default

Andrew-

Thanks for the point in that direction. I'd looked at the logs before, but hadn't noticed the "eqemu_quest_zone_####.log file before. In my log, I get this:

Code:
[04.07. - 08:09:55] WARNING: error compiling quest file
quests/gfaydark/Maesyn_Trueshot.pl: Perl runtime error: Undefined 
subroutine &main::eval_file called.
(reverting to default questfile)
Any idea what that means? I see no main function or eval_file function in my perl scripts... In my example, I have EVENT_SAY and EVENT_ITEM inside my Maesyn_Trueshot.pl file. I see that for every mob in the zone, just using Trueshot as an example.
Reply With Quote
  #20  
Old 04-07-2008, 07:00 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Try downloading GeorgeS quest tools from his website. You can find his site link in his signature. He posts in the tools section ALOT so check for it there.

I see the reason why that particular quest you are using to test is failing. There is a typo in it. Here is the text and I highlighted the typo in red. GeorgeS tools would make it easier to find errors like this as it is color coded.

Code:
 if($text =~ /correct components/i) {
	quest::say('Now that I have crafted the Treant Bow Staff, you shall need one Planing Tool, one Treant Bow Staff, one Micro Servo and one spool of Dwarven Wire. These items will be used with your Fletching Kit as all other bows. Be forewarned, only a Master Fletcher can create such a bow and even a master fails from time to time. Good Luck.'); }
 if($text=~/I will gather materials/i && $class eq "Ranger"){
	quest::say('Take this pack. Go to Kaladim, find Trantor Everhot and ask for dwarven wire. Then go to Freeport to meet Jyle Windshot. Search the inns for him and ask him for treant wood. Then, collect some spiderling silk from spiderlings and finally, in Steamfont, we have the permission of the gnomes to use any micro servos we find while destroying rogue spiders. Combine them all and return the pack to me.');
	quest::summonitem(17367); }
You have single quotes ( ' ) where you NEED to have double quotes ( " ). It won't work like that. Syntax errors are easy ways to break quests completely so the NPC will not respond.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #21  
Old 04-07-2008, 07:06 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Also, I think the code you have for the following won't have the effect you want.

Code:
 if($text=~/I will gather materials/i && $class eq "Ranger"){
	quest::say('Take this pack. Go to Kaladim, find Trantor Everhot and ask for dwarven wire. Then go to Freeport to meet Jyle Windshot. Search the inns for him and ask him for treant wood. Then, collect some spiderling silk from spiderlings and finally, in Steamfont, we have the permission of the gnomes to use any micro servos we find while destroying rogue spiders. Combine them all and return the pack to me.');
	quest::summonitem(17367);
  } else {
	quest::say("Faydark's Champions cannot call you foe. but you have yet to earn our trust.");
  }
I believe you need to encase the else in with the first part like this:

Code:
 if($text=~/I will gather materials/i && $class eq "Ranger") {{
	quest::say("Take this pack. Go to Kaladim, find Trantor Everhot and ask for dwarven wire. Then go to Freeport to meet Jyle Windshot. Search the inns for him and ask him for treant wood. Then, collect some spiderling silk from spiderlings and finally, in Steamfont, we have the permission of the gnomes to use any micro servos we find while destroying rogue spiders. Combine them all and return the pack to me.");
	quest::summonitem(17367);
  } else {
	quest::say("Faydark's Champions cannot call you foe, but you have yet to earn our trust.");
  }}
I don't know for sure if that will even work as you want, so you might have to mess around with it. But I am pretty sure that the way you have it is wrong.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #22  
Old 04-07-2008, 09:26 PM
suprphrk
Fire Beetle
 
Join Date: Apr 2008
Posts: 16
Default

Thanks for the reply, Trevius.

I ran GeorgeS's quest tool on that file, and then stopped/restarted my server. I can see how the double quotes/single quotes issues can hinder quests, especially if there's a contraction or subquote in the quest. However, after changing those, and trying the different way of doing the begin/end, still no go. In my log, it still shows the same error as before:

Code:
[04.07. - 08:09:55] WARNING: error compiling quest file
quests/gfaydark/Maesyn_Trueshot.pl: Perl runtime error: Undefined 
subroutine &main::eval_file called.
(reverting to default questfile)
It seems like it's trying to call eval_file and not opening the file right. I've checked permissions, and set all of the quest/ folder, all of its subfolders, and files to give Everyone read and execute. Still didn't work. I'm still working with it, but any more insight would be helpful. Keep the ideas coming!
Reply With Quote
  #23  
Old 04-07-2008, 10:53 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Try changing the double quotes in:

Code:
$class eq "Ranger"
to single quotes:

Code:
$class eq 'Ranger'
and see what happens.

Make sure you are using #questreload after making any changes so it loads your updates to the quest.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #24  
Old 04-07-2008, 10:58 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

I just read pretty thoroughly through the section of your quest that you posted and it looks ok now. If you have more in that quest that you didn't post yet, please post it. Maybe there are other mistakes. Make sure to hit the "check syntax" button on GeorgeS tool. It can help find missing bracket issues.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #25  
Old 04-07-2008, 11:58 PM
suprphrk
Fire Beetle
 
Join Date: Apr 2008
Posts: 16
Default

Wow. I fixed it. It's dirty, and others have come across it before. I'd copied my perl\bin folder to my EQEmu folder, but not the other way around. What I did was set my EQEmu root to the perl\bin folder as per http://www.eqemulator.net/forums/arc...p/t-22891.html. This is definitely a bug, but it sounds like it only happens every once in a while.

I'm in Windows 2003 Server, ActivePerl-5.8.8.822-MSWin32-x86-280952, EQEmu-0.7.0-1103 configuration. Anyone else with the same problem that kedra/I have, maybe with the same config? To help out debugging?

Thanks to everyone for their help and ideas.
Reply With Quote
  #26  
Old 04-08-2008, 05:46 AM
Aramid
Discordant
 
Join Date: May 2006
Posts: 356
Default

Was the path set on your server to check the perl/bin folders?
__________________
Random Segments of Code....
Reply With Quote
  #27  
Old 04-08-2008, 06:48 AM
suprphrk
Fire Beetle
 
Join Date: Apr 2008
Posts: 16
Default

Ya, my path starts with:

Code:
PATH=C:\Perl\site\bin;C:\Perl\bin;
You think the order matters? I've seen some cases where it does matter when I worked on the helpdesk, I want to say with Chameleon installs... Maybe it should look in c:\perl\bin first, then site\bin? Can someone that has a working server in its own directory share the order of their perl-related path variable?
Reply With Quote
  #28  
Old 04-08-2008, 01:16 PM
Aramid
Discordant
 
Join Date: May 2006
Posts: 356
Default

Mine only has C:\Perl\bin as far as perl goes and it is first.
__________________
Random Segments of Code....
Reply With Quote
  #29  
Old 04-08-2008, 02:13 PM
Andrew80k
Dragon
 
Join Date: Feb 2007
Posts: 659
Default

Quote:
Originally Posted by suprphrk View Post
Ya, my path starts with:

Code:
PATH=C:\Perl\site\bin;C:\Perl\bin;
You think the order matters? I've seen some cases where it does matter when I worked on the helpdesk, I want to say with Chameleon installs... Maybe it should look in c:\perl\bin first, then site\bin? Can someone that has a working server in its own directory share the order of their perl-related path variable?
Order only matters if you have 2 executables in your path with the same name. It will pick the one that turns up in your path first.

I wonder if this is a difference in the environment that the server is running in and the environment that the client is running in? Maybe not, but it is something to check.
Reply With Quote
  #30  
Old 04-12-2008, 12:49 AM
suprphrk
Fire Beetle
 
Join Date: Apr 2008
Posts: 16
Default

Well, the server is W2k3 server, client is Vista. I tried switching the paths and rebooting, that didn't do it. I dunno, it's werid. I haven't tried messing more with it though, I have a stable EQ .
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 09:12 PM.


 

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