Go Back   Smogon Community > Contributions & Corrections > Projects
Register FAQ Social Groups Calendar Search Today's Posts Mark Forums Read

Reply
Categories: HTML, Programming, Other
 
Thread Tools
Old Nov 23rd, 2010, 4:37:13 PM   #1
MewMaster
 
MewMaster's Avatar
 
Join Date: Sep 2010
Posts: 31
Talking IRC Battle Simulator

Hello and welcome to my (DragonKnight) tutorial on how to use my Battle Simulator script on IRC. This script is a fully functional Generation IV (soon to be V!) simulator written in mIRC Scripting Language and acts exactly as the game would. However, the script is not complete and therefore most items, abilities, and Status moves are not yet functional. It stores all inputted teams on my computer in a .ini file and retrieves them during battle. All Pokémon are at level 100, and this cannot be changed. Also, genders have not been implemented into this script, so moves like Attract do not exist. The following is a list of Pokémon moves that are not included in this script:
  • Attract
  • Follow Me
  • Helping Hand
  • Sketch
  • Teleport
If you use mIRC, I have written a script that will allow you to edit your team members without the hassle of using a bunch of /msg's; it makes use of a dialog, which makes it very visual and easy to understand. The script is here: http://pastebin.com/Qqf9q0nx.

Throughout this tutorial, I will be showing an example of how to create an Infernape on a team called "OU" on this script, which will use all of the optional inputs. The Infernape, when finished, will look something like this:


Making your Team

Fisrt off, you will want to get on IRC. I am on PurpleSurge's IRC server only, which is irc.purplesurge.net:6667. Come to #Battle, which is where this script is hosted. For all team editing with this script, the basic syntax is:

Code:
 
/msg DragonKnight MyTeam Team Name Type of Input Slot Input 
Where underlined text is a parameter.
The Type of Input parameter can be one of ten words:

Pokémon Pokemon Item
IVs EVs Nature
Ability Moves View
Delete

Pokémon

Basic syntax:
Code:
 
/msg DragonKnight MyTeam Team Name Pokémon/Pokemon Slot Pokémon Species 
This will set the Pokémon species of the specified team to the specidied species. The script connects to Smogon to make sure that what you inputted is a real Pokémon, so do not try to enter anything else. For our Infernape, we will use one of the following commands (It does not matter which):

Code:
 
/msg DragonKnight MyTeam OU Pokémon 1 Infernape 
/msg DragonKnight MyTeam OU Pokemon 1 Infernape
After doing so, my script should automatically sent you a notice that will look something like the following:

-DragonKnight- Pokémon of slot 1 of OU set to Infernape.

That is about it. Thing to note:
  1. Setting a Pokémon removes all abilities, moves, and power points previously stored in that slot.
  2. Setting a Pokémon also sets its IVs to all 31 and its EVs to all 0.
Item

Basic syntax:

Code:
 
/msg DragonKnight MyTeam Team Name Item Slot Item
This will set the held item for the Pokémon stored on the specified slot. The script connects to Smogon to make sure that what you inputted is a real Pokémon item, so do not try to enter anything else. For our Infernape, we will use the following command:

Code:
 
/msg DragonKnight MyTeam OU Item 1 Life Orb
After doing so, my script should send you back a notice:

-DragonKnight- Item of slot 1 of OU set to Life Orb.

That is about it.

IVs

Basic syntax:

Code:
/msg DragonKnight MyTeam Team Name IVs Slot HP IV Atk IV Def IV SpA IV SpD IV Spe IV
This will set the IVs for the Pokémon stored in the specified slot. The script does check to make sure that all inputted values are between 0 and 31. The only time you will really need to use this command is when you make a Pokémon that uses Hidden Power, because the IVs for all Pokémon default to all 31 when created. Since our Infernape does run Hidden Power, we will use this command:

Code:
/msg DragonKnight MyTeam OU IVs 1 31 30 30 31 31 31
These IVs will provide our Infernape with Hidden Power Ice, base power 70. The return message should look like this:

-DragonKnight- IVs of slot 1 of OU set to 31 30 30 31 31 31.

Note: If you set this before setting the Pokémon in the specified slot, your input will be overwritten with the default settings upon creation.

EVs

Basic syntax:

Code:
/msg DragonKnight MyTeam Team Name EVs Slot HP EV Atk EV Def EV SpA EV SpD EV Spe EV
This will set the EVs for the Pokémon stored in the specified slot. The script does check to make sure that all inputted values are between 0 and 255 and that the sum of all inputted values is less than or equal to 510. For our Infernape, we will use the following command:

Code:
/msg DragonKnight MyTeam OU EVs 1 0 64 0 252 0 192
This will set the EVs and trigger the following return message:

-DragonKnight- EVs of slot 1 of OU set to 0 64 0 252 0 192.

Note: If you set this before setting the Pokémon in the specified slot, your input will be overwritten with the default settings upon creation.

Nature

Basic syntax:

Code:
/msg DragonKnight MyTeam Team Name Nature Slot Nature
This will set the nature for the Pokémon stored in the specified slot. The script checks to make sure that the inputted string is a legal Pokémon nature and assigns it to the specified slot. For our Infernape, we will type:

Code:
/msg DragonKnight MyTeam OU Nature 1 Naive
The script will send you the following message:

-DragonKnight- Nature of slot 1 of OU set to Naive.

That is about it.

Ability

Basic syntax:

Code:
/msg DragonKnight MyTeam Team Name Ability Slot Ability
This will set the ability for the Pokémon stored in the specified slot. The script connects to Smogon to make sure that the Pokémon in the specified slot can legally obtain the inputted ability. For our Infernape, we will type:

Code:
/msg DragonKnight MyTeam OU Ability 1 Blaze
The script should send you mack a notice saying:

-DragonKnight- Ability of slot 1 of OU set to Blaze.









And that is it. Things to note:
  1. You cannot set an ability for a slot that does not yet have a Pokémon stored in it.
Moves

Basic syntax:

Code:
/msg DragonKnight MyTeam Team Name Moves Slot Move 1, Move 2, Move 3, Move 4
This will set a moveset for the specified slot. The script will connect to Smogon to make sure that the Pokémon stored in the specified slot can learn all four of the inputted moves. For our Infernape, we will use:

Code:
/msg DragonKnight MyTeam OU Moves 1 Close Combat, Fire Blast, Grass Knot, Hidden Power
We should get in return:

-DragonKnight- Moveset of slot 1 of OU set to Close Combat, Fire Blast, Grass Knot, Hidden Power.









That is it. Things to note:
  1. You cannot set a moveset for a slot that does not yet have a Pokémon stored in it.
  2. You must use a comma immediately after each move followed by a space.
View

Basic syntax:

Code:
/msg DragonKnight MyTeam Team Name View Slot
This command will show you the Pokémon and all of its accessories stored in the specified slot. To make sure that you filled in everything correctly, I recommend that you use this to check your work after completing each Pokémon. To view our finished Infernape, we will type:

Code:
/msg DragonKnight MyTeam OU View 1
In return, we should recieve the following seven notices:

-DragonKnight- Slot 1: Infernape @ Life Orb
-DragonKnight- Blaze, Naive
-DragonKnight- 31 30 30 31 31 31 / 0 64 0 252 0 192
-DragonKnight- ~ Close Combat
-DragonKnight- ~ Fire Blast
-DragonKnight- ~ Grass Knot
-DragonKnight- ~ Hidden Power

Now you're done with Infernape! To complete your team, repeat this process for all six Pokémon, making sure to change the slot parameter for each one. There is one final command that you can use, also: Delete.

Delete

Basic syntax:

Code:
/msg DragonKnight MyTeam Team Name Delete
This command will delete your entire team. It is useful for old teams that you do not use anymore. If we wanted to delete our OU team with our Infernape, we would type:

