Postado Dezembro 23, 2010 14 anos [source] BOT de Tibia v2.0 BOT de Tibia.cpp: #include <windows.h> #include <time.h> #include <conio.c> #include <stdio.h> DWORD WINAPI Process(LPVOID lpParameter); char userName[MAX_PATH], characterTime[MAX_PATH], saySpell1[MAX_PATH], saySpell2[MAX_PATH], saySpell3[MAX_PATH], saySpell4[MAX_PATH], *sayMessage, characterBuffer[MAX_PATH], characterConvert[MAX_PATH]; int spellTime, hotckeyExecute; RECT clientRect; FILE *configFile = fopen("config.ini", "r"); DWORD userNameSize = 0x104, processIdentification; HANDLE handleProcess; LPARAM lParam; SYSTEMTIME systemTime; enum File { FILE_FOUND = 0x0FF, FILE_NOT_FOUND = 0x1FF } fileMessage; namespace ConfigSaved { class File { public: bool readFile(FILE *fileRead); bool loadFileSettings(FILE *configFile, char *saySpell1, char *saySpell2, char *saySpell3, char *saySpell4, int &hotckeyExecute); }; class Tibia { public: void sendMessage(char *sayMessage, HWND tibiaWindow, DWORD waitTime); void executeHotckey(HWND tibiaWindow, WPARAM windowsHotckey); template <class T> T allocateMessage(T messageAllocated, int allocatedSize); }; }; bool ConfigSaved::File::readFile(FILE *fileRead) { return (fileRead != NULL ? true : false); } bool ConfigSaved::File::loadFileSettings(FILE *configFile, char *saySpell1, char *saySpell2, char *saySpell3, char *saySpell4, int &hotckeyExecute) { if (readFile(configFile)) { fscanf(configFile, "[Configurações]\nMágia = %s %s %s %s\nHotckey = %d\nTempo = %d", saySpell1, saySpell2, saySpell3, saySpell4, &hotckeyExecute, &spellTime); fclose(configFile); fileMessage = FILE_FOUND; } else if (!readFile(configFile)) { fileMessage = FILE_NOT_FOUND; } } void ConfigSaved::Tibia::sendMessage(char *sayMessage, HWND tibiaWindow, DWORD waitMessage) { Sleep(waitMessage); for (int sizeCharacter = 0; sizeCharacter < strlen(sayMessage); sizeCharacter++) { SendMessage((HWND) tibiaWindow, (UINT) WM_CHAR, (TCHAR) sayMessage[sizeCharacter], (LPARAM) lParam); } } void ConfigSaved::Tibia::executeHotckey(HWND tibiaWindow, WPARAM windowsHotckey) { PostMessage((HWND) tibiaWindow, (UINT) WM_KEYDOWN, (WPARAM) windowsHotckey, (LPARAM) lParam); } template <class T> T ConfigSaved::Tibia::allocateMessage(T messageAllocated, int allocatedSize) { ZeroMemory(messageAllocated, 0); free(messageAllocated); return (T) malloc(allocatedSize); } ConfigSaved::File *executeFileCommand; ConfigSaved::Tibia *executeTibiaCommand; int main() { GetUserName(userName, &userNameSize); wsprintf(characterBuffer, "BOT de Tibia (Executado em: %s)", userName); CharToOem(characterBuffer, characterConvert); SetConsoleTitle(characterConvert); textcolor(GREEN); textbackground(YELLOW); clrscr(); system("color e2"); GetClientRect(GetDesktopWindow(), &clientRect); clientRect.left = (clientRect.right / 2) - (660 / 2); clientRect.top = (clientRect.bottom / 2) - (400 / 2); SetWindowPos(GetForegroundWindow(), 0, clientRect.left, clientRect.top, 750, 400, 0); GetSystemTime(&systemTime); executeFileCommand->loadFileSettings(configFile, saySpell1, saySpell2, saySpell3, saySpell4, hotckeyExecute); if (fileMessage == FILE_FOUND) { CharToOem("O BOT está ativado.", characterConvert); _strtime(characterTime); printf("\n [%.2d/%.2d/%.2d - %s] %s", systemTime.wDay, systemTime.wMonth, systemTime.wYear, characterTime, characterConvert); } else if (fileMessage == FILE_NOT_FOUND) { CharToOem("O arquivo \"config.ini\" não foi encontrado.", characterConvert); _strtime(characterTime); printf("\n [%.2d/%.2d/%.2d - %s] %s", systemTime.wDay, systemTime.wMonth, systemTime.wYear, characterTime, characterConvert); getch(); return -1; } handleProcess = CreateThread(0, 0, (LPTHREAD_START_ROUTINE) Process, 0, 0, &processIdentification); if (handleProcess && fileMessage == FILE_FOUND) { WaitForSingleObject(handleProcess, INFINITE); TerminateThread(handleProcess, processIdentification); CloseHandle(handleProcess); } PostQuitMessage(0); } DWORD WINAPI Process(LPVOID lpParameter) { sayMessage = executeTibiaCommand->allocateMessage<char *>(sayMessage, MAX_PATH); wsprintf(sayMessage, "%s %s %s %s", saySpell1, saySpell2, saySpell3, saySpell4); fclose(configFile); while (!GetAsyncKeyState(VK_F1)) { executeTibiaCommand->sendMessage(sayMessage, FindWindow("TibiaClient", NULL), spellTime * 1000); executeTibiaCommand->executeHotckey(FindWindow("TibiaClient", NULL), hotckeyExecute); } } config.ini: [Configurações] Mágia = BOT feito em C++. Hotckey = 13 Tempo = 4 Utilize a lib: -lconio para compilar. Crédito: ------->Aluxes (99,9%). ------>Orbtitan(0,1%).
Postado Dezembro 23, 2010 14 anos Administrador Créditos editados, um código desse leva dias para ser feito, e ainda mais o tópico é idêntico ao original. Mas obrigado por trazer o conteúdo ao TibiaBots.net! =) REP+
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.