PDA

View Full Version : New Adventure Tool Request


trevius
06-10-2009, 05:26 PM
Georges,

We were discussing creating the new Adventure zones for LDoN and others that would have multiple versions of each zone, and it made me think that you might be able to incorporate something for it into your NPC Loot Editor. Here is the thread where I brought the idea up at:

http://www.eqemulator.net/forums/showthread.php?t=28512&page=2

I haven't made any adventure zones yet, so I don't really know all of the details needed to make them, but here are some ideas about what I think the tool would need to take into consideration for making copies of Adventure zones:

1. Use the NPC Loot Editor to select a zone.
2. Add a new button on the Editor to create a new Version Copy of the zone.
3. Pressing that button would pop up a new window that gives options for creating the version copy. The options I think would be most important off of the top of my head are:
A. Field for setting the Zone Version number that the new copy should use.
B. Toggle button to give the option to remove loot table IDs from the new copy or to carry over the existing ones.
C. Field for setting the level difference for the new zone from the one being copied. This field could either have positive (add levels) or negative (subtract levels) values put into it. When the new copy is created, this is a flat number that all NPCs in the zone will have added or subtracted from their level setting in the original copy. So, if all of the NPCs in the zone are level 20 and you set this field to 10, all of the NPCs in the copied Version of the zone will be level 30 when the copy is created.
D. Field for setting a percentage increase/decrease for Min/Max hit if the current value of the NPC is > 0. I think the default for this field should be 100, meaning that the Min/Max hit would be the same for the copy. If this field was set to 50, all NPCs in the copy would have 50% of the Min/Max hit of the NPCs they are being copied from. If this field was set to 200, all of the NPCs in the new copy would have double the Min/Max hit of the original NPCs, and so on.
E. Field for setting HP/Mana to a percentage of the original NPCs being copied. This would work the same as the field for Min/Max hit and default would also be 100 for this field.
F. Field for setting all remaining stats (STR, STA, Etc, Resists, Attack Rating, Accuracy, Etc) to a percentage of the original NPCs being copied. This too would work like the Min/Max Hit field, and Default would also be 100. Of course, if any of these fields are set to 0, they remain 0 after the change.
G. Toggle button for copying all of the NPC pathing Grids for the new spawn groups so they use the same pathing as the originals. Default would be to have it set to use the same grids, but there could be an option to stop it from carrying over the grids. This field is optional, as in almost all cases, I think the grids would be wanted for every copy, so this field is not a priority to have in the tool. Just trying to think of extra possible features for it.
H. This one isn't too important to have in the tool, but if possible, it might be nice to have a field for automatically creating new loot table IDs for each Unique loot table ID in the original zone and assign them to the NPCs in the new zone. Basically, if you have 20 NPCs all using the same loot table, the new copy would be using a new loot table ID for all of those same NPCs. Then, the main point of this field is to be able to set coin drop min and max to a percentage of the original loot tables. So, if you are copying NPCs that are level 20 and you want to make the new Version for level 40s, you could have it generate all of the new Loot tables and add double the coin to their loot tables. This way, all of the new loot tables would be there and ready to go and all you would need to do is add in the actual loot. Just trying to cut down time on making the new version copies as much as possible. But, this field is definitely not something that would be required to make the tool extremely helpful.


I am sure you are probably pretty busy as always, so if you don't have time to add a feature like this, it is perfectly understandable. I just wanted to make the suggestion in case you get the time and were looking for some new features to make your tools even more feature packed than they already are :) Seems like most of these features would just be writing up some fairly simple queries and then putting them in so the tool can use them as needed.

Also, if possible, Cavedude requested that the tool generate an SQL file of the changes that it is making (or trying to make) with the tool, since he doesn't have GUI access on PEQ. Maybe that could be one of the options in the Version Copy window to have a Toggle that is default set to automatically update the database, but also has the option of only generating the SQL to do the edit and not actually editing anything directly.

Thanks in advance either way, GeorgeS!

GeorgeS
06-13-2009, 12:12 PM
That sounds like a great challenge - great timing - I just came back from a business trip where I learned some pretty cool sql stuff, so I'm pretty prepared for writing this add-on.

