Page 80 of 111

Re: RoM bot

Posted: Thu Aug 13, 2009 7:08 am
by Blacksilence
Hmm thats a lvl bot i have think its a farm/gather bot^^ anyone know a gather bot?^^

Re: RoM bot

Posted: Thu Aug 13, 2009 7:39 am
by d003232
Blacksilence wrote:Hmm thats a lvl bot i have think its a farm/gather bot^^ anyone know a gather bot?^^
You can also gather perfectly with that bot. Just create a gather waypoint file with 'rom/createpath.lua'. That will automaticly insert the

Code: Select all

player:harvest();
function within your waypoint file. More about that see here.

Re: RoM bot

Posted: Thu Aug 13, 2009 7:50 am
by memcpy
d003232 wrote:a suggestion for a waypoint list
thats a good idea but i think the condition part should be placed in the waypointlist file itself. so it will gain more dynamic.

like:

Code: Select all

<waypointlist>
	<waypointfile name="level_1-3.xml">if (player.Level > 3) then WaypointList:loadNext(); end</waypointfile>
	<waypointfile name="level_goto_4.xml">WaypointList:loadNext();</waypointfile>
	<waypointfile name="level_4-5.xml">...</waypointfile>
	<waypointfile name="level_goto_7.xml">...</waypointfile>
	<waypointfile name="level_7-8.xml">if (player.Level > 8) then Player:logout(); end</waypointfile>
</waypointlist>
so everytime it finishes one waypoint cycle it checks the condition(s) required. if it/they is/are met the script executes the instruction (load next waypoint file, logout, etc...).

Re: RoM bot

Posted: Thu Aug 13, 2009 8:11 am
by d003232
memcpy wrote:

Code: Select all

<waypointlist>
	<waypointfile name="level_1-3.xml">if (player.Level > 3) then WaypointList:loadNext(); end</waypointfile>
	<waypointfile name="level_goto_4.xml">WaypointList:loadNext();</waypointfile>
	<waypointfile name="level_4-5.xml">...</waypointfile>
	<waypointfile name="level_goto_7.xml">...</waypointfile>
	<waypointfile name="level_7-8.xml">if (player.Level > 8) then Player:logout(); end</waypointfile>
</waypointlist>
so everytime it finishes one waypoint cycle it checks the condition(s) required. if it/they is/are met the script executes the instruction (load next waypoint file, logout, etc...).
Yea, think that would help the noob users a little. If we could avoid the necessity to manuel edit the waypoint file and insert lua code. At least for a standard situation like change the path after gaining a level.

And at the same time we have to take a look to the ingame situation. We start the bot and we have selected a waypointlist. What should be the benefit of that functionality?

For me it is:
  • you don't have to select your waypointfile manualy. The bot will do that. And, because that is depening from the player position, that have to be the criteria to select a waypoint file
  • If your level is below a waypoint file, the bot have to use the lower one to find the way to the final place
By doing that a waypointlist could looke like this:

Code: Select all

<waypointlist>
	<waypointfile name="level_1-3.xml"   maxlevel="3" ></waypointfile>
	<waypointfile name="level_goto_4.xml"></waypointfile>
	<waypointfile name="level_4-5.xml"   maxlevel="5" ></waypointfile>
	<waypointfile name="level_goto_7.xml maxlevel="7" ></waypointfile>
	<waypointfile name="level_7-8.xml"   maxlevel="8" ></waypointfile>
</waypointlist>
So the only functionality is to use 'maxlevel' for automaticly change the path. And is is used to determin at beginning, with path is our goal. I'm not sure if it is practicabeo to alow lua code inside. And how comlex it would be to implement that. I suppose a easy waypointlist wouldn't need to much code changes.

Re: RoM bot

Posted: Thu Aug 13, 2009 8:16 am
by Blacksilence
Ehm When i make the gather bot he use fast loot or slow like normal because in youtube is a bot that farms in miliseconds the things

Re: RoM bot

Posted: Thu Aug 13, 2009 8:19 am
by d003232
Blacksilence wrote:Ehm When i make the gather bot he use fast loot or slow like normal because in youtube is a bot that farms in miliseconds the things
The gather 'speed' is just limited by the client. 5 sec for each 'item' to gather.

