Page 6 of 11

Re: Swim and Speed hacks

Posted: Thu Jan 19, 2012 7:30 am
by dancerinthedark
Hello,

My swimhack doesn't work after the latest patch. Since swimhack doesn't need to be updated anymore, and my bot is, except swimhack, running fine, what could be the problem? I followed instructions from forum and still can't solve the problem. Bot runs from waypoint to waypoint, and when he needs to use swim funct, in micromacro it says "swihack activated", but bot is still on the ground :) What's the prob?

Thanks in forward, dd

Re: Swim and Speed hacks

Posted: Wed Feb 29, 2012 4:37 am
by silinky
why is this userfunction make the game run VERY slow? am i doing something wrong?
when i activate it, loading takes forever, and movies playing in the background begin to stagger.
i don't get this lagging with romeo hack but i hate that program for some reason lol
if there is anything i can do to solve it somehow, please tell me :)

thanks!

Re: Swim and Speed hacks

Posted: Wed Feb 29, 2012 4:41 am
by lisa
Do you mean just having the userfunction in the folder makes your PC lag?
Or do you mean when it has fly activated it makes PC lag?
or do you mean when you use the WP hack.xml it makes your PC lag?

Re: Swim and Speed hacks

Posted: Wed Feb 29, 2012 10:45 am
by Rickster
i dont get lags by a special user function.
rom bot (MicroMacro) in general is not very resource friendly though ;)

on a phenom II X4 running at 3,5 GHz (4 Cores) one rom bot uses about 20% of the processor.
when using rom bot to rebuff chars buffs much more ressources are used. for me it doubles the processor usage.

on a pentium D4 (dual core at 3,7 GHz) i was only able to run one rom client and one rom bot (without using char buffs) and the prozessor load was at 100%.
then there are no ressources left for other user programms.

Re: Swim and Speed hacks

Posted: Wed Feb 29, 2012 10:59 am
by rock5
So you use a special script to rebuff your character? Maybe the problem is how it is written. Do you include any yrests in it?

Re: Swim and Speed hacks

Posted: Wed Feb 29, 2012 8:19 pm
by Rickster
no, no special script for buffing. just using the profile method for skills, for exampple a priest/knight

Code: Select all

<skill name="PRIEST_AMPLIFIED_ATTACK"        modifier="" hotkey="MACRO" priority="70" rebuffcut="0"/>
<skill name="KNIGHT_ENHANCED_ARMOR"          modifier="" hotkey="MACRO" priority="70" rebuffcut="0"/>
<skill name="PRIEST_MAGIC_BARRIER"           modifier="" hotkey="MACRO" priority="70" rebuffcut="0"/>
<skill name="PRIEST_BLESSED_SPRING_WATER"    modifier="" hotkey="MACRO" priority="70" rebuffcut="0"/>
just using this makes the bot using around double cpu load compared to running the bot without this.
checking for buffs seems to use very much cpu power.
not a problem for me at this point. just wanted to tell about it as i read silinkys post above.

Re: Swim and Speed hacks

Posted: Wed Feb 29, 2012 8:54 pm
by lisa
It would depend on how the WP is written, which is what Rock5 meant.

If it literally just follows around a character checking buffs every millisecond then yes it will put more load on your PC.

Re: Swim and Speed hacks

Posted: Thu Mar 01, 2012 6:06 am
by silinky
hello!

i will try to be more specific :)

the lag goes on when i use the hack.xml poste here in some topic, and also in malatina survival.
when only 1 bot is running, it seems mostly fine, but when 2 are running, they both freeze for some times and even miss some treasure chests too.

also when the hack.xml is used (speed and swim hack implemented only), the zones load VERY slowly, sometimes the game even crashes.

hope this helps :)

and thanks for the feedback

Re: Swim and Speed hacks

Posted: Thu Mar 01, 2012 6:39 am
by lisa
I didn't really design the WP to be running constantly, it is constantly monitoring keypresses in an infinite loop, so yes it will put a load on your PC.

I did it more as a test/example for people of the usage and also for small time frame uses, like once inside instance to pop over a boss while manually playing.

Re: Swim and Speed hacks

Posted: Thu Mar 01, 2012 7:02 am
by silinky
maybe this could be the cause of the lag in the malatina script too?
i suspected that the WP itself could cause problems, and after a while i made myself a habit to deactivate on zone changes. i usually use it to access high level areas with low level chars, so it runs kind of longer.

