Jump to content
  • 0

Make items drop identified?


HristDead

Question


  • Group:  Members
  • Topic Count:  66
  • Topics Per Day:  0.02
  • Content Count:  167
  • Reputation:   2
  • Joined:  08/01/12
  • Last Seen:  

Hi rAthena.

I remember i played on a server and the equips that were dropped by monsters, were dropped already identified.

For example, valkyrie dropped "Valkyrie Shield" with its appropiate sprite and ready to be equipped, instead of a guard sprite that says "Shield" and can't be equipped until using a magnifier.

Does anyone know how to do this? I've checked the configs already but i can't seem to find it, maybe i'm overlooking it?

Thanks

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 2

  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  2223
  • Reputation:   593
  • Joined:  10/26/11
  • Last Seen:  

You could also change how "mob-dropped items" are created, so they are created as identified items.

trunk/src/map/itemdb.c

/*==========================================
*    Specifies if item-type should drop unidentified.
*------------------------------------------*/
int itemdb_isidentified(int nameid)
{
   int type=itemdb_type(nameid);
   switch (type) {
       case IT_WEAPON:
       case IT_ARMOR:
       case IT_PETARMOR:
           return 0;
       default:
           return 1;
   }
}

Change that function to always return 1, meaning all item types will drop identified:

/*==========================================
*    Specifies if item-type should drop unidentified.
*------------------------------------------*/
int itemdb_isidentified(int nameid)
{
   return 1;
}

  • Upvote 2
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  81
  • Topics Per Day:  0.02
  • Content Count:  1654
  • Reputation:   583
  • Joined:  08/09/12
  • Last Seen:  

If you want to show identified item on drop (still on the ground), then change this: WBUFB(buf, 8) = fitem->item_data.identify; into WBUFB(buf, 8) = 1; in clif.c

If you want to auto-identify the item after you grab the item and placed inside the inventory, then change this: WFIFOB(fd,8)=sd->status.inventory[n].identify; into WFIFOB(fd,8)=1; in clif.c too

You can use it just one or both, it's up to you.

And the most important thing is to recompile your server after you change the codes /no1

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  66
  • Topics Per Day:  0.02
  • Content Count:  167
  • Reputation:   2
  • Joined:  08/01/12
  • Last Seen:  

Thank you so much!

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  81
  • Topics Per Day:  0.02
  • Content Count:  1654
  • Reputation:   583
  • Joined:  08/09/12
  • Last Seen:  

Wew, all item will return 1, neat trick /meh

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  66
  • Topics Per Day:  0.02
  • Content Count:  167
  • Reputation:   2
  • Joined:  08/01/12
  • Last Seen:  

I'm going to try BrianL's method. Right now some items drop identified while some others don't. Abit tricky lol.

Thanks, I'll try and give feedback when I find out if it worked.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...