搜索
楼主: [Grief.QQ]

【 AMX + AMXX 】【原创插件】QQ表情秀

[复制链接]
发表于 2005-9-8 17:19:19 | 显示全部楼层 来自 中国–广东–深圳

回复: 【已更新】【原创】【插件】QQ表情插件

晕,我还有在CS里输入/L可以玩连连看的呢,要不要
回复

使用道具 举报

 楼主| 发表于 2005-9-8 18:52:29 | 显示全部楼层 来自 中国–广东–广州–白云区

回复: 【已更新】【原创】【插件】QQ表情插件

不会啊,假如,菜单超过一页,比如说两页,那么,
除了1234578是正常选择外,你还需要增加9(更多),0(退出),如此一来,8个选择就是固定的,而9和0的选择就是额外加上去的。所以,定义了每页菜单的最大数量。



  1. #include <amxmod>
  2. #include <amxmisc>

  3. #define MAX_DISPLAY 8
  4. #define MAX_SPRITES 24
  5. #define TE_PLAYERATTACHMENT 124

  6. new get_spr_name[MAX_SPRITES][32]
  7. new get_spr_precached[MAX_SPRITES]
  8. new get_index_spr
  9. new g_nMenuPosition[33]

  10. public plugin_init()
  11. {       
  12.         register_plugin("Face Show", "0.2", "[Grief.QQ]")
  13.         register_menucmd( register_menuid("\yPleaseChoose"), 1023, "MenuCommand" )

  14.         register_clcmd( "say /face","DoShowMenu", 0 )

  15.         return PLUGIN_CONTINUE
  16. }

  17. public plugin_precache()
  18. {
  19.   get_index_spr = 0
  20.   new sprite_file[64]
  21.   new sprite_config[64]
  22.   build_path(sprite_config, 63, "$basedir/config/spr_list.ini")
  23.   new len, pos = 0

  24.   if(file_exists(sprite_config))
  25.   {
  26.     while(read_file(sprite_config,pos++,get_spr_name[get_index_spr],31,len))
  27.     {
  28.       if( sprite_config[0] == ';' || !len ) continue
  29.       format(sprite_file,63,"sprites/%s.spr",get_spr_name[get_index_spr])
  30.       if(file_exists(sprite_file))
  31.       {
  32.         get_spr_precached[get_index_spr] = precache_model(sprite_file)
  33.         get_index_spr++
  34.       }
  35.     }
  36.   }
  37.   return PLUGIN_CONTINUE
  38. }

  39. public MenuCommand( id, key )
  40. {
  41.         switch( key )
  42.         {
  43.                 case 8: ShowMenu( id, ++g_nMenuPosition[id] )
  44.                 case 9: ShowMenu( id, --g_nMenuPosition[id] )
  45.                                 default:{
  46.                                  
  47.                           if(!is_user_alive(id))
  48.                                         {
  49.                                         set_hudmessage(200, 100, 0, -1.0, 0.3, 0, 1.0, 5.0, 0.1, 0.2, 3)
  50.                                         show_hudmessage(id,"Sorry,You Are Dead!!!")
  51.                                         return PLUGIN_HANDLED
  52.                                         }
  53.                                
  54.                         new spr_name = g_nMenuPosition[id]*MAX_DISPLAY + key
  55.                                
  56.                         message_begin(MSG_ALL,SVC_TEMPENTITY,{0,0,0},id )
  57.                           write_byte ( TE_PLAYERATTACHMENT )
  58.                           write_byte(id)
  59.                           write_coord(60)
  60.                           write_short( get_spr_precached[spr_name] )
  61.                           write_short(30)
  62.                           message_end()
  63.                                          
  64.                           return PLUGIN_HANDLED
  65.                                                           }
  66.           }

  67.           return PLUGIN_HANDLED
  68. }

  69. public ShowMenu( id, pos )
  70. {
  71.         if( pos < 0 ) return

  72.         new i, j = 0
  73.         new nKeys, nStart, nEnd, nLen
  74.         new faceMenuBody[512]

  75.         nStart = pos * MAX_DISPLAY

  76.         if( nStart >= MAX_SPRITES )
  77.                 nStart = pos = g_nMenuPosition[id] = 0

  78.         nLen = format( faceMenuBody, 511, "\yPleaseChoose^n^n",pos + 1)
  79.         nEnd = nStart + MAX_DISPLAY
  80.         nKeys = (1<<9)

  81.         if( nEnd > MAX_SPRITES ) nEnd = MAX_SPRITES

  82.         for( i = nStart; i < nEnd; i++ )
  83.         {
  84.                 nKeys |= (1<<j++)
  85.                 nLen += format( faceMenuBody[nLen], (511-nLen), "\w%d. %s^n\w", j, get_spr_name[i] )
  86.         }

  87.         if( nEnd != MAX_SPRITES )
  88.           {
  89.                 format( faceMenuBody[nLen], (511-nLen), "^n9. More...^n0. %s", pos ? "Back" : "Exit" )
  90.                 nKeys |= (1<<8)
  91.         }
  92.           else format( faceMenuBody[nLen], (511-nLen), "^n0. %s", pos ? "Back" : "Exit" )
  93.        
  94.         show_menu(id,nKeys,faceMenuBody,-1)
  95. }

  96. public DoShowMenu( id, lvl, cid )
  97. {
  98.         if( cmd_access( id, lvl, cid, 1 ) )
  99.                 ShowMenu( id, g_nMenuPosition[id] = 0 )
  100.         return PLUGIN_HANDLED
  101. }
