Jump to content

Recommended Posts

Posted

elo can anyone post the new coordinate of the soybeans snice it was move

MouseClick("primary", 846, 452, 1, $script_speed) ;soybeans

cause this one keep buying wheat tnx

  • Replies 501
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Posted

elo can anyone post the new coordinate of the soybeans snice it was move

MouseClick("primary", 846, 452, 1, $script_speed) ;soybeans

cause this one keep buying wheat tnx

Depends on your resolution, but my clicker with a windowed IE reads approximately:

Registered Point: (490, 625) Colour: 0x0000EAF2D9 CRC: 0x3E9BDDEC

Registered Point: (898, 620) Colour: 0x0000B2CF76 CRC: 0x148D0F7D

Registered Point: (488, 819) Colour: 0x0000FFFFFF CRC: 0x681782D6

As in:

~(490, 625) for the old Strawberries or the new Sweet Seeds or the old old Super Berries.

~(898, 620) for the old Soybean or the new Wheat or the old old Wheat.

~(488, 819) for the old Squash or the new Soybean or the old old Soybean.

So, if you want to go from Top, Right (898, 620) to bottom left (488, 819), you need to subtract a vector of about (-410, 199) pixels or for you about (436, 651). Give that a try. It may be a bit off by a few pixels up or down but you can adjust it accordingly since that should put you close.

Jeffrey.

Posted

Hmm. Interesting Matthias! Well, the way I set my zoom was actually 0.33 to 2.00, in steps of 0.33 defaulting to 0.33. Like this, you start at 0.33, then 0.66 the next zoom out, 0.99 then next, 1.32, 1.65, 1.98 and then it allows 1 more, 2.00. Once at 2.00, it zooms out at 1.67, 1.34, 1.01, 0.68, 0.35 and finally back to 0.33. All of these seem to be true resolution multipliers as the farm really does smoothly shrink to the indicated scale. But, the thing to observe with the non-standard resolutions, where 1 or more of the x or y offsets is not a whole number is that the farm is shrunk as a whole, it is not that the offsets are rounded to the nearest integer for each square. In your Zoomed Out example, Some columns would involve 16 pixels added to x and some 17. That is why I use the floating point multiplier and floating point offsets and round only when I finally move the mouse. If you look closely at a 0.33 zoomed farm, there are jagged lines subtley drawn across where the disjoint between the 16 and 17 lenght tile occurs.

BTW, hope this doesn't offend you Matthias, but generally in English we use the dot for separating a whole number from its fractional part and the comma for the thousands separator. I know in French on écrit «zéro virgule trente-trois­­­­­» und auf Deutsch schreibt man “nul komma drei und dreizig„, but in English, it's read and written as "zero point thirty-three" or sometimes "naught point thirty-three". The only reason I bring this up is because in English, (16,5) is normally read as 16 by 5 or x = 16 and y = 5 as in a list of 2-dimensional co-ordinates. I'm sure most of use did understand what you meant here (16.5) but for those who didn't, "," is a decimal radix in most continental European languages.

Now, as for 16:9 using different numbers than 4:3, I've not noticed by I have my mac running Busy Box Windows and it has a 16:9 display so I could verify this on him and get back to you. Great observation Matthias and thanks again for all your help!

Oh, and this reminds me, point 20) Localization! As in, make all the text loaded from the ini/registry settings and make them all localized. At the very least, between us I'm sure we could cover English, French, German and probably Italian. :P

Hi Jeffrey

thanks for the reply.. :idea:

1) I took a deeper look at the zoom problem this morning, with the following results. The size of a path does not vary from Screen Resolution nor Screen Aspect Ratio, it depends on the framesize FarmVille is shown in. Hadn't any 16:9 screen yesterday to proof I'm wrong with the Screen Aspect Ratio theory, but had your info in mind about your zoom factor of 0.33. But reading your reply (Busy Box Windows) it made bing and got the problem. So inconclusion gonna fix the zoom setings in dependency of boxed or fullscreen and zoomlevel. Also gonna do something about the integer/floating problem.... ,but as I told just get familar with AutoIt code (VisualBasic or C++ does not allow floating point numbers while dealing with pixels). Think I have some good idea to deal with the zoom problem.

