Page 1 of 3

Mini game - goblin's mine in Aslan. Solo bot WP

Posted: Tue Jan 24, 2012 5:53 pm
by kkulesza
You will need:
- swimhack -> http://www.solarstrike.net/phpBB3/viewt ... t=swimhack
- model -> http://www.solarstrike.net/phpBB3/viewt ... del+folder
- english or german version of RoM client
- "! - Fix_for_patch303" or "d303fix" rom-client-addon installed
- good geared character or a weaker one but with strong range skill
- a little bit of programing skills to configure oneHiter() function.
- download both files: "gobsAslan.xml" and "gobsFurnaces.xml"

-start in Aslan near npc "Mahler Palo". Starting wp is "gobsAslan.xml"


Bot's features:
-Does not pay for the mini game
-kills elementals and boss Evelyn
-collects all 4 chests at furnaces
-flies out of instance
-recognizes if Sirius Hammertooth is in the mine and if he is the it should collect a prize (collecting prize has not been tested, because i haven't seen this npc for a long time)
-can be simply connected with other waypoints. This functionality was copied from "cot_tele" wp.

Difficulties:
1. The greatest difficulty is killing Fortifying Elementals:
They can easly all aggro on you and stun you over and over again until they kill you. If you have a lot of HP and can always 1-hit them or even better 1-hit-aoe them then there is no problem. But if your HP is low or normal attacks are weak then you have to use only the best skill to kill them (range skill is the best because then you don't aggro other mobs). For example mage's "flame" is a very good skill to do this.
2. Often boss Evelyn is spawning in a strange way, and my mage couldn't hit her with "flame", because there was always an obstacle betwin.
--My solution to points 1&2 is to have few attacking skills enabled in a profile at the beggining until Evelyn is dead. Then before killing Fortifying Elementals oneHiter() function is triggered. This function disables all skills except the strongest, but it has to be configured be a user (You know your chars better then I). Please read my comments in "gobsFurnaces.xml" for more info.

3. Mobs are "hiding" behind rocks or even inside walls. Sometimes bot was ignoring them, sometimes bot didn't use any attack while fighing.
--there are 2 functions to handle this. First is "clearIgnored()" it clears ignored-mobs-list every 2 secs. 2nd function is lastAttack() it tries to force a normal atack on a mob. Those solutions generally work good and need no user configuration.

4. the goblin part of the mine goes up and then goes down a little bit. I've corrected the waypoints few times, but it always is flying very low in one place. So lover levels 60- can aggro few goblins.
-- this one shouldn't be a big problem. If bot will get aggro then it should kill that goblin(s)

WP files are ready and working. The description will be continiued...

LATEST VERSION: gobsFurnace.xml -v.2.1 ; gobsAslan.xml -v.1

Re: Mini game - goblin's mine in Aslam. Solo bot WP

Posted: Tue Jan 24, 2012 6:15 pm
by kuripot
need other file for this???

Code: Select all

		false - if you need a special skill/combo to kill Fortifying Elemental and not aggro other mobs
			if false then you have to adjust oneHiter() function to your class combination 

and what is "gobsAslan" waypoint??

Re: Mini game - goblin's mine in Aslam. Solo bot WP

Posted: Tue Jan 24, 2012 6:53 pm
by kkulesza
kuripot wrote:need other file for this???

Code: Select all

		false - if you need a special skill/combo to kill Fortifying Elemental and not aggro other mobs
			if false then you have to adjust oneHiter() function to your class combination 
pressing CTRL+F will help you find the "oneHiter()" function
kuripot wrote:and what is "gobsAslan" waypoint??
This is the first of 2 waypoint files.

Re: Mini game - goblin's mine in Aslam. Solo bot WP

Posted: Tue Jan 24, 2012 7:04 pm
by MiesterMan
I'd never even heard of that NPC, interesting.

Re: Mini game - goblin's mine in Aslam. Solo bot WP

Posted: Tue Jan 24, 2012 7:16 pm
by M4gm4
MiesterMan wrote:I'd never even heard of that NPC, interesting.
When the time had initially 15 minutes instead of the usual 30 minutes, was also an NPC (Sirius) in the middle of the last room, you can appeal to her to get an extra reward.

Re: Mini game - goblin's mine in Aslam. Solo bot WP

Posted: Tue Jan 24, 2012 7:34 pm
by kuripot
i always encounter sirius hammertooth the system will inform me that "im lucky blah blah!!!" when the timer start and
he gave me gift if i talk to him after kill all mobs in the circle... sometimes i got "transport runes" "woods" "herbs" etc. but if you left even single mobs in the circle,,, sirius don't gave you anything

Re: Mini game - goblin's mine in Aslam. Solo bot WP

Posted: Wed Jan 25, 2012 5:41 am
by spawni
:( english client - why don´t you use id instead of names.

Maybe I will look into your code and try to change to id´s

Re: Mini game - goblin's mine in Aslam. Solo bot WP

Posted: Wed Jan 25, 2012 1:40 pm
by M4gm4
spawni wrote::( english client - why don´t you use id instead of names.

Maybe I will look into your code and try to change to id´s
Sirius Hammertooth = 102200
change line 205 to

Code: Select all

	if sysCheck("Feuerofens")==true then -- könnte auch Flammen Ofen sein , kann grad nicht nachsehen
change line 234 to

Code: Select all

	if sysCheck("Erdofens")==true then
change line 255 to

Code: Select all

	if sysCheck("Wasserofens")==true then
change line 279 to

Code: Select all

	if sysCheck("Windofens")==true then
change line 330 to

Code: Select all

			player:target_NPC(102200); -- Sirius Hammerzahn
if you look just above the code, you quickly see what you have to change. ne thing that was just minutes from 5. including the write here.

Re: Mini game - goblin's mine in Aslam. Solo bot WP

Posted: Thu Jan 26, 2012 4:05 pm
by kkulesza
M4gm4 wrote:Sirius Hammertooth = 102200
Did you get this from runesdatabase or getid?
I ask because in runesdatabase there are 2 IDs coresponding to Sirius Hammertooth

BTW thx for postig german translation.
Could you also translate "central transport circle" ?

Re: Mini game - goblin's mine in Aslam. Solo bot WP

Posted: Thu Jan 26, 2012 5:49 pm
by M4gm4
kkulesza wrote:
M4gm4 wrote:Sirius Hammertooth = 102200
Did you get this from runesdatabase or getid?
I ask because in runesdatabase there are 2 IDs coresponding to Sirius Hammertooth

BTW thx for postig german translation.
Could you also translate "central transport circle" ?
use

Code: Select all

player:target_NPC(102200,113245); -- Sirius Hammerzahn

Code: Select all

central transport circle = Zentraler Transportkreis

Re: Mini game - goblin's mine in Aslam. Solo bot WP

Posted: Fri Jan 27, 2012 2:40 am
by rock5
Usually there is more than one entry in runesdatabase for a mob if there is one for each difficulty of an instance. The second id doesn't show any drops so I'm not so sure.

If you use M4gm4 idea, the correct way is to put multiple ids in a table. So

Code: Select all

player:target_NPC({102200,113245}); -- Sirius Hammerzahn

Re: Mini game - goblin's mine in Aslam. Solo bot WP

Posted: Fri Jan 27, 2012 5:54 pm
by M4gm4
rock5 wrote:Usually there is more than one entry in runesdatabase for a mob if there is one for each difficulty of an instance. The second id doesn't show any drops so I'm not so sure.

If you use M4gm4 idea, the correct way is to put multiple ids in a table. So

Code: Select all

player:target_NPC({102200,113245}); -- Sirius Hammerzahn
and re-learned something
:) thank you

Re: Mini game - goblin's mine in Aslan. Solo bot WP

Posted: Mon Jan 30, 2012 3:03 pm
by Jellenser
thank u for the wp.!

it works well untul near end ..for me it walks between stone golems and wind elementar up and down.. never ends.

it does not loot the chest ..

i supose couse it dont find any enemies near the range so it makes a loop .

Re: Mini game - goblin's mine in Aslan. Solo bot WP

Posted: Mon Jan 30, 2012 5:08 pm
by kkulesza
Jellenser wrote:thank u for the wp.!
it works well untul near end ..for me it walks between stone golems and wind elementar up and down.. never ends.
it does not loot the chest ..
i supose couse it dont find any enemies near the range so it makes a loop .
-are all stone golems dead or some are alive? if all dead then were there unlooted bodies? did you loot them?
-did you restart the bot betwin furnaces?
-what is your client's language?
-what is your class?
-Did you change?

Code: Select all

MY_CHAR_IS_VERY_STRONG=false;
to:

Code: Select all

MY_CHAR_IS_VERY_STRONG=true;
if yes then how did you adjust the oneHiter() function?

Re: Mini game - goblin's mine in Aslan. Solo bot WP

Posted: Mon Jan 30, 2012 9:24 pm
by Jellenser
-are all stone golems dead or some are alive? if all dead then were there unlooted bodies? did you loot them?

bot kills the fire golem and the coming elite mob.. and then it ignoe anything and make the loop without atack anyhting then

-did you restart the bot betwin furnaces?
yes i did and still the same

-what is your client's language?
german
-what is your class?
i tested it with different class combinations like hunter /assasin or priest/ hunter or mage/priest . all the same
-Did you change?
no i dont couse some chars are not that strong .. but i will try..

Re: Mini game - goblin's mine in Aslan. Solo bot WP

Posted: Mon Jan 30, 2012 9:35 pm
by kkulesza
Jellenser wrote: bot kills the fire golem and the coming elite mob.. and then it ignoe anything and make the loop without atack anyhting then
So all fire elementals are dead and chest spawns, but bot doesn't loot the chest?
is this the case?
if yes then the german translation M4gm4 posted is wrong/inaccurate or there are some issues with character encoding.
EDIT:i've just tested the bot on german client and it works fine with chests. The translation for central transport circle is incorrect though.
Should be : "Haupt-Transportkreis-Ausgang", not:"Zentraler Transportkreis"

-You shouldn't restart the bot after chest spawns, because then event monitor will get no message
-did you use/test EventMonitor in any other waypoint? you must have "! - Fix_for_patch303" or "d303fix" addons installed

Re: Mini game - goblin's mine in Aslan. Solo bot WP

Posted: Tue Jan 31, 2012 1:58 am
by rock5
Sometimes the object id will depend on the player level. So the item name with be the same but the id different. So either you find and use all ids or search by name. Eg.

Code: Select all

		ChestName = GetIdName(113137);
		local tChest = player:findNearestNameOrId(ChestName);
Sometimes this can cause problems with special characters so you have to normalise the string but in this case I don't believe there should be a problem.

Re: Mini game - goblin's mine in Aslan. Solo bot WP

Posted: Tue Jan 31, 2012 6:01 am
by kkulesza
rock5 wrote:Sometimes the object id will depend on the player level.
Hmm i didn't take that under consideration.
Does it apply to all harvastable objects or only chests in minigames?
If only chests in mingames then it makes sense, because in malatina there are diffrent prizes for levelcaps 15,25,35,45, + shels at 50+
But I assume that everybody doing goblins are lvl 50+

Re: Mini game - goblin's mine in Aslan. Solo bot WP

Posted: Tue Jan 31, 2012 8:38 am
by rock5
The only way to be sure is to go in there with differnt level characters and use "rom/getid" to see the id of the objects.

But if that is the problem then my solution above shouls fix it, like it did in survival.

Re: Mini game - goblin's mine in Aslan. Solo bot WP

Posted: Wed Feb 01, 2012 4:35 pm
by kuripot
kkulesza wrote: LATEST VERSION: gobsFurnace.xml -v.2.1 ; gobsAslan.xml -v.1
aggro the mobs
i try to increase the height but don't know when where i put the hammertime function

Code: Select all

		fly();
	</waypoint>
	<!-- #  2 --><waypoint x="2034" z="2238" y="383">	</waypoint>
	<!-- #  3 --><waypoint x="2268" z="2214" y="425">	</waypoint>
	<!-- #  4 --><waypoint x="2187" z="2419" y="400">	</waypoint>
	<!-- #  5 --><waypoint x="2092" z="2675" y="383">	</waypoint>
	<!-- #  6 --><waypoint x="2131" z="2929" y="380">	</waypoint>
	<!-- #  7 --><waypoint x="2188" z="3031" y="377">	</waypoint>
	<!-- #  8 --><waypoint x="2135" z="3332" y="366">	</waypoint>
	<!-- #  9 --><waypoint x="2121" z="3451" y="377">	</waypoint>
	<!-- # 10 --><waypoint x="2146" z="3550" y="377">	</waypoint>
	<!-- # 11 --><waypoint x="2211" z="3603" y="380">teleportToWP()	</waypoint>
	<!-- # 12 --><waypoint x="2211" z="3603" y="342">	</waypoint>
	<!-- # 13 --><waypoint x="2279" z="3611" y="342">teleportToWP()	</waypoint>
	<!-- # 14 --><waypoint x="2279" z="3611" y="368">	</waypoint>
	<!-- # 15 --><waypoint x="2582" z="3639" y="368">	</waypoint>
	<!-- # 16 --><waypoint x="2759" z="3623" y="366">	</waypoint>
	<!-- # 17 --><waypoint x="2798" z="3622" y="322">	</waypoint>
	<!-- # 18 --><waypoint x="2902" z="3631" y="283">teleportToWP()	</waypoint>
	<!-- # 19 --><waypoint x="2890" z="3633" y="246">	</waypoint>
	<!-- # 20 --><waypoint x="2974" z="3637" y="246">teleportToWP()	</waypoint>
	<!-- # 21 --><waypoint x="2974" z="3637" y="277">	</waypoint>
	<!-- # 22 --><waypoint x="3062" z="3621" y="277">	</waypoint>
	<!-- # 23 --><waypoint x="3148" z="3677" y="277">	</waypoint>
	<!-- # 24 --><waypoint x="3180" z="3793" y="268">	</waypoint>
	<!-- # 25 --><waypoint x="3196" z="3876" y="270">teleportToWP()	</waypoint>
	<!-- # 26 --><waypoint x="3196" z="3876" y="242">	</waypoint>
	<!-- # 27 --><waypoint x="3208" z="3943" y="242">teleportToWP()	</waypoint>
	<!-- # 28 --><waypoint x="3208" z="3943" y="274">	</waypoint>
	<!-- # 29 --><waypoint x="3212" z="4097" y="274">	</waypoint>
	<!-- # 30 --><waypoint x="3251" z="4168" y="284">	</waypoint>
	<!-- # 31 --><waypoint x="3377" z="4274" y="281">	</waypoint>
	<!-- # 32 --><waypoint x="3400" z="4284" y="281">teleportToWP()	</waypoint>
	<!-- # 33 --><waypoint x="3400" z="4284" y="250">	</waypoint>
	<!-- # 34 --><waypoint x="3467" z="4308" y="250">teleportToWP()	</waypoint>
	<!-- # 35 --><waypoint x="3467" z="4308" y="284">	</waypoint>
	<!-- # 36 --><waypoint x="3554" z="4320" y="290">	</waypoint>
	<!-- # 37 --><waypoint x="3740" z="4326" y="297">	</waypoint>
	<!-- # 38 --><waypoint x="3795" z="4335" y="297">teleportToWP()	</waypoint>
	<!-- # 39 --><waypoint x="3795" z="4335" y="272">	</waypoint>
	<!-- # 40 --><waypoint x="3847" z="4325" y="272">teleportToWP()	</waypoint>
	<!-- # 41 --><waypoint x="3847" z="4325" y="301">	</waypoint>
	<!-- # 42 --><waypoint x="4039" z="4285" y="300">	</waypoint>
	<!-- # 43 --><waypoint x="4087" z="4241" y="306">	</waypoint>
	<!-- # 44 --><waypoint x="4144" z="4188" y="299">	</waypoint>
	<!-- # 45 --><waypoint x="4172" z="4113" y="299">teleportToWP()	</waypoint>
	<!-- # 46 --><waypoint x="4172" z="4113" y="272">	</waypoint>
	<!-- # 47 --><waypoint x="4185" z="4057" y="272">teleportToWP()	</waypoint>
	<!-- # 48 --><waypoint x="4185" z="4057" y="299">	</waypoint>
	<!-- # 49 --><waypoint x="4050" z="3975" y="272">	</waypoint>
	<!-- # 50 --><waypoint x="3977" z="3978" y="272">	</waypoint>
	<!-- # 51 --><waypoint x="3905" z="4042" y="271">	</waypoint>
	<!-- # 52 --><waypoint x="3896" z="4064" y="274">teleportToWP()	</waypoint>
	<!-- # 53 --><waypoint x="3896" z="4064" y="250">	</waypoint>
	<!-- # 54 --><waypoint x="3841" z="4099" y="250">teleportToWP()	</waypoint>
	<!-- # 55 --><waypoint x="3841" z="4099" y="276">	</waypoint>
	<!-- # 56 --><waypoint x="3602" z="4124" y="274">	</waypoint>
	<!-- # 57 --><waypoint x="3489" z="4084" y="277">teleportToWP()	</waypoint>
	<!-- # 58 --><waypoint x="3489" z="4084" y="245">	</waypoint>
	<!-- # 59 --><waypoint x="3430" z="4058" y="245">teleportToWP()	</waypoint>
	<!-- # 60 --><waypoint x="3430" z="4058" y="273">	</waypoint>
	<!-- # 61 --><waypoint x="3409" z="3982" y="273">	</waypoint>
	<!-- # 62 --><waypoint x="3397" z="3940" y="273">	</waypoint>
	<!-- # 63 --><waypoint x="3443" z="3842" y="278">	</waypoint>
	<!-- # 64 --><waypoint x="3488" z="3817" y="278">	</waypoint>
	<!-- # 65 --><waypoint x="3592" z="3810" y="278">teleportToWP()	</waypoint>
	<!-- # 66 --><waypoint x="3592" z="3810" y="250">	</waypoint>
	<!-- # 67 --><waypoint x="3665" z="3803" y="250">teleportToWP()	</waypoint>
	<!-- # 68 --><waypoint x="3665" z="3803" y="276">	</waypoint>
	<!-- # 69 --><waypoint x="3735" z="3820" y="268">	</waypoint>
	<!-- # 70 --><waypoint x="3820" z="3839" y="275">	</waypoint>
	<!-- # 71 --><waypoint x="3923" z="3811" y="275">	</waypoint>
	<!-- # 72 --><waypoint x="4034" z="3745" y="271">	</waypoint>
	<!-- # 73 --><waypoint x="4045" z="3741" y="271">teleportToWP()	</waypoint>
	<!-- # 74 --><waypoint x="4045" z="3741" y="245">	</waypoint>
	<!-- # 75 --><waypoint x="4092" z="3695" y="245">teleportToWP()	</waypoint>
	<!-- # 76 --><waypoint x="4092" z="3695" y="277">	</waypoint>
	<!-- # 77 --><waypoint x="4111" z="3554" y="276">	</waypoint>
	<!-- # 78 --><waypoint x="4053" z="3527" y="266">	</waypoint>
	<!-- # 79 --><waypoint x="4011" z="3484" y="265">teleportToWP()	</waypoint>
	<!-- # 80 --><waypoint x="4011" z="3484" y="245">	</waypoint>
	<!-- # 81 --><waypoint x="3963" z="3446" y="245">teleportToWP()	</waypoint>
	<!-- # 82 --><waypoint x="3963" z="3446" y="259">	</waypoint>
	<!-- # 83 --><waypoint x="3849" z="3523" y="253">	</waypoint>
	<!-- # 84 --><waypoint x="3690" z="3608" y="231">teleportToWP()	</waypoint>
	<!-- # 90 --><waypoint x="3674" z="3604" y="199">	</waypoint>
	<!-- # 91 --><waypoint x="3625" z="3605" y="199">teleportToWP()	</waypoint>
	<!-- # 92 --><waypoint x="3625" z="3605" y="219">	</waypoint>
	<!-- # 93 --><waypoint x="3505" z="3606" y="193">	</waypoint>
	<!-- # 94 --><waypoint x="3441" z="3607" y="191">	</waypoint>
	<!-- # 95 --><waypoint x="3400" z="3577" y="172">	</waypoint>
	<!-- # 96 --><waypoint x="3337" z="3454" y="170">	</waypoint>
	<!-- # 97 --><waypoint x="3316" z="3335" y="170">	</waypoint>
	<!-- # 98 --><waypoint x="3352" z="3224" y="170">teleportToWP()	</waypoint>
	<!-- # 99 --><waypoint x="3352" z="3224" y="216">	</waypoint>
	<!-- #100 --><waypoint x="3373" z="3125" y="216">teleportToWP()	</waypoint>
	<!-- #101 --><waypoint x="3373" z="3125" y="257">	</waypoint>
	<!-- #102 --><waypoint x="3408" z="2958" y="287">	</waypoint>
	<!-- #103 --><waypoint x="3468" z="2723" y="287">	</waypoint>
	<!-- #104 --><waypoint x="3531" z="2663" y="281">