Page 2 of 2

Re: Kashaylan fastest Daily (~13secs)

Posted: Tue Jun 02, 2015 11:25 am
by cokebot
I want to add a chatmonitor so the bot stops when the event stops, but as you can see i only copied i code i found and have no idea how to change it the right way, maybe someone can help, thx.

Code: Select all

EventMonitorStart("EoJevent", "SYSTEM_MESSAGE");
	local time, moreToCome, name, msg, _end 
	repeat
		time, moreToCome, name, msg = EventMonitorCheck("EoJevent",1)
		yrest(10)
		if name and string.find(name,endMessage) then
			_end = true
		end
		
		player:target_NPC(123561) -- Jenn Shadoli
		yrest(200)
		fastTarget(123369,200);
		fastTarget(123368,200);
		fastTarget(123508,200);
		yrest(200)
		player:target_NPC(123561) -- Jenn Shadoli

	until _end == true
EventMonitorStop("EoJevent")

Re: Kashaylan fastest Daily (~13secs)

Posted: Tue Jun 02, 2015 11:53 am
by noobbotter
You can see an example of how I use the chatmonitor to watch for start and end of round messages in the following post, which probably does exactly what you want:

http://solarstrike.net/phpBB3/viewtopic.php?f=27&t=6026

Re: Kashaylan fastest Daily (~13secs)

Posted: Wed Jun 03, 2015 11:49 am
by latino18fr
hi,

is there a way to get the clock for each channel?

Re: Kashaylan fastest Daily (~13secs)

Posted: Sun Aug 30, 2015 3:01 pm
by damnyeah
@noobbotter

I saw you are pro, so I have one question for you.

You did nice code in cooperative with rock5:

Code: Select all

   function changeChannel()
      local currentChannel = RoMScript("GetCurrentParallelID()") + 1
      if currentChannel == 3 then
         currentChannel = 1
      end
      RoMScript("ChangeParallelID("..currentChannel..")")
      repeat
         yrest(1000)
      until RoMScript("GetCurrentParallelID()") == currentChannel
   end
I wonder if there is any function we can split with the above. IDK something that start this above function (change channel) but activate automaticly after event ends.

Something like [start changeChannel if EVENT; is end] <- you know what I mean? This is in noob language so...

I need to run bot, and go afk and he must work only when event is started, but also with automatic channel change.


If we can't do it automaticly (by end event) maybe I can count how many quests I must do (75x80=6000 so event is over) and than do function: [Do quest 75 times than change channel]?

Re: Kashaylan fastest Daily (~13secs)

Posted: Mon Aug 31, 2015 9:31 am
by noobbotter
Damnyeah,

I think all you would have to do, if you already have code and you want it to change channels, would be to add the changeChannels function, and call that function once the event is finished.

So, for example, here's the changeChannel function. Put this in the onLoad section:

Code: Select all

function changeChannel()
	local currentChannel = RoMScript("GetCurrentParallelID()")
	yrest(1000)
	printf("Current Channel is %s\n",currentChannel)
	if currentChannel == 3 then
		currentChannel = 1
	else
		currentChannel = currentChannel + 1
	end
	printf("Changing to channel %s.\n",currentChannel)
	RoMScript("ChangeParallelID("..currentChannel..")")
	repeat
		yrest(4000)
	until RoMScript("GetCurrentParallelID()") == currentChannel
	yrest(4000)
end
Then, here's sort of how you could implement it:

Code: Select all

repeat
	eventFinished = false
	repeat
		-- do your code here for what to do during event, accepting and completing quests.
		if getLastWarning("|cffffff80"..endmsg.."|r", 10) then
			eventFinished = true
		end
		if getLastWarning("|cffffff80"..endmsg2.."|r", 10) then
			eventFinished = true
			
		end			
		printf("Been running for %0.1f minutes.\n", (os.time()-scriptStartTime)/60)
	until eventFinished == true --once it sees the event is finished it will change channels
	changeChannel()
until false --or whenever you want it to end

Re: Kashaylan fastest Daily (~13secs)

Posted: Fri Mar 04, 2016 3:55 am
by Buh
HEy

While the bot is using this diffrent functions, it always loses the target and thats not so amazing. Is there any way to stay the npc target?

