LOL是一款非常火热的网游,但是不少玩家还是通过隔墙插真眼挂机人机刷金币,但是还是经常被判挂机,所以构思能不能搞个小程序控制鼠标和键盘的命令,每隔一段时间触发一次,从而避开系统的挂机检测。 本文通过C语言的Windows API函数控制鼠标移动和键盘命令,实现基本的走位和技能加点与释放。 源码:
#include<windows.h> #include<stdio.h> void mouse(int m,int n) { mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE,m*65535/1366,n*65535/768,0,0); mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0); mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0); Sleep(500); } void main() { printf("请先启动lol程序并进入游戏!\n"); printf("倒计时:5\n"); Sleep(1000); printf("倒计时:4\n"); Sleep(1000); printf("倒计时:3\n"); Sleep(1000); printf("倒计时:2\n"); Sleep(1000); printf("倒计时:1\n"); Sleep(1000); char str; while(1) { Sleep(500); 技能加点 //keybd_event(0x11,0,0,0); //keybd_event('Q',0,0,0); //keybd_event('Q',0,2,0); //keybd_event(0x11,0,2,0); //Sleep(500); 技能加点 //keybd_event(0x11,0,0,0); //keybd_event('W',0,0,0); //keybd_event('W',0,2,0); //keybd_event(0x11,0,2,0); //Sleep(500); 技能加点 //keybd_event(0x11,0,0,0); //keybd_event('E',0,0,0); //keybd_event('E',0,2,0); //keybd_event(0x11,0,2,0); //Sleep(500); 技能加点 //keybd_event(0x11,0,0,0); //keybd_event('R',0,0,0); //keybd_event('R',0,2,0); //keybd_event(0x11,0,2,0); //Sleep(500); mouse(100,100); //走位 mouse(500,100); mouse(1000,100); mouse(1000,400); mouse(500,400); mouse(100,400); mouse(600,350); keybd_event('Q',0,0,0); // 释放技能 keybd_event('Q',0,2,0); Sleep(500); keybd_event('W',0,0,0); // 释放技能 keybd_event('W',0,2,0); Sleep(500); keybd_event('E',0,0,0); // 释放技能 keybd_event('E',0,2,0); Sleep(500); keybd_event('R',0,0,0); // 释放技能 keybd_event('R',0,2,0); Sleep(500); keybd_event('D',0,0,0); // 释放技能 keybd_event('D',0,2,0); Sleep(500); keybd_event('F',0,0,0); // 释放技能 keybd_event('F',0,2,0); Sleep(500); keybd_event('4',0,0,0); // 释放技能 keybd_event('4',0,2,0); //keybd_event(0x0D,0,0,0); // 回车 //keybd_event(0x0D,0,2,0); Sleep(3000); } }使用方法: 打开LOL进入一局人机游戏,然后运行此程序即可。
存在的问题: 技能加点存在bug;不能智能的在游戏结束后再重刷一局。
如果有大神知道其中蹊跷 欢迎指导交流!

