查看: 518|回复: 3
打印 上一主题 下一主题

[转载插件] [源码]杀敌奖励插件,免费开源

[复制链接]
跳转到指定楼层
楼主
发表于 2012-11-13 12:11:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
杀敌奖励插件,开源,大家有需要的就拿走

我好像狠久没发插件了

  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. }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

沙发
发表于 2012-11-13 18:40:45 | 只看该作者
看不懂,解释下怎么弄。。
回复 支持 反对

使用道具 举报

板凳
发表于 2012-11-14 20:03:59 | 只看该作者
表示看不懂
回复 支持 反对

使用道具 举报

地板
发表于 2012-11-15 11:19:21 | 只看该作者
七服在用
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站业务已经停用,仅作为【维翔主机】提供虚拟主机服务测速参考|小黑屋|手机版|银河网络    

GMT+8, 2025-6-25 21:32 , Processed in 0.116876 second(s), 17 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc. Design Singcere!

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