Re: RoM bot

Posted: Thu Aug 13, 2009 9:30 am
by memcpy
d003232 wrote:

Code: Select all

<waypointlist>
	<waypointfile name="level_1-3.xml"   maxlevel="3" ></waypointfile>
	<waypointfile name="level_goto_4.xml"></waypointfile>
	<waypointfile name="level_4-5.xml"   maxlevel="5" ></waypointfile>
	<waypointfile name="level_goto_7.xml maxlevel="7" ></waypointfile>
	<waypointfile name="level_7-8.xml"   maxlevel="8" ></waypointfile>
</waypointlist>
no, it's not just for "noobish" players. it's a lot more dynamic while being simple at the same time. let's not make it that static as you suggest. what if i don't want to switch the waypoint at level x but after 1 hrs of botting or after x kills?

more dynamic example:

Code: Select all

<waypointlist>
   <waypointfile name="one.xml">if (player:loggedin()>2hours) then WaypointList:load("three"); end</waypointfile>
   <waypointfile name="two.xml">if (player:level()>45) then WaypointList:load("seven"); end</waypointfile>
   <waypointfile name="three.xml">if (player:loggedin()>4hours) then WaypointList:load("two"); end</waypointfile>
   ....
   <waypointfile name="seven.xml">if (player:killcount()>500) then player:logout(); end</waypointfile>
</waypointlist>

Re: RoM bot

Posted: Thu Aug 13, 2009 12:57 pm
by akira2102
d003232 wrote:a suggestion for a waypoint list:

There would be an option:

Code: Select all

<option name="PATH_TYPE"              value="waypointlist"/>
<option name="WAYPOINTS"              value="list_level_1-10.xml" />
and the list would look like:

Code: Select all

<waypointlist>
	<waypointfile name="level_1-3.xml"></waypointfile>
	<waypointfile name="level_goto_4.xml"></waypointfile>
	<waypointfile name="level_4-5.xml"></waypointfile>
	<waypointfile name="level_goto_7.xml"></waypointfile>
	<waypointfile name="level_7-8.xml"></waypointfile>
	...
</waypointlist>
If you start the bot somewhere, he will look for the closest waypointpath from the list and start with that path. If that path is to low for your level, your will check the player.Level in each file

Code: Select all

<waypoint x="-3861" z="-7817">
	if( player.Level > 3 ) then
		load_paths("level_goto_4");
  	end
	</waypoint>
and the bot will follow the paths, until he is at the right place.

What do you think out there?
That sounds good to me. I also tried to do a checkout in a file were all my waypoints are included with my botstarter programm but since I'm not the best programmer I did't get the waypoints out of that list to compare them. But your suggestion looks much better.
But for me and my botstarter it "would be enough" to start the waypoint depending on the level. I already have the level querys in my waypoint files so that the bot runs from the start place (Level 1) up to silverfall. But as I said when then the Bot is restartet and the startwaypoints are loaded everything is scraped.
So If u can realize your suggestion I definitly would prefer this!

Thanks for thinking about it. :)

Re: RoM bot

Posted: Thu Aug 13, 2009 12:59 pm
by d003232
memcpy wrote:no, it's not just for "noobish" players. it's a lot more dynamic while being simple at the same time. let's not make it that static as you suggest. what if i don't want to switch the waypoint at level x but after 1 hrs of botting or after x kills?

more dynamic example:

Code: Select all

<waypointlist>
   <waypointfile name="one.xml">if (player:loggedin()>2hours) then WaypointList:load("three"); end</waypointfile>
   <waypointfile name="two.xml">if (player:level()>45) then WaypointList:load("seven"); end</waypointfile>
   <waypointfile name="three.xml">if (player:loggedin()>4hours) then WaypointList:load("two"); end</waypointfile>
   ....
   <waypointfile name="seven.xml">if (player:killcount()>500) then player:logout(); end</waypointfile>