Re: Swim and Speed hacks

Posted: Thu Mar 01, 2012 7:21 am
by lisa
if you dont need to turn off the hacks for a while you can just pause the Wp, it might help.

Re: Swim and Speed hacks

Posted: Thu Mar 01, 2012 7:35 am
by rock5
lisa wrote:I didn't really design the WP to be running constantly, it is constantly monitoring keypresses in an infinite loop, so yes it will put a load on your PC.
That's said, if you add a "yrest" in the loop it will probably improve it's performance significantly. Even a couple of hundred ms should do.

Re: Swim and Speed hacks

Posted: Thu Mar 01, 2012 9:03 am
by lisa
rock5 wrote:if you add a "yrest" in the loop it will probably improve it's performance significantly
Give this a try and see if it makes much difference =)

Re: Swim and Speed hacks

Posted: Wed Apr 04, 2012 3:12 pm
by kuripot
can you help me please...
from this teleport function from ATrock waypoint

Code: Select all

	local function UpThroughFloor()
		local rightheight = 18.5
		local dir = 3.14
		repeat
			if dir == 0 then dir = 3.14 else dir = 0 end -- Alternate direction
			teleport(nil,nil,rightheight) yrest(700)
			player:faceDirection(dir,-1.3) yrest(300)
			keyboardHold(settings.hotkeys.MOVE_FORWARD.key) yrest(300)
			keyboardRelease(settings.hotkeys.MOVE_FORWARD.key) yrest(1000)
			player:update()
		until player.Y > rightheight
	end

	local function UpThroughRoof(op)
		player:update()
		if player.Y > 105 then -- already above roof.
			return
		end

		local startpos, steps
		if op == 1 then -- in Luke room
			startpos = 74
			steps = 12
		elseif op == 2 then -- Hallways
			startpos = 91
			steps = 12
		else -- When not sure which
			startpos = 74
			steps = 30
		end

		for i = 0,steps,1 do teleport(nil,nil,startpos+i) player:turnDirection(1) yrest(50) end
		yrest(1000)
		teleport(nil,nil,120)
		player:update()
	end

how to edit to use in this position


current position

Code: Select all

<!-- # 36 --><waypoint x="3378" z="2983" y="44">	</waypoint>

i want to teleport above the floor to this position

Code: Select all

<!-- # 90 --><waypoint x="3378" z="2983" y="84">	</waypoint>

Re: Swim and Speed hacks

Posted: Wed Apr 04, 2012 3:19 pm
by kuripot

Code: Select all

	local function UpThroughFloor()
		local rightheight = 18.5                          <------ this is the target                                                                                                  height?
		local dir = 3.14                                  <------ what is this means?
		repeat
			if dir == 0 then dir = 3.14 else dir = 0 end -- Alternate direction
			teleport(nil,nil,rightheight) yrest(700)
			player:faceDirection(dir,-1.3) yrest(300)      <------- what is this?
			keyboardHold(settings.hotkeys.MOVE_FORWARD.key) yrest(300)
			keyboardRelease(settings.hotkeys.MOVE_FORWARD.key) yrest(1000)
			player:update()
		until player.Y > rightheight
	end

Re: Swim and Speed hacks

Posted: Wed Apr 04, 2012 4:02 pm
by rock5
First of all there is no guarantee it will work somewhere else.
kuripot wrote: local rightheight = 18.5 <------ this is the target
This is about the highest you can go while swiming up. You should end up with about half of your body sticking up through the floor. You can get this value by manually swimming up and seeing how high you can get.
kuripot wrote: local dir = 3.14 <------ what is this means?
That doesn't need to be changed. That is PI, which is 180 degrees in Radians, which is what the game uses. "dir" is alternated between 3.14 and 0 (180 and 0 degrees) when trying again so it doesn't go too far in one direction when trying many times.
kuripot wrote: player:faceDirection(dir,-1.3) yrest(300) <------- what is this?
The way it goes through the floor is different that the way it goes through the roof. To go through the floor, you go as high as you can, then face downwards and move forward. If it works right you pop up above the floor. (dir,-1.3) means face towards 3.14 or 0, whatever value dir is, and angled down 1.3 radians.


The only value you should need to change, to use it somewhere else, is "rightheight".

Re: Swim and Speed hacks

Posted: Wed Apr 04, 2012 4:11 pm
by kuripot
sorry i forgot to ask also this part

