Advertisement
eyal282

Untitled

Dec 28th, 2012
326
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.37 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <hamsandwich>
  5. #include <fun>
  6.  
  7. #define MAX_CMDS 4
  8. #define MAX_NUMBERS 10
  9. #define MAX_LETTERS 26
  10. #define MAX_GALACTICLETTERS 8
  11. #define TASKID 325
  12.  
  13. new const g_szReasonMessage[] = "Reason_for_ct-ban";
  14. new const g_CmdStart[ MAX_CMDS ][] =
  15. {
  16. "say /fw",
  17. "say /first",
  18. "say_team /fw",
  19. "say_team /first"
  20. };
  21. new const g_CmdStop[ MAX_CMDS ][] =
  22. {
  23. "say /stopfirst",
  24. "say /stopfw",
  25. "say_team /stopfirst",
  26. "say_team /stopfw"
  27. };
  28.  
  29. new const fw_Letters[ MAX_LETTERS ][] =
  30. {
  31. "a", "b", "c", "d", "e", "f", "g",
  32. "h", "i", "j", "k", "l", "m", "n",
  33. "o", "p", "q", "r", "s", "t", "u",
  34. "v", "w", "x", "y", "z"
  35. };
  36.  
  37. new const fw_Numbers[ MAX_NUMBERS ][] =
  38. {
  39. "0", "1", "2", "3", "4",
  40. "5", "6", "7", "8", "9"
  41. };
  42. new bool:g_fwActive, bool:g_fwAllowMove;
  43. new g_FWCount, g_MixChars[ 6 ], g_LastChars[ 6 ];
  44. new g_Round[33];
  45. new g_MaxPlayers,g_Cvar,g_Cvar2, CvarOnOff, g_MinCvarGet;
  46.  
  47. public plugin_init(){
  48. register_plugin("JB Max Rounds","1.2","NorToN");
  49.  
  50. for( new i; i < sizeof g_CmdStart; i++ )
  51. register_clcmd( g_CmdStart[ i ], "fnFwStart" )
  52. for( new i; i < sizeof g_CmdStop; i++ )
  53. register_clcmd( g_CmdStop[ i ], "fnFwStop" )
  54. register_clcmd("amx_rounds","cl_cmdrounds",_,"<name>");
  55. register_clcmd("say","HandleSay");
  56. register_clcmd("say_team","HandleSay");
  57. register_clcmd("say","Handle_Say");
  58. register_clcmd("say /wantteror", "WantTeror");
  59. register_clcmd("say /wanteror", "WantTeror");
  60. register_clcmd("say /wantterror", "WantTeror");
  61. register_clcmd("say /wanterror", "WantTeror");
  62. register_clcmd( "say /get", "ShowGetMenu" );
  63. register_clcmd( "say !get", "ShowGetMenu" );
  64.  
  65. g_Cvar = register_cvar("amx_maxrounds","10");
  66. CvarOnOff = register_cvar( "get_toggle", "1" );
  67. g_MinCvarGet = register_cvar( "minroundsget", "2" );
  68.  
  69. g_MaxPlayers = get_maxplayers();
  70.  
  71. register_logevent("EventRoundEnd",2,"1=Round_End");
  72.  
  73. set_task(45.0,"cmd_advmsg",_,_,_,"b");
  74. }
  75.  
  76. public cmd_advmsg()
  77. for (new i = 1; i <= g_MaxPlayers;i++)
  78. ColorChat(i,"Type ^4/round^1 or ^4!round^1 to view how much rounds player X played in the CT team.");
  79.  
  80. public client_putinserver(id)
  81. {
  82. g_Round[id] = 0;
  83. }
  84. public client_disconnect(id) g_Round[id] = 0;
  85.  
  86. public EventRoundEnd(){
  87. TeamBalance()
  88. g_Cvar2 = get_pcvar_num(g_Cvar);
  89. for (new i = 1; i <= g_MaxPlayers; i++)
  90. {
  91. if (!is_user_connected(i))
  92. continue;
  93.  
  94. else if (cs_get_user_team(i) != CS_TEAM_CT)
  95. continue;
  96.  
  97. g_Round[i]++;
  98.  
  99.  
  100. ColorChat(i,"Its Your : ^4%i/%i ^1Round",g_Round[i], g_Cvar2);
  101.  
  102. if (g_Round[i] > g_Cvar2)
  103. {
  104. cs_set_user_team(i,CS_TEAM_T);
  105. set_task(6.0, "FwStart")
  106. set_task(1.0, "TimeToFw5")
  107. set_task(2.0, "TimeToFw4")
  108. set_task(3.0, "TimeToFw3")
  109. set_task(4.0, "TimeToFw2")
  110. set_task(5.0, "TimeToFw1")
  111. ColorChat(i,"You reach to your max rounds (^4%i^1)! You now moved to the ^3Terrorist^1 team!",g_Cvar2);
  112. g_Round[i] = 0;
  113. }
  114. }
  115. }
  116. public FwStart( ) {
  117. g_FWCount = 5
  118. ActionTimer( )
  119. g_fwActive = true
  120. }
  121. public fnFwStart( client )
  122. {
  123. if ( !(get_user_flags( client ) & ADMIN_RCON) )
  124. {
  125. ColorChat( client, "^x03You Have No^x04 Access^x03 to This^x04 Command^x03 !" );
  126. return PLUGIN_HANDLED;
  127. }
  128. if( g_fwActive )
  129. {
  130. ColorChat( client, "First^x03 is Already^x04 Started^x03 !" );
  131. return PLUGIN_HANDLED;
  132. }
  133.  
  134. new szName[ 32 ];
  135. get_user_name( client, szName, charsmax( szName ) );
  136.  
  137. g_FWCount = 5;
  138. g_fwActive = true;
  139. set_task( 1.0, "ActionTimer", TASKID );
  140.  
  141. ColorChat( 0, "^x04%s^x03 Has Started^x04 First Writes^x03 !", szName );
  142. return PLUGIN_HANDLED;
  143. }
  144.  
  145. public fnFwStop( client )
  146. {
  147. if ( !(get_user_flags( client ) & ADMIN_RCON ) )
  148. {
  149. ColorChat( client, "^x03You Have No^x04 Access^x03 to This^x04 Command^x03 !" );
  150. return PLUGIN_HANDLED;
  151. }
  152. if( !g_fwActive )
  153. {
  154. ColorChat( client, "First^x03 is Not^x04 Started^x03 Yet." );
  155. return PLUGIN_HANDLED;
  156. }
  157.  
  158. new szName[ 32 ];
  159. get_user_name( client, szName, charsmax( szName ) );
  160.  
  161. g_fwActive = false;
  162. remove_task( TASKID );
  163. g_fwAllowMove = false;
  164. ColorChat( 0, "^x04%s^x03 Has Stopped^x04 First Writes^x03 !", szName );
  165. return PLUGIN_HANDLED;
  166. }
  167. public Handle_Say( client )
  168. {
  169. new szMsg[ 32 ], szName[ 32 ];
  170. read_args( szMsg, charsmax( szMsg ) );
  171. remove_quotes( szMsg );
  172.  
  173. if( g_fwAllowMove )
  174. {
  175. if ( cs_get_user_team( client ) != CS_TEAM_T )
  176. {
  177. ColorChat( client, "^x03Only^x04 Terrorists^x03 Can^x04 Participate^x03 !" );
  178. }
  179.  
  180. if( equali( szMsg, g_MixChars ) )
  181. {
  182. new RGB[ 3 ];
  183. RGB[ 0 ] = random_num( 50, 250 );
  184. RGB[ 1 ] = random_num( 50, 250 );
  185. RGB[ 2 ] = random_num( 50, 250 );
  186. cs_set_user_team( client, CS_TEAM_CT );
  187. ExecuteHamB( Ham_CS_RoundRespawn, client );
  188. get_user_name( client, szName, charsmax( szName ) );
  189. set_hudmessage( RGB[ 0 ], RGB[ 1 ], RGB[ 2 ], -1.0, 0.30, 2, 8.0, 8.0 );
  190. show_hudmessage( 0, "%s is The Winner !", szName );
  191. ColorChat( 0, "^x04%s^x03 Won And Moved To^x04 CT Team^x03.", szName );
  192. client_cmd( client, "spk holo/tr_holo_nicejob" );
  193. remove_task( TASKID );
  194. remove_task( 239 );
  195. g_fwAllowMove = false;
  196. g_fwActive = false;
  197. server_cmd("sv_restart 1")
  198. return PLUGIN_CONTINUE;
  199. }
  200. else
  201. {
  202. ColorChat( client, "^x03Your^x04 Number^x03 is^x04 Wrong^x03 ! The Answer Is :^4 %s", g_MixChars );
  203. client_cmd( client, "spk scientist/completelywrong" );
  204. }
  205. }
  206. }
  207. public ActionTimer( )
  208. {
  209. new RGB[ 3 ];
  210. RGB[ 0 ] = random_num( 50, 250 );
  211. RGB[ 1 ] = random_num( 50, 250 );
  212. RGB[ 2 ] = random_num( 50, 250 );
  213.  
  214. if( g_FWCount <= 0 )
  215. {
  216. remove_task( TASKID );
  217. g_fwAllowMove = true;
  218. switch( random_num( 1,9 ) )
  219. {
  220. case 1:
  221. {
  222. formatex( g_MixChars, charsmax( g_MixChars ), "%s%s%s%s%s",
  223. fw_Letters[ random( MAX_LETTERS - 1 ) ],
  224. fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
  225. fw_Letters[ random( MAX_LETTERS - 1 ) ],
  226. fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
  227. fw_Letters[ random( MAX_LETTERS - 1 ) ]
  228. );
  229. }
  230. case 2:
  231. {
  232. formatex( g_MixChars, charsmax( g_MixChars ), "%s%s%s%s%s",
  233. fw_Letters[ random( MAX_LETTERS - 1 ) ],
  234. fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
  235. fw_Letters[ random( MAX_LETTERS - 1 ) ],
  236. fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
  237. fw_Letters[ random( MAX_LETTERS - 1 ) ]
  238. );
  239. }
  240. case 3:
  241. {
  242. formatex( g_MixChars, charsmax( g_MixChars ), "%s%s%s%s%s",
  243. fw_Letters[ random( MAX_LETTERS - 1 ) ],
  244. fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
  245. fw_Letters[ random( MAX_LETTERS - 1 ) ],
  246. fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
  247. fw_Letters[ random( MAX_LETTERS - 1 ) ]
  248. );
  249. }
  250. case 4:
  251. {
  252. formatex( g_MixChars, charsmax( g_MixChars ), "%s%s%s%s%s",
  253. fw_Letters[ random( MAX_LETTERS - 1 ) ],
  254. fw_Letters[ random( MAX_LETTERS - 1 ) ],
  255. fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
  256. fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
  257. fw_Letters[ random( MAX_LETTERS - 1 ) ]
  258. );
  259. }
  260. case 5:
  261. {
  262. formatex( g_MixChars, charsmax( g_MixChars ), "%s%s%s%s%s",
  263. fw_Letters[ random( MAX_LETTERS - 1 ) ],
  264. fw_Letters[ random( MAX_LETTERS - 1 ) ],
  265. fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
  266. fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
  267. fw_Letters[ random( MAX_LETTERS - 1 ) ]
  268. );
  269. }
  270. case 6:
  271. {
  272. formatex( g_MixChars, charsmax( g_MixChars ), "%s%s%s%s%s",
  273. fw_Letters[ random( MAX_LETTERS - 1 ) ],
  274. fw_Letters[ random( MAX_LETTERS - 1 ) ],
  275. fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
  276. fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
  277. fw_Letters[ random( MAX_LETTERS - 1 ) ]
  278. );
  279. }
  280. case 7:
  281. {
  282. formatex( g_MixChars, charsmax( g_MixChars ), "%s%s%s%s%s",
  283. fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
  284. fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
  285. fw_Letters[ random( MAX_LETTERS - 1 ) ],
  286. fw_Letters[ random( MAX_LETTERS - 1 ) ],
  287. fw_Numbers[ random( MAX_NUMBERS - 1 ) ]
  288. );
  289. }
  290. case 8:
  291. {
  292. formatex( g_MixChars, charsmax( g_MixChars ), "%s%s%s%s%s",
  293. fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
  294. fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
  295. fw_Letters[ random( MAX_LETTERS - 1 ) ],
  296. fw_Letters[ random( MAX_LETTERS - 1 ) ],
  297. fw_Numbers[ random( MAX_NUMBERS - 1 ) ]
  298. );
  299. }
  300. case 9:
  301. {
  302. formatex( g_MixChars, charsmax( g_MixChars ), "%s%s%s%s%s",
  303. fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
  304. fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
  305. fw_Letters[ random( MAX_LETTERS - 1 ) ],
  306. fw_Letters[ random( MAX_LETTERS - 1 ) ],
  307. fw_Numbers[ random( MAX_NUMBERS - 1 ) ]
  308. );
  309. }
  310. }
  311. g_LastChars = g_MixChars;
  312. set_hudmessage( RGB[ 0 ], RGB[ 1 ], RGB[ 2 ], -1.0, 0.30, 0, 8.0, 8.0 );
  313. show_hudmessage( 0, "[ %s ]", g_LastChars );
  314. ColorChat( 0,"^x03Who Writes^x04 %s^x03 Will Move to^x04 CT Team !", g_LastChars );
  315. }
  316. if( g_FWCount != 0)
  317. {
  318. new g_CountVoice[ 21 ];
  319. num_to_word( g_FWCount, g_CountVoice, charsmax( g_CountVoice ) );
  320. client_cmd( 0, "spk ^"vox/%s seconds^"", g_CountVoice );
  321. set_hudmessage( RGB[ 0 ], RGB[ 1 ], RGB[ 2 ], -1.0, 0.30, 0, 0.1, 0.5 );
  322. show_hudmessage( 0, "First Writes Will Start in %i Seconds", g_FWCount );
  323. --g_FWCount;
  324. set_task( 1.0, "ActionTimer", TASKID );
  325. }
  326. }
  327.  
  328. public ActionFailed( )
  329. {
  330. if( g_fwAllowMove )
  331. {
  332. new RGB[ 3 ];
  333. RGB[ 0 ] = random_num( 50, 250 );
  334. RGB[ 1 ] = random_num( 50, 250 );
  335. RGB[ 2 ] = random_num( 50, 250 );
  336. set_hudmessage( RGB[ 0 ], RGB[ 1 ], RGB[ 2 ], -1.0, 0.30, 0, 6.0, 6.0 );
  337. show_hudmessage( 0,"Oops, No One Won !" );
  338. ColorChat( 0, "^x03Oops No One Answered^x04 Correctly !" );
  339. client_cmd( 0,"spk holo/tr_holo_tryagain" );
  340. g_fwAllowMove = false
  341. g_fwActive = false
  342. remove_task( TASKID );
  343. }
  344. }
  345.  
  346.  
  347. public cl_cmdrounds(id){
  348. new Args[32],szName[32];
  349. read_argv(1,Args,charsmax(Args));
  350.  
  351. if (equali(Args,""))
  352. {
  353. client_print(id,print_console,"Usage: amx_rounds <name>");
  354. return 1;
  355. }
  356.  
  357. new player = cmd_target(id,Args,8);
  358. g_Cvar2 = get_pcvar_num(g_Cvar);
  359.  
  360. if(!player)
  361. return 1;
  362.  
  363. get_user_name(player,szName,charsmax(szName));
  364.  
  365. if (cs_get_user_team(player) != CS_TEAM_CT)
  366. {
  367. client_print(id,print_console,"%s isn't in the Counter-Terrorist (CT) team!",szName);
  368. return 1;
  369. }
  370.  
  371. else if (id == player)
  372. {
  373. client_print(id,print_console,"You played: %i/%i rounds.",g_Round[player],g_Cvar2);
  374. return 1;
  375. }
  376. else {
  377. client_print(id,print_console,"%s played: %i/%i rounds.",szName,g_Round[player],g_Cvar2);
  378. return 1;
  379. }
  380. }
  381.  
  382.  
  383. public HandleSay(id){
  384. new Args[128],Args2[16],Args3[32],szName[32];
  385. read_argv(1,Args,charsmax(Args));
  386. parse(Args,Args2,charsmax(Args2),Args3,charsmax(Args3));
  387. if(equali(Args2,"/round") || equali(Args2,"!round"))
  388. {
  389. if (equali(Args3,""))
  390. {
  391. ColorChat(id,"Usage: ^4/round <name>^1 or ^4!round <name>^1");
  392. return 1;
  393. }
  394. new player = cmd_target(id,Args3,8);
  395. g_Cvar2 = get_pcvar_num(g_Cvar);
  396.  
  397. if(!player)
  398. {
  399. ColorChat(id,"Player ^4%s^1 does not exist / isn't not connected!",Args3);
  400. return 1;
  401. }
  402.  
  403. get_user_name(player,szName,charsmax(szName));
  404.  
  405. if (cs_get_user_team(player) != CS_TEAM_CT)
  406. {
  407. ColorChat(id,"^4%s^1 isn't in the ^4Counter-Terrorist^1 (CT) team!",szName);
  408. return 1;
  409. }
  410.  
  411. else if (id == player)
  412. {
  413. ColorChat(id,"You played: ^4%i/%i^1 rounds.",g_Round[player],g_Cvar2);
  414. return 1;
  415. }
  416. else
  417. ColorChat(id,"%s played: ^4%i/%i^1 rounds.",szName,g_Round[player],g_Cvar2);
  418. return 1;
  419. }
  420. return 0;
  421. }
  422. stock get_chars( buffer[], len )
  423. {
  424. format( buffer, len, "%s%s%s%s%s",
  425. fwChars[ random( 26 ) ], fwNums[ random( 9 ) ], fwChars[ random( 26 ) ],
  426. fwNums[ random( 9 ) ], fwChars[ random( 26 ) ] );
  427. }
  428. public WantTeror(id)
  429. {
  430. if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT)
  431. {
  432. new Do = menu_create("\r[\w Extreme Jail \r]\y What You Wanna To DO?", "sub_Do")
  433. menu_additem(Do, "Do First", "1")
  434. menu_additem(Do, "Do Get", "2")
  435.  
  436. menu_display(id, Do)
  437. }
  438. }
  439. public sub_Do(id, Do, item)
  440. {
  441. if(item == MENU_EXIT)
  442. return
  443. new data[6], iName[64]
  444. new access, callback
  445. menu_item_getinfo(Do, item, access, data, 6, iName, 63, callback)
  446.  
  447. new key = str_to_num(data)
  448. switch(key)
  449. {
  450. case 1:
  451. {
  452. SureMenu(id)
  453. }
  454. case 2:
  455. {
  456. if(cs_get_user_team(id) == CS_TEAM_CT)
  457. client_cmd(id, "say /get")
  458. return;
  459. }
  460. }
  461. }
  462. public SureMenu(id)
  463. {
  464. if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT)
  465. {
  466. new Sure = menu_create("\r[\w Extreme Jail \r]\y Are You Sure You Wanna To Do First?", "sub_Sure")
  467. menu_additem(Sure, "Yes", "1")
  468. menu_additem(Sure, "No", "2")
  469.  
  470. menu_display(id, Sure)
  471. }
  472. }
  473. public sub_Sure(id, Sure, item)
  474. {
  475. if(item == MENU_EXIT)
  476. return
  477. new data[6], iName[64]
  478. new access, callback
  479. menu_item_getinfo(Sure, item, access, data, 6, iName, 63, callback)
  480.  
  481. new key = str_to_num(data)
  482. switch(key)
  483. {
  484. case 1:
  485. {
  486. if(cs_get_user_team(id) == CS_TEAM_CT) {
  487. cs_set_user_team(id, CS_TEAM_T)
  488. ExecuteHamB(Ham_CS_RoundRespawn, id );
  489. set_task(6.0, "FwStart")
  490. set_task(1.0, "TimeToFw5")
  491. set_task(2.0, "TimeToFw4")
  492. set_task(3.0, "TimeToFw3")
  493. set_task(4.0, "TimeToFw2")
  494. set_task(5.0, "TimeToFw1")
  495. server_cmd("sv_restart 1")
  496. client_cmd(0, "slot2")
  497. g_Round[id] = 0;
  498. }
  499. }
  500. case 2:
  501. {
  502. }
  503. }
  504. }
  505. public TimeToFw5()
  506. {
  507. ColorChat(0, "^3First Start In 5 Seconds!")
  508. }
  509. public TimeToFw4()
  510. {
  511. ColorChat(0, "^3First Start In 4 Seconds!")
  512. }
  513. public TimeToFw3()
  514. {
  515. ColorChat(0, "^3First Start In 3 Seconds!")
  516. }
  517. public TimeToFw2()
  518. {
  519. ColorChat(0, "^3First Start In 2 Seconds!")
  520. }
  521. public TimeToFw1()
  522. {
  523. ColorChat(0, "^3First Start In 1 Second!")
  524. }
  525. public TeamBalance()
  526. {
  527. new players[32], num, ct, t
  528. get_players(players, num)
  529.  
  530. TeamCount(ct, t)
  531. if(t > 0 && ct < 0 && !g_fwActive)
  532. {
  533. set_task(6.0, "FwStart")
  534. set_task(1.0, "TimeToFw5")
  535. set_task(2.0, "TimeToFw4")
  536. set_task(3.0, "TimeToFw3")
  537. set_task(4.0, "TimeToFw2")
  538. set_task(5.0, "TimeToFw1")
  539. server_cmd("sv_restart 1")
  540. }
  541. if(t > 8 && ct < 1 && !g_fwActive)
  542. {
  543.  
  544. public TeamBalance()
  545. {
  546. new players[32], num, ct, t
  547. get_players(players, num)
  548.  
  549. TeamCount(ct, t)
  550. if(t > 0 && ct < 0 && !g_fwActive)
  551. {
  552. set_task(6.0, "FwStart")
  553. set_task(1.0, "TimeToFw5")
  554. set_task(2.0, "TimeToFw4")
  555. set_task(3.0, "TimeToFw3")
  556. set_task(4.0, "TimeToFw2")
  557. set_task(5.0, "TimeToFw1")
  558. server_cmd("sv_restart 1")
  559. }
  560. if(t > 8 && ct < 1 && !g_fwActive)
  561. {
  562. set_task(6.0, "FwStart")
  563. set_task(1.0, "TimeToFw5")
  564. set_task(2.0, "TimeToFw4")
  565. set_task(3.0, "TimeToFw3")
  566. set_task(4.0, "TimeToFw2")
  567. set_task(5.0, "TimeToFw1")
  568. server_cmd("sv_restart 1")
  569. }
  570. if(t > 15 && ct < 2 && !g_fwActive)
  571. {
  572. set_task(6.0, "FwStart")
  573. set_task(1.0, "TimeToFw5")
  574. set_task(2.0, "TimeToFw4")
  575. set_task(3.0, "TimeToFw3")
  576. set_task(4.0, "TimeToFw2")
  577. set_task(5.0, "TimeToFw1")
  578. server_cmd("sv_restart 1")
  579. }
  580. if(t > 22 && ct < 3 && !g_fwActive)
  581. {
  582. set_task(6.0, "FwStart")
  583. set_task(1.0, "TimeToFw5")
  584. set_task(2.0, "TimeToFw4")
  585. set_task(3.0, "TimeToFw3")
  586. set_task(4.0, "TimeToFw2")
  587. set_task(5.0, "TimeToFw1")
  588. server_cmd("sv_restart 1")
  589. }
  590. if(t > 29 && ct < 4 && !g_fwActive)
  591. {
  592. set_task(6.0, "FwStart")
  593. set_task(1.0, "TimeToFw5")
  594. set_task(2.0, "TimeToFw4")
  595. set_task(3.0, "TimeToFw3")
  596. set_task(4.0, "TimeToFw2")
  597. set_task(5.0, "TimeToFw1")
  598. server_cmd("sv_restart 1")
  599. }
  600. if(t < 7 && ct > 1)
  601. {
  602. RandomT()
  603. server_cmd("sv_restart 1")
  604. }
  605. if(t < 14 && ct > 2)
  606. {
  607. RandomT()
  608. server_cmd("sv_restart 1")
  609. }
  610. if(t < 21 & ct > 3)
  611. {
  612. RandomT()
  613. server_cmd("sv_restart 1")
  614. }
  615. if(t < 29 && ct > 4)
  616. {
  617. RandomT()
  618. server_cmd("sv_restart 1")
  619. }
  620. }
  621. public RandomT()
  622. {
  623. new vPlayers[32], vPlayerNum, vName[32]
  624. get_players(vPlayers, vPlayerNum)
  625.  
  626. if(vPlayerNum) {
  627. new g_iVIPid = 0
  628. g_iVIPid = vPlayers[(vPlayerNum > 1) ? random(vPlayerNum) : 0]
  629. get_user_name(g_iVIPid, vName, charsmax(vName))
  630. if(cs_get_user_team(g_iVIPid) == CS_TEAM_T)
  631. RandomT()
  632. else {
  633. ColorChat(0, "^4%s ^1is selected for a Random T", vName)
  634. cs_set_user_team(g_iVIPid, CS_TEAM_T)
  635. ExecuteHamB(Ham_CS_RoundRespawn, g_iVIPid)
  636.  
  637. set_hudmessage(255, 0, 0, -1.0, 0.69, 2, 6.0, 18.0)
  638. show_hudmessage(0, "^%s is selected for a Random T because : there is no enough T", vName)
  639. }
  640. }
  641. }
  642. public TeamCount(&ct, &t)
  643. {
  644. for(new id=1; id <= g_MaxPlayers; id++) {
  645. if(!is_user_connected(id))
  646. continue
  647. if(cs_get_user_team(id) == CS_TEAM_T)
  648. t++
  649. else if(cs_get_user_team(id) == CS_TEAM_CT)
  650. ct++
  651. }
  652. }
  653.  
  654. public ShowGetMenu( client )
  655. {
  656. if ( !get_pcvar_num( CvarOnOff ) )
  657. return;
  658. else if ( g_Round[client] > 2 ) {
  659. ColorChat( client, "^4םיימעפ 1 לע הציחל ידי לע first תושעל לוכי התא לבא םידנואר 2 ירחא get תתל לוכי אל התא")
  660. client_cmd(client, "say /wantteror")
  661. }
  662. else if ( cs_get_user_team( client ) != CS_TEAM_CT )
  663. ColorChat( client, "דבלב יטיסל תאזה הדוקפה" );
  664.  
  665. else if ( !is_user_alive( client ) )
  666. ColorChat( client, "דבלב םייח םישנאל תאזה הדוקפה" );
  667.  
  668. else
  669. {
  670. new title[ 32 ];
  671.  
  672. formatex( title, charsmax( title ), "\y ?get תתל ימל");
  673.  
  674. new menu = menu_create( title, "HandleGetMenu" );
  675.  
  676. new szName[ 32 ], players[ 32 ], szTemp[ 10 ], pnum, player;
  677.  
  678. get_players( players, pnum, "ch" );
  679.  
  680. for ( new i; i < pnum; i++ )
  681. {
  682. player = players[ i ];
  683.  
  684. if ( !is_user_alive( player ) || !is_user_connected( player ) || cs_get_user_team( player ) != CS_TEAM_T )
  685. continue;
  686. get_user_name( player, szName, charsmax( szName ) );
  687.  
  688. num_to_str( player, szTemp, charsmax( szTemp ) );
  689.  
  690. menu_additem( menu, szName, szTemp );
  691. }
  692.  
  693. menu_setprop( menu, MPROP_EXIT, MENU_EXIT );
  694.  
  695. menu_display( client, menu );
  696. }
  697. }
  698.  
  699. public HandleGetMenu( client, menu, item )
  700. {
  701. if ( item == MENU_EXIT || !get_pcvar_num( CvarOnOff ) )
  702. {
  703. menu_destroy( menu );
  704.  
  705. return;
  706. }
  707.  
  708. new data[ 6 ], szName[ 64 ], access, callback;
  709.  
  710. menu_item_getinfo( menu, item, access, data, charsmax( data ), szName, charsmax( szName ), callback );
  711.  
  712. new player = str_to_num( data );
  713.  
  714. if ( !is_user_connected( player ) )
  715. return;
  716.  
  717. if ( !is_user_alive( player ) )
  718. ColorChat( client, "" );
  719.  
  720. else if ( cs_get_user_team( player ) != CS_TEAM_T )
  721. ColorChat( client, "רורטל קר get תתל לוכ התא" );
  722.  
  723. else
  724. ShowGetAcceptMenu( player, client );
  725. }
  726.  
  727. public ShowGetAcceptMenu( player, client )
  728. {
  729. if ( !get_pcvar_num( CvarOnOff ) )
  730. return;
  731.  
  732. new title[ 64 ], szName[ 32 ], szYes[ 32 ], szNo[ 32 ], szTemp[ 10 ];
  733.  
  734. get_user_name( client, szName, charsmax( szName ) );
  735.  
  736. formatex( title, charsmax( title ), "מ get לבקל הצור התא\w %s ?", szName );
  737.  
  738. new menu = menu_create( title, "HandleGetAcceptMenu" );
  739.  
  740. num_to_str( client, szTemp, charsmax( szTemp ) );
  741.  
  742. formatex( szYes, charsmax( szYes ), "1 %s", szTemp );
  743. formatex( szNo, charsmax( szNo ), "2 %s", szTemp );
  744.  
  745. menu_additem( menu, "ןכ", szYes );
  746. menu_additem( menu, "אל", szNo );
  747.  
  748. menu_setprop( menu, MPROP_EXIT, MENU_EXIT );
  749.  
  750. menu_display( player, menu );
  751. }
  752.  
  753. public HandleGetAcceptMenu( player, menu, item )
  754. {
  755. if ( !get_pcvar_num( CvarOnOff ) )
  756. return;
  757.  
  758. new data[ 6 ], Name[ 64 ], szName[ 32 ], szName2[ 32 ], szKey[ 10 ], szClient[ 10 ], access, callback;
  759.  
  760. menu_item_getinfo( menu, item, access, data, charsmax( data ), Name, charsmax( Name ), callback );
  761.  
  762. parse( data, szKey, charsmax( szKey ), szClient, charsmax( szClient ) );
  763.  
  764. new key = item == MENU_EXIT ? 2 : str_to_num( szKey );
  765. new client = str_to_num( szClient );
  766.  
  767. get_user_name( client, szName2, charsmax( szName2 ) );
  768. get_user_name( player, szName, charsmax( szName ) );
  769.  
  770. switch( key )
  771. {
  772. case 1:
  773. {
  774. if(cs_get_user_team( client) == CS_TEAM_CT) {
  775. ColorChat( 0, "^3%s^1 תוצובק ופילחה^3 %s^1 ו !", szName, szName2 );
  776.  
  777. cs_set_user_team( client, CS_TEAM_T );
  778. cs_set_user_team( player, CS_TEAM_CT );
  779.  
  780. ExecuteHamB(Ham_CS_RoundRespawn, client );
  781. ExecuteHamB(Ham_CS_RoundRespawn, player );
  782. }
  783. }
  784. case 2:
  785. {
  786. ColorChat( client, "^3%s^1 ךלש השקבה תא החד.", szName );
  787. }
  788. }
  789. }
  790. stock ColorChat(const id, const string[], {Float, Sql, Resul,_}:...){
  791. new msg[191], players[32], count = 1;
  792.  
  793. static len; len = formatex(msg, charsmax(msg), "^x04[^x01 JailBreak ^x04]^x01 ");
  794. vformat(msg[len], charsmax(msg) - len, string, 3);
  795.  
  796. if(id) players[0] = id;
  797. else get_players(players,count,"ch");
  798.  
  799. for (new i = 0; i < count; i++)
  800. {
  801. if(is_user_connected(players[i]))
  802. {
  803. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"),_, players[i]);
  804. write_byte(players[i]);
  805. write_string(msg);
  806. message_end();
  807. }
  808. }
  809. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement