Page 2 of 5

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Tue Jun 09, 2015 8:56 am
by little_Fan
Hey guys,

first of all, big THX! The bot works properly for me but i have a question:

after the first start, the bot is waiting for next event to start. Let´s say i started at chan 1, waiting for new event, changing to chan 2, finish the event, changing to 3, finish the event and changing back to chan 1.
After he changed back to chan 1 he immediately keeps doing the quest till the event finished. That´s kinda annoying, because i´m doing it with 3 chars so i´m done with 3 channels in about less than 10 minutes. How can I tell the bot to wait for a new starting event?

greetings from europe :)

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Tue Jun 09, 2015 10:24 am
by noobbotter
Little_Fan,

Thanks for the feedback.

When the script starts it will immediately do the quest until it sees an ending message, then it will wait for a fresh new round to start. At that point, the roundCount variable will = 1.

Once that fresh new round starts it will do the quests and when it sees the end of event message, it will see that there is plenty of time left and that roundCount is less than 3 and will then increase roundCount by 1, change channels, then do the quest on the next round.

On that next round, roundCount = 2. At the end, if there is still enough time left it will change channels again, and increase roundCount by 1.

At this point RoundCount = 3. Once it gets the end of event message this time, even if there is time left, it shouldn't change channels again. Here's that part of the code:

Code: Select all

						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
On that first line, because at this point roundCount is equal to 3 it will then go to the else statements. One of them will display seconds while the other will display minutes depending on how much time is left in the round. It shouldn't change channels after the 3rd channel has been hit during a single 20 minute event time. Instead it should wait for a fresh new event to start, and it should reset the roundCount back to 1.

Oh crap... I just saw my mistake in my logic. it resets roundCount back to 1 during that repeat function... Ok, I'll do a quick update and post it here for testing.

Update: New file posted here. I can't test it now but if someone can test it and let me know the results, if it's good I'll update the first post with this revision. Thanks.

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Tue Jun 09, 2015 10:31 am
by little_Fan
thanks for your fast reply,

I´m looking forward to see your changes to test it out :)

Edit: tested your changed file, doesn´t work, still continuing after 3rd channel switch
now testing rock5´s v1.7a with your changes

Edit2: still continuing after 3rd channel switch
start at chan 1, manually change to 2 and 3, then back to 1 waiting for new event to start, automatically start, then switch to chan 2 and 3, then back to 1 and still continuing :(
greets Fan

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Wed Jun 10, 2015 12:39 pm
by little_Fan
still not working, can no one tell me how to change it?

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Thu Jun 18, 2015 1:01 pm
by latino18fr
noobbotter wrote:Little_Fan,

Thanks for the feedback.

When the script starts it will immediately do the quest until it sees an ending message, then it will wait for a fresh new round to start. At that point, the roundCount variable will = 1.

Once that fresh new round starts it will do the quests and when it sees the end of event message, it will see that there is plenty of time left and that roundCount is less than 3 and will then increase roundCount by 1, change channels, then do the quest on the next round.

On that next round, roundCount = 2. At the end, if there is still enough time left it will change channels again, and increase roundCount by 1.

At this point RoundCount = 3. Once it gets the end of event message this time, even if there is time left, it shouldn't change channels again. Here's that part of the code:

Code: Select all

						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
On that first line, because at this point roundCount is equal to 3 it will then go to the else statements. One of them will display seconds while the other will display minutes depending on how much time is left in the round. It shouldn't change channels after the 3rd channel has been hit during a single 20 minute event time. Instead it should wait for a fresh new event to start, and it should reset the roundCount back to 1.

Oh crap... I just saw my mistake in my logic. it resets roundCount back to 1 during that repeat function... Ok, I'll do a quick update and post it here for testing.

Update: New file posted here. I can't test it now but if someone can test it and let me know the results, if it's good I'll update the first post with this revision. Thanks.
Hello ,

Your last waypoint doesn't work after the 3 channel still continue and no wait when event start.

B.R.

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Sat Jul 04, 2015 3:51 am
by Miworax
hey, you wrote a awsome script for this, but it dont even work on my character....

"1:47am - [string " ..."]:114: attempt to call global 'getCurrency' (a nil value)" says MM..... dont know what it means.... can you help maybe ?

greetings from g ermany :)

PS: i downloaded the last version thats posted in forum

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Sun Jul 05, 2015 8:46 am
by rock5
getCurrency is a bot function. If you don't have it then you are using an old version of the bot.

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Mon Jul 06, 2015 10:10 am
by Miworax
i have some questions...

The bot changes channels after it finished.... but if channel 3 is finished he change on channel 1 and he count the time until the event is finished on channel 1 again.... but the event did not even started....

My idea: to say after channel 3<---> change on channel 1 and wait until the starting message "event has started" ( or how ever this message is called)... But i dont know how to write this in the script...

Can someone help me there ?

P.S. I used the last version thats posted here

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Mon Jul 06, 2015 12:28 pm
by noobbotter
Ok, I think I may have found the problem with the channel changes. Try this one out and let me know if it works.

On this one, I also set it where if there is more than 1 minute remaining on my timer after the third round, it will change channels prior to the start of the new round, but if less than 1 minute is remaining, it will stay where it's at while waiting on next round to start.

Let me know if this one works as I am unable to test it right now.
ResearchExpertEOJ.xml
ResearchExpertEOJ version 1.7
(11.85 KiB) Downloaded 200 times

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Mon Jul 06, 2015 12:41 pm
by Miworax
i will try it this night.... i tell you in about 3-4 hours


But i think its much better to go everytime on channel 1( if you finished all channels or after 18 mins after starting event on channel 1)..... you should thinking.... if the events start (on al lchannels at same time) you have 18 min to do all channels.... cuz after 18 mins if the event dont finished, the event is canceled and a 2 min cd of the next event ( start)

so if the event is ended... (no later than 18 mins) you can change channel on 1

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Mon Jul 06, 2015 1:26 pm
by Miworax
and if someone has dailynotes like me.... he can delete these 2 lines, cause then its a bit faster ;-)


player:target_NPC(123561) -- Jenn Shadoli
yrest(200)

and set 1x yrest from 200 to 300... then it runs perfect by me....

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Mon Jul 06, 2015 1:37 pm
by noobbotter
Miworax wrote:and if someone has dailynotes like me.... he can delete these 3 lines, cause then its a bit faster

yrest(200)
player:target_NPC(123561) -- Jenn Shadoli
yrest(200)
Actually, I wrote the script to be used with daily notes.

Code: Select all

player:target_NPC(123561) -- Jenn Shadoli -- This one accepts the quest
yrest(200)								 -- This line helps to compensate for any lag. If more lag, increase value
fastTarget(123369,objectClickRest);                   -- This clicks the first object using a faster object targeting function
fastTarget(123368,objectClickRest);                   -- This clicks the second object using a faster object targeting function
fastTarget(123508,objectClickRest);                   -- This clicks the third object using a faster object targeting function
yrest(200)                                                          -- This line helps to compensate for lag to ensure the final required object is in your bags
player:target_NPC(123561) -- Jenn Shadoli          -- This line turns in the quest
yrest(200)                                                          -- This line helps to compensate for any lag. If more lag, increase value
It runs that portion of the code over and over again (while watching for the "end of event" message. If you were to take out one of the target_NPC commands then it would waste every other loop on trying to target the objects while the quest is not accepted.

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Mon Jul 06, 2015 1:50 pm
by Miworax
i tested it mate, trust me..... i tryed so often.... if you have daily notes, you just need 1x to talk with the npc to complete the quest and accept the quest.... try it mate. i canceled this 2 lines and iam a bit faster.... i have a 19er ping and about 80 fps.... sp i can do it....

Dont know how it is for people that have more lags, but for me works much better like this


player:target_NPC(123561) -- Jenn Shadoli
yrest(200)
fastTarget(123369,objectClickRest);
fastTarget(123368,objectClickRest);
fastTarget(123508,objectClickRest);
yrest(200)

is it now... thats the best i tryed

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Mon Jul 06, 2015 2:01 pm
by Miworax
first of all: i tryed it once.... he changed after channel 3 on channel 1.... mm said: "11 minutes to next event, change to channel 2" but he still stay on channel 1... dont know if this is a bug or something like that... i will try this 2 more times and update my message here.


he dont continue on channel 1 if the event start message come

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Mon Jul 06, 2015 3:33 pm
by noobbotter
For the accepting and turning in with only one target_NPC command, might be working because i think in that function it targets twice "to be sure" (as the comments in the function says), so you could be right. I never tried it. Thanks for letting me know that.

As for the not properly changing channels, I'll have to dig into it a bit more and figure out what's going on.

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Mon Jul 06, 2015 3:40 pm
by Miworax
alright.... you can write me a pm or here in the forum, i will test everything you are doing and help to do a perfect script as much as i can !

Special thanks by now for your nice work !

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Wed Jul 08, 2015 3:15 am
by lisa
Thanks for posting this, I hate having to look around for easy dailies/eoj.

This is what I use for EOJ.
No extra addons or userfunctions needed.
Works farely quickly and for any language client.

The top of MM will display the EOJ score you should have, if the event ends and you see your score and the MM shows a score lower than it then you may need to add in a yrest(400) after it clicks each item.

Code: Select all

<?xml version="1.0" encoding="utf-8"?><waypoints type="TRAVEL">
<onLoad>
	unregisterTimer("timedSetWindowName");
	unregisterTimer("setwindow")
	eoj = 0
	function doquest()
		player:target_NPC(123561) -- Jenn Shadoli
		AcceptQuestByName(427058) -- Research Expert
		yrest(200)
			player:target_Object(123369) -- Yellow Liquid
			yrest(300)
			player:target_Object(123368) -- Flask
			yrest(300)
			player:target_Object(123508) -- Cloudy Liquid
		yrest(500)
		player:target_NPC(123561) -- Jenn Shadoli
		yrest(500)
		CompleteQuestByName(427058) -- Research Expert
		eoj = eoj + 80
		setWindowName(getHwnd(),sprintf("Eoj: "..eoj))
	end
     
	local gomsg = getTEXT("SC_ZONE_PE_3TH_ST1START")
    local endmsg = getTEXT("SC_ZONE_PE_3TH_FAIL")
	local endmsg2 = getTEXT("SC_ZONE_PE_3TH_ST1OVER")

	while(true) do
		doquest()
		if getLastWarning(endmsg, 10) or getLastWarning(endmsg2, 10) then 
			eoj = 0
			repeat
				yrest(1000)
			until getLastWarning(gomsg, 10)
		end
	end
</onLoad>
</waypoints>

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Wed Jul 08, 2015 4:01 am
by Miworax
but this in just for one channel, isnt it ?

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Wed Jul 08, 2015 4:02 am
by lisa
Miworax wrote:for all 3 channels ?

I will try this in the next 2 hours
Mine doesn't change channels, shouldn't be to hard to add in the changing channels though, only 1 channel this map on server I am playing.

Re: NoobBotter's Kashaylan Research Expert EoJ Script

Posted: Wed Jul 08, 2015 4:11 am
by Miworax
yeah but this is not good for farming EoJ ;-) the function from noobbotter was good, just one thing is needed, that he wait after he finished channel 3 and go back to channel 1.... this is the only thing that is missing, i think this can "we" write in script