找回密码
 立即注册
搜索
老牌香港服务器GBP专线年80元GOM引擎官方风车IM即时聊天附带视频安装教程自建鸽哒IM即时通讯
经典2003我本沉默传奇绿盟登录器官方BLUEM2引擎官方侠客反外挂登录器
查看: 36|回复: 0

[传奇攻略知识] 原始翎风Client8位的学习

[复制链接]

签到天数: 3 天

[LV.2]偶尔看看I

336

主题

31

回帖

39万

积分

二品左都御史

积分
399901
发表于 2024-10-6 19:18:02 | 显示全部楼层 |阅读模式
重新认识
从事件的角度
定义一个TfrmMain 类 这个叫什么?主界面?主窗口 继承于 TDxForm
frmMain 是它的实例,类变量

它有FormCreate,FormDestory,FormClose,FormKeyDown,FormKeyPress 个事件。

此外还将Application.OnIdle 挂到了 AppOnIdle过程中。

使用了CmdTimer,MinTimer,MouserTimer,SelChrWaitTimer,SpeedHackTimer,Timer1,WaitMsgMimer 7个定时器
CmdTimer常关闭,1000间隔,处理跟网络连接有关的几个事件 ,切换游戏登陆的几个步骤
MinTimer常使能,1000间隔执行一次?查询队友 和 清理删除角色
MouseTimer常使能 间隔50,获取鼠标位置,处理快捷技能ActionKey ,普通攻击,强制攻击,自动挖矿,自动捡取
SelChrWaitTimer//常不能,需要的时候开启 3300间隔,用来在选择服务器后开启,等待一段时间后进入选择角色状态(等待“开门”的动画完成)

SpeedHackTimer 常使能 间隔250,常使能
作用是250毫秒判断一次开机时间计数和当前时间转换后的计算差,差大于70,累计4次关闭程序?
感觉作用不大,如果是时间来自服务器端,或者其它时间服务器倒是可以

WaitMsgTimer 常不能 间隔1,
在DecodeMessagePacket消息处理的 g_boMapMoving判断中使能
判断地图是否改变,如果改变地图只是处理地图改变下的 清理,再发送地图改变消息

Timer1 常使能 间隔10 对接受的消息 提取,送到DecodeMessagePacket (data);处理 ,发送查询售卖,修理价格的消息,还有个打开加点的菜单窗口也在这里了。


通信部分
CSocket

绘图部分
DXDraw

一个重点DecodeMessagePacket (data);对接受到消息的处理

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|51开发者联盟

GMT+8, 2024-11-24 02:20 , Processed in 0.095244 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表