Advertisement
Danicron

my commands so far

Jun 1st, 2019
359
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.18 KB | None | 0 0
  1. void Commands::processCommands(std::string& reply, HWND& creaturewindow, INPUT& ip, std::vector<WPARAM>& wparam, std::vector<LPARAM>& lparam)
  2. {
  3.     ip.type = INPUT_KEYBOARD;
  4.     ip.ki.wScan = 0;
  5.     ip.ki.time = 0;
  6.     ip.ki.dwExtraInfo = 0;
  7.  
  8.     std::regex re("!(.+)@.+ PRIVMSG #([^\\s]+) :(.*)");
  9.     std::smatch match;
  10.     std::regex_search(reply, match, re);
  11.     std::cout << "User: " << match[1] << std::endl;
  12.     std::cout << "Channel: " << match[2] << " Message: " << match[3] << std::endl;
  13.  
  14.     if (match[3] == "!switch")
  15.     {
  16.         std::cout << "Switch Command Received!" << std::endl;
  17.         if (creaturewindow != NULL)
  18.         {
  19.             SendMessage(creaturewindow, WM_KEYDOWN, VK_TAB, 0);
  20.             SendMessage(creaturewindow, WM_CHAR, VK_TAB, 9);
  21.             Sleep(300);
  22.             SendMessage(creaturewindow, WM_KEYUP, VK_TAB, 1);
  23.         }
  24.  
  25.     }
  26.     else if (match[3] == "!feed")
  27.     {
  28.         std::cout << "Feed Command Received!" << std::endl;
  29.         //GetWindowRect();
  30.         SetForegroundWindow(creaturewindow);
  31.         ShowWindow(creaturewindow, SW_MAXIMIZE);
  32.         SetCursorPos(625, 250);
  33.  
  34.         for (int i = 0; i < 2; i++)
  35.         {
  36.             ip.ki.wVk = VK_CONTROL;
  37.             ip.ki.dwFlags = 0; // 0 for key press
  38.             SendInput(1, &ip, sizeof(INPUT));
  39.  
  40.             ip.ki.wVk = VK_SHIFT;
  41.             ip.ki.dwFlags = 0; // 0 for key press
  42.             SendInput(1, &ip, sizeof(INPUT));
  43.  
  44.             // Press the "V" key
  45.             ip.ki.wVk = 'E';
  46.             ip.ki.dwFlags = 0; // 0 for key press
  47.             SendInput(1, &ip, sizeof(INPUT));
  48.  
  49.             Sleep(300);
  50.  
  51.             // Release the "V" key
  52.             ip.ki.wVk = 'E';
  53.             ip.ki.dwFlags = KEYEVENTF_KEYUP;
  54.             SendInput(1, &ip, sizeof(INPUT));
  55.  
  56.             ip.ki.wVk = VK_SHIFT;
  57.             ip.ki.dwFlags = KEYEVENTF_KEYUP;
  58.             SendInput(1, &ip, sizeof(INPUT));
  59.  
  60.  
  61.             ip.ki.wVk = VK_CONTROL;
  62.             ip.ki.dwFlags = KEYEVENTF_KEYUP;
  63.             SendInput(1, &ip, sizeof(INPUT));
  64.             Sleep(800);
  65.         }
  66.     }
  67.     else if (match[3] == "!home")
  68.     {
  69.         std::cout << "First Room Command Received!" << std::endl;
  70.  
  71.         SendMessage(creaturewindow, WM_KEYDOWN, VK_HOME, 0);
  72.         Sleep(300);
  73.         SendMessage(creaturewindow, WM_KEYUP, VK_HOME, 1);
  74.     }
  75.     else if (match[3] == "!end")
  76.     {
  77.         std::cout << "Last Room Command Received!" << std::endl;
  78.  
  79.         SendMessage(creaturewindow, WM_KEYDOWN, VK_END, 0);
  80.         Sleep(300);
  81.         SendMessage(creaturewindow, WM_KEYUP, VK_END, 1);
  82.     }
  83.     else if (match[3] == "!metanext")
  84.     {
  85.         std::cout << "Next MetaRoom Command Received" << std::endl;
  86.  
  87.         SendMessage(creaturewindow, WM_KEYDOWN, VK_NEXT, 0);
  88.         Sleep(300);
  89.         SendMessage(creaturewindow, WM_KEYUP, VK_NEXT, 1);
  90.     }
  91.     else if (match[3] == "!metalast")
  92.     {
  93.         std::cout << "Previous MetaRoom Command Received" << std::endl;
  94.  
  95.         SendMessage(creaturewindow, WM_KEYDOWN, VK_PRIOR, 0);
  96.         Sleep(300);
  97.         SendMessage(creaturewindow, WM_KEYUP, VK_PRIOR, 1);
  98.     }
  99.     else if (match[3] == "!love")
  100.     {
  101.         std::cout << "Love Time!" << std::endl;
  102.  
  103.         SetForegroundWindow(creaturewindow);
  104.         SetFocus(creaturewindow);
  105.         SetCursorPos(500, 300);
  106.  
  107.        
  108.  
  109.         wparam.emplace_back('L');
  110.         wparam.emplace_back('O');
  111.         wparam.emplace_back('V');
  112.         wparam.emplace_back('E');
  113.         wparam.emplace_back('T');
  114.         wparam.emplace_back('I');
  115.         wparam.emplace_back('M');
  116.         wparam.emplace_back('E');
  117.  
  118.  
  119.         lparam.emplace_back(108);
  120.         lparam.emplace_back(111);
  121.         lparam.emplace_back(118);
  122.         lparam.emplace_back(101);
  123.         lparam.emplace_back(116);
  124.         lparam.emplace_back(105);
  125.         lparam.emplace_back(109);
  126.         lparam.emplace_back(101);
  127.  
  128.         for (int i = 0; i < 4; i++)
  129.         {
  130.             SendMessage(creaturewindow, WM_KEYDOWN, wparam[i], 0);
  131.             SendMessage(creaturewindow, WM_CHAR, wparam[i], lparam[i]);
  132.             Sleep(100);
  133.             SendMessage(creaturewindow, WM_KEYUP, wparam[i], 1);
  134.            
  135.         }
  136.  
  137.         SendMessage(creaturewindow, WM_KEYDOWN, VK_SPACE, 0);
  138.         SendMessage(creaturewindow, WM_CHAR, VK_SPACE, 32);
  139.         Sleep(100);
  140.         SendMessage(creaturewindow, WM_KEYUP, VK_SPACE, 1);
  141.  
  142.         for (int i = 4; i < wparam.size(); i++)
  143.         {
  144.             SendMessage(creaturewindow, WM_KEYDOWN, wparam[i], 0);
  145.             SendMessage(creaturewindow, WM_CHAR, wparam[i], lparam[i]);
  146.             Sleep(100);
  147.             SendMessage(creaturewindow, WM_KEYUP, wparam[i], 1);
  148.            
  149.         }
  150.        
  151.         SendMessage(creaturewindow, WM_KEYDOWN, VK_RETURN, 0);
  152.         SendMessage(creaturewindow, WM_CHAR, VK_RETURN, 13);
  153.         Sleep(100);
  154.         SendMessage(creaturewindow, WM_KEYUP, VK_RETURN, 1);
  155.  
  156.         wparam.clear();
  157.         lparam.clear();
  158.     }
  159. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement