天龙八部网游单机版薄这个字为什么和谐

后使用快捷导航没有帐号?
查看: 14533|回复: 26
新人欢迎积分1 阅读权限90积分16762精华1UID8075312帖子金钱127825 威望36
  小米虫、 ...
UID8075312帖子威望36 多玩草226 草
玩久了天龙八部,每天对着一样的界面,一样的UI,一样的字体,会不会觉得有点厌烦呢?想不想做一些改变,让自己的客户端变得与众不同,或者更加贴近自己平时的使用习惯呢?一起看下面的教程吧。换了那一成不变的字体,让你的游戏随心所欲。
你喜欢的字体。TTF格式。
如果喜欢不同的字体,就准备3个字体文件
若只喜欢一种字体,则把此文件复制3份
1.找到你的《天龙八部2》客户端安装文件夹所在的位置。比如,笔者的游戏安装在E盘
[attach]9186907[/attach]
2.打开游戏根目录,在游戏根目录文件夹下新建一个文件夹。命名为Fonts
[attach]9186908[/attach]
3.将你喜欢的字体复制到刚刚新建的fonts文件夹中。
[attach]9186909[/attach]
4.把这三个文件分别重命名为TLNA__.TTF VDA_M.TTF和VDA_N.TTF。之后重启游戏即可。
[attach]9186910[/attach]<font color="#.显示规则
1、名为TLNA__.TTF的字体文件将作为头顶名字、称号的显示字体。
2、名为VDA_M.TTF的字体将作为战斗技能名称的显示字体。
3、名为VDA_N.TTF的字体将作为战斗伤害治疗数字的显示字体。
6.如果需要取消自定义字体,只要删除字体文件或fonts文件夹就可以了。
删除字体文件或文件夹后,游戏会以默认的字体显示。
有部分字体对于符号的支持不是很完善,有可能在游戏中出现空白的情况。
大家还是不要选择过分生僻的字体为好
& && & 1、名为TLNA_.TTF的字体文为头顶名字、称号的显示字体。
  2、名为VDA_M.TTF的字体为战斗技能名称的显示字体。
  3、名为VDA_N.TTF的字体为战斗伤害治疗数字的显示字体。
  4、如果喜欢不同的字体,就准备3个字体文件、依次重命名
  试字体、别人名字的效果图
新人欢迎积分1 阅读权限90积分16762精华1UID8075312帖子金钱127825 威望36
  小米虫、 ...