2) No I'm not offended :) I'm a native speaking german and I'm learning english since I'm 3 years old due to raising nearby RAMSTEIN AIR BASE going in Kindergarden with mostly american kiddies and I do work in international enviroments. So I do hope that I can express myself good enough, but I do have some problems when I change languages to fast to often (meant verbaly). :) And while writing the reply I phoned with mom (she's a little sick). I'm so sorry when this stuff happens. Please keep reminding me, just make it shorter. Write something like "have you been in german mode again" then I gonna know and correct my post. I really apreciate it when someone helps me to improve language skills.

3) About point 20) on the ajenda had that in my mind just started with so layout and wanted to know if you like it that was or not.

4) I cover myself the following languages (most due to working on c-sites)

  • German -- native speaking/reading/writing
  • English -- IELTS average of 7.6 outta 9 (some bugs as explained before) am allowed to work in U.S. , Canada, OZ and the U.A.E
  • Latin -- great latinum +2 extra years of training speaking/reading/writing (some problems with syntax)
  • French -- able to have small talk with someone / reading newspaper works fine, can't write very well (spelling)
  • Japanese -- able to "speak" and survive --- small talk possible just about certain stuff, can read manga , out of use of writing
  • Polish/Russian -- able to give workers instructions, can't read or write
  • Hungarian -- able to give workers instructions, can't read or write
  • Turkje -- able to give workers profound instructions (covers some construction stuff), can't read or write
  • Jugoslavien -- able to have small talk with someone, can't read or write
  • Spanish/Italien/Portuguese -- speaking just for survival

Any language below Japanese I learned on c-sites. Since I try to take care of the workers because they have to do hard labour (having BBQ for reaching goals I set and I pay for it on my own) and I'm not yelling at people like most supervisors do. So It happens quite fast I'm talking with them and since their mostly "simple people" (no offense) and can't speak German or English you start learning their language. Makes it easier to give orders on c-site. To cover i gonna ask some contractors I know if they could help.

So know it's back to coding gonna post the fixed code later on.

Matthias

Posted

Nice work Matthias!

One thing though: the gameSettings.xml explicitly defines the zoom levels as:

2.00 for fully zoomed in

1.50 for first zoom out

1.00 for second zoom out

and

0.50 for fully zoomed out.

You seem to have defined fully zoomed out as 1. Since the game defines it as 0.50 and anyone messing with gameSetting.xml is using those units, wouldn't it be better to have the fully zoomed out value be 0.50? And thus have the default sizes be double, like they were? With the current settings, my zoom would not be 0.33, it would be 0.66 even though I specified 0.33 in the game settings and after messing with the game settings I'd have to memorize a different number scheme for the clicker. Not a hard scheme, but why not just match the game?

Gonna change :) thx for the info.

Matthias

Posted

Hmmm. A loop? Does it seem to do that infinitely or only a number of times? For deletions, I think I have it at 3 retries (full click retries), but I don't recall any retry for seeds. I know there are seed timeouts which are really vexing since they can kill the whole PPD/PPW/RPP sequence and blow an entire repeat mainly just because he couldn't match the crc! but I don't have any experience with it repeatedly clicking market-buy, especially during the training. BUT, the training executes the same "buy" function that a normal buy would so it's possible it's not catching the buy point properly and thus keeps trying to buy, failing then buy. But, as I said, I don't recall any such loop with buying. I'll have a closer look at the code tomorrow though to see if I can spot anything.

As for alternate screens, yes that was on my TODO list. The short solution will be to add a fifth training point. Say, at step 2 we have:

Hit HOME over the buy button to select a seed, or hit SHIFT+HOME over the next-arrow to go to a subsequent screen.

