I will start by teaching you what goes on in my module, then when the Packet Hooks are written, and added with the WoWHackit files I will teach you packet sending and more!
First off lets start with what we do at the beginning of every program.
Code:
You will put these lines in every module you make because they are basicly "defining" every command and function you write inside your module!Quote:
#include "WoWHackIt/Client.cpp"
#include "WoWHackIt/ClientEasier.cpp"
Not to go into the client info. Again this will be included in every module you will make, except it will be your personal information, and not mine.
Code:
This is where you declare your client info is getting started. This same excact code will be used in every module you make.Quote:
MODULEINFO
(*
Code:
This will be where you write the name of the module you are making. Make sure it is between the quotation marks or you may get a compile error, and you will definately have an error in your program.Quote:
"RealmGX Spammer",
Code:
This is where you will be putting your name, or nickname. Again, make sure it is in the quotation marks.Quote:
"Mason",*
Code:
This will be where the version of WoWHackit you are writing the module for. For now that is the only version released so that is the only text that can possible go there for now!Quote:
MAKEVERSION(1, 0),
Code:
This is where the name of your home page will be. I use realmgx because for now it is my favorite forum, and I don't have my own web site beside's the server where I store all my code!Also, if you haven't gotten through your head, it has to be inside the quotation marks.Quote:
"www.realmgx.com",*
Code:
This is where your email address goes. No special reason, it is just put in the client info. Once again inside the quotation marks.Quote:
" "
Once you are done with all this you will add...
Code:
to show that you are done with the client info. Now for the more interesting part!Quote:
)
Code:
Ok for now, pretend this isn't there, I will discuss this once we get a bit farther down in the code. Do not worry we will not skip it!Quote:
void Spammer(void*)
{
** while(1)
** {
* * * ConsoleCommand("script SendChatMessage(\"Visit www.RealmGX.com\");");
* * * Sleep(1000);
* * * ConsoleCommand("script SendChatMessage(\"Home of WoWHackit!\");");
* * * Sleep(1000);
* * * ConsoleCommand("script SendChatMessage(\"Come Get Hacks, Tips, Strategies, Items, and
More!!!\");");
* * * Sleep(1000);
** }
}*
Code:
This is quite easily understood. First off this will always go at in your module. In fact, the only line you will ever need to change is the following line.Quote:
BOOL ModuleStart()
{
** ConsolePrint (0, "You have started the RealmGX Spammer.");
** return TRUE;
}
Code:
This is where you will place what you want to be printed upon the screen when you load the module. And once again, your message will go inside the quotation marks.Quote:
ConsolePrint (0, "You have started the RealmGX Spammer.");
Code:
This has the same concept as the code above, besides this is what will be displayed once your module is unloaded. Again, the only thing being changed in this code is the following line...Quote:
BOOL ModuleStop()
{
** ConsolePrint (0, "RealmGX Spammer unloaded!");
** return TRUE;
}*
Code:
The ending message should be put inside the quotation marks. It can be anything you see fit as the ending message.Quote:
ConsolePrint (0, "RealmGX Spammer unloaded!");
And finally...this is where the module gets it's "juice" from. This is where the magic happens, what the module actually does is put here!
Code:
This will always be there. Everything following this is what makes the module a Hack!Quote:
BOOL OnConsoleText(char *ptext)
{*
Code:
Well for now, it is hard to explain this in non-programming language. Mainly, until WoWHackit is more fully developed this will generally always be there. Now, on some modules this line won't go there, but for most of the modules being created now, this will be there. So just put it there mindlessly until someone tells you different.Quote:
char **pParse = ParseForce(ptext);*
Code:
This is where you declare what you have to type in order for the hack to start, unload, and other functions. Basicly, you want be changing this besides what is inside the quotation marks. Whatever is inside the quotation marks is the command to get it to start. Make sure this is only one word otherwise it may cause errors. Here is an example. Since the word inside the quotation marks is rgxxspammer, in order for me to load the module I would have to typeQuote:
if (!strcmpi(pParse, "RGXSpammer"))
** {*
Code:
With that said...let us move on!Quote:
.load rgxspammer
Code:
This just means that if someone types ".rgxspammer" or ".*name of your module here* it will give them the message specified in the quotation marks. So you won't be changing anything to this code besides what is in the quotation marks to the message that you want to be said.Quote:
if (!pParse[1])
* * * {
* * * ** ConsolePrint(3, "NO spammer command specified!");
* * * ** delete pParse;
* * * ** return TRUE;
* * * }
Code:
Ahh, not the easiest thing to look at, but is very understandable once explained. This is just saying if someone types ."your module here" "command in quotation marks" which in this case is ".realmgxspammer start" that it will do the codeQuote:
if (!strcmpi(pParse[1], "start")
* * * {*
following this. This is just declaring one of the commands in the module!
Code:
Quote:
if (!hSpammerThread)
* * * ** {
* * * * * * hSpammerThread = NewThread((void*)Spammer, 0);
* * * * * * delete pParse;
* * * * * * return TRUE;
* * * ** } else {
* * * * * * ConsolePrint (3, "Spamming thread is already running");
* * * * * * delete pParse;
* * * * * * return TRUE;
* * * ** }
* * * }*





"

