Page 1 of 1

Ancient Dreamland

Posted: Tue May 26, 2015 1:19 am
by neverhaveiever
Ancient dreamland is a place that can be constantly farmed for:

Amulets (the best one is an amulet that you can manually proc for up to 10% patk)
Pusher stats (these are stats that you can combine with equal / lower stats to make gear)

Right now I use rombot in a very... bad way to farm this instance.

I'm sorry for all of you experts out there

Code: Select all

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

   <onLoad><![CDATA[
         startGMDetect()
   ]]></onLoad>

<onLoad>
while (true) do 
       
		keyboardHold( key.VK_D ); -- The A key will be held down
		yrest(250);
		keyboardRelease( key.VK_D ); -- The A key is now released

		   camera:setRotation(0)
              
	       yrest(50);

	sendMacro("UseAction(2)");

		yrest(50);

	sendMacro("UseAction(3)");

		yrest(50);

	sendMacro("UseAction(2)");

		yrest(50);

	sendMacro("UseAction(3)");

		yrest(50);

	sendMacro("UseAction(2)");

	       camera:setRotation(1.59)

	       yrest(50);

	sendMacro("UseAction(3)");

		yrest(50);

	sendMacro("UseAction(2)");

		yrest(50);

	sendMacro("UseAction(3)");

		yrest(50);

	sendMacro("UseAction(2)");

		yrest(50);

	sendMacro("UseAction(3)");
	       camera:setRotation(3.15)

	       yrest(50);

	sendMacro("UseAction(3)");

		yrest(50);

	sendMacro("UseAction(2)");

		yrest(50);

	sendMacro("UseAction(3)");

		yrest(50);

	sendMacro("UseAction(2)");

		yrest(50);

	sendMacro("UseAction(3)");
	       camera:setRotation(4.7)

	       yrest(50);

	sendMacro("UseAction(3)");

		yrest(50);

	sendMacro("UseAction(2)");

		yrest(50);

	sendMacro("UseAction(3)");

		yrest(50);

	sendMacro("UseAction(2)");

		yrest(50);

	sendMacro("UseAction(4)");
end
</onLoad>

</waypoints>
Essentially... this only presses buttons for you so you can freely tab out of client and do whatever. As you can see, every so often the bot presses 'D'. This is to prevent running into the object in the middle of ONE of the rooms (all rooms have same zone ID, but only one particular room has this obstruction)

Also notice the 'useaction[2-4]'

These are macros I have made to have the bot spam.

Actionbar slot 2 spams this

Code: Select all

/script if GetPlayerCombatState(true) then MoveForwardStop(); KillSequence('v2',1); CastSpellByName("Attackk"); TargetNearestEnemy(); elseif (IsPetSummoned(3)) then MoveForwardStart() else MoveForwardStop(); SendChatMessage("Summon Pet", "WHISPER", 0, "XXXXXXXXXXXXXXXXX") end
/run for i = 1,40 do TargetNearestEnemy() if UnitName("target") == "Nightmare Puppet Warrior" then break end end
/run for i=1,20 do local name = UnitName("target") if name =="Hlethfir Deliriumscribe" then TargetNearestEnemy() else end end
/rep set0
/rep
/wait 0.5
/rep
/wait 0.5
/rep
We can see inefficiencies in this macro alone. Sadly, I do not have what it takes to incorporate this into a full fledged bot. I'll explain what this macro is doing (though I am sure most people know):

If in combat, STOP MOVING FORWARD, USE DIYCE, CAST ATTACK (misspelled on purpose), Target enemy, if these conditions are not meant, IS PET SLOT "#" SUMMONED, if yes then START MOVING FORWARD, if no, STOP MOVING FORWARD, WHISPER YOURSELF "SUMMON PET" (It's set to whisper because you cannot summon pet if bot is active)
--
Target Nightmare Puppet Warrior (this mob deals TONS OF DAMAGE IF YOU DONT KILL IT ASAP, CAN ONE SHOT)
--
If target name = Hlethfir Deliriumscribe target other enemy. (This is because this boss goes immune and summons add. Doing this prevents player from constantly dps'ing an immune boss and instead targets the mobs.
--
Repair gear.

Problem with this macro:
Since bot constantly moves to the right, can never get an actual pet summon off. After all mobs are dead and out of combat, will run forward into a wall (you go into next room when all mobs have been looted) and if GM sees you, is suspicious. Keep in mind if you actually do this manually, you are going to run into a wall regardless. It's how the macro is setup (I was looking for a one button wonder to do dreamland).

Action Bar slot 3 spams a macro that isn't necessary with diyce. Just useactions with buffs if target is boss

Code: Select all

/script if (UnitSex("target")>2) then if GetActionUsable(X) then UseAction(X);
etc

Action Bar slot 4 uses foods. Checks if has food and buffs. For example

Code: Select all

/run SP = false; for i=1,40 do if UnitBuff("player", i) == "Hero Magic Medicine" then SP = true break end end if (not SP) then UseItemByName("Hero Potion") end
What I cannot do with these macros:

1) manually loot mobs (always need to get pet perfume)
2) once the 30 minutes are over, your backpack spaces are FULL. Macro does not sell to vendors.
3) to re-enter, you must spend 20 dusts (drops from mobs) to re-enter again. You can do this infinite times a day. That must be done manually aswell.
4) I have camera rotations in the bot, this is to view the room 360 degrees. Since I am macro'ing everything, it won't target mobs unless you have LoS. Without the turns, the macros will not target mobs out of view (ex; if are on healer behind you etc)

