Swim, Speed and wall hacks

Additional botting resources. Addons may be either for the game itself or for the RoM bot.
Forum rules
Only post additional bot resources here. Please do not ask unrelated questions.
Post Reply
Message
Author
User avatar
lisa
Posts: 8330
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Swim, Speed and wall hacks

#1 Post by lisa » Wed Jul 27, 2011 3:42 am

Userfunction files need to be saved to your
micromacro/scripts/rom/userfunctions
folder.
You can tell a userfunction file as it will always be
userfunction_
and will always be a .lua type file, so
userfunction_********.lua
I changed names to userfunction_ as they should be, if you have any old versions just delete them so as not to cause conflicts.

Address is now in addresses.lua as of bot revision 684, update bot and use this file and it won't need updating anymore. Just need address updated in addresses.lua after any patch which we do anyway =)


Fly Hack

Rewrote Fly hack using the new function to change entire 6 bytes at the same time. Got rid of the version with timer, not needed.
Just use fly() to start flying and flyoff() to stop flying.
userfunction_swimhack.lua
V 2.1
Required update for version 724 and above of the bot. r5
(888 Bytes) Downloaded 2222 times

Speed Hack

Rewritten speed hack totally. Now also works mounted.
usage examples
speed() -- set speed to fast (best speed, taking into account speed buffs)
speed("on") -- set speed to fast (best speed, taking into account speed buffs)
speed(100) -- set speed to you guessed it fast

speed("off") -- set it to normal walking (correct speed, taking into account speed buffs)
speedoff() -- set it to normal walking (correct speed, taking into account speed buffs)
speed(50) -- set to normal unbuffed speed

speed(31) -- walk like a snail

range is from 30 to 200 where 50 is normal walking pace
userfunction_speedhack.lua
Version 1.3
- Automatically calculates best speed taking into account speed buffs.
- Works mounted
(3.01 KiB) Downloaded 663 times
Speedhack uses addresses from addresses.lua and you should never have to update the userfunction.


Wall Hack

To use the wall hack just use

wallon() -- To turn on the wall hack

walloff() -- To turn off the wall hack

It does a pattern search for the memory address so shouldn't need updating after patches.
userfunction_wallhack.lua
Version 1.11
(1.51 KiB) Downloaded 1109 times
Fly & Speed (for manual play)

Ok adding a WP file for usage with these 2 userfunctions.
save file to your waypoints folder.

--=== Note ===--
This is purely for when playing manually and you want to use speed or swim with a keypress.

Once you start the WP use the numberpad keys 1 2 4 5.
1 = fly
2 = flyoff
4 = fast speed
5 = normal speed
hack.xml
use rom/bot path:hack
then use numberpad keys as instructed.
(1.05 KiB) Downloaded 1457 times
Last edited by lisa on Wed Sep 07, 2011 8:09 am, edited 7 times in total.
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

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Swim and Speed hacks

#2 Post by rock5 » Wed Jul 27, 2011 5:48 am

The speed off value shouldn't be 70. That's still 40% faster than normal.

Personally I would have written it as setSpeed(value) so you could use multiple values in different situations.
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

User avatar
lisa
Posts: 8330
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Swim and Speed hacks

#3 Post by lisa » Wed Jul 27, 2011 5:52 am

Yeah your right, I'll just rewrite it, I was going to just leave it as was written by the author but I think things should be improved when they can be improved.
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

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Swim and Speed hacks

#4 Post by rock5 » Wed Jul 27, 2011 6:01 am

Life is a journey, not a destination.

Ooh, how zen of me. :)
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

User avatar
lisa
Posts: 8330
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Swim and Speed hacks

#5 Post by lisa » Wed Jul 27, 2011 6:06 am

Something like this would work.

Code: Select all

local staticcharbase_address = addresses.staticbase_char;
offsetsx = {0x598, 0x42};
function speed(_speed)
if _speed == "on" or _speed == nil then _speed = 100 end -- defaults to 100 if nothing specified
if _speed == "off" then _speed = 50 end -- normal walk speed

	if _speed > 106 or 30 > _speed then -- greater then 106 is to fast, less then 30 is to slow
		error("Speed outside of safe values, 30 to 106\n")
	end

	function memoryfreezespeed()
		memoryWriteBytePtr(getProc(), staticcharbase_address, offsetsx, _speed);
	end

	if _speed > 50 then
		registerTimer("speedTimer", 5, memoryfreezespeed);
		printf("Speedhack ACTIVATED!\n");
	end

	if 51 > _speed then
		unregisterTimer("speedTimer");
		memoryWriteBytePtr(getProc(), staticcharbase_address, offsetsx, _speed);
		printf("Speedhack DEactivated.\n");
	end