复制代码
回复

使用道具 举报

发表于 2005-9-8 19:20:45 | 显示全部楼层 来自 日本

回复: 【已更新】【原创】【插件】QQ表情插件

Post by AE86
晕,我还有在CS里输入/L可以玩连连看的呢,要不要

我要,能上传一个吗?
谢谢 !
回复

使用道具 举报

 楼主| 发表于 2005-9-8 20:46:01 | 显示全部楼层 来自 中国–广东–广州–白云区

回复: 【已更新】【原创】【插件】QQ表情插件

Post by AE86
晕,我还有在CS里输入/L可以玩连连看的呢,要不要



我还能输入/flash,然后打企鹅呢,你要不要??
回复

使用道具 举报

发表于 2005-9-8 22:42:25 | 显示全部楼层 来自 日本

回复: 【已更新】【原创】【插件】QQ表情插件

Post by '[Grief.QQ
']我还能输入/flash,然后打企鹅呢,你要不要??

发个上来 !!!!!!!
回复

使用道具 举报

发表于 2005-9-9 00:07:47 | 显示全部楼层 来自 中国–北京–北京

回复: 【已更新】【原创】【插件】QQ表情插件

Post by '[Grief.QQ
']我还能输入/flash,然后打企鹅呢,你要不要??

:sweat: 那CS变的更花哨了
回复

使用道具 举报

 楼主| 发表于 2005-9-9 00:30:42 | 显示全部楼层 来自 中国–广东–广州–天河区

回复: 【已更新】【原创】【插件】QQ表情插件

哈哈哈哈哈,这都相信?
CS1.6的MOTD不是支持HTML么,SAY一个,然后调用特定的网页,然后网页里面嵌入FLASH
别说打企鹅,你看电影都没问题!!!
回复

使用道具 举报

发表于 2005-9-9 03:53:47 | 显示全部楼层 来自 日本

回复: 【已更新】【原创】【插件】QQ表情插件

Post by '[Grief.QQ
']哈哈哈哈哈,这都相信?
CS1.6的MOTD不是支持HTML么,SAY一个,然后调用特定的网页,然后网页里面嵌入FLASH
别说打企鹅,你看电影都没问题!!!

晕,还以为是真的呢 !
不过用motd不大实际,曾经试过一次。因为cs的数据的最大交换量为8k/s左右,打那种游戏下载慢而且非常不流畅,延迟非常大,基本没有可玩性。至于电影更是不可能了。以上己见 。

你有其他方法解决网络限制吗?我还真有打算给用户们播放一些影片呢,就是不知道如何实现。

(MOTD,听说这个文件有不少设置上的限制。根本无法与专业浏览器比较。)
回复

使用道具 举报

发表于 2005-9-9 06:51:44 | 显示全部楼层 来自 日本

回复: 【已更新】【原创】【插件】QQ表情插件

刚刚使用了一下,觉得效果挺不错,图片也清晰。
谢谢楼主分享 !

希望改进的地方:
1。增加一些游戏过程中经常使用的文字的表情。如 omg,shit,nice,hi all,thx bye all,等。
2。现在的情况是 say  /face 之后再翻页查找相应表情,有点麻烦呀!如果打相应文字信息就出现表情图片就好了。比如:say hi all就出现 hiall的表情图片。
3。现在只能活着的时候使用表情。如果死者也能够使用表情的就更好了。最好增加一个参数,以设置可使用表情的是活人还是死人还是任何情况。大家都频繁的使用表情,估计给服务器负担挺大,能够设置使用表情的间隔时间就更更好了。(死者向活者说nice shot。虽然没多大勇,增加些娱乐吧!)
4。影响服务器环境的表情最好不要加入。fuck....等
5。别忘了amxx版本的呀!


以上,本人的小小建议( :brick: 小小?改起来可麻烦了 :sweat: )。

最后再顶一下,谢谢楼主的无私分享!
回复

使用道具 举报

发表于 2005-9-9 07:56:10 | 显示全部楼层 来自 中国–天津–天津

回复: 【已更新】【原创】【插件】QQ表情插件

我很喜欢这个插件,但是希望楼主能给个AMXX的谢谢了 :D
回复

使用道具 举报

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

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