Page 1 of 5

NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Mon Jun 01, 2015 10:12 am
by noobbotter
This script will farm Energy of Justice in Kashaylan using the Research Expert public quest.

*** Version 2.0 update:
The script will start farming on whichever channel you're on and once it gets a message that that event round is complete, it will change to the other channel. After 2 channels are done, it will wait until the next round start.

Also, this will now automatically enable the Autoquesting for this quest via DailyNotes so if you use this quest for dailies, you won't have to manually change it.


This Waypoint has user settings to tell it when to stop, by either max EOJ in inventory, or by amount of time the script has been running. Alternately, you can set it to stop after a certain amount of time and rest for an amount of time, and then resume, or run continuously.

Additionally, I am using Rock5's checkRelog() function to allow you to either end the script, change characters, or load a different waypoint file once this one completes.

Requirements:

1. This script depends on having the DailyNotes Addon activated for auto accepting the Research Expert public quest.
2. This script also requires the LoginNextChar userfunction by Rock5.
3. Must have character at the location where he can accept the quest and click on the objects all in one spot.
4. Set preferences in the User Settings section.

Note: This should be language independent, but I'm not sure if the RoMScript commands are language specific or not, such as RoMScript("GetCurrentParallelID()") and RoMScript("GetAccountName()").

If you find any bugs feel free to let me know.
ResearchExpertEOJrev20.xml
Revision 2.0 2 channels only
(8.85 KiB) Downloaded 578 times
ResearchExpertEOJ.xml
Revision 1.8d
(12.56 KiB) Downloaded 542 times

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Mon Jun 01, 2015 10:57 am
by rock5
Function names don't change with different languages. Only things like strings and names change.

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Mon Jun 01, 2015 11:33 am
by noobbotter
Oh, Duh! I didn't even think about the fact that those are functions. I guess I probably already knew that if I had thought about it a little.

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Tue Jun 02, 2015 8:27 am
by Nadanthiel
Hello, thanks for you script.

I have a problem, not change channel.

What should i do in this script for can change channel??

thanks you

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Tue Jun 02, 2015 11:51 am
by noobbotter
When you start the script it will immediately begin completing the quest and will continue until it receives the message that the event is over. That first time, it will then wait for the start of the next 20 minute round. Once it does the start of that second round, once complete (receives the message that the event is over), if it has more than 5 minutes remaining it should change channel.

Did you give it enough time to try or were you expecting it to change channel after that first run through?

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Wed Jun 03, 2015 4:46 am
by Nadanthiel
Hello,

I didnt change nothing in script, only: local max eoj: 8000, local max minutes: 720 and local restTime: 0.

I dont change nothing more and it doesnt change channel.

What must i do?

thanks you

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Wed Jun 03, 2015 7:05 am
by noobbotter
I wonder if there is only one channel in that area now? I remember reading in the patchnotes for the patching they did this week something about getting rid of extra channels but I thought that was just for Jungle of Hortek. I'm not sure. How long did you wait to see if it would change channels?

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Wed Jun 03, 2015 7:33 am
by Nadanthiel
There are 3 channels sure.

I try a lot times, with diferents psjs and for a long time too.

I try look script and look for change something but i didnt know exactly.

are you tested your script? or i dont know XD

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Wed Jun 03, 2015 10:24 am
by noobbotter
I'll double check it and run it through tonight just to ensure it's working right. You never know if I changed something since I last tested that broke it. I'll let you know what I find.

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Wed Jun 03, 2015 10:18 pm
by noobbotter
I verified it tonight. After it finished it's second round (saw "Regional event has ended Successfully!" for the 2nd time) it changed channels.

Did you verify that you have the latest version of the file I uploaded here? Inside the file at the top it should indicate "Version 1.6"

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Thu Jun 04, 2015 8:19 am
by Nadanthiel
Hello

I had version 1.6, i return to download and try it other time, but it didnt change channel, i try a lot times and with diferents psjs.

I use english language, must be in spanish or french or german? or i must change something in profiles? i dont understand why no change channel if you can.

Thanks you

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Thu Jun 04, 2015 9:43 am
by noobbotter
How long are you letting the bot run the script? The bot will change channels after the second event completion message, and only if there are at least 5 minutes remaining in the 20 minutes of the second session.

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Thu Jun 04, 2015 11:00 am
by latino18fr
yes it very long to wait the second session. that why if there is a way to get timer of each channel waypoint could easily change channel ^^

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Thu Jun 04, 2015 1:53 pm
by rock5
I believe the problem is the timer is not reliable because sometimes it's not visible. When it's not visible you can't get the time.

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Thu Jun 04, 2015 2:17 pm
by noobbotter
This one doesn't use an in-game timer (exactly because it's usually never visible). In this one, the script sort of creates it's own timer. After script starts it runs until it receives an end of event message. Then it will wait until it sees an Event Start message, at which time it records the round start time. Suppose at this point it takes 7 minutes to complete the event. When it sees the end event message it looks at that time. So now we have 2 times stored. Round start and round end. It will then do a function something like this:

