Party Bot as at 7th oct 2011

Runes of Magic/Radiant Arcana (http://www.runesofmagic.com)
Message
Author
User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Party Bot as at 7th oct 2011

#21 Post by lisa » Thu Oct 27, 2011 9:21 pm

BillDoorNZ wrote:ok, a suggestion for you Lisa ;) just in case you don't already have enough on your plate :D

NPC Interaction - some way for the PartyDPS/Heals to interact with npc dialogs. e.g. talk to XYZ npc, select option 1, then option 5 etc. This is not a simple one as the main use case for it would be for quest accepting and turn-ins. i.e. Main targets the npc, either sets a raid icon to tell the bots to open a dialog (target_NPC) and then sets another icon to tell them which ChoiceOption / Speakframe option to select. I'll have to do a bit more thinking about this as theres a lot of questions and variable involved in all of that. Might even require extending ingamefunctions to do it tho as ideally you would want to be able to select the quest on your main character and have the bots just mirror what the main is doing. It would be nice to be able to get a main + 4 bots to do all 10 daileys in one sitting or to build waypoints for quest chains and run 5 characters through at once.

I remember reading a comment from Admin about some IPC functions for MM, but have never heard any more about it. If there are some there, then it would make it easier to get this sort of thing happening as you could tell the other MM instances to execute the appropriate dialog options, instead of going through the game client and therefore risking detection by gms.
The networking we were testing a while back made the cpu/memory usage spike incredibly when running multiclients which is why I went with party bot the way I did.

As for questing, partydps only looks for enemies with I icon or looks at icons on itself. Would need to add code into it to look for npc with icons but you wouldn't want it do to it as part of the normal loop, constantly looking at all pawns in range looking for icons would put a huge load on the partydps and slow it down considerably. You could however trigger it by setting an Icon on the character itself, so
if selficon == 4 then look for NPC with icon X, click it, do AcceptQuestByName() and CompleteQuestByName()

Issue with that is you would need to do that for each bot following you, so if 4 bots you would need to change the icon on each of them until they target the NPC, once the code to target occurs it will continue doing rest of code even if you change icons.

So in short it is doable yes.

nerdyone255 wrote:Ack, can't figure out what I'm doing wrong that partydps isn't targeting red players in pvp.
I actually never concidered pvp for this, when you just run bot normally does it attack red named players?
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

nerdyone255
Posts: 107
Joined: Mon Nov 22, 2010 10:17 am

Re: Party Bot as at 7th oct 2011

#22 Post by nerdyone255 » Thu Oct 27, 2011 10:54 pm

nope doesnt attack reds, butttt bill was right

changing PT_MONSTER to PT_PLAYER; had the partydps attacking red players in pvp :D

now to figure out how to get it to do so in siege :P

noticed in siege that partyhealer only heals and buffs the party leader, and partydps doesnt recognize targets. will do some testing...

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

Re: Party Bot as at 7th oct 2011

#23 Post by lisa » Thu Oct 27, 2011 11:09 pm

nerdyone255 wrote:noticed in siege that partyhealer only heals and buffs the party leader
I should heal the characters in group 1 of the raid that is within range.
Seige auto converts any party to a raid, this raid also acts differently to any other raid.
Notice you can't even click someone in raid unless they are within range of you?
The memory for raid and party members is exactly the same except that you wouldn't need to add the player to the table as it comes in as a raid member, shouldn't cause a conflict but would mean you basically check yourself 3 times every loop of checking party members.

So in order to do whole raid you would need to adjust the so instead of just checking 1-5 it does 1-36
line 31 has
for i = 1, 5 do

I am thinking could actually do a check for number of party/raid members and just do that many.


So basically I would create another WP and either edit the party.lua or just create a userfunction.
and check for raid instead of just party.
Since seige is pvp try to kill anything within range, no check for raid Icons.

Code: Select all

function PartyTable()
		partymemberpawn={}
		local partymemberName={}
		local partymemberObj={}
	for i = 1, 36 do
		if _firsttimes == nil then -- post party names when bot started
			if GetPartyMemberName(i) ~= nil then
				cprintf(cli.yellow,"Party member "..i.." has the name of ")
				cprintf(cli.red, GetPartyMemberName(i).."\n")
				_firsttimes = true
			end
		end
	
		if os.time() - _timexx >= 60  then --only post party names every 60 seconds
			if GetPartyMemberName(i) ~= nil then
				cprintf(cli.yellow,"Party member "..i.." has the name of ")
				cprintf(cli.red, GetPartyMemberName(i).."\n")
			_timexx = os.time()
			end
		end

		if GetPartyMemberName(i) then
			table.insert(partymemberName,i , GetPartyMemberName(i))
			table.insert(partymemberObj,i , player:findNearestNameOrId(partymemberName[i]))
			if partymemberObj[i] then
				table.insert(partymemberpawn,i , CPawn(partymemberObj[i].Address))
			end
		end
	end
