party healer question

Runes of Magic/Radiant Arcana (http://www.runesofmagic.com)
Post Reply
Message
Author
User avatar
botje
Posts: 656
Joined: Wed Oct 27, 2010 7:17 am

party healer question

#1 Post by botje »

is there a way to keep the party healer on a distance?

it keeps running to close by, which gets him killed xd

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

Re: party healer question

#2 Post by lisa »

Anything is possible, of course.


ok as for distance from party member, it will look something like this.'

Code: Select all

local angle = math.atan2(partymemberpawn[2].Z - player.Z, partymemberpawn[2].X - player.X);
camera:setRotation(angle);
player:update()
X,Z = calccoords(150,player.Direction)
teleport((partymemberpawn[2].X - X), (partymemberpawn[2].Z-Z), partymemberpawn[2].Y)
that will teleport to a spot 150 from the first party member, just change the 150 to something else if you want a different distance.

WP would look like this.

Code: Select all

<?xml version="1.0" encoding="utf-8"?><waypoints>
	<onLoad>
	local function calccoords(dist,angle)
		if dist == nil or angle == nil then
			print("\nrequirements missing.\n")
			return
		end
		local degrees, theta, sn, cs, X, Z
		degrees = angle * 60
		theta=(degrees*math.pi)/180;
		sn=math.sin(theta);
		cs=math.cos(theta);
		X= (dist*cs)
		Z= (dist*sn)
		return X,Z
	end
	eventParty("start")
	while(true) do
	
		if memoryReadBytePtr(getProc(),addresses.loadingScreenPtr, addresses.loadingScreen_offset) ~= 0 then
			repeat
				printf("loading screen has appeared, waiting for it to end.\n")
				yrest(1000)
			until memoryReadBytePtr(getProc(),addresses.loadingScreenPtr, addresses.loadingScreen_offset) == 0
		end
		PartyTable()
		yrest(200)
		player:update()
		if not player.Mounted then
			player:checkSkills(true);
			player:checkPotions();
			for i,v in ipairs(partymemberpawn) do
				player:target(partymemberpawn[i])
				player:update()
				partymemberpawn[i]:update()
				partymemberpawn[i]:updateBuffs()
				local target = player:getTarget();
				if target.HP/target.MaxHP*100 > 10 then
					player:checkSkills(true);
				end
			end
		end
		if (not player.Battling) then
			if settings.profile.options.LOOT == true and
				settings.profile.options.LOOT_ALL == true then
				local Lootable = player:findEnemy(nil, nil, evalTargetLootable)
				if Lootable then
					player:target(Lootable)
					player:update()
					if player.TargetPtr ~= 0 then
						player:lootAll()
					end
				end
			end
		end
		Mount(true) -- check to (dismount only)	
		local angle = math.atan2(partymemberpawn[2].Z - player.Z, partymemberpawn[2].X - player.X);
		camera:setRotation(angle);
		player:update()
		X,Z = calccoords(150,player.Direction)
		teleport((partymemberpawn[2].X - X), (partymemberpawn[2].Z-Z), partymemberpawn[2].Y)
		partyCommands()		
	end

	</onLoad>
</waypoints>
Usual discalimer
completely untested and it uses teleport, if in public then use the player:moveTo() instead.
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: party healer question

#3 Post by rock5 »

Maybe you could use the "player:moveInRange" function?
  • 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: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: party healer question

#4 Post by lisa »

rock5 wrote:Maybe you could use the "player:moveInRange" function?

Yup, which just calls the moveto function with the range arg.

Code: Select all

player:moveTo(target, ignoreCycleTargets, nil, range)
so it would look like this

Code: Select all

player:moveTo(partymemberpawn[2],true,nil,150)
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: party healer question

#5 Post by rock5 »

lisa wrote:Yup, which just calls the moveto function with the range arg.
Ah, that's what you meant. I see now.
  • 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
botje
Posts: 656
Joined: Wed Oct 27, 2010 7:17 am

Re: party healer question

#6 Post by botje »

perhaps its a good idea to incorporate that in the healing party? seeying healers should not be there on the battlefield, like ever? xd
User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: party healer question

#7 Post by lisa »

botje wrote:perhaps its a good idea to incorporate that in the healing party? seeying healers should not be there on the battlefield, like ever? xd
It all comes down to the user, for me I used it inside instances and in an instance you do want the healer on your butt (when not in combat) otherwise it constantly gets stuck on corners and stairs.

When in combat the healer doesn't follow and stays in the same spot.

with the adition of the party commands you can easily tell the healer to stop following you if you are going to hit a boss, then just tell it to follow again after boss is dead.
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
botje
Posts: 656
Joined: Wed Oct 27, 2010 7:17 am

Re: party healer question

#8 Post by botje »

i agree on the instance prt, but for normal questing, its very irritating if you ask me... xd
User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: party healer question

#9 Post by lisa »

botje wrote:i agree on the instance prt, but for normal questing, its very irritating if you ask me... xd
so just use the wp code I posted or if you don't want to use teleport then use the moveto code I posted instead of the teleport.

The code required to counter for every single users need/want for party would be bigger than the current bot, slight exageration, so I just did the foundation work and people can adapt it to their own needs.
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
botje
Posts: 656
Joined: Wed Oct 27, 2010 7:17 am

Re: party healer question

#10 Post by botje »

i know, and i did just that :)

ill leave it at that, with 1 last remark, perhaps its a idea to add a profile option for it.

anyway, thanx for the waypoint :)
Post Reply