PDA

View Full Version : Quest Problems


merb
10-13-2008, 05:53 PM
Well, I'm at my wits end. My quests simply are not working. I've went down the list and checked off the obvious things, none of which have fixed my problem. I'm using build 5.8.7 of Active Perl, I have done the ppm thing (DBI, DBD-MySQL, IO-Stringy, all installed fine), I've tried #reloadpl and #repop numerous times, I've check to make sure the script itself was set up correctly (and I've even run it through the perl interpreter, no errors found), I have the check_hasitem, check_handin, guildmasters, and soulbinders plugins in my Emu directory, I've tried naming the quest script by both the NPC name and ID, and the only other possible hint towards a quest problem I could find is this:

[10.10. - 17:05:07] [RULES__ERROR] Unable to find rule 'TaskSystem:EnableTaskSystem'
[10.10. - 17:05:07] [RULES__ERROR] Unable to interpret rule record for TaskSystem:EnableTaskSystem
[10.10. - 17:05:07] [RULES__ERROR] Unable to find rule 'TaskSystem:PeriodicCheckTimer'
[10.10. - 17:05:07] [RULES__ERROR] Unable to interpret rule record for TaskSystem:PeriodicCheckTimer
[10.10. - 17:05:07] [RULES__ERROR] Unable to find rule 'TaskSystem:RecordCompletedTasks'
[10.10. - 17:05:07] [RULES__ERROR] Unable to interpret rule record for TaskSystem:RecordCompletedTasks
[10.10. - 17:05:07] [RULES__ERROR] Unable to find rule 'TaskSystem:RecordCompletedOptionalActivities'
[10.10. - 17:05:07] [RULES__ERROR] Unable to interpret rule record for TaskSystem:RecordCompletedOptionalActivities
[10.10. - 17:05:07] [RULES__ERROR] Unable to find rule 'TaskSystem:KeepOneRecordPerCompletedTask'
[10.10. - 17:05:07] [RULES__ERROR] Unable to interpret rule record for TaskSystem:KeepOneRecordPerCompletedTask
[10.10. - 17:05:07] [RULES__ERROR] Unable to find rule 'TaskSystem:EnableTaskProximity'
[10.10. - 17:05:07] [RULES__ERROR] Unable to interpret rule record for TaskSystem:EnableTaskProximity
[10.10. - 17:05:07] [RULES__ERROR] Unable to find rule 'World:ClearTempMerchantlist'
[10.10. - 17:05:07] [RULES__ERROR] Unable to interpret rule record for World:ClearTempMerchantlist

With all of those errors, I figured at least one involves quests, which is why mine won't work, but I have no idea how to fix it... Does anybody have any suggestions before I explode?

Rocker8956
10-13-2008, 06:55 PM
I think those errors refer to a rule being in your database that the code does not have defined. If you download the latest code from the SVN they should go away. However, that should not effect your quests.

You probably already checked this but... are your quests in the quests folder? not under quests\quests\

merb
10-14-2008, 03:35 PM
I always have 2 copies of a quest, and it has never broken them before. The two folders for my quests are:

EQEmu\quests\<zonename>

and

ax_classic_db\quests_ax_classic\<zonename>

Do I need to rename the "quests_ax_classic" to just "quests like the previous folder?

Andrew80k
10-14-2008, 03:45 PM
You have to insert the Task system rules into the database. It looks like maybe you didn't do all the required sql stuff when you got the latest version of the code. Make sure you do that. I'm running r89 and PEQ and it's working fine.

merb
10-15-2008, 03:48 PM
You have to insert the Task system rules into the database. It looks like maybe you didn't do all the required sql stuff when you got the latest version of the code. Make sure you do that. I'm running r89 and PEQ and it's working fine.

I took out all of the updates from the changelogs and compiled them into a single .sql file and sourced it. I'll try it again and see if I still get the errors and I'll see if that fixes it

Andrew80k
10-15-2008, 03:57 PM
I don't think these were actually in the changelogs but a file that Derision linked in the forums. Look in the task thread and you should find it.

merb
10-15-2008, 04:04 PM
I'll give that a look but I ran the .sql file again and it gave me duplicates of everything, so I already did that. I also took a peek in the quests_ax_classic folder and read the "README_NOW" file. It says "These are the quests needed for the ax_classic and ax_peq database. If you don't use these quests, the database will not work right." and it's referencing to some quests that were in the folder by default.

