赞
踩
置顶:最新连点器更好了
如果编译乱码,敬请参阅Embarcadero Dev-C++ 中文字符的处理
此处敬告:以上连点器是偏游戏性的,本文的讲解也是偏游戏性的,请谨慎阅读。
在 Minecraft \texttt{Minecraft} Minecraft各大服务器中,你是否苦恼于手速太慢,打不过?
看到这篇文章,那就是你的福利。使用 C + + \rm C++ C++,编写一个独特的连点器,震惊所有人!
前置知识:
I
.
\rm{I.}
I. Sleep()
函数
要理解这个函数,其实也不难。Sleep(x)
的作用是让程序休眠
x
x
x 毫秒,在那期间,程序什么都不会干。很简单。
I
I
.
\rm{II.}
II.mouse_event
顾名思义,mouse_event
的作用是执行一次鼠标的事件。关于鼠标事件,有两个最常用的:
mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0);
让鼠标左键点击一次;
mouse_event(MOUSEEVENTF_RIGHTDOWN|MOUSEEVENTF_RIGHTUP,0,0,0,0);
让鼠标右键点击一次。
I
I
I
.
\rm{III.}
III.GetAsyncKeyState(key)
key
是键盘上面的一个键,可以是大写字母或数字。如果你点击了这个键,GetAsyncKeyState(key)
就会返回true
;否则返回false
。
I V . \rm{IV.} IV. 改变文字颜色
现在来说主体。
前置知识说完了,写出一份优秀的代码应该不成什么问题:
这是一份可以点击鼠标左键或右键的代码,还可以控制频率。
#include<bits/stdc++.h> #include<windows.h> #include<conio.h> using namespace std; typedef unsigned long long ull; typedef long long ll; void SetColorAndBackground(int ForgC, int BackC) { WORD wColor = ((BackC & 0x0F) << 4) + (ForgC & 0x0F); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), wColor); } int main(){ SetColorAndBackground(11,9); printf("---------C++ Quick Click---------\n\n\n\n\n"); SetColorAndBackground(4,0); char key; int CPS; string s="The notes you must know before use:\n1.Never let the CPS more than 100 or your computer will crash.\n2.If you use this for Minecraft service,don't let the CPS more than 13.Or you may be kicked out!"; for(int i=0;i<s.size();++i){ cout<<s[i]; Sleep(75); } SetColorAndBackground(15,0); printf("\n"); printf("Input the CPS you need:"); scanf("%d",&CPS); LOOP:printf("\nDo you want to click left of right?\nIf you want to click left button,input 1;\nIf yoou want to click right button,input 2.\n"); int op; scanf("%d",&op); if(op==1){ printf("What key do you want to press to take left button's place?"); cin>>key; if(key>='a'&&key<='z'){ key-=32; } cout<<"Press "<<key<<" to start quick click"; double time=CPS; double t=1000/time; while(true){ if(GetAsyncKeyState(key)){ mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0); Sleep(t); } } } else if(op==2){ printf("What key do you want to press to take right button's place?"); cin>>key; if(key>='a'&&key<='z'){ key-=32; } cout<<"Press "<<key<<" to start quick click"; double time=CPS; double t=1000/time; while(true){ if(GetAsyncKeyState(key)){ mouse_event(MOUSEEVENTF_RIGHTDOWN|MOUSEEVENTF_RIGHTUP,0,0,0,0); Sleep(t); } } } else{ printf("Invalid input!\n"); goto LOOP; } return 0; }
这份代码的缺点是点击过于规律,容易被发现。
这是一份点击不规律的代码,还可以根据点击频率更改字体颜色:
#include<bits/stdc++.h> #include<conio.h> #include<windows.h> using namespace std; typedef unsigned long long ull; typedef long long ll; void SetColorAndBackground(int ForgC, int BackC) { WORD wColor = ((BackC & 0x0F) << 4) + (ForgC & 0x0F); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), wColor); } int main(){ srand(time(0)); char key='R'; printf("Press R to start Quick Click\nNow CPS:"); while(true){ int t=rand()%100; if(t<=50){ t+=50; } double tt=t; double cpsCCPS=1000.0/tt; if(GetAsyncKeyState(key)){ mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0); Sleep(t); if(cpsCCPS<=12.00){ SetColorAndBackground(12,0); } else if(cpsCCPS<=14.00){ SetColorAndBackground(14,0); } else if(cpsCCPS<=17.00){ SetColorAndBackground(10,0); } else{ SetColorAndBackground(9,0); } printf("%.5f",cpsCCPS); printf("\b\b\b\b\b\b\b\b"); SetColorAndBackground(7,0); } } return 0; }
但是,它不仅只能点鼠标左键,还不能控制频率。(不过你想点右键的话把本代码中所有LEFT
改成RIGHT
就行了。)
这一份代码十分完美,点击既不规律,还可以控制频率,即我们开头看到的最新连点器。
#include<bits/stdc++.h> #include<windows.h> using namespace std; void SetColorAndBackground(int ForgC, int BackC) { WORD wColor = ((BackC & 0x0F) << 4) + (ForgC & 0x0F); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), wColor); } void UpDaTe(){ SetColorAndBackground(11,0); printf("Much better Irregular Quick Click[Version:4.0]\n(c)light_dream Corporation.\n\n"); printf("Update on 2023/11/21\n"); printf("Update:可以使用中文!\n\n"); } void NoTiCe(){ SetColorAndBackground(12,0); printf("使用须知:\n"); printf("1.设定点击频率的时候,不要让频率超过120!否则你会闻到一股烤焦的味道!\n"); printf("2.把这玩意用在Minecraft各大服务器的同志们,最好不要让点击频率超过14!否则可能被封!(本人亲身体会)\n"); printf("3.如果您使用C++编译器编译本代码而乱码,敬请参阅:\n"); printf("https://www.luogu.com.cn/blog/642173/The-treatment-of-treating-chinese-charactor-in-enbarcadero-dev-dpp!\n\n"); } int main(){ srand(time(0)); char key; UpDaTe(); NoTiCe(); SetColorAndBackground(15,0); printf("输入您要的点击频率(一个整数,单位 次/秒):"); int cps; scanf("%d",&cps); double Cps=cps; double sleep_time=1000/Cps; int bse=sleep_time; bse=bse-5; printf("输入您想要按下来启动连点的按键:"); cin>>key; if(key>='a'&&key<='z'){ key=key-32; } int op; printf("您想点左键还是右键?\n"); SetColorAndBackground(10,0); printf("左键"); SetColorAndBackground(15,0); printf("——输入1;\n"); SetColorAndBackground(10,0); printf("右键"); SetColorAndBackground(15,0); printf("——输入2.\n"); scanf("%d",&op); printf("按%c开始连点\n现在的点击频率(单位 次/秒):",key); if(op==1){ while(true){ int t=rand()%10; t+=bse; double tt=t; double cpsCCPS=1000.0/tt; if(GetAsyncKeyState(key)){ mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0); Sleep(t); if(t>=bse+8){ SetColorAndBackground(12,0); } else if(t>=bse+5){ SetColorAndBackground(14,0); } else if(t>=bse+2){ SetColorAndBackground(10,0); } else{ SetColorAndBackground(9,0); } printf("%.5f",cpsCCPS); if(cpsCCPS<10){ printf("\b\b\b\b\b\b\b"); } else if(cpsCCPS<100&&cpsCCPS>=10){ printf("\b\b\b\b\b\b\b\b"); } else{ printf("\b\b\b\b\b\b\b\b\b"); } SetColorAndBackground(7,0); } } } else{ while(true){ int t=rand()%10; t+=bse; double tt=t; double cpsCCPS=1000.0/tt; if(GetAsyncKeyState(key)){ mouse_event(MOUSEEVENTF_RIGHTDOWN|MOUSEEVENTF_RIGHTUP,0,0,0,0); Sleep(t); if(t>=bse+8){ SetColorAndBackground(12,0); } else if(t>=bse+5){ SetColorAndBackground(14,0); } else if(t>=bse+2){ SetColorAndBackground(10,0); } else{ SetColorAndBackground(9,0); } printf("%.5f",cpsCCPS); if(cpsCCPS<10){ printf("\b\b\b\b\b\b\b"); } else if(cpsCCPS<100&&cpsCCPS>=10){ printf("\b\b\b\b\b\b\b\b"); } else{ printf("\b\b\b\b\b\b\b\b\b"); } SetColorAndBackground(7,0); } } } return 0; }
但是说句公道话,你真的不需要这样点击不规律的代码的话,选第一个就是了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。