PROShine - Pokemon Revolution Online bot

03/07/2016 03:04 Silv3r.#1
What's this?

PROShine is a bot for Pokemon Revolution Online (i.e. a program able to execute actions in your place, like farming experience or money).
The bot is completely free. It is made in the C# programming language and uses WPF for the graphical interface.

As opposed to many bots, this one will not use your mouse or your keyboard. In fact, it will not use the game client at all. That's right, you do not even need to run the game in order to start the bot.

How does this magic work? It's very simple, actually: the bot will emulate a minimalist game client and connect to the server. It will pretend to be the original game, even though it does not have any image, sound or whatever. Instead of sending to the server "my character moved one case to the left" when the left arrow is pressed, like the game client, the bot will send it whenever it wants to move to the left.

Because of this, the bot requires your username and password from PRO. I know this may frighten some of you, but these information are only used while connecting to the PRO server and never sent to anyone nor stored anywhere. I don't care about your account, really.

Features
  • Movement: Can move in grass, water or caves to find Pokemons.
  • Battle: Can defeat opponent Pokemons using the best attack available.
  • Not-so-stupid AI: Will take the types, STAB and levitation into account in order to select the next attack.
  • Items: Can use items in battle, including Pokeballs. Yes, you can capture wild Pokemons and shinies.
  • NPCs: Can heal your team to the Pokecenter whenever a pokemon is KO or out of PP.
  • Cool blue interface.

Scripts

The interface of the bot is minimalist. It can display a few information but that's it. If you want to configure and start the bot, you will have to use a path (or a script). A script is a text file containing every action the bot has to do. The scripts use the Lua scripting language, which is quite simple to understand yet powerful. Even if you are not a programmer, you'll manage.

Here are a few basic examples of what the paths can do:
  • Example 1: Move in the grass in Route 1. Attack and defeat all Pokemons. Use a Pokeball whenever a shiny Pokemon appears and never attack it. Heal at Viridian's Pokecenter whenever the first Pokemon of our team is KO or no longer has any offensive PP, then go back to Route 1.
  • Example 2: Move from Viridian to Pewter. Run from any wild Pokemon.
  • Example 3: Surf in the water, Route 6. Throw a Pokeball to shinies. Attack Psyduck and Golduck. Run from any other pokemon.
  • Example 4: Move anywhere in Ilex Forest. Throw a Pokeball to shinies. Attack Pokemons if and only if they give ATK or HP effort values. Run from any other pokemon. Heal at Azalea's Pokecenter whenever the first Pokemon in our team is KO or out of offensive PP.
  • Example 5: Move anywhere in the Cinnabar Mansion. If a Charmander appears, switch to the second Pokemon in the team. Use the weakest attack available (False Swipe is always considered the weakest possible attack). Throw a Pokeball when the opponent life reaches 1. Run from any other Pokemon.

A few default scripts are available when you download the bot, I encourage you to read, understand and modify them. You can also find more scripts on the forums or even share your own!

Links

Forum: [Only registered and activated users can see links. Click Here To Register...]
Download links: [Only registered and activated users can see links. Click Here To Register...]
GitHub repository: [Only registered and activated users can see links. Click Here To Register...]

Links for unregistered users

Forum: www.proshine-bot.com
Download links: www.proshine-bot.com/viewtopic.php?id=662
GitHub repository: www.github.com/Silv3rPRO/proshine

Screenshots

