Page 2 of 15

Re: Rock5's Ancient Treasure

Posted: Mon Mar 05, 2012 11:18 am
by silinky

Code: Select all

if player.Y > 15 then
   upthroughroof()
   getunder()
end
thank you for the cool ideas :)

should i put this in the onload, or in some of the functions?

Re: Rock5's Ancient Treasure

Posted: Mon Mar 05, 2012 12:29 pm
by Rickster
Last char for today and none made it automaticall through the chest room door, all get stuck at the door, at exactly the same place. maybe we have little different coords on different servers?
rock5 wrote:
Rickster wrote:

Code: Select all

PutMaterialsIn = "guild"
is it for handing in the guild mats to the guild ressource window?
when should it hand in the mats? after finishing AT?
mine does not hand in the guild mats.
Yes it donates the materials to the guild. It should do it after all the mat chests are opened. Did you get any messages in the MM window? Maybe a message that said "Unable to donate to guild. Need "GuildDonate" userfunction." or "Unable to donate to guild. Character not a member of a guild."?
oops :D i did not have the userfunction_GuildDonate.lua installed ... my mistake. did not know that i need a userfunction for it ;)

Re: Rock5's Ancient Treasure

Posted: Mon Mar 05, 2012 2:30 pm
by rock5
silinky wrote:should i put this in the onload, or in some of the functions?
Don't worry about it. I'll do some work on it tomorrow, do some testing, then release a new version. I don't think everything was spelt correctly in that example anyway.
Rickster wrote:Last char for today and none made it automaticall through the chest room door, all get stuck at the door, at exactly the same place, see screenshot. maybe we have little different coords on different servers?
Sorry, my bad. I still had the model file loaded for AT so there is no door for me. I'll change the coordinates to what it used to be. That should fix it. I changed it because I wanted the chests to be done in order but I didn't realise there would be a problem with the doors.

Re: Rock5's Ancient Treasure

Posted: Mon Mar 05, 2012 2:41 pm
by Rickster
;) ok, thank you

Re: Rock5's Ancient Treasure

Posted: Tue Mar 06, 2012 7:42 am
by rock5
rock5 wrote:
lisa wrote:My solution was this.
When you get to the middle and are thinking of going up to get chests check for the first buff only, if it exists then go do all 3 candles again.
Sounds ok. I'll look into it tomorrow.
I haven't had much time to work on this today but I was thinking, there is still no way to know if no buffs means it hasn't started yet or if it's finished. Maybe we could add a check for the chests. So "if doesn't have first buff and there are chests then go through and collect them". Or just check the chests.

But one thing I can do, I can get the candle and fragment targeting function to try again if it fails by adding a waittime. So if it doesn't detect a castingbar it tries again. That should make it less likely to miss one. Also can use the offset check on fragments to avoid revisiting already collected fragments.

Re: Rock5's Ancient Treasure

Posted: Tue Mar 06, 2012 5:44 pm
by grande
I too was once like you, having the stuck in door problem. Just copy/pasted lisa lisa and the cult jam's part into rocklobster5's neato mosquito

Code: Select all

teleport(3842,3838,49)  -- get to chest room 
No more stuck in door on this last try. and all the value added of doing the quest thing. So very nice

These pain meds are okay i guess

Re: Rock5's Ancient Treasure

Posted: Tue Mar 06, 2012 9:52 pm
by lisa
grande wrote: rocklobster5's neato mosquito
lol

Re: Rock5's Ancient Treasure

Posted: Wed Mar 07, 2012 12:49 am
by rock5
Released version 3.5 - Thanks for all the great suggestions peeps.

Changes
  • - Finally completed my ongoing mission to make it restartable at any place or point in the script. Probably the only place left you can't restart it is in the chest room. It doesn't redo the first 2 fragments if they are already done. It doesn't revisit the other fragments that have already done and it wont try to get the candles again if the chests have already appeared. And it doesn't get confused and try to go through the roof or floor when it's not supposed to.
    - Reduced UpThroughFloor() by 1 second.
    - Fixed HarvestItem. It wasn't working as intended. And improved it's clicking reliability.
    - If it misses any fragments or candles it will go round again.
    - The waiting for mobs to despawn now starts from last candle lit, saving time.
    - Fixed the teleport start point in the chest room.
    - If the first side mat chests are done in the wrong order it could end up trying to teleport through both doors to get to the other side. Made change that should make sure it goes the right way.

