19-04-2007, 09:16 PM
Alright. So as you may have noticed, with Mirage, when an item breaks, it takes it away. What did tutorial will do is, instead of making it so you lose them item, it'll just make it so that it has to be repaired before you can re-equip it! Note : This does not cover shields as they cannot break! If you want to add this to shields, you have to add the durability code and all that by yourself 
This is a real simple tutorial, but I just thought I'd share it with you guys
It's fully server side 
So first, for the weapon.
Find function GetPlayerDamage and look for the line :
And replace that TakeItem call with this :
Very good! Now I noticed that you can still equip the broken item, so in the handle if statement for the packet "useitem", look for the line
Which is in the Case ITEM_TYPE_WEAPON, and add the following before it :
[code] If Int(GetPlayerInvItemDur(index, InvNum))

This is a real simple tutorial, but I just thought I'd share it with you guys


So first, for the weapon.
Find function GetPlayerDamage and look for the line :
Code:
Call PlayerMsg(index, "Your " & Trim$(Item(GetPlayerInvItemNum(index, WeaponSlot)).name) & " has broken.", Yellow)
Call TakeItem(index, GetPlayerInvItemNum(index, WeaponSlot), 0)
And replace that TakeItem call with this :
Code:
Call SetPlayerWeaponSlot(index, 0)
Call SendWornEquipment(index)
Very good! Now I noticed that you can still equip the broken item, so in the handle if statement for the packet "useitem", look for the line
Code:
Call SetPlayerWeaponSlot(index, InvNum)
Which is in the Case ITEM_TYPE_WEAPON, and add the following before it :
[code] If Int(GetPlayerInvItemDur(index, InvNum))