Page 1 of 2

Drillground: I want to Survive

Posted: Mon Nov 18, 2013 5:02 pm
by Marlb0ro
What is it for?
Farms Honor Points (average of 910 in 4 minutes).

What do I need to do this?
If you don't have it already, the Swimhack and Speedhack userfunctions which can be downloaded here http://www.solarstrike.net/phpBB3/viewt ... =27&t=2765 and must be placed in the rom/userfunctions folder.
drillground_survive.xml
(1.16 KiB) Downloaded 539 times
What does it do?
Flies you to the minigame "I want to Survive", starts the monster spawns, flies to safety and waits to repeat this process.

Edit:
09-12-2013
Included Honor Points check, currently on 25k points
Added speed() in the onload (tip from raider4ever)
Changed waitforloadingscreen to more reliable NPC proximity check (tip from gloover)

Re: Drillground: I want to Survive

Posted: Thu Nov 21, 2013 3:54 am
by rido_knight
thanks bro ^_^

Re: Drillground: I want to Survive

Posted: Thu Nov 21, 2013 7:39 am
by rido_knight
Dude please add How many times working this script.For example i want 8400(840x10) honor so i can change this script 10 times.I hope i made myself clear with my worst english :D

Re: Drillground: I want to Survive

Posted: Thu Nov 21, 2013 4:26 pm
by Marlb0ro
Hey Rido

I added an Honor Point check at the first waypoint. It's at 25000 now but you can open the wapoint file and change the 25000 to 8400 and it will stop doing the minigame when it has reached around 8400 Honor Points. Hope this is what you mean.

Re: Drillground: I want to Survive

Posted: Fri Nov 22, 2013 10:53 am
by rido_knight
Marlb0ro wrote:Hey Rido

I added an Honor Point check at the first waypoint. It's at 25000 now but you can open the wapoint file and change the 25000 to 8400 and it will stop doing the minigame when it has reached around 8400 Honor Points. Hope this is what you mean.
yep thats it ^_^ thank ^_^

Re: Drillground: I want to Survive

Posted: Sat Nov 23, 2013 1:23 am
by raider4ever
To make it a bit faster you can add

<onload>
speed(60)
</onload>

to the bot so the speed is 20% faster then normal

Re: Drillground: I want to Survive

Posted: Sat Nov 23, 2013 1:53 am
by rock5
The latest speed sets the optimal speed automatically so don't specify a speed. If you want to use speed just use

Code: Select all

speed()
The default for unbuffed walking speed will be set to 59 but if you have any speed buffs on it will take them into account.

Re: Drillground: I want to Survive

Posted: Sun Nov 24, 2013 6:54 am
by gloover
from time to time there is no loading screen appears, because you will be teleported directly to the npc - so your waypoint stucks, cause its allways wating for the loading screen.
I've tried to making a distance-check in the last wp, but it seems not to work :-(

Code: Select all

	<!-- #  2 --><waypoint x="3632" z="3941" y="337">
	repeat
	player:updateXYZ()
		if 100 > distance(player.X, player.Z, 3632, 3941) then
			break
		end
		yrest(200)
	until memoryReadBytePtr(getProc(),addresses.loadingScreenPtr, addresses.loadingScreen_offset) ~= 0
	waitForLoadingScreen(2)
	</waypoint>
reaching the position, the bot breaks the repeat function emmideatly, so may there some error in the position check.

Rock, can you take a look please?

Re: Drillground: I want to Survive

Posted: Sun Nov 24, 2013 8:11 am
by rock5
When you reach that waypoint you should be at 3632, 3941. So 100 > distance(player.X, player.Z, 3632, 3941) will return true immediately. If you want it to wait until it reaches another location then you should be using the coordinates of the new location. Also adding a reasonable time to waitForLoadingScreen is all you need to stop it from getting stuck waiting for the loading screen. How long do you expect it to have to wait for the loading screen?

Re: Drillground: I want to Survive

Posted: Sun Nov 24, 2013 3:28 pm
by Marlb0ro
You could try part of the suggestion Rock5 posted here, without the fight part ofcourse.
http://www.solarstrike.net/phpBB3/viewt ... =21&t=5337

Would it be something like this perhaps:

Code: Select all

    repeat
    yrest(500)
    if not isInGame() then -- Being teleported
        waitForLoadingScreen(10)
        rest(2000)
        player:update()
    end
until 100 >  distance(player.X,player.Z,5121,2519) -- At waypoint 1
I have been doing this for weeks tho and i've never come across this problem.

