Advertisement
Guest User

Untitled

a guest
Jan 20th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.39 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fun>
  4. #include <cstrike>
  5. #include <engine>
  6. #include <fakemeta>
  7. #include <dhudmessage>
  8.  
  9. #define PLUGIN_NAME "Auto Restart"
  10. #define PLUGIN_VERSION "1.2"
  11. #define PLUGIN_AUTHOR "RR"
  12.  
  13. const UNIT_SECOND = (1 << 12);
  14.  
  15. new g_message_hud;
  16. new g_unique;
  17. new g_count;
  18. new g_count_screens;
  19. new g_count_final;
  20. new g_finish;
  21. new g_maxplayers;
  22. new restarted
  23. new g_message_screenshake;
  24. new g_message_screenfade;
  25.  
  26. public plugin_precache()
  27. {
  28. precache_sound("GlobalKnife/one.wav");
  29. precache_sound("GlobalKnife/two.wav");
  30. precache_sound("GlobalKnife/three.wav");
  31. precache_sound("GlobalKnife/four.wav");
  32. precache_sound("GlobalKnife/five.wav");
  33.  
  34. precache_sound("weapons/c4_explode1.wav");
  35.  
  36. precache_generic("sound/GlobalKnife/mus.mp3");
  37. }
  38.  
  39. public client_putinserver(id)
  40. {
  41. if(!restarted)
  42. {
  43. if(get_playersnum(0) >= 2)
  44. {
  45.  
  46. restarted = 1
  47. g_count = 15;
  48. set_task(1.0, "fn_Vale");
  49. }
  50. }
  51. }
  52.  
  53. public plugin_init()
  54. {
  55. register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
  56.  
  57. register_concmd("amx_rr", "concmd_RockFinal");
  58.  
  59. g_message_screenshake = get_user_msgid("ScreenShake");
  60. g_message_screenfade = get_user_msgid("ScreenFade");
  61.  
  62. g_message_hud = CreateHudSyncObj();
  63.  
  64. g_maxplayers = get_maxplayers();
  65. restarted = 0
  66. }
  67.  
  68. public concmd_RockFinal(id, level, cid)
  69. {
  70. if(!cmd_access(id, ADMIN_LEVEL_A, cid, 1))
  71. return PLUGIN_HANDLED;
  72.  
  73. if(g_unique)
  74. {
  75. console_print(id, "This command is only used once per map!");
  76. return PLUGIN_HANDLED;
  77. }
  78.  
  79. g_unique = 1
  80.  
  81. g_count = 15;
  82. set_task(2.0, "fn_Vale");
  83.  
  84. new i;
  85. for(i = 1; i <= g_maxplayers; ++i)
  86. {
  87. if(!is_user_connected(i))
  88. continue;
  89.  
  90. cs_set_user_money(i, 0);
  91.  
  92. if(!is_user_alive(i))
  93. continue;
  94.  
  95. strip_user_weapons(i);
  96. }
  97.  
  98. return PLUGIN_HANDLED;
  99. }
  100.  
  101. public fn_Vale()
  102. {
  103. new sMsg[64];
  104.  
  105. if(g_count > 5)
  106. formatex(sMsg, charsmax(sMsg), "Game starts in %d seconds", g_count);
  107. else
  108. {
  109. new sSound[64];
  110.  
  111. switch(g_count)
  112. {
  113. case 5:
  114. {
  115. formatex(sSound, charsmax(sSound), "GlobalKnife/five.wav");
  116.  
  117. new i;
  118. for(i = 1; i <= g_maxplayers; ++i)
  119. {
  120. if(!is_user_connected(i))
  121. continue;
  122.  
  123. message_begin(MSG_ONE_UNRELIABLE, g_message_screenshake, _, i);
  124. write_short(UNIT_SECOND * 14);
  125. write_short(UNIT_SECOND * 9);
  126. write_short(UNIT_SECOND * 14);
  127. message_end();
  128. }
  129.  
  130. for(i = 1; i <= g_maxplayers; ++i)
  131. {
  132. if(!is_user_connected(i))
  133. continue;
  134.  
  135. ClearSyncHud(i, g_message_hud);
  136. }
  137.  
  138. set_lights("i");
  139. }
  140. case 4:
  141. {
  142. formatex(sSound, charsmax(sSound), "GlobalKnife/four.wav");
  143. set_lights("g");
  144. }
  145. case 3:
  146. {
  147. formatex(sSound, charsmax(sSound), "GlobalKnife/three.wav");
  148. set_lights("e");
  149. }
  150. case 2:
  151. {
  152. formatex(sSound, charsmax(sSound), "GlobalKnife/two.wav");
  153. set_lights("c");
  154. }
  155. case 1:
  156. {
  157. formatex(sSound, charsmax(sSound), "GlobalKnife/one.wav");
  158. set_lights("a");
  159. }
  160. case 0:
  161. {
  162. g_count = 1;
  163.  
  164. set_task(3.0, "fn_PlayMusic");
  165.  
  166. return;
  167. }
  168. }
  169.  
  170. client_cmd(0, "spk ^"%s^"", sSound);
  171.  
  172. set_dhudmessage(255, 255, 0, -1.0, 0.3, 0, 0.0, 0.3, 0.3, 0.3);
  173. show_dhudmessage(0, "%d", g_count);
  174. }
  175.  
  176. if(g_count > 5)
  177. {
  178. set_hudmessage(255, 255, 0, -1.0, 0.3, 0, 0.0, 3.0, 2.0, 1.0, -1);
  179. ShowSyncHudMsg(0, g_message_hud, "%s", sMsg);
  180. }
  181.  
  182. --g_count;
  183.  
  184. set_task(1.0, "fn_Vale");
  185. }
  186.  
  187. public fn_PlayMusic()
  188. {
  189. if(g_count == 5)
  190. {
  191. ++g_count;
  192.  
  193. set_task(0.3, "fn_PlayMusic");
  194.  
  195. return;
  196. }
  197.  
  198. new sSound[64];
  199.  
  200. switch(g_count)
  201. {
  202. case 1: formatex(sSound, charsmax(sSound), "GlobalKnife/one.wav");
  203. case 2: formatex(sSound, charsmax(sSound), "GlobalKnife/two.wav");
  204. case 3: formatex(sSound, charsmax(sSound), "GlobalKnife/three.wav");
  205. case 4: formatex(sSound, charsmax(sSound), "GlobalKnife/four.wav");
  206. case 6:
  207. {
  208. client_cmd(0, "mp3 stop");
  209. client_cmd(0, "MP3Volume 2.0");
  210. client_cmd(0, "mp3 play ^"sound/GlobalKnife/mus.mp3^"");
  211.  
  212. new i;
  213. for(i = 1; i <= g_maxplayers; ++i)
  214. {
  215. if(!is_user_connected(i))
  216. continue;
  217.  
  218. message_begin(MSG_ONE_UNRELIABLE, g_message_screenshake, _, i);
  219. write_short(UNIT_SECOND * 28);
  220. write_short(UNIT_SECOND * 18);
  221. write_short(UNIT_SECOND * 28);
  222. message_end();
  223. }
  224.  
  225. g_count = 1;
  226. g_count_final = 1;
  227.  
  228. set_task(0.1, "fn_ChangeRender");
  229. set_task(5.0, "fn_ChangeNumber");
  230. set_task(15.0, "fn_ChangeScreens");
  231. set_task(30.1, "fn_Finish");
  232.  
  233. return;
  234. }
  235. }
  236.  
  237. client_cmd(0, "spk ^"%s^"", sSound);
  238.  
  239. ++g_count;
  240.  
  241. set_task(0.3, "fn_PlayMusic");
  242. }
  243.  
  244. public fn_ChangeRender()
  245. {
  246. if(g_count == 60 || g_finish)
  247. return;
  248.  
  249. static i;
  250. static Float:vecOrigin[3];
  251.  
  252. for(i = 1; i <= g_maxplayers; ++i)
  253. {
  254. if((g_count % 2) == 0)
  255. {
  256. if(!is_user_connected(i))
  257. continue;
  258.  
  259. message_begin(MSG_ONE_UNRELIABLE, g_message_screenshake, _, i);
  260. write_short(UNIT_SECOND * 9);
  261. write_short(UNIT_SECOND * 6);
  262. write_short(UNIT_SECOND * 9);
  263. message_end();
  264.  
  265. if(!is_user_alive(i))
  266. continue;
  267.  
  268. entity_get_vector(i, EV_VEC_origin, vecOrigin);
  269.  
  270. engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, vecOrigin, 0);
  271. write_byte(TE_DLIGHT);
  272. engfunc(EngFunc_WriteCoord, vecOrigin[0]);
  273. engfunc(EngFunc_WriteCoord, vecOrigin[1]);
  274. engfunc(EngFunc_WriteCoord, vecOrigin[2]);
  275. write_byte(40);
  276. write_byte(random_num(50, 250));
  277. write_byte(random_num(50, 250));
  278. write_byte(random_num(50, 250));
  279. write_byte(50);
  280. write_byte(10);
  281. message_end();
  282. }
  283.  
  284. if(!is_user_alive(i))
  285. continue;
  286.  
  287. set_user_rendering(i, kRenderFxGlowShell, random_num(150, 250), random_num(150, 250), random_num(150, 250), kRenderNormal, 25);
  288. }
  289.  
  290. ++g_count;
  291.  
  292. set_task(0.5, "fn_ChangeRender");
  293. }
  294.  
  295. public fn_ChangeScreens()
  296. {
  297. if(g_count_screens == 75 || g_finish)
  298. return;
  299.  
  300. static i;
  301. if((g_count_screens % 15) == 0)
  302. {
  303. for(i = 1; i <= g_maxplayers; ++i)
  304. {
  305. if(!is_user_connected(i))
  306. continue;
  307.  
  308. message_begin(MSG_ONE_UNRELIABLE, g_message_screenshake, _, i);
  309. write_short(UNIT_SECOND * 28);
  310. write_short(UNIT_SECOND * 18);
  311. write_short(UNIT_SECOND * 28);
  312. message_end();
  313. }
  314. }
  315.  
  316. for(i = 1; i <= g_maxplayers; ++i)
  317. {
  318. if(!is_user_connected(i))
  319. continue;
  320.  
  321. message_begin(MSG_ONE_UNRELIABLE, g_message_screenfade, _, i)
  322. write_short(UNIT_SECOND*4);
  323. write_short(UNIT_SECOND*4);
  324. write_short(0x0000);
  325. write_byte(random_num(100, 250));
  326. write_byte(random_num(100, 250));
  327. write_byte(random_num(100, 250));
  328. write_byte(200);
  329. message_end();
  330. }
  331.  
  332. ++g_count_screens;
  333.  
  334. set_task(0.2, "fn_ChangeScreens");
  335. }
  336.  
  337. public fn_Finish()
  338. {
  339. g_finish = 1;
  340.  
  341. client_cmd(0, "mp3 stop; stopsound");
  342.  
  343. client_cmd(0, "spk weapons/c4_explode1.wav");
  344. client_cmd(0, "spk weapons/c4_explode1.wav");
  345.  
  346. set_lights("");
  347.  
  348. new i;
  349. for(i = 1; i <= g_maxplayers; ++i)
  350. {
  351. if(!is_user_connected(i))
  352. continue;
  353.  
  354. message_begin(MSG_ONE_UNRELIABLE, g_message_screenfade, _, i)
  355. write_short(UNIT_SECOND*4);
  356. write_short(UNIT_SECOND*4);
  357. write_short(0x0000);
  358. write_byte(255);
  359. write_byte(255);
  360. write_byte(25);
  361. write_byte(255);
  362. message_end();
  363.  
  364. set_user_rendering(i);
  365. }
  366.  
  367. set_task(0.3, "fn_R");
  368. set_task(2.0, "fn_Restart3");
  369. }
  370.  
  371. public fn_R()
  372. server_cmd("sv_restart 1")
  373.  
  374. public fn_Restart3()
  375. {
  376. client_print(0, print_chat, "Welcome To - Global Knife Gaming -");
  377. client_print(0, print_chat, "Have Fun and Enjoy our Server!");
  378. //client_print(0, print_chat, "atte. GenerationCS.com");
  379. }
  380.  
  381. public fn_ChangeNumber()
  382. {
  383. if(g_count_final == 6)
  384. return;
  385.  
  386. new sSound[64];
  387.  
  388. switch(g_count_final)
  389. {
  390. case 1: formatex(sSound, charsmax(sSound), "GlobalKnife/five.wav");
  391. case 2: formatex(sSound, charsmax(sSound), "GlobalKnife/four.wav");
  392. case 3: formatex(sSound, charsmax(sSound), "GlobalKnife/three.wav");
  393. case 4: formatex(sSound, charsmax(sSound), "GlobalKnife/two.wav");
  394. case 5: formatex(sSound, charsmax(sSound), "GlobalKnife/one.wav");
  395. }
  396.  
  397. client_cmd(0, "spk ^"%s^"", sSound);
  398.  
  399. ++g_count_final;
  400.  
  401. set_task(5.0, "fn_ChangeNumber");
  402. }
  403. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  404. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang11274\\ f0\\ fs16 \n\\ par }
  405. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement