EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Windows Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=587)
-   -   Mercenary Failed to Spawn! (https://www.eqemulator.org/forums/showthread.php?t=40103)

Atzanik 10-14-2015 08:10 PM

Mercenary Failed to Spawn!
 
I'm new to EQEmu and have setup a server (with local login server). I'm using peqbeta_2015_08-12-02_01, and Underfoot client. Everything is going well except I can't seem to get the mercenaries to work.

I followed the guild for setting up the windows server and have what I believe are the up to date source files (as of earlier today anyway).

- I've replaced all the missing files in Underfoot
- I've sourced the mercs.sql file to the database
- I've enabled the Mercs (set to true) in the rule_values for the ruleset I'm using.
- I've updated the the class to 71 for the liaisons in the npc_types table
- I've applied the table updates from git\required
- I've fixed the melee/meele naming issue in the merc_weaponinfo table
- Liaisons let me browse the mercs, and all is well then I click Hire and get:
"Mercenary Failed to Spawn!" error. Nothing else, no more SQL errors, just that error.

I've rebuilt the database from scratch again just in case I made a mistake or missed something, and it still isn't working.

I'm at a bit of a loss here what to try next. If anyone could offer some suggestions that would be great. I did try to search the forums but all the resolutions to this problem that I found are not solving the issue I'm having.

If I can provide any information that may help you help me, just let me know. I'm quite comfortable with SQL and can dump tables, or whatever if that helps troubleshoot this.

Much Thanks!

Uleat 10-14-2015 08:26 PM

Post your results for:
Code:

SHOW CREATE VIEW `vwmercnpctypes`
and
Code:

EXPLAIN `vwmercnpctypes`
..if you would, please :)

Atzanik 10-14-2015 08:53 PM

Code:

SHOW CREATE VIEW `vwmercnpctypes`
Code:

CREATE
    ALGORITHM = UNDEFINED
    DEFINER = `root`@`localhost`
    SQL SECURITY DEFINER
VIEW `vwmercnpctypes` AS
    SELECT
        `ms`.`merc_npc_type_id` AS `merc_npc_type_id`,
        '' AS `name`,
        `ms`.`clientlevel` AS `clientlevel`,
        `ms`.`level` AS `level`,
        `mtyp`.`race_id` AS `race_id`,
        `mstyp`.`class_id` AS `class_id`,
        `ms`.`hp` AS `hp`,
        `ms`.`mana` AS `mana`,
        0 AS `gender`,
        `mai`.`texture` AS `texture`,
        `mai`.`helmtexture` AS `helmtexture`,
        `ms`.`attack_speed` AS `attack_speed`,
        `ms`.`STR` AS `STR`,
        `ms`.`STA` AS `STA`,
        `ms`.`DEX` AS `DEX`,
        `ms`.`AGI` AS `AGI`,
        `ms`.`_INT` AS `_INT`,
        `ms`.`WIS` AS `WIS`,
        `ms`.`CHA` AS `CHA`,
        `ms`.`MR` AS `MR`,
        `ms`.`CR` AS `CR`,
        `ms`.`DR` AS `DR`,
        `ms`.`FR` AS `FR`,
        `ms`.`PR` AS `PR`,
        `ms`.`Corrup` AS `Corrup`,
        `ms`.`mindmg` AS `mindmg`,
        `ms`.`maxdmg` AS `maxdmg`,
        `ms`.`attack_count` AS `attack_count`,
        `ms`.`special_abilities` AS `special_abilities`,
        `mwi`.`d_melee_texture1` AS `d_melee_texture1`,
        `mwi`.`d_melee_texture2` AS `d_melee_texture2`,
        `mwi`.`prim_melee_type` AS `prim_melee_type`,
        `mwi`.`sec_melee_type` AS `sec_melee_type`,
        `ms`.`runspeed` AS `runspeed`,
        `ms`.`hp_regen_rate` AS `hp_regen_rate`,
        `ms`.`mana_regen_rate` AS `mana_regen_rate`,
        1 AS `bodytype`,
        `mai`.`armortint_id` AS `armortint_id`,
        `mai`.`armortint_red` AS `armortint_red`,
        `mai`.`armortint_green` AS `armortint_green`,
        `mai`.`armortint_blue` AS `armortint_blue`,
        `ms`.`AC` AS `AC`,
        `ms`.`ATK` AS `ATK`,
        `ms`.`Accuracy` AS `Accuracy`,
        `ms`.`spellscale` AS `spellscale`,
        `ms`.`healscale` AS `healscale`
    FROM
        (((((`merc_stats` `ms`
        JOIN `merc_armorinfo` `mai` ON (((`ms`.`merc_npc_type_id` = `mai`.`merc_npc_type_id`)
            AND (`mai`.`minlevel` <= `ms`.`level`)
            AND (`mai`.`maxlevel` >= `ms`.`level`))))
        JOIN `merc_weaponinfo` `mwi` ON (((`ms`.`merc_npc_type_id` = `mwi`.`merc_npc_type_id`)
            AND (`mwi`.`minlevel` <= `ms`.`level`)
            AND (`mwi`.`maxlevel` >= `ms`.`level`))))
        JOIN `merc_templates` `mtem` ON ((`mtem`.`merc_npc_type_id` = `ms`.`merc_npc_type_id`)))
        JOIN `merc_types` `mtyp` ON ((`mtem`.`merc_type_id` = `mtyp`.`merc_type_id`)))
        JOIN `merc_subtypes` `mstyp` ON ((`mtem`.`merc_subtype_id` = `mstyp`.`merc_subtype_id`)))