Replication of a zone requires the following workflow (i'm just thinking out-loud)

easy parts
/1/ Creation of a replicate new zone entry in 'zone' table -- pretty easy.
/2/ Assign a new zone-id number in that table, and new shortname
moderately hard parts
/3/ Find NPC's from the zone - easy query (I already have this one made)
/4/ Replicate these NPC's with new id's -easy to do
/4a/ Ability to "wipe" zone clean of npc or it's loot - easy
Hard part
/5/ Find spawngroups from the zone (easy) but create new spawngroups with original npc's - brutal to write, but doable

That's the hard part because of the many table dependencies there. I'm confident i can manage the code. New Spawngroups are needed so as to create a distinct, and not a relational copy.

Easy
/6/ Have it re-use (if needed) grids - easy no issue there
/7/ Remove loot table IDs from the new copy or to carry over the existing ones - easy sql

I'll prototype this today, and start a progress log.
This can definitely be used for any zone, and assist in zone npc building better.

GeorgeS

ChaosSlayerZ
06-13-2009, 12:21 PM
I want to point out that a zone not nessesrily have to be a COPY of existing zone. It could be a stand alone instance zone which doesn't exist as mundane. It also also not nesesarily may have multyple versions of itself (unlike LDON)

cavedude
06-13-2009, 01:19 PM
/1/ Creation of a replicate new zone entry in 'zone' table -- pretty easy.
/2/ Assign a new zone-id number in that table, and new shortname


I just wanted to point out that those two aren't necessary. With instances, KLS has added a "version" column to spawn2 (and I've added it to npc_types, so I can keep track of which zone version the NPC is in.) That column allows us to have multiple versions of the same zone for instances. The basic point is, if you specify version 5 in the adventure template or instance quest functions, then only NPCs with a version 5 spawnpoint will spawn. So on your end, all you would need to do while copying is have an option to specify which version you want the copy to be. That would fill in version in both spawn2 and npc_types. Setting it to the same version as the source would be a 1:1 copy basically, for those wanting to copying spawns to other zones (which would be a cool thing to do I think as well) From there, the user could specify how they want the levels/stats/etc to adjust for the copy.

trevius
06-13-2009, 06:26 PM
Yeah, since the main thing we need is to make an exact copy of the current zone for use in the same zone, but maybe some different values for stats, I don't think it should be as bad as you think, GeorgeS. The idea to copy spawns to another zone is interesting, but there is no way to really handle the spawn2 locations for 2 separate zones easily. In those cases, it is easy enough to just use #npctypespawn in game and #npcspawn add the new spawns in. We just need exact copies of the current zone as far as spawn points go and then copies of the original NPCs in those spawn points. You could probably just append "v1" or "v2" or whatever version to the end of the existing spawngroup name.

Actually, it might make things more simple if you just made something that does an exact copy of the zone and sets it to be used in the new version, and then the other stats can be modified after the new copies are created. To do the modifications, you could add in a new percentage option for adjusting entire columns. It would be similar to the Propogate/Copy field function you already have, accept it would pop up a window that would let you adjust all fields by adding, subtracting, multiplying, or dividing from the original value in the field. So, if you set it to the divide option (radial button or something), then set it to divide all by 2, each field would be half of what it previously was set to. Of course, it would have to be able to use decimals when dividing or multiplying. But, this option would make it really quick to be able to adjust an entire zone column by column to scale exactly how you want to. It also might make your work a bit easier lol.

Thanks in advance as usual, GeorgeS!