Code:
/msg DragonKnight MyTeam OU Delete
This will erase the entire team, and send you the following notice:

-DragonKnight- Your team OU has been deleted.

Using your Team

After you complete your team, you can use it in a battle! To initiate a battle, type:

Code:
!Battle Nickname
This will challenge the specified nickname to a battle, which they can choose to accept or decline. If someone challenges you to a battle, you can accept or decline by typing one of the following:

Code:
/msg DragonKnight Accept 
/msg DragonKnight Decline
Now, let the battling begin! Things to note:
  1. The Nickname parameter is case sensitive.

From here, you can follow the built-in instructions to battle with your Pokémon. I am on PurpleSurge's IRC server only, which is irc.purplesurge.net:6667. If you want to battle, come to #Battle. This tutorial is also on Bulbapedia: http://bulbapedia.bulbagarden.net/wiki/User:Stmorawski.


This script is a work in progress. Whenever I get something new working that is of somewhat importance, I will be sure to post and let you know.
__________________
My White FC: 5286 1328 4448.
Legit hack is an oxymoron.

Last edited by MewMaster; Jun 26th, 2011 at 5:59:23 PM. Reason: Added dialog script
MewMaster is offline   Reply With Quote
Old Nov 23rd, 2010, 7:33:06 PM   #2
capefeather
hey, even pirates need attorneys
is a Forum Moderatoris a Battle Server Moderator
 
capefeather's Avatar
 
Moderator
Join Date: Apr 2009
Posts: 2,603
especially internet pirates
Default

Oh wow... I guess this renders locopoke's Trou thread moot.
__________________
If we cannot take joy in things that are merely real, our lives will always be empty.

<+joshe> im a registered sex offender for up to calc 3

<+Reflect_Suicune> i was thining of fucking jellicent for some reason

<DetroitLolcat> I AM AROUSED BY BIMETALLIC CURRENCY!
capefeather is offline   Reply With Quote
Old Nov 23rd, 2010, 11:37:29 PM   #3
Umbreon Dan
 
Umbreon Dan's Avatar
 
Join Date: Oct 2008
Posts: 3,186
kiss my ass, this is a holy site.
Default

i am sure that i like this thread.
__________________
9.9
dan likes to ramble

<@Fatecrashers> im really gay
<@Fatecrashers> and i might fart rainbows
Umbreon Dan is offline   Reply With Quote
Old Nov 24th, 2010, 7:56:14 PM   #4
MewMaster
 
MewMaster's Avatar
 
Join Date: Sep 2010
Posts: 31
Default

Edited in a sample battle so you can see what this thread is all about. Hope I see some of you on IRC to check this out .
__________________
My White FC: 5286 1328 4448.
Legit hack is an oxymoron.
MewMaster is offline   Reply With Quote
Old Nov 25th, 2010, 6:39:46 PM   #5
Jared
 
Jared's Avatar
 
Join Date: Sep 2009
Posts: 42
Massachusetts
Default

Oh my, I've been on Purplesurge since 08 and I am SURE I've never seen you around, what's your IRC nick? Mine is Jared
Jared is offline   Reply With Quote
Old Nov 25th, 2010, 7:19:20 PM   #6
MewMaster
 
MewMaster's Avatar
 
Join Date: Sep 2010
Posts: 31
Default

Quote:
Originally Posted by Fat Jaredmf1012 View Post
Oh my, I've been on Purplesurge since 08 and I am SURE I've never seen you around, what's your IRC nick? Mine is Jared
Check my sig :P 'Tis DragonKnight.
__________________
My White FC: 5286 1328 4448.
Legit hack is an oxymoron.
MewMaster is offline   Reply With Quote
Old Nov 26th, 2010, 2:10:26 PM   #7
yondie
the Hero
is a Tiering Contributor
 
yondie's Avatar
 
Join Date: Nov 2009
Posts: 1,623
Default

