0920357689 发表于 2008-5-3 14:13:14

求教寫投票類插件

請求教寫投票的插件

例如被踢出或封禁後
信息提示被那個管理員 封禁了多久或被踢出

Cr@zyTreE 发表于 2008-5-3 14:25:15

回复: 求教寫投票類插件

Post by 0920357689
請求教寫投票的插件

例如被踢出或封禁後
信息提示被那個管理員 封禁了多久或被踢出

??:gogo: :gogo: :gogo: :gogo:

0920357689 发表于 2008-5-4 03:16:45

回复: 求教寫投票類插件

Post by Cr@zyTreE
??:gogo: :gogo: :gogo: :gogo:
當玩家版踢出或版封禁時

不是kick 或ban
而是
你已被管理員 %s 封禁了 %d 分鐘

你已被管理員踢出服務器

這樣

Cr@zyTreE 发表于 2008-5-4 09:12:35

回复: 求教寫投票類插件

Post by 0920357689
當玩家版踢出或版封禁時

不是kick 或ban
而是
你已被管理員 %s 封禁了 %d 分鐘

你已被管理員踢出服務器

這樣

加kickmsg就可以了

类似这个
server_cmd("kick #%d  你已被管理員踢出服務器。" , get_user_userid(who) )


也可以console_print 到客户端控制台。echo

Core (amxmodx.inc)
Description
console_print - Sends a message to a player's console

你试试。说的不对的话还请谅解。。

0920357689 发表于 2008-5-4 11:07:24

回复: 求教寫投票類插件

請問放在那里...
是不是admincmd.sma?是的話修改那里

Cr@zyTreE 发表于 2008-5-4 21:01:23

回复: 求教寫投票類插件

Post by 0920357689
請問放在那里...
是不是admincmd.sma? 是的話修改那里

服务器控制台输入amxx cmds 可以得到你所有的amx命令。
你看看admincmd.sma 吧。
我想你应该不是想改投票踢人的吧,投票踢人的是adminvote.sma

[ 4] amx_addban l console admincmd.amxx
[ 93] amx_voteban j console adminvote.amxx
[ 12] amx_ban d console admincmd.amxx
[ 13] amx_banip d console admincmd.amxx
[ 95] amx_votekick j console adminvote.amxx
[ 14] amx_banmenu d client plmenu.amxx
[ 42] amx_kick c console admincmd.amxx
[ 43] amx_kickmenu c client plmenu.amxx

你看看下面的代码。1.6支持带原因的kick的。不用改。


public cmdKick(id, level, cid)
{
if (!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED
new arg
read_argv(1, arg, 31)
new player = cmd_target(id, arg, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF)

if (!player)
return PLUGIN_HANDLED

new authid, authid2, name2, name, userid2, reason

get_user_authid(id, authid, 31)
get_user_authid(player, authid2, 31)
get_user_name(player, name2, 31)
get_user_name(id, name, 31)
userid2 = get_user_userid(player)
read_argv(2, reason, 31)
remove_quotes(reason)

log_amx("Kick: ^"%s<%d><%s><>^" kick ^"%s<%d><%s><>^" (reason ^"%s^")", name, get_user_userid(id), authid, name2, userid2, authid2, reason)
show_activity_key("ADMIN_KICK_1", "ADMIN_KICK_2", name, name2);
if (is_user_bot(player))
server_cmd("kick #%d", userid2)
else
{
if (reason)
server_cmd("kick #%d ^"%s^"", userid2, reason)
else
server_cmd("kick #%d", userid2)
}

console_print(id, " Client ^"%s^" kicked", name2)

return PLUGIN_HANDLED
}

0920357689 发表于 2008-5-5 05:20:45

回复: 求教寫投票類插件

請問加在那一行...那里有幾行kick.....

Cr@zyTreE 发表于 2008-5-5 06:30:07

回复: 求教寫投票類插件

Post by 0920357689
請問加在那一行...那里有幾行kick.....

不用改的,你在服务器控制台查到userid,
然后输入kick #userid msg
msg就是原因。。

0920357689 发表于 2008-5-5 07:35:08

回复: 求教寫投票類插件

Post by Cr@zyTreE
不用改的,你在服务器控制台查到userid,
然后输入kick #userid msg
msg就是原因。。
問題是...控制台能輸入中文嗎..
而且我要改的是...
你已被管理員 %s 踢出服務器
你已被管理員 %s 封禁了 %d 分鐘

不是普通的英文....

是在管理員菜單踢出的

Cr@zyTreE 发表于 2008-5-5 14:40:05

回复: 求教寫投票類插件

Post by 0920357689
問題是...控制台能輸入中文嗎..
而且我要改的是...
你已被管理員 %s 踢出服務器
你已被管理員 %s 封禁了 %d 分鐘

不是普通的英文....

是在管理員菜單踢出的

你在控制台是没办法输中文的。

拿kick为例子:
如果原因只有一个,那就可以在上面改一下,比较简单。
请参照http://www.dt-club.net/forum/thread/72/39445.htm
改server_cmd("kick #%d [提示]游戏中禁止改名,您已经被请出服务器。", get_user_userid(id))

我在4楼已经说明了。自己慢慢看,慢慢想吧。其它类推就可以。

将if (is_user_bot(player))
server_cmd("kick #%d", userid2)
else
{
if (reason[0])
server_cmd("kick #%d ^"%s^"", userid2, reason)
else
server_cmd("kick #%d", userid2)
}
改成

if (is_user_bot(player))
server_cmd("kick #%d", userid2)
else
{
if (reason[0])
server_cmd("kick #%d ^"%s^"", userid2, reason)
else
server_cmd("kick #%d [提示]由于您违反本服务器游戏规则,您已经被请出服务器。", userid2)
}

踢人的时候 控制台输入 kick #玩家编号。

如果有多个原因,就要做成menu的形式,比较复杂。
页: [1] 2
查看完整版本: 求教寫投票類插件