GeorgeS
06-13-2009, 10:50 PM
I think I understand this better - and just to clarify , I would need to:
(I'm using an example zone -- mmca, The Forlorn Caverns)
(user specified version #1 as a starting source#)

(1) Find spawngroups from 'mmca' version#1, (I count 106) , and
make copies of these version#1 106 spawngroups.
-- Assign a new version # (user specified) into the 'spawn2' table field='version'.

(2) Find distinct NPC's in 'mmca' version#1,
-- Make copies of those NPC's.
-- Insert a version# in the version field. The user will specify which version# to use as a destination. (1-20 already exist in this case). Say the user selects a new version#21

(2a) Place these new npc's in the spawnentry table using the new spawngroup id's made before
--modify spawngroup with new spawngroup.id and add a new spawngroup.name
--spawn2.version=21, and add spawngroupID to = new 106 spawngroups
--spawnentry.spawngroupID set to new 106 spawngroups
--spawnentry.npcID change to new NPC's we made before


(3) Allow field editing as Trevius mentioned before in main tool

I think this looks right. The order of the workflow is/will be determined later, but I already looked at the db structure and see what's going on.

GeorgeS

trevius
06-13-2009, 11:00 PM
Yeah, that sounds right to me, but I haven't actually made any extra versions just yet. Cavedude would probably be the best to give the final verification on whether that is all that is needed or not.

One thing that might be worth mentioning is that I think spawning a zone initially will spawn it as version 0. So, you might need to have it copy version 0, or you could just set it to allow you to select which version to create the copy from and which version to save the new copy as. Again, CD would have to verify that to be 100% sure.

cavedude
06-14-2009, 12:28 AM
Yep, that's correct.

Version 0 will always spawn, so an option is probably needed to tell the program whether to exclude version 0 entries or not.

trevius
06-14-2009, 04:25 AM
Oh, so if there is a version 0 of spawns in the zone, they will spawn in every instance version? I didn't know that lol. That being the case, it might be nice to also have a way to just change an entire zone to a different version as well. So, you could spawn a zone normally as version 0 with the normal commands and such and then once you are done, just use the tool to change them all over to whatever version number you chose. This would be an extra feature other than what was already listed. This one should be pretty easy though I think as it should just mean finding the mobs in the zone and then changing the version fields for them.

Oh, and that makes me think of another thing that you are probably already aware of, GeorgeS. When searching for the spawns in the zone, we would probably want an option to chose which version of the zone we are searching for, with the default being version 0.

cavedude
06-15-2009, 01:35 PM
Yep, you can think of versions like spawn_conditions, except you cannot change them on the fly once the zone is up. Also, a bit off-topic but while I am thinking of it for the time being, spawn_conditions won't work in an instanced zone. I imagine what will happen is it'll work fine in the first version, but once the second version boots the conditions will effect both zones simultaneously.

Shendare
06-15-2009, 01:55 PM
Hmm... if Version 0 of spawns appear no matter what version of a zone you have loaded, and the default is version 0, then making a blank instanced version of a normal zone sounds like it could be rather difficult.

I suppose you could move all of the existing NPCs to Version 1, and load Version 2 when you want your instanced version, but then how do you make sure everyone is always loading Version 1 of a zone when they don't want the instance, instead of Version 0, which would now have no NPCs in it?

- Shendare

cavedude
06-15-2009, 02:12 PM
I'm sorry, I was mistaken. Version 0 spawnpoints will only spawn in the default (version 0) zone. If you want that particular NPC and spawngroup to spawn in another version, you need to copy the spawn2 entry and set a new version. I was thinking about doors, traps, and objects where they WILL spawn in all versions if set to 0.

Shendare
06-15-2009, 02:16 PM
Ah, now that makes sense.

Thanks for the clarification!

- Shendare

cavedude
06-15-2009, 02:29 PM
KLS just corrected me, only traps will appear in all versions if set to 0. doors and other object work like NPCs.

Shendare
06-15-2009, 02:35 PM
Cool! The more control, the better, IMO!

- Shendare

KLS
06-15-2009, 03:52 PM
And I even said traps would follow the versioning concept, but hadn't tested it.

GeorgeS
06-17-2009, 02:55 AM
Here's my progress on this beta version -


NPC and Loot Editor
08.22.04 - Incorporated a Zone & Adventure Editor - under special window menu. This is used for Adventure zone copying and also for normal zones


SO, I tested the tool under the PEQ mirc and mmca zones - and it appears to work fine. NPC's are copied as well as spawngroups. There's a function to delete 'old' versions - this will wipe the relevant version NPC, spawngroup,spawn2 and spawnentries. I also tested it for copying a 'normal' zone - such as oasis version '0', and it does it fine.

There's no "special" editing of npc stats yet, and as Trevius mentioned, the version# will be included for editing. version # now appears in the last field in the main window. You can filter out the unwanted versions if you want.

btw - it's a beta still, and things will break if your there's a missmatch between spawnentry,spawn2 and related NPC's. The program has error checking built in, and whenever an error occurs, I found the best thing to do is delete that version, and figure out why it happened.

GeorgeS

cavedude
06-17-2009, 08:22 PM
Thanks for working on this tool!

Unfortunately, I've run into a problem. Whenever I work on a new instance, I wipe spawn2, spawnentry, spawngroup, and npc_types so the only data in those tables are the zone I am currently working on. In this case, I have 30 npc_types (all set to version 1), 30 spawngroup entries, 30 spawnentries, and 120 spawn2 entries (all version 1.) The version populates fine in-game, and I am seeing 120 spawnpoints all properly placed.

Identify reports:

Version -- 1 exists with 30 NPC'S

Next, How Many Spawngroups (SPAWN2--ref, duplicates exist) Exists PER Version?
Version# -- SpawnGroup Count
1 120

Anyway, I change the New Version # to 2, and hit Start Process. I get "Error in Spawngroup Table. Looks like a reference lookup error." and then "Error in Spawn2 Table. Looks like a reference lookup error." Here is the output:

Copied NPCid: 248006 To New id: 248112
Copied NPCid: 248009 To New id: 248113
Copied NPCid: 248028 To New id: 248114
Copied NPCid: 248035 To New id: 248115
Copied NPCid: 248050 To New id: 248116
Copied NPCid: 248056 To New id: 248117
Copied NPCid: 248078 To New id: 248118
Copied NPCid: 248080 To New id: 248119
Copied NPCid: 248083 To New id: 248120
Copied NPCid: 248087 To New id: 248121
Copied NPCid: 248092 To New id: 248122
Copied NPCid: 248093 To New id: 248123
Copied NPCid: 248094 To New id: 248124
Copied NPCid: 248095 To New id: 248125
Copied NPCid: 248096 To New id: 248126
Copied NPCid: 248097 To New id: 248127
Copied NPCid: 248098 To New id: 248128
Copied NPCid: 248099 To New id: 248129
Copied NPCid: 248100 To New id: 248130
Copied NPCid: 248101 To New id: 248131
Copied NPCid: 248102 To New id: 248132
Copied NPCid: 248103 To New id: 248133
Copied NPCid: 248104 To New id: 248134
Copied NPCid: 248105 To New id: 248135
Copied NPCid: 248106 To New id: 248136
Copied NPCid: 248107 To New id: 248137
Copied NPCid: 248108 To New id: 248138
Copied NPCid: 248109 To New id: 248139
Copied NPCid: 248110 To New id: 248140
Copied NPCid: 248111 To New id: 248141
CREATING SPAWNGROUPS..
CREATING SPAWN2 entries..
CREATING SPAWNENTRY..
Spawnentry table: field spawngroupID: 51902: -- Previous NPCid: 51902 now becomes NPCid: 248122
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248121
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248123
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248124
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248125
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248126
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248141
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248127
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248117
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248128
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248129
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248130
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248114
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248120
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248131
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248115
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248119
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248132
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248133
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248134
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248135
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248113
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248136
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248112
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248137
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248118
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248138
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248116
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248140
Spawnentry table: field spawngroupID: 0: -- Previous NPCid: 0 now becomes NPCid: 248139
ALL COMPLETED!

The NPCs all copy beautifully. I see 30 new spawnentry entries, 1 for each NPC created. Only the first gets assigned a spawngroupid, which is correctly the next available spawngroup id. The rest are left at 0. No spawngroups or spawn2 entries are created/copied. I'm not sure what could be wrong as the DB is as basic as we can get. If you want, I can post my DB tables to help troubleshoot.

GeorgeS
06-17-2009, 09:49 PM
Hi Cavedude, please send me a link to download those related tables that are causing the problem. I'll source these in and take a look.

npc_types
spawngroup
spawnentry
spawn2

I'll know the problem once I take a look at this - and code in fixes.

Thanks
GeorgeS

cavedude
06-17-2009, 10:12 PM
Here you are. Thanks! http://projecteq.net/spawn.sql

GeorgeS
06-18-2009, 12:44 AM
Ok, I wiped
npc_types
spawngroup
spawnentry
spawn2

then sourced in your 4 tables in the zip - that went fine.
With the most recent version of the tool, there's a great deal of debugging built in - Your mmcd zone version 1 will show the following -
(I made the version 2 with the tool)


Version -- 1 exists with 30 NPC'S
Version -- 2 exists with 30 NPC'S

Next, How Many Spawngroups (SPAWN2--ref, duplicates exist) Exists PER Version?
Version# -- SpawnGroup Count
1 120
2 120

-------------------------------------------------------------------
Next, Showing Link Integrity for Spawngroups in Spawngroup and Spawnentry
Anytime you see MISSING! anywhere means a spawngroup is missing for that table
Ultimately the ideal scenerio is to see all OK
Tool will not work right when missing links exist!
-------------------------------------------------------------------
Spawn2 Spawngroup ok:51872 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51873 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51874 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51875 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51876 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51877 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51878 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51879 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51880 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51881 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51882 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51883 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51884 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51885 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51886 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51887 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51888 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51889 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51890 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51891 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51892 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51893 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51894 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51895 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51896 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51897 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51898 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51899 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51900 -- Spawngroup: OK Spawnentry: OK
Spawn2 Spawngroup ok:51901 -- Spawngroup: OK Spawnentry: OK
-------------------------------------------------------------------
It Appears With this [ZONE and Version#], the tool should work fine
End of Report





Copied NPCid: 248006 To New id: 248112
Copied NPCid: 248009 To New id: 248113
Copied NPCid: 248028 To New id: 248114
Copied NPCid: 248035 To New id: 248115
Copied NPCid: 248050 To New id: 248116
Copied NPCid: 248056 To New id: 248117
Copied NPCid: 248078 To New id: 248118
Copied NPCid: 248080 To New id: 248119
Copied NPCid: 248083 To New id: 248120
Copied NPCid: 248087 To New id: 248121
Copied NPCid: 248092 To New id: 248122
Copied NPCid: 248093 To New id: 248123
Copied NPCid: 248094 To New id: 248124
Copied NPCid: 248095 To New id: 248125
Copied NPCid: 248096 To New id: 248126
Copied NPCid: 248097 To New id: 248127
Copied NPCid: 248098 To New id: 248128
Copied NPCid: 248099 To New id: 248129
Copied NPCid: 248100 To New id: 248130
Copied NPCid: 248101 To New id: 248131
Copied NPCid: 248102 To New id: 248132
Copied NPCid: 248103 To New id: 248133
Copied NPCid: 248104 To New id: 248134
Copied NPCid: 248105 To New id: 248135
Copied NPCid: 248106 To New id: 248136
Copied NPCid: 248107 To New id: 248137
Copied NPCid: 248108 To New id: 248138
Copied NPCid: 248109 To New id: 248139
Copied NPCid: 248110 To New id: 248140
Copied NPCid: 248111 To New id: 248141
CREATING SPAWNGROUPS..
Copied SpawngroupID: 51872 To New id: 51902
Copied SpawngroupID: 51873 To New id: 51903
Copied SpawngroupID: 51874 To New id: 51904
Copied SpawngroupID: 51875 To New id: 51905
Copied SpawngroupID: 51876 To New id: 51906
Copied SpawngroupID: 51877 To New id: 51907
Copied SpawngroupID: 51878 To New id: 51908
Copied SpawngroupID: 51879 To New id: 51909
Copied SpawngroupID: 51880 To New id: 51910
Copied SpawngroupID: 51881 To New id: 51911
Copied SpawngroupID: 51882 To New id: 51912
Copied SpawngroupID: 51883 To New id: 51913
Copied SpawngroupID: 51884 To New id: 51914
Copied SpawngroupID: 51885 To New id: 51915
Copied SpawngroupID: 51886 To New id: 51916
Copied SpawngroupID: 51887 To New id: 51917
Copied SpawngroupID: 51888 To New id: 51918
Copied SpawngroupID: 51889 To New id: 51919
Copied SpawngroupID: 51890 To New id: 51920
Copied SpawngroupID: 51891 To New id: 51921
Copied SpawngroupID: 51892 To New id: 51922
Copied SpawngroupID: 51893 To New id: 51923
Copied SpawngroupID: 51894 To New id: 51924
Copied SpawngroupID: 51895 To New id: 51925
Copied SpawngroupID: 51896 To New id: 51926
Copied SpawngroupID: 51897 To New id: 51927
Copied SpawngroupID: 51898 To New id: 51928
Copied SpawngroupID: 51899 To New id: 51929
Copied SpawngroupID: 51900 To New id: 51930
Copied SpawngroupID: 51901 To New id: 51931
CREATING SPAWN2 entries..
Spawn2.id: 65926--added spawngroupID: 51902
Spawn2.id: 65927--added spawngroupID: 51902
Spawn2.id: 65928--added spawngroupID: 51902
Spawn2.id: 65929--added spawngroupID: 51902
Spawn2.id: 65930--added spawngroupID: 51903
Spawn2.id: 65931--added spawngroupID: 51903
Spawn2.id: 65932--added spawngroupID: 51903
Spawn2.id: 65933--added spawngroupID: 51903
Spawn2.id: 65934--added spawngroupID: 51903
Spawn2.id: 65935--added spawngroupID: 51903
Spawn2.id: 65936--added spawngroupID: 51903
Spawn2.id: 65937--added spawngroupID: 51903
Spawn2.id: 65938--added spawngroupID: 51903
Spawn2.id: 65939--added spawngroupID: 51903
Spawn2.id: 65940--added spawngroupID: 51903
Spawn2.id: 65941--added spawngroupID: 51903
Spawn2.id: 65942--added spawngroupID: 51903
Spawn2.id: 65943--added spawngroupID: 51903
Spawn2.id: 65944--added spawngroupID: 51903
Spawn2.id: 65945--added spawngroupID: 51903
Spawn2.id: 65946--added spawngroupID: 51903
Spawn2.id: 65947--added spawngroupID: 51904
Spawn2.id: 65948--added spawngroupID: 51904
Spawn2.id: 65949--added spawngroupID: 51904
Spawn2.id: 65950--added spawngroupID: 51904
Spawn2.id: 65951--added spawngroupID: 51904
Spawn2.id: 65952--added spawngroupID: 51905
Spawn2.id: 65953--added spawngroupID: 51905
Spawn2.id: 65954--added spawngroupID: 51906
Spawn2.id: 65955--added spawngroupID: 51906
Spawn2.id: 65956--added spawngroupID: 51906
Spawn2.id: 65957--added spawngroupID: 51906
Spawn2.id: 65958--added spawngroupID: 51906
Spawn2.id: 65959--added spawngroupID: 51906
Spawn2.id: 65960--added spawngroupID: 51907
Spawn2.id: 65961--added spawngroupID: 51907
Spawn2.id: 65962--added spawngroupID: 51907
Spawn2.id: 65963--added spawngroupID: 51907
Spawn2.id: 65964--added spawngroupID: 51908
Spawn2.id: 65965--added spawngroupID: 51909
Spawn2.id: 65966--added spawngroupID: 51909
Spawn2.id: 65967--added spawngroupID: 51909
Spawn2.id: 65968--added spawngroupID: 51909
Spawn2.id: 65969--added spawngroupID: 51910
Spawn2.id: 65970--added spawngroupID: 51910
Spawn2.id: 65971--added spawngroupID: 51910
Spawn2.id: 65972--added spawngroupID: 51910
Spawn2.id: 65973--added spawngroupID: 51910
Spawn2.id: 65974--added spawngroupID: 51910
Spawn2.id: 65975--added spawngroupID: 51910
Spawn2.id: 65976--added spawngroupID: 51910
Spawn2.id: 65977--added spawngroupID: 51911
Spawn2.id: 65978--added spawngroupID: 51911
Spawn2.id: 65979--added spawngroupID: 51911
Spawn2.id: 65980--added spawngroupID: 51911
Spawn2.id: 65981--added spawngroupID: 51911
Spawn2.id: 65982--added spawngroupID: 51911
Spawn2.id: 65983--added spawngroupID: 51912
Spawn2.id: 65984--added spawngroupID: 51912
Spawn2.id: 65985--added spawngroupID: 51913
Spawn2.id: 65986--added spawngroupID: 51913
Spawn2.id: 65987--added spawngroupID: 51913
Spawn2.id: 65988--added spawngroupID: 51914
Spawn2.id: 65989--added spawngroupID: 51914
Spawn2.id: 65990--added spawngroupID: 51914
Spawn2.id: 65991--added spawngroupID: 51915
Spawn2.id: 65992--added spawngroupID: 51915
Spawn2.id: 65993--added spawngroupID: 51915
Spawn2.id: 65994--added spawngroupID: 51915
Spawn2.id: 65995--added spawngroupID: 51915
Spawn2.id: 65996--added spawngroupID: 51915
Spawn2.id: 65997--added spawngroupID: 51916
Spawn2.id: 65998--added spawngroupID: 51916
Spawn2.id: 65999--added spawngroupID: 51916
Spawn2.id: 66000--added spawngroupID: 51916
Spawn2.id: 66001--added spawngroupID: 51916
Spawn2.id: 66002--added spawngroupID: 51916
Spawn2.id: 66003--added spawngroupID: 51917
Spawn2.id: 66004--added spawngroupID: 51917
Spawn2.id: 66005--added spawngroupID: 51917
Spawn2.id: 66006--added spawngroupID: 51917
Spawn2.id: 66007--added spawngroupID: 51918
Spawn2.id: 66008--added spawngroupID: 51918
Spawn2.id: 66009--added spawngroupID: 51919
Spawn2.id: 66010--added spawngroupID: 51919
Spawn2.id: 66011--added spawngroupID: 51919
Spawn2.id: 66012--added spawngroupID: 51919
Spawn2.id: 66013--added spawngroupID: 51919
Spawn2.id: 66014--added spawngroupID: 51919
Spawn2.id: 66015--added spawngroupID: 51920
Spawn2.id: 66016--added spawngroupID: 51921
Spawn2.id: 66017--added spawngroupID: 51922
Spawn2.id: 66018--added spawngroupID: 51922
Spawn2.id: 66019--added spawngroupID: 51922
Spawn2.id: 66020--added spawngroupID: 51922
Spawn2.id: 66021--added spawngroupID: 51922
Spawn2.id: 66022--added spawngroupID: 51923
Spawn2.id: 66023--added spawngroupID: 51923
Spawn2.id: 66024--added spawngroupID: 51923
Spawn2.id: 66025--added spawngroupID: 51923
Spawn2.id: 66026--added spawngroupID: 51924
Spawn2.id: 66027--added spawngroupID: 51924
Spawn2.id: 66028--added spawngroupID: 51924
Spawn2.id: 66029--added spawngroupID: 51924
Spawn2.id: 66030--added spawngroupID: 51924
Spawn2.id: 66031--added spawngroupID: 51924
Spawn2.id: 66032--added spawngroupID: 51924
Spawn2.id: 66033--added spawngroupID: 51924
Spawn2.id: 66034--added spawngroupID: 51925
Spawn2.id: 66035--added spawngroupID: 51925
Spawn2.id: 66036--added spawngroupID: 51925
Spawn2.id: 66037--added spawngroupID: 51926
Spawn2.id: 66038--added spawngroupID: 51927
Spawn2.id: 66039--added spawngroupID: 51927
Spawn2.id: 66040--added spawngroupID: 51927
Spawn2.id: 66041--added spawngroupID: 51928
Spawn2.id: 66042--added spawngroupID: 51929
Spawn2.id: 66043--added spawngroupID: 51929
Spawn2.id: 66044--added spawngroupID: 51930
Spawn2.id: 66045--added spawngroupID: 51931
CREATING SPAWNENTRY..
Spawnentry table: field spawngroupID: 51902: -- Previous NPCid: 248092 now becomes NPCid: 248122
Spawnentry table: field spawngroupID: 51903: -- Previous NPCid: 248087 now becomes NPCid: 248121
Spawnentry table: field spawngroupID: 51904: -- Previous NPCid: 248093 now becomes NPCid: 248123
Spawnentry table: field spawngroupID: 51905: -- Previous NPCid: 248094 now becomes NPCid: 248124
Spawnentry table: field spawngroupID: 51906: -- Previous NPCid: 248095 now becomes NPCid: 248125
Spawnentry table: field spawngroupID: 51907: -- Previous NPCid: 248096 now becomes NPCid: 248126
Spawnentry table: field spawngroupID: 51908: -- Previous NPCid: 248111 now becomes NPCid: 248141
Spawnentry table: field spawngroupID: 51909: -- Previous NPCid: 248097 now becomes NPCid: 248127
Spawnentry table: field spawngroupID: 51910: -- Previous NPCid: 248056 now becomes NPCid: 248117
Spawnentry table: field spawngroupID: 51911: -- Previous NPCid: 248098 now becomes NPCid: 248128
Spawnentry table: field spawngroupID: 51912: -- Previous NPCid: 248099 now becomes NPCid: 248129
Spawnentry table: field spawngroupID: 51913: -- Previous NPCid: 248100 now becomes NPCid: 248130
Spawnentry table: field spawngroupID: 51914: -- Previous NPCid: 248028 now becomes NPCid: 248114
Spawnentry table: field spawngroupID: 51915: -- Previous NPCid: 248083 now becomes NPCid: 248120
Spawnentry table: field spawngroupID: 51916: -- Previous NPCid: 248101 now becomes NPCid: 248131
Spawnentry table: field spawngroupID: 51917: -- Previous NPCid: 248035 now becomes NPCid: 248115
Spawnentry table: field spawngroupID: 51918: -- Previous NPCid: 248080 now becomes NPCid: 248119
Spawnentry table: field spawngroupID: 51919: -- Previous NPCid: 248102 now becomes NPCid: 248132
Spawnentry table: field spawngroupID: 51920: -- Previous NPCid: 248103 now becomes NPCid: 248133
Spawnentry table: field spawngroupID: 51921: -- Previous NPCid: 248104 now becomes NPCid: 248134
Spawnentry table: field spawngroupID: 51922: -- Previous NPCid: 248105 now becomes NPCid: 248135
Spawnentry table: field spawngroupID: 51923: -- Previous NPCid: 248009 now becomes NPCid: 248113
Spawnentry table: field spawngroupID: 51924: -- Previous NPCid: 248106 now becomes NPCid: 248136
Spawnentry table: field spawngroupID: 51925: -- Previous NPCid: 248006 now becomes NPCid: 248112
Spawnentry table: field spawngroupID: 51926: -- Previous NPCid: 248107 now becomes NPCid: 248137
Spawnentry table: field spawngroupID: 51927: -- Previous NPCid: 248078 now becomes NPCid: 248118
Spawnentry table: field spawngroupID: 51928: -- Previous NPCid: 248108 now becomes NPCid: 248138
Spawnentry table: field spawngroupID: 51929: -- Previous NPCid: 248050 now becomes NPCid: 248116
Spawnentry table: field spawngroupID: 51930: -- Previous NPCid: 248110 now becomes NPCid: 248140
Spawnentry table: field spawngroupID: 51931: -- Previous NPCid: 248109 now becomes NPCid: 248139
ALL COMPLETED!


Let me know if this version helps, or if you get different debug data

GeorgeS

cavedude
06-18-2009, 03:22 AM
Rats, still getting the same exact errors as before. I do however get all OKs on the identify screen. It looks exactly like yours except for the single version. Would you mind sending me your table schema for those 4 tables? That's about the only thing it could be at this point. I reset my auto_increment on spawn2 and spawngroup to no avail, not sure what else it could be.

GeorgeS
06-18-2009, 10:32 AM
I exported the schema with drop tables before inserts so you can get an exact copy
cavedude_schema.zip (http://wizardportal.dyndns.org/eqemu/for_cavedude_schema.zip)
Since you report the program reported all 30 spawngroups -were linked ok, it most likely must mean an index problem - as in auto-increment is on.
My program looks at the last index then adds 1. Everything created after that uses this index reference, till it's done.
If this method does not work, then a last index method needs to be called each time it tries to write data.

If it still fails using this exact schema, then I think I will have to rewrite the way I query and write indices.

you can quickly check if this works -

SELECT max(id)+1 as nextrecord FROM spawngroup


use the number from the previous query into the next one - replace the 51963-51965 with the your value, and increment+1


INSERT INTO spawngroup (id,name) VALUES (51963,"TEST1200");
INSERT INTO spawngroup (id,name) VALUES (51964,"TEST1201");
INSERT INTO spawngroup (id,name) VALUES (51965,"TEST1202");



if it works, then the problem is something else

Thanks for helping,
George

cavedude
06-18-2009, 11:26 AM
Thank you! I've found my problem, but I am not certain why it's an issue. Before, I was connecting to my MySQL 5.0 database that was being served from a Linux box. It didn't work with my schema or yours despite everything being OK. However, once I moved the database to the same box as the editor, it worked perfectly. I'm not certain if it's a Linux/Windows difference, or the editor just doesn't like connecting to a database on a different host. Either way, it's working great now and I can get back to the grind! Thank you very much for this tool, even in its current state it will save me a TON of time!

GeorgeS
06-18-2009, 09:37 PM
That's great it works in Windows - I spent a better part of the day working on this and think that differences are capitalization of specific tables. For example "SELECT * FROM Spawnentry" will fail, where "SELECT * FROM spawnentry" should work in Linux. It's fixed in the recent revision.

Anyway - version .07 is the recent one which has more optimisation done.

GeorgeS

pfyon
06-18-2009, 09:58 PM
Yeah, in linux, everything is case sensitive.

cavedude
06-22-2009, 01:04 PM
Got a chance to try this, it now works perfectly when the DB is hosted on Linux!

Zeice
07-09-2009, 06:15 PM
When trying to copy I'm getting runtime error 3265 "item cannot be found in the collection corresponding to the requested name or ordinal"

Tried several zones, and getting that everytime.

Any ideas?

Zeice
07-09-2009, 06:27 PM
Bah sorry can't edit...I just realized I'm getting this error with the latest version of the tool trying to pull up any zones. I'm not completely sure what version I had before(think it was .03) but it was working fine.

GeorgeS
07-09-2009, 09:50 PM
Sorry, which tool is this for and what part of the tool crashes?

GeorgeS

Zeice
07-09-2009, 10:13 PM
The NPC_Loot_editor. It crashes whenever I try to load a zone, or I try to copy a zone via the new adventure part.

GeorgeS
07-09-2009, 10:25 PM
Ok, which DB version are you using?



You're also crashing when loading zone - you mean on main page, loading all npc's in a particular zone (using search button on main page)?


GeorgeS

Zeice
07-09-2009, 10:50 PM
I'm using PEQ.....let's see version number is 384. Last time I updated it, but just been adding sql files from then on out.

yeah crashing zone on main page.

GeorgeS
07-10-2009, 10:34 AM
ok, then it means you may be missing the 'version' field in npc_types
Add it in then it should work fine

Let me know if you cannot find the sql

GeorgeS

Zeice
07-10-2009, 02:50 PM
Hmm, yep I'm missing version number in npc_types. Strange because I went back to sql 612_instance_changes and the only npc_types change is

ALTER TABLE `npc_types` ADD `adventure_template_id` INT UNSIGNED DEFAULT '0' NOT NULL AFTER `npc_faction_id`;

So I guess I need to do something like

ALTER TABLE `npc_types` ADD `version` INT UNSIGNED DEFAULT '0' NOT NULL AFTER `slow_mitigation`;


I couldn't find any other recent sql changes that added version. I may just be missing it though. I'll give the above a try and see if it works.


*edit* Yep that did the trick.

Zeice
07-13-2009, 05:05 PM
BTW would it be possible to get version number added to the spawn editor at some point?

GeorgeS
07-14-2009, 01:40 AM
NPC and Loot Editor
08.22.10 - Tool automatically checks for and add 'version' field to npc_types table if it's missing.


GeorgeS