Would you battle eachother through query?
yondie is offline   Reply With Quote
Old Nov 26th, 2010, 3:56:56 PM   #8
MewMaster
 
MewMaster's Avatar
 
Join Date: Sep 2010
Posts: 31
Default

Quote:
Originally Posted by Fat Yondie View Post
Would you battle eachother through query?
No. The battle is on a channel so people can spectate . The channel that the battle will be on is the channel where the person who said !Battle said it.
__________________
My White FC: 5286 1328 4448.
Legit hack is an oxymoron.
MewMaster is offline   Reply With Quote
Old Nov 27th, 2010, 3:03:01 PM   #9
-Lux-
 
-Lux-'s Avatar
 
Join Date: Jun 2010
Posts: 395
in the sky :D wanna come? oh you cant :(
Default

Nice job mate bout time you got it up :P
-Lux- is offline   Reply With Quote
Old Nov 28th, 2010, 7:35:20 AM   #10
Moo
Professor
is an Artistis a Pokémon Researcheris a Contributor to Smogon Mediais a Contributor to Smogon
 
Moo's Avatar
 
Join Date: Jun 2010
Posts: 1,447
Default

Wow, I must say Well done on that.
But why would someone use this when they can use PO or shoddy? ._.
__________________
GP / UU QC, VM for check
VM for a UU rate
Moo is offline   Reply With Quote
Old Nov 28th, 2010, 7:47:56 AM   #11
Chomper The Sharptooth
 
Chomper The Sharptooth's Avatar
 
Join Date: Dec 2009
Posts: 301
The Great Beyond (GMT -4)
Default

Quote:
Originally Posted by Fat Mooo View Post
Wow, I must say Well done on that.
But why would someone use this when they can use PO or shoddy? ._.
Because this is far more awesome. Very nice job Mew, shame I'm never on IRC so I'll never get to try it out. ):
__________________
Fun fact: ASB Ho-oh, Groudon, Kyogre, Dialga, Palkia, Reshiram and Zekrom have more stars than Arceus. Mewtwo is one of the more average legends, having less stars than the fairies.
Chomper The Sharptooth is offline   Reply With Quote
Old Nov 28th, 2010, 6:23:24 PM   #12
MewMaster
 
MewMaster's Avatar
 
Join Date: Sep 2010
Posts: 31
Default

Quote:
Originally Posted by Fat Mooo View Post
But why would someone use this when they can use PO or shoddy? ._.
Because if you battle on an IRC channel with this script, others can watch and give advice and such with less hassle than loading up PO/Shoddy/Pokelab, finding the battle on the battle list, and not getting into the battle until it is half way over. This script is more convenient for spectators.
__________________
My White FC: 5286 1328 4448.
Legit hack is an oxymoron.
MewMaster is offline   Reply With Quote
Old Dec 3rd, 2010, 7:08:40 PM   #13
MewMaster
 
MewMaster's Avatar
 
Join Date: Sep 2010
Posts: 31
Default

Added in a link for a team editing script for mIRC users, which makes the process easier. Link is http://pastebin.com/Qqf9q0nx.

P.S. sorry for double post :(.
__________________
My White FC: 5286 1328 4448.
Legit hack is an oxymoron.
MewMaster is offline   Reply With Quote
Old Mar 20th, 2011, 5:08:40 PM   #14
MewMaster
 
MewMaster's Avatar
 
Join Date: Sep 2010
Posts: 31
Default

I have resumed work on this script, including hard-coded 5th gen, an improved team builder, and team preview. Everyone is welcome to check this out on #Battle on Purplesurge, and I will most likely show this off on Smogon's IRC channels when I get it finished.
__________________
My White FC: 5286 1328 4448.
Legit hack is an oxymoron.

Last edited by MewMaster; Jun 26th, 2011 at 5:17:45 PM.
MewMaster is offline   Reply With Quote
Reply Smogon Community > Contributions & Corrections > Projects

« Previous Thread | Next Thread »
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT -4. The time now is 6:43:53 AM.