hockeyhound Posted November 6, 2009 Posted November 6, 2009 I replicated everything you did in the video and let my script run for a while using about 4 or 5 thousand coins and didn't get a single coin. =/That seems odd. Just by looking at probability, you should have gotten a coin in that many plows.Did you set your coin count to end in 3 or 8 before you started the script?Are you using the official xml setup file?
Sweeet Posted November 6, 2009 Posted November 6, 2009 That seems odd. Just by looking at probability, you should have gotten a coin in that many plows.Did you set your coin count to end in 3 or 8 before you started the script?Are you using the official xml setup file?Yeah. I actually just tested it again and still nothing. Idk. Pretty weird.
freshap Posted November 6, 2009 Posted November 6, 2009 Will anyone post the new modified swf file or can you explain how to modify it (plow size 1x1 without collision)? Not the gamesetting.xml. Thank you.
kliketa Posted November 6, 2009 Posted November 6, 2009 Here's the video I promised, demonstrating the Coin Fountain trick:Link to videoThe video begins with the script running - plowing, planting and deleting two plots of strawberries. At the start of the video, I have 91,198 coins, and 57,933 XP. With each plow-plant-delete cycle I lose 50 coins and gain 4 XP.After two cycles, about 13 seconds in, I hit a Coin Fountain. (This was actually about a minute after starting the script, but I cut off the beginning to cut down on file size.)When I hit the Coin Fountain, I had 57,941 XP and the Coin Fountain bonus took me up to 91,148 coins. After that, I get a Coin Fountain on every cycle, and each Coin Fountain bonus brings me back up to 91,148 coins (50 coins spent on plowing and planting, and a 50 coin bonus from the Coin Fountain.) However, even though my coin total continues to be reset, my XP keeps increasing by 4 with each cycle.I let it run for a while, and then stopped the script, but I could have let it go indefinitely. When I stop it, I have 91,148 coins, and 58,007 XP. To prove that the numbers are synched with the server, I log out of Farmville and then immediatly re-enter the game. The coin and XP numbers are just the way I left them - 91,148 coins, and 58,007 XP.So, since I hit the first Coin Fountain, I gained 66 XP and it didn't cost me any coins.BTW, this isn't really my farm. Just a dummy account I use to try stuff out.Hi, and thanks for great topic.I tried this coin trick and it WORKS! Now, what I find out is that if you have X coins and you plow on (Y,Z) coordinates you *always* get coin (if you know this, you will not have to look for coin, but only spend/earn some money until you get X and then plow on (Y,Z)). Now, it would be nice to set up universal coordinating system and to post our findings on how many coins did we have and where did we plow when we got the coin. Maybe this would be useful to find out how this is calculated and to make better exploit.P.S.I used swf file posted on this forum to make plows overlap but now server rejects this file (using fiddler). Can you post it again or tell me where to find it?Also, http://farmvillebot.net/ looks very nice, what do you think?
kliketa Posted November 6, 2009 Posted November 6, 2009 This is what I found so far! Any ideas how this works?
hockeyhound Posted November 6, 2009 Posted November 6, 2009 (edited) This is what I found so far! Any ideas how this works?Nice work!Are those the last 3 digits of your coin amount? So, for example, it could be 43222, and if you plow that square, you get a coin fountain?And I wonder if farm size affects it at all?If I had to guess, it looks like they're using some combination of the coin amount and the grid position to seed a random number generator, which eventually determines if a coin fountain should occur.What is hard to figure out is how the browser and server are communicating on this. Does the browser have complete freedom in determining when the coin fountain should happen, and the server just accepts it when it happens? Or does the server check the browser's messages coming back, and override it?If we would change the XML file so that the probability of a coin fountain was 100%, would the coin fountain happen on every plow, and if so, would the server accept it? Edited November 6, 2009 by hockeyhound
TimeHorse Posted November 6, 2009 Posted November 6, 2009 (edited) As a followup to hockeyhound discovery, yes, this is indeed correct. I think the best way to exploit it with a clicker is to buy and sell such that you have the equivalent of 3 or 8 modulo 10 coins, as in a number ending in either of those 2 digits. Then, plow a grid until you find a coin fountain. Next, train the clicker as follows: set Home (setting 2) to [southmost point of] the square where you discovered the magic spot, then set your seed to Wheat. Finally, set repeat mode to PPD (Plow, Plant, Delete) and the grid size to 1 row and 1 column and the repeat count astronomically and just rack up the Exp. Personally, I'm more interested in mastery at the moment and am trying out the network bot and am very jealous of people who figured out how to make plots 1x1 at the moment but my guess is no-one's ever going to explain how to do that or at least it would require a Flash decompiler / recompiler. So I'm trying out the network bot since network bots are much better than clickers, IMHO. I'm not stopping development, but I'm a little frustrated with AutoIt at the moment because the latest version of the Source is 3.1.0.0 and I have a feeling PixelChecksum is different now and that is the main problem with which I am struggling. As mentioned by me and others, sometimes PixelChecksum returns 0x80000000 but doesn't set any @error, which is clearly not right. But the 3.1.0.0 version casts its result to double, which is a 64-bit floating-point type and NOT a 32-bit long as is returned by PixelChecksum. In fact, the PixelChecksum seems to be using the Adler algorithm and that calculates an integer value, making the cast to double even stranger. If I can think of a better way of realizing when a crop page is turned, my plan is to allow you in the U.I. to select a crop and have it scroll to it for you. I also added the ability to customize the key bindings but that was mainly for me because my Virtual Box Windows running on a Macbook Pro doesn't seem to have an insert key, so I set up a way that I can have up to 2 bindings for every key: the current bindings, and for instance, {CTRL}+{HOME} now also does plowing, and {SHIFT}+{CTRL}+{HOME} replowing, {CTRL}+{END} is the ever critical Pause function and {CTRL}+{PGUP} is the repeater. As I doubt anyone has any need of this functionality besides me, I'm not posting that update at this time unless requested. Anyway, happy farming and thanks all for the advice and kudos! Edited November 20, 2009 by TimeHorse
kliketa Posted November 6, 2009 Posted November 6, 2009 Nice work!Are those the last 3 digits of your coin amount? So, for example, it could be 43222, and if you plow that square, you get a coin fountain?And I wonder if farm size affects it at all?If I had to guess, it looks like they're using some combination of the coin amount and the grid position to seed a random number generator, which eventually determines if a coin fountain should occur.What is hard to figure out is how the browser and server are communicating on this. Does the browser have complete freedom in determining when the coin fountain should happen, and the server just accepts it when it happens? Or does the server check the browser's messages coming back, and override it?If we would change the XML file so that the probability of a coin fountain was 100%, would the coin fountain happen on every plow, and if so, would the server accept it?I am not sure if I understand you correctly, but 222 and 104207 are *exact* amount of coins that you must have in order this to work and if you do so, you will *always* (not randomly) get coin fountain!I think that:- there is a function with 2 arguments (plot coordinates and amount of coins) that decides whether you have a coin fountain- with same coordinates you can have infinite coin fountains with different number of coins or it would not make sense (I tried number that ended with 222 and it did not work, so this is not the trick)- server gets only this two from the client and then it calculates real number of coin fountains (if you change xml to 100% it will be only client side)Can someone try this and report if it was a success?
MoneyMaker79 Posted November 6, 2009 Posted November 6, 2009 Can anybody help me? I am new to this forum and using AutoIT. I would like the top of the line farmville script, maybe one that goes overnight? I have tried to run scripts, and it opens up a popup asking me to sign into facebook. I do this, and farmville doesnt load, and it says to download latest flash player, which I already have.
TimeHorse Posted November 6, 2009 Posted November 6, 2009 Nice work!Nice work to you too, HockeyHound! You are the one that confirmed it and brought it to our attention in the first place!If I had to guess, it looks like they're using some combination of the coin amount and the grid position to seed a random number generator, which eventually determines if a coin fountain should occur.What is hard to figure out is how the browser and server are communicating on this. Does the browser have complete freedom in determining when the coin fountain should happen, and the server just accepts it when it happens? Or does the server check the browser's messages coming back, and override it?If we would change the XML file so that the probability of a coin fountain was 100%, would the coin fountain happen on every plow, and if so, would the server accept it?No, setting the probability from 0.01 to 1.00 does NOT give you a coin on every square. You see a coin pop on every plowed square, but when you refresh the game all your winnings save the ones you would have earned in coin fountains is gone. But, this would also explain how the server verifies it. They don't have to generate the same random number using local seeds, they do it using shared data and that shared data is things that are part of the local state.As of now, we know the following: the coin fountain function has parameters that include: your coin count, the offset on your farm where clicked (x, y) and the variable in the XML that is shared but not transmitted to the server, "coinFountainProbability". The "coinFountainYield" is how much you get and is a local value so changing it has no net effect either. This is "50", which is indeed what you get for the coin fountain, but paradoxically, the game prints "+100 coins" above your head when the coin fountain appears, which is why I was confused before.What we don't know is if Farm Size matters, or plot alignment for that matter: if you plow with no gap from top left, 1 gap from top, 2 gaps from top, 3 from left, etc., does that make a difference. What about a 1x1 plot, can you get the coin fountain from those plot sizes and if so, on which positions.I agree the problem is interesting from an academic point of view and I'll contribute what I can to the investigation, but as far as play, as I said, I'll stick to mastery.I did, BTW, once post a picture of my receiving tonnes of coin fountains -- one for each plot -- on my Facebook page at some point. It looks pretty neat.
Sweeet Posted November 7, 2009 Posted November 7, 2009 Personally, I'm more interested in mastery at the moment and am trying out the network bot and am very jealous of people who figured out how to make plots 1x1 at the moment but my guess is no-one's ever going to explain how to do that or at least it would require a Flash decompiler / recompiler. So I'm trying out the network bot since network bots are much better than clickers, IMHO.Pretty lame, isn't it? You've taken the time to help out other people with your script, and they can't even return the favor. =/ Oh well. I've been trying to figure this out for a few days now. If I figure anything out, I'll fill you in.
TomMelee Posted November 7, 2009 Posted November 7, 2009 (edited) I can report that I am using the farmvillebot bot and its...uhh...pretty awesome. Right now with an 18x18 farm, I set it to do raspberries automatically (12 harvests a day! Ok, theoretically, probably more like 11 with the way the timings work out), 26 gold per square per harvest. So...per day right now I'm getting right around 85,000 gold and ~3500xp a day, not counting the animals and trees around the perimeter where plots won't fit. There really is no reason to run anything else than raspberries assuming that you are letting them ripen and harvest normally, nothing else can touch the xp and coin per slot, per day. edit: If I get a chance this weekend, I plan to run fiddler through the farmvillebot program, BECAUSE the bot sends completions instead of clicks, so it plants/plows/harvests the entire farm all at once, my 18x18 takes maybe 1 minute total. Setting it to instant ripen/wither could see some INSANE xp gains, assuming you had the gold to back it up. edit 2: the only reason I don't have a bigger farm is because I don't have enough friends and I spent all my fv cash buying the 18x18. (Cash, not coins. I have plenty of coins.) Edited November 7, 2009 by TomMelee
Sweeet Posted November 7, 2009 Posted November 7, 2009 I can report that I am using the farmvillebot bot and its...uhh...pretty awesome. Right now with an 18x18 farm, I set it to do raspberries automatically (12 harvests a day! Ok, theoretically, probably more like 11 with the way the timings work out), 26 gold per square per harvest. So...per day right now I'm getting right around 85,000 gold and ~3500xp a day, not counting the animals and trees around the perimeter where plots won't fit.There really is no reason to run anything else than raspberries assuming that you are letting them ripen and harvest normally, nothing else can touch the xp and coin per slot, per day.edit:If I get a chance this weekend, I plan to run fiddler through the farmvillebot program, BECAUSE the bot sends completions instead of clicks, so it plants/plows/harvests the entire farm all at once, my 18x18 takes maybe 1 minute total. Setting it to instant ripen/wither could see some INSANE xp gains, assuming you had the gold to back it up.edit 2:the only reason I don't have a bigger farm is because I don't have enough friends and I spent all my fv cash buying the 18x18. (Cash, not coins. I have plenty of coins.)Actually, Blackberries are the best, not raspberries.Raspberries: 2hrs 1xp plow 0xp plant 11 coin netBlackberries: 4hrs 1xp plow 1xp plant 27 coin netOver the four hour span, you're going to make the same amount of xp, but you'll gain 5 more coins per plot with blackberries than raspberries.
hockeyhound Posted November 7, 2009 Posted November 7, 2009 Wrote a little program to download the gameSettings.xml file, and automatically make changes to it. Anyone is welcome to it if they want it.Looks like this:After you get it set up, all you have to do is enter the latest version number in the first text box, and then click on download, and it will download the file and make your changes to it.Input fields:Version Number: Gotten by the hover-over trick on the Farmville help page.Zynga Path: Already preset, but available to be changed if it ever changes. The embedded '{0}' is the placeholder for the Version Number.Destination Filename: Already preset to 'gameSettings.xml', but you can make it anything you want.Destination Directory: Location where the downloaded file will be saved. You can either type it in, or just drag and drop a directory from windows explorer.Replacements: String replacements that will occur before the downloaded file is saved. Each line in this field is a single replacement, and is broken down into three comma-delimited fields: Search After, Search For, and Replace With.Search After: A string that tells the replacement engine where to begin searching in the file. This allows you to locate specific strings that may occur more than once in the file, such as '<growtime>'. So, if you want to change the growtime for soybeans, you would set 'itemname="soybeans"' as your Search After, so the growtime for the soybean will be the one replaced.Search For: This is the string that will be replaced.Replace With: This is the string that will replace the 'Search For' string.The search and replaces will occur in the order that they appear in the list.You can enter replacements manually, or drag and drop a text file containing the replacements onto the field.All entered values will remain as defaults for the next time you run the program.If you have Fiddler running during the download, and it's autoresponding to gameSettings.xml, then it's not going to download from Zynga, but your own directory, which isn't what you want. So you probably want to shut down Fiddler while you're running this.The program is written in C#, and I've include both a link to the exe and the source code, for anyone who wants to change it. If you do change it, I'd be interested in seeing what you do.For the replacements, I originally wanted to use XSL instead of straight string replacements, but it gets very convoluted. So I decided to go with the simpler string replacements.Link to the executable (.NET Framework 3.5 required) (This is the executable, not an installation file)Link to the source code
Sweeet Posted November 7, 2009 Posted November 7, 2009 Wrote a little program to download the gameSettings.xml file, and automatically make changes to it. Anyone is welcome to it if they want it.Looks like this:After you get it set up, all you have to do is enter the latest version number in the first text box, and then click on download, and it will download the file and make your changes to it.Input fields:Version Number: Gotten by the hover-over trick on the Farmville help page.Zynga Path: Already preset, but available to be changed if it ever changes. The embedded '{0}' is the placeholder for the Version Number.Destination Filename: Already preset to 'gameSettings.xml', but you can make it anything you want.Destination Directory: Location where the downloaded file will be saved. You can either type it in, or just drag and drop a directory from windows explorer.Replacements: String replacements that will occur before the downloaded file is saved. Each line in this field is a single replacement, and is broken down into three comma-delimited fields: Search After, Search For, and Replace With.Search After: A string that tells the replacement engine where to begin searching in the file. This allows you to locate specific strings that may occur more than once in the file, such as '<growtime>'. So, if you want to change the growtime for soybeans, you would set 'itemname="soybeans"' as your Search After, so the growtime for the soybean will be the one replaced.Search For: This is the string that will be replaced.Replace With: This is the string that will replace the 'Search For' string.The search and replaces will occur in the order that they appear in the list.You can enter replacements manually, or drag and drop a text file containing the replacements onto the field.All entered values will remain as defaults for the next time you run the program.If you have Fiddler running during the download, and it's autoresponding to gameSettings.xml, then it's not going to download from Zynga, but your own directory, which isn't what you want. So you probably want to shut down Fiddler while you're running this.The program is written in C#, and I've include both a link to the exe and the source code, for anyone who wants to change it. If you do change it, I'd be interested in seeing what you do.For the replacements, I originally wanted to use XSL instead of straight string replacements, but it gets very convoluted. So I decided to go with the simpler string replacements.Link to the executable (.NET Framework 3.5 required) (This is the executable, not an installation file)Link to the source codeThis is seriously sweeet. Farmville just updated to 7077 and I used it. Everything seemed to work as planned. Nice job!
TimeHorse Posted November 7, 2009 Posted November 7, 2009 Wrote a little program to download the gameSettings.xml file, and automatically make changes to it. Anyone is welcome to it if they want it.Nice work, HH!
TimeHorse Posted November 7, 2009 Posted November 7, 2009 Pretty lame, isn't it? You've taken the time to help out other people with your script, and they can't even return the favor. =/ Oh well. I've been trying to figure this out for a few days now. If I figure anything out, I'll fill you in.Thanks for the compliment Sweet. Me, I don't want to insult anyone. Some people have the time to answer questions and some people don't. It's probably pretty complicated, the 1x1 technique, and although I am quite handy around the software possibilities I can understand if people think I can't handle the truth. Also, as others have asked for an explanation of how to accomplish this amazing feat, I feel that me saying "me too" is just pedantic. If those in the know wished to share, they'd have done so already. I don't mind if they've not let the information flow. Like HH here, I like to keep everything out in the opened and help others, but nothing either of us has done is nearly as fancy or tricky as intercepting network packets or hacking a flash swf file. So, peace folks. And after all, this is an AutoIt forum, not an XML, Flash, Python or C# BB so I can understand if people don't want to get into the details of these things in this forum. We know what we know and what we don't will come all in good time. And if I can figure it out, I'll surely share! But, just to put one final point on all this: Without 1x1 it's going to take me until 9 July 2010 to master all crops; with 1x1, and assuming something as fast as the network tool can be made to handle it and even with nothing more than my current plot squares (20x20 can yield a total of 6,724 1x1 plots! but I'll assume I don't use the margin, keeping my trees, elephants, cats and balloon) would be 22 November 2009! As in a few weeks!! Yeah, it bothers the heck out of me that I am going to be massaging the network tool for the next 9 months to master everything when I could do it in a matter of weeks, theoretically. Even in the worst case I can easily tweak my clicker to handle 1x1 if the closed source network tool can't. Especially because the network tool needs a lot of memory, needs a constant connection and my desktops are too slow for it and I don't 100% trust it even though it passes virus endpoint protection so I like to run it in a Virtual Box on my MacBook Pro which is still faster than any of my desktops.Oh, well.
TimeHorse Posted November 7, 2009 Posted November 7, 2009 (edited) I got some more information on the 1x1 plot trick thanks to the FarmVilleBot forum and it turns out that yes, hacking the XML can get you small plot squares but the problem is turning off collision detection so that you can plant crops adjacent to the 1x1 crops otherwise you're stuck with 1 crop square and 15 squares of unusable grass -- though not strictly unusable, I suppose you could put trees, animals or decorations there, though that might trigger a resync. The trick is actually simple and I've attached my current patch file to make it simple. The idea is, every object has an item XML entry, including plowed and fallow areas. So, you just change the size of the plowed, fallow, and ALL seeds from: <sizeX>4</sizeX> <sizeY>4</sizeY> to: <sizeX>1</sizeX> <sizeY>1</sizeY> Diff against version 8506 of the gameSettings.xml expandcollapse popup--- gameSettings.xml 2009-11-20 07:18:58.000000000 -0500 +++ gameSettingsMod.xml 2009-11-21 08:57:05.000000000 -0500 @@ -75,25 +75,25 @@ <farming farmSize="50" - minZoom="0.5" - maxZoom="2" - defaultZoom="2.00" - zoomStep="0.5" + minZoom="0.33" + maxZoom="2.31" + defaultZoom="0.33" + zoomStep="0.165" inGameDaySeconds="82800" - harvestTime="1" + harvestTime="0.00000001" harvestEnergy="6" foodPerHarvest="4" - plowTime="1" + plowTime="0.00000001" plowCost="15" plowXp="1" - plantTime="1" + plantTime="0.00000001" avatarScale="0.5" - walkSpeed="120" + walkSpeed="0.0000000120" maxEnergy="20" maxFood="20" @@ -141,7 +141,7 @@ energyRegenerationSeconds="150.0" energyRegenerationAmount="1" - idleMissionTime = "600" + idleMissionTime = "6000000000" raffleLowLevel="5" raffleLowMoney="100" @@ -156,10 +156,10 @@ missionPerUserTimeLimit="86400" fertilizerPerUserTimeLimit="86400" giftingPerUserTimeLimit="14400" - giftingRedirectFromPlayTimeout="14400" - fanRedirectFromPlayTimeout="14400" - hideGiftNotifyTimeout="14400" - inviteRedirectFromPlayTimeout="3600" + giftingRedirectFromPlayTimeout="144000000000" + fanRedirectFromPlayTimeout="144000000000" + hideGiftNotifyTimeout="0.000000014400" + inviteRedirectFromPlayTimeout="36000000000" maxGiftLimit="30" maxNeighbors="300" @@ -203,7 +203,7 @@ eggFriendRewardTimeLimit="86400" eggFriendRewardHelperLimit="5" - flowerFriendRewardTimeLimit="43200" + flowerFriendRewardTimeLimit="432000000000" fertilizeThankYouFriendRewardTimeLimit="43200" fertilizeThankYouFriendRewardHelperLimit="10" @@ -245,7 +245,7 @@ fertilizeMissionFertilizeBonus="5" fertilizeMaxGrowPercentage="99" fertilizeFertCost="1" - fertilizeTime="1" + fertilizeTime="0.00000001" fertilizeMaxFriendsToTrack="5" genericAdLevel="7" @@ -676,13 +676,13 @@ <!-- Plots --> <item name="fallow" type="plot" code="fa" > <requiredLevel>0</requiredLevel> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> </item> <item name="plowed" type="plot" code="pl"> <requiredLevel>0</requiredLevel> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> </item> <item name="sweetpotato" type="seed" subtype="vegetable" buyable="true" license="-1" expires="false" gift="flagsweetseeds" code="SP"> @@ -691,8 +691,8 @@ <growTime>1</growTime> <plantXp>3</plantXp> <coinYield>125</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <unlockCost>25</unlockCost> <image name="seeds" url="assets/crops/crop_sweetpotato.swf" loadClass="1" /> <image name="growing1" url="assets/crops/crop_sweetpotato.swf" loadClass="1" /> @@ -710,8 +710,8 @@ <growTime>0.261</growTime> <plantXp>3</plantXp> <coinYield>125</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <unlockCost>25</unlockCost> <image name="seeds" url="assets/crops/crop_cornred.swf" loadClass="1" /> <image name="growing1" url="assets/crops/crop_cornred.swf" loadClass="1" /> @@ -727,8 +727,8 @@ <growTime>0.174</growTime> <plantXp>1</plantXp> <coinYield>35</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="500" xp="25" coins="500" /> <masteryLevel count="1500" xp="75" coins="1500" /> @@ -749,8 +749,8 @@ <growTime>0.087</growTime> <plantXp>1</plantXp> <coinYield>100</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="1200" xp="25" coins="500" /> <masteryLevel count="3600" xp="75" coins="1500" /> @@ -771,8 +771,8 @@ <growTime>2</growTime> <plantXp>2</plantXp> <coinYield>88</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="175" xp="25" coins="500" /> <masteryLevel count="310" xp="75" coins="1500" /> @@ -793,8 +793,8 @@ <growTime>3</growTime> <plantXp>2</plantXp> <coinYield>115</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="200" xp="25" coins="500" /> <masteryLevel count="300" xp="75" coins="1500" /> @@ -815,8 +815,8 @@ <growTime>1</growTime> <plantXp>2</plantXp> <coinYield>63</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="150" xp="25" coins="500" /> <masteryLevel count="450" xp="75" coins="1500" /> @@ -837,8 +837,8 @@ <growTime>2</growTime> <plantXp>2</plantXp> <coinYield>121</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="200" xp="25" coins="500" /> <masteryLevel count="350" xp="75" coins="1500" /> @@ -859,8 +859,8 @@ <growTime>0.348</growTime> <plantXp>1</plantXp> <coinYield>68</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="500" xp="25" coins="500" /> <masteryLevel count="1500" xp="75" coins="1500" /> @@ -881,8 +881,8 @@ <growTime>4</growTime> <plantXp>2</plantXp> <coinYield>204</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="200" xp="25" coins="500" /> <masteryLevel count="250" xp="75" coins="1500" /> @@ -903,8 +903,8 @@ <growTime>0.522</growTime> <plantXp>1</plantXp> <coinYield>96</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="400" xp="25" coins="500" /> <masteryLevel count="800" xp="75" coins="1500" /> @@ -925,8 +925,8 @@ <growTime>0.087</growTime> <plantXp>0</plantXp> <coinYield>46</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="2000" xp="25" coins="500" /> <masteryLevel count="6000" xp="75" coins="1500" /> @@ -947,8 +947,8 @@ <growTime>2</growTime> <plantXp>2</plantXp> <coinYield>135</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <harvestItem>daffodils_deco</harvestItem> <harvestItemChance>.1</harvestItemChance> <masteryYield>1</masteryYield> @@ -971,8 +971,8 @@ <growTime>3</growTime> <plantXp>2</plantXp> <coinYield>207</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="300" xp="25" coins="500" /> <masteryLevel count="450" xp="75" coins="1500" /> @@ -993,8 +993,8 @@ <growTime>0.417</growTime> <plantXp>1</plantXp> <coinYield>98</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="450" xp="25" coins="500" /> <masteryLevel count="1100" xp="75" coins="1500" /> @@ -1015,8 +1015,8 @@ <growTime>2</growTime> <plantXp>2</plantXp> <coinYield>198</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="350" xp="25" coins="500" /> <masteryLevel count="620" xp="75" coins="1500" /> @@ -1037,8 +1037,8 @@ <growTime>1</growTime> <plantXp>2</plantXp> <coinYield>162</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="425" xp="25" coins="500" /> <masteryLevel count="1275" xp="75" coins="1500" /> @@ -1059,8 +1059,8 @@ <growTime>0.261</growTime> <plantXp>1</plantXp> <coinYield>85</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="1000" xp="25" coins="500" /> <masteryLevel count="3000" xp="75" coins="1500" /> @@ -1081,8 +1081,8 @@ <growTime>2</growTime> <plantXp>2</plantXp> <coinYield>242</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="425" xp="25" coins="500" /> <masteryLevel count="750" xp="75" coins="1500" /> @@ -1103,8 +1103,8 @@ <growTime>1</growTime> <plantXp>2</plantXp> <coinYield>159</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <harvestItem>tulipred_deco</harvestItem> <harvestItemChance>.05</harvestItemChance> <masteryYield>1</masteryYield> @@ -1127,8 +1127,8 @@ <growTime>0.696</growTime> <plantXp>1</plantXp> <coinYield>160</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="500" xp="25" coins="500" /> <masteryLevel count="1500" xp="75" coins="1500" /> @@ -1149,8 +1149,8 @@ <growTime>0.174</growTime> <plantXp>1</plantXp> <coinYield>91</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="1600" xp="25" coins="500" /> <masteryLevel count="4800" xp="75" coins="1500" /> @@ -1171,8 +1171,8 @@ <growTime>4</growTime> <plantXp>2</plantXp> <coinYield>348</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="410" xp="25" coins="500" /> <masteryLevel count="510" xp="75" coins="1500" /> @@ -1193,8 +1193,8 @@ <growTime>1</growTime> <plantXp>2</plantXp> <coinYield>270</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="425" xp="25" coins="500" /> <masteryLevel count="1275" xp="75" coins="1500" /> @@ -1215,8 +1215,8 @@ <growTime>0.348</growTime> <plantXp>1</plantXp> <coinYield>173</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="850" xp="25" coins="500" /> <masteryLevel count="2550" xp="75" coins="1500" /> @@ -1237,8 +1237,8 @@ <growTime>2</growTime> <plantXp>2</plantXp> <coinYield>254</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <harvestItem>rosepink_deco</harvestItem> <harvestItemChance>.1</harvestItemChance> <masteryYield>1</masteryYield> @@ -1261,8 +1261,8 @@ <growTime>3</growTime> <plantXp>2</plantXp> <coinYield>345</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="425" xp="25" coins="500" /> <masteryLevel count="640" xp="75" coins="1500" /> @@ -1283,8 +1283,8 @@ <growTime>0.522</growTime> <plantXp>1</plantXp> <coinYield>200</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="1000" xp="25" coins="500" /> <masteryLevel count="2000" xp="75" coins="1500" /> @@ -1305,8 +1305,8 @@ <growTime>0.696</growTime> <plantXp>1</plantXp> <coinYield>243</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="500" xp="25" coins="500" /> <masteryLevel count="1500" xp="75" coins="1500" /> @@ -1327,8 +1327,8 @@ <growTime>3</growTime> <plantXp>2</plantXp> <coinYield>380</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="425" xp="25" coins="500" /> <masteryLevel count="640" xp="75" coins="1500" /> @@ -1349,8 +1349,8 @@ <growTime>1</growTime> <plantXp>2</plantXp> <coinYield>315</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <harvestItem>sunflowers_deco</harvestItem> <harvestItemChance>.05</harvestItemChance> <masteryYield>1</masteryYield> @@ -1373,8 +1373,8 @@ <growTime>0.261</growTime> <plantXp>1</plantXp> <coinYield>136</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="1200" xp="25" coins="500" /> <masteryLevel count="3600" xp="75" coins="1500" /> @@ -1395,8 +1395,8 @@ <growTime>2</growTime> <plantXp>2</plantXp> <coinYield>388</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="500" xp="25" coins="500" /> <masteryLevel count="875" xp="75" coins="1500" /> @@ -1417,8 +1417,8 @@ <growTime>0.417</growTime> <plantXp>1</plantXp> <coinYield>191</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="1400" xp="25" coins="500" /> <masteryLevel count="2800" xp="75" coins="1500" /> @@ -1439,8 +1439,8 @@ <growTime>0.174</growTime> <plantXp>1</plantXp> <coinYield>117</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="2500" xp="25" coins="500" /> <masteryLevel count="7500" xp="75" coins="1500" /> @@ -1461,8 +1461,8 @@ <growTime>3</growTime> <plantXp>2</plantXp> <coinYield>449</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="410" xp="25" coins="500" /> <masteryLevel count="610" xp="75" coins="1500" /> @@ -1483,8 +1483,8 @@ <growTime>2</growTime> <plantXp>2</plantXp> <coinYield>384</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <harvestItem>lavender_deco</harvestItem> <harvestItemChance>.1</harvestItemChance> <masteryYield>1</masteryYield> @@ -1507,8 +1507,8 @@ <growTime>0.348</growTime> <plantXp>1</plantXp> <coinYield>239</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="1300" xp="25" coins="500" /> <masteryLevel count="2600" xp="75" coins="1500" /> @@ -1529,8 +1529,8 @@ <growTime>1</growTime> <plantXp>3</plantXp> <coinYield>381</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="600" xp="25" coins="500" /> <masteryLevel count="1800" xp="75" coins="1500" /> @@ -1551,8 +1551,8 @@ <growTime>4</growTime> <plantXp>2</plantXp> <coinYield>528</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="425" xp="25" coins="500" /> <masteryLevel count="540" xp="75" coins="1500" /> @@ -1573,8 +1573,8 @@ <growTime>0.522</growTime> <plantXp>1</plantXp> <coinYield>275</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="825" xp="25" coins="500" /> <masteryLevel count="1650" xp="75" coins="1500" /> @@ -1595,8 +1595,8 @@ <growTime>2</growTime> <plantXp>2</plantXp> <coinYield>473</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="425" xp="25" coins="500" /> <masteryLevel count="750" xp="75" coins="1500" /> @@ -1617,8 +1617,8 @@ <growTime>1</growTime> <plantXp>2</plantXp> <coinYield>369</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <harvestItem>lily_deco</harvestItem> <harvestItemChance>.05</harvestItemChance> <masteryYield>1</masteryYield> @@ -1641,8 +1641,8 @@ <growTime>0.417</growTime> <plantXp>1</plantXp> <coinYield>258</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="1500" xp="25" coins="500" /> <masteryLevel count="3000" xp="75" coins="1500" /> @@ -1663,8 +1663,8 @@ <growTime>0.696</growTime> <plantXp>2</plantXp> <coinYield>357</coinYield> - <sizeX>4</sizeX> - <sizeY>4</sizeY> + <sizeX>1</sizeX> + <sizeY>1</sizeY> <masteryYield>1</masteryYield> <masteryLevel count="825" xp="25" coins="500" /> <masteryLevel count="1650" xp="75" coins="1500" /> And then all your crops will appear 1x1. Appear, though, not much more than that, initially. However, whenever an animal wanders onto one of the squares into which a plot would have extended or you try and place something within the 15 squares no longer occupied by the plot, you trigger a sync. This would seem to prevent the kind of modifications we've heard about here, or so it would have seemed... EDIT: It seems the big secret is how to manipulate the plow tool. If that could be done, Bob's your uncle. The good news is, in theory, any old, hacked version of the game.swf should be able to override the plow tool no matter the version; set up your 1x1 farm with the tool, then revert to the official game's swf and I think your layout should remain and in theory the farmvillebot should even handle the extra load. In theory... In fact, there is no need to edit the plow tool, and the one exception to the rule I stated above for server-side collision detection does NOT hold when placing new crops into areas that are 4x4 clear. That is to say, if you have gone from 4x4 to 1x1, you have 15 free squares, but every 4 squares in either direction is another plot. So you don't have a place where you can place the new plot, which the plow tool requires to be 4x4. The trick is to delete your entire farm and start again, this time carefully placing your plots in a specific northward order so that they don't ever collide when plowing. Well, this is my observation so far but I have to preface this with a note: So far, I have been able to manipulate my crops to add over 1,000 more squares in my 22x22 (2 plot squares are reserved on my farm for elephants and a balloon). This is by placing plots closer to the top margin of the game. When you try to plow, the crop goes -- despite the XML stating 1x1 -- to a 4x4 fallow field then a 4x4 plowed field. This will still cause collisions, but remember, we adjusted the sizes for seeds too, and as soon as you plant a seed, the plot goes to 1x1! Now, I am currently growing some 1x1 crops which would normally collide with the network bot and I'm waiting to see if, when it comes time to harvest, we find the tool is able to properly harvest, plow and plant the square or if by harvesting and going to a 4x4 fallow we trigger a sync. Edit: I let the network tool try and RPP one of the boxed in mini squares and it went through without a hitch! So, I'd say things are indeed running rather swimmingly! However, if I am successfully able to reap a 1x1 crop, replow it and plant something new in this dense packing, here is what we need to do to max out our crops! Edit: Updated the directions for the 22x22 farm. Technique for a 87x87 farm The ides is simply to delete every plot but the southern-most (lowest on your screen) plot on your farm. Hopefully, you have a plot at the very southern tip. If not, and you wish to do so, make sure you leave at least one item (decoration, animal, tree, crop, etc.) on your farm before you plow that corner, otherwise you will trigger a sync.Next, your going to build up in a horizontal pattern from that southernmost point. Let's assume arbitrary coordinates -- which is likely the ones the game is using, such that movement up and to the left is called movement in x and up and to the right is movement in y. We'll call that southernmost point (0, 0): the coordinates (x, y).Taking your first plot, and make sure it's seeded -- if not, place a seed in it. It should now become 1x1.You now need to save your game; you can do this by visiting one of your neighbouring farms. Do this, and then, once loaded, click the house to go back to your farm. You farm has been saved and you can now set the next plow area.Plow at location (1, 0), plow again, and seed and then visit your neighbour's farm once more.Now, at location (0, 1), plow, seed and again visit the neighbour.Repeat with locations (2, 0), (1, 1) and (0, 2). Note, the order you click these does not matter, just that you click this horizontal row before the next one.Continue with coordinates who sum to 3, 4, 5, etc.Now, here's where your margins come into play. Where as before, you were forced to have a 2-square margin to your farm's x and y axis, now you must have 3. This is because, even though we can grow in 1x1 areas, we still have to plow in 4x4 and as such, we can't fit our tool in that last 3 wide or 3 long space so it remains both unplowed and unusable by anything else due to the server-side collision detection. This means if you have any tree, animal, decoration or building on your margin, you need to leave an additional 3 grass square margin between it and your crop. Seems wasteful, but you're still getting 3 more plots that you used to for the edge squares and the same amount as normal in the north-most corner.If you use this technique on an otherwise empty farm (see note above, though, about truly empty farms), you can reach the horizontal beginning (86, 0) before you have to start pulling in your numbers. The horizontal of coordinates which sum to 87 actually begins with (86, 1).At (86, 86), place your last plot, plant it and smile! You've just turned your farm into a 7,569 crop farm! Congratulations!One final note, I've heard tell of an item limit imposed by the game. So, your milage may vary and it may not in fact to be possible to achieve the full 7,569 crops. If someone has a chance to test, please post your results.Obligatory AutoIt Content Clicking over six thousand squares is tedious and although my clicker does verticals, it does not yet do horizontals as necessitated by this technique. I will consider changing it to support this in the near future if further tests prove fruitful. And there you have it! Hope this works and I hope this helps everyone! Happy farming and again, let's hope Zygna doesn't catch on, eh? If anyone doesn't understand my explanation of how to change the gameSettings.xml file for the 1x1 plots, just post a question and I'll try to answer it. Edited November 21, 2009 by TimeHorse
TimeHorse Posted November 7, 2009 Posted November 7, 2009 The info on the 1x1 crop size also is a hint toward the coin fountain and why you need to click the southmost corner of the home plot to set home in my script: plots are at the specific position on the, in my case 82x82 map and then bleed over 4 in the x and 4 in the y. So, when calculating your coin fountain function, you need to know: coin value, and the x-y coordinates of the southernmost square of the plot. If you watch the network bot, it uses coordinates that seem to orient the southernmost corner of the screen as 0, 0, and thus all coordinates emanate from that point though I always get confused if it's x to the left, y to the right or x to the right, y to the left. I suppose some hacking or even existing item comparison that could answer that question.
twister06 Posted November 8, 2009 Posted November 8, 2009 I've set up an autoresponder in Fiddler2, but whenever I load the game it freezes at about 50% in the loading screen. What's up? Do I need the .swf file as well?
Recommended Posts