Camelotto is a program that helps you conduct lottos in Dark Age of Camelot. Like all programs of this type, it sorts the numbers that people random so you can identify winners easily.
The thing that makes this program different is that it also allows you to announce winners in chat by clicking a button or pressing a key.
Camelotto requires Windows 2000 or higher.
Instructions for installing program
Download and unzip the two files (camelotto.exe and camelotto.dll) into any folder on your hard disk. For convenience, you should put them in the same directory as the DAOC client. To run the program, double-click camelotto.exe. You can use a shortcut instead of double clicking.
Basic instructions for using program
It's really simple. Click Read Chatlog. Then click Announce. (If Announce doesn't work, you probably need to increase the Delay on the Settings panel.)
Slightly more complicated instructions
Okay, I lied. It's not that simple. Before you start, you need to adjust a few settings.
1. On the top left of Camelotto's panel, enter the random number.. For example, if people are supposed to type /random 1000, enter 1000.
2. On the Settings panel, click the channel you want the announcements to appear in.
3. If you want, you can fiddle around with the other settings on the Settings panel.
Totally detailed instructions
In case you want complete step-by-step instructions, including things you need to do in the game, here you go:
1. On each roll, just before people start to random, enter /chatlog on DAOC's chat line to save the numbers in a file.
2. After people random, enter /chatlog again in DAOC to finish saving the file.
3. Click Read Chatlog on Camelotto's panel and confirm the name of the file.
4. Camelotto will show you the results of the lotto.
5. You can view the results in either alphabetical or numerical order. Click the Roll and Name buttons to switch back and forth.
6. When you're ready to roll on the next item, click Delete Chatlog and go back to step 1.
More on Announce Winner
Announce Winner tells people the name of the winner with a click of a button.
Use the Settings panel to select the channel that announcements appear in.
If you are running more than one instance of DAOC, the announcement will be sent from the chatline of whichever DAOC window is on top of the other one. (For you geeky folks, "on top" means higher in the Z-order.)
You can change the text of the announcement to anything you like with the Settings Panel. Use the following macros for the person's name and roll:
For example, suppose you set the text to
The highest roll is %roll%. Grats! %name%, please copper me.
Let's imagine that Nysa wins the random with a roll of 999. When you click Announce Winner, the program will replace the macros in your text with her name and her roll, and the following message will appear in chat:
The highest roll is 999. Grats! Nysa, please copper me.
If at any time you want to go back to Camelotto's default announcement, just click Default on the Settings Panel.
If Announce Winner Doesn't Work
When you click Announce Winner or Announce Range, the program alt-tabs to DAOC, types the announcement, and alt-tabs back to itself. On some computers, the alt-tab operation takes place so slowly that Camelotto finishes typing the message before DAOC can see it. This problem is especially likely to occur if you run DAOC in full-screen mode. To solve this problem, increase the Delay setting on the Settings Panel to make Camelotto wait. A good number to start with is 1000 milliseconds. If that works, try reducing the number in chunks of 100 until you find the shortest delay that works reliably on your computer. (If you don't have this problem, ignore this paragraph and leave delay set to zero.)
The hotkey feature allows you to make announcements without alt-tabbing away from the game. To use this feature, go to the Hotkey Panel and define a hotkey. Note: In order for the hotkey to work, Camelotto must already know the name of your chatlog from a previous click of the "Read Chatlog" or "Delete Chatlog" buttons. If Camelotto doesn't already know the chatlog name, the hotkey won't do anything and there won't be any error message.
More on Announce Range
Announce Range works like Announce winner except that it tells the group the names of all the winners within a certain range.
For example, suppose you just killed Ammut and you want to announce the names of the top 5 rollers so you can give them keys. No, on second thought, the top roller gets the remains, and the next two get Ammut rings, so you want to announce the names of winners 3 through 7.
You would put 3 in Range From, 7 in Range To, and click Announce Range. The program would print the list of names like this:
Nysa, Yvettegessard, Baramos, Roobus, and Evilannihilator.
You need to watch out for ties when you use Announce Range because they can cause the program to announce more names than you expect.
For example, suppose there is a three-way tie for 3rd place and you ask for the range from 1 to 3. You are expecting 3 names, but the program gives you SIX. The program is working correctly. The only way to avoid surprises like this is to look for ties before you click Announce Range.
Unlike the output of Announce Winner, the output of Announce Range can't be customized. The program always prints a plain list of names and nothing more.
The executable files of this program may be freely used and distributed by anyone. No warranties, express or implied, including but not limited to warranties of merchantability or fitness for a particular purpose, are made with respect to this program. This is a preliminary test version, and you use it at your own risk.
July 30, 2006 (ver. 0.1.18): changed regex so program handles hyphenated names on clusters.
July 30, 2006 (ver. 0.1.17): public version of 0.1.16.
July 30, 2006 (ver. 0.1.15 and 0.1.16): changed way chatlog gets read by hotkey so program always fails silently if file not present, and never asks for filename; added checkbox for delete on Hotkey Panel.. (These versions weren't published.)
July 30, 2006 (ver. 0.1.14): custom build for Callisti; added DLL; made program multi-threaded; added hotkey; added options to skip get-file-name panels; added chatlog backups; reduced requirement from XP to Win2k; refactored file-reading code; removed warning panel.
July 22, 2006 (ver. 0.1.13): changed settings file layout.
July 22, 2006 (ver. 0.1.12): rewrote warning message.
July 22, 2006 (ver. 0.1.11): guarded against problem of user setting "You" replacement text to zero-length string; added artwork to warning panel.
July 22, 2006 (ver. 0.1.10): added warning about possible rule violation; removed "tabbed" option from Settings to preclude possibility that program could perform any in-game action other than making statement in chat.
July 22, 2006 (ver. 0.1.9): added Replace You With...
July 21, 2006 (ver. 0.1.8): changed default Delay to 200; changed large icon.
July 21, 2006 (ver. 0.1.7): changed artwork on About panel.
July 20, 2006 (ver. 0.1.6): added channel choices on Settings panel.
July 20, 2006 (ver. 0.1.5): changed code so program works with minimized DAOC client (previously it didn't); added Delay field on Settings panel.
July 20, 2006 (ver. 0.1.4): added Report Bug feature.
July 19, 2006 (ver. 0.1.3): added Announce Range; changed size and layout of main panel; added rank to results; added option to disqualify or admit the lowest roll of a person who rolls more than once.
July 19, 2006 (ver. 0.1.2): added Announce Winner; added Settings panel; changed size and layout of main panel; changed "BAD NUMBER" display to include the number; added test to ensure the program is running on XP or higher.
July 18, 2006 (ver. 0.1.1): defined name of manifest file in source code so Windows will put XP-style controls on program instead of the ugly Win-95 ones.
July 18, 2006 (ver. 0.1.0): first version written.