From ef84cb2d127d3566dc510bf929c84a78f63854ed Mon Sep 17 00:00:00 2001 From: qiuapeng Date: Tue, 23 Apr 2024 10:48:57 +0800 Subject: [PATCH] =?UTF-8?q?4.18=E6=B8=B8=E6=88=8F=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dnf/GuiApplication.java | 76 ++++++++ src/main/java/com/dnf/game/Address.java | 204 +++++++++++----------- 2 files changed, 179 insertions(+), 101 deletions(-) create mode 100644 src/main/java/com/dnf/GuiApplication.java diff --git a/src/main/java/com/dnf/GuiApplication.java b/src/main/java/com/dnf/GuiApplication.java new file mode 100644 index 0000000..ebc0cf0 --- /dev/null +++ b/src/main/java/com/dnf/GuiApplication.java @@ -0,0 +1,76 @@ +package com.dnf; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.Banner; +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; + +//@SpringBootApplication +//@Slf4j +public class GuiApplication implements CommandLineRunner { + public static void main(String[] args) { + SpringApplication application = new SpringApplication(GuiApplication.class); + // 禁止打印banner + application.setBannerMode(Banner.Mode.OFF); + application.run(args); + } + + public void run(String... args) { + // 设置 DISPLAY 环境变量 + System.setProperty("java.awt.headless", "false"); + + EventQueue.invokeLater(() -> { + Frame frame = new Frame("贪吃蛇"); + + //设置布局 + frame.setLayout(null); + //坐标 + frame.setBounds(0, 0, 300, 400); + frame.setBackground(new Color(0x00281F)); + + //创建面板 + Panel panel = new Panel(); + //panel设置坐标,相对于frame + panel.setBounds(50, 30, 200, 300); + panel.setBackground(new Color(0x480050)); + + Button button = new Button(); + button.setLabel("click"); + + //构造一个ActionListener,去满足addActionListener()监听事件的需求 + MyActionListener listener = new MyActionListener(); + button.addActionListener(listener); + + panel.add(button); + + //窗口添加画板 + frame.add(panel); + frame.setVisible(true); + + //监听关闭窗口事件 + frame.addWindowListener(new WindowAdapter() { + //关闭窗口 + @Override + public void windowClosing(WindowEvent e) { + System.out.println("windowClosing"); + System.exit(0); + } + }); + }); + } +} + +class MyActionListener implements ActionListener { + + @Override + public void actionPerformed(ActionEvent e) { + System.out.println("aaa"); + } +} \ No newline at end of file diff --git a/src/main/java/com/dnf/game/Address.java b/src/main/java/com/dnf/game/Address.java index e9c5ac8..726964a 100644 --- a/src/main/java/com/dnf/game/Address.java +++ b/src/main/java/com/dnf/game/Address.java @@ -4,91 +4,93 @@ * @author 情歌 */ public class Address { - public static final long RwAddr = 0x14BF58548L; // 新人物基址 - public static final long RwAddr1 = 0x14BF58540L; // 人物基址 - public static final long RwAddr2 = 0x14B5EA838L; // 人物基址B - public static final long RWCallAddr = 0x144B1D180L; // 人物CALL - public static final long JSDjAddr = 0x14B65FF30L; // 角色等级 - public static final long PFAddr = 0x14B6795E0L; // 评分基址 - public static final long GGCsAddr = 0x14BF59870L; // 公告参数 - public static final long GGCallAddr = 0x144BE9560L; // 公告CALL - public static final long BbJzAddr = 0x14B67AB20L; // 背包基址 - public static final long JSPtrAddr = 0x14B67A610L; // 角色指针 - public static final long CzDqyAddr = 0x14B6378BCL; // 城镇大区域 - public static final long CzXqyAddr = 0x14B6378C0L; // 城镇小区域 - public static final long YXZTAddr = 0x14B1D4F10L; // 游戏状态 - public static final long SNBBAddr = 0x14B67AB78L; // 司南背包 - public static final long YrBbAddr = 0x14B67AB70L; // 玉荣背包 - public static final long BxrBbAddr = 0x14B67AB70L; // 辟邪玉背包 - public static final long SnAddCallAddr = 0x141C86FC0L; // 司南添加CALL - public static final long SnJtRcxAddr = 0x14B6289A8L; // 司南进图_Rcx - public static final long SnJtCallAddr = 0x141C6A360L; // 司南进图CALL - public static final long SnAddRcxAddr = 0x1453088D0L; // 取司南添加RCX + public static final long RwAddr = 0x14C2266A8L; // 新人物基址 + public static final long RwAddr1 = 0x14C2266A0L; // 人物基址 + public static final long RwAddr2 = 0x14B8B8178L; // 人物基址B + public static final long RWCallAddr = 0x144C91F40L; // 人物CALL + public static final long JSDjAddr = 0x14B92DED0L; // 角色等级 + public static final long PFAddr = 0x14B947680L; // 评分基址 + public static final long GGCsAddr = 0x14C2279E8L; // 公告参数 + public static final long GGCallAddr = 0x144D5DBA0L; // 公告CALL + public static final long BbJzAddr = 0x14B948960L; // 背包基址 + public static final long JSPtrAddr = 0x14B9486B0L; // 角色指针 + public static final long CzDqyAddr = 0x14B905B7CL; // 城镇大区域 + public static final long CzXqyAddr = 0x14B905B80L; // 城镇小区域 + public static final long YXZTAddr = 0x14B48CF10L; // 游戏状态 + public static final long SNBBAddr = 0x14B9489B8L; // 司南背包 + public static final long YrBbAddr = 0x14B9489B0L; // 玉荣背包 + public static final long BxrBbAddr = 0x14B9489B0L; // 辟邪玉背包 + public static final long SnAddCallAddr = 0x141DD4840L; // 司南添加CALL + public static final long SnJtRcxAddr = 0x14B8F6488L; // 司南进图_Rcx + public static final long SnJtCallAddr = 0x141DB7BA0L; // 司南进图CALL + public static final long SnAddRcxAddr = 0x14544D1D0L; // 取司南添加RCX public static final long YrlPyAddr = 0x600L; // 玉荣力偏移 - public static final long JsYrlAddr = 0x5260L; // 角色玉荣力 + public static final long JsYrlAddr = 0x5408L; // 角色玉荣力 public static final long HBCallAddr = 0x13FDC0000L; // 汇编CALL - public static final long TranslateMessage = 0x1475E4CC8L; // TranslateMessage - public static final long GameTimeGetTime = 0x1475E50F0L; // GameTimeGetTime - public static final long JNCallAddr = 0x14468D8F0L; // 技能CALL - public static final long JwCallAddr = 0x144921510L; // 聚物CALL - public static final long JwXyAddr = 0xFBF4L; // 聚物校验 - public static final long TaskAddr = 0x14B67AC08L; // 任务基址 - public static final long JsCallAddr = 0x143F8BFA0L; // 接受CALL - public static final long WcCallAddr = 0x143F8C5B0L; // 完成CALL - public static final long TjCallAddr = 0x143F8C090L; // 提交CALL - public static final long TgCallAddr = 0x143D2BC10L; // 跳过CALL - public static final long AjAddr = 0x14C415DF0L; // 按键基址 - public static final long DHAddr = 0x14BFAB998L; // 对话基址 - public static final long DHAddrB = 0x14B4B5138L; // 对话基址B - public static final long EscDHAddr = 0x14B4B5158L; // Esc对话基址 - public static final long FpAddr = 0x14B67AB18L; // 翻牌基址 - public static final long FbBhAddr = 0x14B65FEC0L; // 副本编号 + public static final long TranslateMessage = 0x1477ABCC0L; // TranslateMessage + public static final long GameTimeGetTime = 0x1477AC0F8L; // GameTimeGetTime + public static final long JNCallAddr = 0x1447F90E0L; // 技能CALL + public static final long JwCallAddr = 0x144A91AD0L; // 聚物CALL + public static final long JwXyAddr = 0xFE24L; // 聚物校验 + public static final long TaskAddr = 0x14B948A48L; // 任务基址 + public static final long JsCallAddr = 0x1440EB350L; // 接受CALL + public static final long WcCallAddr = 0x1440EB960L; // 完成CALL + public static final long TjCallAddr = 0x1440EB440L; // 提交CALL + public static final long TgCallAddr = 0x143E87720L; // 跳过CALL + public static final long AjAddr = 0x14C6E4BD0L; // 按键基址 + public static final long DHAddr = 0x14C27A2F8L; // 对话基址 + public static final long DHAddrB = 0x14B780FE0L; // 对话基址B + public static final long EscDHAddr = 0x14B781000L; // Esc对话基址 + public static final long FpAddr = 0x14B948958L; // 翻牌基址 + public static final long FbBhAddr = 0x14B92DE60L; // 副本编号 public static final long SJAddr = 0x20A050L; // 时间基址 - public static final long FJBHAddr = 0x14B67AB08L; // 房间编号 - public static final long MaxPlAddr = 0x14BF5848CL; // 最大疲劳 - public static final long CutPlAddr = 0x14BF584FCL; // 当前疲劳 - public static final long QyParamAddr = 0x14BFB0E58L; // 区域参数 - public static final long QyCallAddr = 0x1459532B0L; // 区域CALL + public static final long FJBHAddr = 0x14B948948L; // 房间编号 + public static final long MaxPlAddr = 0x14C2265DCL; // 最大疲劳 + public static final long CutPlAddr = 0x14C22664CL; // 当前疲劳 + public static final long QyParamAddr = 0x14C27F7E0L; // 区域参数 + public static final long QyCallAddr = 0x145AA45D0L; // 区域CALL public static final long QyPyAddr = 0xA9FA8L; // 区域偏移 - public static final long XTuCallAddr = 0x145992B00L; // 选图CALL - public static final long JTuCallAddr = 0x1459D2FC0L; // 进图CALL - public static final long HChengCallAddr = 0x14573B050L; // 回城CALL - public static final long GtCallAddr = 0x143AC5290L; // 过图CALL - public static final long PyCall1Addr = 0x143918580L; // 漂移CALL - public static final long PyCall2Addr = 0x145AED230L; // 漂移CALL2 - public static final long BpCallAddr = 0x143ECE0F0L; // 奔跑CALL - public static final long XrNcCallAddr = 0x144B58E90L; // 写入内存 - public static final long BpPyAddr1 = 0x11D8L; // 奔跑偏移_1 - public static final long BpPyAddr2 = 0x11C0L; // 奔跑偏移_2 - public static final long CzSyRdxAddr = 0x14B64BAC8L; // 城镇瞬移_Rdx - public static final long CzSyCallAddr = 0x145999940L; // 城镇瞬移CALL - public static final long XzJsCallAddr = 0x14049EA00L; // 选择角色CALL - public static final long FhJsCallAddr = 0x144395BA0L; // 返回角色CALL - public static final long LqCallJudgeAddr = 0x144B097E0L; // 冷却判断CALL - public static final long CdResetCallAddr = 0x1449711E0L; // CD重置CALL - public static final long FjCallAddr = 0x144771960L; // 分解CALL - public static final long DqFzAddr = 0x14BFAD188L; // 当前负重 - public static final long ZdFzAddr = 0x2C70L; // 最大负重 - public static final long FbAddr = 0x14BFB1A60L; // 发包基址 - public static final long HcCallAddr = 0x1459FE5E0L; // 缓冲CALL - public static final long FbCallAddr = 0x1459FF2D0L; // 发包CALL - public static final long JmB1CallAddr = 0x1459FF440L; // 加密包CALL - public static final long JmB2CallAddr = 0x1459FF7C0L; // 加密包CALL2 - public static final long JmB3CallAddr = 0x1459FF460L; // 加密包CALL4 - public static final long JmB4CallAddr = 0x1459FF480L; // 加密包CALL8 - public static final long SqNcCallAddr = 0x1438EE000L; // 申请内存 - public static final long BUffMemRcxAddr = 0x14B67AA60L; // BUFF内存_RCX - public static final long BUffMemCallAddr = 0x145A1B850L; // BUFF内存CALL - public static final long DyBuffCall = 0x144B55360L; // 调用BUFFCALL - public static final long PutOnCallAddr = 0x1449342E0L; // 穿上CALL - public static final long TmCallAddr = 0x145A2D970L; // 透明CALL - public static final long CreateCallAddr = 0x144C34B30L; // 创建CALL - public static final long WpYdCallAddr = 0x14475E520L; // 物品移动CALL - public static final long JnSwAddr = 0x1448DD391L; // 技能三无 - public static final long RwMwAddr = 0x11B24L; // 人物名望 + public static final long XTuCallAddr = 0x145AE40E0L; // 选图CALL + public static final long JTuCallAddr = 0x145B248E0L; // 进图CALL + public static final long HChengCallAddr = 0x145889E90L; // 回城CALL + public static final long GtCallAddr = 0x143C213C0L; // 过图CALL + public static final long PyCall1Addr = 0x143A72D90L; // 漂移CALL + public static final long PyCall2Addr = 0x145C3E260L; // 漂移CALL2 + public static final long BpCallAddr = 0x14402CDE0L; // 奔跑CALL + public static final long XrNcCallAddr = 0x144CCCF30L; // 写入内存 + public static final long BpPyAddr1 = 0x1208L; // 奔跑偏移_1 + public static final long BpPyAddr2 = 0x11F0L; // 奔跑偏移_2 + public static final long CzSyRdxAddr = 0x14B9198B8L; // 城镇瞬移_Rdx + public static final long CzSyCallAddr = 0x145AEB190L; // 城镇瞬移CALL + public static final long XzJsCallAddr = 0x1404FC190L; // 选择角色CALL + public static final long FhJsCallAddr = 0x144500DE0L; // 返回角色CALL + public static final long LqCallJudgeAddr = 0x144C7E5B0L; // 冷却判断CALL + public static final long CdResetCallAddr = 0x144AE15C0L; // CD重置CALL + public static final long FjCallAddr = 0x1448DDF90L; // 分解CALL + public static final long ZlCallAddr = 0x1448D4380L; // 整理CALL + public static final long DqFzAddr = 0x14C27BAE8L; // 当前负重 + public static final long ZdFzAddr = 0x2DB8L; // 最大负重 + public static final long FbAddr = 0x14C2803F0L; // 发包基址 + public static final long HcCallAddr = 0x145B4FE60L; // 缓冲CALL + public static final long FbCallAddr = 0x145B50B50L; // 发包CALL + public static final long JmB1CallAddr = 0x145B50CC0L; // 加密包CALL + public static final long JmB2CallAddr = 0x145B51040L; // 加密包CALL2 + public static final long JmB3CallAddr = 0x145B50CE0L; // 加密包CALL4 + public static final long JmB4CallAddr = 0x145B50D00L; // 加密包CALL8 + public static final long SqNcCallAddr = 0x143A47ED0L; // 申请内存 + public static final long BUffMemRcxAddr = 0x14B9488A0L; // BUFF内存_RCX + public static final long BUffMemCallAddr = 0x145B6CB70L; // BUFF内存CALL + public static final long DyBuffCall = 0x144CC9280L; // 调用BUFFCALL + public static final long TakeEffectCallAddr = 0x144A06BC0L; // 生效CALL + public static final long PutOnCallAddr = 0x144AA4830L; // 穿上CALL + public static final long TmCallAddr = 0x145B7EB90L; // 透明CALL + public static final long CreateCallAddr = 0x144DA9670L; // 创建CALL + public static final long WpYdCallAddr = 0x1448CAA20L; // 物品移动CALL + public static final long JnSwAddr = 0x144A4D561L; // 技能三无 + public static final long RwMwAddr = 0x11E54L; // 人物名望 public static final long WpMcAddr = 0x40L; // 物品名称 public static final long WpJyLxAddr = 0xA8L; // 物品交易类型 - public static final long DzIDAddr = 0x41D4L; // 动作ID + public static final long DzIDAddr = 0x436CL; // 动作ID public static final long DtKs2 = 0x1B8L; // 地图开始2 public static final long DtJs2 = 0x1C0L; // 地图结束2 public static final long DtPyAddr = 0x168L; // 地图偏移 @@ -96,15 +98,15 @@ public class Address { public static final long FxPyAddr = 0x148L; // 方向偏移 public static final long CEPfAddr = 0x88L; // 评分偏移 public static final long FbSqAddr = 0x13CL; // 发包拾取 - public static final long GwXlAddr = 0x4DD8L; // 怪物血量 - public static final long ZyPyAddr = 0xE50L; // 阵营偏移 - public static final long DmWpAddr = 0x29F8L; // 地面物品 - public static final long JxWpAddr = 0xF720L; // 脚下物品 - public static final long DmPyAddr = 0x838L; // 代码偏移 - public static final long McPyAddr = 0x840L; // 名称偏移 + public static final long GwXlAddr = 0x4F78L; // 怪物血量 + public static final long ZyPyAddr = 0xEB8L; // 阵营偏移 + public static final long DmWpAddr = 0x2B70L; // 地面物品 + public static final long JxWpAddr = 0xF950L; // 脚下物品 + public static final long DmPyAddr = 0x868L; // 代码偏移 + public static final long McPyAddr = 0x870L; // 名称偏移 public static final long ZbPjAddr = 0x2B8L; // 装备品级 - public static final long DtCtAddr = 0x858L; // 地图穿透 - public static final long JzCtAddr = 0x85CL; // 建筑穿透 + public static final long DtCtAddr = 0x878L; // 地图穿透 + public static final long JzCtAddr = 0x87CL; // 建筑穿透 public static final long DqZbAddr = 0x328L; // 读取坐标 public static final long YjRwStartAddr = 0x10L; // 已接任务首地址 public static final long YjRwEndAddr = 0x18L; // 已接任务尾地址 @@ -112,26 +114,26 @@ public class Address { public static final long QbRwEndAddr = 0xB0L; // 全部任务尾地址 public static final long RwLxAddr = 0x218L; // 任务类型 public static final long RwDxAddr = 0x28L; // 任务大小 - public static final long RwTjAddr = 0x4B0L; // 任务条件 + public static final long RwTjAddr = 0x4D0L; // 任务条件 public static final long RwDjAddr = 0x328L; // 任务等级 - public static final long RwFbAddr = 0x468L; // 任务副本 + public static final long RwFbAddr = 0x488L; // 任务副本 public static final long SfKmAddr = 0x27CL; // 是否开门 - public static final long CutRoomXAddr = 0x1CC0L; // 当前房间X - public static final long CutRoomYAddr = 0x1CC4L; // 当前房间Y - public static final long BOSSRoomXAddr = 0x1DC0L; // BOSS房间X - public static final long BOSSRoomYAddr = 0x1DC4L; // BOSS房间Y - public static final long GouHuoAddr = 0x1E50L; // 篝火判断 - public static final long SyPyAddr = 0x1DB4L; // 索引偏移 + public static final long CutRoomXAddr = 0x1C98L; // 当前房间X + public static final long CutRoomYAddr = 0x1C9CL; // 当前房间Y + public static final long BOSSRoomXAddr = 0x1D98L; // BOSS房间X + public static final long BOSSRoomYAddr = 0x1D9CL; // BOSS房间Y + public static final long GouHuoAddr = 0x1E28L; // 篝火判断 + public static final long SyPyAddr = 0x1D8CL; // 索引偏移 public static final long MxPyAddr = 0x128L; // 门型偏移 - public static final long KgPyAddr = 0x8B8L; // 宽高偏移 - public static final long SzPyAddr = 0x8D8L; // 数组偏移 - public static final long DtMcAddr = 0x440L; // 地图名称 + public static final long KgPyAddr = 0x890L; // 宽高偏移 + public static final long SzPyAddr = 0x8B0L; // 数组偏移 + public static final long DtMcAddr = 0x418L; // 地图名称 public static final long StPyAddr = 0xC0L; // 顺图偏移 - public static final long ZbStPyAddr = 0x3710L; // 坐标顺图 + public static final long ZbStPyAddr = 0x3848L; // 坐标顺图 public static final long FxIdAddr = 0xE8L; // 方向ID - public static final long WplAddr = 0xFB68L; // 物品栏 + public static final long WplAddr = 0xFD98L; // 物品栏 public static final long WplPyAddr = 0xA8L; // 物品栏偏移 - public static final long JnlAddr = 0xFAE0L; // 技能栏 + public static final long JnlAddr = 0xFD10L; // 技能栏 public static final long JnlPyAddr = 0x90L; // 技能栏偏移