Andrew80k
10-15-2008, 04:46 PM
Did you do this file?

SQL File (http://code.google.com/p/projecteqemu/source/browse/trunk/EQEmuServer/utils/sql/09252008.sql)

Andrew80k
10-15-2008, 04:48 PM
Also, since I read your initial post, what are your log files saying? Do you have quest_debug files in your logs directory? Breack those open and see what they say.

Derision
10-15-2008, 04:53 PM
As Rocker said, the errors in the initial post indicate that the binaries being used do not have the Task system in them, but the database has the rules for the task system. i.e. zone is reading the rules from the database, but because the version of zone predates the task system, it is complaining it doesn't know what to do with those rules. This would not cause any problems with quests, so the problem lies elsewhere.

This would indicate the binaries are not from the SVN but are version 1129 or below.

Andrew80k
10-15-2008, 04:58 PM
[10.10. - 17:05:07] [RULES__ERROR] Unable to find rule 'TaskSystem:EnableTaskSystem'
[10.10. - 17:05:07] [RULES__ERROR] Unable to interpret rule record for TaskSystem:EnableTaskSystem


Seems to me that it is looking for the TaskSystem rules and can't find them?

Derision
10-15-2008, 05:07 PM
[10.10. - 17:05:07] [RULES__ERROR] Unable to find rule 'TaskSystem:EnableTaskSystem'
[10.10. - 17:05:07] [RULES__ERROR] Unable to interpret rule record for TaskSystem:EnableTaskSystem


Seems to me that it is looking for the TaskSystem rules and can't find them?

Well that is correct, but what is happening is it is reading the rule from the database in RuleManager::LoadRules, then calling RuleManager::SetRule, but because the zone binary doesn't have the Task rules compiled in (ruletypes.h), it can't find them, so 'Unable to find rule' means they are present in the database, but not present in the version of zone he is using.

E.g. Add a rule to the rule_values DB table, rule_name RandomRule : DoesntExist, rule_value false, boot your server and you will get the Unable to find rule/Unable to interpret rule errors.

Andrew80k
10-15-2008, 06:23 PM
Well that is correct, but what is happening is it is reading the rule from the database in RuleManager::LoadRules, then calling RuleManager::SetRule, but because the zone binary doesn't have the Task rules compiled in (ruletypes.h), it can't find them, so 'Unable to find rule' means they are present in the database, but not present in the version of zone he is using.

E.g. Add a rule to the rule_values DB table, rule_name RandomRule : DoesntExist, rule_value false, boot your server and you will get the Unable to find rule/Unable to interpret rule errors.
Ahhh. Gotcha. Makes sense....

merb
10-17-2008, 11:20 AM
I am using version 1129 and I did what Rocker said to do with the code.

When I boot up my server, it still shows the "Unable to find" errors. Also when I tried to run the code in the Query browser, I kept getting errors (Unknown table, table already exists, etc.) but eventually they went away.

Andrew80k
10-17-2008, 11:43 AM
Also, since I read your initial post, what are your log files saying? Do you have quest_debug files in your logs directory? Break those open and see what they say.

Anything in the logs?

merb
10-17-2008, 01:00 PM
This is the only thing I get for the quest files:

---------------------------------------------
[10.13. - 17:28:37] Starting Log: logs/eqemu_quest_zone_3832.log
[10.13. - 17:28:37] Tying perl output to eqemu logs
[10.13. - 17:28:37] Creating EQEmuIO=HASH(0x113ddc4)
[10.13. - 17:28:37] Creating EQEmuIO=HASH(0x113e10c)
[10.13. - 17:28:37] Loading perlemb plugins.
[10.13. - 17:28:37] Loading perl commands...
[10.13. - 17:28:37] Subroutine GetSkill redefined at (eval 10) line 1.
[10.13. - 17:51:32] Terminating on signal SIGHUP(1)

Andrew80k
10-17-2008, 01:06 PM
No zone_quest_debug file?

merb
10-17-2008, 01:37 PM
None, just some zone_dynamic files that show pretty much the rule_sets:

[Debug] [ZONE__INIT] 202 commands loaded
[Debug] [RULES__CHANGE] Loading rule set 'default' (0)
[Debug] [RULES__CHANGE] Set rule Character:AutosaveIntervalS to value 300
[Debug] [RULES__CHANGE] Set rule Character:EnduranceRegenMultiplier to value 100
[Debug] [RULES__CHANGE] Set rule Character:HPRegenMultiplier to value 50
[Debug] [RULES__CHANGE] Set rule Character:LeaveCorpses to value false
[Debug] [RULES__CHANGE] Set rule Character:LeaveNakedCorpses to value false
[Debug] [RULES__CHANGE] Set rule Character:ManaRegenMultiplier to value 100
[Debug] [RULES__CHANGE] Set rule Character:MaxLevel to value 51
[Debug] [RULES__CHANGE] Set rule Combat:BaseCritChance to value 0.0000000000000
[Debug] [RULES__CHANGE] Set rule Combat:BerserkBaseCritChance to value 0.0600000000000
[Debug] [RULES__CHANGE] Set rule Combat:NPCBashKickLevel to value 6
[Debug] [RULES__CHANGE] Set rule Combat:WarBerBaseCritChance to value 0.0300000000000
[Debug] [RULES__CHANGE] Set rule GM:MinStatusToZoneAnywhere to value 200
[Debug] [RULES__CHANGE] Set rule Guild:MaxMembers to value 2048
[Debug] [RULES__CHANGE] Set rule Pets:AttackCommandRange to value 150.0000000000000
[Debug] [RULES__CHANGE] Set rule Skills:MaxTrainTradeskills to value 21
[Debug] [RULES__CHANGE] Set rule Combat:FleeHPRatio to value 20
[Debug] [RULES__CHANGE] Set rule Zone:GraveyardTimeMS to value 1200000
[Debug] [RULES__CHANGE] Set rule Zone:EnableShadowrest to value false
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZWhenLoading to value true
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZAtWaypoints to value true
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZWhenMoving to value true
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZOnSendTo to value true
[Debug] [RULES__CHANGE] Set rule Watermap:CheckForWaterWhenFishing to value true
[Debug] [RULES__CHANGE] Set rule Watermap:CheckForWaterOnSendTo to value true
[Debug] [RULES__CHANGE] Set rule Watermap:CheckForWaterWhenMoving to value true
[Debug] [RULES__CHANGE] Set rule Watermap:CheckForWaterAtWaypoints to value true
[Debug] [RULES__CHANGE] Set rule Watermap:CheckWaypointsInWaterWhenLoading to value true
[Debug] [RULES__CHANGE] Set rule Character:HealOnLevel to value true
[Debug] [RULES__CHANGE] Set rule Character:FeignKillsPet to value false
[Debug] [RULES__CHANGE] Set rule Character:ItemManaRegenCap to value 15
[Debug] [RULES__CHANGE] Set rule Character:DeathItemLossLevel to value 10
[Debug] [RULES__CHANGE] Set rule Combat:EnableFearPathing to value true
[Debug] [RULES__CHANGE] Set rule Zone:EnableMQZoneDetector to value false
[Debug] [RULES__CHANGE] Set rule Zone:MQWarpExemptStatus to value 50
[Debug] [RULES__CHANGE] Set rule Character:ExpMultiplier to value 1.5000000000000
[Debug] [RULES__CHANGE] Set rule Character:DeathExpLossLevel to value 10
[Debug] [RULES__CHANGE] Set rule Character:CorpseDecayTimeMS to value 86400000
[Debug] [RULES__CHANGE] Set rule Zone:MQZoneExemptStatus to value 50
[Debug] [RULES__CHANGE] Set rule Zone:MQGateExemptStatus to value 50
[Debug] [RULES__CHANGE] Set rule Zone:MQGhostExemptStatus to value 50
[Debug] [RULES__CHANGE] Set rule Zone:EnableMQWarpDetector to value true
[Debug] [RULES__CHANGE] Set rule World:ZoneAutobootTimeoutMS to value 120000
[Debug] [RULES__CHANGE] Set rule World:ClientKeepaliveTimeoutMS to value 95000
[Debug] [RULES__CHANGE] Set rule Aggro:PetSpellAggroMod to value 10
[Debug] [RULES__CHANGE] Set rule Aggro:SongAggroMod to value 33
[Debug] [RULES__CHANGE] Set rule Aggro:SpellAggroMod to value 100
[Debug] [RULES__CHANGE] Set rule Zone:EnableMQGateDetector to value true
[Debug] [RULES__CHANGE] Set rule Zone:EnableMQGhostDetector to value true
[Debug] [RULES__CHANGE] Set rule Character:ConsumptionMultiplier to value 200
[Debug] [RULES__CHANGE] Set rule Spells:AutoResistDiff to value 15
[Debug] [RULES__CHANGE] Set rule Spells:ResistChance to value 2.0000000000000
[Debug] [RULES__CHANGE] Set rule Spells:ResistMod to value 0.4000000000000
[Debug] [RULES__CHANGE] Set rule Spells:PartialHitChance to value 0.7000000000000
[Debug] [RULu
[Debug] [RULES__CHANGE] Set rule Zone:NPCGlobalPositionUpdateInterval to value 60000
[Debug] [RULES__CHANGE] Set rule NPC:MinorNPCCorpseDecayTimeMS to value 600000
[Debug] [RULES__CHANGE] Set rule NPC:MajorNPCCorpseDecayTimeMS to value 1200000
[Debug] [RULES__CHANGE] Set rule World:UseBannedIPsTable to value true
[Debug] [RULES__CHANGE] Set rule Zone:ClientLinkdeadMS to value 180000
[Debug] [RULES__CHANGE] Set rule NPC:UseItemBonusesForNonPets to value true
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZMaxDeltaSendTo to value 12.0000000000000
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZMaxDeltaLoading to value 12.0000000000000
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZMaxDeltaMoving to value 12.0000000000000
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZMaxDeltaWaypoint to value 12.0000000000000
[Debug] [RULES__CHANGE] Set rule Character:ItemHealthRegenCap to value 15
[Debug] [RULES__CHANGE] Set rule Combat:UseIntervalAC to value true
[Debug] [RULES__CHANGE] Set rule Combat:PetAttackMagicLevel to value 30
[Debug] [RULES__CHANGE] Set rule NPC:SayPauseTimeInSec to value 10
[Debug] [RULES__CHANGE] Set rule NPC:OOCRegen to value 0
[Debug] [RULES__CHANGE] Set rule Aggro:SmartAggroList to value false
[Debug] [RULES__CHANGE] Set rule Aggro:SittingAggroMod to value 35
[Debug] [RULES__CHANGE] Set rule Aggro:MeleeRangeAggroMod to value 20
[Debug] [RULES__CHANGE] Set rule Aggro:CurrentTargetAggroMod to value 0
[Debug] [RULES__CHANGE] Set rule Aggro:CriticallyWoundedAggroMod to value 100
[Debug] [RULES__CHANGE] Set rule Aggro:SlowAggroMod to value 450
[Debug] [RULES__CHANGE] Set rule Aggro:IncapacitateAggroMod to value 500
[Debug] [RULES__CHANGE] Set rule Aggro:MovementImpairAggroMod to value 175
[Debug] [RULES__CHANGE] Set rule NPC:BuffFriends to value true
[Debug] [RULES__CHANGE] Set rule Zone:MQWarpDetectorDistance to value 30.0000000000000
[Debug] [RULES__CHANGE] Set rule Zone:MQWarpLagThreshold to value 140.0000000000000
[Debug] [RULES__CHANGE] Set rule Zone:MQWarpThresholdTimer to value 90000.0000000000000
[Debug] [RULES__CHANGE] Set rule Watermap:FishingRodLength to value 30.0000000000000
[Debug] [RULES__CHANGE] Set rule Watermap:FishingLineLength to value 40.0000000000000
[Debug] [RULES__CHANGE] Set rule NPC:EnableNPCQuestJournal to value true
[Debug] [RULES__CHANGE] Set rule World:MaxClientsPerIP to value -1
[Debug] [RULES__CHANGE] Set rule World:ExemptMaxClientsStatus to value -1
[Debug] [RULES__ERROR] Unable to find rule 'TaskSystem:EnableTaskSystem'
[Debug] [RULES__ERROR] Unable to interpret rule record for TaskSystem:EnableTaskSystem
[Debug] [RULES__ERROR] Unable to find rule 'TaskSystem:PeriodicCheckTimer'
[Debug] [RULES__ERROR] Unable to interpret rule record for TaskSystem:PeriodicCheckTimer
[Debug] [RULES__ERROR] Unable to find rule 'TaskSystem:RecordCompletedTasks'
[Debug] [RULES__ERROR] Unable to interpret rule record for TaskSystem:RecordCompletedTasks
[Debug] [RULES__ERROR] Unable to find rule 'TaskSystem:RecordCompletedOptionalActivities'
[Debug] [RULE

merb
10-19-2008, 10:21 AM
Ok, I started off with a fresh install. I'm using EQEmu 1129, Active Perl 5.8.7, MySQL 5.0, and Ax Classic for my DB.

Still, even after a fresh install and following TechGuy's guide word for word, I'm getting these errors:

[10.19. - 10:09:28] [RULES__ERROR] Unable to find rule 'TaskSystem:EnableTaskSystem'
[10.19. - 10:09:28] [RULES__ERROR] Unable to interpret rule record for TaskSystem:EnableTaskSystem
[10.19. - 10:09:28] [RULES__ERROR] Unable to find rule 'TaskSystem:PeriodicCheckTimer'
[10.19. - 10:09:28] [RULES__ERROR] Unable to interpret rule record for TaskSystem:PeriodicCheckTimer
[10.19. - 10:09:28] [RULES__ERROR] Unable to find rule 'TaskSystem:RecordCompletedTasks'
[10.19. - 10:09:28] [RULES__ERROR] Unable to interpret rule record for TaskSystem:RecordCompletedTasks
[10.19. - 10:09:28] [RULES__ERROR] Unable to find rule 'TaskSystem:RecordCompletedOptionalActivities'
[10.19. - 10:09:28] [RULES__ERROR] Unable to interpret rule record for TaskSystem:RecordCompletedOptionalActivities
[10.19. - 10:09:28] [RULES__ERROR] Unable to find rule 'TaskSystem:KeepOneRecordPerCompletedTask'
[10.19. - 10:09:28] [RULES__ERROR] Unable to interpret rule record for TaskSystem:KeepOneRecordPerCompletedTask
[10.19. - 10:09:28] [RULES__ERROR] Unable to find rule 'TaskSystem:EnableTaskProximity'
[10.19. - 10:09:28] [RULES__ERROR] Unable to interpret rule record for TaskSystem:EnableTaskProximity
[10.19. - 10:09:28] [RULES__ERROR] Unable to find rule 'World:ClearTempMerchantlist'
[10.19. - 10:09:28] [RULES__ERROR] Unable to interpret rule record for World:ClearTempMerchantlist
[10.19. - 10:09:28] [RULES__ERROR] Unable to find rule 'Zone:AutoShutdownDelay'
[10.19. - 10:09:28] [RULES__ERROR] Unable to interpret rule record for Zone:AutoShutdownDelay
[10.19. - 10:09:28] [RULES__ERROR] Unable to find rule 'World:EnableTutorialButton'
[10.19. - 10:09:28] [RULES__ERROR] Unable to interpret rule record for World:EnableTutorialButton
[10.19. - 10:09:28] [RULES__ERROR] Unable to find rule 'World:EnableReturnHomeButton'
[10.19. - 10:09:28] [RULES__ERROR] Unable to interpret rule record for World:EnableReturnHomeButton

I ran that long list of changes through the query browser and everything went fine. I ran the required sql changes from the changelog and that went fine. Any suggestions? :?

merb
10-19-2008, 10:38 AM
Sorry for the double post, but I went and grabbed the revisions from the SVN and threw them in my EQEmu-0.7.0-1129 folder and now whenever I try to boot up my server, I get this:

The procedure entry point Perl_newXS_flags could not be located in the dynamic link library perl58.dll

What does this mean and should I have put them in a different folder?

Andrew80k
10-19-2008, 11:03 AM
Have you tried upgrading your ActivePerl? I've seen solutions for this issue that have that. I run 5.8.8.

merb
10-19-2008, 03:00 PM
Ok, I grabbed 5.8.8 and I'm going to go back and do yet another fresh install (after all, third times the charm, right?)... Before I do this, if I download Revisions109 from the SVN, will that affect my ax_classic DB or can it be used with both PEQ and Ax?