• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Best approach to make custom dat/spr compatible with cipsoft updates

Albert José

Rambocop Infernus
Joined
Jun 10, 2008
Messages
87
Solutions
1
Reaction score
13
Location
Portugal
GitHub
albertjose
Hello everyone, recently the amazing @Evil Puncker launched a new Downgraded 13.x assets to .dat/.spr format based on the last cipsoft update, as usual I want to update my .dat/.spr with the new outfits, items, etc. but I have already created some custom items and I have added them there, I know that someone must have already gone through this dilemma, so I opened this discussion to understand the best way to deal with it.

There are a few approaches I've been thinking about:
  • Export my items as otb and import in the recently updated .dat/.spr
    • Cons: Remap every item id again
    • Pro: It sounds easy
  • Create a lot of empty objets (5000+) and reserve them to new sprites/objets that cipsoft will maybe launch in new updates
  • Modify TFS/client allowing to use two different .dat/.spr (I'm joking :eek:)
 
I'd go with using empty objects that cip leaves on their files, every time a new update is released you would only need to import the odb files again
 
I'd go with using empty objects that cip leaves on their files, every time a new update is released you would only need to import the odb files again
Isn't it common for them to fill in these gaps in future releases? I think they did this in the last update.
 
Last edited:
There is my best approach until now:
  1. I have created a blank .dat/.spr adding only my custom items, additionaly I created a csv that store all my items attributes, including id, name, description, atk, defense, etc.
  2. I'm using the object builder to merge the last .dat/.spr launched with my only_custom_dat_spr path, this guarantees the ordering of my objects.
  3. Finally I use a node script to read my csv file, creating a new item.xml, but I provide the last object ID from the last .dat/.spr launched and it uses this number to regenerate the new ids.
  4. DONE.
Cons:
  • I must change my monsters files to use the item name instead of the item id.
  • Some scripts and functions that use my custom items should be changed too, maybe I will create a auxiliary lua file with all constants generated by the same node script that I have used to create the items.xml.
 
Still sounds more reasonable than what you are doing right now.
If it is not a requirement to keep the official ids, I recognize that it is a much easier way, but I enjoyed having my custom dat/spr with only the items that I modified, merging with the official later with my script ready now will not be a big deal in the future.
 
Back
Top