end
Something like that will get you started for healer =)

For attacking you wouldn't use findenemy, I will look into it to find a better usage for PVP, there is probably an indicator for players you can attack, I will look into 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
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Party Bot as at 7th oct 2011

#24 Post by lisa » Thu Oct 27, 2011 11:16 pm

Keep in mind that using memory to find enemies like we do will mean you also find hidden characters such as rogues and try to kill them.
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
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Party Bot as at 7th oct 2011

#25 Post by lisa » Fri Oct 28, 2011 12:57 am

Removed file, new 1 in a post a few after this post.
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

sdude13
Posts: 76
Joined: Thu Aug 19, 2010 9:36 am

Re: Party Bot as at 7th oct 2011

#26 Post by sdude13 » Fri Oct 28, 2011 3:27 am

lisa wrote:Keep in mind that using memory to find enemies like we do will mean you also find hidden characters such as rogues and try to kill them.
hmm... so we could target a "hidden" rouge ? (remembers me of old romeos multihack, there it never worked for me).
but attaking a hidden rouge found that way is it possible ??

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

Re: Party Bot as at 7th oct 2011

#27 Post by lisa » Fri Oct 28, 2011 4:24 am

Using a skill on a hidden enemy you can't see is impossible but using an aoe at the coords they are at will break them out of hidden. Something also occurs when you get close to a hidden player and you see them faded, like a ghost, then you can target and attack them. Not sure if you can actually change the memory for the target to make them attackable or not.
Not something I would personally look into.
I am happy to make up a WP that will attack players in seige but not going to make it kill hidden players, need to draw a line somewhere lol
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

nerdyone255
Posts: 107
Joined: Mon Nov 22, 2010 10:17 am

Re: Party Bot as at 7th oct 2011

#28 Post by nerdyone255 » Fri Oct 28, 2011 8:46 am

error while loading up siegedps.xml

not sure if its syntax or a clash with a setting or something.

ill dabble some more in siege tonight, maybe i wasnt paying enough attention to the healer to notice she was healing/buffing the rest of my party.
Attachments
error.jpg

nerdyone255
Posts: 107
Joined: Mon Nov 22, 2010 10:17 am

Re: Party Bot as at 7th oct 2011

#29 Post by nerdyone255 » Fri Oct 28, 2011 9:33 am

lisa wrote:I am happy to make up a WP that will attack players in seige but not going to make it kill hidden players, need to draw a line somewhere lol
totally agree

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

Re: Party Bot as at 7th oct 2011

#30 Post by lisa » Fri Oct 28, 2011 10:44 am

I think I clicked the add file button and did some editing afterwards, try it again.

Like I said though really weird, I have prints and it says it should attack it but for some reason it won't actually target the other character. I figured out the player:fight() is fine it is just that it isn't targeting the character in the first place.

Need to work out why.

Code: Select all

	if( bestEnemy ) then
		print("should attack: "..bestEnemy.Name.." Id: "..bestEnemy.Id.."\n")
		return CPawn(bestEnemy.Address);
	else
		return nil;
	end

		player:target(findEnemySeige()) 
		if player:haveTarget() then
			printf("should attack now lol\n")
			player:fight();
		else
			printf("no target\n")
		end
those are just the important bits for now, So in the findEnemySeige() it returns the address for the other character as per the print
print("should attack: "..bestEnemy.Name.." Id: "..bestEnemy.Id.."\n")
but then the
player:target
doesn't actually make it target the player, I checked the function and all it does is make it target the player in memory.

Hmm had a thought, what if they made this the same as they did for objects, so will need to freeze memory for PVP aswell. It will need some testing to find out for sure. I doubt it but i guess it's possible.
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
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Party Bot as at 7th oct 2011

#31 Post by lisa » Fri Oct 28, 2011 12:25 pm

Grr. Ok long story short I had a nice long post written out of how it took me hours to find the issue, I hit submit and stupid thing got some weird connection error and lost everything I typed.

Issue was a pvp setting for profile was removed from bot, I have a feeling I was the one that removed it like 6 months ago, really can't say for sure.

Anyway added back in an option for PVP, it is a profile option just look at the default profile to see it.

This WP now works 100%, in a duel atleast lol

I also set it to kill other things then just pvp, so it should attack balloons and kill any players that come near, obviously if you die then that is another issue as no waypoint coords.

