搜索
查看: 3449|回复: 8

关于魔兽插件v2.3.2用mysql保存经验值的问题

[复制链接]
发表于 2007-6-3 17:36:26 | 显示全部楼层 |阅读模式 来自 中国–甘肃–兰州
我开的是CS1.6的服,加载了Amxmodx1.76d+warcraft3FT2.3.2,运行良好。以前我都是用vault来的保存玩家经验值的,war3FT.cfg设置如下:

mp_savexp  1  // 运行保存经验 (使用一个储藏空间, 默认为 0)
sv_sql   0  // 保存使用一个SQL模块 (必需开启一个模块, 注意: 要使用这个必需 mp_savexp 也为 1, 默认为 0)
FT_saveby  2  // 要保藏为何种方式?  steam id 为 0, IP 为 1, name 为 2 (默认为 0)

这样确实可以将玩家的经验值保存到data/vault里,不过发现要是人多了,就比较麻烦了,服务器可能会卡。:byebye: 所以,我想用mysql来保存,于是就在modules.ini里将mysql_amxx.dll模块开启了,同时在plugins.ini里关闭 ;admin.amxx 开启 admin_sql.amxx ,对于war3FT.cfg和sql.cfg则作了如下设置:

// 魔兽争霸3-冰封王座 配置文件
mp_savexp  1  // 运行保存经验 (使用一个储藏空间, 默认为 0)
sv_sql   1  // 保存使用一个SQL模块 (必需开启一个模块, 注意: 要使用这个必需 mp_savexp 也为 1, 默认为 0)
FT_saveby  2  // 要保藏为何种方式?  steam id 为 0, IP 为 1, name 为 2 (默认为 0)

FT_sql_host  "127.0.0.1" // 主机名称
FT_sql_user  "root"  // 用户名称
FT_sql_pass  "456789" // 密码
FT_sql_db  "war3ft" // 数据库(database)名称
FT_auto_pruning  0  // 换图时自动剪除以前用户的数据库 (默认为 0)
sv_daysbeforedelete 31  // 从数据库总删除或剪除XP之前,保留多少天 (默认为 31)
sv_sqltablename  "war3users" // 表名, 不需要更改 (默认是 war3users)
sv_save_end_round 0  // 每局结束保存XP (可能引起延时,默认为 1)

//对于sql.cfg的设置:
amx_sql_host "127.0.0.1"
amx_sql_user "root"
amx_sql_pass "456789"
amx_sql_db "war3ft"
amx_sql_table "admins"
amx_sql_type "mysql"

但进入游戏后发现,假如服务器一旦刷新或者换地图了,那么玩家的经验值(XP)就全部清零了,又得重新选择种族重头再来。:cold: 我看了一下控制台,还发现了以下出错信息:

L 06/03/2007 - 16:59:57: [warcraft3FT.amxx] Database connection failed, attempting to reconnect in 5 seconds
L 06/03/2007 - 17:00:00: [warcraft3FT.amxx] Unable to connect to the MySQL database after 3 attempts, switching to short-term mode

哎~~  这个mysql怎么才能固定保存玩家的经验值呢?:embarrass
发表于 2007-6-3 18:29:14 | 显示全部楼层 来自 中国–河南–三门峡

回复: 关于魔兽插件v2.3.2用mysql保存经验值的问题

你的服务器要另外建立一个mysql数据库才可以。
回复

使用道具 举报

 楼主| 发表于 2007-6-3 19:22:08 | 显示全部楼层 来自 中国–甘肃–兰州

回复: 关于魔兽插件v2.3.2用mysql保存经验值的问题

版主,我还是不太明白,在哪里再建立一个mysql啊,具体该怎么操作呢?:embarrass
回复

使用道具 举报

 楼主| 发表于 2007-6-3 19:23:51 | 显示全部楼层 来自 中国–甘肃–兰州

回复: 关于魔兽插件v2.3.2用mysql保存经验值的问题

哦,漏了一个字,“具体怎么操作呢?”我没有骂人噢~~~:cold:
回复

使用道具 举报

