20576526 发表于 2009-9-13 20:25:47

R版主,帮忙修改一下admin插件

本帖最后由 20576526 于 2009-9-15 13:58 编辑

非常感谢R版主帮忙,问题已经解决了:handshake

Rulzy 发表于 2009-9-13 22:32:33

可以稍微修改一下插件,查询出来之后,再判断是否大小写都一样。

Rulzy 发表于 2009-9-14 22:21:17

admin本来就是区分大小写的,只是读取经验的插件不区分大小写。

你也可以修改成admin也不区分大小写,这样也能达到你的要求。

Rulzy 发表于 2009-9-15 00:36:34

本帖最后由 Rulzy 于 2009-9-15 00:46 编辑

你还没有搞懂区分大小写是什么意思。区分大小写,意思就是说,只有完全相同的,才认为是相等。比如你说的例子,Mr.chongchong和mR.CHONGchong,由于admin区分大小写,所以admin会认为是两个不同的ID,这两个ID之间没有任何关系。

Rulzy 发表于 2009-9-15 00:38:08

本帖最后由 Rulzy 于 2009-9-15 00:46 编辑

但由于经验保存的插件不区分大小写,所以会认为Mr.chongchong和mR.CHONGchong是同一个人。

Rulzy 发表于 2009-9-15 00:46:20

你现在有两种解决方法,一种是修改注册玩家网页,使其不区分大小写,这样注册了Mr.chongchong之后,就不能再注册mR.CHONGchong了,同时修改admin,使其也不区分大小写。二是修改保存经验的插件,使其区分大小写,如果ID不完全一样,就不给予经验。个人认为第一种方法更好,因为如果用第二种方法,有可能会发生这种情况:假设保存经验的应该是Mr.chongchong,那么当mR.CHONGchong已经在游戏中时(无保存经验),则当真正的Mr.chongchong进入游戏时,由于有重名,会自动在名字前加上(1)之类的,使其使用不了保存的经验。

Rulzy 发表于 2009-9-15 12:26:02

$result = mysql_query("select * from admins where auth='$name'");修改为$result = mysql_query("select * from admins where UPPER(auth)=UPPER('$name')");admin.sma中,函数 getAccess 中的equal(name, g_aName)修改为equali(name, g_aName)

20576526 发表于 2009-9-15 13:14:30

本帖最后由 20576526 于 2009-9-15 13:40 编辑

谢谢R版主,:handshake
页: [1]
查看完整版本: R版主,帮忙修改一下admin插件