Now, if you hit SHIFT+HOME, he'll click that point and go to the next screen and count 1. Hit it again and he'll click it again and count 2, etc. When you have the right screen, mouse over the buy and hit HOME as normal. He would then remember to hit the next arrow n times then click buy. That's how it would work, but it will take a bit of time to implement but I'll look into it.

Jeffrey.

PS, with respect to PPW (Plow-Plant-Wither), how big was your PPW area? There is a 3*that size second gap between each step in that sequence which is really just Plow-Plant-Plow-Plant. Change that gap multiplier ($fast_click_compensator) to something smaller to speed that gap up. It's 3 if you want your little guy to walk the course but at least 1 to complete a full cycle with him penned. Since the clicker is faster than the actual action (which general takes 1 sec per square), the gap is there to prevent you from planting on a plot that has been marked for plowing but has yet to be.

The big question is what does the state after its first plow? Is it "Ended Plowing" or "Idle". If it's "Ended Plowing", it's in that gap state. If it's "Idle", it quit for some reason. The State is the bit of text at the top of the dialog directly under the title bar. If you can tell me the state when this happens I should be better able to diagnose the issue.

timehorse- i couldnt repeat the loop while the script is on the seed.so i guess it is one of those mysterious bug.

but as for the status of the script after i press SHIFT+insert is that.. it would plow .. then the msg is ended plowing .. the bottom msg is starting repeating sequence. and it would stay there. maybe because i have my farmer trap at center and it is plowing too fast?

Posted

...for what?

[left][sub]We're trapped in the belly of this horrible machine.[/sub][sup]And the machine is bleeding to death...[/sup][sup][/sup][/left]

Posted

timehorse- i couldnt repeat the loop while the script is on the seed.so i guess it is one of those mysterious bug.

but as for the status of the script after i press SHIFT+insert is that.. it would plow .. then the msg is ended plowing .. the bottom msg is starting repeating sequence. and it would stay there. maybe because i have my farmer trap at center and it is plowing too fast?

Thanks for the update on the mysterious seed sensation bug. We'll keep that one on file but mark it dormant. :)

As for the wait time after plowing, this is what I call the gap timeout. There is a variable that will become configurable called "$fast_click_compensator" which I now have set to 3.00. This is a multiplier for how long it will take to do an action assuming 1 second per action. So, with the $fast_click_compensator set to 3.00, for every plot you plow (and every seed you plant and every crop you reap), you will wait 3 seconds afterward before beginning the next step. This is to prevent the the clicker from overrunning its last action since those actions cannot be pipelined. Now, 3.00 is rather large and is to compensate for an unpenned player walking while plowing. If you're penned, this should be about 1.50, perhaps a bit more depending on the click speed. And, if you hack game settings to set the plowTime to effectively 0, you still need about 0.75 for all those messages at least on my slow computer.

Alternatively, each of those gap modes are escapable so if you think it's taking to long you can just hit "ESC" and go to the next step immediately. Also note, when pausing during a gap timeout, that does NOT pause the gap timeout so if you have a gap of 3 seconds but pause it for 2 during the gap, you'll still only spend 3 minutes waiting. This is as opposed to dialogs, whose timers are stopped as soon as pause is pressed.

Hope this fixes things!

Jeffrey.

Posted (edited)

I think you can find Super Berries are available in an old version of the software. I know they were in nothing from 5056 or so onward and I checked 4415:

http://facebook.farmville.static.zynga.com/v4415/assets/crops/crop_superstrawberry.swf

And the icon:

And used Fiddler to try and replace the Strawberry images with Super Berries, but although the Super Berry Icon appeared, the swf file seems to be empty, just as it does for all the recent releases. If anyone else knows a version of FarmVille where Super Berries were active, would they mind posting the version number since IIRC Matthias was inquiring about it and I'm curious myself.

BTW, dig those new Flower crops and the Milk Dairy! 20 cows for 4x8 squares. Hmmm, but I like having a 20x20 farm with minimal square loss -- that why I don't pen my guy and I don't have anything besides a baloon, a barn and some elephants what can't fit along the margin. Cows fit, but that barn will not even though 2x2 cows could fit 20 deep in the dairy and that's a savings of 12 2x2 squares!

And just like them to post a new SWF a day after Wetwlly caps it; can I call it or what!?

Jeffrey.

Edited by TimeHorse
Posted

I've gone and set up a branch in my SVN repository for your development work, Matthias so you can continue work on the zoom and other configuration options while I work on other things without interfering. BTW, your English is quite good and I am very sorry to hear about your dear mother; I hope she's feeling better now!

Anyway, I cleaned up your code a bit as well as added in a change log entry for it and moved some functions to more appropriate locations. Since you are working from revision 566 of my script, your version numbers go v566-20xx-xx-xx where the rest is the date of release by the convention set forth by Jackalo. You can find those tweaks here: http://timehorse.pastebin.com/f55833b8e (Download).

Now, on my part, I've started to try playing with the Plow-Plant-Wither settings and discovered that there really should be 2 plowing modes to the clicker:

1) First-time Plow of Grass area

2) Subsequent Plow (Replow) of withered or fallow squares

In the first case, you have 16th the area of the second and the click must be at a very accurate position in the Southmost corner of the target square. The later case, like with all other clickers, need only be centered and is thus in a much more click-tolerant position. Indeed, at a $zoom of 0.33 on my clicker, you don't just need to get into that 1/16 sweet zone, some positions that may look good from the clicker's home position may in fact be off at various points in the click grad due to round-off errors in calculating the grid offsets. As yet I don't have a clear solution for this apart from judicious use of PixelSearch! But, since we don't have Grass detection for plowing and want PPW and RPP to follow plot rule 2 rather than plot rule 1, I created a new function:

Replow (SHIFT+END)

Now, technically SHIFT+END for replow may be a bit off since [END] is plant and [iNSERT] is plow but I already used [sHIFT]+[iNSERT] for repetition but [sHIFT]+[DELETE], [sHIFT]+[HOME] and [sHIFT]+[PGDN] are already used as well so for now I'll leave it as [sHIFT]+[END] for Replow but those assignments may become configurable.

Anyway, so the new script (revision 579), with better Plow-Plant-Wither support and new default offsets, can be found here: http://timehorse.pastebin.com/f567d1d3f (Download).

Hmm, how can I delete all of the cubes, because on all of them cube asks about it. What do I badly? Sorry my bad English

Matthias's, Jackalo's and my clicker should allow you to delete an entire farm's plot area if that's what your desire. It will take quite a while if the farm is big, but it is automated and doesn't require you to do any clicking other than the train the tool. The version I linked from Matthias's development line has a GUI to set the Zoom level where as if you use the second one I posted, you need to go into the file and manually edit the $zoom level to 0.5 (for fully zoomed out) from its current value of 0.33. Hope that helps!

That said, you may want to look at page 8 or so of this thread where it describes using Fiddler and modifying the gameSettings.xml and just plowing over withered crops rather than deleting. In this case, the second update is better because it better handles replowing previously plowed areas.

Jeffrey.

Posted

hey everyone. I've read this whole thread and you guys have so many scripts/ideas :) I tried a few out but unfortunately I couldn't get any of them to work properly, however after looking intot he scripts I learnt a great deal of how things are done and started making my own script. It is a simple script that doesn't use a lot of pixel detection and all that. Just a simple script that plants/harvests/plows then loops. Even though I chose an area of the middle square where my character is where it doesn't click him I thought I'd try to completely get rid of that block from the script just for practice. Now I am left with a strange problem. When I run my script it does the first 8 rows fine then it gets to the 9th (i have a 16x16 farm so that is the row where my character is) and it clicks the blocks, but keeps on going, over the character and off into the distance beyond my plots :s. The next line works fine and it just goes on to the last line where it does the first two plots, then pauses then does the rest of the plots very slowly. I tried commenting out the 9th row altogether however when I run it it doesn't change. Here is the code for what I have made. I would appreciate it a lot if you guys could help me see why it is doing this (its been frustrating me for ages!)