Re: Drillground: I want to Survive

Posted: Sun Nov 24, 2013 3:42 pm
by gloover
:oops: Shame on me. Thx rock. little misttake in the distance-check. it should be

Code: Select all

if distance(player.X, player.Z, 3632, 3941) > 100 then
...
now it works as it should

Re: Drillground: I want to Survive

Posted: Tue Nov 26, 2013 3:57 am
by kuripot
i always got stuck in NPC when i below the ground same as grafu... itry to apply this in drill ground but i fail

Code: Select all

		function bug()
			player:update()
			if 755 > player.Y
				then
					rightheight = 758			
					dir = 3.14
					repeat
						if dir == 0 
							then 
								dir = 3.14 
							else 
								dir = 0 
						end
						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
		end

Re: Drillground: I want to Survive

Posted: Tue Nov 26, 2013 8:51 am
by Marlb0ro
I get this a lot with a WP with which I farm the mobs. It may be simplistic from my point of view, but when I'm back at the Drillground NPC, I do flyoff() and order micromacro to press space twice to get out of the floor before flying again.

Even when I exit the Drillgrounds and teleport back in, I will still be stuck up to my waist in the ground. I have not figured out an alternative solution for it except for the simple steps mentioned.

Re: Drillground: I want to Survive

Posted: Sun Dec 08, 2013 7:36 am
by rido_knight
Fixed :/ doesnt work anymore.

Re: Drillground: I want to Survive

Posted: Mon Dec 09, 2013 4:20 pm
by Marlb0ro
Just tried a few runs, seems to be working still. I added some changes to the original waypoint, see if that makes the difference.

Re: Drillground: I want to Survive

Posted: Tue Dec 10, 2013 9:47 am
by Danni
Tried it now as well :geek:

My observation:

The First run is not a problem. ;)

The second to the forth run ...... if you are LUCKY :lol:

After that it mostly doesn't work, even if you restart the WP.

It seems like the Pop-Up Countdown for" Preparation" is not starting.

:arrow: After a while the WP realize it, shows a msg " pop-up didn't appear" and goes back to the first WP
:!: :arrow: but the first WP is much lower than the "Waiting" WP and since there are no WP between it, the char countinues to run into walls. :?

Hope that feedback helps

Re: Drillground: I want to Survive

Posted: Tue Dec 10, 2013 3:01 pm
by Marlb0ro
That does help thanks. I don't really use this waypoint myself. But I'll keep it running as well, to see what I may encounter. Will keep you posted.


Edit: I had two chars running it. One never had a problem reaching 25K points the first try. The second did the first run fine but never got a new countdown when running it the 2nd time. I relogged the char and tried again and got 25K without further interruptions. I just seems as random as can be, Danni. Not sure if there is a solution to a bug of the minigame at all.

Re: Drillground: I want to Survive

Posted: Tue Dec 24, 2013 12:37 am
by kuripot
waypoint work perfectly to me..
but i have a question.. there is possible to buy an honor armor and repeat to buy until get highdura.. i got complete set of honor armor set from mercenery.. by doing manually run to mercenery and buy to npc after my honor point is full. example my accessory is lowdura.. then my character keep buying ring until get highdura then if already got highdura it will buy earing until get high dura and so on

Re: Drillground: I want to Survive

Posted: Tue Dec 24, 2013 4:16 am
by kuripot
i got waypoint to buy gear and work perfectly to me. only the problem are not checking the item if i already have highdura item.. he just buy the item

Code: Select all