I have to split up my response due to too many images....

Atzanik 10-14-2015 08:54 PM

Code:

EXPLAIN `vwmercnpctypes`
Code:

+-------------------+-----------------------+------+-----+---------+-------+
| Field            | Type                  | Null | Key | Default | Extra |
+-------------------+-----------------------+------+-----+---------+-------+
| merc_npc_type_id  | int(11) unsigned      | NO  |    | NULL    |      |
| name              | char(0)              | NO  |    |        |      |
| clientlevel      | tinyint(2) unsigned  | NO  |    | 1      |      |
| level            | tinyint(2) unsigned  | NO  |    | 1      |      |
| race_id          | int(10) unsigned      | NO  |    | NULL    |      |
| class_id          | int(10) unsigned      | NO  |    | NULL    |      |
| hp                | int(11)              | NO  |    | 1      |      |
| mana              | int(11)              | NO  |    | 0      |      |
| gender            | int(1)                | NO  |    | 0      |      |
| texture          | tinyint(2) unsigned  | NO  |    | 0      |      |
| helmtexture      | tinyint(2) unsigned  | NO  |    | 0      |      |
| attack_speed      | tinyint(3)            | NO  |    | 0      |      |
| STR              | mediumint(8) unsigned | NO  |    | 75      |      |
| STA              | mediumint(8) unsigned | NO  |    | 75      |      |
| DEX              | mediumint(8) unsigned | NO  |    | 75      |      |
| AGI              | mediumint(8) unsigned | NO  |    | 75      |      |
| _INT              | mediumint(8) unsigned | NO  |    | 80      |      |
| WIS              | mediumint(8) unsigned | NO  |    | 80      |      |
| CHA              | mediumint(8) unsigned | NO  |    | 75      |      |
| MR                | smallint(5)          | NO  |    | 15      |      |
| CR                | smallint(5)          | NO  |    | 15      |      |
| DR                | smallint(5)          | NO  |    | 15      |      |
| FR                | smallint(5)          | NO  |    | 15      |      |
| PR                | smallint(5)          | NO  |    | 15      |      |
| Corrup            | smallint(5)          | NO  |    | 15      |      |
| mindmg            | int(10) unsigned      | NO  |    | 1      |      |
| maxdmg            | int(10) unsigned      | NO  |    | 1      |      |
| attack_count      | smallint(6)          | NO  |    | 0      |      |
| special_abilities | text                  | YES  |    | NULL    |      |
| d_melee_texture1  | int(10) unsigned      | NO  |    | 0      |      |
| d_melee_texture2  | int(10) unsigned      | NO  |    | 0      |      |
| prim_melee_type  | tinyint(4) unsigned  | NO  |    | 28      |      |
| sec_melee_type    | tinyint(4) unsigned  | NO  |    | 28      |      |
| runspeed          | float                | NO  |    | 0      |      |
| hp_regen_rate    | int(11) unsigned      | NO  |    | 1      |      |
| mana_regen_rate  | int(11) unsigned      | NO  |    | 1      |      |
| bodytype          | int(1)                | NO  |    | 0      |      |
| armortint_id      | int(10) unsigned      | NO  |    | 0      |      |
| armortint_red    | tinyint(3) unsigned  | NO  |    | 0      |      |
| armortint_green  | tinyint(3) unsigned  | NO  |    | 0      |      |
| armortint_blue    | tinyint(3) unsigned  | NO  |    | 0      |      |
| AC                | smallint(5)          | NO  |    | 1      |      |
| ATK              | mediumint(9)          | NO  |    | 1      |      |
| Accuracy          | mediumint(9)          | NO  |    | 0      |      |
| spellscale        | float                | NO  |    | 100    |      |
| healscale        | float                | NO  |    | 100    |      |
+-------------------+-----------------------+------+-----+---------+-------+
46 rows in set (0.01 sec)


