View Single Post
  #22  
Old 02-11-2016, 02:15 PM
Xanathol
Sarnak
 
Join Date: Oct 2009
Posts: 52
Default

I just got old Splitpaw implemented on my server via the data from TakProject (thanks provacting!) and thought I'd share my experience so anyone else coming along and asking about this topic will know the hurdles (and to allow others to peer review my efforts in case I missed something).

Here's what I did:

1. Check groundspawns
There was only one - Reddish Crystal - which was moved to The Hole. I removed the spawn from The Hole (set zoneid = 0) and added the spawn for Splitpaw from TakProject.

2. Move grid values (zoneid = 1
Note your zoneid (in this case, 18 for paw), backup the current grid values, then delete them and insert the grid values from TakProject.

3. Move grid_entries
Same as above - back up current entries, delete, then add the ones from TakProject.

4. Move spawngroup
Insert the spawngroup entries from TakProject and record the new IDs.

5. Move spawn2
I updated the current spawn2 entries to change the zone name from paw to elementalpaw, then insert the ones from TakProject.

6. Move spawnentry & npc_types
Instead of altering every spawn entry for the current NPCs, I elected to remove the ones that didn't belong. So I backed up the unwanted / conflicting npcs, then deleted them. Next I inserted the missing npcs (ensuring no npc ID conflicts).
Next using Excel, I populated the rows from spawnentry from TakProject with the spawngroup IDs I recorded previously, then inserted them into the DB.

7. Manually check factions
Most factions should be fine, but there was an error in my version where 771's primary faction was set to 314 when it should have been 309.

8. Insert loottable
Insert the loottable from TakProject and record the IDs (conviently noted in the name field in the version I have). Now use those to update the NPC loottable entries for your NPCs.

9. Insert lootdrop
The lootdrop table was missing a few rows but otherwise identical, so I copied those over.

10. Insert loottable_entries
Export the loottable_entries then using Excel, update the cooresponding loottable_id - recall the lootdrop ids were the same for my databases.

11. Insert lootdrop_entries
These were present and pre-populated, though I need to double check these. I do know my database had a lot of extra drops which needs to be cleaned up (defiant, etc).


I'm no SQL guy, but the huge SQL statement I used to dig out the respective info for the zone was:

Code:
select *
 from spawn2 s2 join spawngroup sg join spawnentry se join npc_types npc 
join loottable lt join loottable_entries lte join lootdrop_entries lde join items i
 where i.id = lde.item_id and lde.lootdrop_id = lte.lootdrop_id and
 lt.id = npc.loottable_id and lt.id = lte.loottable_id and npc.id = se.npcID 
 and se.spawngroupID = sg.id and s2.spawngroupID = sg.id and s2.zone like '%paw%';
Note that this probably poorly written and can take a while to run. Also, you should not use * in the select but rather pull out the table info you want and use appropriate group by statements to reduce repetition in certain results.

Anyway, for those with experience doing this, please blast away with suggestions, criticism, etc! For those not, hopefully this helps you in your efforts. Btw, if you are doing Paw, don't forget to update South Karana too. On to the next zone!