Advertisement
Guest User

nu megre pe 1.8.1.

a guest
Jun 16th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.32 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <cstrike>
  3. #include <fakemeta>
  4. #include <hamsandwich>
  5.  
  6. const XoWeapon = 4;
  7. const XoPlayer = 5;
  8. const m_pPlayer = 41;
  9. const m_flNextPrimaryAttack = 46;
  10. const m_flTimeWeaponIdle = 48;
  11. const m_fInSpecialReload = 55;
  12. const m_flNextAttack = 83;
  13. const m_pActiveItem = 373;
  14.  
  15. new const PLUGIN[] = "CS:GO Inspect Weapon";
  16. new const VERSION[] = "5.1.3";
  17. new const DATE[] = "5 October 2018";
  18.  
  19. new const wpns_without_inspect = (1 << CSW_C4) | (1 << CSW_HEGRENADE) | (1 << CSW_FLASHBANG) | (1 << CSW_SMOKEGRENADE);
  20. new const wpns_scoped = (1 << CSW_AUG) | (1 << CSW_AWP) | (1 << CSW_G3SG1) | (1 << CSW_SCOUT) | (1 << CSW_SG550) | (1 << CSW_SG552);
  21.  
  22. new g_deagle_overide[33];
  23.  
  24. new inspect_anim[] =
  25. {
  26. 0, //null
  27. 7, //p228
  28. 0, //shield
  29. 5, //scout
  30. 0, //hegrenade
  31. 7, //xm1014
  32. 0, //c4
  33. 6, //mac10
  34. 6, //aug
  35. 0, //smoke grenade
  36. 16, //elites
  37. 6, //fiveseven
  38. 6, //ump45
  39. 5, //sg550
  40. 6, //galil
  41. 6, //famas
  42. 16, //usp
  43. 13, //glock
  44. 6, //awp
  45. 6, //mp5
  46. 5, //m249
  47. 7, //m3
  48. 14, //m4a1
  49. 6, //tmp
  50. 5, //g3sg1
  51. 0, //flashbang
  52. 6, //deagle
  53. 6, //sg552
  54. 6, //ak47
  55. 8, //knife
  56. 6 //p90
  57. }
  58.  
  59. new Float:idle_calltime[] =
  60. {
  61. 0.0, //null
  62. 5.2, //p228
  63. 0.0, //shield
  64. 5.0, //scout
  65. 0.0, //hegrenade
  66. 4.4, //xm1014
  67. 0.0, //c4
  68. 5.1, //mac10
  69. 3.4, //aug
  70. 0.0, //smoke grenade
  71. 4.5, //elites
  72. 5.2, //fiveseven
  73. 5.3, //ump45
  74. 5.2, //sg550
  75. 3.7, //galil
  76. 3.4, //famas
  77. 6.1, //usp
  78. 5.2, //glock
  79. 5.0, //awp
  80. 7.7, //mp5
  81. 5.5, //m249
  82. 4.5, //m3
  83. 4.8, //m4a1
  84. 5.8, //tmp
  85. 3.5, //g3sg1
  86. 0.0, //flashbang
  87. 5.7, //deagle
  88. 3.7, //sg552
  89. 4.4, //ak47
  90. 4.9, //knife
  91. 4.2 //p90
  92. }
  93.  
  94. new V_MODELS[][] =
  95. {
  96. "null",
  97. "models/v_p228.mdl",
  98. "models/v_shield.mdl",
  99. "models/v_scout.mdl",
  100. "models/v_hegrenade.mdl",
  101. "models/v_xm1014.mdl",
  102. "models/v_c4.mdl",
  103. "models/v_mac10.mdl",
  104. "models/v_aug.mdl",
  105. "models/v_smokegrenade.mdl",
  106. "models/v_elite.mdl",
  107. "models/v_fiveseven.mdl",
  108. "models/v_ump45.mdl",
  109. "models/v_sg550.mdl",
  110. "models/v_galil.mdl",
  111. "models/v_famas.mdl",
  112. "models/v_usp.mdl",
  113. "models/v_glock18.mdl",
  114. "models/v_awp.mdl",
  115. "models/v_mp5.mdl",
  116. "models/v_m249.mdl",
  117. "models/v_m3.mdl",
  118. "models/v_m4a1.mdl",
  119. "models/v_tmp.mdl",
  120. "models/v_g3sg1.mdl",
  121. "models/v_flashbang.mdl",
  122. "models/v_deagle.mdl",
  123. "models/v_sg552.mdl",
  124. "models/v_ak47.mdl",
  125. "models/v_knife.mdl",
  126. "models/v_p90.mdl"
  127. }
  128.  
  129. new V_MODELS_ALT[][] =
  130. {
  131. "null",
  132. "models/alt/v_p228.mdl",
  133. "models/alt/v_shield.mdl",
  134. "models/alt/v_scout.mdl",
  135. "models/alt/v_hegrenade.mdl",
  136. "models/alt/v_xm1014.mdl",
  137. "models/alt/v_c4.mdl",
  138. "models/alt/v_mac10.mdl",
  139. "models/alt/v_aug.mdl",
  140. "models/alt/v_smokegrenade.mdl",
  141. "models/alt/v_elite.mdl",
  142. "models/alt/v_fiveseven.mdl",
  143. "models/alt/v_ump45.mdl",
  144. "models/alt/v_sg550.mdl",
  145. "models/alt/v_galil.mdl",
  146. "models/alt/v_famas.mdl",
  147. "models/alt/v_usp.mdl",
  148. "models/alt/v_glock18.mdl",
  149. "models/alt/v_awp.mdl",
  150. "models/alt/v_mp5.mdl",
  151. "models/alt/v_m249.mdl",
  152. "models/alt/v_m3.mdl",
  153. "models/alt/v_m4a1.mdl",
  154. "models/alt/v_tmp.mdl",
  155. "models/alt/v_g3sg1.mdl",
  156. "models/alt/v_flashbang.mdl",
  157. "models/alt/v_deagle.mdl",
  158. "models/alt/v_sg552.mdl",
  159. "models/alt/v_ak47.mdl",
  160. "models/alt/v_knife.mdl",
  161. "models/alt/v_p90.mdl"
  162. }
  163.  
  164. new weapon_classnames[][] =
  165. {
  166. "weapon_p228",
  167. "weapon_elite",
  168. "weapon_fiveseven",
  169. "weapon_usp",
  170. "weapon_glock18",
  171. "weapon_deagle",
  172. "weapon_ak47",
  173. "weapon_m4a1",
  174. "weapon_awp",
  175. "weapon_mp5navy",
  176. "weapon_ump45",
  177. "weapon_galil",
  178. "weapon_famas",
  179. "weapon_sg552",
  180. "weapon_aug",
  181. "weapon_mac10",
  182. "weapon_tmp",
  183. "weapon_scout",
  184. "weapon_m3",
  185. "weapon_xm1014",
  186. "weapon_g3sg1",
  187. "weapon_sg550",
  188. "weapon_m249",
  189. "weapon_knife",
  190. "weapon_p90"
  191.  
  192. }
  193.  
  194. public plugin_init()
  195. {
  196. register_plugin(PLUGIN, VERSION, "hellmonja");
  197.  
  198. for(new i = 0; i < sizeof weapon_classnames; i++)
  199. RegisterHam(Ham_Weapon_PrimaryAttack, weapon_classnames[i], "Fw_Weapon_PrimaryAttack", 1);
  200.  
  201. RegisterHam(Ham_Item_Deploy, "weapon_deagle", "Fw_Deagle_Disable");
  202. RegisterHam(Ham_Weapon_Reload, "weapon_deagle", "Fw_Deagle_Disable");
  203.  
  204. RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_aug", "Fw_Weapon_SecondaryAttack");
  205. RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_awp", "Fw_Weapon_SecondaryAttack");
  206. RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_g3sg1", "Fw_Weapon_SecondaryAttack");
  207. RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_scout", "Fw_Weapon_SecondaryAttack");
  208. RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_sg550", "Fw_Weapon_SecondaryAttack");
  209. RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_sg552", "Fw_Weapon_SecondaryAttack");
  210.  
  211. register_clcmd("cl_inspect", "Inspect_Weapon");
  212. register_concmd("inspect", "Inspect_Weapon");
  213. register_concmd("ver_csgo_inspect", "Code_Version");
  214. }
  215.  
  216. public Code_Version(id)
  217. {
  218. console_print(id, "==============================");
  219. console_print(id, "%s v%s", PLUGIN, VERSION);
  220. console_print(id, "%s", DATE);
  221. console_print(id, "==============================");
  222. }
  223.  
  224. public Fw_Weapon_PrimaryAttack(weapon)
  225. {
  226. static id;
  227. id = get_pdata_cbase(weapon, m_pPlayer, XoWeapon);
  228.  
  229. if(!is_user_alive(id))
  230. return
  231.  
  232. new wpn_id = get_user_weapon(id);
  233. static model[32];
  234. pev(id, pev_viewmodel2, model, 31);
  235.  
  236. if(equali(model, V_MODELS[wpn_id]) || equali(model, V_MODELS_ALT[wpn_id]))
  237. {
  238. switch(wpn_id)
  239. {
  240. case CSW_DEAGLE:
  241. g_deagle_overide[id] = 1;
  242. case CSW_AWP, CSW_SCOUT, CSW_M3:
  243. set_pdata_float(weapon, m_flTimeWeaponIdle, 1.5, XoWeapon);
  244. case CSW_KNIFE:
  245. set_pdata_float(weapon, m_flTimeWeaponIdle, 2.0, XoWeapon);
  246. default:
  247. set_pdata_float(weapon, m_flTimeWeaponIdle, 0.5, XoWeapon);
  248. }
  249. }
  250. }
  251.  
  252. public Fw_Weapon_SecondaryAttack(weapon)
  253. {
  254. static id;
  255. id = get_pdata_cbase(weapon, m_pPlayer, XoWeapon);
  256. new wpn_id = get_user_weapon(id);
  257.  
  258. if(wpns_scoped & (1 << wpn_id) && cs_get_user_zoom(id) <= 1)
  259. {
  260. set_pev(id, pev_weaponanim, 0);
  261.  
  262. message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, {0, 0, 0}, id);
  263. write_byte(0);
  264. write_byte(pev(id, pev_body));
  265. message_end();
  266. }
  267. }
  268.  
  269. public Fw_Deagle_Disable(weapon)
  270. {
  271. static id;
  272. id = get_pdata_cbase(weapon, m_pPlayer, XoWeapon);
  273. remove_task(id)
  274. }
  275.  
  276. public Deagle_Overide(id)
  277. g_deagle_overide[id] = 1;
  278.  
  279. public Inspect_Weapon(id)
  280. {
  281. if(!is_user_alive(id) || !is_user_connected(id))
  282. return PLUGIN_HANDLED
  283.  
  284. if(cs_get_user_shield(id))
  285. return PLUGIN_HANDLED
  286.  
  287. if(cs_get_user_zoom(id) > 1)
  288. return PLUGIN_HANDLED
  289.  
  290. new wpn_id = get_user_weapon(id);
  291.  
  292. if(wpns_without_inspect & (1 << wpn_id))
  293. return PLUGIN_HANDLED
  294.  
  295. static weapon; weapon = get_pdata_cbase(id, m_pActiveItem);
  296. static Float:flNextAttack; flNextAttack = get_pdata_float(id, m_flNextAttack, XoPlayer);
  297. static Float:flNextPrimaryAttack; flNextPrimaryAttack = get_pdata_float(weapon, m_flNextPrimaryAttack, XoWeapon);
  298.  
  299. if(flNextAttack <= 0 && flNextPrimaryAttack <= 0)
  300. {
  301. static model[32]; pev(id, pev_viewmodel2, model, 31);
  302.  
  303. if(equali(model, V_MODELS[wpn_id]) || equali(model, V_MODELS_ALT[wpn_id]))
  304. {
  305. new anim = inspect_anim[wpn_id];
  306. new current_anim = pev(get_pdata_cbase(weapon, m_pPlayer, XoWeapon), pev_weaponanim);
  307.  
  308. switch (wpn_id)
  309. {
  310. case CSW_USP: if(!cs_get_weapon_silen(weapon)) anim = 17;
  311. case CSW_M4A1:if(!cs_get_weapon_silen(weapon)) anim = 15;
  312. case CSW_KNIFE: anim = random_num(8, 10);
  313. case CSW_DEAGLE:
  314. {
  315. if(wpn_id == CSW_DEAGLE && g_deagle_overide[id] == 1)
  316. {
  317. anim = random_num(6, 10);
  318.  
  319. new Float:f_temp;
  320. if(anim == 10) f_temp = 8.53;
  321. else f_temp = idle_calltime[CSW_DEAGLE]
  322.  
  323. play_inspect(id, anim);
  324. remove_task(id);
  325. g_deagle_overide[id] = 0;
  326. set_task(f_temp, "Deagle_Overide", id);
  327. return PLUGIN_CONTINUE
  328. }
  329. }
  330. }
  331.  
  332. if(wpn_id == CSW_KNIFE && (current_anim == 8 || current_anim == 9 || current_anim == 10 ))
  333. return PLUGIN_HANDLED
  334.  
  335. if(!get_pdata_int(weapon, m_fInSpecialReload, 4) && current_anim != anim)
  336. {
  337. play_inspect(id, anim);
  338. set_pdata_float(weapon, m_flTimeWeaponIdle, idle_calltime[wpn_id], XoWeapon);
  339.  
  340. }
  341. }
  342. }
  343.  
  344. return PLUGIN_CONTINUE
  345. }
  346.  
  347. play_inspect(id, anim)
  348. {
  349. set_pev(id, pev_weaponanim, anim);
  350.  
  351. message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, {0, 0, 0}, id);
  352. write_byte(anim);
  353. write_byte(pev(id, pev_body));
  354. message_end();
  355. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement