Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #16  
Old 01-23-2015, 04:29 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

From your errors, I am guessing you are using bots, but also have some SQL issues with them.

As for the merc SQL errors, those should have been corrected when you started world and the auto db update script ran. When it starts, it will bring up a menu that says if your db is up to date or not (and yours should have said it was not due to the meele vs melee issue).

However, if your server was updated correctly, and then you resourced the merc stuff after that, the DB version would match the server code, so it wouldn't check for the db updates like the meele one for mercs. If you set your db version in the db_version table to something like 1, it would recheck all SQL updates and let you apply them automatically. This should have been able to correct your issue with the SQL errors.

As far as setting up the individual merchants goes, I haven't really looked into that when using a current PEQ DB and the merc related SQL. Basically, what you need to do is get 1 Merc Merchant working by adding it to the merc_merchant_entries table and after that you can fix the rest in the same way. Seems like you are already making progress on that stuff though.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #17  
Old 01-24-2015, 08:45 PM
fault
Hill Giant
 
Join Date: Sep 2005
Posts: 114
Default

not using bots yet, compiled with but the sql is... and issue in another topic.


I built in the exact order (except the virtual box stuff) as this guide states http://wiki.eqemulator.org/p?EQEmu_o...n_7_Virtualbox

and still ended with those issues, but ive fixed them and mercs are operating excellently, tank mercs are swinging at about 500% haste but that is a small issue that can be fixed later
Reply With Quote
  #18  
Old 01-29-2015, 09:37 AM
werebat's Avatar
werebat
Hill Giant
 
Join Date: Oct 2010
Posts: 143
Default

I have been playing Live recently and noticed that Merc healers (balanced) start to heal you when your health dips below 75%. In EQEmu it is set to 95%. Can this be adjusted to match Live? 95% is inefficient and a merc can burn all their mana early in one combat.

I have thought about parameterizing it, but I am not that well versed in C++.
Reply With Quote
  #19  
Old 01-29-2015, 10:58 AM
dagulus2
Hill Giant
 
Join Date: Feb 2013
Posts: 220
Default

Quote:
Originally Posted by fault View Post
and still ended with those issues, but ive fixed them and mercs are operating excellently, tank mercs are swinging at about 500% haste but that is a small issue that can be fixed later
Pretty sure this is due to NPCs being moved over to using attack_delay rather than attack_count/attack_speed.
Reply With Quote
  #20  
Old 01-29-2015, 03:47 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Quote:
Originally Posted by werebat View Post
I have been playing Live recently and noticed that Merc healers (balanced) start to heal you when your health dips below 75%. In EQEmu it is set to 95%. Can this be adjusted to match Live? 95% is inefficient and a merc can burn all their mana early in one combat.

I have thought about parameterizing it, but I am not that well versed in C++.
The AI for Mercenaries has a decent amount of work left to do. I think the majority of it was a straight copy from the Bots AI. It would definitely be good to have a table to define AI settings at some point for Mercs (and possibly Bots). I am primarily trying to remove as many bugs with them as possible and allow full functionality if possible. Once that is done, I may take a look at AI at some point, but I am not really an expert in that area yet. I am sure many improvements could be made.

We still need to implement stances, roles, and plenty of other things first, unless someone else wants to work on the AI at the same time as this stuff is being done.

Quote:
Originally Posted by dagulus2 View Post
Pretty sure this is due to NPCs being moved over to using attack_delay rather than attack_count/attack_speed.
That is possible. The merc_stats table could probably be updated with simple queries to compensate for that issue in the time-being by anyone running Mercs.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #21  
Old 01-30-2015, 02:31 AM
demonstar55
Demi-God
 
Join Date: Apr 2008
Location: MA
Posts: 1,164
Default

Merc attack speed should be fixed now.
Reply With Quote
  #22  
Old 03-16-2015, 09:16 PM
Huppy's Avatar
Huppy
Demi-God
 
Join Date: Oct 2010
Posts: 1,332
Default

Just started playing with a merc for first time, since they were put in the EQEmu game.
I only tried a tank merc, but seemed to work pretty good, zoned around, killed a few mobs.(on my own server)
I disabled the upkeep in rule values, then I noticed my UF client still getting the upkeep messages, so for now I set the
upkeep interval timer to 9999999 just to slow that annoying message down.
I also noticed if I zone with the merc unsuspended, the merc window changes and the "info" shows a db_string error.
No big deal though, everything still works.
Reply With Quote
  #23  
Old 03-25-2015, 02:29 AM
markusdabrave's Avatar
markusdabrave
Sarnak
 
Join Date: Jan 2012
Location: Plano, TX
Posts: 69
Default

Hi guys, newbie here so please forgive me if this is answered elsewhere. I haven't had much luck finding fixes for the merc stuff though I do appreciate the fact that I've learned a lot of SQL and am really getting a good insight as to how things work on the backend.

Anyway, I've been working on getting my mercs up and running for a few days now and keep running into problems. I sourced mercs.sql but after a lot of forum research, I've come to the conclusion that I might have an old version of it. Eyeballing the database tables and looking at what the script was doing, I found some problems:
  • It was creating a column using meele instead of melee (obviously a typo that was copied)
  • It created a specialattks column, which apparently deprecated and replaced by special_abilities
  • It also created an attack_speed column which is also deprecated and replaced by attack_delay
Nothing a simple find/replace with NotePad++ couldn't fix. I manged to weed my way through those issues and fix them. However, now when I try to hire my merc in game I'm getting a message about a column called statscale being missing. This one has me stumped, but I noticed in the changelog this was added fairly recently.

