[Guide]Custom Items using XRay and eAthena

Newbie Spellweaver
Joined
Jul 24, 2007
Messages
8
Reaction score
0
Adding items to XRay/eAthena.

This guide assumes you are using eAthena.

Files we'll be altering:
visionary_tab.txt (Sets ViewID)
idnum2itemdisplaynametable.txt (Identified Item Name)
idnum2itemdesctable.txt (Identified Item Description)
num2itemdisplaynametable.txt (Unidentified Item Name)
num2itemdesctable.txt (Unidentified Item Description)

These two files need to be extracted from sdata.grf:
idnum2itemresnametable.txt (Identified Item Filename)
num2itemresnametable.txt (Unidentified Item Filename)

eAthena:
item_db2.txt

Item Files: (For my example)
Custom.spr (Item Sprite)
Custom.act (Item Script)
CustomDrop.spr (Dropped Item Sprite)
CustomDrop.act (Dropped Item Script)
CustomIcon.bmp (Inventory Icon [29x22])
CustomCollection.bmp (Description Icon [75x100])



Step One: Open visionary_tab. Scroll to the end of the file.
The very last line should be: *_°í±Û

THIS SHOULD ALWAYS BE AT THE BOTTOM OF THE FILE!

Above *_°í±Û, we want to create a new Jump Code. To do this, first we need to find a Jump Code that isn't being used. Log in to your server and type @changelook <number>. Anything in the thousands should be clear. If you don't appear with new gear, chances are you found an empty ViewID.

For the example, we will be using 3000. The bottom of your visionary_tab should now look like this:

!3000 (Jump Code)
*_°í±Û

What does this do? This causes the list to start at the number in the jump code. Another example:

!3000
_Custom_1 (ViewID: 3000)
_Custom_2 (ViewID: 3001)
_Custom_3 (ViewID: 3002)
*_°í±Û

Please take note that regardless of what you put here, it MUST START with an _.

So, back to setting up the item. Our item is called Custom, so our visionary_tab would now look like this:

!3000
_Custom
*_°í±Û

We're done here, you can close Visionary_tab. Remember the name you used here, we will be using it again.


Step 2: Copying the Sprites into your Data folder.

Go to \RO\Data\sprite\¾Ç¼¼»ç¸®\.
You should see two folders: ¿© and ³².
First, the ¿© folder.

Copy Custom.spr and Custom.act to this folder. Rename them to ¿©_Custom.spr and ¿©_Custom.act.

Go back and open the ³² folder.
Copy Custom.spr and Custom.act to this folder as well. Rename them to ³²_Custom.spr and ³²_Custom.act.

Go to \RO\Data\Sprite\¾ÆÀÌÅÛ\.
Copy CustomDrop.spr and CustomDrop.act here. Rename them Custom.spr and Custom.act.

Go to \RO\Data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\collection\.
Copy CustomCollection.bmp here and rename it to Custom.bmp.

Go to \RO\Data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\item\.
Copy CustomIcon.bmp here and rename it to Custom.bmp.


Step 3: TEST!

Log back into your server and type @changelook <number>.
So, using our example, type @changelook 3000
You should see your item appear on you.


Step 4: Add the item to your server database.

Set this up however you like. You need to find an itemID that isn't being used, so use @item <number> to poke around your database (alternatively, search the database manually for numbers you want to use.)

Once you have the number you want, add your item to item_db2.

ID,DBName,ScreenName,Type,Price,Sell,Weight,ATK,DE F,Range,Slot,Job,Upper,Gender,Loc,wLV,eLV,Refineab le,View,{Script},{OnEquip_Script},{OnUnequip_Script}

I'm not going to break this down, seeing as the eAthena wiki has a great explanation for this: (If it ever comes back up: . I'm reproducing the Wiki entry a few posts down assuming the site is still down.)
I will, however, point out the one thing to be sure you set properly.

VIEW. View is the ViewID, which we set back in Step 1. In my example it was 3000.

My Example Item:
6000, Shimmer_Wings,Shimmer Wings,5,,20,3,,3,,3,0xFFFFFFFF,7,2,1,,,0,3000,{},{ },{}


Step 5: Edit idnum2itemresnametable and num2itemresnametable.

Unless you want the item to appear differently when unidentified, you can do the same thing in both files.

At the end, add this line:

<ItemID>#<filename>#

Example:
6000#Custom#


Step 6: Edit num2itemdisplaynametable and idnum2itemdisplaynametable.

For this, I used the DBName.
As always, at the end of the file.

<ItemID>#<DBName>#

Example:
6000#Shimmer_Wings#


Step 7: Edit num2itemdesctable and idnum2itemdesctable.

This is the item's information, description, etc.

<ItemID>#
<Description
Multiple lines are
fine.>
#

Example:
6000#
Shimmer Wings
#

There are extra things you can do in here, but I'm not going to try and explain them (mostly because I don't know all of them yet.)


That's it! Log back in and use @reloaditemdb to have access to your item. @item <ItemID> should create your item.



This is my first guide, so I hope I did well. Here's hoping this helps, seeing as I had a hard time figuring this out with all the information I could find. Good luck and happy gaming!

2011 update: Gods, I have no idea if this still works, haven't messed around with RO in quite a while. Still, I reproduced the guide since it was lost in Ragezone's forum update. I'm also going to reproduce the wiki info from 2007, since the eAthena wiki is down, just in case.
 
Last edited:
Initiate Mage
Joined
May 31, 2005
Messages
2
Reaction score
0
erk i dont have xray...
how to i find the custom id??
 
Experienced Elementalist
Joined
Jun 12, 2005
Messages
260
Reaction score
4
erk i dont have xray...
how to i find the custom id??

You make them O: however you do need xray if you're going to add up to a certain amount... Sorry I dunno how many you can add, haven't fucked with eA in a little bit.
 
Newbie Spellweaver
Joined
Jul 24, 2007
Messages
8
Reaction score
0
Apologies for bumping this so long in it's life, but the guide didn't make the migration oh so long ago and I just noticed (and it bothered me) so I dug out the info via the WayBack Machine. Turns out the eAthena wiki isn't working, who knows how long that's been happening, so I'm reproducing the page I referenced as well, presumably under Creative Commons License.

That said, this method may not even work anymore. I haven't messed around with RO in a few years now.

There's a little more information there, you can read the entire wiki article here:

 
Last edited: