搜索
查看: 4043|回复: 17

[AMXX 带源码] 无事 发点代码 需要的留名 拿走

[复制链接]
发表于 2009-1-20 23:56:35 | 显示全部楼层 |阅读模式 来自 广东东莞
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fun>
  4. #include <cstrike>

  5. #define KEY1 (1<<0)
  6. #define KEY2 (1<<1)
  7. #define KEY3 (1<<2)
  8. #define KEY4 (1<<3)
  9. #define KEY0 (1<<9)

  10. new index[33]
  11. new msg[64]
  12. new g_playerFly[33]

  13. // for hud msg
  14. new colR = 200
  15. new colG = 100
  16. new colB = 0
  17. new type = 2

  18. public plugin_init(){
  19.         register_plugin("dddzzz","2.0","O~Yes/A.MI")
  20.         register_menucmd(register_menuid("cl_command"), (KEY1|KEY2|KEY3|KEY4|KEY0), "command_Cmd")
  21.         register_logevent("newRound", 2, "0=World triggered", "1=Round_Start")
  22.         return PLUGIN_CONTINUE
  23. }

  24. public client_damage( attacker, victim, damage, wpnindex, hitplace, TA){
  25.    
  26.     if(TA==1){
  27.     if(cs_get_user_buyzone(attacker)){
  28.     user_kill(attacker);
  29.     format(msg,63,"故 意 打 伤 队 友 只 能 处 死 你 !")
  30.     set_hudmessage(248, 248, 255, 0.01, 0.3, 0, 3.0, 4.0, 0.1, 1.0, 7)
  31.     show_hudmessage(attacker, msg)
  32.     return PLUGIN_CONTINUE
  33.     }
  34.    
  35.     format(msg,63,"警 告 : 再 打 伤 队 友, 你 会 死 掉 !")
  36.     set_hudmessage(248, 248, 255, 0.01, 0.3, 0, 3.0, 4.0, 0.1, 1.0, 7)
  37.     show_hudmessage(attacker, msg)
  38.     {
  39.     set_user_health ( attacker, get_user_health(attacker) - (damage-1) )
  40.     }
  41.     }
  42.     return PLUGIN_CONTINUE
  43. }

  44. public client_death( SZkiller, victim, wpnindex, hitplace, TK){
  45.        
  46.         if(get_user_team(SZkiller) == get_user_team(victim) && is_user_alive(SZkiller)){
  47.                 index[victim] = SZkiller
  48.                 cl_command(victim)
  49.         }
  50.         return PLUGIN_CONTINUE
  51. }

  52. public cl_command(id){
  53.         new menu[512]
  54.         format( menu, 511, "* 队友杀你,你想选择哪个?^n^n\w1.原谅他一次^n2.他故意杀我^n3.让他变飞机^n4.他经常杀自己人^n0.退出菜单")
  55.         show_menu( id, KEY1|KEY2|KEY3|KEY4|KEY0, menu, -1, "cl_command")
  56.         return PLUGIN_CONTINUE
  57. }

  58. public command_Cmd( id, key){
  59.         new SZkiller = index[id]
  60.        
  61.         switch(key){
  62.         case 0:{
  63.                         index[id] = 0 ;
  64.                         format(msg,63,"这次队友原谅了你,下次请注意喔!")
  65.                         set_hudmessage(0, 128, 0, 0.01, 0.5, 2, 3.0, 4.0, 0.1, 1.0, 4)
  66.                         show_hudmessage(SZkiller, msg)
  67.                 }
  68.                 case 1:{
  69.                         user_kill(index[id]);
  70.                         format(msg,63,"队友不原谅你,给你打一针安乐死吧!")
  71.                         set_hudmessage(248, 248, 255, 0.01, 0.5, 2, 3.0, 4.0, 0.1, 1.0, 4)
  72.                         show_hudmessage(SZkiller, msg)
  73.         }
  74.                 case 2:{
  75.             fly(SZkiller);
  76.                 }
  77.                 case 3:{
  78.                         new ip[16]
  79.                         get_user_ip(SZkiller, ip, 15, 1)
  80.                         server_cmd("addip %.2f %s;wait;writeip", 5.0, ip);
  81.                 }
  82.                 case 4:{
  83.                         index[id] = 0 ;
  84.                 }
  85.         }
  86.         return PLUGIN_CONTINUE
  87. }

  88. // ************************ 飞天惩罚 ************************

  89. public fly(SZkiller){

  90.         new pname[32]
  91.         get_user_name( SZkiller, pname, 31);

  92.         set_hudmessage ( colR, colG, colB, 0.01, 0.5, type, 0.1, 11.0, 0.1, 0.1, 5)
  93.         show_hudmessage ( 0, "悬赏:玩家%s误杀队友被变飞机^n你们快点来打飞机,哈哈哈!",pname )
  94.         set_user_rendering(SZkiller, kRenderFxGlowShell, 0, 111, 0, kRenderTransAlpha, 255)        // 颜色和透明度
  95.         {
  96.         strip_user_weapons(SZkiller);
  97.         set_user_gravity( SZkiller, -0.5);
  98.         client_cmd( SZkiller, "+jump;wait;wait;-jump");
  99.         g_playerFly[SZkiller] = 1
  100.         }
  101.         return PLUGIN_HANDLED
  102. }

  103. public newRound(){
  104.         set_task( 1.0 , "roundDelay");
  105. }

  106. public roundDelay(){

  107.         new players[32],num
  108.         get_players( players, num)
  109.         for (new i = 0; i < num; i++){
  110.         new player = players[i]
  111.        
  112.         if( g_playerFly[player] ){
  113.         stopFly(player)
  114.         }
  115.         }
  116.         return PLUGIN_HANDLED
  117. }

  118. stopFly(player){
  119.         g_playerFly[player] = 0 ;
  120.         set_user_gravity( player, 1.0);
  121.         set_user_rendering( player, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);
  122. }