Code: Select all

	local function UpThroughRoof(op)
		player:update()
		if player.Y > 105 then -- already above roof.
			return
		end

		local startpos, steps
		if op == 1 then -- in Luke room
			startpos = 74
			steps = 12
		elseif op == 2 then -- Hallways
			startpos = 91
			steps = 12
		else -- When not sure which
			startpos = 74
			steps = 30
		end

		for i = 0,steps,1 do teleport(nil,nil,startpos+i) player:turnDirection(1) yrest(50) end
		yrest(1000)
		teleport(nil,nil,120)                            <----- what is 120 value
		player:update()
	end

Re: Swim and Speed hacks

Posted: Wed Apr 04, 2012 4:36 pm
by kuripot
i surrender.... i cannot do it...
please help me

Code: Select all

<waypoints type="RUN"><!-- Malatinas Goblins by Bot_romka v 1.1.5 -->

   <onLoad>
	MainLevel = 50		<!-- Level of character which kill mobs -->
	NumTwinks = 0		<!-- Number of characters. For solo = 0, up to 5. -->

	----------------------------------------------------------------------------------------
	repeat zoneid=RoMScript("GetZoneID()"); until zoneid
	repeat npcname=RoMScript("TEXT('Sys112651_name')"); until npcname
	repeat dgnname=RoMScript("TEXT('ZONE_DGN_BORSBURS')"); until dgnname
	repeat zonename=RoMScript("TEXT('ZONE_ASLAN')"); until zonename
	---repeat curzone=RoMScript("GetZoneName()"); until curzone
	---RoMScript("DEFAULT_CHAT_FRAME:AddMessage('|cffffff00Malatinas: "..player.Name.." You are in "..curzone..".|r')")


	function memoryfreezeSwimhack()
		local offsets = {addresses.charPtr_offset, addresses.skillBuffFlag_offset, 0xB4};
		memoryWriteIntPtr(getProc(), addresses.staticbase_char, offsets, 4);
	end
	function gSwimhack()
		registerTimer("SwimhackTimer", 5, memoryfreezeSwimhack);
	end

	function getTreasureChest()
		EventMonitorStart("TreasureChest", "PLAYER_BAG_CHANGED")
		local retry_count = 0;
		while(retry_count<7)do
			player:target_Object(113137,7000,nil,true)
			local time, moreToCome, msg = EventMonitorCheck("TreasureChest", "1")
			if msg ~= nil then
				EventMonitorStop("TreasureChest")
				break
			end
			retry_count = retry_count + 1;
		end
		printf("Chest opens. continuing.\n")
	end

	function PauseTwink()
		EventMonitorStart("PausePARTY", "CHAT_MSG_PARTY")
		repeat
			local time, moreToCome, name, msg = EventMonitorCheck("PausePARTY", "4,1")
			if time ~= nil then
				if string.find(msg,"All Ok") then
					break
				end
			end
			yrest(5)
		until false
	end
	changeProfileOption("RES_AUTOMATIC_AFTER_DEATH", false)
	changeProfileOption("TARGET_LEVELDIF_BELOW", 40)
	changeProfileOption("LOOT_IN_COMBAT", false)
	changeProfileOption("AUTO_ELITE_FACTOR", 15)
	changeProfileOption("LOOT_ALL", true)

	 if player:target_NPC(112651) then
		sendMacro("ChoiceOption(1);");
		yrest(5000);
		RoMScript("StaticPopup_OnClick(StaticPopup1, 1);")
		waitForLoadingScreen();
		__WPL:setWaypointIndex(2) -- or whatever point you want it to go to first.
	 else
		error("You are too far from Mahler Palo")
	 end

	function bossbuff()
	   if player.Class1 == 7 and player.Class2 == 2 then
	      player:cast("WARDEN_SAVAGE_POWER")
	      player:cast("WARDEN_ELVEN_PRAYER")
	      player:cast("WARDEN_MORALE_BOOST")
	      player:cast("WARDEN_ELVEN_GUIDANCE")
	      player:cast("WARDEN_EXPLOSION_OF_POWER")
	   end
	   if player.Class1 == 4 and player.Class2 == 5 then -- mage/priest
	      player:cast("MAGE_ENERGY_INFLUX")
	      player:cast("MAGE_INTENSIFICATION")
	      player:cast("MAGE_MAGIC_DRAIN")
	      player:cast("MAGE_ELEMENTAL_CATALYST")
	   end
	end

	local function UpThroughFloor()
		local rightheight = 66
		local dir = 3.14
		repeat
			if dir == 0 then dir = 3.14 else dir = 0 end -- Alternate direction
			teleport(nil,nil,rightheight) yrest(700)
			player:faceDirection(dir,-1.3) yrest(300)
			keyboardHold(settings.hotkeys.MOVE_FORWARD.key) yrest(300)
			keyboardRelease(settings.hotkeys.MOVE_FORWARD.key) yrest(1000)
			player:update()
		until player.Y > rightheight
	end

	local function UpThroughRoof(op)
		player:update()
		if player.Y > 88 then -- already above roof.
			return
		end

		local startpos, steps
		if op == 1 then -- in Luke room
			startpos = 44
			steps = 1
		end

		for i = 0,steps,1 do teleport(nil,nil,startpos+i) player:turnDirection(1) yrest(50) end
		yrest(1000)
		teleport(nil,nil,120)
		player:update()
	end

   </onLoad>
	<!-- #  1 --><waypoint x="-5837" z="3322" y="572">
		player:target_NPC("Mahler Palo");
		sendMacro("ChoiceOption(1);");
		waitForLoadingScreen();
	</waypoint>
 	<!-- #  2 --><waypoint x="1904" z="2230" y="308" tag="STARTM4">
		fly();
	</waypoint>
	<!-- # 12 --><waypoint x="2012" z="2233" y="357">	</waypoint>
	<!-- # 13 --><waypoint x="2260" z="2242" y="357">		</waypoint>
	<!-- # 21 --><waypoint x="2260" z="2242" y="387">		</waypoint>
	<!-- # 21 --><waypoint x="2260" z="2242" y="417">		</waypoint>
	<!-- # 21 --><waypoint x="2260" z="2242" y="457">		</waypoint>
	<!-- # 21 --><waypoint x="2260" z="2242" y="497">		</waypoint>
	<!-- # 21 --><waypoint x="2260" z="2242" y="517">		</waypoint>
	<!-- # 21 --><waypoint x="2260" z="2242" y="557">		</waypoint>
	<!-- # 21 --><waypoint x="2260" z="2242" y="577">		</waypoint>
	<!-- # 21 --><waypoint x="2260" z="2242" y="583">		</waypoint>
	<!-- # 22 --><waypoint x="2439" z="2307" y="583">flyoff()	</waypoint>
	<!-- # 23 --><waypoint x="2439" z="2307" y="166">		</waypoint>
	<!-- # 24 --><waypoint x="2929" z="2606" y="0">fly()		</waypoint>
	<!-- # 25 --><waypoint x="3319" z="2939" y="0">teleportToWP()	</waypoint>
	<!-- # 36 --><waypoint x="3323" z="2951" y="44">UpThroughFloor()	</waypoint>
	<!-- # 90 --><waypoint x="3323" z="2951" y="88">
		flyoff();
		yrest(1000);
		keyboardPress(settings.hotkeys.JUMP.key)
		yrest(1000);					</waypoint>
	<!-- # 91 --><waypoint x="3482" z="3185" y="85">	</waypoint>
	<!-- # 92 --><waypoint x="3603" z="3092" y="110">	</waypoint>
	<!-- # 93 --><waypoint x="3645" z="2974" y="142">	</waypoint>
	<!-- # 94 --><waypoint x="3638" z="2837" y="185">	</waypoint>
	<!-- # 95 --><waypoint x="3612" z="2752" y="209">	</waypoint>
	<!-- # 96 --><waypoint x="3499" z="2650" y="248">
		__WPL:setForcedWaypointType("NORMAL")
		changeProfileOption("LOOT","false")
	</waypoint>
	<waypoint x="3335" z="2574" y="248"> bossbuff() </waypoint>
	<waypoint x="3150" z="2629" y="248"></waypoint>
	<waypoint x="3075" z="2710" y="248"></waypoint>
	<waypoint x="3015" z="2742" y="248"></waypoint>
	<waypoint x="2960" z="2934" y="248"></waypoint>
	<waypoint x="2965" z="3107" y="248"></waypoint>
	<waypoint x="3026" z="3199" y="248"></waypoint>
	<waypoint x="3099" z="3249" y="248"></waypoint>
	<waypoint x="3124" z="3289" y="248"></waypoint>
	<waypoint x="3254" z="3301" y="248"></waypoint>
	<waypoint x="3465" z="3296" y="248"></waypoint>
	<waypoint x="3581" z="3215" y="248"></waypoint>
	<waypoint x="3666" z="3155" y="248"></waypoint>
	<waypoint x="3720" z="3013" y="248"></waypoint>
	<waypoint x="3742" z="2843" y="248"></waypoint>
	<waypoint x="3661" z="2707" y="248"></waypoint>
	<waypoint x="3593" z="2644" y="248"></waypoint>
	<waypoint x="3555" z="2603" y="248"></waypoint>	
	<waypoint x="3335" z="2574" y="248"></waypoint>
	<waypoint x="3150" z="2629" y="248"></waypoint>
	<waypoint x="3075" z="2710" y="250"></waypoint>
	<waypoint x="3080" z="2704" y="250"></waypoint>
	<waypoint x="3147" z="2569" y="248"></waypoint>
	<waypoint x="3344" z="2537" y="248"></waypoint>
	<waypoint x="3538" z="2661" y="248"></waypoint>
	<waypoint x="3617" z="2755" y="207"></waypoint>
	<waypoint x="3651" z="2876" y="175"></waypoint>
	<waypoint x="3651" z="2978" y="141"></waypoint>
	<waypoint x="3623" z="3069" y="118"></waypoint>
	<waypoint x="3571" z="3141" y="99"></waypoint>
	<waypoint x="3505" z="3179" y="85"></waypoint>
	<waypoint x="3470" z="3173" y="85"></waypoint>
	<waypoint x="3466" z="3172" y="85"></waypoint>
	<waypoint x="3347" z="2966" y="85">
		player:sleep();
	</waypoint>
