IRC Uno by Lost.Lion@gmail.com
Uno is a registered trademark of Mattel, all rights reserved.
Find me on irc.rizon.net in channel #lovely under the nick name LostLion or KovuKun
Designed for mIRC 6.16

Contents of IRCUno.zip
Uno.mrc - Main Script
ReadMe.txt  Plain text version of this file
ReadMe.doc - This file

Installation:
- These instructions only show how to install Uno into the mirc directory but Uno can be put in any folder on your system, just replace Uno\Uno.mrc with the location of the script in the /load command (step 5) put the location inside quotes () if the location contains spaces such as C:/program files/uno.mrc -

1) Go to the mIRC folder where mIRC.exe is stored.
2) Create a new folder named Uno
3) Extract Uno.mrc into Uno folder.
4) Open mIRC.exe
5) Type in /load -rs Uno\Uno.mrc
This command tells mIRC to load a remote script found in the Uno folder named Uno.mrc
6) Click Yes for the "Run initialization commands?" Script warning.
Initialization commands are necessary, if you click no Uno will NOT work.
Script is now ready to run, if you are not using Uno in channel #Uno see next section for setting it up in your channel.

Notes: When you first load Uno.mrc you should receive an "Uno\Uno.txt was successfully created." message, if you don't please make sure that the Uno folder is not write protected and reload the script. (Step 5 Above)
In the Uno folder there is now an Uno.txt file, do not edit this file. This file stores your settings as well as all saved scores, improper editing may lead to improper functioning of Uno.mrc
Unloading and Loading Uno.mrc again will not alter the Uno.txt file. If you modified the Uno.txt file and Uno.mrc is no longer working try deleting Uno.txt then load Uno.mrc again.
If the !Unotop10 <average/points/games> trigger is used then Uno will also create and update an UnoTop.txt file when needed, this is just an ordered list of the users to allow the script to efficiently determine everyones rank.

Features
	108 Card Standard Uno Deck
	Anyone can start Uno by typing !Uno
	Only player who started the game and Ops can stop Uno by typing !UnoStop
	Anyone can join by typing Join (not !Join) even after cards have been delt.
	Anyone can quit by typing !Quit
	Leaving the channel removes the user from the game.
	Leaving the network removes the user from the game.
	Getting kicked from a channel removes the user from the game.
	User can change nicks during game play.
	2-10 Players can play.
	Person to start game (person who typed !Uno) starts game with !Deal once 2 or more people join.
	7 cards dealt to each player to start the game.
	Use !Play <Card Color [b,g,r,y]> <Card Number/Letter [0-9,S,D2,R]>
	Use !Play <Wild/Wild Draw 4 [w,wd4]> <color [b,g,r,y]>
	Words are excepted during play. (Typing !Play Blue Five and !play b 5 are the same)
	!CardCount to see how many cards the other players have.
	!Score & !Score <Nick>
	Colors, Letters, Numbers, Words are accepted except for Wild Draw Fours which must be !play WD4 <color> or !play WildDraw4 <color> or !play WildDrawFour <color>
	User quits, their points are still added to winners score.
	User quits, their cards are added back into deck.
	Shows cards that have been drawn, not all cards.
	Scores and Number of games played saved to text file so you can unload without losing rankings.
	!UnoTop10 to see the top 10 players.
	!Rank (Average Points per Game, Points and Games)

Setting Uno Options
Currently there are a few options you can set for Uno, following is an explanation and how to for each setting.
Uno Dealer is the player hosting, running, the Uno.mrc script.

To access the Uno Options window type /UnoOptions or right click in any channel and select Uno Options.

Uno Channels: This is a comma separated list of the channel(s) Uno may be played in. Even though Uno can be set up for multiple channels it will only play in 1 at a time. If channel #A starts a game, channel #B will have to wait for #A's game to end to start their own with the same Uno dealer. By default the first time you load Uno.mrc the channel will be #Uno. If you don't want to play in #Uno or want to add more channels here's how you do it.
Adding Channels (Single Network)
1)	Open the Options window.
2)	Click the Options tab if its not already selected.
3)	In the box that says #Channel type in the name of the channel you want to play Uno in. (Remove #Channel)
4)	Click the Add Channel button above it.
5)	Channel now appears in the drop down list on the right.

