RMS Home | Guide Writing | Test Server | New Servers | Latest Reviews

Author Topic: The Death of Xray. Add custom sprites using newest released official RE client.  (Read 17376 times)

0 Members and 1 Guest are viewing this topic.

Offline jTynne

Note - This is a work in progress and is targeted toward individuals with prior experience adding/modifying files within the game client archives.

For this you will need the following:

- .lua files contained within "data/lua files/", which can be downloaded here: http://www.justintynne.com/outbox/rms/luafiles.zip or manually downloaded http://svn6.assembla.com/svn/ClientSide/Lua_Project/

- Newest released RE client with "Read lua files before lub files" selected when applying the diff patch.
-------  Download Client w/diff and diffing program here: http://www.justintynne.com/outbox/rms/040710ClientDiff.zip

- Fully updated RE client.

1. Placement
Create a folder called "lua files" in your "data" folder (data/lua files/) and place the .lua files from the zip above into the folder.

2. Editing
Open data/lua files/datainfo/ and open "accname.lua" and "accessoryid.lua" in a text editor.

accname.lua:
Find a line that you want to copy. For this example, I've chosen "PRETTY_RIBBON" which looks like this:

   [ACCESSORY_IDs.ACCESSORY_PRETTY_RIBBON] = "_¿¹»Û¸®º»",

The red highlighted text above is the sprite name (as found in your resname.txt files).

The blue highlighted text above is YOUR new name for the headgear.

Here, I've changed the name to CHARMING_RIBBON and I'm using the same sprite (Kawaii Ribbon):

   [ACCESSORY_IDs.ACCESSORY_CHARMING_RIBBON] = "_¿¹»Û¸®º»",

I'm speculating that if you wish to add in a custom sprite, you'd simply write the sprite name at the end, such as:

Confirmed: If you wish to use a custom sprite, use the filename without .spr, prefixed with an underscore.

   [ACCESSORY_IDs.ACCESSORY_CHARMING_RIBBON] = "_spritename",

Note: You MUST use an underscore before the sprite name! (Just like in Xray)
Next you'll need to remember the name you assign the new headgear and open the next file, "accessoryid.lua".

accessoryid.lua

Find the matching entry in this file (PRETTY_RIBBON) that you used in the step above. It will look like this,

   ACCESSORY_PRETTY_RIBBON = 211

The "211" at the end is the VIEW ID as assigned in the item database (sql: http://svn.eathena.ws/svn/ea/trunk/sql-files/item_db.sql)

Copy it and modify it to contain your desired ID (number at the end).
NOTE: At this time you can only use View ID's up through 999, so give yourself a large enough gap so you can add in Gravity's updates later. For this example I'm using view ID 999.

   ACCESSORY_CHARMING_RIBBON = 999

* - Make sure you add a comma to the end of the line before your addition! (ACCESSORY_PERSICA = 659,).

Then, insert your new item with the view ID number you wrote above as the view ID for the item in the database. Here's an SQL insert for item_db2:

REPLACE INTO `item_db2` VALUES (5140,'Charming_Ribbon','Kawaii Ribbon',5,20,NULL,400,NULL,1,NULL,1,0xFFFFFFFF,7,2,256,NULL,10,1,999,'bonus2 bSubRace,RC_Undead,5; bonus2 bSubRace,RC_Demon,5;',NULL,NULL);

Reload your item database, restart your game client and voila, the sprite *should* work! :)

You can also add monsters in similarly using the jobname.lua and npcidentity.lua files.

« Last Edit: Apr 09, 2010, 02:26 am by Serenity »
|

RateMyServer Ragnarok Community


Offline DarkDevine

That's indeed the end of XRay I guess.

Thanks for sharing your information.
League of Legends EU
lDBl Unichi - Level 30 - 1400+ ELO
Unichi - Level 30 - Unranked

League of Legends US
Unichi - Level 12 - Unranked
http://signup.leagueoflegends.com/?ref=4e3da82760174785266969
https://plus.google.com/_/notifications/ngemlink?path=%2F%3Fgpinv%3DOCHqL3P8RYU%3Ak84bs6LVfPE

Offline Revenant

Not quite yet; Gravity hasn't added a LUB for hairstyles. Frankly, I think this is probably the stupidest mistake they've made with their client files I've ever seen... not that I'm complaining, in any case! Already knew how to do this, but it's always great to have something to reference when explaining it to others.
For the love of god, people, stop posting topics about recruiting staff on this forum, or indeed any forum. If you really feel the need to publicize the fact you're incapable of running your own server, and as such, must rely on someone you know nothing about as a crutch, be prepared to deal with the consequences, as people who go deliberately looking for GM positions are most likely as dumb as the inept server owner in question, if not moreso.

People offering paid services may or may not be screwing you over, depending on the product. Web designers? There's quite a good few out there; many take time to do their work, and charge quite a bit as a result. Just be sure you're not getting someone elses' website, rebranded for quick cash. If you hire someone to do things such as install customs for you, give up running a server. You're wasting time and letting someone take advantage of your stupidity.

[1] [2] [3] [4]

Offline jTynne

