turn the new database format into an older one(5$ bounty)

Blinzer

New member
Messages
131
Points
0
so, i use an older version of herc and can't upgrade right now. however, i want to merge my older db with the newer one to get all of the items that the older db doesn't have(my item database is heavily modified, so i can't just take a new database and turn it into an older one).

this is your format:

Y8Qjy20.png


this is my format:

hyvyfXE.png


explaining to me how to do some merge reverse merge magic(if it's possible) will suffice as well.

 
Last edited by a moderator:
You can use the replace all feature in Notepad++ which I think you are using.

Replace all Type: 5
with Type: "IT_ARMOR"
Loc: 16
with Loc: "EQP_ARMOR"

and so forth. You can compare values of old -> new to see what you need to replace each one with.

 
Without replace it will works too.

Possible some minor issues not present in this screenshots. But after it can be fixed manually. I think issues will be for ammo.

 
i'm going from newer database to older database, not the other way around. i'm pretty sure they already have a converter for old->new.

also, my old database takes priority over the new one. if ID 2301 exists in my database and the more updated one, i need to have my old 2301 as the one in the final new database, and the new database also need to exist in the old format i am already currently using..

 
Last edited by a moderator:
you can use item_db2.conf and the Inherit: false flag to override items in item_db.conf


how do i inherit: false the entire item_db2 database? that would probably be easier in source, right?

 
Last edited by a moderator:
my suggestion start over and import all your old content to fresh hercules and follow improved practices, so then you can simply
git add remote origin Merge https://github.com/HerculesWS/Hercules.git
git fetch Merge
git merge Merge/master
...resolve any conflicts (shud be not many if any)

and voila you up to date with hercules

plugins, item_db2 and mob_db2 help immensely with this. it will take a long time to import ur stuff, but it is worth it in my opinion.

 
my suggestion start over and import all your old content to fresh hercules and follow improved practices, so then you can simply
git add remote origin Merge https://github.com/HerculesWS/Hercules.git
git fetch Merge
git merge Merge/master
...resolve any conflicts (shud be not many if any)

and voila you up to date with hercules

plugins, item_db2 and mob_db2 help immensely with this. it will take a long time to import ur stuff, but it is worth it in my opinion.


i wish i could, but i have 1000+ source changes and 2000+ items in the item database. 11mb diff file. that would require weeks of pure grind that i'm not willing to go through at this point in time. past me was dumb, that's for sure. by the time i tried to be more responsible, i was already 30 meters deep.

the Inherit: false seems a good strategy, having a script that would add it before every }, in my old database and simply renaming it to item_db2 would probably work(or maybe i can trick notepad++ into doing it for me without needing a script?). then the only issue would be making sure the new updated item_db is being read without exploding, which i will try to do now. i can manually resolve rogues, as long as it's a reasonable amount of cases(=<100 cases) and i have a clear explanation of which ones they are.

read below.

 
Last edited by a moderator:
ok, i managed to successfully override the new database with my old one, everything is working as intended and i've confirmed that some of the items i wanted to be in the game are there. HOWEVER, the equipment is all in the misc section and can't be equipped:

4EnGSII.jpg


 
EbWlkJZ.png


fixed everything,i just had to switch type to 4 and Loc: 2. one very last problem: the game doesn't identify it as an axe, and i know this because it doesn't give the ASPD penalty for wielding an axe. how to fix? there must be a list of axes somewhere or something that says "from 1101 to 1150 it's 1 handed swords, from 1301 to 1350 one handed axes" etc. since in my old database there's nothing like the subtype.

i can provide the version of hercules i'm using if you tell me what file to look at, if necessary.

also, make a bch wallet(bitcoincash) and i'll tip you.

 
Last edited by a moderator:
solution found. i had to change view to 8 for it to recognize it as an axe and apply the proper aspd penalty. probably not useful information since my source is outdated and from 2014, but still writing this here if anyone might need it one day.

 
Back
Top