</waypoints>

this my goblin waypoint..



when i run manually by use of ROMeo sometimes it's so easy to go above the floor with 25% telepower
but sometimes i tried many times to success

Re: Swim and Speed hacks

Posted: Wed Apr 04, 2012 11:01 pm
by rock5
TheUpThroughRoof function in AT has 3 settings; one for the low roof in the starting rooms, one for the corridors and one where it doesn't know where it's starting. The last one starts low and does 30 steps but the first 2 do only 12.

You have steps = 1. I'd say you need at least 12 steps to get through the roof and that is only if you start very close to the roof. Otherwise the rest of your function looks ok.

Actually because you only have one option you don't need the "op" argument. Just change

Code: Select all

      local startpos, steps
      if op == 1 then -- in Luke room
         startpos = 44
         steps = 1
      end
to

Code: Select all

      local startpos = 44
      local steps = 12
Or if the roof is different height in different places, add a startpos argument. Here, I'll just write up a more general function.

Code: Select all

	local function UpThroughRoof(startpos, steps)
		steps = (steps or 12) -- defaults to 12 if steps == nil.

		player:update()
		if player.Y > startpos + steps then -- already above roof.
			return
		end

		for i = 0,steps,1 do teleport(nil,nil,startpos+i) player:turnDirection(1) yrest(50) end
		yrest(1000)
		teleport(nil,nil,120)
		player:update()
	end
