Log in

View Full Version : Merc vendors borked?


NickW
05-01-2014, 06:48 AM
I can't buy mercs for some reason. When I right click on the merc liasons in PoK I just end up conning them. I tried hailing them for the hell of it and that does nothing as well. I've been using bots in place of mercs so far. But, the bots burn through their mana insanely quickly..

I went back and re-sourced the mercs.sql:

(OPTIONAL) If you plan on using mercenaries, also do the following:

Go to C:\EQ\Source\utils\sql\svn and locate mercs.sql. Copy this file to C:\EQ\SQL. Then type:
source mercs.sql;
and press enter.

Still the same problem..


The only other thing I can find in the guide that mentions mercs is this:

Then, for each of the .sql files you made a note of, starting with the lowest numbered one and proceeding in sequence, enter:
source
and press enter.

Eg. in the example I gave, i.e. using PEQ database rev 2294 and EQEmu Source rev 2501, you would type:

source 2299_required_inspectmessage_fields.sql
source 2300_optional_loot_changes.sql
source 2340_required_maxbuffslotspet.sql
source 2361_required_qs_rule_values.sql
source 2370_required_aa_updates.sql
source 2376_required_aa_updates.sql
source 2380_optional_merc_data.sql
source 2380_optional_merc_merchant_npctypes_update.sql
source 2380_optional_merc_rules.sql
source 2383_required_group_ismerc.sql
source 2428_optional_levelbasedexpmods.sql
source 2448_optional_stun_proc_aggro_rule.sql
source 2471_required_aa_updates.sql
source 2482_required_start_zones.sql
and press enter.

However, it says to skip that part in the guide.

"The next stage is optional and should only be attempted if you run into problems further down the line. Skip to either "Backing up your database) OR straight to Step 8."

This obviously counts as a problem.. Do I just need to source those three files? :confused:

Edit: I am using the UF client by the way. Which apparently should work for mercs. From what I read.

Edit2: I found this post and I think I found the problem.

https://www.eqemulator.org/forums/showthread.php?t=37550&page=3

It suggests checking these three queries:

SELECT short_name,ruleset FROM zone WHERE zoneidnumber = 202;

SELECT * FROM rule_values WHERE rule_name like 'Mercs:%';

SELECT name,class FROM npc_types WHERE class = 71 LIMIT 2;

For the first query I get:

+-------------+---------+
| short_name | ruleset |
+-------------+---------+
| poknowledge | 2 |
+-------------+---------+
1 row in set (0.02 sec)

Which is apparently correct. But, for the second query I get this:

+------------+------------------------------+------------+----------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-----------------------------------------------------------------+
| ruleset_id | rule_name | rule_value | notes


|
+------------+------------------------------+------------+----------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-----------------------------------------------------------------+
| 3 | Mercs:AllowMercs | false |


|
| 2 | Mercs:AllowMercs | false | Turns mercs on for th
e server - will not load merc data if set to false.

|
| 10 | Mercs:AllowMercs | false |


| 1 | Mercs:ChargeMercPurchaseCost | false | Turns Mercenary purch
ase costs on or off.

|
| 1 | Mercs:ChargeMercUpkeepCost | false | Turns Mercenary upkee
p costs on or off.

|
+------------+------------------------------+------------+----------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-----------------------------------------------------------------+
28 rows in set (0.00 sec)

I cut out most of the other garbage in there to shorten things up a bit. I would assume all those falses need to be changed somehow?

For the third query:

It just says "Empty set <0.20 sec>"

Which is apparently also wrong.. Any ideas how to fix this? Thanx for any help.

vsab
05-01-2014, 08:56 AM
http://wiki.eqemulator.org/p?Server_Rules&frm=Main

By default they are turned off, so set AllowMercs to true. If you're no SQL guru you can use HEidiSQL (it's free) to edit the values visually, but if you're keen on learning SQL (which is really quite a big part of the EQ Emu server system):-


UPDATE `peq`.`rule_values` SET `rule_value`='true' WHERE `ruleset_id`=10 AND `rule_name`='Mercs:AllowMercs';


ruleset_is=10 is the default EQEmu one, and is applied at the zone level (so different zones could use different rulesets, presumably so you can have pvp zones or not)...

vsab
05-01-2014, 09:11 AM
Update: since this also applies to linux servers I have created a separate page here:-

http://wiki.eqemulator.org/p?Enabling_Mercenaries

If there are more steps involved then I will update that guide seperately. I'll probably do the same with bots at some point, but since I dislike both features I'll need prompting from users who have issues setting these things up :)

NickW
05-01-2014, 01:15 PM
http://wiki.eqemulator.org/p?Server_Rules&frm=Main

By default they are turned off, so set AllowMercs to true. If you're no SQL guru you can use HEidiSQL (it's free) to edit the values visually, but if you're keen on learning SQL (which is really quite a big part of the EQ Emu server system):-


UPDATE `peq`.`rule_values` SET `rule_value`='true' WHERE `ruleset_id`=10 AND `rule_name`='Mercs:AllowMercs';


ruleset_is=10 is the default EQEmu one, and is applied at the zone level (so different zones could use different rulesets, presumably so you can have pvp zones or not)...

This doesn't seem to be working for me for some reason.

http://i58.tinypic.com/30bpbad.jpg

They aren't changing to true. I also reloaded everything, logged into the game and checked. The mercs still won't do anything.

werebat
05-01-2014, 01:36 PM
that statement is for ruleset 10. if you dont care about the ruleset then type:

UPDATE rule_values SET rule_value='true' WHERE rule_name='Mercs:AllowMercs';

NickW
05-01-2014, 04:16 PM
that statement is for ruleset 10. if you dont care about the ruleset then type:

UPDATE rule_values SET rule_value='true' WHERE rule_name='Mercs:AllowMercs';

Well the AllowMerc values all turned to true. But, the mercs still aren't working. Also when I try that third query:

SELECT name,class FROM npc_types WHERE class = 71 LIMIT 2;

It still says empty.. Apparently, that query is searching for the two warrior liasons. I know they are there in-game. They just won't let me talk to them. Same for all the other liasons. :confused:

Uleat
05-01-2014, 05:06 PM
Does your client support mercs?

NickW
05-01-2014, 05:30 PM
Does your client support mercs?

Yep. I'm running the underfoot client.

NickW
05-03-2014, 09:42 AM
I found this while sniffing around.

"If you're using UF, see http://www.eqemulator.net/wiki/wikka...ssingFilesList

I'm not sure if that list is 100% up to date. And I believe you can just grab the dbstr_us.txt file from live and it should work.
Reply With Quote"

The link doesn't work sadly. It does say something about the dbstr_us.txt though?