• 0
Skyzone

Weapon Sprite not Show

Question

Hello rAthena Devs,

Any hint why my Custom Weapons Not Showing after I down grade to the 2012.
before I use 2013.

image.png.8b62b5f8fb24939c4c02e6f187551b98.png

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Two things: First, the viewID must be the same as the ID on your sprite set in weapontable.
Secondly, there's ID ranges for each kind of weapon.

 

 Weapon Sprite Solution (Renewal Clients <= 2012-04-10a & Main Clients <= 2012-07-10a)

For these clients, Weapons are limited to use a range of Item IDs hardcoded in the clientn for each type. For e.g.

1265,Bloody_Roar,Bloody Roar,4,,10,1000,120,,1,0,4096,7,2,34,4,75,1,16,{ bonus bIgnoreDefRace,RC_DemiHuman; bonus bFlee,-160; bonus bFlee2,-160; bonus bNoRegen,1; bonus bNoRegen,2; },{},{}
1266,Test,Test,4,4000,2000,10,165,,1,0,4096,7,2,34,3,33,1,16,{}

// 1-Handed Axes
1301,Axe,Axe,4,500,,800,38,,1,3,8803555,7,2,2,1,3,1,6,{}

Here the item 1266 is a custom katar and it does show up as a katar (if you have the proper sprite files ofcourse). but if i use some id like say 22000, client wont display it. So what is the range of item ids you can use? Look below:

    One handed Swords = 1100-1149, 13400-13499
    Two handed Swords = 1150-1199, 21000-21999 

    Knives, Daggers etc = 1200-1249, 13000-13099
    Katars = 1250-1299 ; Has 35 free IDs 

    One handed Axes = 1300-1349; Has 43 free IDs
    Two handed Axes = 1350-1399; Has 32 free IDs 

    One handed Spears = 1400-1449; Has 34 free IDs
    Two Handed Spears = 1450-1471, 1474-1499 

    Maces = 1500-1549, 16000-16999
    Books = 1550-1599 ; Has only 2 IDs.
    Knuckles = 1800-1899 ; Has 95 free IDs 

    One Handed Staves/Rods = 1600-1699; Has 79 free IDs
    Two Handed Staves/Rods = 1472,1473,2000-2099 

    Bows = 1700-1749, 18100-18499
    Guitars = 1900-1949 ; Has 32 free IDs
    Whips = 1950-1999 ; Has 130 free IDs 

    Handguns = 13100-13149
    Other guns = 13150-13199 

    Ninja weapons = 13300-13399 

The number of unused Item IDs left known for a range has also been mentioned above. Best practice to follow check in your range in official db before adding custom weapon.
Weapon Sprite Solution (For New Clients)

For new clients the view id system is also applicable to client. To add a custom weapon you need to first edit a file called weapontable.lub in your data folder

data/luafiles514/lua files/datainfo/weapontable.lub

I will be adding Oriental_Sword which will be a 1-Handed sword. Open weapontable.lub. First you will see a table called Weapon_IDs. Take note of the first 30 values in this table - these are the only available Weapon types in the client right now.

Anyways go to the last entry which should be for Wizardy Staff = 97. You can use a view id after that like shown below

 WEAPONTYPE_Oriental_Sword = 98,

Come down and you see the next table called WeaponNameTable. Here is where you add your sprite name suffix.
What do i mean by that? Its the last part in your weapon sprite & act file. Before it used to be _<Item ID>.

data/sprite/<job dependent folder>/<job dependent prefix>_<gender><weapon suffix>.spr

OK Back to topic. so I add my entry like shown below.

[Weapon_IDs.WEAPONTYPE_Oriental_Sword] = "Oriental"

Lastly come down further in weapontable.lub and you see the last table called Expansion_Weapon_IDs.
Remember the 30 types i told you to take note of ? here we assign one of those to our custom (like a mapping or connection).
Since mine is a 1-Handed Sword I specify it like below.

[Weapon_IDs.WEAPONTYPE_Oriental_Sword] = Weapon_IDs.WPCLASS_WEAPONTYPE_SWORD 

Now for the most important part. For our client to actually pick up all these details we need to provide the view id which we used in Weapon_IDs table as the ClassNum value in ItemInfo.lua. Check the ItemInfo.lub format shown above for details.

With this your weapon sprite will become visible while attacking. 

@Haziel post. I forgot this about there are range for weapons

Share this post


Link to post
Share on other sites
  • 0
1 minute ago, maken06 said:

Here!

 

Thanks Maken. I already fixed the issue.  this post will help to other soon ^_^

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now