一个基于Python的传奇游戏数据查询系统,支持怪物爆率、地图信息、物品掉落的查询和管理。
当前版本: v1.2
- 怪物爆率查询: 支持复杂的爆率格式解析(普通、Child、Child Random、CALL)
- 地图信息管理: 查询怪物在地图上的刷新位置和配置
- 物品掉落查询: 反向查询物品的掉落怪物和爆率
- Web界面: 现代化的Web查询界面,支持物品颜色分级显示
- GUI应用: 桌面应用程序,支持数据管理和服务器启动
- 外网访问: 自动获取并显示外网IP地址,支持远程访问
- 服务端版本显示: 自动读取并显示服务端版本信息
- 特殊字符兼容: 支持包含特殊字符的服务端名称,自动清理和转换
- 普通格式:
1/100 物品名 - Child格式:
#Child 1/100 [参数] (物品列表) - Child Random格式:
#Child 1/100 Random [参数] (物品列表) - CALL格式:
#CALL [文件路径] @标签名
根据爆率高低自动为物品分配颜色等级:
- 白色: 1/10及以下 - 最常见
- 绿色: 1/50及以下 - 较常见
- 蓝色: 1/200及以下 - 普通
- 紫色: 1/1000及以下 - 稀有
- 橙色: 1/5000及以下 - 很稀有
- 红色: 其他 - 最稀有
系统自动处理服务端名称中的特殊字符:
- 自动清理: 移除或替换SQL表名中不允许的字符
- 字符转换: 将连字符、空格等特殊字符替换为下划线
- 安全处理: 确保生成的表名符合SQL语法要求
- 默认回退: 如果清理后为空,使用默认名称"DefaultServer"
查询爆率Python(本地)/
├── main.py # 主程序入口
├── gui_app.py # GUI桌面应用
├── web_app.py # Web应用服务器
├── data_manager.py # 数据管理器
├── txt_reader.py # 通用TXT文件读取器
├── drop_rate_parser.py # 爆率文件解析器
├── drop_rate_database.py # 爆率数据库管理
├── drop_rate_calculator.py # 爆率计算工具
├── globalVars.py # 全局变量和常量管理
├── requirements.txt # Python依赖
├── sqlite3.dll # SQLite数据库驱动
├── dyzchaxun.ico # 应用图标
├── README.md # 项目说明
└── 测试服务端目录/ # 测试数据目录
├── Config.ini # 服务器配置
└── Mir200/ # 游戏服务端数据
├── Envir/
│ ├── MapInfo.txt # 地图信息
│ ├── MonGen.txt # 怪物生成配置
│ └── MonItems/ # 怪物爆率文件
└── M2Data/
└── dyzSearch.DB # 数据库文件
- Python 3.7+
- Windows系统(推荐)
- 克隆项目
git clone <项目地址>
cd 查询爆率Python(本地)- 安装依赖
pip install -r requirements.txt- 运行程序
python main.py- 启动GUI界面进行数据管理
- 支持启动Web服务器
- 提供数据查询和管理功能
- 显示软件版本号和服务端版本信息
- 访问
http://localhost:8080 - 现代化的Web查询界面
- 支持地图、怪物、物品查询
- 物品颜色分级显示
- 服务端版本信息显示
- drop_rate_stats: 爆率统计表
- monster_drop_rates: 原始爆率数据
- items: 物品信息表
- map_table: 地图信息表
- 普通格式: 直接使用爆率
- Child格式:
子爆率 × 物品爆率 - Child Random格式:
子爆率 × 1/物品数量 - CALL格式: 调用外部文件的标签内容
全局变量和常量管理文件,提供:
- 软件版本信息管理
- 网络配置常量
- 数据库配置常量
- GUI和Web界面配置
- 错误和成功消息模板
- 爆率颜色分级配置
通用TXT文件读取器,支持:
- 多种编码格式(UTF-8、GBK、GB2312等)
- 自动编码检测
- 大小写转换
- 注释行过滤
- 灵活的空白字符处理
爆率文件解析器,支持:
- 四种爆率格式的解析
- 外部文件调用
- 嵌套标签解析
- 复杂爆率计算
爆率数据库管理器,提供:
- 数据库创建和管理
- 爆率数据存储
- 统计信息计算
- 查询接口
Web应用服务器,提供:
- RESTful API接口
- 现代化Web界面
- 实时数据查询
- 跨标签页导航
- 物品颜色分级显示
- 服务端版本信息显示
- 启动程序:
python main.py - 选择"怪物查询"标签
- 搜索怪物名称
- 查看爆出物品和爆率(带颜色分级)
- 选择"物品查询"标签
- 搜索物品名称
- 查看掉落怪物和爆率(带颜色分级)
- 选择"地图查询"标签
- 搜索地图名称
- 查看怪物刷新配置
- 怪物查询: 查看怪物的爆出物品和出现地图
- 物品查询: 查看物品的掉落怪物和爆率
- 地图查询: 查看地图的怪物刷新配置
- 支持多种爆率格式的显示
- 自动计算最终爆率
- 显示爆率来源和计算过程
- 根据爆率高低显示不同颜色
- 在
drop_rate_parser.py中添加解析逻辑 - 在
drop_rate_database.py中添加存储逻辑 - 在
web_app.py中添加显示逻辑
- 修改
drop_rate_database.py中的表结构 - 更新相关的查询接口
- 测试数据完整性
- 编辑
globalVars.py文件 - 修改相应的常量值
- 重启应用程序
- ✅ 修复SQL语法错误: 解决服务端名称包含特殊字符导致的SQL语法错误
- ✅ 增强特殊字符兼容性:
- 自动清理服务端名称中的特殊字符(如
ϵǸ9) - 将连字符、空格等字符替换为下划线
- 移除连续的下划线,清理首尾下划线
- 提供默认服务端名称回退机制
- 自动清理服务端名称中的特殊字符(如
- ✅ 优化SQL查询方式:
- 将f-string SQL查询改为
.format()方式 - 修复动态表名嵌入时的语法问题
- 确保SQL语句的正确性和安全性
- 将f-string SQL查询改为
- ✅ 修复tkinter导入问题:
- 解决打包后
tkinter.messagebox导入错误 - 使用兼容性更好的导入方式
- 添加异常处理和回退机制
- 解决打包后
- ✅ 完善安装包功能:
- 创建完整的安装脚本和卸载脚本
- 添加详细的使用说明文档
- 支持自动安装到系统目录
- ✅ 精简项目结构:
- 删除不必要的文档文件
- 清理构建缓存文件
- 优化项目文件组织
- ✅ 新增全局变量管理: 创建
globalVars.py文件,集中管理所有常量和配置 - ✅ 添加版本号显示: GUI界面显示软件版本号
- ✅ 优化Web界面:
- 添加服务端版本信息显示
- 实现物品颜色分级系统(白、绿、蓝、紫、橙、红)
- 增加tab-content高度,改善显示效果
- 在爆出物品和出现地图之间添加分隔线
- 删除Web页面上的广告
- ✅ 优化GUI界面:
- 将广告移到右下角,减小字体
- 使用全局常量替换硬编码值
- ✅ 清理项目文件: 删除多余的缓存文件和构建文件
- ✅ 完善文档: 更新README,添加新功能说明
- ✅ 基础功能实现
- ✅ GUI和Web界面
- ✅ 爆率解析系统
- ✅ 数据库管理
本项目仅供学习和研究使用。
欢迎提交Issue和Pull Request来改进项目。
典狱长数据查询系统 v1.1.0 - 让游戏数据查询更简单、更高效!