Advertisement
Guest User

Untitled

a guest
Mar 24th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.01 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <cstrike>
  3. #include <fakemeta>
  4. #include <engine>
  5. #include <fun>
  6. #include <hamsandwich>
  7. #include <fakemeta_util>
  8.  
  9. #define PLUGIN "WARMUP"
  10. #define VERSION "2.1"
  11. #define AUTHOR "*Or!g!naL*"
  12.  
  13. #define TASKID_WARMDELAY 10000
  14. #define TASKID_CHECKBEST 10001
  15. #define VIP_FLAG "t"
  16.  
  17. new bool:WARMUP, bool:FirstSpawn[33], PlayerKills[33], MSGID_ScreenFade, MSGID_ScreenShake, MAXPLAYERS, HUDEVENT, WARMUP_DELAY = 120
  18. new PRIMARY_WEAPONS_BITSUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90),
  19. SECONDARY_WEAPONS_BITSUM = (1<<CSW_GLOCK18)|(1<<CSW_USP)|(1<<CSW_P228)|(1<<CSW_DEAGLE)|(1<<CSW_FIVESEVEN)|(1<<CSW_ELITE)
  20.  
  21. #define HUD_HIDE_CAL (1<<0)
  22. #define HUD_HIDE_FLASH (1<<1)
  23. #define HUD_HIDE_RHA (1<<3)
  24. #define HUD_HIDE_TIMER (1<<4)
  25. #define HUD_HIDE_MONEY (1<<5)
  26. #define HUD_HIDE_CROSS (1<<6)
  27. #define ARMURAA 100
  28.  
  29. new g_msgHideWeapon
  30. new bool:g_bHideCAL, bool:g_bHideFlash, bool:g_bHideRHA
  31. new bool:g_bHideTimer
  32. new bool:g_bHideMoney
  33. new bool:g_bHideCross
  34.  
  35. new g_cvarHideFlash, g_cvarHideRHA, g_cvarHideTimer, g_cvarHideMoney, g_cvarHideCross, g_cvarHideCAL
  36. new Pcvar_Remove;
  37. new Pcvar_TimeRemove;
  38. new DeleteWeapons;
  39.  
  40.  
  41. public plugin_init() {
  42. register_plugin(PLUGIN, VERSION, AUTHOR)
  43. g_msgHideWeapon = get_user_msgid("HideWeapon")
  44. register_event("ResetHUD", "onResetHUD", "b")
  45. register_message(g_msgHideWeapon, "msgHideWeapon")
  46.  
  47. RegisterHam(Ham_Spawn, "player", "HAM_Spawn_Post", 1)
  48. register_event("DeathMsg", "EVENT_Death", "a")
  49.  
  50. set_task(1.0, "TASK_DELAY", TASKID_WARMDELAY,_,_, "b")
  51. WARMUP = true;
  52. g_cvarHideCAL = register_cvar("amx_hud_hide_cross_ammo_weaponlist", "0")
  53. g_cvarHideFlash = register_cvar("amx_hud_hide_flashlight", "0")
  54. // g_cvarHideAll = register_cvar("amx_hud_hide_all", "0") // NOT RECOMMENDED
  55. g_cvarHideRHA = register_cvar("amx_hud_hide_radar_health_armor", "0")
  56. g_cvarHideTimer = register_cvar("amx_hud_hide_timer", "1")
  57. g_cvarHideMoney = register_cvar("amx_hud_hide_money", "1")
  58. g_cvarHideCross = register_cvar("amx_hud_hide_crosshair", "0")
  59. // g_cvarDrawCross = register_cvar("amx_hud_draw_newcross", "0")
  60.  
  61. HudApplyCVars()
  62. MSGID_ScreenFade = get_user_msgid("ScreenFade")
  63. MSGID_ScreenShake = get_user_msgid("ScreenShake")
  64. MAXPLAYERS = get_maxplayers()
  65. HUDEVENT = CreateHudSyncObj()
  66. removeit()
  67. Pcvar_Remove = register_cvar("amx_remove_item_dropped", "1")
  68. Pcvar_TimeRemove = register_cvar("amx_time_to_remove","1.0")
  69.  
  70. register_forward(FM_SetModel, "Fw_SetModel")
  71.  
  72. DeleteWeapons = get_pcvar_num(Pcvar_Remove)
  73. }
  74. public TASK_DELAY() {
  75. if(WARMUP) {
  76. new id;
  77. switch(WARMUP_DELAY) {
  78. case 1..120: {
  79. set_hudmessage(0, 80, 255, -1.0, 0.35, 0, 1.0, 1.0)
  80. ShowSyncHudMsg(0, HUDEVENT, "Runda de incalzire a inceput^n (%d second%s)", WARMUP_DELAY, WARMUP_DELAY == 1 ? "" : "s")
  81. if(WARMUP_DELAY <= 3 && WARMUP_DELAY > 0) {
  82. for(id = 1; id <= MAXPLAYERS; id++) {
  83. if(is_user_connected(id)) {
  84. ScreenShake(id)
  85. ScreenFade(id, 0.5, random_num(100, 250), random_num(100, 250), random_num(100, 250), 250)
  86. }
  87. }
  88. }
  89. }
  90. case 0: {
  91. set_hudmessage(0, 80, 255, -1.0, 0.35, 0, 1.0, 3.0)
  92. ShowSyncHudMsg(0, HUDEVENT, "Runda de incalzire^n a luat sfarsit.")
  93. ScreenShake(id)
  94. ScreenFade(id, 0.5, random_num(100, 250), random_num(100, 250), random_num(100, 250), 250)
  95. set_cvar_num("sv_restart", 1)
  96. WARMUP = false;
  97. }
  98. }
  99. if(WARMUP_DELAY <= 0) {
  100. set_hudmessage(0, 80, 255, -1.0, 0.35, 0, 1.0, 3.0)
  101. ShowSyncHudMsg(0, HUDEVENT, "Runda de incalzire^n a luat sfarsit.")
  102. ScreenShake(id)
  103. ScreenFade(id, 0.5, random_num(100, 250), random_num(100, 250), random_num(100, 250), 250)
  104. set_cvar_num("sv_restart", 1)
  105. set_task(0.1, "TASK_CheckBest", TASKID_CHECKBEST)
  106. WARMUP = false;
  107. }
  108. }
  109. WARMUP_DELAY--
  110. }
  111. public client_putinserver(id) {
  112. set_task(1.0, "bun_venit", id);
  113. set_task(1.0, "TASK_Check", id, _, _, "b")
  114. FirstSpawn[id] = true;
  115. }
  116. public bun_venit(id)
  117. {
  118. if(WARMUP){
  119. ColorChat(id ,"!g[AMXX]:!n blasdasdasdasdasd")
  120. ColorChat(id ,"!g[AMXX]:!n blasdasdasdasdasd")
  121. }
  122. }
  123. public TASK_Check(id) {
  124. if(is_user_connected(id)) {
  125. if(get_user_team(id) == 1 || get_user_team(id) == 2 && !is_user_alive(id) && FirstSpawn[id]) {
  126. TASK_Respawn(id)
  127. remove_task(id)
  128. }
  129. }
  130. }
  131. public TASK_CheckBest()
  132. {
  133. new iPlayers[32], szName[32], iNum, id, best;
  134. get_players(iPlayers, iNum, "ch")
  135.  
  136. if(!iNum)
  137. return;
  138.  
  139. best = iPlayers[0]
  140. for(new i = 0; i < iNum; i++)
  141. {
  142. id = iPlayers[i]
  143. if(PlayerKills[id] > PlayerKills[best])
  144. best = id;
  145. }
  146.  
  147. get_user_name(best, szName, charsmax(szName))
  148. ColorChat(0 ,"!g[AMXX]:!n Jucatorul!g %s!n a castigat!g ronda de incalzire!n cu!g %d kill-uri.", szName, PlayerKills[best])
  149. ColorChat(0 ,"!g[AMXX]:!n Acesta a primit!g vip!n timp de o harta si este afisat in lista!g /vips!n dar si in lista!g /who.")
  150. set_user_flags(best, read_flags(VIP_FLAG))
  151. remove_task(TASKID_CHECKBEST)
  152. }
  153.  
  154. public HAM_Spawn_Post(id) {
  155. if(is_user_connected(id) && is_user_alive(id)) {
  156. if(FirstSpawn[id])
  157. FirstSpawn[id] = false;
  158. if(WARMUP)
  159. set_task(0.2,"TASK_Items",id)
  160. }
  161. }
  162.  
  163. public EVENT_Death() {
  164. new Killer=read_data(1),
  165. Victim=read_data(2)
  166. if(is_user_connected(Killer) && Killer != Victim) {
  167. if(WARMUP) {
  168. PlayerKills[Killer]++
  169. set_task(0.3,"TASK_Respawn", Victim)
  170. }
  171. }
  172. }
  173. public TASK_Respawn(id) {
  174. if(is_user_connected(id) && !is_user_alive(id))
  175. ExecuteHamB(Ham_CS_RoundRespawn, id)
  176. }
  177.  
  178. public TASK_Items(id) {
  179. if(WARMUP && is_user_connected(id) && is_user_alive(id)) {
  180. cs_set_user_money(id, 1600)
  181. drop_primary_weapons(id)
  182. drop_secondary_weapons(id)
  183. new PrimaryWeapons = random_num(1,3),
  184. SecondaryWeapons = random_num(1,3)
  185. switch(PrimaryWeapons) {
  186. case 1:{
  187. give_item(id,"weapon_m4a1")
  188. cs_set_user_bpammo(id,CSW_M4A1,90)
  189. original(id)
  190. }
  191. case 2: {
  192. give_item(id,"weapon_ak47")
  193. cs_set_user_bpammo(id,CSW_AK47,90)
  194. original(id)
  195. }
  196. case 3: {
  197. give_item(id,"weapon_awp")
  198. cs_set_user_bpammo(id,CSW_AWP,20)
  199. original(id)
  200. }
  201. }
  202. switch(SecondaryWeapons) {
  203. case 1:{
  204. give_item(id,"weapon_glock18")
  205. cs_set_user_bpammo(id,CSW_GLOCK18,40)
  206. }
  207. case 2: {
  208. give_item(id,"weapon_deagle")
  209. cs_set_user_bpammo(id,CSW_DEAGLE,35)
  210. }
  211. case 3: {
  212. give_item(id,"weapon_usp")
  213. cs_set_user_bpammo(id,CSW_USP,100)
  214. }
  215. }
  216. }
  217. }
  218. public original(id){
  219. give_item ( id, "item_thighpack" )
  220. //fm_strip_user_weapons(id);
  221. fm_give_item(id, "weapon_hegrenade");
  222. fm_give_item(id, "weapon_flashbang");
  223. fm_set_user_armor(id, get_user_armor(id)+ ARMURAA);
  224. cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
  225. cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
  226. }
  227. public ScreenShake(id) {
  228. if(is_user_connected(id)) {
  229. message_begin(MSG_ONE_UNRELIABLE, MSGID_ScreenShake, _, id)
  230. write_short(1<<14)
  231. write_short((1<<12)*6)
  232. write_short(1<<14)
  233. message_end()
  234. }
  235. }
  236. public onResetHUD(id)
  237. {
  238. if(WARMUP){
  239. HudApplyCVars()
  240. new iHideFlags = GetHudHideFlags()
  241. if(iHideFlags)
  242. {
  243. message_begin(MSG_ONE, g_msgHideWeapon, _, id)
  244. write_byte(iHideFlags)
  245. message_end()
  246. }
  247. }
  248. }
  249. public removeit() {
  250. if(WARMUP){
  251. new doneonce = 0
  252. new fbombt = find_ent_by_class(-1, "func_bomb_target")
  253. while(fbombt > MAXPLAYERS)
  254. {
  255. entity_set_int(fbombt, EV_INT_flags, FL_KILLME)
  256. doneonce = 1
  257. fbombt = find_ent_by_class(fbombt, "func_bomb_target")
  258. }
  259. if(doneonce == 1)server_cmd("sv_restartround 1")
  260. new ibombt = find_ent_by_class(-1, "info_bomb_target")
  261. while(ibombt > MAXPLAYERS)
  262. {
  263. entity_set_int(ibombt, EV_INT_flags, FL_KILLME)
  264. ibombt = find_ent_by_class(ibombt, "info_bomb_target")
  265. }
  266.  
  267. //return PLUGIN_CONTINUE
  268. }
  269. }
  270. public msgHideWeapon()
  271. {
  272. if(WARMUP){
  273. new iHideFlags = GetHudHideFlags()
  274. if(iHideFlags)
  275. set_msg_arg_int(1, ARG_BYTE, get_msg_arg_int(1) | iHideFlags)
  276. }
  277. }
  278.  
  279. GetHudHideFlags(){
  280. if(WARMUP){
  281. new iFlags
  282.  
  283. if( g_bHideCAL )
  284. iFlags |= HUD_HIDE_CAL
  285. if( g_bHideFlash )
  286. iFlags |= HUD_HIDE_FLASH
  287. if( g_bHideRHA )
  288. iFlags |= HUD_HIDE_RHA
  289. if( g_bHideTimer )
  290. iFlags |= HUD_HIDE_TIMER
  291. if( g_bHideMoney )
  292. iFlags |= HUD_HIDE_MONEY
  293. if( g_bHideCross )
  294. iFlags |= HUD_HIDE_CROSS
  295. return iFlags
  296. }
  297. }
  298.  
  299. HudApplyCVars()
  300. {
  301. if(WARMUP){
  302. g_bHideCAL = bool:get_pcvar_num(g_cvarHideCAL)
  303. g_bHideFlash = bool:get_pcvar_num(g_cvarHideFlash)
  304. // g_bHideAll = bool:get_pcvar_num(g_cvarHideAll)
  305. g_bHideRHA = bool:get_pcvar_num(g_cvarHideRHA)
  306. g_bHideTimer = bool:get_pcvar_num(g_cvarHideTimer)
  307. g_bHideMoney = bool:get_pcvar_num(g_cvarHideMoney)
  308. g_bHideCross = bool:get_pcvar_num(g_cvarHideCross)
  309. // g_bDrawCross = bool:get_pcvar_num(g_cvarDrawCross)
  310. }
  311. }
  312. public Fw_SetModel(entity, const model[])
  313. {
  314. if(WARMUP){
  315. static Float:Timetoremove
  316. Timetoremove = get_pcvar_float(Pcvar_TimeRemove)
  317.  
  318. if (DeleteWeapons > 0)
  319. {
  320. set_task(Timetoremove, "RemoveItems", entity)
  321. return;
  322. }
  323. }
  324. }
  325.  
  326. public RemoveItems(entity)
  327. {
  328. static Class[10]
  329. pev(entity, pev_classname, Class, sizeof Class - 1)
  330.  
  331. if (equal(Class, "weaponbox"))
  332. {
  333. set_pev(entity, pev_nextthink, get_gametime() + DeleteWeapons)
  334. return;
  335. }
  336. }
  337. public ScreenFade(id, const Float:seconds, const red, const green, const blue, const alpha) {
  338. if(is_user_connected(id)) {
  339. message_begin(MSG_ONE_UNRELIABLE, MSGID_ScreenFade, _, id)
  340. write_short(floatround(4096.0 * seconds, floatround_round))
  341. write_short(floatround(4096.0 * seconds, floatround_round))
  342. write_short(0x0000)
  343. write_byte(red)
  344. write_byte(green)
  345. write_byte(blue)
  346. write_byte(alpha)
  347. message_end()
  348. }
  349. }
  350.  
  351. stock drop_primary_weapons(Player) {
  352. static weapons[32], num, i, weaponid;
  353. num = 0;
  354. get_user_weapons(Player, weapons, num);
  355.  
  356. for(i = 0; i < num; i++) {
  357. weaponid = weapons [i];
  358.  
  359. if(((1<<weaponid) & PRIMARY_WEAPONS_BITSUM)) {
  360. static wname[32];
  361. get_weaponname(weaponid, wname, charsmax(wname));
  362.  
  363. engclient_cmd(Player, "drop", wname);
  364. }
  365. }
  366. }
  367.  
  368. stock drop_secondary_weapons(Player) {
  369. static weapons [32], num, i, weaponid;
  370. num = 0;
  371. get_user_weapons(Player, weapons, num);
  372.  
  373. for(i = 0; i < num; i++) {
  374. weaponid = weapons [i];
  375.  
  376. if(((1<<weaponid) & SECONDARY_WEAPONS_BITSUM)) {
  377. static wname[32];
  378. get_weaponname(weaponid, wname, charsmax(wname));
  379.  
  380. engclient_cmd(Player, "drop", wname);
  381. }
  382. }
  383. }
  384.  
  385. stock ColorChat(const id, const input[], any:...) {
  386. new count = 1, players[32];
  387. static msg[191];
  388. vformat(msg, 190, input, 3);
  389.  
  390. replace_all(msg, 190, "!g", "^4");
  391. replace_all(msg, 190, "!n", "^1");
  392. replace_all(msg, 190, "!t", "^3");
  393.  
  394. if(id) players[0] = id;
  395. else get_players(players, count, "ch"); {
  396. for(new i = 0; i < count; i++) {
  397. if(is_user_connected(players[i])) {
  398. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  399. write_byte(players[i]);
  400. write_string(msg);
  401. message_end();
  402. }
  403. }
  404. }
  405. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement