IsZi
November 23rd, 2002, 20:39
Okay, here's a bot I thought up a little bit ago, but I haven't really started work on yet. Mostly just brainstorming. So far, I'm planning on doing this in a WBS script, (WinBot Scripting language) since I don't really know any other IRC bot scripting language just yet. So, please limit your replies to information that would apply to WBS, unless you want to attach a full tutorial for whatever language you're gonna talk about. ;)
What I want TagBot to do, is to be able to go in a channel and, on command, start a game of "IRC Tag". Features of this game may include:
Multiple Rounds in one Match
Ability for players in one game, on one channel, to play another game independant of that channel, but hosted by the same Bot.
Ability for a player to go AFK, and not be taggable during that time.
No tag-backs
Timed rounds.
Marks a player as "Dead" (Unable to play in future rounds, until Match is ended.) when they have lost a round.
Round Time shortens as end of match is near. (Like around the 3rd-to-last round.)
Help Command
Prevent a user from becoming Live again by simply leaving and re-joining.
Maybe be able to host one game over multiple channels/servers?
Winner of each Round/Match is automatically "it" for next Round/Match.
Test if a targeted nick is in the channel, before executing the tag command.
Here's a list of commands I know I'm going to need for the bot:
!startgame {vars} - Starts a game, with {vars} being stuff to set things like Round Time, maybe a limit to the Rounds in a Match, perhaps an option to allow/disallow player joins after Round 1, etc. This should be done via PM to the Bot.
!play - Join current game.
!afk - Set as AFK.
!b2k - (Might change the command name.) Set as back.
!quit - Quit the game. (May not re-enter until next match.)
!tag {nick} - Tag the person using the nick specified in {nick}.
There's a bunch of other stuff, but I can't think right now. I'm thinking that, in order to enforce some of the game rules (like keeping "Dead" players from comging "Live" again, by finding a workaround) I might have to assign a random ID number to each Round and/or Match. This, among many other variables would need to be stored in variables named for each player, and the channel the game is on. (i.e.: PlayerName.GameChannel.VariableName) Or, to keep players from changing nicks to re-set their variables, put the player's hostmask instead of their nick, in the name of the variable.
Anyone that wants to help, please feel free to post suggestions.
Thanks.
What I want TagBot to do, is to be able to go in a channel and, on command, start a game of "IRC Tag". Features of this game may include:
Multiple Rounds in one Match
Ability for players in one game, on one channel, to play another game independant of that channel, but hosted by the same Bot.
Ability for a player to go AFK, and not be taggable during that time.
No tag-backs
Timed rounds.
Marks a player as "Dead" (Unable to play in future rounds, until Match is ended.) when they have lost a round.
Round Time shortens as end of match is near. (Like around the 3rd-to-last round.)
Help Command
Prevent a user from becoming Live again by simply leaving and re-joining.
Maybe be able to host one game over multiple channels/servers?
Winner of each Round/Match is automatically "it" for next Round/Match.
Test if a targeted nick is in the channel, before executing the tag command.
Here's a list of commands I know I'm going to need for the bot:
!startgame {vars} - Starts a game, with {vars} being stuff to set things like Round Time, maybe a limit to the Rounds in a Match, perhaps an option to allow/disallow player joins after Round 1, etc. This should be done via PM to the Bot.
!play - Join current game.
!afk - Set as AFK.
!b2k - (Might change the command name.) Set as back.
!quit - Quit the game. (May not re-enter until next match.)
!tag {nick} - Tag the person using the nick specified in {nick}.
There's a bunch of other stuff, but I can't think right now. I'm thinking that, in order to enforce some of the game rules (like keeping "Dead" players from comging "Live" again, by finding a workaround) I might have to assign a random ID number to each Round and/or Match. This, among many other variables would need to be stored in variables named for each player, and the channel the game is on. (i.e.: PlayerName.GameChannel.VariableName) Or, to keep players from changing nicks to re-set their variables, put the player's hostmask instead of their nick, in the name of the variable.
Anyone that wants to help, please feel free to post suggestions.
Thanks.