</waypointlist>
Yes you're right. I suppose at with a higher leverl char, the reason to change places is not so much the player level (simply becaus you need mostly more time for a level up then the duration of your botting session). It is more often the wish to switch between places to look not so botish. I will try to look deeper into a solution the next days. And I'm skeptical about a solution with an additional lua coding place. There are a lot of lua possibilities with the waypoint file, and also the special places <onLeaveCombat> in the profile is a good place for a 'metacoding' above different waypoint files. Perhaps we can simply do something by having the possibility to access a waypoint list. Already now you could insert 'waypointfiles' as user options:

Code: Select all

<option name="USER_WAYPOINTS_1"              value="level_1-3.xml" />
<option name="USER_WAYPOINTS_2"              value="level_4-5.xml" />
<option name="USER_WAYPOINTS_3"              value="level_6-8.xml" />
<option name="USER_WAYPOINTS_4"              value="level_1-10.xml" />
and access them in own lua coding?

Re: RoM bot

Posted: Thu Aug 13, 2009 4:16 pm
by akira2102
Thanks to your sugesstions D. I worked something out thats fine for me so my bot always get the nearest waypoint. Thank u very much!

Re: RoM bot

Posted: Thu Aug 13, 2009 10:02 pm
by ExtremeSlayer
I keep getting
micromacro/scripts/rom/classes/player.lua:700: bad argument #1 to 'keyboardRelease' <<null>>

Re: RoM bot

Posted: Fri Aug 14, 2009 1:29 am
by d003232
ExtremeSlayer wrote:I keep getting
micromacro/scripts/rom/classes/player.lua:700: bad argument #1 to 'keyboardRelease' <<null>>
Please read here!.

Re: RoM bot

Posted: Fri Aug 14, 2009 3:46 am
by memcpy
d003232 wrote:... <onLeaveCombat> in the profile is a good place for a 'metacoding' above different waypoint files. Perhaps we can simply do something by having the possibility to access a waypoint list. Already now you could insert 'waypointfiles' as user options: ... and access them in own lua coding?
well, yeah that's another solution if you want to pack it in one file. so you could still place the waypointlist in the profile like:

Code: Select all

<waypointlist>
   <waypointfile name="foo" file="one.xml" />
   <waypointfile name="bar" file="two.xml" />
   <waypointfile name="hello" file="three.xml" />
   ....
   <waypointfile name="world" file="seven.xml" />
</waypointlist>
and then later in the profile do something like:

Code: Select all

<onLeaveCombat>
   if (WaypointList:name()=="foo" and WaypointList:getCurrentWaypoint()==__LAST and Player:level > 45) then WaypointList:switchTo("bar"); end
</onLeaveCombat>
i mean i can understand your concerns about having like 10 places one can implement "metacoding" like you call it. but on the other hand maybe it's not that wrong at all? still two little words remain: more flexibility ;)

Re: RoM bot

Posted: Fri Aug 14, 2009 9:28 am
by memcpy
another great addition to the flexibility would be to have the option to specify settings for each waypointfile. thus overriding the default ones.

like you have in your profile

Code: Select all

<option name="LOOT"               value="true" />
<option name="LOOT_IN_COMBAT"     value="true" />
<option name="LOOT_DISTANCE"      value="100" />
<option name="LOOT_PAUSE_AFTER"   value="10" />
but in your waypointfile you declare other loot settings which may be better for this specific path you are botting.

simply said: override profile settings if set in waypointfile.

example 1:

Code: Select all

<waypoints>
		<option name="LOOT"               value="true" />
		<option name="LOOT_IN_COMBAT"     value="false" />
		<option name="LOOT_DISTANCE"      value="100" />
		<option name="LOOT_PAUSE_AFTER"   value="30" />
	<!-- # 1 --><waypoint x="-4213" z="9534"></waypoint>
	<!-- # 2 --><waypoint x="-4196" z="9693"></waypoint>
	<!-- # 3 --><waypoint x="-4160" z="9800"></waypoint>
</waypoints>
example 2:

Code: Select all

<waypointlist>
   <waypointfile name="foo" file="one.xml">
		<option name="LOOT"               value="false" />
		<option name="LOOT_IN_COMBAT"     value="false" />
		<option name="LOOT_DISTANCE"      value="100" />
		<option name="LOOT_PAUSE_AFTER"   value="30" />
   </waypointfile>
   <waypointfile name="bar" file="two.xml" />
   <waypointfile name="hello" file="three.xml" />
   ....
   <waypointfile name="world" file="seven.xml" />