I guess what I'm trying to do is get a person who is willing to put all this into a working bot. What I have is dandy and all, but the inefficiencies are... well inefficient.

btw zoneid for dreamland is 356.

If nothing else, I hope this is some kind of value to someone.

Re: Ancient Dreamland

Posted: Tue May 26, 2015 5:48 am
by ZZZZZ
Hmm I should find my dreamland waypoints.... took ages to get it working but managed to get an almost perfect automatic bot farm going. If I can find it again i'll upload them and you can use them to improve on yours if you want :)

Re: Ancient Dreamland

Posted: Tue May 26, 2015 3:15 pm
by neverhaveiever
Wow. I would be excited if you did that. Awesome man!

Re: Ancient Dreamland

Posted: Tue May 26, 2015 8:44 pm
by ZZZZZ
Ok so the files I am attaching are what I had for dreamland (at least I hope its everything I had, I havn't played RoM in a year and its been longer since I used this waypoint). I can't remember what other addons/userfunctions it needed, you'll have to figure that out yourself.

I did this on a r/m as solo dps/tank with a d/w as healer for the pdam buff.

If I remember correctly, manually put them both in party and have them both at the entrance to the instance. Start the "Dreamland" waypoint on the dps first then run the "DreamlandHeal" second. It should work by itself from there.

I was in the process of adding a trade function so it would trade X amount of the dust to the healer so it could automatically reset the instance, but I never got around to it, so just trade a large stack to the healer before you begin and it should be good to go.

Once again, I have no idea of any changes to dreamland so I won't guarantee this works. It did 1 year ago :) I rolled/sold so many of those healing weps before they got nerfed lol.

Hope you can get it working.

~~ CORRECT FILES UPLOAD ON POST BELOW ~~

Re: Ancient Dreamland

Posted: Tue May 26, 2015 11:58 pm
by neverhaveiever
Guess it's too old. Doesn't work!

Tyvm for the time you spent looking for it tho :)

Re: Ancient Dreamland

Posted: Wed May 27, 2015 3:50 pm
by Ego95
neverhaveiever wrote:Guess it's too old. Doesn't work!

Tyvm for the time you spent looking for it tho :)
What error do you get? Maybe we can fix it together. I will try it myself at the weekend I think. But there are no changes that were made to the dreamland so it can only be something simple .

Re: Ancient Dreamland

Posted: Wed May 27, 2015 10:20 pm
by lisa
Ego95 wrote:
neverhaveiever wrote:Guess it's too old. Doesn't work!

Tyvm for the time you spent looking for it tho :)
What error do you get? Maybe we can fix it together. I will try it myself at the weekend I think. But there are no changes that were made to the dreamland so it can only be something simple .
More than likely an addon or userfunction missing.

Re: Ancient Dreamland

Posted: Fri May 29, 2015 7:05 am
by cenre
have this error on DPS wp

The game client did not crash.
2015-05-29 14:41:26 - ../micromacro/scripts/rom/classes/waypointlist.lua:8
4: Failed to compile and run Lua code for waypointlist onLoad event.

and this on heal wp

We try to find NPC 115689:
We successfully target NPC Pioneer Dawn and try to open the dialog window.
The game client did not crash.
2015-05-29 15:11:24 - [string "..."]:5: attempt to call global 'sendpartychat' (
a nil value)

Re: Ancient Dreamland