Just noticed I didn't include silinkys idea to check if you accidentally come through the floor when clicking candles and fragments. I'll add it in next version.

Re: Rock5's Ancient Treasure

Posted: Wed Mar 07, 2012 8:10 pm
by grande
workin' so very nice

Edit1: workin nice on a higher level character. Made a first go on my second lvl 50 character and it got chewed on by the guards. Just the low level I assume but I'll watch closer next time to see if I missed something.

Edit2: got aggro on my higher level character so I checked to see if the new version had Lisa's addition there. It didn't. Seems to be a "must have" for me so I added:

Code: Select all

   local function getcandles()
      teleport_SetStepSize(30)
      teleport_SetStepPause(1500)
as Lisa suggested in her WP. Expect it to work smooth now. Thx :-)

Re: Rock5's Ancient Treasure

Posted: Mon Mar 12, 2012 9:08 pm
by lisa
Finally got a chance to test this.

Ran through 20 chars with your current version, 8 of them died.

Next day changed the teleport settings to

Code: Select all

		teleport_SetStepSize(25)
		teleport_SetStepPause(1500)
and no deaths in last 20 chars.
I believe this has to do with PC performance, I use older PC's and I also run 2 at a time so chances are it runs fine on your super computer but us oldies need to slow down the bot a little ;)


I also changed waittime to 15 seconds, was 12. I had a few times where I popped up inside while mobs where still active.

With the new version of guild donate also had to change nil to "all"
So ("all",8)
I might mention it in the userfunction topic, if it's nil then it should be assumed to be all.

Re: Rock5's Ancient Treasure

Posted: Tue Mar 13, 2012 12:51 am
by rock5
lisa wrote:Finally got a chance to test this.

Ran through 20 chars with your current version, 8 of them died.

Next day changed the teleport settings to

Code: Select all

      teleport_SetStepSize(25)
      teleport_SetStepPause(1500)
and no deaths in last 20 chars.
It does a lot less teleporting than it used to. So even the little teleporting it does now, it can't handle it? Interresting. How do you think it dies?

I am loathe to add code that slows it down, if it works fine for most users with average computers. Maybe we could add an option to slow it down for people with slower computers. Or maybe we can detect if it's a slow computer and run slower automatically. Maybe getTimerFrequency()?
lisa wrote:I also changed waittime to 15 seconds, was 12. I had a few times where I popped up inside while mobs where still active.
Was it attacking the player though? I found that the mobs would just be fading away when the player pops up but they never attacked the player.
lisa wrote:With the new version of guild donate also had to change nil to "all"
So ("all",8)
I might mention it in the userfunction topic, if it's nil then it should be assumed to be all.
So nil doesn't work anymore? It doesn't default to "all"? Hm... shouldn't it?

Maybe, this

Code: Select all

	if ( _type == nil and _quality == nil and _lesser == nil ) then 
		_lesser = "true"
		_type = "all"
		_quality = 15
	end
should be

Code: Select all

	if _type == nil then _type = "all" end
	if _quality == nil then _quality = 15 end
	if _lesser == nil then _lesser = "true" end

Anyway, with the new version of GuildDonate we could just use

Code: Select all

GuildDonate()

Re: Rock5's Ancient Treasure

Posted: Tue Mar 13, 2012 1:31 am
by lisa
rock5 wrote:Anyway, with the new version of GuildDonate we could just use
But then it will donate any and all resource, can't assume people want everything donated when running AT =)
Imagine having 5 stacks of purple planks in bag and on your way to AH to post them you think, damn should go do AT before it resets today.

Next thing you know a few hundred diamonds worth of matts get donated to guild lol

Re: Rock5's Ancient Treasure

Posted: Tue Mar 13, 2012 1:46 am
by rock5
lisa wrote:But then it will donate any and all resource, can't assume people want everything donated when running AT =)
Imagine having 5 stacks of purple planks in bag and on your way to AH to post them you think, damn should go do AT before it resets today.

