Advertisement
Guest User

OldMix sursa plugin

a guest
Jan 15th, 2019
694
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 40.88 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fun>
  4. #include <regex>
  5. #include <cstrike>
  6. #include <colorchat>
  7. #include <hamsandwich>
  8.  
  9. #define SEMI_ACE 4
  10. #define MAX_PLAYERS 32
  11. #define MAXINPUT 7
  12. #define SANITARY "abcdefg"
  13. #define LAST_MAPS_SAVE 3
  14. #define MAX_NAME_LENGTH 32
  15. #define MAX_TEXT_LENGTH 192
  16. new bool:g_restart_attempt[MAX_PLAYERS + 1]
  17. new amx_show_activity
  18. new hitbox_bit
  19. new g_max_players, g_sync_creat_statustext, g_sync_creat_list
  20. new bool:g_teammate[33]
  21. new cvar_plugin_on
  22. new cvar_status_on
  23. new szName[ 32 ];
  24.  
  25.  
  26. static const
  27.  
  28. TAG[ ] = "[MIX]"
  29.  
  30.  
  31. new teamA = 0
  32. new teamA1 = 0
  33. new teamB = 0
  34. new teamB1 = 0
  35. new mixon = 0
  36. new schimbate = 0
  37. new roundnumber = 0
  38. new Atsround
  39. new adminId
  40. new bool:g_bUsersCanChat = true;
  41. new maxscreens
  42. new screeninterval
  43. new design;
  44. new player
  45. new ip[32]
  46. new finish
  47. new g_iFrags[33]
  48. new iForward
  49. new gSaveFile[64];
  50. new gLastMapName[LAST_MAPS_SAVE][32];
  51. new gLastMapTime[LAST_MAPS_SAVE];
  52. new gNumLastMaps;
  53. new authid[32]
  54. new name[32]
  55.  
  56.  
  57.  
  58.  
  59. public plugin_init()
  60. {
  61. /// Setarile
  62. register_clcmd("say .setari", "setari", ADMIN_KICK)
  63. register_clcmd("say !setari", "setari", ADMIN_KICK)
  64. register_clcmd("say /setari", "setari", ADMIN_KICK)
  65. register_clcmd("say_team .setari", "setari", ADMIN_KICK)
  66. register_clcmd("say_team !setari", "setari", ADMIN_KICK)
  67. register_clcmd("say_team /setari", "setari", ADMIN_KICK)
  68.  
  69. /// cvar_result_func
  70. register_clcmd "say .setari", "cvar_result_func", ADMIN_KICK
  71.  
  72. /// Demo
  73. register_concmd("amx_demo","demo",ADMIN_BAN,"<name> - takes a demo of a client")
  74. register_concmd("amx_stopdemo","stopdemo",ADMIN_BAN,"<name> - stops the demo taken")
  75.  
  76. // Warm
  77. register_clcmd("say !warm", "warm", ADMIN_KICK)
  78. register_clcmd("say .warm", "warm", ADMIN_KICK)
  79. register_clcmd("say /warm", "warm", ADMIN_KICK)
  80. register_clcmd("say_team /warm", "warm", ADMIN_KICK)
  81. register_clcmd("say_team !warm", "warm", ADMIN_KICK)
  82. register_clcmd("say_team .warm", "warm", ADMIN_KICK)
  83.  
  84.  
  85. /// PRELUNGIRI
  86. register_clcmd("say !prelungiri", "prelungiri", ADMIN_KICK)
  87. register_clcmd("say .prelungiri", "prelungiri", ADMIN_KICK)
  88. register_clcmd("say /prelungiri", "prelungiri", ADMIN_KICK)
  89. register_clcmd("say .extra", "prelungiri", ADMIN_KICK)
  90. register_clcmd("say /extra", "prelungiri", ADMIN_KICK)
  91. register_clcmd("say !extra", "prelungiri", ADMIN_KICK)
  92. register_clcmd("say_team /extra", "prelungiri", ADMIN_KICK)
  93. register_clcmd("say_team !extra", "prelungiri", ADMIN_KICK)
  94. register_clcmd("say_team .extra", "prelungiri", ADMIN_KICK)
  95. register_clcmd("say_team !prelugniri", "prelungiri", ADMIN_KICK)
  96. register_clcmd("say_team /prelungiri", "prelungiri", ADMIN_KICK)
  97. register_clcmd("say_team .prelungiri", "prelungiri", ADMIN_KICK)
  98.  
  99.  
  100.  
  101. /// RESTART
  102. register_clcmd("say .rr", "restart", ADMIN_KICK)
  103. register_clcmd("say /rr", "restart", ADMIN_KICK)
  104. register_clcmd("say !rr", "restart", ADMIN_KICK)
  105. register_clcmd("say /restart", "restart", ADMIN_KICK)
  106. register_clcmd("say !restart", "restart", ADMIN_KICK)
  107. register_clcmd("say .restart", "restart", ADMIN_KICK)
  108. register_clcmd("say_team /rr", "restart", ADMIN_KICK)
  109. register_clcmd("say_team !rr", "restart", ADMIN_KICK)
  110. register_clcmd("say_team .rr", "restart", ADMIN_KICK)
  111.  
  112.  
  113. /// KNIFE
  114. register_clcmd("say /knife", "knife", ADMIN_KICK)
  115. register_clcmd("say !knife", "knife", ADMIN_KICK)
  116. register_clcmd("say .knife", "knife", ADMIN_KICK)
  117. register_clcmd("say /cutite", "knife", ADMIN_KICK)
  118. register_clcmd("say !cutite", "knife", ADMIN_KICK)
  119. register_clcmd("say .cutite", "knife", ADMIN_KICK)
  120. register_clcmd("say_team .knife", "knife", ADMIN_KICK)
  121. register_clcmd("say_team /knfie", "knife", ADMIN_KICK)
  122. register_clcmd("say_team !knife", "knife", ADMIN_KICK)
  123. register_clcmd("say_team .cutite", "knife", ADMIN_KICK)
  124. register_clcmd("say_team !cutite", "knife", ADMIN_KICK)
  125. register_clcmd("say_team /cutite", "knife", ADMIN_KICK)
  126.  
  127.  
  128. /// blocare
  129. register_clcmd( "say .blocare", "ClCmdSayBlocare" );
  130. register_clcmd( "say /off", "ClCmdSayBlocare" );
  131. register_clcmd( "say /blocare", "ClCmdSayBlocare" );
  132. register_clcmd( "say .deblocare", "ClCmdSayDeBlocare" );
  133. register_clcmd( "say /on", "ClCmdSayDeBlocare" );
  134. register_clcmd( "say !blocare", "ClCmdSayBlocare" );
  135. register_clcmd( "say !deblocare", "ClCmdSayDeBlocare" );
  136. register_clcmd( "say /deblocare", "ClCmdSayDeBlocare" );
  137. register_clcmd( "say_team /on", "ClCmdSayDeBlocare" );
  138. register_clcmd( "say_team !on", "ClCmdSayDeBlocare" );
  139. register_clcmd( "say_team !off", "ClCmdSayDeBlocare" );
  140. register_clcmd( "say_team /off", "ClCmdSayDeBlocare" );
  141. register_clcmd( "say", "ClCmdSay" );
  142.  
  143. ///Ss
  144. register_concmd("amx_ss", "concmd_screen", ADMIN_LEVEL_A, "<authid, nick or #userid> <screens>")
  145. register_clcmd("say /ip", "show_ip")
  146. maxscreens = register_cvar("amx_ss_max", "5")
  147. screeninterval = register_cvar("amx_ss_interval", "1.0")
  148. design = register_cvar("amx_ss_design", "3")
  149.  
  150.  
  151. /// Hitbox
  152. register_event("ResetHUD", "event_hud_reset", "be")
  153. register_event("TextMsg", "event_restart_attempt", "a", "2=#Game_will_restart_in")
  154. register_clcmd("fullupdate", "clcmd_fullupdate")
  155. register_concmd("amx_hsonly", "admin_set_hitbox", ADMIN_KICK, "<0|a|b|c|d|e|f|g> - Set hitboxes. Letters equal the body part, can combine letters.")
  156. hitbox_bit = register_cvar("hitbox_bit", "255")
  157. amx_show_activity = get_cvar_pointer("amx_show_activity")
  158.  
  159.  
  160.  
  161. // Start Mix
  162. register_clcmd("say !live", "startmix", ADMIN_KICK)
  163. register_clcmd("say .live", "startmix", ADMIN_KICK)
  164. register_clcmd("say /live", "startmix", ADMIN_KICK)
  165. register_clcmd("say !start", "startmix", ADMIN_KICK)
  166. register_clcmd("say .start", "startmix", ADMIN_KICK)
  167. register_clcmd("say /start", "startmix", ADMIN_KICK)
  168. register_clcmd("say !startmix", "startmix", ADMIN_KICK)
  169. register_clcmd("say .startmix", "startmix", ADMIN_KICK)
  170. register_clcmd("say /startmix", "startmix", ADMIN_KICK)
  171. register_clcmd("say_team /start", "startmix", ADMIN_KICK)
  172. register_clcmd("say_team !start", "startmix", ADMIN_KICK)
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180. /// STOP MIX
  181. register_clcmd("say !stop", "stopmix", ADMIN_KICK)
  182. register_clcmd("say .stop", "stopmix", ADMIN_KICK)
  183. register_clcmd("say /stop", "stopmix", ADMIN_KICK)
  184. register_clcmd("say !stopmix", "stopmix", ADMIN_KICK)
  185. register_clcmd("say .stopmix", "stopmix", ADMIN_KICK)
  186. register_clcmd("say /stopmix", "stopmix", ADMIN_KICK)
  187. register_clcmd("say_team /stop", "stopmix", ADMIN_KICK)
  188. register_clcmd("say_team !stop", "stopmix", ADMIN_KICK)
  189. register_clcmd("say_team .stop", "stopmix", ADMIN_KICK)
  190.  
  191.  
  192.  
  193. //Autoswitch teams
  194. register_logevent( "roundend", 2, "1=Round_End" );
  195. register_event( "TextMsg","restart","a","2&#Game_C", "2&#Game_W" ); // Event for "Game Commencing" TextMsg and "Game Will Restart in X Seconds" TextMsg
  196.  
  197. Atsround = register_cvar( "amx_atsrounds", "15" );
  198.  
  199.  
  200.  
  201.  
  202. // Score
  203. register_clcmd("say !score", "scor", ADMIN_KICK)
  204. register_clcmd("say .score", "scor", ADMIN_KICK)
  205. register_clcmd("say /score", "scor", ADMIN_KICK)
  206. register_clcmd("say_team !score", "scor", ADMIN_KICK)
  207. register_clcmd("say_team .score", "scor", ADMIN_KICK)
  208. register_clcmd("say_team /score", "scor", ADMIN_KICK)
  209.  
  210. /// Interp
  211. register_clcmd("say !interp", "interp", ADMIN_KICK)
  212. register_clcmd("say .interp", "interp", ADMIN_KICK)
  213. register_clcmd("say /interp", "interp", ADMIN_KICK)
  214. register_clcmd("say_team /interp", "interp", ADMIN_KICK)
  215. register_clcmd("say_team !interp", "interp", ADMIN_KICK)
  216. register_clcmd("say_team .interp", "interp", ADMIN_KICK)
  217.  
  218.  
  219. register_event("HLTV", "new_round", "a", "1=0", "2=0")
  220. register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
  221. register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")
  222.  
  223.  
  224. /// comenzi
  225. register_clcmd("say comenzi", "comenzi", ADMIN_KICK)
  226. register_clcmd("say !comenzi", "comenzi", ADMIN_KICK)
  227. register_clcmd("say /comenzi", "comenzi", ADMIN_KICK)
  228. register_clcmd("say_team /comenzi", "comenzi", ADMIN_KICK)
  229. register_clcmd("say_team !comenzi", "comenzi", ADMIN_KICK)
  230. register_clcmd("say_team .comenzi", "comenzi", ADMIN_KICK)
  231.  
  232.  
  233.  
  234. //// ACE
  235.  
  236. register_event( "HLTV", "EventNewRound", "a", "1=0", "2=0" );
  237. register_event( "DeathMsg", "EventDeathMsg", "a" );
  238.  
  239. register_logevent( "LogEventRoundEnd", 2, "1=Round_End" );
  240.  
  241. iForward = CreateMultiForward( "FwdPlayerDidAceOrSemi", ET_STOP, FP_CELL, FP_CELL );
  242.  
  243. //// TEAM MONEY
  244.  
  245.  
  246. RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
  247.  
  248. register_clcmd("say /money", "clcmd_money")
  249. register_clcmd("say !money", "clcmd_money")
  250. register_clcmd("say /bani", "clcmd_money")
  251. register_clcmd("say !bani", "clcmd_money")
  252.  
  253. register_event("StatusValue", "show_teammate_money", "be", "1=2", "2!0")
  254. register_event("StatusValue", "set_team", "be", "1=1")
  255.  
  256. cvar_plugin_on = register_cvar("stm_on", "1")
  257. cvar_status_on = register_cvar("stm_st_on", "1")
  258.  
  259. g_max_players = get_maxplayers()
  260. g_sync_creat_statustext = CreateHudSyncObj()
  261. g_sync_creat_list = CreateHudSyncObj()
  262.  
  263. ////////////Specall
  264. register_concmd("amx_ct", "cmdct", ADMIN_SLAY, "NUME : Transfera jucatorul la echipa Counter/Terror");
  265. register_concmd("amx_t", "cmdt", ADMIN_SLAY, "NUME : Transfera jucatorul la echipa Terror");
  266. register_concmd("amx_spec", "cmdspec", ADMIN_SLAY, "NUME : Transfera jucatorul la Spectator");
  267. register_clcmd("say .specall", "cmd_spec", ADMIN_KICK, "All players spec");
  268. register_clcmd("say /specall", "cmd_spec", ADMIN_KICK, "All players spec");
  269. register_clcmd("say !specall", "cmd_spec", ADMIN_KICK, "All players spec");
  270.  
  271.  
  272.  
  273. ////// amx chat
  274. register_clcmd("say","admin_slash",0,"say /command < params >")
  275. register_clcmd("say_team","admin_slash",0,"say /command < params >")
  276.  
  277. /////PASS SI NOPASS
  278. register_concmd("amx_pass", "pass", ADMIN_BAN, "- Sets a server password")
  279. register_concmd("amx_password", "pass", ADMIN_BAN, "- Sets a server password")
  280. register_concmd("amx_parola", "pass", ADMIN_BAN, "- Sets a server password")
  281. register_concmd("amx_nopass", "nopass", ADMIN_BAN, "- Removes the server password")
  282. register_concmd("amx_removepassword", "nopass", ADMIN_BAN, "- Removes the server password")
  283.  
  284.  
  285.  
  286. /////HARTI
  287. register_clcmd("say /last", "CmdLastMaps");
  288. register_clcmd("say !last", "CmdLastMaps");
  289. register_clcmd("say /harti", "CmdLastMaps");
  290. register_clcmd("say !harti", "CmdLastMaps");
  291.  
  292. get_datadir(gSaveFile, charsmax(gSaveFile));
  293. add(gSaveFile, charsmax(gSaveFile), "lastmaps.txt");
  294.  
  295. new f = fopen(gSaveFile, "rt");
  296.  
  297. if(f) {
  298. new line[64], minutes[12];
  299.  
  300. while(!feof(f) && gNumLastMaps < LAST_MAPS_SAVE) {
  301. fgets(f, line, charsmax(line));
  302. trim(line);
  303.  
  304. if(line[0]) {
  305. parse(line, gLastMapName[gNumLastMaps], charsmax(gLastMapName[]), minutes, charsmax(minutes));
  306. gLastMapTime[gNumLastMaps++] = str_to_num(minutes);
  307. }
  308. }
  309.  
  310. fclose(f);
  311. }
  312.  
  313.  
  314. }
  315.  
  316.  
  317. public t_win() {
  318. if ( schimbate == 0 ) {
  319. teamA = teamA+1
  320. }
  321. else {
  322. teamB = teamB +1
  323. }
  324. }
  325.  
  326. public ct_win() {
  327. if ( schimbate == 0 ) {
  328. teamB = teamB +1
  329. }
  330. else {
  331. teamA = teamA +1
  332. }
  333.  
  334. }
  335.  
  336. public new_round(){
  337. if ( mixon == 1)
  338. {
  339. if (schimbate == 0) {
  340.  
  341. if ( teamA > teamB ) {
  342.  
  343. ColorChat(0, RED, "[!comenzi]^x01 Scorul este ^x04 %d - %d pentru echipa T", teamA,teamB );
  344. }
  345. if ( teamB > teamA ) {
  346. ColorChat(0, RED, "[!comenzi]^x01 Scorul este ^x04 %d - %d pentru CT", teamB ,teamA);
  347. }
  348. if ( teamB == teamA ) {
  349. ColorChat(0, RED, "[!comenzi]^x01 Scorul este ^x04 %d - %d (egalitate)", teamB ,teamA);
  350. }
  351. }
  352.  
  353. if ( schimbate == 1 )
  354. {
  355. if ( teamA == 16 || teamB == 16) {
  356. if ( teamA > teamB ) {
  357.  
  358. ColorChat(0, RED, "[MIX]^x01 Mix-ul a fost castigat de echipa ^x04 CT");
  359. ColorChat(0, RED, "[MIX]^x01 Scorul fiind: ^x04 %d - %d ",teamA, teamB);
  360. ColorChat(0, RED, "[MIX]^x01 Tasteaza !harti in chat pentru a vedea ultimele 3 harti jucate.",teamA, teamB);
  361.  
  362.  
  363.  
  364. mixon = 0
  365. schimbate = 0
  366. set_cvar_string ( "sv_restart", "1" );
  367. }
  368.  
  369. if ( teamB > teamA ) {
  370. ColorChat(0, RED, "[MIX]^x01 Mix-ul a fost castigat de echipa ^x04 T");
  371. ColorChat(0, RED, "[MIX]^x01 Scorul fiind: ^x04 %d - %d ",teamB,teamA);
  372. ColorChat(0, RED, "[MIX]^x01 Tasteaza !harti in chat pentru a vedea ultimele 3 harti jucate.",teamA, teamB);
  373.  
  374.  
  375.  
  376. mixon = 0
  377. schimbate = 0
  378. set_cvar_string ( "sv_restart", "1" );
  379. set_cvar_string ( "mp_freezetime", "0");
  380. set_cvar_string ( "mp_startmoney", "16000");
  381. }
  382. } else {
  383. if ( teamA > teamB ) {
  384. ColorChat(0, RED, "[MIX]^x01 Scorul este ^x04 %d - %d pentru CT",teamA,teamB );
  385. }
  386. if ( teamB > teamA ) {
  387. ColorChat(0, RED, "[MIX]^x01 Scorul este ^x04 %d - %d pentru T",teamB ,teamA);
  388. }
  389. if ( teamB == teamA ) {
  390. ColorChat(0, RED, "[MIX]^x01 Scorul este ^x04 %d - %d (egalitate)",teamB ,teamA);
  391. }
  392. }
  393.  
  394. }
  395. }
  396. }
  397.  
  398.  
  399. public client_disconnect(id){
  400. if (get_playersnum() == 0)
  401. set_cvar_string("sv_password", "");
  402. }
  403.  
  404. public warm(id){
  405.  
  406.  
  407. if(!is_user_admin(id) && ADMIN_KICK)
  408. {
  409. client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")
  410.  
  411. return PLUGIN_HANDLED
  412. }
  413. else {
  414.  
  415.  
  416.  
  417. set_cvar_string ( "sv_restart", "2" );
  418. set_cvar_string ( "mp_freezetime", "0" );
  419. set_cvar_string ( "mp_startmoney", "16000" );
  420. set_cvar_string ( "mp_friendlyfire", "0" );
  421. set_cvar_string ( "amx_atsrounds", "100" );
  422.  
  423.  
  424. mixon = 0;
  425. schimbate = 0;
  426. teamA = 0
  427. teamB = 0
  428. teamA1 = 0
  429. teamB1= 0
  430. roundnumber = 0
  431.  
  432.  
  433. get_user_name( id, szName, sizeof ( szName ) -1 );
  434. ColorChat(0, RED, "[!warm]^x01Rundele de incalzire au fost pornite. -^x04%s^x01 ", szName );
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441. }
  442. return PLUGIN_HANDLED
  443. }
  444.  
  445. public stopmix(id){
  446.  
  447.  
  448. if(!is_user_admin(id) && ADMIN_KICK)
  449. {
  450. client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")
  451.  
  452. return PLUGIN_HANDLED
  453. }
  454. else {
  455.  
  456.  
  457.  
  458. set_cvar_string ( "sv_restart", "1" );
  459. set_cvar_string ( "mp_freezetime", "0" );
  460. set_cvar_string ( "mp_startmoney", "16000" );
  461. set_cvar_string ( "mp_friendlyfire", "0" );
  462. set_cvar_string ( "amx_atsrounds", "100" );
  463.  
  464.  
  465. mixon = 0;
  466. schimbate = 0;
  467. teamA = 0
  468. teamB = 0
  469. teamA1 = 0
  470. teamB1= 0
  471. roundnumber = 0
  472.  
  473. get_user_name( id, szName, sizeof ( szName ) -1 );
  474. ColorChat(0, RED, "[!stop]^x01 Mix-ul a fost oprit. -^x04%s^x01", szName );
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481. }
  482. return PLUGIN_HANDLED
  483. }
  484.  
  485. public prelungiri(id){
  486.  
  487. if(!is_user_admin(id) && ADMIN_KICK)
  488. {
  489. client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")
  490.  
  491. return PLUGIN_HANDLED
  492. }
  493. else {
  494.  
  495.  
  496.  
  497. set_cvar_string ( "sv_restart", "5" );
  498. set_cvar_string ( "mp_freezetime", "8" );
  499. set_cvar_string ( "mp_startmoney", "10000" );
  500. set_cvar_string ( "mp_friendlyfire", "1" );
  501. set_cvar_string ( "amx_atsrounds", "3" );
  502.  
  503.  
  504. mixon = 1;
  505. if (schimbate == 0)
  506. {
  507. teamA = teamA1
  508. teamB = teamB1
  509. roundnumber = 0
  510. } else {
  511. schimbate = 0;
  512. teamA = 0
  513. teamB = 0
  514. teamA1 = 0
  515. teamB1= 0
  516. roundnumber = 0
  517. }
  518.  
  519.  
  520. get_user_name( id, szName, sizeof ( szName ) -1 );
  521. ColorChat(0, RED, "[!prelungiri]^x01 Prelungirile vor porni in 5 secunde. -^x04%s^x01 ", szName );
  522. }
  523. return PLUGIN_HANDLED
  524. }
  525.  
  526.  
  527.  
  528.  
  529. public restart( id ){
  530.  
  531. if(!is_user_admin(id) && ADMIN_KICK)
  532. {
  533. client_print(id, print_chat, "Tasteaza !comenzi in chat pentru mai multe informatii!")
  534.  
  535. roundnumber = 0;
  536. return PLUGIN_HANDLED
  537. }
  538. else {
  539. set_cvar_string ( "sv_restart", "1" );
  540. mixon = 1;
  541. if (schimbate == 1)
  542. {
  543. teamA = teamA1
  544. teamB = teamB1
  545. roundnumber = 0
  546. } else {
  547. schimbate = 0;
  548. teamA = 0
  549. teamB = 0
  550. teamA1 = 0
  551. teamB1= 0
  552. roundnumber = 0
  553. }
  554.  
  555. }
  556. return PLUGIN_HANDLED
  557. }
  558.  
  559. public knife(id){
  560.  
  561.  
  562. if(!is_user_admin(id) && ADMIN_KICK)
  563. {
  564. client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")
  565.  
  566. return PLUGIN_HANDLED
  567. }
  568. else {
  569.  
  570.  
  571.  
  572. set_cvar_string ( "sv_restart", "2" );
  573. set_cvar_string ( "mp_freezetime", "0" );
  574. set_cvar_string ( "mp_startmoney", "16000" );
  575. set_cvar_string ( "mp_friendlyfire", "0" );
  576. set_cvar_string ( "amx_atsrounds", "100" );
  577.  
  578.  
  579. mixon = 0;
  580. schimbate = 0;
  581. teamA = 0
  582. teamB = 0
  583. teamA1 = 0
  584. teamB1= 0
  585. roundnumber = 0
  586.  
  587. get_user_name( id, szName, sizeof ( szName ) -1 );
  588. ColorChat(0, RED, "[!knife]^x01 Rundele de cutite au fost pornite. -^x04%s^x01 ", szName );
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595. }
  596. return PLUGIN_HANDLED
  597. }
  598.  
  599. public startmix(id){
  600.  
  601. if(!is_user_admin(id) && ADMIN_KICK)
  602. {
  603. client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")
  604.  
  605.  
  606. return PLUGIN_HANDLED
  607. }
  608. else {
  609.  
  610.  
  611. set_cvar_string ( "sv_restart", "5" );
  612. set_cvar_string ( "mp_freezetime", "9" );
  613. set_cvar_string ( "mp_startmoney", "800" );
  614. set_cvar_string ( "mp_friendlyfire", "1" );
  615. set_cvar_string ( "mp_roundtime", "1.75" );
  616. set_cvar_string ( "mp_timelimit", "0" );
  617. set_cvar_string ( "mp_forchasecam", "2" );
  618. set_cvar_string ( "mp_buytime", "1.5" );
  619. set_cvar_string ( "mp_c4timer", "35" );
  620. set_cvar_string ( "amx_atsrounds", "15" );
  621.  
  622.  
  623.  
  624.  
  625.  
  626. mixon = 1;
  627. if (schimbate == 1)
  628. {
  629. teamA = teamA1
  630. teamB = teamB1
  631. roundnumber = 0
  632. } else {
  633. schimbate = 0;
  634. teamA = 0
  635. teamB = 0
  636. teamA1 = 0
  637. teamB1= 0
  638. roundnumber = 0
  639. }
  640.  
  641.  
  642. get_user_name( id, szName, sizeof ( szName ) -1 );
  643. ColorChat(0, RED, "[!start]^x01 Mix-ul va porni in 5 secunde. -^x04%s^x01 ", szName );
  644.  
  645.  
  646.  
  647.  
  648. }
  649. return PLUGIN_HANDLED
  650. }
  651.  
  652. public interp(id){
  653.  
  654. if(!is_user_admin(id) && ADMIN_BAN)
  655. {
  656. client_print(id, print_chat, "Ai nevoie de admin pentru a avea acces la aceasta comanda.")
  657.  
  658.  
  659. return PLUGIN_HANDLED
  660. } else {
  661. client_cmd(0, "ex_interp 0.01");
  662. client_cmd(0, "rate 25000");
  663. client_cmd(0, "cl_updaterate 101");
  664. client_cmd(0, "cl_cmdrate 101");
  665. client_cmd(0, "fps_max 101");
  666.  
  667. ColorChat(0,RED, "[!interp] ^x01S-a setat interp-ul. Jucatorii pot verifica tastand !setari in chat (consola)")
  668.  
  669. }
  670. return PLUGIN_HANDLED
  671. }
  672.  
  673. public roundend()
  674. {
  675. roundnumber++;
  676.  
  677. if (schimbate == 1 && roundnumber == 31)
  678. {
  679. ColorChat(0, RED, "[MIX] ^x01Echipele au reusit sa aduca scorul la egal ^x04 15 - 15 ");
  680.  
  681.  
  682. mixon = 0
  683. schimbate = 0
  684. set_cvar_string ( "sv_restart", "1" );
  685. }
  686. else if( roundnumber >= get_pcvar_num( Atsround ) )
  687. {
  688. new players[32], num;
  689. get_players( players, num );
  690.  
  691. for( new i; i < num; i++ )
  692. add_delay( players[i] ); // Prevent Server Crash with a lot of people.
  693.  
  694. }
  695. }
  696.  
  697. add_delay( id )
  698. {
  699. switch( id )
  700. {
  701. case 1..7: set_task( 0.1, "changeTeam", id );
  702. case 8..15: set_task( 0.2, "changeTeam", id );
  703. case 16..23: set_task( 0.3, "changeTeam", id );
  704. case 24..32: set_task( 0.4, "changeTeam", id );
  705. }
  706. }
  707.  
  708. public changeTeam( id )
  709. {
  710. switch( cs_get_user_team( id ) )
  711. {
  712. case CS_TEAM_CT: cs_set_user_team( id, CS_TEAM_T );
  713.  
  714. case CS_TEAM_T: cs_set_user_team( id, CS_TEAM_CT );
  715. }
  716.  
  717. roundnumber = 0;
  718. schimbate = 1
  719. teamA1 = teamA
  720. teamB1 = teamB
  721.  
  722. ColorChat(0, RED, "[!comenzi] ^x01 Echipele s-au schimbat intre ele ");
  723. set_cvar_string ( "sv_restart", "1" );
  724.  
  725. }
  726.  
  727.  
  728.  
  729.  
  730. public scor(id){
  731.  
  732. if ( mixon == 1 )
  733. {
  734. if (schimbate == 0) {
  735.  
  736. if ( teamA > teamB ) {
  737. ColorChat(id, RED, "^x03 Scorul este %d - %d pentru ^x04 T",teamA,teamB );
  738. }
  739. if ( teamB > teamA ) {
  740. ColorChat(id, RED, "^x03 Scorul este %d - %d pentru ^x04 CT",teamB ,teamA);
  741. }
  742. if ( teamB == teamA ) {
  743. ColorChat(id, RED, "^x03 Scorul este %d - %d ^x04 (EGAL)",teamB ,teamA);
  744. }
  745. } else {
  746. if ( teamA > teamB ) {
  747. ColorChat(id, RED, "^x03 Scorul este %d - %d pentru ^x04CT",teamA,teamB );
  748. }
  749. if ( teamB > teamA ) {
  750. ColorChat(id, RED, "^x03 Scorul este %d - %d pentru ^x04T",teamB ,teamA);
  751. }
  752. if ( teamB == teamA ) {
  753. ColorChat(id, RED, "^x03 Scorul este %d - %d ^x04 (EGAL)",teamB ,teamA);
  754. }
  755. }
  756. }
  757. else
  758. {
  759. ColorChat(id,RED, "[!comenzi] ^x01 Momentan nu ruleaza niciun mix. Un admin va scrie !start pentru pornire.")
  760. }
  761.  
  762. return PLUGIN_HANDLED
  763. }
  764.  
  765. public clcmd_fullupdate() {
  766. return PLUGIN_HANDLED
  767. }
  768. public event_restart_attempt(){
  769. new players[32], num
  770. get_players(players, num, "a")
  771. for ( new i; i < num; ++i )
  772. g_restart_attempt[players[i]] = true
  773. }
  774. public event_hud_reset(id){
  775. if (g_restart_attempt[id]) {
  776. g_restart_attempt[id] = false
  777. return
  778. }
  779. set_properties(id)
  780. }
  781. public set_properties(id){
  782. set_user_hitzones(0, 0, get_pcvar_num(hitbox_bit))
  783. }
  784. public admin_set_hitbox(id, level, cid){
  785. new flags[MAXINPUT+1], name[32], error[128], result_code, bit = 1
  786. if ( !cmd_access(id, level, cid, 2) )
  787. return PLUGIN_HANDLED
  788. read_argv(1, flags, MAXINPUT)
  789. strtolower(flags)
  790. new Regex:re = regex_match(flags, "0", result_code, error, 127)
  791. if (re >= REGEX_OK) { //This if/else will detect strange syntax, even if it doesn't need to
  792. regex_free(re)
  793. if (flags[0] == '0') {
  794. if (flags[1] == '^0'){
  795. bit = 0;
  796. } else {
  797. bit = 0; //they have a 0 followed by unnecessary characters
  798. }
  799. } else{
  800. bit = 1 // there is a 0 mixed in with other characters
  801. }
  802. } else {
  803. new buf[2] = {0,0}
  804. for (new i = 0; i<MAXINPUT; i++){
  805. buf[0] = flags[i];
  806. re = regex_match(SANITARY, buf[0], result_code, error, 127)
  807. if (re >= REGEX_OK){
  808. regex_free(re)
  809. } else {
  810. flags[i] = 0 //They have weird characters in here
  811. }
  812. }
  813. }
  814. if (bit) {
  815. new buf2[2] = {97,0} //97 = a.
  816. for (new j = 2; j <= 128; j*=2, buf2[0]++){
  817. re = regex_match(flags, buf2, result_code, error, 127)
  818. if (re >= REGEX_OK){
  819. regex_free(re)
  820. bit += j
  821. }
  822. }
  823. }
  824. if (bit == 1){
  825. //They didn't type any valid flags at all
  826. }
  827. set_pcvar_num(hitbox_bit, bit)
  828. get_user_name(id, name, 31)
  829. switch ( get_pcvar_num(amx_show_activity) ){
  830. case 2: ColorChat(0, RED, "[OLD!] ^x01 Admin-ul ^x04 %s ^x01 a pornit/oprit modul HS ONLY ", name)
  831.  
  832. }
  833. set_properties(0)
  834. log_amx("[AMXX] ADMIN %s: set hitboxes to %d", name, bit)
  835. return PLUGIN_HANDLED
  836. }
  837.  
  838. public concmd_screen(id, level, cid)
  839. {
  840. if(!is_user_admin(id) && ADMIN_KICK)
  841. {
  842. return PLUGIN_HANDLED
  843. }
  844.  
  845. new arg1[24], arg2[4]
  846. read_argv(1, arg1, 23)
  847. read_argv(2, arg2, 3)
  848.  
  849. new screens = str_to_num(arg2)
  850. new maxss = get_pcvar_num(maxscreens)
  851.  
  852. if(screens > maxss) //too many ss?
  853. {
  854. console_print(id, "Ai depasit limita pozelor.")
  855.  
  856. return PLUGIN_HANDLED
  857. }
  858.  
  859. player = cmd_target(id, arg1, 1)
  860. if (!player) //the player has exited the sv or he didnt existed
  861. {
  862. return PLUGIN_HANDLED
  863. }
  864. finish = screens
  865.  
  866. new Float:interval = get_pcvar_float(screeninterval) //a set_task for each "amx_ss nickname nr_of_ss"
  867. new array[2]
  868. array[0] = id //save usefull data in a vector so it can be reused
  869. array[1] = player
  870. set_task(interval, "ss_propriuzis", 0, array,2, "a", screens)
  871.  
  872. return PLUGIN_HANDLED
  873. }
  874.  
  875. public ss_propriuzis(array[2])
  876. {
  877. //take data and set them accordingly
  878. new player = array[1]
  879. new id = array[0]
  880.  
  881. //save time,adminname,playername so that the player cant give us other ss's and because it LOOKS COOOL!
  882. new timestamp[32], name[32], adminname[32]
  883. get_time("%m/%d/%Y - %H:%M:%S", timestamp, 31)
  884. get_user_name(player, name, 31)
  885. get_user_name(id, adminname, 31)
  886. get_user_ip(player, ip, 31)
  887.  
  888. //Clasic Design
  889. if(get_pcvar_num(design) == 0)
  890. {
  891.  
  892. client_print(id,print_console, "Comanda amx_ss a fost executata asupra jucatorului ales");
  893. client_print(id,print_console, "Comanda amx_ss a fost executata asupra jucatorului ales");
  894. client_print(id,print_console, "Comanda amx_ss a fost executata asupra jucatorului ales");
  895. client_print(id,print_console, "Comanda amx_ss a fost executata asupra jucatorului ales");
  896. ColorChat(id, RED, "[SS] ^x01 Ai executat cu succes comanda amx_ss pe jucatorul ^x03 %s", name);
  897. client_cmd(player, "snapshot") //ss
  898. }
  899. //Doar Playerului
  900. else if(get_pcvar_num(design) == 1)
  901. {
  902.  
  903. }
  904. //HUD Message doar Playerului
  905. else if(get_pcvar_num(design) == 2)
  906. {
  907.  
  908.  
  909. }
  910. //Full
  911. else if(get_pcvar_num(design) == 3)
  912. {
  913. ColorChat(id, RED, " ^x01 Poza executata asupra lui ^x03 %s ^x01 de admin-ul ^x04 %s ^x01 (%s) ", name, adminname, timestamp)
  914. ColorChat(player, RED, " ^x01 Poza executata asupra lui ^x03 %s ^x01 de admin-ul ^x04 %s ^x01 (%s) ", name, adminname, timestamp)
  915. client_cmd(player, "snapshot") //ss
  916.  
  917.  
  918. }
  919. console_print(id, "%s 's ip-ul este %s!",name,ip)
  920. console_print(id, "%s 's ip-ul este %s!",name,ip)
  921. console_print(id, "%s 's ip-ul este %s!",name,ip)
  922. finish = finish - 1;
  923.  
  924. if(finish == 0)
  925. {
  926.  
  927.  
  928. }
  929.  
  930. return PLUGIN_CONTINUE;
  931. }
  932.  
  933. public show_ip(id)
  934. {
  935. console_print(id, "Ultimul IP este: %s!",ip)
  936. }
  937.  
  938.  
  939. public demo(id,level,cid){
  940. if(!cmd_access(id,level,cid,1))
  941. return 0;
  942.  
  943. new cmd[32], mapname[32], name[32], time[32], name2[32]
  944. read_argv(1, cmd, 31);
  945. new player = cmd_target(id, cmd, 5);
  946.  
  947. if (!player)
  948. return 0;
  949. get_time("%m/%d/%Y - %H:%M:%S",time,31)
  950. get_user_name(player,name,31)
  951. get_user_name(id,name2,31)
  952. get_mapname(mapname,31)
  953. client_cmd(player,"record %s_%s.dem",name,mapname)
  954. client_print(id,print_console,"Ai pornit demo-ul jucatorului: %s, Data: %s",name,time)
  955. client_print(id,print_console,"Ai pornit demo-ul jucatorului: %s, Data: %s",name,time)
  956. client_print(id,print_console,"Ai pornit demo-ul jucatorului: %s, Data: %s",name,time)
  957. client_print(id,print_console,"Ai pornit demo-ul jucatorului: %s, Data: %s",name,time)
  958. client_print(id,print_console,"Ai pornit demo-ul jucatorului: %s, Data: %s",name,time)
  959. client_print(id,print_console,"Ai pornit demo-ul jucatorului: %s, Data: %s",name,time)
  960. ColorChat(id, RED, "^x01 Ai pornit demo-ul jucatorului ^x03 %s. ^x01 Doar tu vezi acest mesaj.", name)
  961. log_amx("%s Started The Demo On %s, Time %s",name, name2,time)
  962. return 0;
  963. }
  964.  
  965. public stopdemo(id,level,cid){
  966. if(!cmd_access(id,level,cid,1))
  967. return 0;
  968.  
  969. new cmd[32], name[32], time[32], name2[32]
  970. read_argv(1, cmd, 31);
  971. new player = cmd_target(id, cmd, 5);
  972.  
  973. if (!player)
  974. return 0;
  975. get_time("%m/%d/%Y - %H:%M:%S",time,31)
  976. get_user_name(player,name,31)
  977. get_user_name(id,name2,31)
  978. client_cmd(player,"stop")
  979. client_print(id,print_console,"Ai oprit demo-ul jucatorului: %s, Data: %s",name,time)
  980. client_print(id,print_console,"Ai oprit demo-ul jucatorului: %s, Data: %s",name,time)
  981. client_print(id,print_console,"Ai oprit demo-ul jucatorului: %s, Data: %s",name,time)
  982. client_print(id,print_console,"Ai oprit demo-ul jucatorului: %s, Data: %s",name,time)
  983. client_print(id,print_console,"Ai oprit demo-ul jucatorului: %s, Data: %s",name,time)
  984. client_print(id,print_console,"Ai oprit demo-ul jucatorului: %s, Data: %s",name,time)
  985. ColorChat(id, RED, "^x01 Ai oprit demo-ul jucatorului ^x03 %s. ^x01 Doar tu vezi acest mesaj.", name)
  986. log_amx("%s Started The Demo On %s, Time %s",name, name2,time)
  987. return 0;
  988. }
  989.  
  990. public ClCmdSay( id )
  991. {
  992.  
  993. static szArgs[ 192 ];
  994. read_args( szArgs, sizeof ( szArgs ) -1 );
  995.  
  996. if( !szArgs[ 0 ] ) return PLUGIN_CONTINUE;
  997.  
  998. if( !g_bUsersCanChat )
  999. {
  1000.  
  1001. }
  1002.  
  1003. return g_bUsersCanChat ? PLUGIN_CONTINUE : PLUGIN_HANDLED;
  1004. }
  1005.  
  1006. public ClCmdSayBlocare( id )
  1007. {
  1008. if(!is_user_admin(id) && ADMIN_KICK)
  1009. {
  1010. client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")
  1011. return PLUGIN_HANDLED;
  1012. }
  1013.  
  1014. if( !g_bUsersCanChat )
  1015. {
  1016. client_print(id, print_chat, "Chat-ul a fost deja blocat.")
  1017. return PLUGIN_HANDLED;
  1018. }
  1019.  
  1020. new szName[ 32 ];
  1021. get_user_name( id, szName, sizeof ( szName ) -1 );
  1022.  
  1023. ColorChat(0, RED, "[!blocare] ^x01 Chat-ul a fost blocat. -^x04%s^x01", szName );
  1024.  
  1025. g_bUsersCanChat = false;
  1026.  
  1027. return PLUGIN_CONTINUE;
  1028. }
  1029.  
  1030. public ClCmdSayDeBlocare( id )
  1031. {
  1032. if(!is_user_admin(id) && ADMIN_KICK)
  1033. {
  1034. client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")
  1035. return PLUGIN_HANDLED;
  1036. }
  1037.  
  1038. if( g_bUsersCanChat )
  1039. {
  1040. client_print(0, print_chat, "Chat-ul este deja deblocat.")
  1041. return PLUGIN_HANDLED;
  1042. }
  1043.  
  1044. new szName[ 32 ];
  1045. get_user_name( id, szName, sizeof ( szName ) -1 );
  1046.  
  1047. ColorChat(0, RED, "[!deblocare] ^x01 Chat-ul a fost deblocat. -^x04%s^x01", szName );
  1048. g_bUsersCanChat = true;
  1049. return PLUGIN_CONTINUE;
  1050. }
  1051.  
  1052. public setari(id)
  1053. {
  1054. adminId = id;
  1055. console_print(id, "Nume - IP - SteamID - INTERP");
  1056. console_print(id, " --------------------------------------------------------");
  1057.  
  1058. new players[32], num;
  1059. get_players(players, num);
  1060.  
  1061. for(new i = 0 ; i < num ; i++)
  1062. {
  1063.  
  1064. query_client_cvar(players[i], "ex_interp", "cvar_result_func")
  1065.  
  1066. }
  1067. console_print(id, "----------------------------------------------");
  1068. ColorChat(id, RED, "[!setari] ^x01 Deschide consola. Ordinea informatiilor: NUME-IP-STEAMID-INTERP.")
  1069.  
  1070. return 1;
  1071. }
  1072.  
  1073. public cvar_result_func(playerId, const cvar[], const value[]) {
  1074.  
  1075. new name[32];
  1076. new ipeki[32];
  1077. new authid[32];
  1078. get_user_name(playerId, name, 31)
  1079. get_user_ip(playerId, ipeki, 31, 1)
  1080. get_user_authid(playerId, authid, 31)
  1081.  
  1082. console_print(adminId, "%s - %s - %s - %s", name, ipeki, authid, value);
  1083. return PLUGIN_CONTINUE
  1084. }
  1085.  
  1086. public comenzi(id)
  1087. {
  1088. ColorChat(id, RED, "[!comenzi] ^x01 Deschide consola pentru a vedea comenzile pentru administrare.");
  1089. console_print(id, "Comenzile de consola ale server-ului:");
  1090. console_print(id, "-----------------------------------------------");
  1091. console_print(id, "amx_hsonly a (pentru a seta server-ul pe HEADSHOT ONLY)")
  1092. console_print(id, "amx_hsonly abcdefgh (pentru a seta server-ul pe clasic)")
  1093. console_print(id, "amx_ss OLD 1 (face poze jucatorului OLD , de la 1 la 5)")
  1094. console_print(id, "amx_demo OLD! (porneste demo jucatorului, fara ca el sa stie)")
  1095. console_print(id, "amx_stopdemo OLD! (opreste demo-ul jucatorului")
  1096. console_print(id, "demo (jucatorul primeste demo, chiar daca in consola scrie ca nu exista comanda)")
  1097. console_print(id, "amx_stopdemo OLD! (opreste demo-ul jucatorului)")
  1098. console_print(id, "amx_spec OLD (transfera jucatorul la spectaotri)")
  1099. console_print(id, "amx_t OLD (transfera jucatorul la teroristi)")
  1100. console_print(id, "amx_ct OLD (transfera jucatorul la contrateroristi)")
  1101. console_print(id, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
  1102. console_print(id, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
  1103. console_print(id, "Mai sus vei gasi comenzile cu prefixul amx_")
  1104. console_print(id, "Comenzile publice ale server-ului:");
  1105. console_print(id, "URMATOARELE COMENZI MERG SCRISE CU / . !");
  1106. console_print(id, "EX: !start /start .start");
  1107. console_print(id, "---------------------------------------------");
  1108. console_print(id, "/specall - transfera jucatorii la spectatori ");
  1109. console_print(id, "/live - pentru pornirea mix-ului ");
  1110. console_print(id, "/stop - pentru oprirea mix-ului ");
  1111. console_print(id, "/warm - pentru pornirea rundelor de incalzire");
  1112. console_print(id, "/knife - pentru pornirea rundelor de cutite");
  1113. console_print(id, "/money - pentru situatia financiara");
  1114. console_print(id, "/setari- pentru afisarea interp-ului,steamid-ului si ip-ului");
  1115. console_print(id, "/interp - pentru setarea interp-ului");
  1116. console_print(id, "/score - pentru afisarea scorului" );
  1117. console_print(id, "/blocare sau /off - pentru blocarea chat-ului" );
  1118. console_print(id, "/deblocare sau /on - pentru deblocarea chat-ului")
  1119. console_print(id, "/prleungiri pentru rundele de prelungire (scor 15-15)")
  1120. console_print(id, "/map - pentru schimbarea hartii (/map de_dust2)" );
  1121. console_print(id, "TOATE COMENZILE AMX SE POT FOLOSI DIRECT DE PE CHAT! EX: /ban old 0 wall")
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128. }
  1129.  
  1130.  
  1131. public plugin_end( )
  1132. {
  1133. DestroyForward( iForward );
  1134. }
  1135.  
  1136. public client_connect( id )
  1137. {
  1138. g_iFrags[ id ] = 0;
  1139. }
  1140.  
  1141. public EventNewRound( )
  1142. {
  1143. arrayset( g_iFrags, 0, sizeof g_iFrags );
  1144. }
  1145.  
  1146. public EventDeathMsg( )
  1147. {
  1148. new iKiller = read_data( 1 );
  1149. new iVictim = read_data( 2 );
  1150.  
  1151. CheckAce( iVictim );
  1152.  
  1153. if( !iKiller || iKiller == iVictim || cs_get_user_team( iKiller ) == cs_get_user_team( iVictim ) )
  1154. {
  1155. return PLUGIN_CONTINUE;
  1156. }
  1157.  
  1158. g_iFrags[ iKiller ]++;
  1159.  
  1160. return PLUGIN_CONTINUE;
  1161. }
  1162.  
  1163. public LogEventRoundEnd( )
  1164. {
  1165. new iPlayers[ 32 ], iNum, player;
  1166.  
  1167. get_players( iPlayers, iNum, "ch" );
  1168.  
  1169. for( new i = 0; i < iNum; i++ )
  1170. {
  1171. player = iPlayers[ i ];
  1172.  
  1173. if( g_iFrags[ player ] >= SEMI_ACE )
  1174. {
  1175. DidAceOrSemi( player );
  1176.  
  1177. if( g_iFrags[ player ] == SEMI_ACE + 1 )
  1178. {
  1179. return PLUGIN_CONTINUE;
  1180. }
  1181. }
  1182. }
  1183.  
  1184. return PLUGIN_CONTINUE;
  1185. }
  1186.  
  1187. public CheckAce( id )
  1188. {
  1189. if( g_iFrags[ id ] >= SEMI_ACE )
  1190. {
  1191. DidAceOrSemi( id );
  1192. }
  1193.  
  1194. g_iFrags[ id ] = 0;
  1195. }
  1196.  
  1197. public DidAceOrSemi( id )
  1198. {
  1199. new iReturn = PLUGIN_CONTINUE;
  1200.  
  1201. ExecuteForward( iForward, iReturn, id, g_iFrags[ id ] );
  1202.  
  1203. if( iReturn == PLUGIN_HANDLED || iReturn == PLUGIN_HANDLED_MAIN )
  1204. {
  1205. return PLUGIN_HANDLED;
  1206. }
  1207.  
  1208. new szName[ 32 ];
  1209.  
  1210. get_user_name( id, szName, sizeof szName - 1 );
  1211.  
  1212. ColorChat( 0, GREEN, "%s^x03 %s^x01 a realizat un a%s ^x03%sACE! ^x01 Felicitari!",
  1213. TAG, szName, g_iFrags [ id ] == SEMI_ACE ? "" : "n", g_iFrags [ id ] == SEMI_ACE ? "SEMI-" : "" );
  1214.  
  1215. client_cmd( 0, "spk vox/buzwarn" );
  1216.  
  1217. return PLUGIN_HANDLED
  1218. }
  1219. public clcmd_money(client)
  1220. {
  1221. if (!get_pcvar_num(cvar_plugin_on))
  1222. {
  1223. client_print(client, print_chat, "[AMXX]: Show Teammate's Money was off.")
  1224. return PLUGIN_HANDLED
  1225. }
  1226. show_money(client)
  1227. return PLUGIN_CONTINUE
  1228. }
  1229.  
  1230. public player_spawn(client)
  1231. {
  1232. remove_task(client)
  1233. if (is_user_alive(client) && get_pcvar_num(cvar_plugin_on))
  1234. {
  1235. set_task(1.0, "show_money", client)
  1236. }
  1237. }
  1238.  
  1239. public show_money(client)
  1240. {
  1241. static message[1024];
  1242. static name[32];
  1243.  
  1244. new money, id, len;
  1245.  
  1246. len = format(message, charsmax(message), "Situatia financiara a coechipierilor:^n^n");
  1247. for (id = 1; id <= g_max_players; id++)
  1248. {
  1249. if (id != client && is_user_connected(id) && cs_get_user_team(id) == cs_get_user_team(client))
  1250. {
  1251. money = cs_get_user_money(id);
  1252. get_user_name(id, name, 31);
  1253. len += format(message[len], charsmax(message) - len, "%-22.22s: %d^n", name, money);
  1254. }
  1255. }
  1256. set_hudmessage(18, 113, 255, 0.05, 0.35, 0, 0.02, 5.0, 0.1, 0.2, 2);
  1257. ShowSyncHudMsg(client, g_sync_creat_list, message);
  1258. }
  1259.  
  1260. public set_team(id)
  1261. g_teammate[id] = bool:(read_data(2) == 1);
  1262.  
  1263. public show_teammate_money(id)
  1264. {
  1265. if (!get_pcvar_num(cvar_plugin_on))
  1266. return PLUGIN_HANDLED
  1267. if(!is_user_bot(id) && is_user_connected(id) && get_pcvar_num(cvar_status_on))
  1268. {
  1269. static name[32]
  1270.  
  1271. new pid = read_data(2)
  1272. new red = 0, blue = 0
  1273.  
  1274. if (cs_get_user_team(pid) == CS_TEAM_T)
  1275. red = 255
  1276. else if(cs_get_user_team(pid) == CS_TEAM_CT)
  1277. blue = 255
  1278.  
  1279. get_user_name(pid, name, charsmax(name))
  1280. new money = cs_get_user_money(pid)
  1281. if (g_teammate[id])
  1282. {
  1283. set_hudmessage(red, 50, blue, -1.0, 0.60, 1, 0.01, 0.6, 0.01, 0.01, 8)
  1284. ShowSyncHudMsg(id, g_sync_creat_statustext, "Friend:%s -- Money:%d", name, money)
  1285. }
  1286. else {
  1287. set_hudmessage(red, 50, blue, -1.0, 0.60, 1, 0.01, 0.6, 0.01, 0.01, 8)
  1288. ShowSyncHudMsg(id, g_sync_creat_statustext, "Enemy:%s", name)
  1289. }
  1290. }
  1291. return PLUGIN_CONTINUE
  1292. }
  1293.  
  1294. public client_disconnect2(client){
  1295.  
  1296. remove_task(client)
  1297. }
  1298.  
  1299.  
  1300. public cmdct(id, level, cid)
  1301. {
  1302. if (!cmd_access(id, level, cid, 2))
  1303. {
  1304. return PLUGIN_HANDLED;
  1305. }
  1306.  
  1307. new arg[32], cmd[32];
  1308. read_argv(0,cmd,31);
  1309. read_argv(1,arg,31);
  1310. new player = cmd_target(id,arg,CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF);
  1311.  
  1312. if (!player)
  1313. {
  1314. return PLUGIN_HANDLED;
  1315. }
  1316.  
  1317. if (cs_get_user_team(player) == CS_TEAM_CT)
  1318. {
  1319. console_print(id, "Jucatorul este deja in echipa CT");
  1320. return PLUGIN_HANDLED;
  1321. }
  1322.  
  1323. new name[32], name2[32];
  1324. get_user_name(id,name,31);
  1325. get_user_name(player,name2, 31);
  1326.  
  1327. if (is_user_alive (player) )
  1328. {
  1329. user_silentkill(player);
  1330. }
  1331.  
  1332. cs_set_user_team(player,CS_TEAM_CT);
  1333. log_amx("Admin %s: Task amx_ct/t %s",name, name2);
  1334. ColorChat(0, RED, "[/ct] ^x01Jucatorul ^x03 %s ^x01 a fost mutat la CONTRA-TERORISTI -^x04%s", name2, name);
  1335.  
  1336. return PLUGIN_HANDLED;
  1337. }
  1338.  
  1339. public cmdt(id, level, cid)
  1340. {
  1341. if (!cmd_access(id, level, cid, 2))
  1342. {
  1343. return PLUGIN_HANDLED;
  1344. }
  1345.  
  1346. new arg[32], cmd[32];
  1347. read_argv(0,cmd,31);
  1348. read_argv(1,arg,31);
  1349. new player = cmd_target(id,arg,CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF);
  1350.  
  1351. if (!player)
  1352. {
  1353. return PLUGIN_HANDLED;
  1354. }
  1355.  
  1356. if (cs_get_user_team(player) == CS_TEAM_T)
  1357. {
  1358. console_print(id, "Jucatorul este deja in echipa T");
  1359. return PLUGIN_HANDLED;
  1360. }
  1361.  
  1362. new name[32], name2[32];
  1363. get_user_name(id,name,31);
  1364. get_user_name(player,name2, 31);
  1365.  
  1366. if (is_user_alive (player) )
  1367. {
  1368. user_silentkill(player);
  1369. }
  1370.  
  1371. cs_set_user_team(player,CS_TEAM_T);
  1372. log_amx("Admin %s: Task amx_t %s",name, name2);
  1373. ColorChat(0, RED, "[/t] ^x01Jucatorul ^x03 %s ^x01 a fost mutat la TERORISTI -^x04%s", name2, name);
  1374.  
  1375. return PLUGIN_HANDLED;
  1376. }
  1377.  
  1378. public cmdspec(id, level, cid)
  1379. {
  1380. if (!cmd_access(id, level, cid, 2))
  1381. {
  1382. return PLUGIN_HANDLED;
  1383. }
  1384.  
  1385. new arg[32], cmd[32];
  1386. read_argv(0,cmd,31);
  1387. read_argv(1,arg,31);
  1388. new player = cmd_target(id,arg,CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF);
  1389.  
  1390. if (!player)
  1391. {
  1392. return PLUGIN_HANDLED;
  1393. }
  1394.  
  1395. if (cs_get_user_team(player) == CS_TEAM_SPECTATOR)
  1396. {
  1397. console_print(id, "Jucatorul este deja in spectatori");
  1398. return PLUGIN_HANDLED;
  1399. }
  1400.  
  1401. new name[32], name2[32];
  1402. get_user_name(id,name,31);
  1403. get_user_name(player,name2, 31);
  1404.  
  1405. if (is_user_alive (player) )
  1406. {
  1407. user_silentkill(player);
  1408. }
  1409.  
  1410. cs_set_user_team(player,CS_TEAM_SPECTATOR);
  1411. log_amx("Admin %s: Task amx_spec %s",name, name2);
  1412. ColorChat(0, RED, "[/spec] ^x01Jucatorul ^x03 %s ^x01 a fost mutat la SPECTATORI -^x04%s", name2, name);
  1413.  
  1414. return PLUGIN_HANDLED;
  1415. }
  1416.  
  1417. public cmd_spec (id, level, cid) { /////////ASTA ESTE PROBLEMA PLUGIN-ULUI
  1418. //Verificam daca are acces la comanda
  1419. if(!cmd_access(id, level, cid, 2)) {
  1420. //Mesajul care ii apare
  1421. client_print(id,print_console,"Nu ai acces la aceasta comanda");
  1422. return PLUGIN_HANDLED;
  1423. }
  1424.  
  1425. new arg[32], cmd[32];
  1426. read_argv(0,cmd,31);
  1427. read_argv(1,arg,31);
  1428. new iPlayers[ 32 ], iNum, iPlayer
  1429. get_players( iPlayers, iNum )
  1430.  
  1431. for ( new a = 0; a < iNum; a++ )
  1432. {
  1433. iPlayer = iPlayers[ a ];
  1434.  
  1435. switch ( cs_get_user_team( iPlayer ) )
  1436.  
  1437. {
  1438. case CS_TEAM_T, CS_TEAM_CT:
  1439. {
  1440. if(is_user_alive( iPlayer ))
  1441. user_silentkill( iPlayer );
  1442. cs_set_user_team( iPlayer, CS_TEAM_SPECTATOR );
  1443. set_cvar_string ( "sv_restart", "5" );
  1444. }
  1445. }
  1446. }
  1447.  
  1448. ColorChat(0,RED,"[!specall] ^x01Jucatorii au fost transferati la spectatori pentru runda alegerilor. -^x04%s^x01 ", szName );
  1449. return 1;
  1450. }
  1451.  
  1452. public admin_slash(id)
  1453. {
  1454. new sArg[MAX_NAME_LENGTH+1]
  1455.  
  1456. read_argv(1,sArg,MAX_NAME_LENGTH)
  1457.  
  1458. if ( sArg[0] == '/' ) {
  1459.  
  1460. new sCommand[MAX_TEXT_LENGTH+1]
  1461. new sMessage[MAX_TEXT_LENGTH+1]
  1462.  
  1463. read_args(sMessage,MAX_TEXT_LENGTH)
  1464. remove_quotes(sMessage)
  1465. replace(sMessage,MAX_TEXT_LENGTH,"/","")
  1466.  
  1467.  
  1468.  
  1469. format(sCommand,MAX_TEXT_LENGTH,"amx_%s",sMessage)
  1470. client_cmd(id,sCommand)
  1471.  
  1472. }
  1473. return PLUGIN_CONTINUE
  1474. }
  1475.  
  1476. public plugin_end2() {
  1477. new minutes = floatround(get_gametime() / 60.0, floatround_ceil);
  1478.  
  1479. new map[32];
  1480. get_mapname(map, charsmax(map));
  1481.  
  1482. new f = fopen(gSaveFile, "wt");
  1483.  
  1484. fprintf(f, "^"%s^" %d", map, minutes);
  1485.  
  1486. if(gNumLastMaps == LAST_MAPS_SAVE) {
  1487. gNumLastMaps--;
  1488. }
  1489.  
  1490. for(new i = 0; i < gNumLastMaps; i++) {
  1491. fprintf(f, "^n^"%s^" %d", gLastMapName[i], gLastMapTime[i]);
  1492. }
  1493.  
  1494. fclose(f);
  1495. }
  1496.  
  1497. public CmdLastMaps(id) {
  1498. if(gNumLastMaps) {
  1499. new maps[192], len;
  1500. for(new i = 0; i < gNumLastMaps; i++) {
  1501. len += formatex(maps[len], charsmax(maps) - len, "%s%s (%dmin)", len ? ", " : "", gLastMapName[i], gLastMapTime[i]);
  1502. }
  1503.  
  1504. ColorChat(id, RED, "[!harti] ^x01 Ultimele 3 harti jucate: ^x04 %s", maps);
  1505. } else {
  1506. client_print(id, print_chat, "Nu este nicio harta anterioara.");
  1507. }
  1508. }
  1509.  
  1510. public pass(id, level, cid)
  1511. {
  1512. if(!cmd_access(id, level, cid, 1))
  1513. return PLUGIN_HANDLED
  1514.  
  1515. new cmd[32], password[128]
  1516.  
  1517. read_argv(0, cmd, 31)
  1518. read_args(password, 127)
  1519. replace(password, 127, cmd, "")
  1520. format(password, 127, "%s", password)
  1521.  
  1522. get_user_name(id, name, 31)
  1523. get_user_authid(id, authid, 31)
  1524. switch (get_cvar_num("amx_show_activity")) {
  1525. case 2: ColorChat(0,RED,"[/pass] ^x01 Parola a fost setata pe server. Tasteaza /nopass pentru a o scoate. - ^x04 %s",name)
  1526. case 1: ColorChat(0,RED,"Este deja o parola pe server.")
  1527. }
  1528. log_amx("Cmd: ^"%s<%d><%s>^" set the server password to %s",name,get_user_userid(id),authid,password)
  1529. set_cvar_string("sv_password", password)
  1530.  
  1531. return PLUGIN_HANDLED
  1532. }
  1533.  
  1534. public nopass(id, level, cid)
  1535. {
  1536. if(!cmd_access(id, level, cid, 1))
  1537. return PLUGIN_HANDLED
  1538.  
  1539. get_user_name(id, name, 31)
  1540. get_user_authid(id, authid, 31)
  1541. switch (get_cvar_num("amx_show_activity")) {
  1542. case 2: ColorChat(0,RED,"[/nopass]^x01 Parola a fost scoasa de pe server. - ^x04 %s",name)
  1543. case 1: client_print(0,print_chat,"A fost scoasa deja parola de pe server.")
  1544. }
  1545. log_amx("Cmd: ^"%s<%d><%s>^" removed server password", name,get_user_userid(id),authid)
  1546. set_cvar_string("sv_password", "")
  1547.  
  1548. return PLUGIN_HANDLED
  1549. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement