Page 1 of 2

Keeping the Veiled Encampment Disguised Chrisalya's daily.

Posted: Wed Oct 31, 2012 12:28 pm
by metralla123
Hello guys, I have created a waypoint for the Chrisalya's daily ones, but still putting the command "daily" takes the public mission, I have everything updated with rom/update and SVN update, there is some another form of which it takes the daily mission?.

Re: Keeping the Veiled Encampment Disguised Chrisalya's dail

Posted: Wed Oct 31, 2012 12:44 pm
by rock5
Do you still have the old questbyname userfunction? If so, get rid of it, the questbyname functions are part of the bot now.

Re: Keeping the Veiled Encampment Disguised Chrisalya's dail

Posted: Wed Oct 31, 2012 1:30 pm
by metralla123
Ahh ok, tomorrow I will prove it. Thank you very much Rock5.

Re: Keeping the Veiled Encampment Disguised Chrisalya's dail

Posted: Tue Jan 08, 2013 10:49 pm
by kobold
TY for sharing it works great :D

Re: Keeping the Veiled Encampment Disguised Chrisalya's dail

Posted: Wed Jan 09, 2013 8:11 pm
by solembum05
Hi,

I share your waypoint (i did some modification)
but my files is only for French client, if you want use for an other client, you need change name of item ;)

You need addon dailynotes, you can find on curse client ;) (Need configure dailynote for this dailyquest ^^)

Modification:
- Use mount
- You can choice if you want use daily rest card


Thx Metralla123 ;)

Re: Keeping the Veiled Encampment Disguised Chrisalya's dail

Posted: Wed Jan 09, 2013 9:00 pm
by lisa
Oooh ooh ooh I want to post mine aswell ;)

works any language, with 30% mount pot takes around 17-18 seconds a hand in.

Steps to success
1. Change public or daily at the top of the file.
2. grab a coffee and relax
72veiled.xml
(1.73 KiB) Downloaded 483 times
Uses daily reset if you have them and set it to do "daily".
If set to "public" it stops while on countdown timer waiting for event to start.
Basically you don't need to do anything but start it.

Re: Keeping the Veiled Encampment Disguised Chrisalya's dail

Posted: Fri Jan 11, 2013 5:41 am
by nylan
Hi lisa

I have a Problem with your script.

Code: Select all

Did not find any crashed game clients.
IGF:[string "?"]:434: attempt to index `button`<a nil value>
Can you helpme, please?

Re: Keeping the Veiled Encampment Disguised Chrisalya's dail

Posted: Fri Jan 11, 2013 7:57 pm
by lisa
nylan wrote:Hi lisa

I have a Problem with your script.

Code: Select all

Did not find any crashed game clients.
IGF:[string "?"]:434: attempt to index `button`<a nil value>
Can you helpme, please?
That looks like an issue with something else, IGF is the addon ingamefunctions which the bot uses, there is not mention of "button" in my waypoint file.
In fact the current bot file doesn't go up to 434 lines and has no mention of a variable named "button" in the file.

Re: Keeping the Veiled Encampment Disguised Chrisalya's dail

Posted: Sat Jan 12, 2013 6:09 am
by rock5
The "IGF:" basically means the error came from inside the game as a response to a RoMScript. That error was the result. These errors are usually a lot harder to track down because 'button' may not have been used in the script but a variable that held 'button'.

Re: Keeping the Veiled Encampment Disguised Chrisalya's dail

Posted: Sat Jan 12, 2013 6:46 pm
by lisa
do you get the error when you first start the waypoint or is it afterwards?
if it is when you first start just replace this line

Code: Select all

questname = RoMScript('TEXT("Sys425481_name")')
with your language name for the quest
ie.

Code: Select all

questname = "Keeping"

Re: Keeping the Veiled Encampment Disguised Chrisalya's dail

Posted: Mon Jan 28, 2013 7:12 am
by solembum05
Hi,

Nice work, but i got some probleme when i use for public, some time the timer disappear so the bot do nothing, i try to include a condition but not:

Something like this:

Code: Select all

if (timer not her)
go on this waypoint
check timer is her
go waypoind(index)
wait for event
end
i try to do something but when i change something on your code nothing work >< Do you have an idea ?

Re: Keeping the Veiled Encampment Disguised Chrisalya's dail

Posted: Mon Jan 28, 2013 7:28 am
by lisa
solembum05 wrote:Nice work, but i got some probleme when i use for public,
Did you mean mine?

this is the part that waits for the event

