Go Back   EQEmulator Home > EQEmulator Forums > General > General::Server Discussion

General::Server Discussion Discussion about emulator servers.
Do not post support topics here.

Reply
 
Thread Tools Display Modes
  #1  
Old 03-08-2015, 04:28 AM
iEqualShane
Fire Beetle
 
Join Date: Apr 2013
Posts: 11
Default Multiple NPC armor textures

Is it possible to make the different armor textures you set through #npcedit/DB visible to clients? I know I can change the individual colors, but I haven't been able to make an NPC wearing a plate chest have on leather pants for example. If it's not possible on EQEmu is this a limitation of the EQ client, or is the feature just lacking right now on the server?
Reply With Quote
  #2  
Old 03-08-2015, 06:59 AM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,603
Default

We do have the columns, although I do not believe anyone has written the support for them. Check the npc_types table to see what I'm talking about.

Also, for future reference (when these columns are supported):
Code:
#npcedit Texture
#npcedit Helmtexture
#npcedit Armtexture
#npcedit Bracertexture
#npcedit Handtexture
#npcedit Legtexture
#npcedit Feettexture
Reply With Quote
  #3  
Old 03-09-2015, 01:37 AM
iEqualShane
Fire Beetle
 
Join Date: Apr 2013
Posts: 11
Default

Right, I see the column, but they don't appear to work. I just wanted to make sure before I started the work to try and enable them that I wasn't just using it incorrectly. Any pointers for enabling this? I've already added the code to read the data from the DB into the MOB object, but now I need to get this to the spawn packet. Is this one of the unknown fields, or is it something else? I might need to look at how the player packet sends the visible gear to other players.
Reply With Quote
  #4  
Old 03-10-2015, 03:38 AM
iEqualShane
Fire Beetle
 
Join Date: Apr 2013
Posts: 11
Default

Okay, I finally got NPCs wearing different armor materials in different slots! I'll need to go back and cleanup the code a bit now that I know what I'm doing. This was a fun way to start learning the code base.

Reply With Quote
  #5  
Old 03-10-2015, 06:02 AM
dagulus2
Hill Giant
 
Join Date: Feb 2013
Posts: 220
Default

Cool! This is a feature I have wanted to see for years.
Reply With Quote
  #6  
Old 03-10-2015, 06:24 AM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,603
Default

To do this, did you just assume that the unknowns in the spawn struct were these 5 texture slots? I looked into this and the amount of unknowns isn't consistent throughout all of the clients, specifically older clients like Titanium.
Reply With Quote
  #7  
Old 03-10-2015, 02:17 PM
iEqualShane
Fire Beetle
 
Join Date: Apr 2013
Posts: 11
Default

Luckily I didn't have to resort to using any of the unknowns. I just needed to fill the equipment array with the proper material values from the database and then set the high bit of the texture value (similar to herosforge) on the npc spawn struct. This was enough to make the client use the values in the equipment array instead of the texture override. It took me awhile and a bit of luck (and swearing) to figure out that setting the high bit on the texture value was the key to making the client use the equipment array material values. So far I've only verified this on the rof2 client, but I own the titanium client too, so I can test that tonight.

I can't begin to say how impressed I am with this project. You guys have really done an awesome job over the years putting this together, and it's been a blast looking through this and trying different things out. I've only been messing with eqemu since last week, but I plan to keep learning and and eventually make a public server with some ideas I have.

Also, has anyone tried to get the herosforge models to work on NPCs? I'm not too familiar with horosforge, but it didn't seem to work when I tried to use it through #npcedit. I'm not sure it's possible, but I want to see if I can make that work next.
Reply With Quote
  #8  
Old 03-10-2015, 02:47 PM
dagulus2
Hill Giant
 
Join Date: Feb 2013
Posts: 220
Default

Heros Forge is working on NPCs, but I think they need a normal texture set to 1 or more as well as the Herosforgemodel field to display. I have most of the Guild Masters in PoK with Heros Forge models, and all are displaying correctly.

Note also that the Herosforgemodel values jump around a bit, I think they start at 50.
Reply With Quote
  #9  
Old 03-10-2015, 02:55 PM
iEqualShane
Fire Beetle
 
Join Date: Apr 2013
Posts: 11
Default

Okay, awesome. I played EQ from 1999-2002 so many of these features are new to me.
Reply With Quote
  #10  
Old 03-10-2015, 11:09 PM
iEqualShane
Fire Beetle
 
Join Date: Apr 2013
Posts: 11
Default

So I took the time to cleanup the code (mostly convert my spaces to tabs). Would the EQEmu devs be interested in this feature? Should I post the diff over in the code submission forums?
Reply With Quote
  #11  
Old 03-10-2015, 11:11 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,072
Default

Quote:
Originally Posted by iEqualShane View Post
So I took the time to cleanup the code (mostly convert my spaces to tabs). Would the EQEmu devs be interested in this feature? Should I post the diff over in the code submission forums?
Create a pull request against our Github repo and we'll review for submission.

Thanks
Reply With Quote
  #12  
Old 03-10-2015, 11:21 PM
iEqualShane
Fire Beetle
 
Join Date: Apr 2013
Posts: 11
Default

Sounds good. This will be my first git pull request so bear with me. Looks like I cloned the master directly to my box, so I guess I'll need to fork then apply a patch to my fork then send the pull. I need to fork anyway for some private changes I want to make that aren't really useful for EQEmu.
Reply With Quote
  #13  
Old 03-11-2015, 12:29 AM
iEqualShane
Fire Beetle
 
Join Date: Apr 2013
Posts: 11
Default

Sorry for the delay. The pull request should be there for review, assuming I did that correctly.

Edit: Somehow missed a header in the commit. Resending.
Reply With Quote
  #14  
Old 03-12-2015, 03:16 AM
iEqualShane
Fire Beetle
 
Join Date: Apr 2013
Posts: 11
Default

This isn't part of the same change, but I went ahead and made it so I could specify herosforge armor on a per slot basis. Instead of adding new columns to the database I'm using the same texture columns for normal equipment, but if the texture is set to 50 or higher I will assign it to the slot's herosforge model.

Now I can make the worst looking outfits in all of Norrath.
Reply With Quote
  #15  
Old 03-12-2015, 05:33 AM
dagulus2
Hill Giant
 
Join Date: Feb 2013
Posts: 220
Default

That would be pretty useful when it came to the new hats. so far I can only make display without any other texture (which looks odd).
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 07:08 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3