See how that works. You use it like this

Code: Select all

UpThroughRoof(44) -- Starts at 44 and drills up 12 steps to 56
UpThroughRoof(44,30) -- Starts at 44 and drills up 30 steps to 74
As a truly general purpose function it shouldn't have "teleport(nil,nil,120)" because the function wont know how high you are going and what you will be doing once you're through the roof. I also suspect 120 is too high for this script.

Re: Swim and Speed hacks

Posted: Thu Apr 05, 2012 10:15 pm
by kuripot
like this??

Code: Select all

	local function UpThroughFloor()
		local rightheight = 88
		local dir = 3.14
		repeat
			if dir == 0 then dir = 3.14 else dir = 0 end -- Alternate direction
			teleport(nil,nil,rightheight) yrest(700)
			player:faceDirection(dir,-1.3) yrest(300)
			keyboardHold(settings.hotkeys.MOVE_FORWARD.key) yrest(300)
			keyboardRelease(settings.hotkeys.MOVE_FORWARD.key) yrest(1000)
			player:update()
		until player.Y > rightheight
	end


   local function UpThroughRoof(44, 12)
      steps = (12) -- defaults to 12 if steps == nil.

      player:update()
      if player.Y > startpos + steps then -- already above roof.
         return
      end

      for i = 0,steps,1 do teleport(nil,nil,startpos+i) player:turnDirection(1) yrest(50) end
      yrest(1000)
      teleport(nil,nil,120)
      player:update()
   end