Next thing you know a few hundred diamonds worth of matts get donated to guild lol
True.

Re: Rock5's Ancient Treasure

Posted: Tue Mar 13, 2012 3:10 am
by silinky
lisa wrote:
Next day changed the teleport settings to

Code: Select all

		teleport_SetStepSize(25)
		teleport_SetStepPause(1500)
and no deaths in last 20 chars.
I believe this has to do with PC performance, I use older PC's and I also run 2 at a time so chances are it runs fine on your super computer but us oldies need to slow down the bot a little ;)
i gotta test this too, my botter pc is not 8core lol, is just an old 2core phenom and the bot eats the cpu like crazy :)). kudos for the idea!

Re: Rock5's Ancient Treasure

Posted: Fri Mar 16, 2012 7:51 am
by Rickster
lisa wrote:
Next day changed the teleport settings to

Code: Select all

		teleport_SetStepSize(25)
		teleport_SetStepPause(1500)
and no deaths in last 20 chars.
I believe this has to do with PC performance, I use older PC's and I also run 2 at a time so chances are it runs fine on your super computer but us oldies need to slow down the bot a little ;)
this also worked fine for me, for the last few days, after i made these changes.

but now after rom client patch 4.0.9 all chars (run 3 chars today) died, when sticking their head out of the floor, right in front of the chestroom, without having all candle stick buffs (collecting the fragments works fine).

Re: Rock5's Ancient Treasure

Posted: Fri Mar 16, 2012 8:05 am
by rock5
I've already had 2 characters go through AT. Both had no problems.

Seeing as you are having other issues too, maybe you have conflicting files? Try doing a revert and redoing

Code: Select all

charClassInfoBase = 0x9DC488,

Re: Rock5's Ancient Treasure

Posted: Fri Mar 16, 2012 4:28 pm
by kuripot
ROCK can you add checking "Ruins Investigation Team Medal" and if has 7 stacks change reward to "Ancient Treasures Investigation Record" then use it and re do ancient treasure?

Re: Rock5's Ancient Treasure

Posted: Fri Mar 16, 2012 10:58 pm
by rock5
I've avoided getting the rewards. The problem with that is, different people will want to get different rewards. For instance I've been getting the backpack tickets. But you might even want to get different rewards with different characters, eg. my main characters I'd like to get the backpack space but when I run my alternate characters through, they don't need backpack space so maybe I could get the "Ancient Treasures Investigation Record".

So how can I make that work? I'm not sure.

I could just do a check to see if I have the "Ancient Treasures Investigation Record" and do the game again. That way if you get them manually, at least the script will use them.

Re: Rock5's Ancient Treasure

Posted: Sat Mar 17, 2012 12:13 am
by kuripot
or just like daily quest reset ticket.... if available the "Ancient Treasures Investigation Record" will repeat the ancient treasure
like this function

Code: Select all

	   local dailycomplete_ptr = 0x9CD1E0;
	   local dailycomplete_offset = 0xACF4;
   
	   function getDailyComplete()
	      return memoryReadBytePtr(getProc(),dailycomplete_ptr,dailycomplete_offset);
	   end
   
	   function checkDQCount()
	    local dailyQuestCount, dailyQuestsPerDay= RoMScript("Daily_count()")
	      cprintf(cli.lightblue,"%s quests completed.\n",tostring(dailyQuestCount));
	      if (dailyQuestCount == 10) then
	         cprintf(cli.lightblue,"Completed max number of daily quests, trying to use a daily reset card.\n");
	         inventory:update();
	         player:update();
	         -- note #202434 is the daily reset card
	            if inventory:itemTotalCount(202434) > 0 then
	                  inventory:useItem(202434);
	         else
			loadPaths("butterfly_to_sleep");
	            end
	       end   
	   end

Re: Rock5's Ancient Treasure

Posted: Sat Mar 17, 2012 12:48 am
by rock5
Like I said, using the "Records" can be added but buying them is not so easy, not for general use anyway. I'll look into adding "using the records".