end
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

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Swim and Speed hacks

#6 Post by rock5 » Wed Jul 27, 2011 6:26 am

Looks good. I like the on and off settings.

I can see the usefulness of it but, personally, I wouldn't use a timer. I like the fact that it automatically resets when I exit an instance. But that's just me.

I notice you only use the timer when it's fast. Doesn't it reset if it's slower than normal?
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

User avatar
lisa
Posts: 8330
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Swim and Speed hacks

#7 Post by lisa » Wed Jul 27, 2011 6:28 am

honestly no idea, I just adapted the original. it had a timer for fast so I kept it like that. As to how or why it works, no idea.

I think I have a version of yours still somewhere, I might check it out and compare the 2.
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

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Swim and Speed hacks

#8 Post by rock5 » Wed Jul 27, 2011 6:37 am

I don't have a function, all I have is what I use in my egg script. It just changes the value. It stays changed util I leave the zone.

It should be easy enough to check if slow speeds reset. Ok I just did. They do. So if you are going to use a timer then you should use it for slow and fast speeds because they both reset.
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

User avatar
lisa
Posts: 8330
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Swim and Speed hacks

#9 Post by lisa » Wed Jul 27, 2011 6:45 am

So if timer for both then it will be more like this then

Code: Select all

local staticcharbase_address = addresses.staticbase_char;
offsetsx = {0x598, 0x42};
function speed(_speed)
if _speed == "on" or _speed == nil then _speed = 100 end 	-- defaults to 100 if nothing specified
if _speed == "off" then _speed = 50 end						-- normal walk speed

	if _speed > 106 or 30 > _speed then  					-- greater then 106 is to fast, less then 30 is to slow
		error("Speed outside of safe values, 30 to 106\n")
	end

	function memoryfreezespeed()
		memoryWriteBytePtr(getProc(), staticcharbase_address, offsetsx, _speed);
	end
	
	if _speed == 50 then sp = "normal" end
	if _speed > 50 then sp = "fast" end
	if 50 > _speed then sp = "slow" end
	
		registerTimer("speedTimer", 5, memoryfreezespeed);
		printf("Speed set how you like it, "..sp.."\n");
end
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

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Swim and Speed hacks

#10 Post by rock5 » Wed Jul 27, 2011 6:50 am

I think you still want to say

Code: Select all

if _speed == 50 then 
    unregisterTimer
else
    registerTimer
end
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

User avatar
lisa
Posts: 8330
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Swim and Speed hacks

#11 Post by lisa » Wed Jul 27, 2011 6:59 am

K easy done, I feel I need to make sure the arg is actually a number though. Pretty sure it will just error out if it isn't saying trying to compare number to string.

Code: Select all

local staticcharbase_address = addresses.staticbase_char;
offsetsx = {0x598, 0x42};
function speed(_speed)
	if _speed == "on" or _speed == nil then _speed = 100 end 	-- defaults to 100 if nothing specified
	if _speed == "off" then _speed = 50 end						-- normal walk speed

	if _speed > 106 or 30 > _speed then  						-- greater then 106 is to fast, less then 30 is to slow
		error("Speed outside of safe values, 30 to 106\n")
	end

	function memoryfreezespeed()
		memoryWriteBytePtr(getProc(), staticcharbase_address, offsetsx, _speed);
	end
	
	local sp
	
	if _speed > 50 then sp = "fast" end
	if 50 > _speed then sp = "slow" end
	
	if _speed == 50 then
		unregisterTimer("speedTimer");
		memoryWriteBytePtr(getProc(), staticcharbase_address, offsetsx, 50);
		printf("Speed set to normal walk speed.\n");
	else
		registerTimer("speedTimer", 5, memoryfreezespeed);
		printf("Speed set how you like it, "..sp..".\n");
	end
end
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

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Swim and Speed hacks

#12 Post by rock5 » Wed Jul 27, 2011 7:36 am

lisa wrote: I feel I need to make sure the arg is actually a number though. Pretty sure it will just error out if it isn't saying trying to compare number to string.
I think it would. It would be easy enough to add a number check after checking if it's "on" or "off".