发表于 2007-6-3 21:17:31 | 显示全部楼层 来自 中国–辽宁–沈阳

回复: 关于魔兽插件v2.3.2用mysql保存经验值的问题

- -!
- -!
- -!
- -!
回复

使用道具 举报

 楼主| 发表于 2007-6-4 19:48:13 | 显示全部楼层 来自 中国–甘肃–兰州

回复: 关于魔兽插件v2.3.2用mysql保存经验值的问题

怎么,难道大家都不用mysql保存经验值吗?知道的话请把方法说一下吧,很多人其实都对这个mysql很陌生......:embarrass
回复

使用道具 举报

发表于 2007-6-5 09:00:07 | 显示全部楼层 来自 中国–河南–三门峡

回复: 关于魔兽插件v2.3.2用mysql保存经验值的问题

建议在百度搜索 Mysql 看看是什么东东。

如果连数据库的作用以及使用和建立都不知道的话,怎么解释你都不会明白的。


建议先学习这里 http://www.bc-cn.net/Article/sjk/mysql/
回复

使用道具 举报

 楼主| 发表于 2007-6-5 10:10:10 | 显示全部楼层 来自 中国–甘肃–兰州

回复: 关于魔兽插件v2.3.2用mysql保存经验值的问题

我在论坛找到了以下的mysql安装方法:

[安装说明]
1.安装MYSQL数据库
如果你不会手动安装,建议你下载自动安装版本,一切默认即可,如果你也不会配置,那么请在最后配置时刻一路回车即可,安装完数据库以后,请建立一个新的数据库,amxmodx_stats_cs,强烈推荐使用mysql-font管理软件建立数据库,否则有可能会出现字段长度不够而导致ASP无法访问的情况,然后在config\sql.cfg文件中进行配置,并加入以下内容:

csx_sqlstats_host "127.0.0.1"
csx_sqlstats_username "root"
csx_sqlstats_password "111111"
csx_sqlstats_db "amxmodx_stats_cs"
csx_sqlstats_table "cs"
csx_sqlstats_exportstats "1"

2.安装MYSQL ODBC驱动
建议你不要下载手动安装版本,因为安装脚本的路径需要手动修改,那么,还是下载安装程序自动安装比较好.

3.安装
这就不需要多做说明了,模块安装到相应的文件夹然后启用即可,但本人不保证无错,我只为该测试环境保证成功

4.注解
该系统不需要以下模块
csx_amxx.dll
mysql_amxx.dll


[已知问题]
使用该插件后99%可能会出现数据库连接失败的提示:
[CSX Sql] Exporting players' statistics to SQL db...L 08/10/2006 - 14:23:33:
[CSX] DB Connection failed (1251): Client does not support authentication protocol
requested by server; consider upgrading MySQL client
如果出现该提示,请在mysql命令行状态下输入
mysql> SET PASSWORD FOR
mysql> 你的用户名@localhost = OLD_PASSWORD('你的密码');


请注意,第二行结尾是有分号的!

或者使用mysql-font,随便打开一个数据库,在SQL编辑器里面输入
SET PASSWORD FOR 你的用户名@localhost = OLD_PASSWORD('你的密码')
然后点上面的绿色箭头执行即可!

[最后说明]
该模块统计数据在每次更换地图后更新!
由于是MYSQL数据库,所以有能力的朋友可以自行写PHP形式的排行!
模块版权归原作者所有,ASP文件我只保留创作权,大家可以自由修改,如果在安装使用的过程中出现什么问题请跟贴求解,最后祝大家玩的开心!
PS:感谢"流口水的牛"大力协助测试,感谢AMXX_F_CN小组参与讨论,在此表示感谢!

哎~ 真复杂啊!:cry: 要是有傻瓜型的安装包就好了,可以一布到位,那么菜鸟们就有福咯!
回复

使用道具 举报

发表于 2007-6-7 18:47:00 | 显示全部楼层 来自 中国–广西–河池

回复: 关于魔兽插件v2.3.2用mysql保存经验值的问题

你找到的那个是SQL管理OP的方法
和SQL保存经验一样
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

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