What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

36 Days of Pokefarmer Data

j0sh77

New Member
Joined
Jan 12, 2017
Messages
12
Hello! I posted some data a while ago, but I started a new account and this is what I've got after 36 days of botting. Most of the time was spent in the San Francisco area, but a few days in Michigan as well. I bot about 10 hours a day with a 7km/hr walking speed. I'm currently level 32. If you have any ideas for other metrics I could try to get from the logs, let me know!

Some summary data
[table="width: 500, class: grid"]
[tr]
[td]Total Caught[/td]
[td]12,782[/td]
[/tr]
[tr]
[td]Unique Caught[/td]
[td]146[/td]
[/tr]
[tr]
[td]Most Common Poke[/td]
[td]Psyduck (1,298)[/td]
[/tr]
[tr]
[td]Total Hatched[/td]
[td]186[/td]
[/tr]
[tr]
[td]Unique Hatched[/td]
[td]60[/td]
[/tr]
[tr]
[td]Most Common Egg[/td]
[td]Nidoran (10)[/td]
[/tr]
[tr]
[td]Total Loots[/td]
[td]10,795[/td]
[/tr]
[tr]
[td]Total Items[/td]
[td]36,060[/td]
[/tr]
[tr]
[td]Most Common Item[/td]
[td]Pokeball (17,656)[/td]
[/tr]
[tr]
[td]Least Common Item[/td]
[td]Sun Stone (3)[/td]
[/tr]
[/table]


Here's the spreadsheet

Source code:
Code:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.LinkedHashMap;

public class Counter {

	public static void main(String[] args) throws IOException {

		//SETTINGS
		//this is where your logs are located. use full path. 
		String logLocation = "C:/.../PokeFarmer/Logs";
		//lines are everything preceding the pokemon's name
		//phrases are the phrases used to tell us what was done. in english, catch is "Caught" and hatch is "hatched from egg"
		String catchPokemonLine = "INFO <b><font color=\"#0094FF\">[00:22:41]</font></b> Caught <b><font color=\"#0094FF\">";
		String catchPokemonPhrase = "Caught";
		String hatchPokemonLine = "INFO <b><font color=\"#0094FF\">[13:38:09]</font></b> Pokemon <font color=\"#FFB200\"><b>";
		String hatchPokemonPhrase = "hatched from egg";
		String lootLine = "INFO <b><font color=\"#0094FF\">[04:57:00]</font></b> Looting <font color=\"#0094FF\"><b>";
		String lootPhrase = "Looting";
		String receiveLine = "INFO <b><font color=\"#0094FF\">[04:57:01]</font></b> Received item <font color=\"#0094FF\"><b>1</b>x <b>";
		String receivePhrase = "Received item <font ";
		//use this if you want to specify a date. leave blank if you don't. format the same as a log file (ex. 2017-01-11)
		String date = "";
		

		LinkedHashMap<String, Integer> caught = new LinkedHashMap<String, Integer>();
		LinkedHashMap<String, Integer> hatched = new LinkedHashMap<String, Integer>();
		LinkedHashMap<String, Integer> received = new LinkedHashMap<String, Integer>();
		int lootCount = 0;
		File f = new File(logLocation);

		File[] files = f.listFiles();
		for (File file : files) {
			//filter directories and non .txt
			if(file.isDirectory() || !file.getCanonicalPath().contains(".txt")) continue;
			if(!date.isEmpty() && !file.getName().contains(date)) continue;

			try(BufferedReader br = new BufferedReader(new FileReader(file))) {
				for(String line; (line = br.readLine()) != null; ) {
					//caught
					if(line.toLowerCase().contains(catchPokemonPhrase.toLowerCase())){
						String pokemon = line.substring(catchPokemonLine.length(), line.indexOf(" CP("));
						addValue(caught, pokemon);
					}

					//hatched
					if(line.toLowerCase().contains(hatchPokemonPhrase.toLowerCase())){
						String pokemon = line.substring(hatchPokemonLine.length(), line.indexOf("</b></font>"));
						addValue(hatched, pokemon);
					}
					
					//looted
					if(line.toLowerCase().contains(lootPhrase.toLowerCase())){
						lootCount++;
					}
					
					//looted - received item
					if(line.toLowerCase().contains(receivePhrase.toLowerCase())){
						String item = line.substring(receiveLine.length(), line.indexOf("</b></font>"));
						item = item.replace(" Ball", "ball").replace(">", "");
						addValue(received, item);
					}
				}
			}
		}
		
		//sort
		caught = sortHash(caught);
		hatched = sortHash(hatched);
		received = sortHash(received);
		
		//print results 
		System.out.println("Results for " + (date.isEmpty() ? "all dates" : date) + ":\n");
		System.out.println("CAUGHT:");
		for (String key : caught.keySet()) {
			System.out.println(key + "\t" + caught.get(key));
		}

		System.out.println("\n\n\nHATCHED:");
		for (String key : hatched.keySet()) {
			System.out.println(key + "\t" + hatched.get(key));
		}
		
		System.out.println("\n\nITEMS LOOTED FROM " + lootCount + " LOOTS:");
		for (String key : received.keySet()) {
			System.out.println(key + "\t" + received.get(key));
		}

	}

	//add values to hashtables
	static void addValue(LinkedHashMap<String, Integer> map, String word) {
		if (map.containsKey(word)) {
			map.put(word, map.get(word) + 1);
		} else {
			map.put(word, 1);
		}
	}
	
