只没收单一武器以及ShowSyncHudMsg函数
本帖最后由 ttbs123 于 2009-4-29 14:03 编辑问题1:例如允许玩家购买盾牌,但回合结束时,要没收掉玩家的盾牌,不没收玩家所有武器,只没收盾牌的代码要怎么写?
问题2:ShowSyncHudMsg函数有详细使用方法吗?
如:
static name
get_user_name(newzombie, name, 31)
ShowSyncHudMsg(0, g_sync_msgdisplay, "%L", LANG_PLAYER, "INFECTED_HUD", name)
后面的变量name好像是替换到lang文件的%s里面,那么LANG_PLAYER替换到哪里?
哪位大哥能详细说说ShowSyncHudMsg的参数说明吗? LANG_PLAYER 是个执行函数,不是显示的东西。
LANG_PLAYER代表使用客户端的语言来替换DATA/LANG/XX.TXT里的内容,LANG_SERVER代表统一使用服务器指定的语言。 http://forums.alliedmods.net/showpost.php?p=488852&postcount=1 1. 个人建议LZ可以先用
format()这个函数先!
然后再用ShowSyncHudMsg
2.关于LANG_PLAYER这个东西,说一下我个人理解!
就拿楼主的代码为例!有两种:static name
get_user_name(newzombie, name, 31)
ShowSyncHudMsg(0, g_sync_msgdisplay, "%L", LANG_PLAYER, "INFECTED_HUD", name)第二种:
static name
get_user_name(newzombie, name, 31)
ShowSyncHudMsg(newzombie, g_sync_msgdisplay, "%L", newzombie, "INFECTED_HUD", name)
大概应该就是这样了!! 楼主,我帮你试写了一个,但是好像盾牌是不能让它消失的!
我测试过!其它武器都可以!但是就是盾牌不可以!!我发我的代码给你看看!#include <amxmodx>
#include <amxmisc>
#include <fakemeta_util>
#include <fakemeta>
#define PLUGIN_NAME "Remove Shield"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "Unknow"
new g_max_players
public plugin_init()
{
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
register_event("SendAudio", "event_EndRound", "a", "2&%!MRAD_terwin","2&%!MRAD_ctwin","2&%!MRAD_rounddraw")
g_max_players = get_maxplayers()
}
public event_EndRound()
{
new id
new param
for (id = 1; id < g_max_players; id++)
{
new iEnt = fm_find_ent_by_owner(-1, "weapon_shield", id)
engclient_cmd(id, "drop", "weapon_shield")
new iBox = pev(iEnt, pev_owner)
if (!iBox || iBox == id)
return PLUGIN_HANDLED
param = iBox
set_task(1.0, "drop_weapon", 0, param, 1)
}
return PLUGIN_HANDLED
}
public drop_weapon(param[])
{
new iBox = param
engfunc(EngFunc_RemoveEntity, iBox)
} 可能是我能力有限,看来还是等R版来吧!! 应该可行,没试过。
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#define PLUGIN_NAME "New Plug-In"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "zwfgdlc"
public plugin_init()
{
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
register_logevent("Round_End",2,"1=Round_End");
}
public Round_End()
{
new Num,Players,id;
get_players(Players,Num,"ae","CT");
if(!Num) return;
for(new i=0;i<Num;i++)
{
id=Players;
if(cs_get_user_shield(id))
remove_player_shield(id);
}
}
stock remove_player_shield(id)
{
new ent=-1;
engclient_cmd(id,"drop","weapon_shield");
while((ent=engfunc(EngFunc_FindEntityByString,ent,"model","models/w_shield.mdl")))
{
dllfunc(DLLFunc_Think, ent);
}
}
get_players(Players,Num,"ae","CT");
你用这个,你不知道盾牌TE也可以捡的吗!!
get_players(Players,Num,"a");
改这样就行了.
说实在话,盾牌这东西,从一开始都是被禁用的,不怎么了解。何况
我并不玩CS,只是研究下插件而已. 本帖最后由 心静如水 于 2009-11-5 22:05 编辑
get_players(Players,Num,"a");
改这样就行了.
说实在话,盾牌这东西,从一开始都是被禁用的,不怎么了解。何况
我并不玩CS,只是研究下插件而已.
zwfgdlc 发表于 2009-11-5 15:51 http://www.dt-club.net/forum/images/common/back.gif
记得使用没收武器的涵数就有人会买得盾牌.........但不知道是什么命令.........学得一点......
局末活的全部处死也方便吧.............
页:
[1]
2