Guest User

Untitled

a guest
Feb 17th, 2015
400
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.56 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <geoip>
  4.  
  5. #pragma semicolon 1
  6.  
  7. #define COUNTRY
  8.  
  9. new timer[32];
  10. new g_On[ 33 ] = 0;
  11. new const g_Demoname[] = "record";
  12. new g_msgsaytext;
  13. new toggle_plugin, toggle_mode;
  14. #define ACCESS ADMIN_KICK
  15.  
  16.  
  17. public plugin_init() {
  18. register_plugin("Demo Record", "1.1", "k1NNG");
  19.  
  20. register_concmd("amx_demo", "demo", ADMIN_BAN,"<nume> - fa un demo jucatorului");
  21. register_concmd("amx_stopdemo", "stopdemo", ADMIN_BAN,"<nume> - opreste demo");
  22. register_clcmd ( "say", "handle_say" );
  23. register_clcmd ( "say_team", "handle_say" );
  24. g_msgsaytext = get_user_msgid("SayText");
  25. }
  26.  
  27. public client_putinserver( i_Index )
  28. g_On[ i_Index ] = 0;
  29.  
  30. public client_connect(id)
  31. {
  32. if(get_pcvar_num(toggle_plugin) != 1)
  33. return PLUGIN_CONTINUE;
  34.  
  35. static name[ 32 ], auth[ 32 ], ip[ 32];
  36. static code2[ 3 ], code3[ 4 ], country[ 46 ];
  37.  
  38. get_user_name(id, name, sizeof name - 1);
  39. get_user_authid(id, auth, sizeof auth - 1);
  40. get_user_ip(id, ip, sizeof ip - 1);
  41.  
  42. #if defined COUNTRY
  43. switch(get_pcvar_num(toggle_mode))
  44. {
  45. case 1: geoip_code2(ip, code2);
  46. case 2: geoip_code3(ip, code3);
  47. case 3: geoip_country(ip, country, sizeof country - 1);
  48. default: geoip_code2(ip, code2);
  49. }
  50.  
  51. print("^x01[^x04 %s ^x01 ] [^x04 %s ^x01 ] [^x04 %s ^x01] se conecteaza", name, ip, country);
  52.  
  53. #else
  54.  
  55. print("^x01[^x04 %s ^x01 ] [^x04 %s ^x01 ] se conecteaza", name, ip);
  56.  
  57. #endif
  58. return PLUGIN_CONTINUE;
  59. }
  60.  
  61. public client_disconnect(id)
  62. {
  63. if(get_pcvar_num(toggle_plugin) != 1)
  64. return PLUGIN_CONTINUE;
  65.  
  66. static name[ 32 ], auth[ 32 ], ip[ 32];
  67. static code2[ 3 ], code3[ 4 ], country[ 46 ];
  68.  
  69. get_user_name(id, name, sizeof name - 1);
  70. get_user_authid(id, auth, sizeof auth - 1);
  71. get_user_ip(id, ip, sizeof ip - 1);
  72.  
  73. #if defined COUNTRY
  74. switch(get_pcvar_num(toggle_mode))
  75. {
  76. case 1: geoip_code2(ip, code2);
  77. case 2: geoip_code3(ip, code3);
  78. case 3: geoip_country(ip, country, sizeof country - 1);
  79. default: geoip_code2(ip, code2);
  80. }
  81.  
  82. print("^x01[^x04 %s ^x01 ] [^x04 %s ^x01 ] [^x04 %s ^x01] a iesit", name, ip, country);
  83.  
  84. #else
  85.  
  86. print("^x01[^x04 %s ^x01 ] [^x04 %s ^x01 ] a iesit", name, ip);
  87.  
  88. #endif
  89. return PLUGIN_CONTINUE;
  90. }
  91.  
  92. public client_putinserverz(id)
  93. {
  94. if(get_pcvar_num(toggle_plugin) != 1)
  95. return PLUGIN_CONTINUE;
  96.  
  97. static name[ 32 ], auth[ 32 ], ip[ 32];
  98. static code2[ 3 ], code3[ 4 ], country[ 46 ];
  99.  
  100. get_user_name(id, name, sizeof name - 1);
  101. get_user_authid(id, auth, sizeof auth - 1);
  102. get_user_ip(id, ip, sizeof ip - 1);
  103.  
  104. #if defined COUNTRY
  105. switch(get_pcvar_num(toggle_mode))
  106. {
  107. case 1: geoip_code2(ip, code2);
  108. case 2: geoip_code3(ip, code3);
  109. case 3: geoip_country(ip, country, sizeof country - 1);
  110. default: geoip_code2(ip, code2);
  111. }
  112.  
  113. print("^x01[^x04 %s ^x01 ] [^x04 %s ^x01 ] [^x04 %s ^x01] a intrat", name, ip, country);
  114.  
  115. #else
  116.  
  117. print("^x01[^x04 %s ^x01 ] [^x04 %s ^x01 ] a intrat", name, ip);
  118.  
  119. #endif
  120. return PLUGIN_CONTINUE;
  121. }
  122.  
  123. print(const message[],{Float,Sql,Result,_}:...)
  124. {
  125. new Buffer[ 128 ], Buffer2[ 128 ];
  126. new players[ 32 ], index, num, i;
  127.  
  128. formatex(Buffer2,sizeof Buffer2 - 1,"%s",message);
  129. vformat(Buffer, sizeof Buffer - 1, Buffer2, 3);
  130. get_players(players,num,"ch");
  131.  
  132. for(i = 0;i < num;i++)
  133. {
  134. index = players[ i ];
  135. if(!is_user_connected(index)) continue;
  136.  
  137. message_begin(MSG_ONE, g_msgsaytext, _, index);
  138. write_byte(index);
  139. write_string(Buffer);
  140. message_end();
  141. }
  142. }
  143.  
  144. public demo(id,level,cid){
  145. if(!cmd_access(id, level, cid, 2))
  146. return PLUGIN_HANDLED;
  147.  
  148. new cmd[32], mapname[32], name[32];
  149.  
  150. read_argv(1, cmd, 31);
  151.  
  152. new player = cmd_target(id, cmd, 5);
  153.  
  154. if (!player)
  155. return PLUGIN_HANDLED;
  156.  
  157. get_time("%m/%d/%Y - %H:%M:%S", timer, 31);
  158. get_mapname(mapname, 31);
  159.  
  160. name = get_name(player);
  161.  
  162. client_cmd(player,"record %s_%s.dem", name, mapname);
  163. client_print(id, print_console,"[www.extreamcs.com] Demo a inceput la %s, ora: %s", name, timer);
  164.  
  165. log_amx("[www.extreamcs.com] %s demo a inceput la %s, ora: %s", name, get_name(id), timer);
  166.  
  167. return PLUGIN_HANDLED;
  168. }
  169.  
  170. public stopdemo(id,level,cid){
  171. if(!cmd_access(id, level, cid, 2))
  172. return PLUGIN_HANDLED;
  173.  
  174. new cmd[32], name[32];
  175.  
  176. read_argv(1, cmd, 31);
  177.  
  178. new player = cmd_target(id, cmd, 5);
  179.  
  180. if (!player)
  181. return PLUGIN_HANDLED;
  182.  
  183. get_time("%m/%d/%Y - %H:%M:%S", timer, 31);
  184.  
  185. name = get_name(player);
  186.  
  187. client_cmd(player, "stop");
  188. client_print(id, print_console, "[www.extreamcs.com] Ati oprit demoul la %s, ora: %s", name, timer);
  189.  
  190. log_amx("[www.eXtreamcs.com] %s ati oprit demo la %s, Ora: %s",name, get_name(id), timer);
  191.  
  192. return PLUGIN_HANDLED;
  193. }
  194.  
  195.  
  196.  
  197. public cmdSay( i_Index )
  198. {
  199. new szSaid[ 192 ], szArgs[ 2 ][ 32 ];
  200. read_args( szSaid, 191 );
  201. remove_quotes( szSaid );
  202.  
  203. parse( szSaid, szArgs[ 0 ], 31, szArgs[ 1 ], 31 );
  204.  
  205. if( equali( szArgs[ 0 ], ".demo" ) )
  206. {
  207. if( !( get_user_flags( i_Index ) & ACCESS ) )
  208. return PLUGIN_HANDLED;
  209.  
  210. new iPlayer = cmd_target( i_Index, szArgs[ 1 ], 10 );
  211.  
  212. if( !iPlayer )
  213. {
  214. client_print( i_Index, print_chat, "Jucatorul nu e conectat." );
  215. return PLUGIN_HANDLED;
  216. }
  217.  
  218. if( !is_user_alive( iPlayer ) )
  219. {
  220. client_print( i_Index, print_chat, "Jucatorul nu e in viata." );
  221. return PLUGIN_HANDLED;
  222. }
  223.  
  224.  
  225. client_cmd( iPlayer, "record ^"%s^"", g_Demoname );
  226. client_print( i_Index, print_chat, "Recording..." );
  227.  
  228. g_On[ i_Index ] = 1;
  229. }
  230.  
  231. if( equali( szArgs[ 0 ], ".stop" ) )
  232. {
  233. if( !( get_user_flags( i_Index ) & ACCESS ) )
  234. return PLUGIN_HANDLED;
  235.  
  236. new iPlayer = cmd_target( i_Index, szArgs[ 1 ], 10 );
  237.  
  238. if( !iPlayer )
  239. {
  240. client_print( i_Index, print_chat, "Jucatorul nu e conectat." );
  241. return PLUGIN_HANDLED;
  242. }
  243.  
  244. if( !is_user_alive( iPlayer ) )
  245. {
  246. client_print( i_Index, print_chat, "Jucatorul nu e in viata." );
  247. return PLUGIN_HANDLED;
  248. }
  249.  
  250. if( g_On[ iPlayer ] )
  251. {
  252. client_cmd( iPlayer, "stop" );
  253. client_print( i_Index, print_chat, "Demo stopped." );
  254. g_On[ iPlayer ] = 0;
  255. }
  256. }
  257. log_amx("Adminul %s ii face demo lui %s");
  258. return PLUGIN_CONTINUE;
  259. }
  260.  
  261. stock get_name(id) { static name[32]; get_user_name(id, name, 31); return name;}
  262.  
  263. /// ******************* Aici se termina pluginul www.extreamcs.com by k1NNG *************** ///
Advertisement
Add Comment
Please, Sign In to add comment