</waypointlist>

Re: RoM bot

Posted: Fri Aug 14, 2009 9:39 am
by d003232
memcpy wrote:another great addition to the flexibility would be to have the option to specify settings for each waypointfile. thus overriding the default ones.

like you have in your profile

Code: Select all

<option name="LOOT"               value="true" />
<option name="LOOT_IN_COMBAT"     value="true" />
<option name="LOOT_DISTANCE"      value="100" />
<option name="LOOT_PAUSE_AFTER"   value="10" />
but in your waypointfile you declare other loot settings which may be better for this specific path you are botting.
With any changes you could do a hard overwrite by yourselfe, just with e.g.:

Code: Select all

settings.profile.options.LOOT = false;
wihtin the waypoint file. I didn't test that, but as I understand the coding, it should work. But there would be no restore within a session, if you load a new path. Thinks that one more point for 'the list'.

Re: RoM bot

Posted: Sat Aug 15, 2009 4:06 pm
by akira2102
Hi there is a huge error in the skill

Code: Select all

<skill name="ROGUE_PREMEDITATION" energy="20" type="buff" target="self" inbattle="false" />
The Bot cast this again and again and doesn't do anything else..

Re: RoM bot

Posted: Sat Aug 15, 2009 4:08 pm
by d003232
akira2102 wrote:Hi there is a huge error in the skill

Code: Select all

<skill name="ROGUE_PREMEDITATION" energy="20" type="buff" target="self" inbattle="false" />
The Bot cast this again and again and doesn't do anything else..
I suppose there is the cooldown parameter missing? What says the tooltip?

Re: RoM bot

Posted: Sun Aug 16, 2009 1:14 am
by Lembke
i get this error when im starting the bot it is as fast the bot use a spell it stops and that error shows up im usring rev 155

Code: Select all

Sun Aug 16 08:10:27 2009 : MicroMacro v1.0
Sun Aug 16 08:10:27 2009 : Processor Type: 2X 586, OS: Windows 7 
Sun Aug 16 08:10:27 2009 : LuaCoco is available.
Sun Aug 16 08:10:27 2009 : Lua glues exported.
Sun Aug 16 08:10:27 2009 : Keyboard layout: US English
Sun Aug 16 08:10:31 2009 : Executing script 'update.lua'
==================================================

Sun Aug 16 08:10:32 2009 : Execution success

Sun Aug 16 08:10:39 2009 : Executing script 'bot.lua'
==================================================

Sun Aug 16 08:10:43 2009 : RoM Bot Version 2.45
Sun Aug 16 08:10:43 2009 : Language: english
Sun Aug 16 08:10:43 2009 : Using static char address 0x8D85E0, player address 0x30280400

stack traceback:
	...(x86)\Runes of Magic\Bot\bot2\micromacro\lib\lib.lua:536: in function 'startMacro'
	scripts\rom\bot.lua:417: in main chunk

----------TRACEBACK END----------

Sun Aug 16 08:10:49 2009 : ...c/Bot/bot2/micromacro/scripts/rom/classes/player.lua:218: bad argument #4 to '?' (number expected, got no value)
Sun Aug 16 08:10:49 2009 : Execution error: Runtime error

Re: RoM bot

Posted: Sun Aug 16, 2009 1:47 am
by d003232
Lembke wrote:i get this error when im starting the bot it is as fast the bot use a spell it stops and that error shows up im usring rev 155

Code: Select all

...
Sun Aug 16 08:10:49 2009 : ...c/Bot/bot2/micromacro/scripts/rom/classes/player.lua:218: bad argument #4 to '?' (number expected, got no value)
Sun Aug 16 08:10:49 2009 : Execution error: Runtime error
I suppose you have a mix of old files and new SVN. It seems that you have an old language file. Just delete all files & folders in 'micromacro/scripts/rom' except the folders 'waypoints' and 'profiles' and repeat the update.

Re: RoM bot

Posted: Sun Aug 16, 2009 3:07 am
by akira2102
d003232 wrote: I suppose there is the cooldown parameter missing? What says the tooltip?
this skill has no cooldown thats the problem. It should be used only before starting a fight.