Posted: Fri May 29, 2015 9:39 am
by ZZZZZ
Oh my god! I am so sorry! I was looking through the files again (with a coffee this time so I wasn't falling asleep O.o) and I realised what I uploaded didn't make sense at all in relation to the functions in the userfunction_dreamland file....

So I went back to my other stuff to figure out what went wrong.... and it seems I uploaded an old version before I actually started revamping my original.

Once again so sorry for the confusion!

Here is the waypoints that were supposed to go with the userfunction - I'll upload them all to this post and remove them from the other post.

-- There is a small function that it uses to keep bags clean by throwing out stuff the bot loots while in there. When the waypoint first starts it logs all EMPTY bag slots. It then checks those empty slots for stuff to delete according to this part of the clearSlots() function:

Code: Select all

if not (item.Id == 208679 or item.Id == 208682 or item.Id == 0) and (item:isType("Armor")
																				or item:isType("Potions")
																				or item:isType("Runes")
																				or item:isType("Production Runes")
																				or item:isType("Weapons")) 																			
																				and item.Quality < 3 then
					print("Deleting: "..item.Name.."")
					item:delete()
				end
Was my way of solving bag cleaning without having to empty my bag of all the shit I usually keep in it. This also means that if you manually move stuff around in you bag, it is very possible it could be deleted, so do not manually move items around in your bag while it is farming dreamland.

Dreamland.xml
Main character - tank/dps/looter
(6.13 KiB) Downloaded 783 times
DreamlandAdditional.xml
Healer and/or extra dps
(1.01 KiB) Downloaded 732 times
userfunction_Dreamland.lua
(9.49 KiB) Downloaded 679 times

Re: Ancient Dreamland

Posted: Sat May 30, 2015 2:24 am
by cenre
Thank you it works now.But i got error on party heal after few rounds :(

The game client did not crash.
2015-05-30 10:20:11 - '...i/micromacro/scripts/rom/classes/party.lua:470: att
empt to perform arithmetic on a nil value

Re: Ancient Dreamland

Posted: Sat May 30, 2015 3:02 am
by rock5
ZZZZZ wrote:-- There is a small function that it uses to keep bags clean by throwing out stuff the bot loots while in there. When the waypoint first starts it logs all EMPTY bag slots. It then checks those empty slots for stuff to delete
Not a bad idea. Makes me want to create a userfunction along those lines. Hm... how would I make it work? This is me just thinking out loud.
  • 1. I would make it so it records all new stuff in your bags including things already there. So for instance, if you have a stack of 10 of something and it increases to 11 then that item would be added to the list of lootable items. This would require a list of existing items and amounts.

    2. For a new waypoint file you would want to run the function in some sort of safe debug mode while you work out what items to add to your white list. Maybe in the debug mode every time it runs it prints out the list. When you are happy with the list and you've decided what items to keep, you add them to the white list and disable the debug mode. From then on when the function runs, any new items not on the white list will get discarded.

    3. I think to be extra safe, the setup function, that you use to set up the white list which you would run in the onload, should be in debug mode by default. You would actually have to add an enable function to start using it proper. So for example a scenario might be like this.
    • On a new waypoint file onload you add the set up function. The function name is just an example.

      Code: Select all

      SafeDiscardSetup()
      This will get the initial list of existing bag items and their number. Because we haven't enabled it yet we are in debug mode. Elsewhere in the waypoint file you would add the discard function. eg.

      Code: Select all

      SafeDisacard()
      Because we are in debug mode this causes it to print the new items list instead of discarding anything.

      After it has been running for a while you can add items to the white list. eg.

      Code: Select all

      SafeDiscardSetup({"item 1","items 2","item 3"})
      -- Or maybe I could use a string and parse it later
      SafeDiscardSetup("item 1,item 2,item 3")
      If you want to make sure you haven't missed anything you can leave it in debug mode a little longer. This will print the new item list without the items on the whitelist.

      After you are happy with it you add the enabling function eg.

      Code: Select all

      SafeDiscardSetup("item 1,item 2,item 3,item 4")
      SafeDiscardEnable()
How does that sound? Useful or not?

Re: Ancient Dreamland

Posted: Sat May 30, 2015 6:09 pm
by Bill D Cat
Sounds like an interesting project. I don't know if I'd ever use it only because I have some pretty extensive filters already set up in LootIt. These keep my bags clean as I don't pick up trash that I don't want. This includes white and green rarity items, or ammunition or mana pots for chars that don't use them. Monster cards and recipes are looted and learned when applicable.

That being said, I'd still be happy to help test things out once you get a working userfunction ready.

Re: Ancient Dreamland

Posted: Sun May 31, 2015 1:18 am
by rock5
I think the usefulness of it is you can set it up per waypoint. You might have a weapon and armor looting waypoint file where you want to collect as much weapons and armor as possible so you might drop some items you would normally collect. Then you might have another waypoint for harvesting some other resource, so you might want it to drop weapons and armour to make as much room as possible for this other resource. Loot filter addons have always had the limitation of not being customizable for different waypoint files.

That said, I'm trying to do some studying at the moment so I don't know when, or if, I'll work on this.

Re: Ancient Dreamland

Posted: Sun May 31, 2015 10:16 am
by Bill D Cat
In that case, it might be a good idea to add a configuration option in the userfunction to enable/disable Loot-o-matic and/or LootIt just for that purpose. I believe both can be controlled in such a way via RoMScript() commands. The user would then need to add the commands at the appropriate places in their waypoint file for it to trigger correctly.

Not sure if there are any other loot filter add-ons that are as popular, but that could be addressed as the need arises.

Re: Ancient Dreamland

Posted: Tue Aug 25, 2015 4:12 am
by sauhard
Bill D Cat wrote:Sounds like an interesting project. I don't know if I'd ever use it only because I have some pretty extensive filters already set up in LootIt. These keep my bags clean as I don't pick up trash that I don't want. This includes white and green rarity items, or ammunition or mana pots for chars that don't use them. Monster cards and recipes are looted and learned when applicable.

That being said, I'd still be happy to help test things out once you get a working userfunction ready.
How do you add a filter for looting all monster cards in Lootit ?

Re: Ancient Dreamland

Posted: Tue Aug 25, 2015 6:15 am
by Bill D Cat
The filter for all monster cards is simply "Card - *"

Re: Ancient Dreamland

Posted: Fri Aug 28, 2015 7:22 am
by sauhard
ZZZZZ wrote:Oh my god! I am so sorry! I was looking through the files again (with a coffee this time so I wasn't falling asleep O.o) and I realised what I uploaded didn't make sense at all in relation to the functions in the userfunction_dreamland file....

So I went back to my other stuff to figure out what went wrong.... and it seems I uploaded an old version before I actually started revamping my original.

Once again so sorry for the confusion!

Here is the waypoints that were supposed to go with the userfunction - I'll upload them all to this post and remove them from the other post.

-- There is a small function that it uses to keep bags clean by throwing out stuff the bot loots while in there. When the waypoint first starts it logs all EMPTY bag slots. It then checks those empty slots for stuff to delete according to this part of the clearSlots() function:

Code: Select all

if not (item.Id == 208679 or item.Id == 208682 or item.Id == 0) and (item:isType("Armor")
																				or item:isType("Potions")
																				or item:isType("Runes")
																				or item:isType("Production Runes")
																				or item:isType("Weapons")) 																			
																				and item.Quality < 3 then
					print("Deleting: "..item.Name.."")
					item:delete()
				end
Was my way of solving bag cleaning without having to empty my bag of all the shit I usually keep in it. This also means that if you manually move stuff around in you bag, it is very possible it could be deleted, so do not manually move items around in your bag while it is farming dreamland.
Got a weird error. Any ideas?
Attempt to call global_target a nil value.
And also one more question. I use priest/warlock to heal, but i can't find anything of partyheal where i can edit which skills to use and when.

Re: Ancient Dreamland

Posted: Sat Dec 05, 2015 2:54 pm
by miahiscool34
sauhard wrote:
ZZZZZ wrote:Oh my god! I am so sorry! I was looking through the files again (with a coffee this time so I wasn't falling asleep O.o) and I realised what I uploaded didn't make sense at all in relation to the functions in the userfunction_dreamland file....

So I went back to my other stuff to figure out what went wrong.... and it seems I uploaded an old version before I actually started revamping my original.

Once again so sorry for the confusion!

Here is the waypoints that were supposed to go with the userfunction - I'll upload them all to this post and remove them from the other post.

-- There is a small function that it uses to keep bags clean by throwing out stuff the bot loots while in there. When the waypoint first starts it logs all EMPTY bag slots. It then checks those empty slots for stuff to delete according to this part of the clearSlots() function:

Code: Select all

if not (item.Id == 208679 or item.Id == 208682 or item.Id == 0) and (item:isType("Armor")
																				or item:isType("Potions")
																				or item:isType("Runes")
																				or item:isType("Production Runes")
																				or item:isType("Weapons")) 																			
																				and item.Quality < 3 then
					print("Deleting: "..item.Name.."")
					item:delete()
				end
Was my way of solving bag cleaning without having to empty my bag of all the shit I usually keep in it. This also means that if you manually move stuff around in you bag, it is very possible it could be deleted, so do not manually move items around in your bag while it is farming dreamland.
Got a weird error. Any ideas?
Attempt to call global_target a nil value.
And also one more question. I use priest/warlock to heal, but i can't find anything of partyheal where i can edit which skills to use and when.
I am getting the call global_target a nil value error as well how come?

Re: Ancient Dreamland

Posted: Sat Oct 29, 2016 4:00 pm
by Demonick
I am getting too the call global target_NPC a nil value error
Any news?

Re: Ancient Dreamland

Posted: Thu Feb 15, 2024 5:36 am
by crazzy
Hello!

Maybe there is a chance to re-activate this topic with a working script some1 could provide to us?
Because ancient dreamland is still available but the script are out of date.. i tried to fix them by myself but
wasnt successful at all..

i really would appreciate it!! :)

bye bye