搜索
查看: 7988|回复: 12

只没收单一武器以及ShowSyncHudMsg函数

[复制链接]
发表于 2009-4-28 20:47:20 | 显示全部楼层 |阅读模式 来自 中国–广东–深圳–宝安区
本帖最后由 ttbs123 于 2009-4-29 14:03 编辑

问题1:例如允许玩家购买盾牌,但回合结束时,要没收掉玩家的盾牌,不没收玩家所有武器,只没收盾牌的代码要怎么写?
问题2:ShowSyncHudMsg函数有详细使用方法吗?
如:
static name[32]
get_user_name(newzombie, name, 31)
ShowSyncHudMsg(0, g_sync_msgdisplay, "%L", LANG_PLAYER, "INFECTED_HUD", name)
后面的变量name好像是替换到lang文件的%s里面,那么LANG_PLAYER替换到哪里?
哪位大哥能详细说说ShowSyncHudMsg的参数说明吗?
发表于 2009-11-2 13:08:04 | 显示全部楼层 来自 中国–福建–莆田
LANG_PLAYER 是个执行函数,不是显示的东西。
LANG_PLAYER代表使用客户端的语言来替换DATA/LANG/XX.TXT里的内容,LANG_SERVER代表统一使用服务器指定的语言。
回复

使用道具 举报

发表于 2009-11-2 15:27:13 | 显示全部楼层 来自 中国–湖北–武汉
回复

使用道具 举报

发表于 2009-11-2 15:46:44 | 显示全部楼层 来自 中国–广东–广州
1. 个人建议LZ可以先用
format()这个函数先!
然后再用ShowSyncHudMsg
2.关于LANG_PLAYER这个东西,说一下我个人理解!
就拿楼主的代码为例!有两种:
  1. static name[32]
  2. get_user_name(newzombie, name, 31)
  3. ShowSyncHudMsg(0, g_sync_msgdisplay, "%L", LANG_PLAYER, "INFECTED_HUD", name)
复制代码
第二种:

  1. static name[32]
  2. get_user_name(newzombie, name, 31)
  3. ShowSyncHudMsg(newzombie, g_sync_msgdisplay, "%L", newzombie, "INFECTED_HUD", name)
复制代码
大概应该就是这样了!!
回复

使用道具 举报

发表于 2009-11-2 20:15:58 | 显示全部楼层 来自 中国–广东–广州
楼主,我帮你试写了一个,但是好像盾牌是不能让它消失的!
我测试过!其它武器都可以!但是就是盾牌不可以!!我发我的代码给你看看!
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta_util>
  4. #include <fakemeta>

  5. #define PLUGIN_NAME        "Remove Shield"
  6. #define PLUGIN_VERSION        "1.0"
  7. #define PLUGIN_AUTHOR        "Unknow"

  8. new g_max_players

  9. public plugin_init()
  10. {
  11.         register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
  12.        
  13.         register_event("SendAudio", "event_EndRound", "a", "2&%!MRAD_terwin","2&%!MRAD_ctwin","2&%!MRAD_rounddraw")
  14.         g_max_players = get_maxplayers()
  15. }

  16. public event_EndRound()
  17. {
  18.         new id
  19.         new param[1]
  20.         for (id = 1; id < g_max_players; id++)
  21.         {
  22.                 new iEnt = fm_find_ent_by_owner(-1, "weapon_shield", id)
  23.                 engclient_cmd(id, "drop", "weapon_shield")
  24.                 new iBox = pev(iEnt, pev_owner)
  25.                 if (!iBox || iBox == id)
  26.                         return PLUGIN_HANDLED
  27.                 param[0] = iBox
  28.                 set_task(1.0, "drop_weapon", 0, param, 1)
  29.         }
  30.         return PLUGIN_HANDLED
  31. }

  32. public drop_weapon(param[])
  33. {
  34.         new iBox = param[0]
  35.         engfunc(EngFunc_RemoveEntity, iBox)
  36. }
复制代码
回复

使用道具 举报

发表于 2009-11-2 20:21:31 | 显示全部楼层 来自 中国–广东–广州
可能是我能力有限,看来还是等R版来吧!!
回复

使用道具 举报

发表于 2009-11-2 23:30:53 | 显示全部楼层 来自 中国–广东–惠州–惠城区
应该可行,没试过。

  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <fakemeta>

  5. #define PLUGIN_NAME        "New Plug-In"
  6. #define PLUGIN_VERSION        "1.0"
  7. #define PLUGIN_AUTHOR        "zwfgdlc"

  8. public plugin_init()
  9. {
  10.         register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
  11.         register_logevent("Round_End",2,"1=Round_End");
  12. }

  13. public Round_End()
  14. {
  15.         new Num,Players[32],id;
  16.         get_players(Players,Num,"ae","CT");
  17.        
  18.         if(!Num) return;
  19.        
  20.         for(new i=0;i<Num;i++)
  21.         {
  22.                 id=Players[i];
  23.                 if(cs_get_user_shield(id))
  24.                 remove_player_shield(id);
  25.         }
  26. }

  27. stock remove_player_shield(id)
  28. {
  29.         new ent=-1;
  30.         engclient_cmd(id,"drop","weapon_shield");
  31.         while((ent=engfunc(EngFunc_FindEntityByString,ent,"model","models/w_shield.mdl")))
  32.         {
  33.                 dllfunc(DLLFunc_Think, ent);
  34.         }
  35. }
复制代码
回复

使用道具 举报

发表于 2009-11-5 14:37:39 | 显示全部楼层 来自 中国–广东–广州
get_players(Players,Num,"ae","CT");

你用这个,你不知道盾牌TE也可以捡的吗!!
回复

使用道具 举报

发表于 2009-11-5 15:51:39 | 显示全部楼层 来自 中国–广东–惠州

  1. get_players(Players,Num,"a");
复制代码
改这样就行了.
说实在话,盾牌这东西,从一开始都是被禁用的,不怎么了解。何况
我并不玩CS,只是研究下插件而已.
回复

使用道具 举报

发表于 2009-11-5 21:56:02 | 显示全部楼层 来自 中国–广西–百色–右江区
本帖最后由 心静如水 于 2009-11-5 22:05 编辑

get_players(Players,Num,"a");
改这样就行了.
说实在话,盾牌这东西,从一开始都是被禁用的,不怎么了解。何况
我并不玩CS,只是研究下插件而已.
zwfgdlc 发表于 2009-11-5 15:51

记得使用没收武器的涵数就有人会买得盾牌.........但不知道是什么命令.........学得一点......

局末活的全部处死也方便吧.............
回复

使用道具 举报

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

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