Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Database/World Building

Development::Database/World Building World Building forum, dedicated to the EQEmu MySQL Database. Post partial/complete databases for spawns, items, etc.

Reply
 
Thread Tools Display Modes
  #1  
Old 09-08-2008, 02:36 PM
laxative
Hill Giant
 
Join Date: Aug 2008
Location: NorthEast
Posts: 115
Default A real world example working with factions

Hey there,

I just successfully fixed a faction problem that I ran into with my Paladin doing the armor of ro quests. Before I go any further I want to once again express my gratitude to the IMMENSE amount of work that has happened here. What I learned about factions today once again increases my awe for the people who have dug into this project.

OK here's the Issue:

Part of the Armor of Ro Quests is turning fairy dusts into Priestess Ghalea in Kaladim. Well the Priestess is on Clerics of Underfoot Faction, and one good way to improve her faction is to give Bone Chips to Gunlok Jure. So I turned in a bunch of chips (summoned due to testing) but go no where. So I did some digging around the database here is what I found.


The following was all done using NaviCat for Mysql, it is assumed you know how to get this tool working...

Open Navicat and open your database, (I use ax_classic) The first table you need to look at is FACTION_LIST

1. Faction_list contains what I'll call for lack of better term, the primary faction groups, with a whole crapload of 'mods' which I've yet undertaken. Anyway open up the faction table and notice that "ID" column is all numerical and in this case Clerics of Underfoot are 44. Ok that is really important to know. So jot that down.

2. Now open up NPC_FACTION, I did a name sort until I found Priestess Ghalea. Now alterately, and faster you could use George NPC editor and get this information. However you'll notice her FACTION_ID is 2792. That is her personal faction identifier, if you go one column to the right in PRIMARY_FACTION you'll notice this value is zero. She has no link to a primary faction group.

3. So now let's get the priestess fixed. In the NPC_FACTION table, ID 2792 change the primary faction to 44. Now Ghalea is officially tied to the Clerics of Underfoot.

ASSUMPTION: Every NPC needs to have a primary_faction associated with it if you actually plan to align them in the faction system. Even if the Primary faction is actually just the invidual NPC. The reason I assume this is because of the further testing that I did:

4. Now to fix the bone chip quest, Open your EQEMU folder and then open the quests folder. Browse to folder KaladimB and location Gunlok_Jure.pl. Open that in a text editor and add the line that I've made red for this example

sub EVENT_ITEM {
if($itemcount{13073} > 0 && $itemcount{13073} < 4 ){
quest::say("I called for the remains of four skeletons.");
} elsif($itemcount{13073} == 4){
quest::say("You have done well. We thank you for your deed with this humble reward. The power behind the raising of our dead shall soon be found. You will earn more respect with more bone chips. I only wish you could assist in the return of the [remains of Cromil].");
quest::summonitem("2116");
quest::givecash("7","10","0","0");
quest::faction("10803","1");
quest::faction("44","5");
Now I'm a bit generous in this example, for every 4 bone chips you hand to Gunlok he will increase your faction with the Clerics of Underfoot 5 points.

NOTE: If you see a faction message about your faction improving with "somenumber" that means that there is no primary_faction associated because if it was, as we've seen in the last example, when you get the faction message you will get the value of the "name" column in faction_list rather than some obscure number.

Shortcut, ok you want to fix this fast? Here's a quick fix, Do step 2 above, that gives Ghalea an association. Then open up the Faction_Values table, this tracks the Player's Factions, find you characterid and either insert or edit the row for faction 44. So now my faction_value table, has a row:0 129 (my char_id with 44 as the faction_id and 126(slightly into amiable) in the current_value.

I wanted to post this as much for me to find it later, as hoping it helps others.

Laxa
Reply With Quote
  #2  
Old 10-03-2008, 02:53 PM
Skizoke
Sarnak
 
Join Date: Sep 2008
Location: Alabama
Posts: 70
Default

Thanks a lot. This will save me some time when I get ready to tie some quests to faction.
Reply With Quote
  #3  
Old 10-31-2008, 09:33 AM
thothramerkaba
Fire Beetle
 
Join Date: Feb 2008
Posts: 10
Default Faction Hits

How do you determine the value of faction hits on NPC deaths?

Say we have a dwarf, killing him decreases dwarf faction by 5 a kill and caps at -1000. Killing that dwarf also increases your elf faction by 10 per kill but caps at +500 faction.

Now say we have another "boss dwarf" on the same faction, but killing him decreases dwarf faction by 100 and increases elf faction by 200, caps are -2000 and +2000 respectively.

How would you do this? Is it a table / value in the database that needs to be altered?
Reply With Quote
  #4  
Old 10-31-2008, 09:43 AM
So_1337
Dragon
 
Join Date: May 2006
Location: Cincinnati, OH
Posts: 689
Default

There isn't too much consistency, unfortunately. Using an example most people would be familiar with, check out one of the giants in Kael. (You may have to click "login as guest", then try the link again.)

Killing one will give you +10 faction for Coldain and Claws of Veeshan, and -30 to all of the Giant factions. That's usually the scale used, if not the exact values. 10 and 30 are pretty big hits. I'd drop a zero off each if we were worried about using a more Live-like faction. However, having negative hits weighted 3:1 over positive hits seems to be pretty accurate.

Hope this helps.
Reply With Quote
  #5  
Old 10-31-2008, 10:22 AM
thothramerkaba
Fire Beetle
 
Join Date: Feb 2008
Posts: 10
Default

Thanks, I will start using that web front end, it looks pretty friendly.
Reply With Quote
  #6  
Old 10-31-2008, 10:34 AM
So_1337
Dragon
 
Join Date: May 2006
Location: Cincinnati, OH
Posts: 689
Default

If you need a hand installing it, VeteranWizard wrote a great guide over at PEQ's forums.
Reply With Quote
  #7  
Old 11-03-2008, 11:19 AM
thothramerkaba
Fire Beetle
 
Join Date: Feb 2008
Posts: 10
Default

Well I am running a different setup than any of those listed so the guide did me no good, does anyone know where in the NPC table / which NPC table the "faction hits on death" are stored?
Reply With Quote
  #8  
Old 11-03-2008, 11:43 AM
So_1337
Dragon
 
Join Date: May 2006
Location: Cincinnati, OH
Posts: 689
Default

The "npc_faction" and "npc_faction_entries" tables.

And I'm unsure what you mean about running a different setup. The PHP editor that you seemed to like requires Apache and PHP to run under Windows. Are you using Linux?
Reply With Quote
  #9  
Old 11-03-2008, 12:34 PM
thothramerkaba
Fire Beetle
 
Join Date: Feb 2008
Posts: 10
Default

Quote:
Originally Posted by So_1337 View Post
The PHP editor that you seemed to like requires Apache and PHP to run under Windows.
I am running it in IIS.

We are developing more of a web frontend for the server that might get shared out to the community but it uses ASP.NET with C# backend.
Reply With Quote
  #10  
Old 11-03-2008, 01:17 PM
So_1337
Dragon
 
Join Date: May 2006
Location: Cincinnati, OH
Posts: 689
Default

Ah, okay. Yeah, I ran into issues trying to run Apache and PHP with IIS, so I wound up disabling the IIS until there's something I really want to use with it. Sounds like you have a pretty good handle on that, I'll leave you to it =) Sounds like your knowledge trumps mine, haha.
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 06:49 AM.


 

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