Jump to content
  • 0

Question

Posted

For example I have this line:

 

addItem("Loot", 8184, 1, this, true);

 

 

But this line add item to player inventory, what need to change, that this item equip automatically on player?

 

I searched using Cursed Weapons but didin't find anything.

2 answers to this question

Recommended Posts

  • 0
Posted

To find existent pieces of code (like this) you should follow a logic way instead try to search in a place whero you think they are. So lets follow that way:

 

1) When players wanna equip an item, they use the item , so the server must recive information about what item wanna player equip: Lets look in UseItem from clientpackets

 

2) Looking at the runImpl method of that packet, and after all restrictions checked, we will find activeChar.useEquippableItem(item, true)

where item = the l2iteminstance to equip

true = representing a boolean variable, true = stop attacking on equip

So, now lets go to L2PcInstance class -> useEquippableItem method

 

3) If we read what that method does, it equip the item if isnt equiped and unequip it if is equiped. What we want is to always equip it so, lets jump to the conditions checks where the item is equiped and we will find this

 

getInventory().equipItemAndRecord(item);

 

getInventory() will return the PcInventory from the L2PcInstance object

using the L2ItemInstance as argument, with equipItemAndRecord we will equip the item in the player

  • 0
Posted

To find existent pieces of code (like this) you should follow a logic way instead try to search in a place whero you think they are. So lets follow that way:

 

1) When players wanna equip an item, they use the item , so the server must recive information about what item wanna player equip: Lets look in UseItem from clientpackets

 

2) Looking at the runImpl method of that packet, and after all restrictions checked, we will find activeChar.useEquippableItem(item, true)

where item = the l2iteminstance to equip

true = representing a boolean variable, true = stop attacking on equip

So, now lets go to L2PcInstance class -> useEquippableItem method

 

3) If we read what that method does, it equip the item if isnt equiped and unequip it if is equiped. What we want is to always equip it so, lets jump to the conditions checks where the item is equiped and we will find this

 

getInventory().equipItemAndRecord(item);

 

getInventory() will return the PcInventory from the L2PcInstance object

using the L2ItemInstance as argument, with equipItemAndRecord we will equip the item in the player

wau thanks for this i looking this too

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


×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock