Advertisement
Guest User

Untitled

a guest
Nov 6th, 2022
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.73 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <fun>
  3. #include <cstrike>
  4. #include <fakemeta>
  5. #include <jailbreak>
  6. #include <hamsandwich>
  7.  
  8. native jail_play_fight_music();
  9. native give_user_jbpack(id, ile, powod[]);
  10.  
  11. #define HITGROUP_HEAD (1 << 1)
  12.  
  13. new const idWeapons[] = {1,3,5,7,8,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,27,28,30};
  14.  
  15. new bool:g_bOnlyHS;
  16. new id_headshot;
  17.  
  18. new HamHook:fHamKill;
  19. new fmClientDisconnect;
  20. new iRes;
  21. new bool:Zabawa;
  22. new g_pCvarSzlugiZaFraga;
  23.  
  24. public plugin_init()
  25. {
  26. register_plugin("HS Day", "1.0", "ktosiek");
  27.  
  28. register_forward(FM_TraceLine, "Fwd_TraceLine");
  29. id_headshot = jail_register_game("Headshot Day");
  30.  
  31. g_pCvarSzlugiZaFraga = register_cvar("jail_szlugi_fraghsday", "10");
  32. }
  33.  
  34. public OnLastPrisonerShowWish(id)
  35. {
  36. if(jail_get_play_game_id() == id_headshot)
  37. {
  38. strip_user_weapons(id);
  39. give_item(id, "weapon_knife");
  40. OnRemoveData(id_headshot);
  41. }
  42. }
  43.  
  44. public OnRemoveData(day)
  45. {
  46. if(day == id_headshot)
  47. {
  48. g_bOnlyHS = false;
  49. iRes=false;
  50. jail_set_ct_hit_tt(false);
  51. jail_set_god_ct(false);
  52.  
  53. client_cmd(0, "mp3 stop");
  54.  
  55.  
  56. if(fHamKill)
  57. DisableHamForward(fHamKill);
  58.  
  59. if(fmClientDisconnect)
  60. {
  61. unregister_forward(FM_ClientDisconnect, fmClientDisconnect);
  62. fmClientDisconnect = 0;
  63. }
  64. }
  65. }
  66.  
  67. public OnDayStartPre(day, szInfo[256], szInfo2[512], setting[10], gTimeRound)
  68. {
  69.  
  70. if(day == id_headshot)
  71. {
  72. szInfo = "Zabawa - HeadShot Day^nTyp zabawy: Walka wiezniow^n - grupki max. 2-osobowe^n - zakaz kampienia!";
  73.  
  74. jail_set_prisoners_micro(true, true);
  75. jail_set_ct_hit_tt(true);
  76. jail_set_god_ct(true);
  77. g_bOnlyHS = true;
  78.  
  79. setting[0] = 1;
  80. setting[1] = 1;
  81. setting[2] = 1;
  82. setting[4] = 1;
  83. setting[6] = 1;
  84. setting[7] = 1;
  85. }
  86. }
  87.  
  88. public OnDayStartPost(day)
  89. {
  90. if(day == id_headshot)
  91. {
  92. jail_open_cele();
  93. jail_set_game_hud(30, "Rozpoczecie zabawy za", 0, 255, 0, 0.01, 0.6);
  94.  
  95. Zabawa=false;
  96.  
  97. if(!fHamKill)
  98. fHamKill = RegisterHam(Ham_Killed, "player", "SmiercGraczaPost", 1);
  99. else
  100. EnableHamForward(fHamKill);
  101.  
  102.  
  103. if(!fmClientDisconnect)
  104. fmClientDisconnect = register_forward(FM_ClientDisconnect, "fwClientDisconnect");
  105. }
  106. }
  107. public OnGameHudTick(day, count)
  108. {
  109. if(count != 2)
  110. return;
  111.  
  112. if(day != id_headshot)
  113. return;
  114.  
  115.  
  116. new nameweapon[25], wid = idWeapons[random(charsmax(idWeapons))];
  117. get_weaponname(wid, nameweapon, 24);
  118. for(new i=1; i<=MAX; i++)
  119. {
  120. if(!is_user_alive(i) || cs_get_user_team(i) != CS_TEAM_T)
  121. continue;
  122.  
  123. strip_user_weapons(i);
  124. give_item(i, nameweapon);
  125.  
  126. }
  127. }
  128. public OnGameHudEnd(day, gTimeRound)
  129. {
  130. if(day == id_headshot)
  131. {
  132. if(!Zabawa)
  133. {
  134. jail_play_fight_music();
  135.  
  136. client_print(0, print_center, "Walke czas zaczac!")
  137. jail_set_prisoners_fight(true, false, false);
  138. jail_set_game_hud(240, "Zgladzenie wiezniow za", 0, 255, 0, 0.01, 0.6);
  139. Zabawa=true;
  140. }
  141. else
  142. {
  143. for(new i=1; i<=MAX; i++)
  144. {
  145. if(is_user_alive(i) && is_user_connected(i) && cs_get_user_team(i)==CS_TEAM_T)
  146. user_kill(i);
  147. }
  148. }
  149.  
  150. }
  151. }
  152. public fwClientDisconnect(id)
  153. {
  154. SprawdzIleJestTT();
  155. }
  156. public SmiercGraczaPost(id, attacker, shouldgib)
  157. {
  158. if(!is_user_connected(id) || cs_get_user_team(id) != CS_TEAM_T)
  159. return;
  160.  
  161. if(is_user_connected(attacker) && id != attacker) {
  162. give_user_jbpack(attacker, get_pcvar_num(g_pCvarSzlugiZaFraga), "FRAGA Z BANKI");
  163. }
  164.  
  165. SprawdzIleJestTT();
  166. }
  167. public SprawdzIleJestTT()
  168. {
  169. new tt=0;
  170. for(new i; i<33; i++)
  171. {
  172. if(!is_user_alive(i) || !is_user_connected(i))
  173. continue;
  174.  
  175. if(cs_get_user_team(i) != CS_TEAM_T)
  176. continue;
  177.  
  178. tt++;
  179. }
  180. if(tt==2 && !iRes)
  181. {
  182. iRes=true;
  183. for(new i=0;i<33;i++)
  184. {
  185. if(!is_user_alive(i) || !is_user_connected(i))
  186. continue;
  187.  
  188. if(cs_get_user_team(i) != CS_TEAM_T)
  189. continue;
  190.  
  191. strip_user_weapons(i);
  192. ezowski_cipa()
  193. set_user_health(i, 100);
  194. cs_set_user_armor(i, 0, CS_ARMOR_NONE)
  195.  
  196. }
  197. }
  198. }
  199.  
  200. public ezowski_cipa()
  201. {
  202. switch(random_num(1,8))
  203. {
  204. case 1:
  205. scout();
  206. case 2:
  207. hejdz();
  208. case 3:
  209. krowa();
  210. case 4:
  211. awp();
  212. case 5:
  213. ak();
  214. case 6:
  215. deagle();
  216. case 7:
  217. m4a1();
  218. case 8:
  219. kosy();
  220. }
  221. }
  222.  
  223. public scout()
  224. {
  225. for(new i=0;i<33;i++)
  226. {
  227. if(!is_user_alive(i) || !is_user_connected(i))
  228. continue;
  229.  
  230. if(cs_get_user_team(i) != CS_TEAM_T)
  231. continue;
  232.  
  233. give_item(i, "weapon_scout");
  234. give_item(i, "ammo_762nato");
  235. }
  236. }
  237.  
  238. public hejdz()
  239. {
  240. for(new i=0;i<33;i++)
  241. {
  242. if(!is_user_alive(i) || !is_user_connected(i))
  243. continue;
  244.  
  245. if(cs_get_user_team(i) != CS_TEAM_T)
  246. continue;
  247.  
  248. strip_user_weapons(i);
  249. give_item(i, "weapon_hegrenade");
  250. cs_set_user_bpammo(i, CSW_HEGRENADE, 999)
  251. }
  252. }
  253.  
  254. public krowa()
  255. {
  256. for(new i=0;i<33;i++)
  257. {
  258. if(!is_user_alive(i) || !is_user_connected(i))
  259. continue;
  260.  
  261. if(cs_get_user_team(i) != CS_TEAM_T)
  262. continue;
  263.  
  264. strip_user_weapons(i);
  265. give_item(i, "weapon_m249");
  266. give_item(i, "ammo_556natobox");
  267. }
  268. }
  269.  
  270. public awp()
  271. {
  272. for(new i=0;i<33;i++)
  273. {
  274. if(!is_user_alive(i) || !is_user_connected(i))
  275. continue;
  276.  
  277. if(cs_get_user_team(i) != CS_TEAM_T)
  278. continue;
  279.  
  280. strip_user_weapons(i);
  281. give_item(i, "weapon_awp");
  282. give_item(i, "ammo_338magnum");
  283. }
  284. }
  285.  
  286. public ak()
  287. {
  288. for(new i=0;i<33;i++)
  289. {
  290. if(!is_user_alive(i) || !is_user_connected(i))
  291. continue;
  292.  
  293. if(cs_get_user_team(i) != CS_TEAM_T)
  294. continue;
  295.  
  296. strip_user_weapons(i);
  297. give_item(i, "weapon_ak47");
  298. give_item(i, "ammo_762nato");
  299. }
  300. }
  301.  
  302. public deagle()
  303. {
  304. for(new i=0;i<33;i++)
  305. {
  306. if(!is_user_alive(i) || !is_user_connected(i))
  307. continue;
  308.  
  309. if(cs_get_user_team(i) != CS_TEAM_T)
  310. continue;
  311.  
  312. strip_user_weapons(i);
  313. give_item(i, "weapon_deagle");
  314. give_item(i, "ammo_50ae");
  315. }
  316. }
  317.  
  318. public m4a1()
  319. {
  320. for(new i=0;i<33;i++)
  321. {
  322. if(!is_user_alive(i) || !is_user_connected(i))
  323. continue;
  324.  
  325. if(cs_get_user_team(i) != CS_TEAM_T)
  326. continue;
  327.  
  328. strip_user_weapons(i);
  329. give_item(i, "weapon_m4a1");
  330. give_item(i, "ammo_556nato");
  331. }
  332. }
  333.  
  334. public kosy()
  335. {
  336. for(new i=0;i<33;i++)
  337. {
  338. if(!is_user_alive(i) || !is_user_connected(i))
  339. continue;
  340.  
  341. if(cs_get_user_team(i) != CS_TEAM_T)
  342. continue;
  343.  
  344. strip_user_weapons(i);
  345. give_item(i, "weapon_knife");
  346. }
  347. }
  348. public Fwd_TraceLine(Float:StartPos[3],Float:EndPos[3], SkipMonsters, id, Trace)
  349. {
  350. if(!is_user_alive(id))
  351. return FMRES_IGNORED;
  352.  
  353. if(!g_bOnlyHS)
  354. return FMRES_IGNORED;
  355.  
  356. new Hited = get_tr2(Trace, TR_pHit);
  357. new HitGroup = (1 << get_tr2(Trace, TR_iHitgroup));
  358.  
  359. if(!is_user_alive(Hited))
  360. return FMRES_IGNORED;
  361.  
  362. if(!(HitGroup & HITGROUP_HEAD))
  363. {
  364. set_tr2(Trace, TR_flFraction, 1.0);
  365. return FMRES_SUPERCEDE;
  366. }
  367. return FMRES_IGNORED;
  368. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement