找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1382|回复: 6

求显按键的插件

[复制链接]

该用户从未签到

发表于 2008-3-17 01:24:19 | 显示全部楼层 |阅读模式
我想要的模式是
那些按键是显示在中间的
自己是看不到的
能看到的是已死掉的玩家或观察者
插件是showkeys.amxx

该用户从未签到

发表于 2008-3-17 03:24:45 | 显示全部楼层
http:\\zuojianhang.ys168.com给你的地址,里面有插件.在CS工具里面`

[ 本帖最后由 zuojianhang 于 2008-3-17 03:32 编辑 ]

该用户从未签到

 楼主| 发表于 2008-3-17 06:23:55 | 显示全部楼层
原帖由 zuojianhang 于 2008-3-17 03:24 发表
http:\\zuojianhang.ys168.com给你的地址,里面有插件.在CS工具里面`

插件我是有...
我想要的就如一楼所说
showkeys只能自己看自己的按键..
而且在观察者时又不能显别人按的键
showkeys那显示表键介面也不错的说

[ 本帖最后由 0920357689 于 2008-3-17 06:27 编辑 ]

该用户从未签到

发表于 2008-3-18 14:56:22 | 显示全部楼层
原帖由 0920357689 于 2008-3-17 06:23 发表
showkeys只能自己看自己的按键..
而且在观察者时又不能显别人按的键
showkeys那显示表键介面也不错的说



我还是把我精简的插件换个名字吧,按Y输入:/anjian 使用!

AnJian1.2.rar (6.28 KB, 下载次数: 69)


按键测试DEMO.rar (712.28 KB, 下载次数: 92)   (test1为主视角、test2为观察模式视角)

该用户从未签到

发表于 2008-3-18 15:01:12 | 显示全部楼层

贴个 *.sma 源代码的!

  1. // original: SpecInfo v1.3.1 by Ian
  2. // 2008-03-18 Caffeine

  3. #include <amxmodx>
  4. #include <engine>
  5. #include <fakemeta>


  6. #define KEYS_STR_LEN 31
  7. #define LIST_STR_LEN 610
  8. #define BOTH_STR_LEN KEYS_STR_LEN + LIST_STR_LEN

  9. #define FL_KEYS    ( 1 << 1 )        /* 观察模式看别人的按键 */
  10. #define FL_OWNKEYS ( 1 << 2 )        /* 看自己的按键 */

  11. // 按键字符变量
  12. new cl_keys[33], cl_prefs[33]
  13. new keys_string[33][KEYS_STR_LEN + 1]

  14. public plugin_init() {

  15.         // 设置: 按Y,输入“/anjian”,调用 toggle_keys() 函数
  16.         register_clcmd( "say /anjian", "toggle_keys");

  17.         // 每0.1秒钟,执行一次 keys_update() 函数
  18.         set_task(0.1, "keys_update", _, _, _, "b")

  19.         return PLUGIN_CONTINUE
  20. }

  21. // 更新按键字符
  22. public keys_update() {
  23.         new players[32], num, id, i
  24.         get_players( players, num, "a" )
  25.         for( i = 0; i < num; i++ ) {
  26.                 id = players[i]
  27.                 formatex( keys_string[id], KEYS_STR_LEN, " ^n^t^t%s^t^t^t%s^n^t%s %s %s^t^t%s",
  28.                         cl_keys[id] & IN_FORWARD ? "W" : " .", /* 若玩家按了“前W”键,则字符为“W”,否则字符为“.” */
  29.                         cl_keys[id] & IN_JUMP ? "跳" : " -",
  30.                         cl_keys[id] & IN_MOVELEFT ? "A" : ".",
  31.                         cl_keys[id] & IN_BACK ? "S" : ".",
  32.                         cl_keys[id] & IN_MOVERIGHT ? "D" : ".",
  33.                         cl_keys[id] & IN_DUCK ? "蹲" : " -" )
  34.                 cl_keys[id] = 0
  35.         }
  36.         new id2
  37.         get_players( players, num, "ch" )
  38.         for( i=0; i<num; i++ ) {
  39.                 id = players[i]
  40.                 if( is_user_alive( id ) ) {
  41.                         if( cl_prefs[id] & FL_OWNKEYS ) clmsg( id )
  42.                 }
  43.                 else{
  44.                         id2 = pev( id, pev_iuser2 )
  45.                         if( cl_prefs[id] & FL_KEYS && id2 && id2 != id ) clmsg( id )
  46.                 }
  47.         }
  48. }

  49. // 获取当前服务器32位玩家的按键
  50. public server_frame( ) {
  51.         new players[32], num, id
  52.         get_players( players, num, "a" )
  53.         for( new i = 0; i < num; i++ ) {
  54.                 id = players[i]
  55.                 if( get_user_button( id ) & IN_FORWARD )
  56.                         cl_keys[id] |= IN_FORWARD
  57.                 if( get_user_button( id ) & IN_BACK )
  58.                         cl_keys[id] |= IN_BACK
  59.                 if( get_user_button( id ) & IN_MOVELEFT )
  60.                         cl_keys[id] |= IN_MOVELEFT
  61.                 if( get_user_button( id ) & IN_MOVERIGHT )
  62.                         cl_keys[id] |= IN_MOVERIGHT
  63.                 if( get_user_button( id ) & IN_DUCK )
  64.                         cl_keys[id] |= IN_DUCK
  65.                 if( get_user_button( id ) & IN_JUMP )
  66.                         cl_keys[id] |= IN_JUMP
  67.         }
  68.         return PLUGIN_CONTINUE
  69. }

  70. // 显示出那些按键字符
  71. public clmsg( id ) {
  72.         if( !id ) return
  73.         new prefs = cl_prefs[id]
  74.         // Red, Green, Blue, X, Y, Effects, Fxtime, HoldTime, Fadeintime, Fadeouttime, Channel
  75.         set_hudmessage(45, 89, 116, 0.48, 0.14, 0, 0.0, 0.1, 0.1, 0.1, 3)
  76.         new id2
  77.         if( is_user_alive( id ) && prefs & FL_OWNKEYS ) id2 = id
  78.         else id2 = pev( id, pev_iuser2 )
  79.         if( !id2 ) return
  80.         new msg[BOTH_STR_LEN + 1]
  81.         msg ="^n^n^n^n^n^n^n^n^n^n^n^n"
  82.         format( msg, BOTH_STR_LEN, "%s%s", msg, keys_string[id2][1] )
  83.         show_hudmessage( id, msg )
  84. }

  85. //打开、隐藏按键显示
  86. public toggle_keys( id ) {
  87.         cl_prefs[id] ^= FL_OWNKEYS
  88.         cl_prefs[id] ^= FL_KEYS
  89.         set_hudmessage(45, 89, 116, -1.0, 0.8, 0, 0.0, 2.0, 0.0, 0.0, 4)
  90.         if(cl_prefs[id]==0) {
  91.                 show_hudmessage(id, "[KZCN] 已关闭按键显示!")
  92.         }
  93.         else{
  94.                 show_hudmessage(id, "[KZCN] 已开启按键显示!")
  95.         }
  96.         return PLUGIN_HANDLED
  97. }
复制代码

[ 本帖最后由 caffeine 于 2008-3-18 15:02 编辑 ]

该用户从未签到

发表于 2008-3-20 12:56:01 | 显示全部楼层
刚才用IIN大姐那个插件搞了半天都不会。。。还是用下咖啡因的 试试=

该用户从未签到

发表于 2008-3-21 20:46:17 | 显示全部楼层
测试过没,行不行啊????
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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