-
Member
Animation (Fishing Bobber) Offset and Usage
This doesn't behave as it used to. Sometimes the offset seems to have a junk value instead of the expected value even after trying different data types. Any idea what's going on here with the recent changes? Also, CE seems to be detected beyond changing the app and process name, so it's difficult to analyze. Any help there is appreciated too.
-
Active Member
classic/retail? what offsets are you reading?
-
Member
Originally Posted by
mazer
classic/retail? what offsets are you reading?
classic @ 0x14C. I think I sorted it out with unsigned int. Will have to wait and see if it happens again.
-
Contributor
Code:
public bool IsBobbing => Memory.Process.ReadByte(ObjectBase + (uint)Addresses.GameObject.IsBobbing).HasBit(1);
Code:
public static bool HasBit(this byte value, int bitNumber)
{
return (value & (1 << bitNumber)) != 0;
}
where IsBobbing = 0x14C
Last edited by Mr.Sergey; 02-08-2025 at 09:09 AM.
-
Member
I started doing the virtual method for this animation, but still I get junk values sometimes. It must be something in my implementation despite never happening before
-
Member
Originally Posted by
gobsmack
I started doing the virtual method for this animation, but still I get junk values sometimes. It must be something in my implementation despite never happening before
So from my own personal experience, use the 0x14C offset that Mr.Sergey shared... you will see bitmask values there. Readable as a byte from memory.
I use a BitAND operator (& in Python) to make comparisons...
Code:
# this is the comparison i use to find the jump animation
if flag & 0x3 == 0x3
# this comparison should show a neutral bobber
if flag & 0x1 == 0x1
Now a caveat to this is if your object manager code is polling inactive objects, you may find your old bobbers after a completed cast.
You should probably avoid this by removing inactive objects or using a filtered list of only active/visible objects.
If you do not, you may find some old bobber objects still in the object manager. You can safely identify and ignore them with this comparison.
Code:
if flag & 0x5 == 0x5
-
Post Thanks / Like - 1 Thanks
gobsmack (1 members gave Thanks to dreadcraft for this useful post)
-
Active Member
0x14C is obj animationflags.
for bobber:
1 = idle, 3 = bobbing 5 = disappearing / fading out
try reading at 0x84 for obj flags, if its 1, then obj is active
-
Active Member
In c++ i use next cod to detect bobber bite and visible game object
Code:
unsigned int state = (unsigned int)read<unsigned long long>(0x148)>>4;
if(state==0x50000000){visible=false;}
if(state==0x30000000){isBite=true;}
if(state==0x10000000){visible=true;}
Last edited by Hrap; 02-23-2025 at 03:03 AM.