Code: Select all

if (RoundStart + 20minutes) - RoundEnd > 5 then Change Channels and continue while using same RoundStart time
. Here's the specific portion of the code that does it:

Code: Select all

roundTime = (os.time()-startTime)/60
if timerIncorrect == false then
	nextRound = 20-roundTime
	
	--============= insert option to change channel and continue =====--
	if nextRound > 5 and 3 >= roundCount then -- if more than 5 minutes remaining in round, change channel:
		cprintf(cli.yellow,"\r%0.1f minutes until next round starts... Changing channel.", nextRound)
		roundCount = roundCount + 1
		changeChannel()
		firstRun = false
		timerIncorrect = false
		changedChannels = true
		break
	elseif 1 > nextRound then
		roundCount = 1
		changedChannels = false
		cprintf(cli.yellow,"\rTime till next round start: %0.1f seconds.",nextRound/60)
	else
		roundCount = 1
		changedChannels = false
		cprintf(cli.yellow,"\rTime till next round start: %0.1f minutes.",nextRound)
	end
Looks like I have 2 people that say it isn't changing channels. I've tested and re-tested and it works for me so I can't see why it wouldn't work for them. Can anyone else verify that it is working for you?

For those that it's not working for can you tell me specifically how many minutes you let the bot run for and how many different events you've watched it go through? You keep saying it runs a long time but for some people a long time can be 8 minutes when you're sitting there watching the screen.

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Thu Jun 04, 2015 2:48 pm
by Nadanthiel
I tried for 2 hours and with 2 or more psjs, and no change channel so i did event in one channel. Event is done very fast, 4 o 5 minutes or less, im sure there is time for do event in three channels.

I dont know why no change channel... i can see end event message and look in script but i dont know...

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Thu Jun 04, 2015 3:34 pm
by noobbotter
I took the script and added in some debugging/logging to it. (if you don't have the logInfo userfunction, you'll need to download it and put it into your rom/userfunctions folder.

Then download this copy of the script (note it has a different name) and run this one and then afterwards, take a look at the logfile it creates which will be [charactername]-EOJ_Debugging and should be in the rom/logs folder. Let me know what the log shows.

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Fri Jun 05, 2015 1:55 am
by Testa
Hi NoobBotter!

First of all big THX for this awsome script!

I use the script with 2 little changes:
1) Autoadd the quest to the DailyNotes Addon
2) Show EOJ in the MM window

Needed userfunctions:
Rock5's DN_AutoQuest
MM window (setwindow)


Idea (not implemented):
It would be great to find a way to display the time left for the event... (and/or defined script runtime)

Code: Select all

Print of actually script: "Been running for 3 minutes."
Print of wanted script: "Been running for 3 minutes. Event time left: 10 minutes" or "Been running for 3 minutes of 120 minutes. Event time left: 10 minutes"

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Fri Jun 05, 2015 7:18 am
by noobbotter
Thanks Testa. Those were some pretty good ideas. I modified the line that displays time during the event to show total script runtime, time the current event has been running, and estimated time remaining in round. Feel free to test this one out (I made changes but haven't tested it yet), and let me know if this one works ok.

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Sat Jun 06, 2015 4:15 am
by Testa
seems working big thx :) only the event time is a little bussy

Code: Select all

Script Runtime: 29.2 minutes. Current Event Time: 21.9 minutes. Event Round Time Remaining: -1.9 minutes.
i did only one little change in the code (question of taste)

Code: Select all

printf("Script Runtime: %0.1f minutes. Current Event Time: %0.1f minutes. Event Round Time Remaining: %0.1f minutes.\n", Scriptruntime, Eventruntime, EventTimeRemaining)

-> Script Runtime: 3.8 minutes. Current Event Time: 3.8 minutes. Event Round Time Remaining: 16.2 minutes.
change to

Code: Select all

printf("Script Runtime: %0.1f (of %0.1f) minutes. Event Time: %0.1f (Remaining: %0.1f) minutes.\n", Scriptruntime, maxMinutes, Eventruntime, EventTimeRemaining)

-> Script Runtime: 3.8 (of 50.0) minutes. Event Time: 3.8 (Remaining: 16.2) minutes

and "update" the commentary of USER INSTRUCTIONS and userfunctions