Adding Channels (Multi Network)
1)	Open the Uno Options window.
2)	Click on the Network Options Tab if not already selected.
3)	Check Enable Multi-Network to enable the multi-network features.
4)	In the box that says #Channel type in the name of the channel you want to play Uno in. (Remove #Channel)
5)	In the box that says Network type in the name of the network or check All Networks
6)	Click the Add Channel button
7)	Channel will now appear in the channel list below if the proper network is selected in the list below that.

Removing Channels (Single Network)
1)	Open the Uno Options window.
2)	Click on the Options tab if its not already selected.
3)	Select the channel you wish to remove from the drop down list on the right.
4)	Click the Remove Channel button below the channel list. You are no longer hosting any Uno commands in that channel.

Removing Channels (Multi Network)
1)	Open the Uno Options window.
2)	Select the Network Options tab if it isnt already selected.
3)	Check the Enable Multi-Network box if it isnt already.
4)	Select the Network that contains the channel you would like to remove in the Networks list.
5)	Select the channel you would like to remove from the channel list.
6)	Click the Remove Channel button next to the channel list. You are now no longer hosting any Uno commands on the channel of the selected network. If no channels are left for that network then the network will be removed as well.

Removing Entire Networks (Multi Network)
1)	Open the Uno Options window.
2)	Click the Network Options tab if it isnt already selected.
3)	Check the Enable Multi-Network box if it isnt already.
4)	Select the network you would like to remove from the network list.
5)	Click the Remove Network button next to the network list. You are now no longer hosting any Uno commands in any channels on this network.

Color Themes: Currently Uno has 2 color themes, a Black Background and a White Background. Because the color yellow is hard to see on a white background the Black background theme is recommended. To change the theme open the Uno Options window and click the Options tab if it is not already selected. Look for the color option.

Rank System: Users are ranked in 3 categories currently: Average Points Per Game, Total Points and Total Games Played. To enable or disable the rank system open the Uno Options window and click on the Options tab then check or uncheck the rank option.

1 !Draw then !Pass option: There are 2 common Card Drawing variations to Uno. This Uno is by default set to 1 !Draw then !Pass as is official Uno rules from what I know. 1 !Draw then !Pass means if a user cannot play they must draw a card (!Draw) once they have drawn a card they have 2 options; If the drawn card plays they can play the card. If the drawn card doesn't play they must !Pass their turn.
The other common rule is that a user MUST continue to draw card after card until one of them plays. Disabling 1 !Draw then !Pass will allow for this method of play. 

Reverse Acts like Skip with 2 people: When only two people are playing uno should reverses act like skips and skip the other player or reverse and have no effect? This variation allows you to control this, when enabled the Reverse card will skip the other player when disabled it will reverse the order list and have no visible effect. Remember this only works for 2 players, if there are more than 2 players this option has no effect.

Wild Draw 4 Doesnt Skip Player: Currently unavailable. When implemented this variation will stop the Wild Draw Four from skipping the player that draws four, in other words they will draw four cards but then they will get a chance to play.

Cards Dealt Face Up: Currently unavailable. When implemented user cards will be dealt face up for all other users to see, also known as Birthday Suit Uno by some.

!Play or Lose (No !Draw): Currently unavailable. When implemented the !Draw option would be disabled and if a user has no cards to play then they would type an option to give up causing a user to lose as soon as they can no longer play, also known as Deadly Uno by some.

DrawTwo/DrawFours Accumulate: Currently unavailable. When implemented draw two and draw four cards can accumulate. If player A plays a draw two then player B can either take the 2 cards or play another draw two, if player B plays another draw two then player C (or A if there is only 2 players) must draw 4 cards or play a third draw two, and this continues until someone draws the accumulated value of cards. Works the same with draw fours but a draw two and a draw four do not accumulate with each other.

User Communications: This controls how the script communicates privately with the players. Private communications are used for Showing cards, showing Top10, showing Rank, showing user lineup, and other options you don't want cluttering up the main channel. By default the script notices all this info to the user when needed/requested. But you can change it to PM them (/msg or /say command) 

Additional Commands:
Unload - Unloads (Stops Uno from running without changing any options) Uno.mrc from mIRC
Reload - Reloads the script without running initialization commands. (For trouble shooting)
Reset - Clears out all variables for Uno, turns off any Uno games, and reloads values saved to Uno.txt
Open Uno\Uno.txt - For advanced users who think they can figure out my options/score storage system. Opens the Uno.txt file in your default .txt editor (such as Notepad)

Additional commands Found in Right Click Menu Only:
Uno Options - Same as typing /UnoOptions into a command line.

Additional Information Found in /UnoOptions:
About tab - gives a little extra information about the script.


Playing Uno (Player Commands, not Uno rules)

Someone types !Uno into an Uno Channel to get the game started.
After 2 to 10 people join, the person who typed !Uno will be told to type !Deal to deal the cards.
On a players turn they play a card with one of the following commads:
For number cards, reverses and skips they need to use !Play Color Card (Examples: !Play b 5 or !Play Blue Five or !Play r s or !Play Red Skip) Vaild colors are r,b,g,y,Red,Blue,Green,Yellow. Valid Cards are 0,1,2,3,4,5,6,7,8,9,s,d2,r,Zero,One,Two,Three,Four,Five,Six,Seven,Eight,Nine,Ten,Skip,Reverse,Draw2,DrawTwo
Wilds are played using !Play W Color or !Play Wild Color, if a color is not specified it will warn that they do not have that card even though they do.
Wild Draw 4's are played using !Play WD4 <Color>, !Play WildDrawFour <Color> or !Play WildDraw4 <Color>, if a color is not specified it will warn that they do not have that card even though they do.
If they do not have a card they can draw one using !Draw After drawing a card only the drawn card may be played. They may then !Pass (If option is on, default is on, otherwise they will need to continue drawing until they can play) or !Play

Other Commands available to the players/non-players are:
!UnoTop10 <Average,Points,Games> - Lists top 10 Uno Players, if no option is specified then it defaults to average.
!Score - Tells them how many points they have
!Score <Nick> - Tells them how many points Nick has
!Rank - Tells them their rank in al three areas
!TopCard  re-shows top card
!ShowCards - Shows them their cards
!UnoStop - Stops current Uno Game. Only person who typed !Uno and Channel Ops may use this command. If you are running the  script and you want to stop the game but are not an Op or the person who typed !Uno type /UnoReset into any command line or use the Reset option in the /UnoOptions dialog.
!Quit - Removes player from game adds their cards randomly into deck and saves the point totals of their cards for the winner.
If a User Parts the channel or Quits the server this will act the same as if they type !Quit.
!Players - lists current players, players may type join to be dealt into the game at any time as long as there is less then 10 players.
!Commands - lists the commands that can be used with IRC Uno
/msg <The1WithScript> !Help <Command> gives the user help with using a command.

Changes:
Version 1.2
Fixed a glitch where a player didnt have to play the card they drew, they could draw then play any card.
	Added multi-network compatibility.
	Used combo boxes for channels/networks rather than edit box.
	Added Reverse Acts Like Skip with 2 players variation
	Added ability to enable and disable !score, !score <nick> and !UnoTop10
Fixed glitch that allowed 2s to play on DrawTwos
Fixed glitch that allowed non-colors to be played with wilds. (such as !play wild orange)
	Added !Commands command and /msg <The1WithScript> !Help <Command>
Version 1.1
Fixed a bug where when the uno deck was shuffled the Wilds and Wild Draw Fours became un-playable asterisks (*) instead.
Version 1.0
	Initial release.
