当前位置 : 145z游戏站 | 魔域 | 技术教程 | 

魔域上线送10亿魔石改成0 数据库魔石字段位置与修改SQL语句教程

热度:
魔石存储位置说明

魔域私服上线赠送的魔石(MS)通常写在角色表或账户表的初始字段里,不在服务端配置文件(如Setup.cfg)里改。大部分魔域私服基于原版或二次开发的SQL数据库(MySQL/SQL Server),角色创建时由存储过程或触发器写入初始值。

需要操作的数据库表与字段

登录数据库管理工具(Navicat for MySQL / phpMyAdmin / SQL Server Management Studio),找到对应的数据库(通常名为 mu、mudb、conquer 或 account),重点查以下两张表:

角色表(最常见)
• 表名:characters 或 playercharacter 或 user_character

• 魔石字段名:Money、Money_1、MStone、MS、GoldPoint、Score 或 BindMS

• 赠送魔石通常写在这个字段的初始值里

账户表(部分版本写在这里)
• 表名:accounts 或 user_account 或 tb_user

• 魔石字段:MStone、BindMS、Score、Bonus

修改SQL语句示例

情况一:角色表里直接改已有角色的魔石为0
UPDATE characters SET Money = 0 WHERE Money > 0;

如果想只清空特定账号下的角色,加上 WHERE AccountID = '你的账号'。

情况二:修改新建角色时的初始赠送值
找到角色创建存储过程(通常是 sp_CreateCharacter 或 proc_CreateChar)或触发器中写死的初始赋值语句,把类似:
SET @Money = 1000000000

改成:
SET @Money = 0

保存后重启服务端,新建角色就不会再送10亿魔石。

情况三:如果上线送魔石是通过脚本或GM命令执行
检查服务端目录下的 Scripts、Quest 或 AutoRun 文件夹里的 .lua 或 .txt 文件,搜关键字 AddMoney、GiveMS、SetMoney 或 10亿、1000000000,把数值改成0或注释掉整行。

查找具体字段的方法(不会SQL也能操作)

1. 用数据库管理工具连接数据库,选中数据库,右键→查看表结构。
2. 找名字带 money、ms、stone、score、gold、point 的字段,双击预览表内容,看有没有一个很大的数字(比如 1000000000)。
3. 确定字段后执行 UPDATE 语句清空。

操作前备份

无论改表还是改脚本,先备份整个数据库(导出SQL文件),改错了直接用备份恢复,避免角色数据丢失。

魔域上线送10亿魔石的问题,先在角色表(characters)和账户表(accounts)里找 Money/MS 字段执行 UPDATE 清零,若无效再到脚本文件夹搜 AddMoney/GiveMS 相关语句修改初始值。
[顶部]