[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
03/07/2016 09:17 JosephRiceCake#2
It doesn't work
03/07/2016 10:31 Silv3r.#3
Quote:
Originally Posted by JosephRiceCake
It doesn't work
Maybe it doesn't work on your computer, but saying that it doesn't work at all would be incorrect, considering I am using it.
Do you have any additional information, by any chance?
03/07/2016 11:13 Strew#4
Are u the programmer of this bot?

If yes, you maybe should include a errorlog, that the users
can send it to you.

Would be the easiest way to fix issues.
03/07/2016 11:24 Silv3r.#5
Indeed, I am the programmer.

Quote:
If yes, you maybe should include a errorlog, that the users
can send it to you.
There is one. An error log is created in a text file whenever the application crashes.
The launcher (auto-updater) also displays the errors occuring during the installation and the log can be copy/pasted easily.
03/07/2016 14:52 SherX#6
You can put more images in-game?

That only show text, not pokes or balls... Dont show ANYTHING...
03/07/2016 14:58 Silv3r.#7
I'm afraid I cannot, the text is all there is. The bot does not need to game to run, there is no image or anything.

I can show you what a path looks like, however:

Code:
{
	"name": "Leveling: Route 7 (near Celadon)",
	"author": "Silv3r",
	"path": [
		{
			"condition": ["isPokemon1Usable"],
			"actions": [
				{
					"condition": ["map", "Pokecenter Celadon"],
					"action": ["moveToMap", "Celadon City"]
				},
				{
					"condition": ["map", "Celadon City"],
					"action": ["moveToMap", "Route 7"]
				},
				{
					"condition": ["map", "Route 7"],
					"action": ["moveToGrass"]
				}
			]
		},
		{
			"actions": [
				{
					"condition": ["map", "Route 7"],
					"action": ["moveToMap", "Celadon City"]
				},
				{
					"condition": ["map", "Celadon City"],
					"action": ["moveToMap", "Pokecenter Celadon"]
				},
				{
					"condition": ["map", "Pokecenter Celadon"],
					"action": ["usePokecenter"]
				}
			]
		}
	],
	"battle": [
		{
			"condition": ["isOpponentShiny"],
			"action": ["useItem", "Ultra Ball", "Great Ball", "Pokeball"]
		},
		{
			"condition": ["activePokemonNumber", "=", 1],
			"action": ["attack"]
		}
	]
}
03/08/2016 09:37 DeathwingPRO#8
Greetings lads, Deathwing here. This automation software uses your Username and Password to advertise its own without your will. So, if you are using this bot. Trust me, you'll have bigger issues than me finding you. Risk is yours. Cheers, Deathwing, Game Master of Pokemon Revolution Online.


EDIT : In case this excuse of a programmer even tries to deny it.
[Only registered and activated users can see links. Click Here To Register...]
03/08/2016 10:48 Silv3r.#9
The bot does not advertise itself. I know I cannot really do anything to prove it, but this is the truth.

The in-game ads were real though, and I am very sorry about that, Deathwing.
I hate spamming as much as you do, which is why only one message per player were sent. It won't happen again.
03/08/2016 16:53 Reinele#10
Quote:
Originally Posted by DeathwingPRO View Post
Greetings lads, Deathwing here. This automation software uses your Username and Password to advertise its own without your will. So, if you are using this bot. Trust me, you'll have bigger issues than me finding you. Risk is yours. Cheers, Deathwing, Game Master of Pokemon Revolution Online.


EDIT : In case this excuse of a programmer even tries to deny it.
[Only registered and activated users can see links. Click Here To Register...]
Is the message broadcasted as if it was sent by the person using the bot? If so, it's pretty disgusting.
03/08/2016 17:43 Silv3r.#11
Quote:
Originally Posted by Reinele View Post
Is the message broadcasted as if it was sent by the person using the bot? If so, it's pretty disgusting.
No, the players (sender and receiver) were randomly chosen from the online players.
The bot has nothing to do with these messages, it does not have a "spam" feature and does not use your account or username. Any programmer can confirm this by analyzing the packets sent by the bot.

Edit: I just posted a trick that can be used with the original game client.
It allows to zoom the camera out. Check it out!
[Only registered and activated users can see links. Click Here To Register...]
Nothing is required for this command: it's included in the original game. No installation, no modification.
03/08/2016 20:01 DeathwingPRO#12
Quote:
Originally Posted by Silv3r. View Post
I hate spamming as much as you do, which is why only one message per player were sent. It won't happen again.
So the messages "were" sent, way to contradict yourself lad.
03/08/2016 20:06 Silv3r.#13
Quote:
Originally Posted by DeathwingPRO View Post
So the messages "were" sent, way to contradict yourself lad.
I don't see the contradiction. Yes, some messages were sent in-game.
No, these messages were not sent by the bot.
Just ask Shane, I think he knows what is going on.


PS: The website might appear down to some of you due to some changes applied recently.
Don't worry, everything will be working in the next hours!
03/08/2016 20:21 DeathwingPRO#14
Quote:
Originally Posted by Silv3r. View Post
Just ask Shane, I think he knows what is going on.
Oh i did, we were laughing our ***es off.
03/08/2016 23:05 Silv3r.#15
The website is up again, sorry about the little downtime!