Not quite yet; Gravity hasn't added a LUB for hairstyles. Frankly, I think this is probably the stupidest mistake they've made with their client files I've ever seen... not that I'm complaining, in any case! Already knew how to do this, but it's always great to have something to reference when explaining it to others.

I'm pray-pray-praying they do a lub for the hairstyles, too, because my stupid donkey can't find the damn thing in the hex for the client. Q,Q 27 is just not enough, though being limited to roughly 299 custom headgear sprites makes me cry as well. Ah well. ;;
|

Offline Revenant

Not quite yet; Gravity hasn't added a LUB for hairstyles. Frankly, I think this is probably the stupidest mistake they've made with their client files I've ever seen... not that I'm complaining, in any case! Already knew how to do this, but it's always great to have something to reference when explaining it to others.

I'm pray-pray-praying they do a lub for the hairstyles, too, because my stupid donkey can't find the damn thing in the hex for the client. Q,Q 27 is just not enough, though being limited to roughly 299 custom headgear sprites makes me cry as well. Ah well. ;;

I'm pretty sure one of the newer client diffs has support up to 1000 viewids. I'd link you if I had it handy, but don't fret!
For the love of god, people, stop posting topics about recruiting staff on this forum, or indeed any forum. If you really feel the need to publicize the fact you're incapable of running your own server, and as such, must rely on someone you know nothing about as a crutch, be prepared to deal with the consequences, as people who go deliberately looking for GM positions are most likely as dumb as the inept server owner in question, if not moreso.

People offering paid services may or may not be screwing you over, depending on the product. Web designers? There's quite a good few out there; many take time to do their work, and charge quite a bit as a result. Just be sure you're not getting someone elses' website, rebranded for quick cash. If you hire someone to do things such as install customs for you, give up running a server. You're wasting time and letting someone take advantage of your stupidity.

[1] [2] [3] [4]

Offline jTynne

Not quite yet; Gravity hasn't added a LUB for hairstyles. Frankly, I think this is probably the stupidest mistake they've made with their client files I've ever seen... not that I'm complaining, in any case! Already knew how to do this, but it's always great to have something to reference when explaining it to others.

I'm pray-pray-praying they do a lub for the hairstyles, too, because my stupid donkey can't find the damn thing in the hex for the client. Q,Q 27 is just not enough, though being limited to roughly 299 custom headgear sprites makes me cry as well. Ah well. ;;

I'm pretty sure one of the newer client diffs has support up to 1000 viewids. I'd link you if I had it handy, but don't fret!

Found it! Sadly it's not an option in the 4/7/10 diff (yet!). <3
|

Offline DarkDevine

We all should write a big "Thank you" letter to gravity in regards for their kindness to ease up modifications as well as allowing Meruru to have his(/her) deserved holidays.
League of Legends EU
lDBl Unichi - Level 30 - 1400+ ELO
Unichi - Level 30 - Unranked

League of Legends US
Unichi - Level 12 - Unranked
http://signup.leagueoflegends.com/?ref=4e3da82760174785266969
https://plus.google.com/_/notifications/ngemlink?path=%2F%3Fgpinv%3DOCHqL3P8RYU%3Ak84bs6LVfPE

Offline jTynne

XD I already posted a little diddy on his forum. I just hope someone's able to make a diff option for infinite hairstyles. That would be lovely as hell. <3
|

Offline DarkDevine

I could ask Sirius_White for that one, he's in the diff team know afaik
League of Legends EU
lDBl Unichi - Level 30 - 1400+ ELO
Unichi - Level 30 - Unranked

League of Legends US
Unichi - Level 12 - Unranked
http://signup.leagueoflegends.com/?ref=4e3da82760174785266969
https://plus.google.com/_/notifications/ngemlink?path=%2F%3Fgpinv%3DOCHqL3P8RYU%3Ak84bs6LVfPE

Offline jTynne

I could ask Sirius_White for that one, he's in the diff team know afaik

I along with everyone else who's been dying to switch to official clients from Xray (No offense to Meruru, he's done an amazing job. <3) will adore you and him forever if he made it so the client can read infinite hairstyles. /slur
|

Offline DarkDevine

Okay, asked him.

For Headgears, go to your diff file that you use (Any date, as long as it's an exe with lua accessory IDs) and add this at the end (if it doesn't yet exist)
Code: [Select]
byte_[ADD]_Increase_Headgear_ViewID_to_2000:2BB77C:232:208
byte_[ADD]_Increase_Headgear_ViewID_to_2000:2BB77D:3:7
byte_[ADD]_Increase_Headgear_ViewID_to_2000:2BB795:232:208
byte_[ADD]_Increase_Headgear_ViewID_to_2000:2BB796:3:7
byte_[ADD]_Increase_Headgear_ViewID_to_2000:2BB837:232:208
byte_[ADD]_Increase_Headgear_ViewID_to_2000:2BB838:3:7

then diff your exe with it.
Allowing up to 2000 ViewIDs.

For the hairstyles, it is not possible to create a diff for that.
XRay actually is dead, it used special tables for the hairstyles,
it's sadly not just a number that you need to increase.

