SRL Archive - MSI Bugs

MSI Banking


kingarabian

2011-10-26 23:52:45

Alright, you guys are all aware of the recent update/glitch associating with items in your inventory becoming small after a period of time and then becoming big once again.

We need possible solutions:

1. DTM's of both small and regular sized items.
Pros: Could get the job done…
Cons: Really not efficient and lots of work.

2. Or instead of relying on DTM's to bank we could just have each script detect a specific color within each item and using that to continue its depositing/withdrawing procedure. This color must be available when the items turn small and vice versa.

This all could really just turn out to be a bug and Jagex fixing it soon, but we should get this fixed asap just in case they decided to leave.


JAGEX FIXED, NO LONGER A BUG

NCDS

2011-10-27 00:07:20

The problem with your second suggestion is that not everything has a unique color that isn't found on a dozen other items. Also, counts can not be used reliably due to the resizing. I guess it's possible but I'm not sure it would work for everything.

Two DTM's for each item would suck, to put it blunt. Even that's not guaranteed to be efficient. There have been plenty of issues in the past with DTM's being found on other items, this would just double the chances of that happening.

Most effective would probably be to combine them both. Instead of just being able to check for one main color, we search for a specified ColorCount when the DTM is found to confirm it. I can't imagine all that would be very time efficient though.

Nava2

2011-10-27 01:08:35

I'd say leave a buffer of a few days until Jagex says they are done updating everything!

Coh3n

2011-10-27 02:50:16

From: Nava2
I'd say leave a buffer of a few days until Jagex says they are done updating everything!
Probably not a bad idea. In the meantime we need to discuss solutions if they decide to leave the items smaller in the bank. ;)

Honestly, I think using CountColorTolerance may work. Kind of a rough outline:

type
TItem = record
name: string;
color, tol: integer;
counts, tolerances: array[0..1] of integer;
end;

function MSI_FindItem(item: TItem): boolean;
begin
if (lookingInBank) then
result := inRange(countColorTolerance(item.color, MBX1, MBY1, MBX2, MBY2, item.tol),
item.counts[0] - item.tolerances[0],
item.counts[0] + item.tolerances[0]
)
else
if (lookingInInv) then
result := inRange(countColorTolerance(item.color, MIX1, MIY1, MIX2, MIY2, item.tol),
item.counts[1] - item.tolerances[1],
item.counts[1] + item.tolerances[1]
);
end;
Would probably be a little more organized then that, but I'm sure we could make it pretty accurate, plus we can always confirm with an uptext check.

NCDS

2011-10-27 08:37:59

From: Coh3n
Probably not a bad idea. In the meantime we need to discuss solutions if they decide to leave the items smaller in the bank. ;)

Honestly, I think using CountColorTolerance may work. Kind of a rough outline:

type
TItem = record
name: string;
color, tol: integer;
counts, tolerances: array[0..1] of integer;
end;

function MSI_FindItem(item: TItem): boolean;
begin
if (lookingInBank) then
result := inRange(countColorTolerance(item.color, MBX1, MBY1, MBX2, MBY2, item.tol),
item.counts[0] - item.tolerances[0],
item.counts[0] + item.tolerances[0]
)
else
if (lookingInInv) then
result := inRange(countColorTolerance(item.color, MIX1, MIY1, MIX2, MIY2, item.tol),
item.counts[1] - item.tolerances[1],
item.counts[1] + item.tolerances[1]
);
end;
Would probably be a little more organized then that, but I'm sure we could make it pretty accurate, plus we can always confirm with an uptext check.


The only thing is we would have to leave it 'general' enough to work with both large and small items. I'm not sure how accurate that would end up being with other items with similar colors though.

euphemism

2011-10-27 12:01:43

From: NCDS
The only thing is we would have to leave it 'general' enough to work with both large and small items. I'm not sure how accurate that would end up being with other items with similar colors though.


Have two counts per item record? There is always up text to confirm, like Coh3n said.

Coh3n

2011-10-31 02:02:43

From: euphemism
Have two counts per item record? There is always up text to confirm, like Coh3n said.
That's why counts and tolerances are 2 element arrays. The first being for small items, the second being for larger ones.

I'm not sure how well it would work, but having the tolerances working as a color count range, I think it could be made pretty accurate. I mean, look at a cooked lobster and copper ore. The orange color is pretty close, but if the color count range is much smaller for copper, the cooked lobster won't be found.

Also, the small counts/tolerances fields would only be used in the bank, and the larger would only be used for inventory. That being said, I'm assuming the small items in the inventory is a bug.

I may mess around with something later, but there are other things I need to do first.

E: Resolved since the items were changed back (thank GOD!). :)