Quote:
== 01/29/2015 ==
Trevius: Added more information to Mercenary Logging.
Trevius: Added potential fix for Mercenaries that fail to unsuspend.
Trevius: Added a new "statscale" field to the merc_stats table that can be used to quickly balance Mercenary Stats based on Level.
Trevius: The new "statscale" field now combines with the Mercs::ScaleRate rule value (default 100 percent for both).
So I guess what I'm wanting to know is: how can I obtain the most current mercs.sql or if that's a relatively easy fix can you point me in the right direction?

I'm running EQEmu in a Debian VM using MySQL if it matters. And definitely thanks for all you guys do, even without the mercs I'm having a lot of fun learning how the game works!

Edit: I think I got it. Rereading my own quote from Trevius (duh) I ran the query:

Quote:
alter table merc_stats
add statscale int
followed by:

Quote:
UPDATE `merc_stats` SET `statscale` = 100
No errors and my merc spawned. Will see where it goes from here.
Reply With Quote
  #24  
Old 06-01-2015, 06:48 PM
castleman74
Fire Beetle
 
Join Date: May 2015
Posts: 4
Default

Is there a way to enable journeyman 5 mercs?
Reply With Quote
  #25  
Old 02-13-2016, 11:34 AM
jpyou127's Avatar
jpyou127
Discordant
 
Join Date: Nov 2005
Posts: 270
Default

Just installed a fresh PEQ db from an install of the awesome auto-installer by Akkadius. I enabled one mercenary vendor (71) in PoK to test. I am using UF. I get apprentice and journeyman drop downs. But I get no tiers and the right 2 sub-panes DB string errors. I have tried 2 different client dbstr_us.txt (live current ~7mb and rof2 ~4mb). I have also reloaded mercs.sql and restarted the server. And last, when I hit hire I get "mercenary failed to spawn". There are no events logged and no sql errors in world pane. Oh and yes rule set is enable also.

Help!


Celestial
Reply With Quote
  #26  
Old 02-16-2016, 10:48 AM
ionhsmith
Discordant
 
Join Date: Jun 2014
Posts: 284
Default

Using ROF2 tested out mercs on my server and the tank merc journeyman tier 2 attacks everything as soon as auto attack comes on, the damage caster will run up to the mob but does nothing, and the healer will cast buff but not heal.
Reply With Quote
  #27  
Old 02-16-2016, 11:34 AM
jpyou127's Avatar
jpyou127
Discordant
 
Join Date: Nov 2005
Posts: 270
Default

Update: I dropped all merc tables and the view. Sourced in tables from the current peq db and got Mercs to work. I confirm ionhsmith's assessment of merc behavior. I am using UF client.


Celestial
Reply With Quote
  #28  
Old 06-02-2016, 04:54 PM
cannon
Hill Giant
 
Join Date: Dec 2004
Location: Pittsburgh, PA
Posts: 128
Default

Quote:
Originally Posted by bakajikara View Post
Using ROF2 client sometimes caint unsuspend a merc unless zone or evac.
I had this issue too and thought it might be worth mentioning. This started happening to me after I changed the Merc:SuspendIntervalMS (milliseconds) time in the database and it did not match the Merc:SuspendIntervalS (seconds)

I noticed someone abusing the merc healer set at a default 10 second timer, by running him dry then suspending him and unspending him back to full mana and health.

So, I thought changing them both to the same number would change the interval, apparently the timer was hitting zero with the MS setting and the actual unsuspend time was going the full time of the Seconds setting and not letting me unsuspend. If that makes any sense.

I changed the Merc:SuspendIntervalMS setting to 180000 (1000 milliseconds = 1 second)
and the Merc:SuspendIntervalS setting to 180

Now the unsuspend merc button will appear after 3 minutes of suspending the merc or the death of the merc.

The unsuspend/suspend button works without zoning on Sof2 and Underfoot.
Reply With Quote
  #29  
Old 06-05-2016, 04:49 PM
Shiny151
Hill Giant
 
Join Date: Jul 2009
Location: Indianapolis
Posts: 228
Default

Quote:
Originally Posted by cannon View Post
I had this issue too and thought it might be worth mentioning. This started happening to me after I changed the Merc:SuspendIntervalMS (milliseconds) time in the database and it did not match the Merc:SuspendIntervalS (seconds)

I noticed someone abusing the merc healer set at a default 10 second timer, by running him dry then suspending him and unspending him back to full mana and health.

So, I thought changing them both to the same number would change the interval, apparently the timer was hitting zero with the MS setting and the actual unsuspend time was going the full time of the Seconds setting and not letting me unsuspend. If that makes any sense.

I changed the Merc:SuspendIntervalMS setting to 180000 (1000 milliseconds = 1 second)
and the Merc:SuspendIntervalS setting to 180

Now the unsuspend merc button will appear after 3 minutes of suspending the merc or the death of the merc.

The unsuspend/suspend button works without zoning on Sof2 and Underfoot.
Is this still working for you? I was running into the same issue and have tried various time constraints from 45 seconds to 3 minutes; unless it's a very short time the result is always the same; at some point the unsuspend fails.
Reply With Quote
  #30  
Old 06-05-2016, 07:43 PM
cannon
Hill Giant
 
Join Date: Dec 2004
Location: Pittsburgh, PA
Posts: 128
Default

Quote:
Originally Posted by Shiny151 View Post
Is this still working for you? I was running into the same issue and have tried various time constraints from 45 seconds to 3 minutes; unless it's a very short time the result is always the same; at some point the unsuspend fails.
Seems like I can suspend and unsuspend a couple times then it quits working at random.
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 08:22 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