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

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

Reply
 
Thread Tools Display Modes
  #1  
Old 02-08-2015, 03:44 PM
Riklin
Hill Giant
 
Join Date: May 2003
Location: Tacoma, WA
Posts: 225
Default Yet Another Mercenary failed to spawn! error.

Ok, trying to turn mercs back on.

Compiled last night, with updated source data. Sourced in the mercs.sql from ../source/utils/sql/svn/mercs.sql. Ran all the patches from 3280 and later that had merc in the name, in the same svn directory. Went to ../utils/sql/git/required and sourced all sql later than 12/31/2014 that had merc in the name. Not sure how much the auto-patcher works involving mercs so ran these updates anyway...

Getting this sql error when attempting to Hire a merc.:
[02-08-2015 :: 11:43:25] [MySQL Error] 1054: Unknown column 'm_stats.special_abilities' in 'field list'
SELECT m_stats.merc_npc_type_id, '' AS name, m_stats.level, m_types.race_id, m_subtypes.class_id, m_stats.hp, m_stats.mana, 0 AS gender, m_armorinfo.texture, m_armorinfo.helmtexture, m_stats.attack_delay, m_stats.STR, m_stats.STA, m_stats.DEX, m_stats.AGI, m_stats._INT, m_stats.WIS, m_stats.CHA, m_stats.MR, m_stats.CR, m_stats.DR, m_stats.FR, m_stats.PR, m_stats.Corrup, m_stats.mindmg, m_stats.maxdmg, m_stats.attack_count, m_stats.special_abilities, m_weaponinfo.d_melee_texture1, m_weaponinfo.d_melee_texture2, m_weaponinfo.prim_melee_type, m_weaponinfo.sec_melee_type, m_stats.runspeed, m_stats.hp_regen_rate, m_stats.mana_regen_rate, 1 AS bodytype, m_armorinfo.armortint_id, m_armorinfo.armortint_red, m_armorinfo.armortint_green, m_armorinfo.armortint_blue, m_stats.AC, m_stats.ATK, m_stats.Accuracy, m_stats.statscale, m_stats.spellscale, m_stats.healscale FROM merc_stats m_stats INNER JOIN merc_armorinfo m_armorinfo ON m_stats.merc_npc_type_id = m_armorinfo.merc_npc_type_id AND m_armorinfo.minlevel <= m_stats.level AND m_armorinfo.maxlevel >= m_stats.level INNER JOIN merc_weaponinfo m_weaponinfo ON m_stats.merc_npc_type_id = m_weaponinfo.merc_npc_type_id AND m_weaponinfo.minlevel <= m_stats.level AND m_weaponinfo.maxlevel >= m_stats.level INNER JOIN merc_templates m_templates ON m_templates.merc_npc_type_id = m_stats.merc_npc_type_id INNER JOIN merc_types m_types ON m_templates.merc_type_id = m_types.merc_type_id INNER JOIN merc_subtypes m_subtypes ON m_templates.merc_subtype_id = m_subtypes.merc_subtype_id WHERE m_templates.merc_npc_type_id = 1 AND m_stats.clientlevel = 25 AND m_types.race_id = 7

What have I missed or done wrong or misunderstood or screwed up?

Riklin
Reply With Quote
  #2  
Old 02-08-2015, 09:38 PM
Taleason
Fire Beetle
 
Join Date: May 2011
Location: USA
Posts: 15
Default

Quote:
Originally Posted by trevius View Post

All you should need to do in order to enable mercs is this:

1. Set the AllowMercs rule to true.
2. Create a Merc Merchant NPC that is class 71.
3. Add the NPC ID of the Merc Merchant to the merc_merchant_entries table. (an example is merc_merchant_entry_id = 1, merc_merchant_template_id = 1, and merchant_id = 123456, where 123456 is the NPC ID of the Merc Merchant)
4. Restart your server.

That should be it. If that is not working, then there may be something else wrong with your merc tables (such as a missing update). If you ran the mercs.sql file, then you overwrote some of the updates since that file was created and your queries will fail. Make sure you also applied all merc related sql from after that change as well (which I think are the ones in the git/required folder). The only one I know of for sure offhand is the specialabilities field updates for mercs.
I used this to get mercs working for me... ymmv

Code:
UPDATE `rule_values` SET `rule_value` = 'true' WHERE `rule_name` = 'Mercs:AllowMercs';
UPDATE `npc_types` SET `class` = 71 WHERE `lastname` LIKE '%Mercenary Liaison%';
Reply With Quote
  #3  
Old 02-10-2015, 08:42 AM
Nibiuno
Hill Giant
 
Join Date: Mar 2010
Posts: 101
Default

Do you have the column 'special_abilities' in your merc_stats table? There was a SQL update that changed a column from special_atks or something to that.
Reply With Quote
  #4  
Old 02-10-2015, 10:54 AM
Riklin
Hill Giant
 
Join Date: May 2003
Location: Tacoma, WA
Posts: 225
Default

I restored the database to a previous state before I removed and reloaded the mercs script. It's all working now. The mercs are working much better than they used to. Their hitrate has been significantly reduced, as was appropriate.

