euRO/iRO | 2.0.6.1 | Problem with identical items

This place is for Closed bug reports only. NOT for asking help!

Moderators: Moderators, Developers

Message
Author
battlemode
Noob
Noob
Posts: 14
Joined: 06 Apr 2008, 22:00
Noob?: Yes
Contact:

euRO/iRO | 2.0.6.1 | Problem with identical items

#1 Post by battlemode »

Problem with identical (slotted) items and their IDs.

This bug has been in Kore since 2.0.5.1 (earlier versions worked, and probably still work fine) and is still here in the lastest 2.0.6.1.
The bug seems to appear on all official servers using servertype 0 (probably others too)
I can confirm euRO, iRO and inRO.

The problem occurs when using equipments of the same type and trying to equip one of them.

In the example below we are going to assume that we have three gloves:
Glove [Phen] [1]
Glove [Zerom] [1]
Glove [Zerom] [1]

Prior to version 2.0.5.1 Kore would detect which glove(s) are already equipped and would be able to switch gloves just fine.
Right now the problem is that Kore does not seem to know which glove(s) are already equipped and therefore messes up when trying to equip one.

For example if we have the Phen Glove and one Zerom Glove equipped and try to equip the 2nd Phen glove Kore will just ignore that command and do nothing at all:
kore console wrote: eq
leftAccessory : Glove [Phen] [1] (41)
rightAccessory : Glove [Zerom] [1] (33)
eq Glove [Zerom] [1]
eq Glove [Zerom] [1]
eq Glove [Zerom] [1]
eq Glove [Zerom] [1]
eq Glove [Zerom] [1]
eq Glove [Zerom] [1]
As you see absolutely nothing happens when trying to equip the second Zerom Glove.
The problem can be fixed by reconnecting/teleporting (forcing map change), but will always mess up again with the next map change/teleport.
Going by that, I assume that this problem is caused by Kore always trying to equip the lowest item id instead of the correct one.
I tried to fix this bug on my own, but my knowledge is simply too little. I had already posted about this bug a few months ago and hope to have more luck this time with a more detailed description.

Engydoggy
Human
Human
Posts: 33
Joined: 12 Jul 2008, 06:14
Noob?: Yes

Re: euRO/iRO | 2.0.6.1 | Problem with identical items

#2 Post by Engydoggy »

Weren't you able to specify which eq slot to use?

eqAccesoryRight and eqAccesoryLeft I think? Let me check around, brb :p

Bibian
Perl Monk
Perl Monk
Posts: 416
Joined: 04 Apr 2008, 03:08

Re: euRO/iRO | 2.0.6.1 | Problem with identical items

#3 Post by Bibian »

this might be due to the fact that 'eq' checks the NAME of the item, then makes an object and doesnt check if its equiped so it tries to equip it again.
Im not sure cause i havent looked at the code yet.

Technology
Super Moderators
Super Moderators
Posts: 801
Joined: 06 May 2008, 12:47
Noob?: No

Re: euRO/iRO | 2.0.6.1 | Problem with identical items

#4 Post by Technology »

Battlemode wrote:For example if we have the Phen Glove and one Zerom Glove equipped and try to equip the 2nd Phen glove Kore will just ignore that command and do nothing at all:
you mean second Zerom glove?

Anyhow, that doesn't seem to be the only thing thats malfunctioning.
While having 2 X Ring [Mantis] [1] in the inventory (1 equipped & 1 not equipped):
console wrote:leftAccessory : Ring [Mantis] [1] (25)
rightAccessory : -

uneq Ring [Mantis] [1]
Error in function 'unequip' (Unequip Inventory Item)
Inventory Item Ring [Mantis] [1] is not equipped. ==> malfunction

uneq 25
You unequip Ring [Mantis] (25) - Accessory
In case 1, its getting the "ID" from the name.
The problem is, there are 2 "ID"'s for 1 name here.

[caveat]
in the RO client and in openkore equiping accesories goes like this:
if nothing equipped, a firstly equipped accessory goes in Left, a secondly equipped accessory goes in Right.
if 2 accessories equiped, equiping another accessory will switch with the one currently in Right.
So in Battlemode's case: Glove [Zerom] [1] is equipped in Right.
eq Glove [Zerom] [1] will make kore trying to equip Glove [Zerom] [1] in Right, but an item with this name is already equipped in right, so kore will do nothing.


I want to look into this more, but don't have much time atm.

For now you might just want to use the zerom glove equivalent of this:
eq rightAccessory Ring [Mantis] [1]
eq leftAccessory Ring [Mantis] [1]

[EDIT 1]
done some code reading and i think that i've came up with the solution for "your" problem Battlemode
Well not exactly what you stated here, but there was in fact another problem. (not being able to equip 2 of the same accessories)
there were 2 id's for the item because the conditions were wrong.
Fix for problem 1 is in SVN

now i will try and find the solution for the unequip problem.

[EDIT 2]
Fix for problem 2 is in SVN

[EDIT 3]
Yes i know that the error message is currently not 100% user friendly. (because of the slot displaying in front of the item when specified)
for example:
eq(uneq) rightAccessory Ring [Mantis] [1] when none unequiped (equiped)
-No such non-equiped Inventory Item: rightAccessory Ring [Mantis] [1]
-No such equiped Inventory Item: rightAccessory Ring [Mantis] [1]

Its kinda only usefull to know the slot when you are unequiping and then still it should be stated in a different, less confusing way.
I will try and make a better message tomorrow.
One ST0 to rule them all? One PE viewer to find them!
One ST_kRO to bring them all and in the darkness bind them...

Mount Doom awaits us, fellowship of OpenKore!

battlemode
Noob
Noob
Posts: 14
Joined: 06 Apr 2008, 22:00
Noob?: Yes
Contact:

Re: euRO/iRO | 2.0.6.1 | Problem with identical items

#5 Post by battlemode »

great!

Thanks a lot for that solution so far Technology.
Switching equipment with rightAccessory and leftAccessory seems to work perfectly fine again with the latest SVN.

Technology
Super Moderators
Super Moderators
Posts: 801
Joined: 06 May 2008, 12:47
Noob?: No

Re: euRO/iRO | 2.0.6.1 | Problem with identical items

#6 Post by Technology »

yes, but it broke the "hacking"-way of auto-equiping gears, fix will be provided soon.
[EDIT]
fixed that
One ST0 to rule them all? One PE viewer to find them!
One ST_kRO to bring them all and in the darkness bind them...

Mount Doom awaits us, fellowship of OpenKore!

Locked