Guest User

esejoseliyo

a guest
Sep 13th, 2009
950
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.61 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. #define SPEC_TYPE_NONE 0
  4. #define SPEC_TYPE_PLAYER 1
  5. #define SPEC_TYPE_VEHICLE 2
  6.  
  7. #define COLOR_RED 0xAA3333AA
  8. #define COLOR_WHITE 0xFFFFFFAA
  9. #define COLOR_BLUE 0x33AAFFAA
  10.  
  11. enum pInfo
  12. {
  13. Muted,
  14. Jailed,
  15. SpecID[MAX_PLAYERS],
  16. SpecType[MAX_PLAYERS],
  17. Freeze,
  18. Zhertva,
  19. }
  20.  
  21. new Player[MAX_PLAYERS][pInfo];
  22.  
  23. public OnFilterScriptInit()
  24. {
  25. print("\n ======-_-===== Russian Federation, Tatarstan Respublika, Chelny City");
  26. print(" Simple RCON-Admin FilterScript");
  27. print(" by GhostTT (ICQ: 434-895-342)\n");
  28. return 1;
  29. }
  30.  
  31. public OnPlayerDisconnect(playerid,reason)
  32. {
  33. Player[playerid][Muted] = 0;
  34. Player[playerid][Jailed] = 0;
  35. Player[playerid][SpecID] = 0;
  36. Player[playerid][SpecType] = 0;
  37. Player[playerid][Freeze] = 0;
  38. return 1;
  39. }
  40.  
  41. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  42. {
  43. if(dialogid == 1)
  44. {
  45. if(response)
  46. {
  47. new zherid = Player[playerid][Zhertva];
  48. new Float:X,Float:Y,Float:Z,pname[40],gname[40],string[256];
  49. GetPlayerName(playerid,pname,sizeof(pname));
  50. GetPlayerName(zherid,gname,sizeof(gname));
  51. if(listitem == 0)
  52. {
  53. GetPlayerPos(zherid,X,Y,Z);
  54. CreateExplosion(X,Y,Z,10,0);
  55. CreateExplosion(X,Y,Z,10,0);
  56. CreateExplosion(X,Y,Z,10,0);
  57. format(string,sizeof(string),"* Administrator %s killed %s",pname,playerid,gname,zherid);
  58. SendClientMessageToAll(COLOR_BLUE,string);
  59. }
  60. if(listitem == 1)
  61. {
  62. if(Player[zherid][Muted] == 0)
  63. {
  64. Player[zherid][Muted] = 1;
  65. format(string,sizeof(string),"* %s has been wired by Administrator",gname,pname);
  66. SendClientMessageToAll(COLOR_BLUE,string);
  67. }
  68. else
  69. {
  70. Player[zherid][Muted] = 0;
  71. format(string,sizeof(string),"* %s has been unwired by Administrator %s",gname,pname);
  72. SendClientMessageToAll(COLOR_BLUE,string);
  73. }
  74. }
  75. if(listitem == 2)
  76. {
  77. format(string,sizeof(string),"* %s has been Kicked from the game by Administrator %s",gname,pname);
  78. SendClientMessageToAll(COLOR_BLUE,string);
  79. Kick(zherid);
  80. }
  81. if(listitem == 3)
  82. {
  83. format(string,sizeof(string),"* %s has been Banned by Administrator %s",gname,pname);
  84. SendClientMessageToAll(COLOR_BLUE,string);
  85. Ban(zherid);
  86. }
  87. if(listitem == 4)
  88. {
  89. if(playerid != zherid)
  90. {
  91. GetPlayerPos(zherid,X,Y,Z);
  92. if(IsPlayerInAnyVehicle(playerid))
  93. {
  94. SetVehiclePos(GetPlayerVehicleID(playerid),X+1,Y,Z);
  95. }
  96. else
  97. {
  98. SetPlayerPos(playerid,X+1,Y,Z);
  99. }
  100. SetPlayerInterior(playerid,GetPlayerInterior(zherid));
  101. format(string,sizeof(string),"* You have teleported to %s",gname);
  102. SendClientMessage(playerid,COLOR_BLUE,string);
  103. format(string,sizeof(string),"* Admin %s has teleported to your location",pname);
  104. SendClientMessage(zherid,COLOR_BLUE,string);
  105. }
  106. else
  107. {
  108. SendClientMessage(playerid,COLOR_RED,"You can't teleport");
  109. }
  110. }
  111. if(listitem == 5)
  112. {
  113. if(playerid != zherid)
  114. {
  115. GetPlayerPos(playerid,X,Y,Z);
  116. if(IsPlayerInAnyVehicle(zherid))
  117. {
  118. SetVehiclePos(GetPlayerVehicleID(zherid),X+1,Y,Z);
  119. }
  120. else
  121. {
  122. SetPlayerPos(zherid,X+1,Y,Z);
  123. }
  124. SetPlayerInterior(zherid,GetPlayerInterior(playerid));
  125. format(string,sizeof(string),"* You have teleported %s to your location",gname);
  126. SendClientMessage(playerid,COLOR_BLUE,string);
  127. format(string,sizeof(string),"* You have been teleported to %s's location",pname);
  128. SendClientMessage(zherid,COLOR_BLUE,string);
  129. }
  130. else
  131. {
  132. SendClientMessage(playerid,COLOR_RED,"You can't teleport");
  133. }
  134. }
  135. if(listitem == 6)
  136. {
  137. if(playerid != zherid)
  138. {
  139. if(Player[zherid][Jailed] == 0)
  140. {
  141. Player[zherid][Jailed] = 1;
  142. SetPlayerInterior(zherid,3);
  143. SetPlayerPos(zherid,197.6661,173.8179,1003.0234);
  144. format(string,sizeof(string),"* Administrator %s has jailed %s",pname,gname);
  145. SendClientMessageToAll(COLOR_BLUE,string);
  146. }
  147. else
  148. {
  149. Player[zherid][Jailed] = 0;
  150. SetPlayerInterior(zherid,0);
  151. SpawnPlayer(zherid);
  152. format(string,sizeof(string),"* Administrator %s has unjailed %s",pname,gname);
  153. SendClientMessageToAll(COLOR_BLUE,string);
  154. }
  155. }
  156. else
  157. {
  158. SendClientMessage(playerid,COLOR_RED,"You can't jail");
  159. }
  160. }
  161. if(listitem == 7)
  162. {
  163. if(playerid != zherid)
  164. {
  165. TogglePlayerSpectating(playerid,1);
  166. PlayerSpectatePlayer(playerid,zherid);
  167. SetPlayerInterior(playerid,GetPlayerInterior(zherid));
  168. Player[playerid][SpecID] = zherid;
  169. Player[playerid][SpecType] = SPEC_TYPE_PLAYER;
  170. format(string,sizeof(string),"* You are now spectating player %s.",gname);
  171. SendClientMessage(playerid,COLOR_BLUE,string);
  172. SendClientMessage(playerid,COLOR_BLUE,"For stop the spectating type: \"/spec-off\"");
  173. }
  174. }
  175. if(listitem == 8)
  176. {
  177. if(playerid != zherid)
  178. {
  179. if(Player[zherid][Freeze] == 0)
  180. {
  181. TogglePlayerControllable(zherid,0);
  182. format(string,sizeof(string),"* Admnistrator %s has frozen %s",pname,gname);
  183. SendClientMessageToAll(COLOR_BLUE,string);
  184. Player[zherid][Freeze] = 1;
  185. }
  186. else
  187. {
  188. TogglePlayerControllable(zherid,1);
  189. format(string,sizeof(string),"* Admnistrator %s has unfrozen %s",pname,gname);
  190. SendClientMessageToAll(COLOR_BLUE,string);
  191. Player[zherid][Freeze] = 0;
  192. }
  193. }
  194. }
  195. }
  196. else
  197. {
  198. }
  199. }
  200. return 1;
  201. }
  202.  
  203. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  204. {
  205. new message[128],gname[40];
  206. GetPlayerName(clickedplayerid,gname,40);
  207. format(message, 128, "You clicked on player %s (ID: %d)",gname,clickedplayerid);
  208. SendClientMessage(playerid, 0xFFFFFFFF, message);
  209. if(IsPlayerAdmin(playerid))
  210. {
  211. ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Select the command:","Akill\nMute\nKick\nBan\nGoto\nGetHere\nJail\nSpec\nFreeze\n","Select","Cancel");
  212. Player[playerid][Zhertva] = clickedplayerid;
  213. }
  214. return 1;
  215. }
  216.  
  217. public OnPlayerDeath(playerid,killerid,reason)
  218. {
  219. for(new i=0;i<MAX_PLAYERS;i++)
  220. {
  221. if(Player[i][SpecID] == playerid)
  222. {
  223. TogglePlayerSpectating(i,0);
  224. Player[i][SpecID] = INVALID_PLAYER_ID;
  225. Player[i][SpecType] = SPEC_TYPE_NONE;
  226. }
  227. }
  228. return 1;
  229. }
  230.  
  231. public OnVehicleDeath(vehicleid, killerid)
  232. {
  233. for(new i=0;i<MAX_PLAYERS;i++)
  234. {
  235. if(Player[i][SpecID] == vehicleid)
  236. {
  237. TogglePlayerSpectating(i,0);
  238. Player[i][SpecID] = INVALID_PLAYER_ID;
  239. Player[i][SpecType] = SPEC_TYPE_NONE;
  240. }
  241. }
  242. return 1;
  243. }
  244.  
  245. public OnPlayerText(playerid, text[])
  246. {
  247. if(Player[playerid][Muted] == 1)
  248. {
  249. SendClientMessage(playerid,COLOR_RED,"��� �������� ����� � ���!");
  250. return 0;
  251. }
  252. return 1;
  253. }
  254.  
  255. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  256. {
  257. for(new i=0;i<MAX_PLAYERS;i++)
  258. {
  259. if(Player[i][SpecID] == playerid)
  260. {
  261. PlayerSpectateVehicle(i,vehicleid);
  262. Player[i][SpecID] = vehicleid;
  263. Player[i][SpecType] = SPEC_TYPE_VEHICLE;
  264. }
  265. }
  266. return 1;
  267. }
  268.  
  269. public OnPlayerExitVehicle(playerid, vehicleid)
  270. {
  271. for(new i=0;i<MAX_PLAYERS;i++)
  272. {
  273. if(Player[i][SpecID] == vehicleid)
  274. {
  275. PlayerSpectatePlayer(i,playerid);
  276. SetPlayerInterior(i,GetPlayerInterior(playerid));
  277. Player[i][SpecID] = playerid;
  278. Player[i][SpecType] = SPEC_TYPE_PLAYER;
  279. }
  280. }
  281. return 1;
  282. }
  283.  
  284. public OnPlayerInteriorChange(playerid,newinteriorid,oldinteriorid)
  285. {
  286. new x = 0;
  287. while(x!=MAX_PLAYERS)
  288. {
  289. if(IsPlayerConnected(x) && GetPlayerState(x) == PLAYER_STATE_SPECTATING && Player[x][SpecID] == playerid && Player[x][SpecType] == SPEC_TYPE_PLAYER)
  290. {
  291. SetPlayerInterior(x,newinteriorid);
  292. }
  293. x++;
  294. }
  295. }
  296.  
  297. public OnRconLoginAttempt(ip[], password[], success)
  298. {
  299. if(!success)
  300. {
  301. new pip[16],str[256],gname[40];
  302. for(new i=0;i<MAX_PLAYERS;i++)
  303. {
  304. GetPlayerIp(i,pip,sizeof(pip));
  305. if(!strcmp(ip,pip,true))
  306. {
  307. GetPlayerName(i,gname,40);
  308. format(str,sizeof(str),"%s trying to crack RCON!",gname);
  309. SendClientMessageToAll(0xFFFFFFFF,str);
  310. Kick(i);
  311. }
  312. }
  313. format(str,sizeof(str),"FAILED RCON LOGIN BY IP %s USING PASSWORD %s",ip,password);
  314. printf(str);
  315. format(str,sizeof(str),"banip %d",ip);
  316. SendRconCommand(str);
  317. }
  318. return 1;
  319. }
  320.  
  321. public OnPlayerUpdate(playerid)
  322. {
  323. if(GetPlayerWeapon(playerid) == WEAPON_MINIGUN)
  324. {
  325. SendClientMessage(playerid,COLOR_RED,"Minigun - is bad weapon!xD");
  326. Kick(playerid);
  327. return 0;
  328. }
  329. if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK)
  330. {
  331. SendClientMessage(playerid,COLOR_RED,"It is not good - for using the jetpack!");
  332. Kick(playerid);
  333. return 0;
  334. }
  335. if(Player[playerid][Jailed] == 1 && !IsPlayerInRangeOfPoint(playerid,10,197.6661,173.8179,1003.0234))
  336. {
  337. SetPlayerInterior(playerid,3);
  338. SetPlayerPos(playerid,197.6661,173.8179,1003.0234);
  339. SendClientMessage(playerid,COLOR_RED,"Jail is your home!");
  340. }
  341. return 1;
  342. }
  343.  
  344. public OnPlayerCommandText(playerid,cmdtext[])
  345. {
  346. if(strcmp(cmdtext,"/spec-off",true) == 0)
  347. {
  348. TogglePlayerSpectating(playerid, 0);
  349. Player[playerid][SpecID] = INVALID_PLAYER_ID;
  350. Player[playerid][SpecType] = SPEC_TYPE_NONE;
  351. SendClientMessage(playerid,COLOR_BLUE,"Spectating has stoped");
  352. return 1;
  353. }
  354. return 1;
  355. }
Advertisement
Add Comment
Please, Sign In to add comment