搜索
查看: 4738|回复: 8

[AMXX 带源码] 8秒内连杀奖励代码

[复制链接]
发表于 2010-4-23 18:58:46 | 显示全部楼层 |阅读模式 来自 中国–广东–东莞
从我的插件分离出来的,喜欢的朋友试试

  1. #include <amxmodx>
  2. #include <csx>

  3. new g_KillSum[33]         //连续杀人数量记录
  4. new g_HeatshotSum[33]     //爆头记录
  5. new Float:g_Time[33][5]   //保存杀人开始,结束时间
  6. new gg_HeatshotSum[33][33]

  7. native cs_get_user_money2(index)
  8. native cs_set_user_money2(index, money, flash=1)

  9. public plugin_init(){
  10.         register_plugin("连杀奖励","1.0", "3344")
  11.         register_event("DeathMsg","eDeathMsg","a")
  12.         register_cvar("RewardConsecutive","34000")//连杀基数
  13. }


  14. //连杀插入**********************************************************************
  15. public eDeathMsg(){
  16.         new killer,victim,wpnname[4]
  17.         read_data(4 , wpnname , 3)
  18.         if(equal(wpnname,"c4")) return
  19.                
  20.         killer=read_data(1)
  21.         if(!killer) return
  22.         victim=read_data(2)
  23.         if(get_user_team(killer)==get_user_team(victim)) return
  24.         if(killer == victim) return

  25.         if(get_cvar_num("RewardConsecutive") > 0){
  26.                 new Float:TimeNow = get_gametime()
  27.                 new param[1]
  28.                 param[0] = killer
  29.                 g_KillSum[killer]++
  30.                 g_HeatshotSum[killer] += read_data(3)
  31.                 g_Time[killer][4] = TimeNow
  32.                
  33.                 if(g_KillSum[killer]==1){
  34.                         g_Time[killer][1] = TimeNow
  35.                         gg_HeatshotSum[killer][1] = read_data(3)
  36.                 }
  37.                 if(g_KillSum[killer]==2){
  38.                         g_Time[killer][2] = TimeNow
  39.                         gg_HeatshotSum[killer][2] = read_data(3)
  40.                 }
  41.                 if (g_KillSum[killer]==3){
  42.                         g_Time[killer][3] = TimeNow
  43.                         gg_HeatshotSum[killer][3] = read_data(3)
  44.                        
  45.                         if(floatround(g_Time[killer][3] - g_Time[killer][1])<=8)
  46.                                 set_task(8.0 + g_Time[killer][1] - g_Time[killer][3], "TimeEnd", 3344+killer, param, 1)
  47.                         else{
  48.                                 g_KillSum[killer]--
  49.                                 g_HeatshotSum[killer]-=gg_HeatshotSum[killer][1]
  50.                                 g_Time[killer][1] = g_Time[killer][2]
  51.                                 g_Time[killer][2] = g_Time[killer][3]
  52.                                 gg_HeatshotSum[killer][1] = gg_HeatshotSum[killer][2]
  53.                                 gg_HeatshotSum[killer][2] = gg_HeatshotSum[killer][3]
  54.                         }
  55.                 }
  56.         }
  57. }
  58. //******************************************************************************
  59. public TimeEnd(param[]){
  60.         new id = param[0]
  61.         new time_total = floatround(g_Time[id][4] - g_Time[id][1])
  62.         if (time_total<=0)
  63.                 time_total = 1

  64.         new Rewardmoney=(g_HeatshotSum[id]+g_KillSum[id])*get_cvar_num("RewardConsecutive")/time_total
  65.         cs_set_user_money2(id,cs_get_user_money2(id)+Rewardmoney)
  66.        
  67.         new name[32], Cmsg[128]
  68.         get_user_name(id, name, 31)
  69.         format(Cmsg,sizeof Cmsg - 1,"!G『!T连杀奖!G』!T%s!W在!T%d!W秒内,连挂!T%d!W敌,!T%d!W爆头.!G奖励金钱!T%d",name,time_total,g_KillSum[id],g_HeatshotSum[id],Rewardmoney)
  70.         client_color(0, id, Cmsg)
  71.        
  72.         set_hudmessage(100, 100, 255, 0.7, 0.25, 0, 6.0, 4.0, 0.5, 0.15, 3)
  73.         show_hudmessage(0,"%s^n在%d秒内,连杀%d敌(%d爆头)^n奖励%d",name,time_total,g_KillSum[id],g_HeatshotSum[id],Rewardmoney)
  74.        
  75.         g_KillSum[id] = 0
  76.         g_HeatshotSum[id] = 0
  77. }

  78. public client_disconnect(id){
  79.         if(task_exists(3344+id))
  80.                 remove_task(3344+id)
  81.        
  82.         g_KillSum[id] = 0
  83.         g_HeatshotSum[id] = 0
  84. }

  85. public client_color(playerid, colorid, msg[]){
  86.         while(replace(msg,127,"!W","^x01")){}
  87.         while(replace(msg,127,"0x02","^x02")){}
  88.         while(replace(msg,127,"!T","^x03")){}
  89.         while(replace(msg,127,"!G","^x04")){}
  90.         message_begin(playerid?MSG_ONE:MSG_ALL,get_user_msgid("SayText"),_,playerid)
  91.         write_byte(colorid)
  92.         write_string(msg)
  93.         message_end()
  94.         client_print(playerid, print_console,msg)
  95. }
复制代码
发表于 2010-4-25 13:15:46 | 显示全部楼层 来自 中国–浙江–杭州
有图片显示么?
回复

使用道具 举报

发表于 2010-5-1 11:59:27 | 显示全部楼层 来自 中国–江西–南昌
文件名是什么呢?
回复

使用道具 举报

发表于 2010-5-2 22:33:12 | 显示全部楼层 来自 中国–江西–南昌
好东西,谢谢分享
回复

使用道具 举报

 楼主| 发表于 2010-5-7 21:31:41 | 显示全部楼层 来自 中国–广东–东莞
好效果图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
回复

使用道具 举报

发表于 2010-5-8 11:31:55 | 显示全部楼层 来自 中国–广东–中山
还是憨豆版比较强大.
回复

使用道具 举报

 楼主| 发表于 2010-5-9 08:42:31 | 显示全部楼层 来自 中国–广东–东莞
还是憨豆版比较强大.


有源码我看看吗
回复

使用道具 举报

发表于 2010-6-27 05:56:32 | 显示全部楼层 来自 中国–浙江–杭州
正需要,不过你这介绍看的有点头晕
回复

使用道具 举报

发表于 2010-7-3 12:37:08 | 显示全部楼层 来自 中国–江苏–无锡
无限金钱版的,晕,不喜欢
回复

使用道具 举报

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

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