复制代码
 楼主| 发表于 2009-1-20 23:57:07 | 显示全部楼层 来自 广东东莞
  1. #include <amxmodx>
  2. #include <cstrike>
  3. #include <fun>
  4. #include <engine>

  5. #define PLUGIN  "knifeonly"
  6. #define VERSION "0.1"
  7. #define AUTHOR  "xiaojian"
  8. new g_Round
  9. new pMaxRound
  10. public Player_Reset(id)
  11. {
  12.    if (g_Round < get_pcvar_num(pMaxRound))
  13.    {
  14.       new task_msgID = id+10000
  15.       if (task_exists(task_msgID)) remove_task(task_msgID)
  16.       new paramID[1]
  17.       paramID[0] = id
  18.       set_task(3.5, "Mode_msg", task_msgID, paramID, 1)
  19.    }
  20.    return PLUGIN_CONTINUE
  21. }
  22.    
  23. public restart_round()
  24. {
  25.    g_Round = 0
  26.    return PLUGIN_CONTINUE
  27. }
  28.    
  29. public end_round()
  30. {
  31.    ++g_Round
  32.    return PLUGIN_CONTINUE
  33. }
  34.    
  35. public Mode_msg(paramID[])
  36. {
  37.    new id = paramID[0]
  38.    if ( is_user_alive(id) )
  39.    {
  40.       give_item(id,"weapon_knife")
  41.       client_print(id,print_center,"刀战模式")
  42.    }
  43. }

  44. public SwitchWeapon(id)
  45. {
  46.    if (g_Round < get_pcvar_num(pMaxRound))
  47.    {
  48.       new WeaponID = read_data(2)
  49.       if (WeaponID!=CSW_KNIFE)
  50.       {
  51.          if (WeaponID!=CSW_KNIFE)
  52.          engclient_cmd(id,"weapon_knife")
  53.       }
  54.    }
  55.    return PLUGIN_CONTINUE
  56. }

  57. public plugin_init()
  58. {
  59.    register_plugin(PLUGIN,VERSION,AUTHOR)
  60.    register_event("CurWeapon", "SwitchWeapon", "be", "1=1")
  61.    register_event("ResetHUD", "Player_Reset", "be")
  62.    register_event("TextMsg", "restart_round", "a", "2&#Game_C", "2&#Game_w")
  63.    register_event("SendAudio", "end_round", "a", "2&%!MRAD_terwin", "2&%!MRAD_ctwin", "2&%!MRAD_rounddraw")
  64.    pMaxRound = register_cvar("knifeonly", "10000")
  65. }
复制代码
回复

使用道具 举报

 楼主| 发表于 2009-1-20 23:57:48 | 显示全部楼层 来自 广东东莞
  1. #include <amxmodx>
  2. #include <fun>
  3. #define PLUGIN    "Test"
  4. #define AUTHOR    "Jim"
  5. #define VERSION    "1.0"
  6. new pchp
  7. new pcmaxhp
  8. new pct
  9. new task[33]
  10. public plugin_init()
  11. {
  12.     register_plugin(PLUGIN, VERSION, AUTHOR)
  13.     pchp = register_cvar("recover_hp", "100")           //1次恢复多少
  14.     pcmaxhp = register_cvar("recover_maxhp", "100")   //恢复最高
  15.     pct = register_cvar("recover_interval", "1")      //恢复间隔
  16.     register_event("Damage", "event_damage", "be")
  17.     register_event("DeathMsg", "event_death", "a")
  18. }
  19. public client_disconnect(id)
  20. {
  21.     remove_task(id)
  22.     task[id] = 0
  23. }
  24. public event_death()
  25. {
  26.     new id = read_data(2)
  27.     remove_task(id)
  28.     task[id] = 0
  29. }
  30. public event_damage(id)
  31. {
  32.     if(!task[id])
  33.     {
  34.         task[id] = set_task(float(get_pcvar_num(pct)), "addhp", id, _, _, "b")
  35.     }
  36. }
  37. public addhp(id)
  38. {
  39.     new maxhp = get_pcvar_num(pcmaxhp)
  40.     new hp = get_user_health(id) + get_pcvar_num(pchp)
  41.     if(hp < maxhp)
  42.     {
  43.         set_user_health(id, hp)
  44.     }
  45.     else
  46.     {
  47.         set_user_health(id, maxhp)
  48.         remove_task(id)
  49.         task[id] = 0
  50.     }
  51. }
复制代码
回复

使用道具 举报

发表于 2009-1-21 03:11:51 | 显示全部楼层 来自 广西百色
{:3_68:}

ai ,wu yu~
回复

使用道具 举报

发表于 2009-1-21 07:38:32 | 显示全部楼层 来自 福建福州
up~!!!顶上了``谢谢``
回复

使用道具 举报

发表于 2009-1-21 07:47:16 | 显示全部楼层 来自 广东河源
还是顶下先
回复

使用道具 举报

发表于 2009-1-21 18:06:03 | 显示全部楼层 来自 台湾
第一篇有需要..謝了
回复

使用道具 举报

发表于 2009-1-21 19:02:56 | 显示全部楼层 来自 广东佛山
难找的今天都遇上了 3Q
回复

使用道具 举报

发表于 2009-1-21 21:20:35 | 显示全部楼层 来自 广东惠州
谢谢无私奉献
回复

使用道具 举报

发表于 2009-1-21 22:38:47 | 显示全部楼层 来自 四川成都
有些确实很经典,谢谢了!!!
回复

使用道具 举报

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

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