311890 发表于 2009-9-8 23:12:39

使用过A版的3647补丁V7.2(支持中文ID)的请进来看下!

我的服务器使用这个补丁以后,如果没有同时使用simen的中文名字补丁的话,采用setinfo name "中文名"的方式改名,就会隔一段时间(时间不定,有时候要过几个地图),突然所有AMXX插件(版本是AMXX1.8.1.3746)失去作用。用amxx plugins命令察看的话,会发现0个插件被加载,但察看AMXX加载的DLL又是全部正常的。此方式基本上不会出现群踢。
但如果同时加载simen的中文补丁,使用simen的中文改名方式(name "中文名"),就不会出现这个现象。此方式偶尔会出现群踢。
我不知道大家有没有这种问题出现。现在我是非常困扰,希望能够得到大家的帮助。谢谢!

Rulzy 发表于 2009-9-8 23:31:59

amxx plugins返回的内容中没有说明插件为什么未加载吗?

311890 发表于 2009-9-8 23:44:27

使用以后,下面什么也没有显示,根本就是空的!

only33 发表于 2009-9-9 10:46:47

AXOT的 V7.2优点是不用任何AMXX插件实现中文ID,。SIMON使用起来比较不方便,但与其他AMXX插件兼容性比较好。各有优缺吧。

我更喜欢用AXOT版的V7.2,原因是使用中文更容易,不需要预设,不足之处是,如果F插件加太多的话(例如事件奖励,发钱,等娱乐插件),使用中文很容易挂F。
但我想没有十全十美的东西,这也是难以避免的。

311890 发表于 2009-9-9 17:28:24

R版主,你看是不是和下面这个插件有关,请看看这个源码有没有问题?我使用这个插件来自动把VIP成员改成对应的中文名字,能够实现功能,但不知道是不是由于这个插件引起的问题!

#include <amxmodx>
#include <amxmisc>

new PLUGIN[]="Auto Name Changer"
new AUTHOR[]="pharse"
new VERSION[]="1.0"


new CVAR_enabled;

public plugin_init()
{
        register_plugin(PLUGIN,VERSION,AUTHOR);
        CVAR_enabled = register_cvar("amx_anc_enabled", "1");
}

public checkName(id){
       
        if (!get_pcvar_num(CVAR_enabled)) return false
       
        new szFilename
        get_configsdir(szFilename, 127)
        format(szFilename, 127, "%s/auto_changed_names.ini", szFilename)
       
        new File=fopen(szFilename,"r");
       
        if (File)
        {
                new Text;
                new AuthData;
                new NameData;
               
                while (!feof(File))
                {
                        fgets(File,Text,sizeof(Text)-1);
                       
                        trim(Text);
                       
                        // comments won't bother us
                        if (Text==';')
                                continue;
                       
                        AuthData = 0;
                        NameData = 0;
                       
                        // not enough parameters, we need ID and name
                        if ( parse(Text, AuthData, sizeof(AuthData)-1, NameData, sizeof(NameData)-1) < 2 )
                                continue;
                       
                        new name;
                        get_user_name(id,name,31)
                        if ( equali(name, AuthData) ){
                                      set_user_info(id, "name", NameData);
                                return PLUGIN_CONTINUE
                        }
                }
        }
        return PLUGIN_CONTINUE
}

public client_putinserver(id){
        if ( get_pcvar_num(CVAR_enabled) ) checkName(id)
        return PLUGIN_CONTINUE
}

Rulzy 发表于 2009-9-9 20:37:49

应该不是这个引起的。

311890 发表于 2009-9-9 22:28:14

但奇怪的是,我把这个插件关了以后,貎似就没有出现这种情况了!
是不是在处理UTF8字符的时候,有些格式需要额外地处理呢?

OMG 发表于 2011-1-31 02:10:20

服务器玩家使用中文名,服务器出现内存不足,服务器挂
页: [1]
查看完整版本: 使用过A版的3647补丁V7.2(支持中文ID)的请进来看下!