(Warning: Advertising following)
Harmony, the software created by Sirius_White, that allows major changes at the client while protecting it completely, has hairstyle tables. With it, you can add additional ones. And yes, it's not for free.

So for Headgears, use an old XRay and miss newer RE features, buy and use Harmony (recommended :)) or wait for someone to create a modification that adds a headgear table to the client.

Sorry.
« Last Edit: Apr 12, 2010, 08:20 am by DarkDevine »
League of Legends EU
lDBl Unichi - Level 30 - 1400+ ELO
Unichi - Level 30 - Unranked

League of Legends US
Unichi - Level 12 - Unranked
http://signup.leagueoflegends.com/?ref=4e3da82760174785266969
https://plus.google.com/_/notifications/ngemlink?path=%2F%3Fgpinv%3DOCHqL3P8RYU%3Ak84bs6LVfPE

Offline jTynne

Okay, asked him.

For Headgears, go to your diff file that you use (Any date, as long as it's an exe with lua accessory IDs) and add this at the end (if it doesn't yet exist)
Code: [Select]
byte_[ADD]_Increase_Headgear_ViewID_to_2000:2BB77C:232:208
byte_[ADD]_Increase_Headgear_ViewID_to_2000:2BB77D:3:7
byte_[ADD]_Increase_Headgear_ViewID_to_2000:2BB795:232:208
byte_[ADD]_Increase_Headgear_ViewID_to_2000:2BB796:3:7
byte_[ADD]_Increase_Headgear_ViewID_to_2000:2BB837:232:208
byte_[ADD]_Increase_Headgear_ViewID_to_2000:2BB838:3:7

then diff your exe with it.
Allowing up to 2000 ViewIDs.

For the headgears, it is not possible to create a diff for that.
XRay actually is dead, it used special tables for the headgears,
it's sadly not just a number that you need to increase.

(Warning: Advertising following)
Harmony, the software created by Sirius_White, that allows major changes at the client while protecting it completely, has headgear tables. With it, you can add additional ones. And yes, it's not for free.

So for Headgears, use an old XRay and miss newer RE features, buy and use Harmony (recommended :)) or wait for someone to create a modification that adds a headgear table to the client.

Sorry.

No problem and thank you for the diff info! I'll try to apply it to the 4/7/10 client (I'd attempted to modify my .diff with the previous clients' 2000 view ids, but it caused the program to become unrecognizable as a win32 exe).

Harmony.. any link to this project of his? :)

Edit: Yeah, those diff lines cause errors in the 4/7/10 client. ;;
byte_[ADD]_Increase_Headgear_ViewID_to_2000:2BB77C:232:208
byte_[ADD]_Increase_Headgear_ViewID_to_2000:2BB77D:3:7
byte_[ADD]_Increase_Headgear_ViewID_to_2000:2BB795:232:208
byte_[ADD]_Increase_Headgear_ViewID_to_2000:2BB796:3:7
byte_[ADD]_Increase_Headgear_ViewID_to_2000:2BB837:232:208
byte_[ADD]_Increase_Headgear_ViewID_to_2000:2BB838:3:7

I'm in absolutely no rush. XD Thank you though for taking the time to share it though! <33
« Last Edit: Apr 11, 2010, 09:50 am by Serenity »
|

Offline DarkDevine

It's possible that the one one got some features that crash this diff, it should work for the ones before though.

Sirius_White is updating the diffs the next day, just view this http://svn6.assembla.com/svn/ClientSide/Diff_Project/kRO/RagexeRE/ some times.

For harmony, you should just drop a PM to Sirius_White in eAthena, he's pretty active
League of Legends EU
lDBl Unichi - Level 30 - 1400+ ELO
Unichi - Level 30 - Unranked

League of Legends US
Unichi - Level 12 - Unranked
http://signup.leagueoflegends.com/?ref=4e3da82760174785266969
https://plus.google.com/_/notifications/ngemlink?path=%2F%3Fgpinv%3DOCHqL3P8RYU%3Ak84bs6LVfPE

Offline jTynne

It's possible that the one one got some features that crash this diff, it should work for the ones before though.

Sirius_White is updating the diffs the next day, just view this http://svn6.assembla.com/svn/ClientSide/Diff_Project/kRO/RagexeRE/ some times.

For harmony, you should just drop a PM to Sirius_White in eAthena, he's pretty active

Thanks- I'll try to see if I can find a working example of Harmony before I send him a message. As for the diffs, that's where I've been getting my diffs and exe's from, but the latest one doesn't yet have the 2000 headgear diff. Maybe someday, but like I said, no rush! =)
|

Offline Sirius_White

Quote
Thanks- I'll try to see if I can find a working example of Harmony before I send him a message. As for the diffs, that's where I've been getting my diffs and exe's from, but the latest one doesn't yet have the 2000 headgear diff. Maybe someday, but like I said, no rush! =)
SVN updated, the ViewID diff for 04-07 is now included :)

You might check out ChronosRO - they're running one of the latest public versions. If you are interested I can set up a test server with the latest development version, too. Just leave me a message in the eAthena forums or add me in MSN (msn@siriuswhite.de).