搜索
查看: 3484|回复: 9

[AMXX 带源码] 我这里还有个 M4A1开镜源码

[复制链接]
发表于 2010-9-30 18:38:31 | 显示全部楼层 |阅读模式 来自 中国–广西–桂林
我也想在里面加入权限···只有VIP会员能开镜···求各位了!!服务器特别需要!!:'(   怪我没学好插件一点都不懂!!!

本帖子中包含更多资源

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

×
 楼主| 发表于 2010-10-1 04:08:28 | 显示全部楼层 来自 中国–广西–桂林
  1. /* 本插件由 AMXX-Studio 中文版自动生成*/
  2. /* UTF-8 func by www.DT-Club.net */

  3. #include <amxmodx>
  4. #include <amxmisc>
  5. #include <cstrike>
  6. #include <fakemeta_util>
  7. #include <hamsandwich>

  8. #define PLUGIN_NAME        "New Plug-In"
  9. #define PLUGIN_VERSION        "1.0"
  10. #define PLUGIN_AUTHOR        "Love灬Weiwei"

  11. #define WEAPON_CSW CSW_M4A1
  12. #define WEAPON_ENT "weapon_m4a1"
  13. #define WEAPON_RELOAD_TIME 4.0
  14. #define WEAPON_DRAW_TIME 2.0
  15. #define WEAPON_ADDSIL_TIME 1.8
  16. #define WEAPON_SHOOT_TIME 2.2

  17. #define TASK_SHOOT 1234

  18. enum {
  19.         anim_idle,
  20.         anim_reload,
  21.         anim_draw,
  22.         anim_shoot1,
  23.         anim_shoot2,
  24.         anim_shoot3,
  25.         anim_add,
  26.         anim_idle_unsil,
  27. }

  28. new g_reloading[33],g_addsil[33],g_shooting[33],g_hasDoneCurWeap[33]

  29. const m_pPlayer = 41    //用于寻找实体主人
  30. const m_flNextPrimaryAttack = 46

  31. public plugin_init()
  32. {
  33.         register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
  34.         register_forward(FM_CmdStart, "forward_cmdstart")
  35.         register_forward(FM_UpdateClientData, "UpdateClientData_Post", 1)
  36.        
  37.         register_event("CurWeapon","Current_Weapon","be","1=1")
  38.        
  39.         RegisterHam(Ham_Weapon_PrimaryAttack, WEAPON_ENT, "fw_WeapPriAttack", 1)
  40.         RegisterHam(Ham_Weapon_Reload, WEAPON_ENT, "fw_WeaponReload",1);
  41.         RegisterHam(Ham_Item_Deploy, WEAPON_ENT, "fw_WeaponDeployPost", 1);
  42.        
  43.         //在此处添加您的代码...
  44. }

  45. public native_playanim(player,anim)
  46. {
  47.         set_pev(player, pev_weaponanim, anim)
  48.         message_begin(MSG_ONE, SVC_WEAPONANIM, {0, 0, 0}, player)
  49.         write_byte(anim)
  50.         write_byte(pev(player, pev_body))
  51.         message_end()
  52. }


  53. public forward_cmdstart(id, uc_handle, seed)
  54. {
  55.         if(!is_user_alive(id) || get_user_weapon(id) != WEAPON_CSW)
  56.                 return PLUGIN_HANDLED
  57.                
  58.         if((get_uc(uc_handle, UC_Buttons) & IN_ATTACK2) && !(pev(id, pev_oldbuttons) & IN_ATTACK2) )
  59.         {
  60.                 if(!g_reloading[id] && !g_addsil[id])
  61.                 {
  62.                         if(cs_get_user_zoom(id) == CS_SET_AUGSG552_ZOOM)
  63.                         {
  64.                                 cs_set_user_zoom(id,CS_RESET_ZOOM,1)
  65.                         }
  66.                         else
  67.                         {
  68.                                 cs_set_user_zoom(id,CS_SET_AUGSG552_ZOOM,1)
  69.                         }
  70.                        
  71.                         emit_sound(id, CHAN_ITEM, "weapons/zoom.wav", 0.20, 2.40, 0, 100)
  72.                 }

  73.         }
  74.        

  75.         if( get_uc(uc_handle, UC_Impulse) ==  201 && !g_reloading[id] && !g_addsil[id] && !g_shooting[id])
  76.         {

  77.                 cs_set_user_zoom(id, CS_RESET_ZOOM, 0)
  78.                
  79.                 remove_task(id)
  80.                 g_addsil[id] = true
  81.                 set_task(WEAPON_ADDSIL_TIME,"Finish_addSil",id)
  82.                
  83.                 new ent = fm_find_ent_by_owner(-1, WEAPON_ENT,id)
  84.                
  85.                 if(cs_get_weapon_silen(ent))
  86.                 {
  87.                         cs_set_weapon_silen(ent,0,1)
  88.                 }
  89.                        
  90.                 else
  91.                 {
  92.                         cs_set_weapon_silen(ent,1,1)       
  93.                 }
  94.                                
  95.         }

  96.         new cmd
  97.        
  98.         if(g_addsil[id])
  99.         {
  100.                 if((cmd = get_uc(uc_handle, UC_Buttons)) & IN_ATTACK )
  101.                 {
  102.                         cmd &= ~IN_ATTACK
  103.                         set_uc(uc_handle, UC_Buttons, cmd)
  104.                 }               
  105.                
  106.                 if((cmd = get_uc(uc_handle, UC_Buttons)) & IN_RELOAD )
  107.                 {
  108.                         cmd &= ~IN_RELOAD
  109.                         set_uc(uc_handle, UC_Buttons, cmd)
  110.                 }               
  111.         }
  112.        
  113.         if((cmd = get_uc(uc_handle, UC_Buttons)) & IN_ATTACK2 )
  114.         {
  115.                 cmd &= ~IN_ATTACK2
  116.                 set_uc(uc_handle, UC_Buttons, cmd)
  117.         }
  118.                                
  119.        
  120.         return PLUGIN_HANDLED
  121. }

  122. public Finish_WeapReload(id)
  123. {

  124.         g_reloading[id] = false
  125.        
  126. }

  127. public Finish_addSil(id)
  128. {
  129.         g_addsil[id] = false
  130.        
  131.         if(is_user_alive(id) && get_user_weapon(id) == WEAPON_CSW)
  132.         {
  133.                 new ent = fm_find_ent_by_owner(-1, WEAPON_ENT,id)
  134.                
  135.                 if(cs_get_weapon_silen(ent))
  136.                         native_playanim(id,anim_idle)
  137.                 else
  138.                         native_playanim(id,anim_idle_unsil)
  139.         }
  140. }

  141. public Finish_shoot(taskid)
  142. {
  143.         new id = taskid-TASK_SHOOT
  144.        
  145.         g_shooting[id] = false
  146. }

  147. public Current_Weapon(id)
  148. {
  149.         if(!g_hasDoneCurWeap[id] && get_user_weapon(id) != WEAPON_CSW)
  150.         {
  151.                 remove_task(id)
  152.                 remove_task(id+TASK_SHOOT)
  153.                 g_reloading[id] = false
  154.                 g_addsil[id] = false
  155.                 g_shooting[id] = false
  156.                 g_hasDoneCurWeap[id] = true
  157.         }

  158. }

  159. public UpdateClientData_Post( id, sendweapons, cd_handle )
  160. {
  161.         if(!is_user_alive(id) || !g_addsil[id] || get_user_weapon(id) != WEAPON_CSW)
  162.                 return PLUGIN_HANDLED
  163.        
  164.         set_cd(cd_handle, CD_ID, 1);
  165.        
  166.         return PLUGIN_CONTINUE
  167. }


  168. public fw_WeaponReload(weapon)
  169. {
  170.         static id;
  171.         id = get_pdata_cbase(weapon, m_pPlayer, 4);
  172.        
  173.         cs_set_user_zoom(id, CS_RESET_ZOOM, 0)       
  174.        
  175.         remove_task(id)
  176.         g_reloading[id] = true
  177.         set_task(WEAPON_RELOAD_TIME,"Finish_WeapReload",id)
  178. }

  179. public fw_WeaponDeployPost(weapon)
  180. {
  181.         static id;
  182.         id = get_pdata_cbase(weapon, m_pPlayer, 4);
  183.        
  184.         remove_task(id)
  185.         g_reloading[id] = true
  186.         set_task(WEAPON_DRAW_TIME,"Finish_WeapReload",id)
  187.        
  188.         g_hasDoneCurWeap[id] = false
  189.        
  190.         client_print(id,print_chat,"欢迎使用开镜精华,右键开镜,T键使用特殊功能。")
  191. }

  192. public fw_WeapPriAttack(weapon)
  193. {
  194.         static id;
  195.         id = get_pdata_cbase(weapon, m_pPlayer, 4);
  196.        
  197.         if(cs_get_user_zoom(id) == CS_SET_AUGSG552_ZOOM)
  198.         {
  199.                 static Float:weap_delay
  200.                 weap_delay = get_pdata_float(weapon, 46, 4) * 1.5
  201.                
  202.                 set_pdata_float(weapon, m_flNextPrimaryAttack, weap_delay, 4)
  203.         }
  204.        
  205.         remove_task(id+TASK_SHOOT)
  206.         g_shooting[id] = true
  207.         set_task(WEAPON_SHOOT_TIME,"Finish_shoot",id+TASK_SHOOT)
  208. }
  209. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  210. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset134 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang2052\\ f0\\ fs16 \n\\ par }
  211. */