Nice to see you made "sp" local. You could also make "offsetsx" and even the "memoryfreezespeed" function local.
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

User avatar
lisa
Posts: 8330
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Swim and Speed hacks

#13 Post by lisa » Wed Jul 27, 2011 8:58 am

I gave up on the timer, seems timer has always wanted to actually start going to waypoint coords to activate, not sure why.

This is my final fully tested works like a charm code

Code: Select all

local staticcharbase_address = addresses.staticbase_char;
local offsetsx = {0x598, 0x42};
function speed(_speed)
	if _speed == nil then _speed = 100 end
	if _speed and type(_speed) ~= "number" then
		_speed = string.lower(_speed)
		if _speed == "on" then _speed = 100 end		-- defaults to 100 if nothing specified
		if _speed == "off" then _speed = 50 end							-- normal walk speed
		if type(_speed) ~= "number" then
			printf("Incorrect usage of function speed().\n")
			player:sleep()
		end
	end
	
	if _speed > 106 or 30 > _speed then  						-- greater then 106 is to fast, less then 30 is to slow
		error("Speed outside of safe values, 30 to 106\n")
	end

	function memoryfreezespeed()
		memoryWriteBytePtr(getProc(), staticcharbase_address, offsetsx, _speed);
	end
	
	local sp
	
	if _speed > 50 then sp = "fast" end
	if 50 > _speed then sp = "slow" end
	if _speed == 50 then sp = "normal" end
	
	local playerAddress = memoryReadIntPtr(getProc(), addresses.staticbase_char, addresses.charPtr_offset);
	if playerAddress ~= 0 then
		memoryWriteFloat(getProc(), playerAddress + 0x40, _speed);
		printf("Speed set to how you like it, "..sp..".\n")
	end
end
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

Tamyra
Posts: 133
Joined: Tue Feb 01, 2011 6:09 pm

Re: Swim and Speed hacks

#14 Post by Tamyra » Fri Jul 29, 2011 4:43 pm

I'm slightly confused, does this require having a bot running, or can you turn it on and go where you want without a bot?

User avatar
lisa
Posts: 8330
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Swim and Speed hacks

#15 Post by lisa » Fri Jul 29, 2011 8:32 pm

it is set up as a userfunction that can be called with the bot. So yes you use the bot. Not sure how else you are going to call the function without some sort of programme to run it.
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

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Swim and Speed hacks

#16 Post by rock5 » Sat Jul 30, 2011 12:34 am

You should be able to use Cheat Engine if you know how to set up the pointer.
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

kanta
Posts: 424
Joined: Thu Nov 11, 2010 4:08 pm

Re: Swim and Speed hacks

#17 Post by kanta » Fri Aug 05, 2011 4:55 pm

Not in game right now so I can't test it but couldn't you run the command line "waypoint" and use it then?

Also, just to make sure I'm understanding this properly. I can set it to a faster speed when I enter an instance and when I break party to exit it will automatically reset my speed to the normal setting? I don't have to manually set it to normal speed in my waypoint? One other thing is that I have the "Escape Artist" title so I move normally at 10% faster, will it setting the speed to normal cancel the title "buff"?
Scout/Knight/Rogue 70/66/66

kanta
Posts: 424
Joined: Thu Nov 11, 2010 4:08 pm

Re: Swim and Speed hacks

#18 Post by kanta » Fri Aug 05, 2011 5:28 pm

Grrr... No matter what I do I can't seem to go any faster then speed 65. Turn it up to 66 or higher and I keep getting the "rubber band" effect if I move more than around a range of 200. Would love to be able to run my KS farming at 100 :cry:
Scout/Knight/Rogue 70/66/66

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Swim and Speed hacks

#19 Post by rock5 » Fri Aug 05, 2011 9:24 pm

I know in my egg script, if you disable teleports and set speed to 100, it works(although I haven't tested it recently). Maybe it's because it doesn't travel far. Also it's been suggested that not all zones or instances have the same limits.
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

kanta
Posts: 424
Joined: Thu Nov 11, 2010 4:08 pm

Re: Swim and Speed hacks

#20 Post by kanta » Sat Aug 06, 2011 8:36 am

If I add in a few waypoints for it to hesitate for a moment, I can use speed 70. I guess those pauses are necessary for the client and server to synchronize the character position. Maybe if I had a more powerful computer and faster internet I could go higher.
Scout/Knight/Rogue 70/66/66

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests