Yep, did lots and lots of that.
Eventually I found that at some point I broke my pawn function (probably testing something else).
I removed all the memory read repeats because they were making the function take forever. Not exactly sure why but if you can find a way to work them in after I post the code please do.
So, I have the objects list and a function that displays them.
Edit: I take that back, I have some object list, doesn't seem to have everything though.
Grand fantasia
- MiesterMan
- Posts: 543
- Joined: Tue Jul 06, 2010 9:15 pm
- Location: Between the Second and Third Circles of Hell
Re: Grand fantasia
My RoM Bot toys:
- Object Viewer: http://www.solarstrike.net/phpBB3/viewt ... =27&t=2619
Teleporter Functions: http://www.solarstrike.net/phpBB3/viewt ... =27&t=2605
Waypoint Finder: http://www.solarstrike.net/phpBB3/viewt ... =27&t=2616
Mail Functions: http://www.solarstrike.net/phpBB3/viewt ... =27&t=2612
Equipment Swapper(TempFixed): http://www.solarstrike.net/phpBB3/viewt ... =27&t=2571
- MiesterMan
- Posts: 543
- Joined: Tue Jul 06, 2010 9:15 pm
- Location: Between the Second and Third Circles of Hell
Re: Grand fantasia
Ok, done for now.
So we're on the same page my current addresses and pawn functions are:
So we're on the same page my current addresses and pawn functions are:
Code: Select all
addresses = {
--baseAddress = 0xA6C90C,
baseAddress = 0xA7594C,
--= Level 1 offsets =--
X_offset = 0x24,
Y_offset = 0x28,
combatbase_offset = 0x1C,
pawndata_offset = 0x8,
--= Level 2 offsets =--
-- Offset from combatbase
combat_offset = 0x3C,
-- Offset from pawndata
Name_offset = 0xE0,
Gold_offset = 0xC,
lvl_offset = 0x18,
xp_offset = 0x14,
HP_offset = 0x4,
MAXHP_offset = 0x48,
MP_offset = 0x8,
MAXMP_offset = 0x4C,
skillcharges_offset = 0xC4,
targettype_offset = 0xA710C,
-- I didn't touch any sprite, mouse, or camera pointers - MiesterMan (also, I saw the login info but didn't itqw qw qw qw qw qw qw)
--=== sprites ===--
sprite1baseAddress = 0xA74490,
sprite3baseAddress = 0xA7448C,
spriteAddress_offset = 0xEC,
spritestamina_offset = 0x1A4,
--=== mouse and camera ===--
mouseX = 0xA71B54,
mouseY = 0xA71B58,
--=== misc ===--
windowsaddress = 0xA71AD4, -- number of windows on screen
windowsaddress_offset = 0x38,
accountname = 0xA6CE60,
accountpass = 0xA6CE7C,
servername = 0xA6CE98,
-- possible table 0x93673C, 0x931548
--playercasting_offset = memoryReadRepeat("int", getProc(), playerAddress - 0x13D28 ) -- needs work
}
--= Level 0 offsets =-- (I wanted to use the base addr so I put this after the initial declaration)
addresses.targetbase = addresses.baseAddress + 0x70;
addresses.havetarget = addresses.baseAddress + 0x84;
Code: Select all
CPawn = class(
function (self, ptr)
self.Address = ptr;
self.Name = "<UNKNOWN>";
self.Id = -1;
self.GUID = 0;
self.Type = PT_NONE;
self.Level = 1;
self.HP = 10;
self.MaxHP = 10;
self.MP = 10;
self.MaxMP = 10;
self.Gold = 0;
self.X = 0.0;
self.Y = 0.0;
self.Z = 0.0;
self.Direction = 0.0;
self.Attackable = false;
self.Alive = true;
self.Mounted = false;
self.IgnoreTarget = 0;
self.Aggressive = false;
self.Buffs = {};
-- Experience tracking variables
self.LastExpUpdateTime = os.time();
self.LastExp = 0; -- The amount of exp we had last check
self.ExpUpdateInterval = 10; -- Time in seconds to update exp
self.ExpTable = { }; -- Holder for past exp values
self.ExpTableMaxSize = 10; -- How many values to track
self.ExpInsertPos = 0; -- Pointer to current position to overwrite (do not change)
self.ExpPerMin = 0; -- Calculated exp per minute
self.TimeTillLevel = 0; -- Time in minutes until the player will level up
-- Directed more at player, but may be changed later.
self.Harvesting = false; -- Whether or not we are currently harvesting
self.Battling = false; -- The actual "in combat" flag.
self.Fighting = false; -- Internal use, does not depend on the client's battle flag
self.Casting = false;
self.BotStartTime = os.time(); -- Records when the bot was started.
self.level_detect_levelup = 0; -- remember player level to detect levelups
self.Sleeping = false; -- sleep mode with fight back if attacked
self.Sleeping_time = 0; -- counts the sleeping time
self.Fights = 0; -- counts the fights
self.Last_ignore_target_ptr = 0; -- last target to ignore address
self.LastTargetPtr = 0; -- last invalid target
self.Last_ignore_target_time = 0; -- last target to ignore time
self.lastHitTime = 0; -- last time the HP of the target changed
self.TargetIcon = true
self.InParty = false
if( self.Address ~= 0 and self.Address ~= nil ) then self:update(); end
end
);
function CPawn:update()
local proc = getProc();
self.baseAddress = memoryReadInt(proc, self.Address);
self.dataAddress = memoryReadRepeat("int", proc, self.baseAddress + addresses.pawndata_offset)
self.X = memoryReadFloat(proc, self.baseAddress + addresses.X_offset)
self.Y = memoryReadFloat(proc, self.baseAddress + addresses.Y_offset)
if self.dataAddress then
self.Level = memoryReadInt(proc, self.dataAddress + addresses.lvl_offset)
self.HP = memoryReadInt(proc, self.dataAddress + addresses.HP_offset)
self.NamePtr = memoryReadInt(proc, self.dataAddress + addresses.Name_offset)
if ((self.NamePtr) and not (self.NamePtr == 0)) then
-- printf("%x \t",self.NamePtr);
self.Name = memoryReadString(proc, self.NamePtr)
end
self.MaxHP = memoryReadInt(proc, self.dataAddress + addresses.MAXHP_offset)
self.MP = memoryReadInt(proc, self.dataAddress + addresses.MP_offset)
self.MaxMP = memoryReadInt(proc, self.dataAddress + addresses.MAXMP_offset)
self.skillcharges = memoryReadInt(proc, self.dataAddress + addresses.skillcharges_offset)
self.Gold = memoryReadInt(proc, self.dataAddress + addresses.Gold_offset)
self.xp = memoryReadInt(proc, self.dataAddress + addresses.xp_offset)
end
end
My RoM Bot toys:
- Object Viewer: http://www.solarstrike.net/phpBB3/viewt ... =27&t=2619
Teleporter Functions: http://www.solarstrike.net/phpBB3/viewt ... =27&t=2605
Waypoint Finder: http://www.solarstrike.net/phpBB3/viewt ... =27&t=2616
Mail Functions: http://www.solarstrike.net/phpBB3/viewt ... =27&t=2612
Equipment Swapper(TempFixed): http://www.solarstrike.net/phpBB3/viewt ... =27&t=2571
Re: Grand fantasia
Looks like you did some nice work, better then me anyway, I was struggling to find the object lists.
Hopefully I will get some time to check it out later this week.
Hopefully I will get some time to check it out later this week.
Remember no matter you do in life to always have a little fun while you are at it
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
- MiesterMan
- Posts: 543
- Joined: Tue Jul 06, 2010 9:15 pm
- Location: Between the Second and Third Circles of Hell
Re: Grand fantasia
There are some major problems with the object list I found. It's incomplete. I'm not sure what kind of list it is but it definately returns some of the objects in the area.
If I get a chance I'll look at the other addresses that the list might be in.
If I get a chance I'll look at the other addresses that the list might be in.
My RoM Bot toys:
- Object Viewer: http://www.solarstrike.net/phpBB3/viewt ... =27&t=2619
Teleporter Functions: http://www.solarstrike.net/phpBB3/viewt ... =27&t=2605
Waypoint Finder: http://www.solarstrike.net/phpBB3/viewt ... =27&t=2616
Mail Functions: http://www.solarstrike.net/phpBB3/viewt ... =27&t=2612
Equipment Swapper(TempFixed): http://www.solarstrike.net/phpBB3/viewt ... =27&t=2571
Who is online
Users browsing this forum: No registered users and 8 guests