|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Archive::Quests Archive area for Quests's posts that were moved here after an inactivity period of 90 days. |
01-11-2004, 06:10 AM
|
Sarnak
|
|
Join Date: Nov 2003
Posts: 33
|
|
Perl Quest Difficulties
I've spent a little time searching around, and I haven't seen this addressed yet, so I'll ask.
I just added some quests to my server. None of them seem to work. The zones do not go down immediately, so it doesn't look like major syntax errors. I followed the stickied HOWTO at the top of this forum for installing IOScalar and nmake, so that's right, AFAIK. However, whenever I go to a NPC that I know has a quest file associated with him, like the Soulbinder in Shadowhaven or Sirran the Lunatic, I get no response from them if I hail them. In fact, no NPC has responded to my hails yet.
Any idea what might be going on? Zone and World did not give me any errors that I saw.
[edit]
Well, I get a warning about plugin.pl but from what I can tell, that's an optional file. Any ideas?
|
01-11-2004, 09:59 AM
|
Fire Beetle
|
|
Join Date: Dec 2003
Posts: 14
|
|
did you put the quests in the right folders?
did you zone out of the zone with the quest person then zone back in?
Are you using the right NPCID?
__________________
|
01-11-2004, 12:26 PM
|
Sarnak
|
|
Join Date: Nov 2003
Posts: 33
|
|
Yes, yes and yes. =)
|
01-11-2004, 04:03 PM
|
Fire Beetle
|
|
Join Date: Aug 2003
Posts: 14
|
|
sounds like your on the right track. it moaning about plugin.pl means you have perl support in the binary working.. does zone.exe say it has loaded embperl? and mebbe post a NPCID.pl snippit?
|
01-11-2004, 09:28 PM
|
Demi-God
|
|
Join Date: Jan 2002
Location: Tourist town USA
Posts: 1,671
|
|
The best way to make sure quests are functioning is to only use a default.pl file with a VERY simple quest.
{eqemu dir}\quests\default.pl
Code:
#default.pl
#test quest to make sure quests are working
sub EVENT_SAY {
if($text=~/Hail/i){quest::say("Shhh... I am trying to test out questing!");}
}
Remove ALL other quests and restart your server. EVERY mob should reply to a hail now. If not something is wrong. Not compiled right, using wrong directory, using the wrong files, using the wrong quests for your DB.....
__________________
Please read the forum rules and look at reacent messages before posting.
|
01-12-2004, 05:27 AM
|
Sarnak
|
|
Join Date: Nov 2003
Posts: 33
|
|
Alright Lurker, I'll give that a shot. If I'm not mistaken, there's a default.pl for every zone I was trying. What I may do is just rename my quest directory and create a new default.pl for some zone, maybe airplane or freportw and see if that works. If so, I'll know it's the quest files.
Failing that I may try a clean install of the EMU and see if I screwed a configuration setting somewhere that I continually overlook.
Thanks for the help, I'll report here when I get off work and have a chance to see if it worked.
|
01-12-2004, 06:25 AM
|
Dragon
|
|
Join Date: May 2003
Posts: 539
|
|
You may also try a .qst quest... you're perhaps using the wrong binaries... who knows
|
01-12-2004, 07:36 PM
|
Demi-God
|
|
Join Date: Jan 2002
Location: Tourist town USA
Posts: 1,671
|
|
perl quests ONLY support 1 global default.pl I made an attempt to enable zone default.pl files, but I don't know enough about C to make it work.
__________________
Please read the forum rules and look at reacent messages before posting.
|
|
|
|
01-13-2004, 12:15 PM
|
Sarnak
|
|
Join Date: Nov 2003
Posts: 33
|
|
The binaries I'm using are the perl enabled ones from Shawn's release of DR2. I created a default.pl file and tried hailing various NPCs. No response. The default.pl I used was one of Lurker's
Quote:
sub EVENT_SAY() {
quest::say("Greetings. $name... I can tell you about [variables] and [commands] or you can give me items.") if ($text=~/hail/i);
quest::say("Want to test a variable? Try [name]. [race]. [class]. [userid]. [ulevel]. [uguildid]. [mobid]. [mlevel]. [faction]. [zonesn]. [zoneln]. or [status]") if ($text=~/variabl/i);
quest::say("name = $name") if($text=~/name/i);
quest::say("race = $race") if($text=~/race/i);
quest::say("class = $class") if($text=~/class/i);
quest::say("userid = $userid") if($text=~/userid/i);
quest::say("ulevel = $ulevel") if($text=~/ulevel/i);
quest::say("uguildid = $uguildid") if($text=~/uguildid/i);
quest::say("mobid = $mobid") if($text=~/mobid/i);
quest::say("mlevel = $mlevel") if($text=~/mlevel/i);
quest::say("faction = $faction") if($text=~/faction/i);
quest::say("zonesn = $zonesn") if($text=~/zonesn/i);
quest::say("zoneln = $zoneln") if($text=~/zoneln/i);
quest::say("status = $status") if($text=~/status/i);
quest::say("Want to test a command? Try [emote]. [shout]. [spawn]. [echo]. [summonitem]. [castspell]. [depop]. [cumflag]. [flagnpc]. [flagclient].[exp]. [level]. [safemove]. [rain]. [snow]. [givecash]. [pvp]. [doanim]. [addskill]. or [me]") if($text=~/command/i);
quest::emote("emotes before you.") if ($text=~/emote/i);
quest::shout("Is this shouting?") if ($text=~/shout/i);
quest::say("I don't feel like spawning anything right now") if($text=~/spawn/i);
quest::echo("this is an echo echo echo echo echo") if ($text=~/echo/i);
quest::summonitem(17969) if ($text=~/summonitem/i);
quest::castspell(278, $id) if ($text=~/castspell/i);
quest::say("awww... I don't wanna!") if ($text=~/depop/i);
quest::exp(100) if ($text=~/exp/i);
quest::level($ulevel + 1) if ($text=~/level/i);
quest::safemove() if ($text=~/safemove/i);
quest::rain(1) if ($text=~/rain/i);
quest::snow(1) if ($text=~/snow/i);
quest::givecash(0,0,0,50) if ($text=~/givecash/i);
quest::pvp("on") if ($text=~/pvp/i);
quest::doanim(3) if ($text=~/doanim/i);
quest::me("The heavens applaud you.") if ($text=~/me/i);
}
|
Still stuck. No errors listed in Zone or World output... any further ideas guys?
*edit*
Lurker, I tried removing all the quests and using only your default.pl that you listed above. Still no response. Something odd is afoot. I checked zone.exe and it does state that embperl is loaded. This irks me as I used to program CGIs in perl and I can't seem to get something as simple as this working. I knew I should have stuck with UNIX. =)
|
|
|
|
01-13-2004, 12:23 PM
|
Demi-God
|
|
Join Date: Jan 2002
Location: Tourist town USA
Posts: 1,671
|
|
well, copy and paste your zone and world output, perhaps even a dir listing of your quests dir (show the path too)
__________________
Please read the forum rules and look at reacent messages before posting.
|
|
|
|
01-13-2004, 12:25 PM
|
Sarnak
|
|
Join Date: Nov 2003
Posts: 33
|
|
Here's my zone.exe output:
Quote:
[Status] CURRENT_ZONE_VERSION: EQEMu 0.5.3-DR2
[Status] Loading Variables
[Status] Loading zone names
[Status] Loading items
[Status] EMuShareMem loaded
[Status] Loading npcs
[Status] Loading NPCTypes from database...
[Status] Loading npc faction lists
[Status] Loading NPC Faction Lists from database...
[Status] Loading loot tables
[Status] Loading Loot tables from database...
[Status] Loading doors
[Status] Loading Doors from database...
[Status] FileLoadSPDat() Loading spells from spells_us.txt
[Status] FileLoadSPDat() spells loaded: 4578
[Status] Loading guilds
[Status] Loading factions
[Status] Loading corpse timers
[Status] Loading what ever is left
[Status] Loading commands
[Status] 151 commands loaded
[Status] Loading embedded perl
[Status] Loading perlemb plugins.
[Status] Warning - plugin.pl: Perl runtime error: open 'plugin.pl' No such file
or directory at (eval 3) line 1.
[Status] Entering sleep mode
Connected to worldserver: 192.168.0.100:9000
|
Here's World
Quote:
[Status] CURRENT_WORLD_VERSION:EQEMu 0.5.3-DR2
[Status] Loading variables..
[Status] Loading zones..
[Status] Loading items..
[Status] EMuShareMem loaded
[Status] Loading items from database: count=26699, max id=68199
[Status] LoginServer.ini read.
[Status] Loading guild ranks..
[Status] Loading addon.ini..
[Status] Loading EQ time of day..
[Status] Reboot zone modes ON
[Status] Deleted 0 stale player corpses from database
[Status] Deleted 0 stale player backups from database
Breaking bards...done
TCP listening on: 24.170.122.234:9000
World server listening on: 24.170.122.234:9000
Connected to LoginServer: eqlogin1.eqemulator.net:5997
|
Hang on, I'll get you the directory listing.
|
|
|
|
01-13-2004, 12:27 PM
|
Sarnak
|
|
Join Date: Nov 2003
Posts: 33
|
|
Here's the quests directory.
Quote:
C:\eqemu\quests>dir
Volume in drive C has no label.
Volume Serial Number is 4C37-8525
Directory of C:\eqemu\quests
01/13/2004 06:17 PM <DIR> .
01/13/2004 06:17 PM <DIR> ..
01/13/2004 06:17 PM 157 default.pl
1 File(s) 157 bytes
2 Dir(s) 30,181,982,208 bytes free
C:\eqemu\quests>
|
There were more quests, but I've moved them to another directory so that I could test with just this simple default.pl. Once I get this working, I'll move them back and we'll see if they work.
|
01-13-2004, 12:38 PM
|
Demi-God
|
|
Join Date: Jan 2002
Location: Tourist town USA
Posts: 1,671
|
|
Man it does all look right! Let me try the binaries shawn released yesterday and see if they behave differently for me.
__________________
Please read the forum rules and look at reacent messages before posting.
|
01-13-2004, 12:41 PM
|
Sarnak
|
|
Join Date: Nov 2003
Posts: 33
|
|
Thanks for the help Lurker. If it turns out that Shawn's binaries have a flaw (ah, beta... ^.^) then I'll probably await the official 0.5.3 release. Do we know if perl will be enabled by default or will I need to recompile? Neither is a problem, of course innate compiled support is less of a hassle. =)
|
01-13-2004, 12:46 PM
|
Demi-God
|
|
Join Date: Jan 2002
Location: Tourist town USA
Posts: 1,671
|
|
patching.. yada yada...
(been using dr1 till they got things working good again)
by the way create an empty plugin.pl file in your eqemu dir to get rid of the warning.
__________________
Please read the forum rules and look at reacent messages before posting.
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 01:05 PM.
|
|
|
|
|
|
|
|
|
|
|
|
|