So SVN update and then use this WP
Attachments
seigedps.xml
changed profile options such as PVP and phirius, can't use phirius pots in siege.
(5.18 KiB) Downloaded 241 times
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

nerdyone255
Posts: 107
Joined: Mon Nov 22, 2010 10:17 am

Re: Party Bot as at 7th oct 2011

#32 Post by nerdyone255 » Mon Oct 31, 2011 7:16 am

friggin awesome

<3

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

Re: Party Bot as at 7th oct 2011

#33 Post by lisa » Mon Oct 31, 2011 8:12 am

added a check for player hp into the loop and then to go to sleep.

Code: Select all

		if 10 > player.HP then
			player.sleep()
		end
So if it dies it will go to sleep, so head back and then hit delete to continue.
Attachments
seigedps.xml
added player hp check
(5.23 KiB) Downloaded 173 times
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

sdude13
Posts: 76
Joined: Thu Aug 19, 2010 9:36 am

Re: Party Bot as at 7th oct 2011

#34 Post by sdude13 » Mon Oct 31, 2011 3:35 pm

hmmm as i look at this, it's doing nearly something I wanted a long time (mix of assist/healbot):

A character that follows my mainchar, heals him and if i set so when no heal is needed fight the
target the mainchar has. But as I want to use it to help level a low char as mainchar,
the two chars should not be in a group. So the mainchar gets the XP, and gets healed...

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

Re: Party Bot as at 7th oct 2011

#35 Post by lisa » Mon Oct 31, 2011 9:44 pm

sdude13 wrote:hmmm as i look at this, it's doing nearly something I wanted a long time (mix of assist/healbot):

A character that follows my mainchar, heals him and if i set so when no heal is needed fight the
target the mainchar has. But as I want to use it to help level a low char as mainchar,
the two chars should not be in a group. So the mainchar gets the XP, and gets healed...
If you get healed by another character while killing a mob then the xp gets adjusted as if you were in the party, so you get bugger all xp. If the you get healed while not in combat then it's not an issue.
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 Bot as at 7th oct 2011

#36 Post by rock5 » Mon Oct 31, 2011 10:08 pm

lisa wrote:If you get healed by another character while killing a mob then the xp gets adjusted as if you were in the party, so you get bugger all xp. If the you get healed while not in combat then it's not an issue.
I find that hard to believe. Are you sure of that? So if I'm minding my own business, killing stuff and someone runs up and heals me while I'm fighting, I loose out on XP? Does that mean the person healing me gets some of the XP? I thought it would be like killing the mob, if 2 people attack a mob the one to aggro it first gets the XP. That's how it works doesn't it?
  • 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 Bot as at 7th oct 2011

#37 Post by lisa » Mon Oct 31, 2011 11:25 pm

rock5 wrote:
lisa wrote:If you get healed by another character while killing a mob then the xp gets adjusted as if you were in the party, so you get bugger all xp. If the you get healed while not in combat then it's not an issue.
I find that hard to believe. Are you sure of that? So if I'm minding my own business, killing stuff and someone runs up and heals me while I'm fighting, I loose out on XP? Does that mean the person healing me gets some of the XP? I thought it would be like killing the mob, if 2 people attack a mob the one to aggro it first gets the XP. That's how it works doesn't it?
Other person (support) doesn't get any xp but you (attacking) do get a reduced xp. It was implemented to stop people from getting max xp while a higher lvl char does the work or supports while not in party.
Otherwise you could take a low lvl char and get it to agro very high lvl mobs while another char not in party kills the mobs and the low level gets very high xp.

Because of the way stating works in RoM a lvl 1 character can walk around with 10k hp very easily.
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 Bot as at 7th oct 2011

#38 Post by rock5 » Tue Nov 01, 2011 12:07 am

Makes sense I guess.
  • 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

sdude13
Posts: 76
Joined: Thu Aug 19, 2010 9:36 am

Re: Party Bot as at 7th oct 2011

#39 Post by sdude13 » Tue Nov 01, 2011 7:22 am

it does. thx for your comments.

nerdyone255
Posts: 107
Joined: Mon Nov 22, 2010 10:17 am

Re: Party Bot as at 7th oct 2011

#40 Post by nerdyone255 » Wed Nov 02, 2011 7:33 pm

mmm cant get siegedps to attack correctly. seems like its not targeting on its own.

if a crim takes the first shot, it fights back. but a crim can literally stand right infront of the char running siegedps and it wont target and engage.

pvp setting true, not sure what im doing wrong.

seems like theres a difference between duel and actual pk. youre right lisa it does work in duel perfectly. but with criminal/reds in pk it ignores them till attacked first to force the target

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot] and 9 guests