UID8075312帖子威望36 多玩草226 草
本帖最后由 云児。 于
08:47 编辑
喜欢什么字体网上可以直接下载的。
新人欢迎积分1 阅读权限80积分10543精华4UID帖子金钱9928 威望9
Lv.8, 积分 10543, 距离下一级还需 9457 积分
UID帖子威望9 多玩草105 草
不错啊 - -
新人欢迎积分1 阅读权限1积分15002精华0UID帖子金钱12163 威望30
UID帖子威望30 多玩草905 草
[attach]9187024[/attach]
本帖[attach]9187025[/attach]分
[url=http://bbs.duowan.com/forum-1365-1.html][/
新人欢迎积分2 阅读权限1积分1179精华0UID帖子金钱1910 威望6
UID帖子威望6 多玩草3 草
路过~表示顶了
新人欢迎积分1 阅读权限90积分72105精华0UID帖子金钱179 威望37
怀念曾经一起灌水的日子~miss your。
UID帖子威望37 多玩草481 草
辛苦了哦~亲爱的~
拽乃我De个性
新人欢迎积分1 阅读权限105积分107486精华3UID380601帖子金钱37360 威望121
Lv.12, 积分 107486, 距离下一级还需 27514 积分
UID380601帖子威望121 多玩草579 草
不错啊,很漂亮的
新人欢迎积分1 阅读权限1积分368精华0UID帖子金钱319 威望1
UID帖子威望1 多玩草0 草
写的不错。
壞壞☆尐尐龍
新人欢迎积分1 阅读权限70积分9862精华0UID帖子金钱74788 威望31
(~ o ~)~zZ
Lv.7, 积分 9862, 距离下一级还需 138 积分
UID帖子威望31 多玩草820 草
知道了,支持一下!
穗末の流香
新人欢迎积分1 阅读权限1积分1747精华0UID帖子金钱235 威望3
UID帖子威望3 多玩草41 草
& &支持下下&&路过 用了
伤不起 不弄了&&
Dwanメ残念
新人欢迎积分1 阅读权限50积分1171精华0UID帖子金钱2192 威望0
Lv.5, 积分 1171, 距离下一级还需 1329 积分
UID帖子威望0 多玩草281 草
哈哈 楼猪威武
  半瞳丶
新人欢迎积分1 阅读权限1积分6977精华0UID222290帖子金钱271 威望27
好基友好丽友丶
UID222290帖子威望27 多玩草617 草
云儿辛苦了
新人欢迎积分1 阅读权限90积分16762精华1UID8075312帖子金钱127825 威望36
  小米虫、 ...
UID8075312帖子威望36 多玩草226 草
可以换自己喜欢的字体 -.-&&。
新人欢迎积分0 阅读权限1积分104精华0UID帖子金钱327 威望0
UID帖子威望0 多玩草0 草
个 感到的是是 的
新人欢迎积分0 阅读权限1积分64精华0UID帖子金钱180 威望0
UID帖子威望0 多玩草0 草
Q群敢不敢加我一下
爱情守望者
爱情守望者
活动奖励勋章
活动奖励勋章
YY知道达人
YY知道达人
天龙荣誉勋章
天龙荣誉勋章
美图特工队
美图特工队
初级人缘勋章
初级人缘勋章
阳光热情勋章
阳光热情勋章
助人为乐奖
助人为乐奖
解答员勋章
解答员勋章
节日守望者
节日守望者
多玩写手勋章
多玩写手勋章
七夕活动纪念章
七夕活动纪念章
原创先锋勋章
原创先锋勋章
游戏名人勋章
游戏名人勋章
新游戏功勋勋章
新游戏功勋勋章
贴图萌勋章
贴图萌勋章
马年新春勋章
手机APP马年迎春,马上有钱!
需要金钱:1100
手机盒子客户端点击或扫描下载
Powered by研究天龙八部(网游), 写了个辅助自动打怪、答题提示的辅助工具
我的图书馆
研究天龙八部(网游), 写了个辅助自动打怪、答题提示的辅助工具
最近玩了玩天龙八部,玩这个游戏简直就是遭罪,升级非常慢,而且杀怪也很累,纯手工,我都不知道为什么还有那么多人玩。玩到40多级了,实在是受不了,游戏的颜色搭配也是非常的伤眼睛,于是我就想写一个自动打怪的辅助工具得了。
& 接下来我就花了1天多的时间写了程序。有自动寻怪、自动加血、自动加蓝、自动释放技能、防外挂答题报警(利用Fetion发送短信到手机)。有了这个工具后我就可以挂上,关掉电脑,需要答题的时候就来答一下题。
附上主要代码(有需要代码邮件和我联系吧:):
unit&BackMainFinterfaceuses&&Windows,&Messages,&SysUtils,&Variants,&Classes,&Graphics,&Controls,&Forms,&&Dialogs,&ExtCtrls,&Menus,&GlobalDefs,&StdCtype&&TNumItem&=&record&&&&StartCol:&B&&&&EndCol:&B&&end;&&TNumItemAry&=&array&of&TNumI&&TBackMainForm&=&class(TForm)&&&&MainTray:&TTrayI&&&&TrayMenu:&TPopupM&&&&SysSetMenuItem:&TMenuI&&&&ExitSysMenuItem:&TMenuI&&&&N4:&TMenuI&&&&TimerFinder:&TT&&&&procedure&ExitSysMenuItemClick(Sender:&TObject);&&&&procedure&SysSetMenuItemClick(Sender:&TObject);&&&&procedure&FormCreate(Sender:&TObject);&&&&procedure&TimerFinderTimer(Sender:&TObject);&&&&procedure&FormDestroy(Sender:&TObject);&&&&procedure&MainTrayClick(Sender:&TObject);&&private&&&&FSCBitMap:&TB&&&&FNumBitMapAry:&array[0..9]&of&TB&&&&FCurGamePos:&TP&&&&FFightUnixTick:&C&&&&FIsFighting:&B&&&&FIsNeedAnswerQT:&B&&&&FLastCalcAnswerUnixTick:&C&&&&FLifeCurrent:&I&&&&FMagicCurrent:&I&&&&FBBLifeCurrent:&I&&&&FPressF1UnixTick:&C&&&&FPressF2UnixTick:&C&&&&FPressF3UnixTick:&C&&&&FPressF4UnixTick:&C&&&&procedure&CreateNumBitmapA&&&&procedure&LoadNumBitmapAry(const&DirPath:&string);&&&&procedure&DestroyNumBitmapA&&private&&&&procedure&WMHotKey(var&Message:&TMessage);&message&WM_HOTKEY;&&&&procedure&RegisterHotK&&&&procedure&InitializeLifeAndMagicC&&&&procedure&CalcCurrentP&&&&procedure&CalcFightS&&&&procedure&CalcLifeAndM&&&&procedure&CalcQuestionS&&&&procedure&AutoPressMagicK&&&&function&TranslateWinHotKeyToLocal(HotKeyValue:&Cardinal):&W&&&&&&&&procedure&AnalyseNum(ABitmap:&TB&NumAry:&TNumItemA&List:&TStringList);&&&&procedure&GetNumList(BitMap:&TB&var&NumAry:&TNumItemAry);&&public&&end;&&TBeepThread&=&class(TThread)&&private&&&&FBeepSecs:&I&&&&procedure&SyncSendFetionM&&protected&&&&procedure&E&&&public&&&&constructor&Create(BeepSecs:&Integer);&&end;procedure&SendFetionMsg(const&Msg:&string);var&&BackMainForm:&TBackMainFimplementationuses&SystemSetFrm,&BcConfigMgr,&PisConfig,&VirtualKeys,&FetchWindow,&Math,&&DateU{$R&*.dfm}var&&BeepThread:&TBeepThread&=&nil;procedure&SendFetionMsg(const&Msg:&string);begin&&if&FetionWindowHandle&&&&0&then&&begin&&&&ShowWindow(FetionWindowHandle,&SW_NORMAL);&&&&SetForegroundWindow(FetionWindowHandle);&&&&SendMessage(FetionInputHandle,&WM_SETTEXT,&0,&Integer(PChar(Msg)));&&&&Sleep(20);&&&&SendMessage(FetionSendBtnHandle,&WM_LBUTTONDOWN,&MK_LBUTTON,&0);&&&&Sleep(10);&&&&SendMessage(FetionSendBtnHandle,&WM_LBUTTONUP,&0,&0);&&&&ShowWindow(FetionWindowHandle,&SW_HIDE);&&end;end;procedure&TBackMainForm.GetNumList(BitMap:&TB&var&NumAry:&TNumItemAry);&&procedure&FetchStartCol(var&LoopVar:&I&BackColor:&Integer);&&var&&&&J:&I&&begin&&&&while&(LoopVar&&&BitMap.Width)&do&&&&begin&&&&&&for&J&:=&0&to&BitMap.Height&-&1&do&&&&&&begin&&&&&&&&//如果不是背景 &&&&&&&&if&(BitMap.Canvas.Pixels[LoopVar,&J]&xor&BackColor)&&&&0&then&&&&&&&&begin&&&&&&&&&&B&&&&&&&&end;&&&&&&end;&&&&&&//如果不是背景,则找到字符 &&&&&&if&J&&&BitMap.Height&then&&&&&&&&B&&&&&&&&&&&&&&&&Inc(LoopVar);&&&&end;&&end;&&procedure&FetchEndCol(var&LoopVar:&I&BackColor:&Integer);&&var&&&&J:&I&&begin&&&&while&(LoopVar&&&BitMap.Width)&do&&&&begin&&&&&&for&J&:=&0&to&BitMap.Height&-&1&do&&&&&&begin&&&&&&&&//如果是字符 &&&&&&&&if&(BitMap.Canvas.Pixels[LoopVar,&J]&xor&BackColor)&&&&0&then&&&&&&&&begin&&&&&&&&&&B&&&&&&&&end;&&&&&&end;&&&&&&//如果不是字符,则找到背景 &&&&&&if&J&&=&BitMap.Height&then&&&&&&&&B&&&&&&Inc(LoopVar);&&&&end;&&end;&&&&var&&I:&I&&BackColor:&I&&StartCol,&EndCol:&Bbegin&&BackColor&:=&BitMap.Canvas.Pixels[0,&0];&&I&:=&0;&&while&I&&&BitMap.Width&do&&begin&&&&FetchStartCol(I,&BackColor);&&&&if&I&&=&BitMap.Width&then&&&&&&B&&&&StartCol&:=&I;&&&&FetchEndCol(I,&BackColor);&&&&if&I&&=&BitMap.Width&then&&&&&&B&&&&EndCol&:=&I&-&1;&&&&SetLength(NumAry,&Length(NumAry)&+&1);&&&&NumAry[High(NumAry)].StartCol&:=&StartC&&&&NumAry[High(NumAry)].EndCol&:=&EndC&&end;end;procedure&TBackMainForm.InitializeLifeAndMagicCbegin&&if&LifeColor&=&0&then&&&&LifeColor&:=&FSCBitMap.Canvas.Pixels[LifeX,&LifeY];&&if&MagicColor&=&0&then&&&&MagicColor&:=&FSCBitMap.Canvas.Pixels[MagicX,&MagicY];&&BBLifeColor&:=&LifeC&&MonsterLifeColor&:=&LifeCend;procedure&TBackMainForm.AnalyseNum(ABitmap:&TB&NumAry:&TNumItemA&&List:&TStringList);&&function&SameNum(const&NumItem:&TNumI&Num:&Integer):&B&&var&&&&J,&K:&I&&&&RealWidth:&I&&&&RefIsBgColor,&IsBgColor:&B&&&&LRefBgColor,&LBgColor:&I&&begin&&&&Result&:=&T&&&&RealWidth&:=&NumItem.EndCol&-&NumItem.StartCol&+&1;&&&&if&RealWidth&&&FNumBitMapAry[Num].Width&then&&&&&&RealWidth&:=&FNumBitMapAry[Num].W&&&&LRefBgColor&:=&FNumBitMapAry[0].Canvas.Pixels[0,&0];&&&&LBgColor&:=&ABitmap.Canvas.Pixels[0,0];&&&&for&J&:=&0&to&RealWidth&-&1&do&&&&begin&&&&&&for&K&:=&0&to&7&do&&&&&&begin&&&&&&&&RefIsBgColor&:=&FNumBitMapAry[Num].Canvas.Pixels[J,&K]&=&LRefBgC&&&&&&&&IsBgColor&:=&ABitmap.Canvas.Pixels[J&+&NumItem.StartCol,&K]&=&LBgC&&&&&&&&//&不相同退出 &&&&&&&&if&RefIsBgColor&xor&IsBgColor&=&True&then&&&&&&&&begin&&&&&&&&&&Result&:=&F&&&&&&&&&&E&&&&&&&&end;&&&&&&end;&&&&end;&&end;&&function&GetStringNum(const&NumItem:&TNumItem):&string;&&var&&&&I:&I&&begin&&&&Result&:=&'';&&&&for&I&:=&0&to&9&do&&&&begin&&&&&&if&SameNum(NumItem,&I)&then&&&&&&begin&&&&&&&&Result&:=&IntToStr(I);&&&&&&&&B&&&&&&end;&&&&end;&&end;var&&I:&I&&LNumStr,&TmpStr:&string;begin&&LNumStr&:=&'';&&for&I&:=&0&to&High(NumAry)&do&&begin&&&&TmpStr&:=&GetStringNum(NumAry[I]);&&&&if&TmpStr&&&&''&then&&&&begin&&&&&&LNumStr&:=&LNumStr&+&TmpS&&&&end;&&&&if&I&&&High(NumAry)&then&&&&begin&&&&&&if&(NumAry[I+1].StartCol&-&NumAry[I].EndCol)&&&8&then&&&&&&begin&&&&&&&&List.Add(LNumStr);&&&&&&&&LNumStr&:=&'';&&&&&&end;&&&&end;&&end;&&List.Add(LNumStr);end;procedure&TBackMainForm.AutoPressMagicKbegin&&if&PressKeyF1Secs&&&&0&then&&begin&&&&if&(DateTimeToUnix(Now)&-&FPressF1UnixTick)&&&PressKeyF1Secs&then&&&&begin&&&&&&MonitorKeyPress([],&VK_F1);&&&&&&FPressF1UnixTick&:=&DateTimeToUnix(Now);&&&&&&Sleep(10);&&&&end;&&end;&&if&PressKeyF2Secs&&&&0&then&&begin&&&&if&(DateTimeToUnix(Now)&-&FPressF2UnixTick)&&&PressKeyF2Secs&then&&&&begin&&&&&&MonitorKeyPress([],&VK_F2);&&&&&&FPressF2UnixTick&:=&DateTimeToUnix(Now);&&&&&&Sleep(10);&&&&end;&&end;&&if&PressKeyF3Secs&&&&0&then&&begin&&&&if&(DateTimeToUnix(Now)&-&FPressF3UnixTick)&&&PressKeyF3Secs&then&&&&begin&&&&&&MonitorKeyPress([],&VK_F3);&&&&&&FPressF3UnixTick&:=&DateTimeToUnix(Now);&&&&&&Sleep(10);&&&&end;&&end;&&if&PressKeyF4Secs&&&&0&then&&begin&&&&if&(DateTimeToUnix(Now)&-&FPressF4UnixTick)&&&PressKeyF4Secs&then&&&&begin&&&&&&MonitorKeyPress([],&VK_F4);&&&&&&FPressF4UnixTick&:=&DateTimeToUnix(Now);&&&&&&Sleep(10);&&&&end;&&end;&&&&end;procedure&TBackMainForm.CalcCurrentPvar&&LBitMap:&TB&&NumAry:&TNumItemA&&StrList:&TStringLbegin&&LBitMap&:=&TBitmap.C&&StrList&:=&TStringList.C&&try&&&&LBitMap.PixelFormat&:=&pf24&&&&LBitMap.Width&:=&80;&&&&LBitMap.Height&:=&8;&&&&LBitMap.Canvas.CopyRect(Rect(0,&0,&80,&8),&FSCBitMap.Canvas,&&&&&&Rect(FSCBitMap.Width-110,&29,&FSCBitMap.Width-30,&37));&&&&GetNumList(LBitMap,&NumAry);&&&&if&Length(NumAry)&&=&0&then&&&&&&E&&&&AnalyseNum(LBitMap,&NumAry,&StrList);&&&&FCurGamePos.X&:=&StrToInt(StrList[0]);&&&&FCurGamePos.Y&:=&StrToInt(StrList[1]);&&finally&&&&StrList.F&&&&LBitMap.F&&end;end;procedure&TBackMainForm.CalcFightSbegin&&FIsFighting&:=&&&&FSCBitMap.Canvas.Pixels[MonsterLifeX,&MonsterLifeY]&=&MonsterLifeCend;procedure&TBackMainForm.CalcLifeAndMvar&&I:&Ibegin&&//&初始化数据 &&InitializeLifeAndMagicC&&//&计算生命 &&I&:=&0;&&FLifeCurrent&:=&0;&&while&True&do&&begin&&&&if&GetRValue(FSCBitMap.Canvas.Pixels[LifeX+I,&LifeY])&&&&GetRValue(LifeColor)&then&&&&&&B&&&&Inc(I);&&&&Inc(FLifeCurrent);&&end;&&//&计算魔法 &&I&:=&0;&&FMagicCurrent&:=&0;&&while&True&do&&begin&&&&if&GetBValue(FSCBitMap.Canvas.Pixels[MagicX+I,&MagicY])&&&&GetBValue(MagicColor)&then&&&&&&B&&&&Inc(I);&&&&Inc(FMagicCurrent);&&end;&&//&计算宝宝生命 &&I&:=&0;&&FBBLifeCurrent&:=&0;&&while&True&do&&begin&&&&if&GetRValue(FSCBitMap.Canvas.Pixels[BBLifeX+I,&BBLifeY])&&&&GetRValue(BBLifeColor)&then&&&&&&B&&&&Inc(I);&&&&Inc(FBBLifeCurrent);&&end;end;procedure&TBackMainForm.CalcQuestionS&&//&判断颜色是否有效 &&function&IsValidPoint(X,&Y:&Integer):&B&&var&&&&AColor:&TC&&begin&&&&AColor&:=&FSCBitMap.Canvas.Pixels[X,&Y];&&&&Result&:=&T&&&&Result&:=&Result&and&(GetRValue(AColor)&&=&GetRValue(QT_MIN_COLOR));&&&&Result&:=&Result&and&(GetGValue(AColor)&&=&GetGValue(QT_MIN_COLOR));&&&&Result&:=&Result&and&(GetBValue(AColor)&&=&GetBValue(QT_MIN_COLOR));&&end;&&//&判断是否是问题窗口 &&function&IsValidQuestion(X,&Y:&Integer):&B&&begin&&&&Result&:=&T&&&&Result&:=&Result&and&IsValidPoint(X+QT_WIDTH,&Y);&&&&Result&:=&Result&and&IsValidPoint(X,&Y+QT_HEIGHT);&&&&Result&:=&Result&and&IsValidPoint(X+QT_WIDTH,&Y+QT_HEIGHT);&&end;var&&I,&J:&Ibegin&&if&(DateTimeToUnix(Now)&-&FLastCalcAnswerUnixTick)&&&5&then&&&&E&&//&记录最后计算时间 &&FLastCalcAnswerUnixTick&:=&DateTimeToUnix(Now);&&FIsNeedAnswerQT&:=&F&&for&I&:=&0&to&(FSCBitMap.Width&div&2)&-&1&do&&begin&&&&for&J&:=&0&to&(FSCBitMap.Height&div&2)&-&1&do&&&&begin&&&&&&if&IsValidPoint(I,&J)&then&&&&&&begin&&&&&&&&if&IsValidQuestion(I,&J)&then&&&&&&&&begin&&&&&&&&&&FIsNeedAnswerQT&:=&T&&&&&&&&&&E&&&&&&&&end;&&&&&&end;&&&&end;&&end;end;procedure&TBackMainForm.CreateNumBitmapAvar&&I:&Ibegin&&for&I&:=&0&to&9&do&&begin&&&&FNumBitMapAry[I]&:=&TBitmap.C&&&&FNumBitMapAry[I].PixelFormat&:=&pf24&&end;end;procedure&TBackMainForm.DestroyNumBitmapAvar&&I:&Ibegin&&for&I&:=&0&to&9&do&&begin&&&&FNumBitMapAry[I].F&&end;end;procedure&TBackMainForm.ExitSysMenuItemClick(Sender:&TObject);begin&&if&Application.MessageBox('确实要退出?',&'提示信息',&&&&MB_YESNO&+&MB_ICONQUESTION)&=&mrYes&&then&&begin&&&&Application.T&&end;end;procedure&TBackMainForm.FormCreate(Sender:&TObject);&&procedure&LoadC&&begin&&&&FetionWindowIncText&:=&ConfigMgr.FetionWindowT&&&&FetionWindowHandle&:=&ConfigMgr.FetionWindowH&&&&FetionInputHandle&:=&ConfigMgr.FetionInputWindowH&&&&FetionSendBtnHandle&:=&ConfigMgr.FetionSendBtnWindowH&&end;begin&&FSCBitMap&:=&TBitmap.C&&FFightUnixTick&:=&0;&&R&&MainTray.Hint&:=&'天龙八部自助打怪&1.0';&&LoadC&&CreateNumBitmapA&&LoadNumBitmapAry('./DigitalImages/');&&RegisterHotK&&FCurGamePos.X&:=&0;&&FCurGamePos.Y&:=&0;&&TimerFinder.Interval&:=&FinderTimerMSend;procedure&TBackMainForm.FormDestroy(Sender:&TObject);begin&&FSCBitMap.F&&DestroyNumBitmapAend;procedure&TBackMainForm.LoadNumBitmapAry(const&DirPath:&string);var&&I:&Ibegin&&for&I&:=&0&to&9&do&&begin&&&&FNumBitMapAry[I].LoadFromFile(Format('%s%d.bmp',&[DirPath,&I]));&&end;end;procedure&TBackMainForm.MainTrayClick(Sender:&TObject);begin&&BackMainForm.Send;procedure&TBackMainForm.RegisterHotKvar&&GlobalId:&W&&AModifiers:&Cbegin&&AModifiers&:=&MOD_CONTROL&+&MOD_ALT;;&&//&开关&CTRL&+&ALT&+&F10 &&GlobalId&:=&GlobalAddAtom(PChar('HotKey_TLBBHelperF10'));&&RegisterHotKey(Self.Handle,&GlobalId,&AModifiers,&VK_F10);&&//&设定原点&CTRL&+&ALT&+&F11 &&GlobalId&:=&GlobalAddAtom(PChar('HotKey_TLBBHelperF11'));&&RegisterHotKey(Self.Handle,&GlobalId,&AModifiers,&VK_F11);&&//&调出设定对话框&CTRL&+&ALT&+&F12 &&GlobalId&:=&GlobalAddAtom(PChar('HotKey_TLBBHelperF12'));&&RegisterHotKey(Self.Handle,&GlobalId,&AModifiers,&VK_F12);&&//&终止发送报警消息线程&CTRL&+&ALT&+&F1 &&GlobalId&:=&GlobalAddAtom(PChar('HotKey_TLBBHelperF1'));&&RegisterHotKey(Self.Handle,&GlobalId,&AModifiers,&VK_F1);&&//&发送Fetion测试包&CTRL&+&ALT&+&F1 &&GlobalId&:=&GlobalAddAtom(PChar('HotKey_TLBBHelperF2'));&&RegisterHotKey(Self.Handle,&GlobalId,&AModifiers,&VK_F2);&&end;procedure&TBackMainForm.SysSetMenuItemClick(Sender:&TObject);var&&OldState:&Bbegin&&if&TSystemSetForm.IsExist&then&E&&OldState&:=&TimerFinder.E&&TimerFinder.Enabled&:=&F&&with&TSystemSetForm.Create(Self)&do&&try&&&&if&ShowModal&=&mrOk&then&&&&begin&&&&&&TimerFinder.Interval&:=&FinderTimerMS&&&&end;&&finally&&&&F&&end;&&TimerFinder.Enabled&:=&OldSend;procedure&TBackMainForm.TimerFinderTimer(Sender:&TObject);&&procedure&RandomFinderM&&var&&&&X,&Y:&I&&begin&&&&if&FCurGamePos.X&&&CenterPosX&then&&&&&&X&:=&RandomRange(FinderMinX,&FinderMaxX)&&&&else&&&&&&X&:=&RandomRange(-FinderMaxX,&-FinderMinX);&&&&if&FCurGamePos.Y&&&CenterPosY&then&&&&&&Y&:=&RandomRange(FinderMinY,&FinderMaxY)&&&&else&&&&&&Y&:=&RandomRange(-FinderMaxY,&-FinderMinY);&&&&X&:=&Screen.Width&div&2&+&X;&&&&Y&:=&Screen.Height&div&2&+&Y;&&&&MonitorMouseMove(X,&Y);&&&&Sleep(10);&&end;&&procedure&FindM&&begin&&&&//&寻找怪物 &&&&if&not&FIsFighting&then&&&&begin&&&&&&FFightUnixTick&:=&0;&&&&&&RandomFinderM&&&&&&MonitorMouseClick(1);&&&&end&else&&&&begin&&&&&&if&FFightUnixTick&&=&0&then&&&&&&&&FFightUnixTick&:=&DateTimeToUnix(Now)&&&&&&else&&&&&&begin&&&&&&&&//&如果找怪超时,则重新寻找 &&&&&&&&if&DateTimeToUnix(Now)&-&FFightUnixTick&&&15&then&&&&&&&&begin&&&&&&&&&&//&随机移动位置(必须执行此操作,否则会死锁) &&&&&&&&&&MonitorMouseMove(RandomRange(0,&Screen.Width&div&2),&&&&&&&&&&&&RandomRange(0,&Screen.Height&div&2));&&&&&&&&&&Sleep(10);&&&&&&&&&&MonitorMouseClick(2);&&&&&&&&end&else&&&&&&&&begin&&&&&&&&&&//&释放魔法 &&&&&&&&&&AutoPressMagicK&&&&&&&&end;&&&&&&end;&&&&end;&&end;&&procedure&FillLifeAndM&&begin&&&&//&补人物血 &&&&if&((FLifeCurrent*100)&div&LIFE_MAX)&&=&LifeMin&then&&&&begin&&&&&&MonitorKeyPress([],&KeyLifeAdd);&&&&end;&&&&Sleep(20);&&&&//&补宝宝血 &&&&if&((FBBLifeCurrent*100)&div&BB_LIFE_MAX)&&=&BBLifeMin&then&&&&begin&&&&&&MonitorKeyPress([],&KeyBBLifeAdd);&&&&end;&&&&Sleep(20);&&&&//&补任务魔法 &&&&if&((FMagicCurrent*100)&div&MAGIC_MAX)&&=&MagicMin&then&&&&begin&&&&&&MonitorKeyPress([],&KeyMagicAdd);&&&&end;&&end;&&procedure&PickG&&begin&&&&//&一定要在没有打怪状态 &&&&if&not&FIsFighting&then&&&&begin&&&&&&RandomFinderM&&&&&&MonitorMouseClick(2);&&&&&&Sleep(10);&&&&end;&&end;begin&&try&&&&FetchWindowImage(FSCBitMap);&&&&CalcFightS&&&&CalcCurrentP&&&&CalcQuestionS&&&&CalcLifeAndM&&&&//PickG(暂时不开启,有问题) &&&&FindM&&&&Sleep(20);&&&&FillLifeAndM&&&&//&启动报警程序 &&&&if&FIsNeedAnswerQT&and&(BeepThread&=&nil)&then&&&&&&TBeepThread.Create(50).R&&except&&end;end;function&TBackMainForm.TranslateWinHotKeyToLocal(&&HotKeyValue:&Cardinal):&Wvar&&ALWord,&AHWord:&Wbegin&&Result&:=&0;&&AHWord&:=&HiWord(HotKeyValue);&&ALWord&:=&HotKeyValue&and&$FFFF;&&if&ALWord&and&MOD_SHIFT&&&&0&then&&&&Result&:=&Result&+&scS&&if&ALWord&and&MOD_ALT&&&&0&then&&&&Result&:=&Result&+&scA&&if&ALWord&and&MOD_CONTROL&&&&0&then&&&&Result&:=&Result&+&scC&&Result&:=&Result&+&AHWend;procedure&TBackMainForm.WMHotKey(var&Message:&TMessage);var&&LocalKey:&Wbegin&&LocalKey&:=&TranslateWinHotKeyToLocal(Message.LParam);&&if&LocalKey&=&scCtrl&+&scAlt&+&VK_F10&then&&begin&&&&//&系统开关 &&&&TimerFinder.Enabled&:=&not&TimerFinder.E&&&&Windows.Beep(3000,&100);&&end&else&if&LocalKey&=&scCtrl&+&scAlt&+&VK_F11&then&&begin&&&&//&设置原点 &&&&FetchWindowImage(FSCBitMap);&&&&CalcCurrentP&&&&&&&&CenterPosX&:=&FCurGamePos.X;&&&&CenterPosY&:=&FCurGamePos.Y;&&&&Windows.Beep(2000,&100);&&&&Windows.Beep(2500,&100);&&end&else&if&LocalKey&=&scCtrl&+&scAlt&+&VK_F12&then&&begin&&&&//&调出设置框 &&&&SysSetMenuItemClick(nil);&&end&else&if&LocalKey&=&scCtrl&+&scAlt&+&VK_F1&then&&begin&&&&//&关闭线程 &&&&try&&&&&&if&Assigned(BeepThread)&then&&&&&&begin&&&&&&&&BeepThread.T&&&&&&end;&&&&except&&&&end;&&end&else&if&LocalKey&=&scCtrl&+&scAlt&+&VK_F2&then&&begin&&&&SendFetionMsg('天龙八部助手测试!');&&end;end;{&TBeepThread&}constructor&TBeepThread.Create(BeepSecs:&Integer);begin&&inherited&Create(True);&&FreeOnTerminate&:=&T&&FBeepSecs&:=&BeepS&&//&记录自己 &&BeepThread&:=&Send;procedure&TBeepThread.Evar&&StartUnixTick:&Cbegin&&StartUnixTick&:=&DateTimeToUnix(Now);&&SyncSendFetionM&&while&not&Terminated&do&&begin&&&&if&DateTimeToUnix(now)&-&StartUnixTick&&&FBeepSecs&then&&&&&&B&&&&Windows.Beep(4000,&300);&&&&Sleep(700);&&end;&&BeepThread&:=&nil;end;procedure&TBeepThread.SyncSendFetionMbegin&&SendFetionMsg('TLBBHelper:&需要输入验证码!');end;end.
unit&GlobalDinterfaceuses&&W{&相关配置参数&}const&&LIFE_MAX&&&&&&&&=&124;&&MAGIC_MAX&&&&&&&=&124;&&BB_LIFE_MAX&&&&&=&96;&&QT_MIN_COLOR&=&$FAFAFA;&&QT_WIDTH&=&237;&&QT_HEIGHT&=&298;var&&FinderTimerMSec:&Integer&=&200;&&&&&//&系统Timer执行时间 &&LifeX:&Integer&=&64;&&&&&&&&&&&&&&&&//&人物生命值X坐标 &&LifeY:&Integer&=&32;&&&&&&&&&&&&&&&&//&人物生命值Y坐标 &&LifeColor:&Integer&=&0;&&&&&&&&&&&&&//&人物生命值取样颜色(加载时初始化) &&LifeMin:&Integer&=&50;&&&&&&&&&&&&&&//&人物生命最小百分比 &&MagicX:&Integer&=&64;&&&&&&&&&&&&&&&//&人物魔法值X坐标 &&MagicY:&Integer&=&38;&&&&&&&&&&&&&&&//&人物魔法值Y坐标 &&MagicColor:&Integer&=&0;&&&&&&&&&&&&//&人物魔法值取样颜色(加载时初始化) &&MagicMin:&Integer&=&50;&&&&&&&&&&&&&//&人物魔法最小百分比 &&BBLifeX:&Integer&=&91;&&&&&&&&&&&&&&//&宝宝生命值X坐标 &&BBLifeY:&Integer&=&71;&&&&&&&&&&&&&&//&宝宝生命值Y坐标 &&BBLifeColor:&Integer&=&0;&&&&&&&&&&&//&宝宝生命值取样颜色(加载时初始化) &&BBLifeMin:&Integer&=&30;&&&&&&&&&&&&//&宝宝生命最小百分比 &&MonsterLifeX:&Integer&=&247;&&&&&&&&//&怪物生命值X坐标 &&MonsterLifeY:&Integer&=&32;&&&&&&&&&//&怪物生命值Y坐标 &&MonsterLifeColor:&Integer&=&0;&&&&&&//&怪物生命值取样颜色(加载时初始化) &&CenterPosX:&Integer&=&185;&&&&&&&&&&//&自动打怪中心位置X坐标 &&CenterPosY:&Integer&=&215;&&&&&&&&&&//&自动打怪中心位置Y坐标 &&FinderMaxX:&Integer&=&100;&&&&&&&&&&//&自动打怪寻怪X轴距离最大值 &&FinderMinX:&Integer&=&30;&&&&&&&&&&&//&自动打怪寻怪X轴距离最小值 &&FinderMaxY:&Integer&=&100;&&&&&&&&&&//&自动打怪寻怪Y轴距离最大值 &&FinderMinY:&Integer&=&30;&&&&&&&&&&&//&自动打怪寻怪Y轴距离最小值 &&AvgKillMonsterSecs:&Integer&=&15;&&&//&平均每个怪的打怪时间(校正用) &&KeyLifeAdd:&Word&=&VK_F8;&&&&&&&&&&&//&人物加血键 &&KeyMagicAdd:&Word&=&VK_F9;&&&&&&&&&&//&人物加魔法键 &&KeyBBLifeAdd:&Word&=&VK_F10;&&&&&&&&//&宝宝加血键 &&PressKeyF1Secs:&Integer&=&10;&&&&&&&//&自动按F1键时间间隔 &&PressKeyF2Secs:&Integer&=&15;&&&&&&&//&自动按F2键时间间隔 &&PressKeyF3Secs:&Integer&=&40;&&&&&&&//&自动按F3键时间间隔 &&PressKeyF4Secs:&Integer&=&0;&&&&&&&&//&自动按F4键时间间隔 &&FetionWindowHandle:&Integer&=&0;&&FetionWindowIncText:&string&=&'--';&&FetionInputHandle:&Integer&=&0;&&FetionSendBtnHandle:&Integer&=&0;implementationend.
版权声明:本文为博主原创文章,未经博主允许不得
馆藏&24612
TA的最新馆藏[转]&[转]&[转]&[转]&
喜欢该文的人也喜欢}

我要回帖

更多关于 类似天龙八部的网游 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信