 |
|
 |
|
| Simple IRC bot |
|
Forum Index - Non-SMW Hacking - Yoshi's Island - Simple IRC bot |
|
Pages: 1  |
|
|
|
| Posted on 2011-07-20 10:34:29 AM |
Link | Quote |
|
[incoming wall of text attack]
Hi. I'm not Yoshi's Island hacker. But I'm still trying to take part in that community, even if I'm not active much. I created some articles to Wiki. OK. Let's return on subject. I lately created IRC bot inspired by AlcaRobot, but optimized for SMW2 hacking. But there is small problem, I don't hack YI (ok, maybe I've done one level, but it was more of experimenting with Golden Egg) and I really want to get some feedback about my bot.
First of all, this bot sits on IRC. You can access it on SMWCentral.net IRC server - irc.caffie.net on channel #yi - which is nearly always inactive. I wanted to bring some activity to always not active #yi channel by making IRC bot which hopefully will be useful (if you don't know what is IRC, see IRC Channel Info thread).
I want to know if my bot is useful, does it lacks any things (I could easily implement them). And now, I will give some usage instructions, in case you're interested about my bot, you joined #yi on irc.caffie.net and you see "YIBot" nick.
Every command is prefixed by "+" sign, so bot wouldn't answer when you don't ask it to do it. But, if you're making private messages to it (/query YIBot), you can skip that that prefix.
+spriteFirst, let's start with simple command. This command displays information about certain sprite. For example, if you want to know what A3 sprite is and what tilesets it uses, use the following command
<GlitchMr> +sprite A3
<YIBot> Hiding Bandit. (SS-15, SS-16, SS-19, SS-1A, SS-1B, SS-26, SS-27, SS-39, SS-3A, SS-43, SS-50, SS-55, SS-67, SS-6B)
SS-[XX] is spriteset (hex value, not decimal) in which this sprite works. If you see (AU) instead, this means that this sprite works in every tileset...
+findspriteBut what if you don't know ID of sprite. I decided to make command which can be used to search sprites by name (just like in AlcaRobot). It's usage is very simple, just type name of sprite after "+findsprite". If a lot of sprites will be found, it will give link to my pastebin. As always, I will give example of its usage... And because I used sprite list from EggVine 0.81+ (thanks, yoshis fan for making this list ), you can also search for things like "(Enemy)" or "(Transport)"... Oh, and unlike AlcaRobot, it doesn't find Pokey when you search key. (instead it finds a lot of monkeys)
<GlitchMr> +findsprite goomba
<YIBot> 062: Goomba (SS-3B, SS-3C, SS-4C)
+spritesetOK. But seriously. You're designing level and you don't know what sprites you can use with certain spriteset. Don't worry. Just type spriteset (in hexadecimal, like Golden Egg does) after "+spriteset" and you will get list of every sprite (usually in pastebin, unless list is very short for some reason)... The list doesn't display sprites which work in every spriteset to not display this same list every paste. If you want to display those sprites, type "AU" as your spriteset (it's long list, so I don't do that unless you want to).
<GlitchMr> +spriteset 42
<YIBot> http://glitchmr.pl/pastebin/?f=ykgovuy-2011-07-20
+postallThis command searches through whole ROM and RAM map on YI Hacking Wiki. Well, not much of RAM map, but ROM map is pretty big...
<GlitchMr> +postall music
<YIBot> http://glitchmr.pl/pastebin/?f=jpmzvip-2011-07-20
+rom and +ramSimple commands which takes SNES address as argument. It displays information about certain ROM/RAM address. Nothing special, just mentioning, but maybe some may find use for it... As a bonus, +ram command also accepts SuperFX RAM as argument.
+addrThis is address converter (in case you're too lazy to use Lunar Address...). Just type SNES address (prefix with $ if you want the bot to think it's SNES address, otherwise it will consider it PC address) and it will be converted to PC address or SNES address depending what you typed as argument.
<GlitchMr> +addr 5AE
<YIBot> $00:83AE
<GlitchMr> +addr $14E182
<YIBot> 0xa6382
+mathIt takes as argument mathematics calculation. Unlike AlcaRobot, it has support for calculation priority, so 2+2*2 is 6... And it also can be used to convert from dec to hex because if result is integer it tries to display converted version.
<GlitchMr> +math 2+4*6
<YIBot> 26 = $1a = %11010
+addAnd now, because you have read it so far - the secret command. It allows you to add simple commands. It takes two arguments - name of command and response to it. If you want the command to contain spaces, replace them with \s. If you want the response to split for more than one message, use \n. Also you can get arguments of command - $1 to $10 give you this certain argument and $$ will give you everything after command.
<GlitchMr> +add cake The cake is lie...
<YIBot> Factoid successfully added!
<GlitchMr> +add hit /me hits $$
<YIBot> Factoid successfully added!
<GlitchMr> +add multiple This is line 1.\nThis is line 2.
<YIBot> Factoid successfully added!
<GlitchMr> +cake
<YIBot> The cake is lie...
<GlitchMr> +hit YIBot
<YIBot> * YIBot hits YIBot
<GlitchMr> +multiple
<YIBot> This is line 1.
<YIBot> This is line 2.
So, yeah. If you have anything to say, feel free to say :). I also would like to say "Thanks" to yoshis fan which created awesome sprite list for EggVine 0.81+ (too bad that Golden Egg doesn't have such useful list, I always liked this in EggVine)... It would be nice to hear that somebody thinks that my bot is useful for SMW2 hacking... Any complains? Fine, I'm open to those.
|
| Last edited on 2011-07-20 10:48:58 AM by GlitchMr. |
|
| Posted on 2011-07-30 08:58:54 PM |
Link | Quote |
|
Quote<Zeldara> +sprite a0
<YIBot> Sprite wasn't found...
<Zeldara> +sprite A0
<YIBot> A red Flower that will give you 8 stars when an enemy/egg is put in it (FX2)(AU)(Bonus)
A suggestion: make hexadecimal numbers not case-sensitive?
|
|
| Posted on 2011-07-31 02:06:19 AM |
Link | Quote |
|
Originally posted by Zeldara109Quote<Zeldara> +sprite a0
<YIBot> Sprite wasn't found...
<Zeldara> +sprite A0
<YIBot> A red Flower that will give you 8 stars when an enemy/egg is put in it (FX2)(AU)(Bonus)
A suggestion: make hexadecimal numbers not case-sensitive?
I don't believe I overlook something like this. Especially if I was already adding 0 at beginning to pad names. Oh, well. I did call to the strtoupper() function - I wonder why I didn't made it like that from beginning. Interesting considering how rest of functions aren't case sensitive - even +postall which searches in strings.
|
|
|
Pages: 1  |
|
|
|
|
Forum Index - Non-SMW Hacking - Yoshi's Island - Simple IRC bot |
|
|
 |
|
 |
The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.
Copyright © 2005 - 2013 - SMW Central Legal Information - Link To UsTotal queries: 27
|
|
|
|