Atzanik 10-14-2015 08:55 PM

Edit: I cleaned everything up in the previous two posts so that you can read it better. Instead of just cutting and paste from workbench output, I opened the view and cut and paste, then ran the explain on the command line as it puts in the nice table :D

Let me know if you need anything else.

And thank you for the response.

Uleat 10-14-2015 10:16 PM

Ok, I'm making that readable atm..but, it may be tomorrow before I get back to where I can update on anything that I find.

Atzanik 10-15-2015 08:29 AM

Quote:

Originally Posted by Uleat (Post 244421)
Ok, I'm making that readable atm..but, it may be tomorrow before I get back to where I can update on anything that I find.

Sorry about the mess. I've cleaned it up so you don't have to waste your time making it readable. I appreciate your help.

Atzanik 10-15-2015 11:40 AM

Well I feel silly now, and sorry for wasting your time. Turns out the problem is the character I was using for testing was over level 85.

Being my first time at this, I created a character and was playing around with GM commands, and set the character level to 90 (#level 90). After posting this information here, I figured I would try a new character that I hadn't given gear, AAs, and all sorts of other things (while getting familiar with things) to.

Turns out Mercs spawn no problem for any character level 1 - 85, but anything over that and they fail to spawn. This includes having a merc suspended, levelling over 85, then trying to unsuspend.

There is probably some information on this somewhere, but I never came across it. My bad.

jpyou127 10-15-2015 01:44 PM

This is good information! Thanks!

Celestial

Uleat 10-15-2015 02:53 PM

No worries there :)

I'm looking at another lvl 85-based issue..so, this is good to have in recent memory.

Atzanik 10-15-2015 03:20 PM

So I've taken some time and started to dig into things. The merc_stats table only list entries for up to level 85, so I'm betting that's why it failed to spawn the merc over level 85. I'll probably play around with this a bit to see.

I noticed that I don't have stances available for my Mercs. Is this normal in the UI? Maybe I missed something else?

I took a look in the merc.cpp and noticed while reading through the code that stances are not fully implemented. I guess Mercs are still a work in progress. I'll have to do some more reading on here to get up to speed with everything.

Uleat 10-15-2015 03:26 PM

I'm not sure what the exact state is of mercs..but, I'm pretty sure they're playable.


If you happen upon something before I get a chance to review them, please post back and I'll add it to my notes :)


All times are GMT -4. The time now is 06:31 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.