Thanks for answers

Re: Kashaylan fastest Daily (~13secs)

Posted: Mon Mar 07, 2016 8:24 am
by noobbotter
They way this script runs, it targets each individual bottle and "attacks" it. But after it clicks the bottles, it should re-target the NPC. Not sure what you're looking for.Are you looking to speed it up by making it not change targets all the time? If so, I'd have to dig into it to see if that's possible.

Re: Kashaylan fastest Daily (~13secs)

Posted: Mon Mar 07, 2016 12:57 pm
by Onche
Sorry if I'm wrong, but I think Buh wanted to talk about the fact that the script stops targetting the NPC when it targets the bottles. It looks unnatural because manually you can click on the bottles without loosing target on NPC. On my server almost everybody knows that if you loose the target each time you click on the bottles, then you're probably botting :D

Re: Kashaylan fastest Daily (~13secs)

Posted: Mon Mar 07, 2016 1:53 pm
by noobbotter
Oh, ok. I understand now. I hadn't thought about that. I'll do some digging and see what I can figure out.

Re: Kashaylan fastest Daily (~13secs)

Posted: Tue Mar 08, 2016 5:33 pm
by noobbotter
Ok, Here's an updated version of my script which manages to click the bottles without losing the NPC as target. I don't know how fast it is compared to the other version, but it works. One thing with this... the RoM window running it has to be the active window. Try it out and let me know.
ResearchExpertEOJrev22.xml
Research Expert Version 2.2 beta
(13.58 KiB) Downloaded 479 times

Re: Kashaylan fastest Daily (~13secs)

Posted: Thu Mar 10, 2016 1:28 pm
by Buh
Hey

Sorry for this late answer.............. But thank you noobotter for searaching for it(!!) I will try this as soon as possible and will give you feedback.

Greetings

ME <3<3<3<3

Re: Kashaylan fastest Daily (~13secs)

Posted: Thu Mar 10, 2016 3:45 pm
by Buh
Hey

So i tried your Script an put this function to mine and it dont work. I think thats because of "GetCameraPosition". I heard this isnt longer possible on rom server.

Maybe it could also be, that i have no actual version of rombot/micromacro/UserFunctions.lua

Greetings

Me

Re: Kashaylan fastest Daily (~13secs)

Posted: Fri Mar 11, 2016 8:00 am
by noobbotter
It worked for me so the functions in it do work. Let me know what error you get and that will help me narrow down why its not working for you.

Re: Kashaylan fastest Daily (~13secs)

Posted: Fri Mar 11, 2016 9:16 am
by sauhard
Worked for me. Looks a bit messy but does the job. Would love to see it lil more cleaner as the char just moves/teleports in a weird way. But still a good job :P

Re: Kashaylan fastest Daily (~13secs)

Posted: Fri Mar 11, 2016 9:45 am
by noobbotter
Yeah, the character doesn't teleport, it's just the way the script changes the aim of the camera. I have it where it aims the camera at the bottle to click, then finds it on screen and clicks it. Yeah, not pretty, but harder to detect it's a bot versus just a macro.

Re: Kashaylan fastest Daily (~13secs)

Posted: Sat Mar 12, 2016 10:42 am
by sauhard
Well if i were a gm i'd just teleport the character to outside of that hut and then the bot will go bezerk :P It's a general trick that gms use, they teleport you a bit and then check the way the character reacts. Would love see ideas to overcome this thing :P

Re: Kashaylan fastest Daily (~13secs)

Posted: Mon Mar 14, 2016 7:59 am
by noobbotter
That sounds like a relatively easy thing to overcome. Generally, how far do they teleport people? Just outside the tent somewhere?

Re: Kashaylan fastest Daily (~13secs)

Posted: Tue Mar 15, 2016 5:06 am
by lisa
I guess I can post my waypoint for the daily.

Make sure you have a straight line of sight to each bottle and to the NPC.
Make sure you have dailynotes addon setup to do the daily when you click NPC.
Zoom your screen all the way in, like first person view.

You can only use this on 1 client at a time and the game will be the focus.
It will minimize the game and then bring it back up as focus when you start the waypoint.

It will use daily reset tickets if you have them, if you get teleported away then it will just stand there doing nothing.