搜索
查看: 3271|回复: 6

关于锁定OP名字的alias name指令和两个音效缺失的问题

[复制链接]
发表于 2007-5-25 18:58:21 | 显示全部楼层 |阅读模式 来自 中国–甘肃–兰州
问题1:
我知道如果在控制台输入alias name,那么可以锁定OP的名字,可以防止别人用cmd name xxx的命令改名,但一旦输入alias name后,被锁定的名字就没法改了。:embarrass 我听说用rcon massegemode “setinfo name (想改的名字)”这个指令就可以改被锁定的名字,我试过了,但还是无法改变名字,大家有什么办法解决吗?
问题2:
不知道大家有没有碰到这样的问题,我的CS1.6是亿赛2834版的,加载了Amxmodx1.76d+warcraft3FT2.3.2,同时开启了服务器报时插件server_chime_plugin.amxx,设置如下:
// 报时声音.默认值2.   0 = 没有声音, 1 = 只有嘟嘟声, 2 = 嘟嘟声和语音
j9_time_speak 2
但我进入游戏后发现里面缺少了两个音效,第一个是服务器报时没有语音提示,只出现文字;第二个是当选择兽族和暗夜精灵时,如果大决已经准备完毕后,按相应设定的键位时,只看到屏幕左边的种族图标在一闪一闪的,却听不到嘟嘟的声音。
我觉得游戏的sound/warcraft3里的音频文件应该很齐全了,为什么还会这样呢?后来我去反恐大联盟okgogogo下载了CS1.6增强版v2.0,发现这个版本加载插件后却没发现音效缺失的问题题,什么原因呢,真令人费解啊......:embarrass
发表于 2007-5-25 21:07:18 | 显示全部楼层 来自 中国–福建–漳州

回复: 关于锁定OP名字的alias name指令和两个音效缺失的问题

应该是你客户端声音文件不全的缘故。
回复

使用道具 举报

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

回复: 关于锁定OP名字的alias name指令和两个音效缺失的问题

呵呵,确实是客户端缺少了某些音频,我已经给补上了!但对于第一个问题(alias name),OP的名字一旦被锁定后真的就无法改了吗?:burn:
回复

使用道具 举报

发表于 2007-5-26 19:49:14 | 显示全部楼层 来自 中国–辽宁–沈阳

回复: 关于锁定OP名字的alias name指令和两个音效缺失的问题

为什么不用amx_namelock.amxx
这个插件既可以锁定玩家名字也可以解除锁定
还可以限制修改玩家名字长度等等
代码如下
回复

使用道具 举报

发表于 2007-5-26 20:02:33 | 显示全部楼层 来自 中国–辽宁–沈阳

回复: 关于锁定OP名字的alias name指令和两个音效缺失的问题