#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.0.0
 Author:         ttrevor83

 Script Function:
    My own Farmville script.

#ce ----------------------------------------------------------------------------

; Script Start - Add your code below here

While 1
HotKeySet ("{esc}", "ExitScript")
HotKeySet ("1", "start")
WEnd


Func ExitScript()
Exit
EndFunc



Func start ()
While 1
;plow tool
        MouseClick("Left",940,708,1,0)
        Sleep(1500)
        MouseClick("Left",949,637,1,0)
        Sleep(1500)
;plots

;r1
MouseMove(635,585,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r2
MouseMove(610,573.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r3
MouseMove(585,562,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r4
MouseMove(560,550.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r5
MouseMove(535,539,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r6
MouseMove(510,527.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r7
MouseMove(485,516,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r8
MouseMove(460,504.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r9-a
MouseMove(435,493,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<17
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r9-b
MouseMove($startingPos[0]+50,$startingPos[1]-23,1)
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<17
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r10
MouseMove(410,481.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r11
MouseMove(385,470,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r12
MouseMove(360,458.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r13
MouseMove(335,447,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r14
MouseMove(310,435.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r15
MouseMove(285,424,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r16
MouseMove(260,412.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

Sleep(6000)

WEnd

;       strawberries temp
;       Sleep(1500)
;       MouseClick("Left",939,763,1,0)
;       Sleep(1500)
;       MouseClick("Left",568,455,1,0)

;       blueberries
;       Sleep(1500)
;       MouseClick("Left",939,763,1,0)
;       Sleep(1500)
;       MouseClick("Left",971,440,1,0)
;       Sleep(1500)
;       Mouseclick("left",846,648,1,0)

;       tomatoes
        Sleep(1500)
        MouseClick("Left",939,763,1,0)
        Sleep(1500)
        MouseClick("Left",971,440,1,0)
        Sleep(1500)
        MouseClick("Left",971,440,1,0)
        Sleep(1500)
        Mouseclick("left",430,650,1,0)
;       Sleep(28880000)

;plots

;r1
MouseMove(635,585,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r2
MouseMove(610,573.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)




$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r3
MouseMove(585,562,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r4
MouseMove(560,550.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r5
MouseMove(535,539,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r6
MouseMove(510,527.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r7
MouseMove(485,516,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r8
MouseMove(460,504.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r9-a
MouseMove(435,493,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<17
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r9-b
MouseMove($startingPos[0]+50,$startingPos[1]-23,1)
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<17
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r10
MouseMove(410,481.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r11
MouseMove(385,470,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r12
MouseMove(360,458.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r13
MouseMove(335,447,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r14
MouseMove(310,435.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r15
MouseMove(285,424,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r16
MouseMove(260,412.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

Sleep(28880000)

;Multi-tool
        MouseClick("Left",900,705,1,0)
        Sleep(1500)
        MouseClick("Left",900,636,1,0)
        Sleep(3000)

;plots

;r1
MouseMove(635,585,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r2
MouseMove(610,573.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r3
MouseMove(585,562,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r4
MouseMove(560,550.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r5
MouseMove(535,539,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r6
MouseMove(510,527.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r7
MouseMove(485,516,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r8
MouseMove(460,504.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r9-a
;MouseMove(435,493,1)
;$startingPos = MouseGetPos()
;Sleep(10)
;MouseClick("Left")
;Sleep(10)
;
;$i=0
;While $i<15
;$startingPos = MouseGetPos()
;MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
;Sleep(10)
;Mouseclick("Left")
;Sleep(10)
;
;$i = $i + 1

;WEnd

;r9-b
;MouseMove(660,389.5,1)
;$startingPos = MouseGetPos()
;Sleep(10)
;MouseClick("Left")
;Sleep(10)
;
;$i=0
;While $i<6
;$startingPos = MouseGetPos()
;MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
;Sleep(10)
;Mouseclick("Left")
;Sleep(10)
;
;$i = $i + 1
;
;WEnd

;r10
MouseMove(410,481.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r11
MouseMove(385,470,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r12
MouseMove(360,458.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r13
MouseMove(335,447,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r14
MouseMove(310,435.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r15
MouseMove(285,424,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

;r16
MouseMove(260,412.5,1)
$startingPos = MouseGetPos()
Sleep(10)
MouseClick("Left")
Sleep(10)

$i=0
While $i<15
$startingPos = MouseGetPos()
MouseMove($startingPos[0]+25,$startingPos[1]-11.5,1)
Sleep(10)
Mouseclick("Left")
Sleep(10)

$i = $i + 1

WEnd

SLeep(60000)
WEnd
EndFunc
Posted

hey everyone. I've read this whole thread and you guys have so many scripts/ideas :) I tried a few out but unfortunately I couldn't get any of them to work properly, however after looking intot he scripts I learnt a great deal of how things are done and started making my own script. It is a simple script that doesn't use a lot of pixel detection and all that. Just a simple script that plants/harvests/plows then loops. Even though I chose an area of the middle square where my character is where it doesn't click him I thought I'd try to completely get rid of that block from the script just for practice. Now I am left with a strange problem. When I run my script it does the first 8 rows fine then it gets to the 9th (i have a 16x16 farm so that is the row where my character is) and it clicks the blocks, but keeps on going, over the character and off into the distance beyond my plots :s. The next line works fine and it just goes on to the last line where it does the first two plots, then pauses then does the rest of the plots very slowly. I tried commenting out the 9th row altogether however when I run it it doesn't change. Here is the code for what I have made. I would appreciate it a lot if you guys could help me see why it is doing this (its been frustrating me for ages!)

My guess is that you have your grid offsets wrong. t Zoom=0.5 (fully zoomed out) the y-distance is 12, not 11.5. Your 23 where you probably mean 24 is my guess. You're slowly moving slightly higher in each row each iteration until by row 9 you're off by a row. That's my guess from reading the code, but I could be wrong as to the cause of your problem, though you still should fix those numbers.

Posted

My guess is that you have your grid offsets wrong. t Zoom=0.5 (fully zoomed out) the y-distance is 12, not 11.5. Your 23 where you probably mean 24 is my guess. You're slowly moving slightly higher in each row each iteration until by row 9 you're off by a row. That's my guess from reading the code, but I could be wrong as to the cause of your problem, though you still should fix those numbers.

Ah thanks for your reply. I am currently running fully zoomed out however it manages to click all the plots so I don't think that is the problem. Thing is i define the first column of coordinates and then use the script to add to the x and y so it would not be that. However thanks a lot for the correction I was wondering why it kept clicking the middle character in the middle, must have been because it was not staying on the same spot on the next plot. I will make a correction to the values.

My porblem is still a mystery :/ I will look into it further. It's so strange that it slows down so drastically on the 3rd plot of the last row and that it just keeps going in the middle row.

Posted (edited)

Hey guys been going over everyone's posts the last few days and have had no luck with injecting the files to get it to work.

Does anyone have a detailed guide on getting this working from using fiddler. I tried for a few hours without much luck. Thanks for anyones advice!

As I understand it, after using fiddler my plants should wither right away, which is all im looking for.

Edited by Xiaro
Posted

Is there anyone to have the script save it's settings so i dont have to re-train it everytime?

We're working on a way to persist the settings. Right now, there is a version that allows you to persist Zoom thanks to Matthias Georg but it's not compatable with custom zooms. Other than that, you could jot down the coordinates in the main display and save those to your trainer but the hashes (CRC)s would be wrong so getting the numbers manually once via [sHIFT]+[HOME] for each point and then opening the log and manually setting each one in the au3 script is all I can offer at the moment. But, persisting settings is high on the to do list.

Jeffrey.

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...