	static LinkedHashMap<String, Integer> sortHash(LinkedHashMap<String, Integer> map){
		LinkedHashMap<String, Integer> ret = new LinkedHashMap<String, Integer>();
		while(!map.isEmpty()){
			String kmax = "";
			int max = 0;
			for (String key : map.keySet()) {
				if(map.get(key) >= max){
					max = map.get(key);
					kmax = key;
				}
			}
			ret.put(kmax, max);
			map.remove(kmax);
		}
		return ret;
	}
}

Example output:
Code:
Results for all dates:

CAUGHT:
Pidgey	1249
Psyduck	1180
Magikarp	1139
Rattata	1138
Tentacool	1076
Weedle	557
Sentret	447
Ledyba	338
Eevee	321
Spinarak	278
Paras	255
Venonat	237
Spearow	233
Murkrow	173
Hoothoot	170
Natu	143
Zubat	127
Onix	125
Caterpie	125
Nidoran?	122
Krabby	117
Goldeen	94
Pidgeotto	92
Wooper	88
Jigglypuff	88
Horsea	85
Sandshrew	83
Staryu	83
Poliwag	79
Dratini	78
Tauros	76
Ekans	74
Kakuna	65
Marill	57
Oddish	55
Bellsprout	53
Swinub	51
Gastly	46
Shellder	42
Meowth	42
Exeggcute	41
Slowpoke	39
Seaking	38
Hoppip	33
Chikorita	32
Magnemite	29
Drowzee	28
Cyndaquil	27
Clefairy	27
Rhyhorn	26
Sunkern	25
Pinsir	25
Raticate	24
Abra	24
Golduck	21
Lickitung	21
Chinchou	20
Golbat	20
Mantine	19
Tentacruel	19
Totodile	18
Furret	18
Aipom	17
Ledian	16
Metapod	16
Slugma	15
Teddiursa	15
Geodude	15
Pidgeot	15
Squirtle	14
Bulbasaur	14
Koffing	13
Snubbull	12
Pikachu	12
Machop	11
Houndour	10
Wobbuffet	10
Remoraid	10
Dragonair	10
Voltorb	9
Sudowoodo	9
Seel	9
Growlithe	9
Vulpix	9
Beedrill	9
Yanma	8
Ariados	7
Qwilfish	7
Gligar	7
Shuckle	6
Nidorino	5
Charmander	5
Diglett	5
Venomoth	5
Electabuzz	4
Cubone	4
Noctowl	4
Misdreavus	4
Mankey	4
Ponyta	4
Kingler	4
Bayleef	3
Azumarill	3
Phanpy	3
Doduo	3
Octillery	3
Parasect	3
Vaporeon	3
Tangela	3
Fearow	3
Kabuto	2
Ursaring	2
Dunsparce	2
Crobat	2
Xatu	2
Kadabra	2
Omanyte	2
Gyarados	2
Pineco	1
Meganium	1
Dodrio	1
Miltank	1
Scyther	1
Magcargo	1
Lanturn	1
Blastoise	1
Magneton	1
Graveler	1
Charmeleon	1
Houndoom	1
Mareep	1
Wigglytuff	1
Chansey	1
Weezing	1
Rhydon	1
Dragonite	1
Wartortle	1
Nidorina	1
Arbok	1
Seadra	1
Starmie	1
Weepinbell	1
Poliwhirl	1
Hitmonchan	1
Magmar	1
Dewgong	1



HATCHED:
Nidoran?	10
Sandshrew	9
Meowth	6
Poliwag	6
Oddish	6
Charmander	6
Caterpie	5
Exeggcute	5
Horsea	5
Paras	5
Ponyta	5
Goldeen	5
Psyduck	4
Bellsprout	4
Abra	4
Pichu	4
Staryu	4
Weedle	4
Magnemite	4
Spearow	4
Krabby	4
Natu	3
Smoochum	3
Slowpoke	3
Geodude	3
Voltorb	3
Diglett	3
Cubone	3
Magikarp	3
Tentacool	3
Bulbasaur	2
Elekid	2
Mankey	2
Seel	2
Cleffa	2
Onix	2
Igglybuff	2
Growlithe	2
Ekans	2
Zubat	2
Venonat	2
Scyther	2
Eevee	2
Qwilfish	1
Squirtle	1
Phanpy	1
Girafarig	1
Pineco	1
Tyrogue	1
Rhyhorn	1
Drowzee	1
Omanyte	1
Doduo	1
Shellder	1
Hitmonchan	1
Pinsir	1
Snorlax	1
Porygon	1
Vulpix	1
Kabuto	1


ITEMS LOOTED FROM 9735 LOOTS:
Pokeball	16022
Greatball	4470
Potion	3734
Razz Berry	2135
Revive	1665
Super Potion	1431
Ultraball	1328
Hyper Potion	632
Nanab Berry	441
Pinap Berry	418
Max Potion	267
Max Revive	67
Lucky Egg	9
Incubator	9
Incense	7
Lure Module	6
Incense Ordinary	4
Troy Disk	3
Metal Coat	3
Sun Stone	2
 
Last edited:
That is so cool, I like the chart you made, everything is so organized. By the way, could you show us the medals and pokedex? I am interest in how many pokemons will be registered at one bot location.
 
That is so cool, I like the chart you made, everything is so organized. By the way, could you show us the medals and pokedex? I am interest in how many pokemons will be registered at one bot location.

As this is all taken from log data (Pokefarmer Folder -> Logs), I don't think this is possible, unfortunately. :(

This is cool!! From where did you get this info?

This is all from the log data. I'll edit the post and give the source code used to extract the data.
 
Back
Top