【插件資訊】插件來源:網路資源轉載提供會員參考
使用指令:cs遊戲中文名插件
安裝路徑:cs遊戲中文名插件
【插件介紹】cs遊戲中文名插件安裝說明:
1.把nameu.amxx放到addons/amxmodx/plugins,
並在addons/amxmodx/configs/plugins.ini裡加上一行nameu.amxx
2.把memhack_amxx.dll放到cstrike\addons\amxmodx\modules,
並在cstrike\addons\amxmodx\configs\modules.ini裡加上一行memhack
- 在控制台輸入utf8name 1開啟中文ID功能,0關閉(默認開啟)
- u_needaccess 1需要權限ADMIN_LEVEL_B才能改中文ID
- u_needaccess 0不檢查用戶權限(默認)
使用方法:
- 設置好csmate的路徑(其實可以不需要中文聊天軟件)
- 進入遊戲按Y輸入 name 中文ID
name.zip - amxx插件/代碼
memhack.rar - memhack
memhack_source.rar - memhack代碼
本插件(nameu.amxx)建議配合amxx版本1.75以上已知問題:中文ID可以擁有權限,但要注意,users.ini文件/數據庫裡的數據一定要用UTF-8編碼
- 某些插件不支持UTF-8編碼,中文ID可能會顯示為亂碼
- linux用的memhack可以到這裡下載:
http://forums.alliedmods.net/...postcount=62- 如果跟其他插件衝突,可以試一下把這句
register_forward(FM_ClientUserInfoChanged, "fwdClientUserInfoChanged", 0)
改成
register_forward(FM_ClientUserInfoChanged, "fwdClientUserInfoChanged", 1)
這樣用get_user_name()之類的函數得到的遊戲ID應該是一串數字而不是中文(沒測試過,猜的),不過權限問題就得另外解決了
語音時名字顯示為亂碼(無法解決,貌似要修改客戶端關於語音那個dll文件)
某些插件top排名顯示為亂碼(強制使用UTF-8編碼應該就能解決問題,我不懂html~~嘻嘻)
本插件可能會跟某些插件衝突導緻
解決方法:修改插件代碼,用下面這個函數代替get_user_name()
#include <fakemeta>
#include <memhack>
stock get_name(id, name[32])
{
new buffer = engfunc(EngFunc_GetInfoKeyBuffer, id)
new strtmp1[256]
copy_infokey_buffer(buffer, strtmp1, 255)
new offset = contain(strtmp1, "\name\") + 6
new thischr
new i
for (;;i++)
{
thischr = memhack_get_char(buffer + offset + i, MEM_NULLBASE, MEMTYPE_DATA, MEM_SIGNED)
if (thischr == '\' || thischr == 0)
{
name
= 0
break
}
else
{
name = thischr
}
}
} 附件