Code: Select all

		if questtype == "public" then
			local __,__,__,Score,Count = RoMScript("PE_GetInfo(1)")
			if Count ~= 2 then
				print("Waiting for event to start")
				yrest(1000)
				repeat
					local __,__,__,Score,Count = RoMScript("PE_GetInfo(1)")
					yrest(1000)
				until Count == 2
			end
		end
So you are saying the event info isn't on screen and so the function fails?

Add in a print before

Code: Select all

if Count ~= 2 then
something like

Code: Select all

print(Count)
I suspect that Count must be nil if the function fails.
If it is nil then we can deal with it.

Re: Keeping the Veiled Encampment Disguised Chrisalya's dail

Posted: Mon Jan 28, 2013 11:04 am
by solembum05
In game when we are Veiled Encampment Disguised on Chrisalya's map we got a timer for know when the next event. But if we don't move of Veiled Encampment Disguised, the timer disappear.

And the bot need this timer for work, if timer disappear bot do nothing, just waiting event...
So you are saying the event info isn't on screen and so the function fails?
yes ;)

i add:

Code: Select all

print(Count)
and i got "1" (without "")

I got all time 1

Re: Keeping the Veiled Encampment Disguised Chrisalya's dail

Posted: Thu Jan 31, 2013 5:20 am
by lisa
I knew there was a post I had forgotten about.
solembum05 wrote:I got all time 1
Unfrtunately 1 is the value returned when the timer is ticking down before the event starts, so we can't use that in game function to determine if the timer is actually working on your screen or not.

I seem to remember someone posting having a similar issue with the timer disappearing, I don't recall off hand if there was a solution for it or not.

The timer never vanishes for me so it is difficult for me to come up with a solution as I can't even test it. Once upon a time I did find the event timer in memory but I couldn't get any reliable pointers for it.

If I get some spare time I might have another look at getting the info direct from memory.

Re: Keeping the Veiled Encampment Disguised Chrisalya's dail

Posted: Thu Jan 31, 2013 5:23 am
by rock5
lisa wrote:I seem to remember someone posting having a similar issue with the timer disappearing, I don't recall off hand if there was a solution for it or not.
I seem to remember they would check if the frame is visible. If not they would run to a point outside the zone and back in again.

Re: Keeping the Veiled Encampment Disguised Chrisalya's dail

Posted: Thu Jan 31, 2013 6:30 am
by lisa
give this a try, game ver 5.0.7.2611

pointers were unreliable, deleted code

Re: Keeping the Veiled Encampment Disguised Chrisalya's dail

Posted: Thu Jan 31, 2013 9:22 am
by rock5
Give what a try? :shock:

Re: Keeping the Veiled Encampment Disguised Chrisalya's dail

Posted: Thu Jan 31, 2013 8:42 pm
by lisa
rock5 wrote:Give what a try?
lisa wrote:pointers were unreliable, deleted code
It is annoying me that on my 64bit machine the pointer is always working fine but on my 32bit it doesn't =(

you can try it if you want.

--=== code on the next post ===--

I am down to 670 pointers in my scan which are staying true on 64bit but none work on 32bit.

Re: Keeping the Veiled Encampment Disguised Chrisalya's dail

Posted: Thu Jan 31, 2013 9:03 pm
by lisa
Seems to be a difference between 64bit and 32bit OS and how it works in the lower region of memory, less than 200000

So I came up with this

Code: Select all

function eventscore()
	local read1 
	read1 = memoryReadRepeat("intptr",getProc(), addresses.staticTablePtr - 0x40 ,{0x3CC,0x4B8,0x230,0x94,0x90})
	if not read1 then --32bit code didn't work, try 64bit.
		read1 =  memoryReadRepeat("intptr",getProc(), addresses.staticTablePtr - 0x40 ,{0x338,0x38,0x230,0x94,0x90})
	end
	return read1
end
value returned will be the current total score of the event, not your score or it will be the time remaining before event starts again, in miliseconds.
120000 = 2 mins.
So you can do a check for score more than 6000 which is the maximum total score, it might get a value of 3000 when there is 3 seconds left before event starts though as the timer seems to update every 10 seconds and with 3 seconds as last digit, 53,43,33,23,13,3.

The other way to tell if event isw active or not is to look at the last offset as 0x94, this value is either 6000 or not 6000, 6000 being event is active and that is of course the maximum score, not 6000 means event not active and waiting for timer to count down.

Re: Keeping the Veiled Encampment Disguised Chrisalya's dail

Posted: Fri Feb 01, 2013 12:54 am
by rock5
That reminds me, we had a similar issue with getting the game version from memory. It was in 2 different locations in memory for 64 and 32 bit systems. I'll have to keep in mind that if I deal with any memory addresses less than 200000 that it will probably be different for 32 bit.