thanks again,
Riklin
Reply With Quote
  #5  
Old 06-21-2015, 10:15 PM
Yummy
Sarnak
 
Join Date: Feb 2014
Posts: 71
Default

Quote:
Originally Posted by Taleason View Post
I used this to get mercs working for me... ymmv

Code:
UPDATE `rule_values` SET `rule_value` = 'true' WHERE `rule_name` = 'Mercs:AllowMercs';
UPDATE `npc_types` SET `class` = 71 WHERE `lastname` LIKE '%Mercenary Liaison%';

Thank you, Taleason!

I wish I had found this post, earlier. I lost, oh, at least two hours fudging with the utils/sql/svn and git merc sql scripts.
Reply With Quote
  #6  
Old 06-22-2015, 03:44 AM
N0ctrnl's Avatar
N0ctrnl
Discordant
 
Join Date: Jan 2007
Posts: 443
Default

Only two?
Reply With Quote
  #7  
Old 06-22-2015, 02:20 PM
Yummy
Sarnak
 
Join Date: Feb 2014
Posts: 71
Default

Quote:
Originally Posted by N0ctrnl View Post
Only two?
It was probably more but I was too embarrassed to admit it.
Reply With Quote
  #8  
Old 03-22-2016, 08:59 PM
mutidotpaul
Fire Beetle
 
Join Date: Apr 2013
Location: United States
Posts: 5
Default

Hi all - I seem to be getting that Mercenary failed to spawn! error on my new install.

I'm a little late to the party, but I just recently came across the windows setup guide for PEQ EMU for windows devices and gave that a shot. I do have bots working at the moment, but I'd also like to get merc's to work in case I decide to tweak bots a bit or if they start becoming too much of a drain.

I followed this guide:
https://github.com/EQEmu/Server/wiki...-No-Webserver)

Used peqbeta_2015-08-12-02_01.sql
and sourced in everything from the required GiT folder after August 12th 2015:

(nothing related to mercs)
2015_09_25_inventory_snapshots.sql
2015_11_01_perl_event_export_settings.sql
2015_11_02_ai_idle_no_spell_recast_default_changes .sql
2015_12_01_spell_scribe_restriction_rule.sql
2015_12_07_command_settings.sql
2015_12_17_eqtime.sql
2015_12_21_items_updates_evoitem.sql
2015_12_29_quest_zone_events.sql
2016_01_08_command_find_aliases.sql
2016_03_05_secondary_recall.sql

Or should everything from the required folder regardless of date be sourced in?

Does anything from the C:\EQ\Source\utils\sql\git\optional folder need to be sourced in as well?

Does anything from the C:\EQ\Source\utils\sql\git\optional folder after August 12th 2015 need to be sourced in as well?

I've ran the 3 queries listed previously that are hosted on pastebin that take care of the special attack issue, recreates the mercnpcview and changes the NPCtypes to 71.


Downloaded the free to play steam client to grab the 7+MB dbstr_us.txt, which got rid of the Unknown strings in the Merc Merchant windows.


In regards to this portion:

3. Add the NPC ID of the Merc Merchant to the merc_merchant_entries table. (an example is merc_merchant_entry_id = 1, merc_merchant_template_id = 1, and merchant_id = 123456, where 123456 is the NPC ID of the Merc Merchant)

I see the entries in there, but it doesn't make much sense to me. For instance, Guardian_Adiasean has an NpcID of 202097, and her template ID shows as 14, which seems to be a Kobold Merc Merchant, except there's a slight issue.. she's an Erudite. Should I change her template type to 3? Or maybe I'm reading that wrong entirely?


What I am a little shaky on is changing that melee / meele column and if that is still needed. Does that change only need to happen in merc_weaponinfo?

I see it in merc_weaponinfo a few times -

d_meele_texture1
d_meele_texture2

and changed that to melee.

What I didn't notice, was that in HeidiSQL, after making the change to the column titles, it prompted me to save my changes only after I tried to change to a different table. So here I was thinking the table was already modified. Heidi threw and exception and asked me if i wanted to keep the program open / reopen or close it (forgot to grab a screenshot). Refreshed the DB and the table changes stuck, but still getting the Mercenary failed to spawn! error


Any assistance is much appreciated - not even sure i need Mercs as much as I need to get it to work for my own sanity
Reply With Quote
  #9  
Old 03-22-2016, 09:17 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Your best bet is to check the logs.

Most errors should show up and that will point to the most relevant issue.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #10  
Old 03-23-2016, 07:15 AM
mutidotpaul
Fire Beetle
 
Join Date: Apr 2013
Location: United States
Posts: 5
Default

http://imgur.com/2AwNPc6


Tried logging to file and searching the server folder with voidtools everything and can't seem to locate the actual log so I tried grabbing a screenshot when logging to gmsay.

Will try to look into it more tonight, but wanted to get something posted before heading to work.
Reply With Quote
  #11  
Old 03-23-2016, 06:36 PM
mutidotpaul
Fire Beetle
 
Join Date: Apr 2013
Location: United States
Posts: 5
Default

Here's what i saw when logging in just now -

http://imgur.com/x4vsSxo

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 01:16 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