<?xml version="1.0" encoding="utf-8"?><waypoints>

	<!-- leaving castle -->
	<!-- #  1 --><waypoint x="0" z="-485" y="5" tag="gate">	</waypoint>
	<!-- #  2 --><waypoint x="-74" z="-527" y="7">
		if RoMScript("StaticPopup1:IsVisible()") then
		sendMacro('StaticPopup_OnClick(StaticPopup1, 1);') yrest(2000);
       		waitForLoadingScreen()
		else
		__WPL:setWaypointIndex(__WPL:findWaypointTag("gate"));	
		end
	</waypoint>
	<!-- to mercenery -->
	<!-- #  3 --><waypoint x="-22156" z="6452" y="-179">
	player:mount();
	player:update()
	if not player.Mounted then 
		inventory:useItem(203033)
		yrest(2000)
		inventory:update()
		player:mount();
	end
	</waypoint>
	<!-- #  4 --><waypoint x="-22161" z="6207" y="-153">	</waypoint>
	<!-- #  5 --><waypoint x="-22422" z="6004" y="-236">	</waypoint>
	<!-- #  6 --><waypoint x="-22718" z="6435" y="-237">	</waypoint>
	<!-- #  7 --><waypoint x="-23640" z="5808" y="-235">
		player:target_NPC(110532); -- Maya
		sendMacro("ChoiceOption(4);");
		waitForLoadingScreen();
	</waypoint>
	<!-- #  8 --><waypoint x="-21986" z="3650" y="-154">	</waypoint>
	<!-- choose NPC -->
	<!-- #  9 --><waypoint x="-21737" z="3603" y="-153">
		player:openStore(114371); -- Lis Woram yrest(2000);
		sendMacro("ChoiceOption(1);"); yrest(2000);
		inventory:storeBuyItem(228711,1)
		yrest(1000)
		sendMacro("CloseWindows()")
		player:update();
	</waypoint>
	<!-- # 10 --><waypoint x="-21983" z="3619" y="-155">
		player:target_NPC(110531); -- Macy
		sendMacro("ChoiceOption(4);");
		waitForLoadingScreen();
	</waypoint>
	<!-- # 11 --><waypoint x="-23577" z="5842" y="-236">	</waypoint>
	<!-- # 12 --><waypoint x="-22748" z="6433" y="-237">	</waypoint>
	<!-- # 13 --><waypoint x="-22466" z="6011" y="-237">	</waypoint>
	<!-- # 14 --><waypoint x="-22072" z="6278" y="-154">	</waypoint>
	<!-- # 15 --><waypoint x="-22151" z="6453" y="-154">
		player:target_NPC(111731); -- Guild Castle Manager
		sendMacro("ChoiceOption(2);");
		waitForLoadingScreen();
	</waypoint>
	<!-- castle to drill -->
	<!-- # 16 --><waypoint x="0" z="-484" y="29">	</waypoint>
	<!-- # 17 --><waypoint x="109" z="-295" y="31">	</waypoint>
	<!-- # 18 --><waypoint x="476" z="-18" y="29">	</waypoint>
	<!-- # 19 --><waypoint x="871" z="4" y="28">	</waypoint>
	<!-- # 20 --><waypoint x="960" z="296" y="25">	</waypoint>
	<!-- # 21 --><waypoint x="948" z="569" y="33">
		player:target_Object(112898); -- Drill Ground III
		sendMacro("ChoiceOption(1);");
		waitForLoadingScreen();
		loadPaths("drillground_survive");
	</waypoint>
</waypoints>
you can edit this depend on the drill ground location in your castle

Code: Select all

	<!-- castle to drill -->
	<!-- # 16 --><waypoint x="0" z="-484" y="29">	</waypoint>
	<!-- # 17 --><waypoint x="109" z="-295" y="31">	</waypoint>
	<!-- # 18 --><waypoint x="476" z="-18" y="29">	</waypoint>
	<!-- # 19 --><waypoint x="871" z="4" y="28">	</waypoint>
	<!-- # 20 --><waypoint x="960" z="296" y="25">	</waypoint>
	<!-- # 21 --><waypoint x="948" z="569" y="33">
i edited the drill ground waypoint to load my next waypoint

Code: Select all

	<!-- #  3 --><waypoint x="5121" z="2519" y="13">
			if (getCurrency("honor") >= 25000) then --change this amount if necessary
				player:target_NPC(112066);
				yrest(2000)
				sendMacro("ChoiceOption(7);");
				yrest(2000)
       		 	waitForLoadingScreen()
			loadPaths("buygear");     	<!-- change the  loadpath in what name you named the buying waypoint -->
		end
         		player:updateBuffs();
	 		if not player:hasBuff("Unbridled Enthusiasm") then
        	 	inventory:useItem(207200);
	 	end
   			fly()
			speed(59) 
	</waypoint>

Re: Drillground: I want to Survive

Posted: Tue Dec 24, 2013 11:23 am
by Bill D Cat
kuripot wrote: you can edit this depend on the drill ground location in your castle
Seems to me a perfect opportunity to use Rock5's userfunction_GotoGuild. This way anyone can use the script without needing to edit the locations for their individual castle layout.

http://www.solarstrike.net/phpBB3/viewt ... =27&t=5126

You could also include Rock5's userfunction_travelTo to handle using the transporters in Obsidian Stronghold.

http://www.solarstrike.net/phpBB3/viewt ... =27&t=4940