复制代码
晕死真是没人帮新手的啊??
回复

使用道具 举报

 楼主| 发表于 2010-10-1 04:09:24 | 显示全部楼层 来自 中国–广西–桂林
帮忙加入 A权限  拜托了!!!!!!!!!!!!!!!!!
回复

使用道具 举报

 楼主| 发表于 2010-10-1 14:50:48 | 显示全部楼层 来自 中国–广西–桂林
请求各位大大能帮忙加个权限  求各位了······
:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(
回复

使用道具 举报

 楼主| 发表于 2010-10-1 21:10:59 | 显示全部楼层 来自 中国–广西–桂林
:Q没有人吗?
回复

使用道具 举报

发表于 2010-10-2 20:38:05 | 显示全部楼层 来自 中国–湖北–武汉
我是在想楼主哪来的源码...
回复

使用道具 举报

 楼主| 发表于 2010-10-3 10:13:51 | 显示全部楼层 来自 中国–广西–桂林
6# 业余插件者


郁闷难道我不找啊??
回复

使用道具 举报

发表于 2010-10-10 07:29:29 | 显示全部楼层 来自 中国–天津–天津
直接开镜??
回复

使用道具 举报

发表于 2010-10-10 10:42:06 | 显示全部楼层 来自 中国–河南–洛阳
好像是黄金AK的原代码吧
回复

使用道具 举报

发表于 2010-10-10 21:55:59 | 显示全部楼层 来自 中国–江西–南昌
m4a1开镜有什么用呢 不适合远距离攻击啊
奇怪的插件
回复

使用道具 举报

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

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