以前我上传过一次原代码 现在无法上传了
我把原代码复制在下面
===========================================================
#include <amxmodx>
#include <amxmisc>
#define ADMIN_NAMELOCK_LEVEL ADMIN_LEVEL_B
#define MAX_NAME_LENGTH 33
new player_name[33][MAX_NAME_LENGTH];
new player_is_locked[33];
new is_plugin_on = -1;
new locked_name_length = -1;
public plugin_init()
{
register_plugin("Name Locker","1.17","Twilight Suzuka")
is_plugin_on = register_cvar("amx_namelock","1")
locked_name_length = register_cvar("amx_namelock_maxlen","32")
register_concmd("amx_namel","admin_rename",ADMIN_NAMELOCK_LEVEL,"amx_namel <nick|#userid|steamid|ip> <newname> - renames client, than locks their name.")
register_concmd("amx_nameul","admin_unlock",ADMIN_NAMELOCK_LEVEL,"amx_nameul <nick|#userid|steamid|ip> - unlocks clients name.")
register_concmd("amx_lock_name","admin_lock",ADMIN_NAMELOCK_LEVEL,"amx_lock_name <player> - locks clients name.")
register_concmd("amx_unlock_name","admin_unlock",ADMIN_NAMELOCK_LEVEL,"amx_unlock_name <player> - unlocks clients name.")
}
public admin_rename(id,level,cid)
{
if(!cmd_access(id,level,cid,3) ) return PLUGIN_HANDLED;
new arg[MAX_NAME_LENGTH]
read_argv(1,arg,MAX_NAME_LENGTH)
new tid = cmd_target(id,arg, 3)
if(tid == 0) return PLUGIN_HANDLED;
read_argv(2,arg,MAX_NAME_LENGTH)
lock_name(tid, arg, get_min_name_length())
new name[33],tname[33]
get_user_name(id,name,32)
get_user_name(tid,tname,32)
show_activity(id,name,"renamed %s",tname)
return PLUGIN_HANDLED;
}
public admin_lock(id,level,cid)
{
if(!cmd_access(id,level,cid,2) ) return PLUGIN_HANDLED;
new arg[MAX_NAME_LENGTH]
read_argv(1,arg,MAX_NAME_LENGTH)
new tid = cmd_target(id,arg, 3)
if(tid == 0) return PLUGIN_HANDLED;
player_is_locked[tid] = 1;
new name[33],tname[33]
get_user_name(id,name,32)
get_user_name(tid,tname,32)
show_activity(id,name,"locked %s's name",tname)
return PLUGIN_HANDLED;
}
public admin_unlock(id,level,cid)
{
if(!cmd_access(id,level,cid,2) ) return PLUGIN_HANDLED;
new arg[MAX_NAME_LENGTH]
read_argv(1,arg,MAX_NAME_LENGTH)
new tid = cmd_target(id,arg, 3)
if(tid == 0) return PLUGIN_HANDLED;
player_is_locked[tid] = 0;
new name[33],tname[33]
get_user_name(id,name,32)
get_user_name(tid,tname,32)
show_activity(id,name,"unlocked %s's name",tname)
return PLUGIN_HANDLED;
}
public client_putinserver(id)
{
player_is_locked[id] = 0;
check_name(id)
}
public client_infochanged(id)
{
return check_name_change(id);
}
public check_name(id)
{
if(!get_pcvar_num(is_plugin_on) || access(id,ADMIN_NAMELOCK_LEVEL) ) return PLUGIN_CONTINUE;
new name_length = get_min_name_length()
get_user_info(id, "name", player_name[id], MAX_NAME_LENGTH )
if(strlen(player_name[id]) > name_length) lock_name(id, player_name[id], name_length)
return PLUGIN_HANDLED;
}
public lock_name(id, name[], len)
{
player_is_locked[id] = 1;
format(player_name[id],len,"%s",name)
block_name_change(id)
}
public check_name_change(id)
{
if(!get_pcvar_num(is_plugin_on) || access(id,ADMIN_NAMELOCK_LEVEL) ) return PLUGIN_CONTINUE;

if(player_is_locked[id] == 0 ) return check_name(id);
new newname[MAX_NAME_LENGTH]
get_user_info(id, "name", newname, MAX_NAME_LENGTH )

if(!equal(newname,player_name[id],strlen(player_name[id]) ) ) block_name_change(id)
return PLUGIN_HANDLED;
}
public block_name_change(id)
{
client_print(id,print_chat,"You may not change your name at this time.")
set_user_info(id,"name",player_name[id])
}
stock get_min_name_length()
{
new ptr_name_length = get_pcvar_num(locked_name_length)
return min(MAX_NAME_LENGTH, ptr_name_length )
}

==========================================================
回复

使用道具 举报

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

回复: 关于锁定OP名字的amx_lock_name指令

这个amx_lock_name插件好像也不行啊,比如我是OP,名字是SK,那么我想锁定的话就应该在控制台输入: amx_lock_name “SK” 对吧?的确,当我输入后有了提示:player SK lock name:“SK”。但我照样能把自己的名字改了,即仍然可以通过name xxx或cmd name xxx的命令来改名字,这是怎么回事啊?
是不是只有OP才可以改自己的名字(OP自己不能锁定自己?!),别人就不能?:burn:
回复

使用道具 举报

发表于 2007-6-12 15:37:15 | 显示全部楼层 来自 中国–山东–威海

回复: 关于锁定OP名字的alias name指令和两个音效缺失的问题

用alias name后,想再改名字命令:setinfo name xxx 即可。
回复

使用道具 举报

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

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