Guest User

OmarEco admin

a guest
Aug 14th, 2010
493
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.77 KB | None | 0 0
  1. /*-----------------------------------*\
  2. OmarEco's admin system
  3. \*-----------------------------------*/
  4.  
  5. #include <a_samp>
  6.  
  7. #define FILTERSCRIPT
  8. #if defined FILTERSCRIPT
  9. #define servername "name"
  10. #define GREEN 0x21DD00FF
  11. #define RED 0xE60000FF
  12. #define ADMIN_RED 0xFB0000FF
  13. #define YELLOW 0xFFFF00FF
  14. #define ORANGE 0xF97804FF
  15. #define LIGHTRED 0xFF8080FF
  16. #define LIGHTBLUE 0x00C2ECFF
  17. #define PURPLE 0xB360FDFF
  18. #define PLAYER_COLOR 0xFFFFFFFF
  19. #define BLUE 0x1229FAFF
  20. #define LIGHTGREEN 0x38FF06FF
  21. #define DARKPINK 0xE100E1FF
  22. #define DARKGREEN 0x008040FF
  23. #define ANNOUNCEMENT 0x6AF7E1FF
  24. #define COLOR_SYSTEM 0xEFEFF7AA
  25. #define GREY 0xCECECEFF
  26. #define PINK 0xD52DFFFF
  27. #define DARKGREY 0x626262FF
  28. #define AQUAGREEN 0x03D687FF
  29. #define NICESKY 0x99FFFFAA
  30. #define WHITE 0xFFFFFFFF
  31.  
  32. #define ACCOUNTS_FOLDER "/%s.ini"
  33. #define LOGIN_DELAY 3
  34. #define green 0x33FF33AA
  35. #define red 0xFF0000AA
  36. #define yellow 0xFFFF00AA
  37. #define blue 0x2641FEAA
  38.  
  39. new AdminLevel[MAX_PLAYERS];
  40. new Muted[MAX_PLAYERS];
  41. new Jailed[MAX_PLAYERS];
  42. enum aInfo
  43. {
  44. aPassword[128],
  45. aLogged,
  46. };
  47. new AccountInfo[MAX_PLAYERS][aInfo];
  48. new register[MAX_PLAYERS];
  49. new login[MAX_PLAYERS];
  50. forward LogIn(playerid);
  51. forward OnPlayerUpdate(playerid);
  52.  
  53. public OnFilterScriptInit()
  54. {
  55. print(" ---------------------------------------------------- ");
  56. print(" OmarEco's admin system");
  57. print(" ---------------------------------------------------- ");
  58. return 1;
  59. }
  60.  
  61. #endif
  62.  
  63. public OnPlayerConnect(playerid)
  64. {
  65. new name[MAX_PLAYER_NAME];
  66. GetPlayerName(playerid, name, sizeof(name));
  67. new string[128];
  68. format(string, sizeof(string), ACCOUNTS_FOLDER, name);
  69. if (AccountInfo[playerid][aLogged] == 0)
  70. {
  71. if (!fexist(string))
  72. {
  73. new kayitmsg[256];
  74. format(kayitmsg,256,"Welcome to %s\n\n%s is not registered in our database.\n\nEnter your password for registation.",name,servername);
  75. ShowPlayerDialog(playerid,0,DIALOG_STYLE_INPUT,"%s",kayitmsg,"Register","Quit");
  76. register[playerid] = 1;
  77. login[playerid] = 0;
  78. }
  79. else if (fexist(string))
  80. {
  81. new girismsg[256];
  82. format(girismsg,256,"Welcome to %s\n\n%s is registered in our database. \n\n Enter your password.",name,servername);
  83. ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"%s",girismsg,"Login","Quit");
  84. register[playerid] = 0;
  85. login[playerid] = 1;
  86. }
  87. }
  88. AccountInfo[playerid][aLogged] = 0;
  89. AdminLevel[playerid] = 0;
  90. Muted[playerid] = 0;
  91. Jailed[playerid] = 0;
  92. return 1;
  93. }
  94.  
  95. public OnPlayerDisconnect(playerid, reason)
  96. {
  97. OnPlayerUpdate(playerid);
  98. AccountInfo[playerid][aLogged] = 0;
  99. register[playerid] = 0;
  100. login[playerid] = 0;
  101. AdminLevel[playerid] = 0;
  102. Muted[playerid] = 0;
  103. Jailed[playerid] = 0;
  104. return 1;
  105. }
  106. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  107. {
  108. if (response == 1)
  109. {
  110. if(dialogid == 0)
  111. {
  112. Encrypt(inputtext);
  113. new player[MAX_PLAYER_NAME];
  114. GetPlayerName(playerid, player, 50);
  115. new string3[32];
  116. new playername3[MAX_PLAYER_NAME];
  117. GetPlayerName(playerid, playername3, sizeof(playername3));
  118. format(string3, sizeof(string3), ACCOUNTS_FOLDER, playername3);
  119. new ip[20];
  120. GetPlayerIp(playerid,ip,sizeof(ip));
  121. new File: hFile = fopen(string3, io_write);
  122. if (hFile)
  123. {
  124. strmid(AccountInfo[playerid][aPassword], inputtext, 0, strlen(inputtext), 255);
  125. new var[128], string[256], name[30];
  126. format(var, 128, "Password=%s\n", AccountInfo[playerid][aPassword]);fwrite(hFile, var);
  127. format(var, 128, "IP=%s\n",ip);fwrite(hFile, var);
  128. fclose(hFile);
  129. printf("%s is signed up.",playername3);
  130. format(string,sizeof(string),"Welcome %s to the %s. Enjoy your time at %s.",name);
  131. SendClientMessage(playerid, GREEN, string);
  132. new girismsg[256];
  133. format(girismsg,256,"Welcome to %s\n\n%s is registered in our database. \n\n Enter your password.",playername3,servername);
  134. ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"%s",girismsg,"Login","Quit");
  135. register[playerid] = 0;
  136. login[playerid] = 1;
  137. }
  138. }
  139. if(dialogid == 1)
  140. {
  141. Encrypt(inputtext);
  142. new string2[128];
  143. new playername2[MAX_PLAYER_NAME];
  144. GetPlayerName(playerid, playername2, sizeof(playername2));
  145. format(string2, sizeof(string2), ACCOUNTS_FOLDER, playername2);
  146. new File: UserFile = fopen(string2, io_read);
  147. if ( UserFile )
  148. {
  149. new PassData[256];
  150. new keytmp[256], valtmp[256];
  151. fread( UserFile , PassData , sizeof( PassData ) );
  152. keytmp = ini_GetKey( PassData );
  153. if( strcmp( keytmp , "Password" , true ) == 0 )
  154. {
  155. valtmp = ini_GetValue( PassData );
  156. strmid(AccountInfo[playerid][aPassword], valtmp, 0, strlen(valtmp)-1, 255);
  157. }
  158. if(strcmp(AccountInfo[playerid][aPassword],inputtext, true ) == 0 )
  159. {
  160. for(new p = 0; p < strlen(AccountInfo[playerid][aPassword]); p++)
  161. {
  162. inputtext[p] = '?';
  163. }
  164. SetTimerEx("LogIn", LOGIN_DELAY*1000, 0, "d", playerid);
  165. printf("%s is logged in.",playername2);
  166. new name2[24], string12[256];
  167. GetPlayerName(playerid,name2,24);
  168. format(string12,sizeof(string12),"Welcome back %s. Enjoy your time at %s.",name2,servername);
  169. SendClientMessage(playerid, GREEN, string12);
  170. new Data[256];
  171. while ( fread( UserFile , Data , sizeof( Data ) ) )
  172. fclose(UserFile);
  173.  
  174. }
  175. else
  176. {
  177. new girismsg[256];
  178. printf("%s is used the wrong password.",playername2);
  179. format(girismsg,256,"You have entered an invalid password.\n\nIf you are not the owner of this account relog with a different alias.");
  180. ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Login",girismsg,"Login","Quit");
  181. login[playerid] = 1;
  182. register[playerid] = 0;
  183. fclose(UserFile);
  184. return 1;
  185. }
  186. }
  187. }
  188. if(dialogid == 2)
  189. {
  190. Encrypt(inputtext);
  191. new string2[128];
  192. new playername2[MAX_PLAYER_NAME];
  193. GetPlayerName(playerid, playername2, sizeof(playername2));
  194. format(string2, sizeof(string2), ACCOUNTS_FOLDER, playername2);
  195. new File: UserFile = fopen(string2, io_read);
  196. if ( UserFile )
  197. {
  198. new PassData[256];
  199. new keytmp[256], valtmp[256];
  200. fread( UserFile , PassData , sizeof( PassData ) );
  201. keytmp = ini_GetKey( PassData );
  202. if( strcmp( keytmp , "Password" , true ) == 0 )
  203. {
  204. valtmp = ini_GetValue( PassData );
  205. strmid(AccountInfo[playerid][aPassword], valtmp, 0, strlen(valtmp)-1, 255);
  206. }
  207. if(strcmp(AccountInfo[playerid][aPassword],inputtext, true ) == 0 )
  208. {
  209. for(new p = 0; p < strlen(AccountInfo[playerid][aPassword]); p++)
  210. {
  211. inputtext[p] = '?';
  212. }
  213. SetTimerEx("LogIn", LOGIN_DELAY*1000, 0, "d", playerid);
  214. printf("%s is logged in.",playername2);
  215.  
  216. new Data[256];
  217. while ( fread( UserFile , Data , sizeof( Data ) ) )
  218. fclose(UserFile);
  219.  
  220. }
  221. else
  222. {
  223. new girismsg[256];
  224. printf("%s is used the wrong password.",playername2);
  225. format(girismsg,256,"You have entered an invalid password.\n\nIf you are not the owner of this account relog with a different alias.");
  226. ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"login",girismsg,"Login","Quit");
  227. login[playerid] = 1;
  228. register[playerid] = 0;
  229. fclose(UserFile);
  230. return 1;
  231. }
  232. }
  233. }
  234. }
  235. else return Kick(playerid);
  236. return 0;
  237. }
  238.  
  239. public OnPlayerText(playerid, text[])
  240. {
  241. if(Muted[playerid] == 0)
  242. {
  243. return 1;
  244. }
  245. else
  246. {
  247. return 0;
  248. }
  249. }
  250. forward OnPlayerPrivmsg(playerid, recieverid, text[]);
  251. public OnPlayerPrivmsg(playerid, recieverid, text[])
  252. {
  253. new pname[26];
  254. new oname[26];
  255. new str[256];
  256. GetPlayerName(playerid, pname, sizeof(pname));
  257. GetPlayerName(recieverid, oname, sizeof(oname));
  258. format(str, 256, "(( Message from %s to %s: %s ))", pname, oname, text[0]);
  259. for(new i = 0; i < MAX_PLAYERS; i++)
  260. {
  261. if(IsPlayerConnected(i))
  262. {
  263. if(AdminLevel[i] == 1)
  264. {
  265. SendClientMessage(i, green, str);
  266. }
  267. }
  268. }
  269. return 1;
  270. }
  271.  
  272. public OnPlayerCommandText(playerid, cmdtext[])
  273. {
  274. if(Jailed[playerid] == 1) return SendClientMessage(playerid, red, "You can not use commands");
  275.  
  276. new cmd[256], idx;
  277. cmd = strtok(cmdtext, idx);
  278. new id;
  279. new tmp[256];
  280. new pname[26];
  281. new oname[26];
  282. new string[100];
  283. GetPlayerName(playerid, pname, sizeof(pname));
  284.  
  285. if (strcmp("/ocmds", cmdtext, true) == 0)
  286. {
  287. if(AdminLevel[playerid] == 1)
  288. {
  289. SendClientMessage(playerid, green, "/kick, /ban, /gmx, /freeze, /unfreeze");
  290. SendClientMessage(playerid, green, "/goto, /gethere, /v, /ann, /explode, /o");
  291. SendClientMessage(playerid, green, "/getall, /explodeall, /jail, /unjail");
  292. SendClientMessage(playerid, green, "/wire, /unwire, /crash, /akill, /an");
  293. SendClientMessage(playerid, green, "/disable, /reable");
  294. }
  295. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  296. return 1;
  297. }
  298. if(!strcmp(cmd, "/admins", true))
  299. {
  300. SendClientMessage(playerid, green, "Admins online:");
  301. for(new i = 0; i < MAX_PLAYERS; i++)
  302. {
  303. if(IsPlayerConnected(i))
  304. {
  305. if(AdminLevel[i] == 1)
  306. {
  307. new str[256];
  308. new pnamep[24];
  309. GetPlayerName(i, pnamep, 24);
  310. format(str, 256, "Admin %s", pnamep);
  311. SendClientMessage(playerid, green, str);
  312. }
  313. }
  314. }
  315. return 1;
  316. }
  317. if (strcmp("/ologin PASSWORD", cmdtext, true) == 0)
  318. {
  319. if(AdminLevel[playerid] == 1) return SendClientMessage(playerid, red, "You are already an admin");
  320.  
  321. else if(AdminLevel[playerid] == 0)
  322. {
  323. AdminLevel[playerid] = 1;
  324. SendClientMessage(playerid, yellow, "You have logged into admin");
  325.  
  326. format(string, sizeof(string), "%s has loged into admin", pname);
  327. printf(string);
  328. }
  329. return 1;
  330. }
  331. if (strcmp("/ologout", cmdtext, true) == 0)
  332. {
  333. if(AdminLevel[playerid] == 0) return SendClientMessage(playerid, red, "You must be an admin to use this command");
  334.  
  335. else if(AdminLevel[playerid] == 1)
  336. {
  337. AdminLevel[playerid] = 0;
  338. SendClientMessage(playerid, yellow, "You have logged out of admin");
  339.  
  340. format(string, sizeof(string), "%s has logged out of admin", pname);
  341. printf(string);
  342. }
  343. return 1;
  344. }
  345. if(!strcmp(cmd, "/ban", true))
  346. {
  347. if(AdminLevel[playerid] == 1)
  348. {
  349. tmp = strtok(cmdtext, idx);
  350. if(!strlen(tmp)) return SendClientMessage(playerid, red, "You didn't put in an id");
  351. id = strval(tmp);
  352.  
  353. GetPlayerName(id, oname, sizeof(oname));
  354. format(string, sizeof(string), "%s (%d) has been banned from the server by %s", oname, id, pname);
  355. SendClientMessageToAll(red, string);
  356. print(string);
  357.  
  358. Ban(id);
  359. }
  360. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  361. return 1;
  362. }
  363. if(!strcmp(cmd, "/kick", true))
  364. {
  365. if(AdminLevel[playerid] == 1)
  366. {
  367. tmp = strtok(cmdtext, idx);
  368. if(!strlen(tmp)) return SendClientMessage(playerid, red, "You didn't put in an id");
  369. id = strval(tmp);
  370.  
  371. GetPlayerName(id, oname, sizeof(oname));
  372. format(string, sizeof(string), "%s (%d) has been kicked from the server by %s", oname, id, pname);
  373. SendClientMessageToAll(red, string);
  374. print(string);
  375.  
  376. Kick(id);
  377. }
  378. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  379. return 1;
  380. }
  381. if(!strcmp(cmd, "/exit", true))
  382. {
  383. if(AdminLevel[playerid] == 1)
  384. {
  385. format(string, sizeof(string), "%s has shut down the server", pname);
  386. SendClientMessageToAll(yellow, string);
  387. print(string);
  388.  
  389. SendRconCommand("exit");
  390. }
  391. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  392. return 1;
  393. }
  394. if(!strcmp(cmd, "/gmx", true))
  395. {
  396. if(AdminLevel[playerid] == 1)
  397. {
  398. format(string, sizeof(string), "%s has restarted the server", pname);
  399. SendClientMessageToAll(yellow, string);
  400. print(string);
  401.  
  402. SendRconCommand("gmx");
  403. }
  404. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  405. return 1;
  406. }
  407. if(!strcmp(cmd, "/freeze", true))
  408. {
  409. if(AdminLevel[playerid] == 1)
  410. {
  411. tmp = strtok(cmdtext, idx);
  412. if(!strlen(tmp)) return SendClientMessage(playerid, red, "You didn't put in an id");
  413. id = strval(tmp);
  414.  
  415. GetPlayerName(id, oname, sizeof(oname));
  416. format(string, sizeof(string), "You have frozen %s (id %d)", oname, id);
  417. SendClientMessage(playerid, yellow, string);
  418.  
  419. SendClientMessage(id, yellow, "You have been frozen");
  420. TogglePlayerControllable(id, 0);
  421.  
  422. format(string, sizeof(string), "%s has frozen %s", pname, oname);
  423. print(string);
  424. }
  425. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  426. return 1;
  427. }
  428. if(!strcmp(cmd, "/unfreeze", true))
  429. {
  430. if(AdminLevel[playerid] == 1)
  431. {
  432. tmp = strtok(cmdtext, idx);
  433. if(!strlen(tmp)) return SendClientMessage(playerid, red, "You didn't put in an id");
  434. id = strval(tmp);
  435.  
  436. GetPlayerName(id, oname, sizeof(oname));
  437. format(string, sizeof(string), "You have frozen %s (id %d)", oname, id);
  438. SendClientMessage(playerid, yellow, string);
  439.  
  440. SendClientMessage(id, yellow, "You have been unfrozen");
  441. TogglePlayerControllable(id, 1);
  442.  
  443. format(string, sizeof(string), "%s has unfrozen %s", pname, oname);
  444. print(string);
  445. }
  446. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  447. return 1;
  448. }
  449. if(!strcmp(cmd, "/goto", true))
  450. {
  451. if(AdminLevel[playerid] == 1)
  452. {
  453. tmp = strtok(cmdtext, idx);
  454. if(!strlen(tmp)) return SendClientMessage(playerid, red, "You didn't put in an id");
  455. id = strval(tmp);
  456.  
  457. new Float:x, Float:y, Float:z;
  458. GetPlayerPos(id, x, y, z);
  459. SetPlayerPos(playerid, x+1, y, z);
  460.  
  461. GetPlayerName(id, oname, sizeof(oname));
  462. format(string, sizeof(string), "You have teleported to %s (id %d)", oname, id);
  463. SendClientMessage(playerid, yellow, string);
  464.  
  465. format(string, sizeof(string), "%s has teleported to %s", pname, oname);
  466. print(string);
  467. }
  468. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  469. return 1;
  470. }
  471. if(!strcmp(cmd, "/gethere", true))
  472. {
  473. if(AdminLevel[playerid] == 1)
  474. {
  475. tmp = strtok(cmdtext, idx);
  476. if(!strlen(tmp)) return SendClientMessage(playerid, red, "You didn't put in an id");
  477. id = strval(tmp);
  478.  
  479. new Float:x, Float:y, Float:z;
  480. GetPlayerPos(playerid, x, y, z);
  481. SetPlayerPos(id, x+1, y, z);
  482.  
  483. GetPlayerName(id, oname, sizeof(oname));
  484. format(string, sizeof(string), "You have teleported %s (id %d) to you", oname, id);
  485. SendClientMessage(playerid, yellow, string);
  486.  
  487. SendClientMessage(id, yellow, "You have been teleported to an admin");
  488.  
  489. format(string, sizeof(string), "%s has teleported %s to him", pname, oname);
  490. print(string);
  491. }
  492. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  493. return 1;
  494. }
  495. if(!strcmp(cmd, "/v", true))
  496. {
  497. if(AdminLevel[playerid] == 1)
  498. {
  499. new carid, color1, color2;
  500. tmp = strtok(cmdtext, idx);
  501. if(!strlen(tmp)) return SendClientMessage(playerid, red, "You didn't put in any ids");
  502.  
  503. carid = strval(tmp);
  504. if(carid < 400 || carid > 611) return SendClientMessage(playerid, red, "Only vehicle ids above 400 and below 611 are valid");
  505.  
  506. tmp = strtok(cmdtext, idx);
  507. color1 = strval(tmp);
  508. if(color1 < 0 || color1 > 126) return SendClientMessage(playerid, red, "Only color ids 0 and below 126 are valid");
  509.  
  510. tmp = strtok(cmdtext, idx);
  511. color2 = strval(tmp);
  512. if(color1 < 0 || color1 > 126) return SendClientMessage(playerid, red, "Only color ids 0 and below 126 are valid");
  513.  
  514. new Float:X, Float:Y, Float:Z;
  515. GetPlayerPos(playerid, X, Y, Z);
  516. CreateVehicle(carid, X+3, Y, Z, 0 , color1, color2, 0);
  517.  
  518. format(string, sizeof(string), "%s has spawned a car with id %d", pname, carid);
  519. print(string);
  520. }
  521. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  522. return 1;
  523. }
  524. if(!strcmp(cmd, "/ann", true))
  525. {
  526. if(AdminLevel[playerid] == 1)
  527. {
  528. tmp = strtok(cmdtext, idx);
  529. if(!strlen(tmp)) return SendClientMessage(playerid, red, "You didn't type anything");
  530. id = strval(tmp);
  531.  
  532. format(string, 256, "%s", cmdtext[5]);
  533. GameTextForAll(string, 5000, 5);
  534.  
  535. format(string, sizeof(string), "%s has announced: %s", pname, cmdtext[5]);
  536. print(string);
  537. }
  538. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  539. return 1;
  540. }
  541. if(!strcmp(cmd, "/explode", true))
  542. {
  543. if(AdminLevel[playerid] == 1)
  544. {
  545. tmp = strtok(cmdtext, idx);
  546. if(!strlen(tmp)) return SendClientMessage(playerid, red, "You didn't put in an id");
  547. id = strval(tmp);
  548.  
  549. new Float:x, Float:y, Float:z;
  550. GetPlayerPos(id, x, y, z);
  551. CreateExplosion(x, y, z, 7, 200);
  552.  
  553. GetPlayerName(id, oname, sizeof(oname));
  554. format(string, sizeof(string), "You exploded %s (id: %d)", oname, id);
  555. SendClientMessage(playerid, yellow, string);
  556.  
  557. SendClientMessage(id, yellow, "You have been exploded");
  558.  
  559. format(string, sizeof(string), "%s has exploded %s", pname, oname);
  560. print(string);
  561. }
  562. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  563. return 1;
  564. }
  565. if(!strcmp(cmd, "/o", true))
  566. {
  567. if(AdminLevel[playerid] == 1)
  568. {
  569. for(new i = 0; i < MAX_PLAYERS; i++)
  570. {
  571. if(IsPlayerConnected(i))
  572. {
  573. if(AdminLevel[i] == 1)
  574. {
  575. new str[256];
  576. format(str, 256, "(( Admin %s: %s ))", pname, cmdtext[3]);
  577. SendClientMessage(i, green, str);
  578. }
  579. }
  580. }
  581. }
  582. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  583. return 1;
  584. }
  585. if(!strcmp(cmd, "/getall", true))
  586. {
  587. if(AdminLevel[playerid] == 1)
  588. {
  589. new Float:x, Float:y, Float:z;
  590. GetPlayerPos(playerid, x, y, z);
  591.  
  592. for(new i = 0; i < MAX_PLAYERS; i++)
  593. SetPlayerPos(i, x, y, z);
  594.  
  595. format(string, sizeof(string), "%s has teleported everyone to him", pname);
  596. SendClientMessageToAll(yellow, string);
  597. print(string);
  598. }
  599. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  600. return 1;
  601. }
  602. if(!strcmp(cmd, "/explodeall", true))
  603. {
  604. if(AdminLevel[playerid] == 1)
  605. {
  606. format(string, sizeof(string), "%s has blown up everyone", pname);
  607. SendClientMessageToAll(yellow, string);
  608. print(string);
  609.  
  610. new Float:x, Float:y, Float:z;
  611. for(new i = 0; i < MAX_PLAYERS; i++)
  612. {
  613. GetPlayerPos(i, x, y, z);
  614. CreateExplosion(x, y, z, 7, 200);
  615. }
  616. }
  617. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  618. return 1;
  619. }
  620. if(!strcmp(cmd, "/jail", true))
  621. {
  622. if(AdminLevel[playerid] == 1)
  623. {
  624. tmp = strtok(cmdtext, idx);
  625. if(!strlen(tmp)) return SendClientMessage(playerid, red, "You didn't put in an id");
  626. id = strval(tmp);
  627.  
  628. Jailed[id] = 1;
  629. SetPlayerInterior(id, 3);
  630. SetPlayerPos(id, 197.6661, 173.8179, 1003.0234);
  631.  
  632. GetPlayerName(id, oname, sizeof(oname));
  633. format(string, sizeof(string), "You have jailed %s (id: %d)", oname, id);
  634. SendClientMessage(playerid, yellow, string);
  635.  
  636. SendClientMessage(id, yellow, "You have been jailed");
  637.  
  638. format(string, sizeof(string), "%s has been jailed by %s", oname, pname);
  639. print(string);
  640. }
  641. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  642. return 1;
  643. }
  644. if(!strcmp(cmd, "/unjail", true))
  645. {
  646. if(AdminLevel[playerid] == 1)
  647. {
  648. tmp = strtok(cmdtext, idx);
  649. if(!strlen(tmp)) return SendClientMessage(playerid, red, "You didn't put in an id");
  650. id = strval(tmp);
  651.  
  652. Jailed[id] = 0;
  653. SetPlayerHealth(id, 0);
  654. SendClientMessage(id, yellow, "You have been unjailed");
  655.  
  656. GetPlayerName(id, oname, sizeof(oname));
  657. format(string, sizeof(string), "You have unjailed %s (id: %d)", oname, id);
  658. SendClientMessage(playerid, yellow, string);
  659.  
  660. format(string, sizeof(string), "%s has been unjailed by %s", oname, pname);
  661. print(string);
  662. }
  663. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  664. return 1;
  665. }
  666. if(!strcmp(cmd, "/wire", true))
  667. {
  668. if(AdminLevel[playerid] == 1)
  669. {
  670. tmp = strtok(cmdtext, idx);
  671. if(!strlen(tmp)) return SendClientMessage(playerid, red, "You didn't put in an id");
  672. id = strval(tmp);
  673.  
  674. Muted[id] = 1;
  675.  
  676. GetPlayerName(id, oname, sizeof(oname));
  677. format(string, sizeof(string), "You have Muted %s (id: %d)", oname, id);
  678. SendClientMessage(playerid, yellow, string);
  679.  
  680. SendClientMessage(id, yellow, "You have been Muted");
  681.  
  682. GetPlayerName(id, oname, sizeof(oname));
  683. format(string, sizeof(string), "%s has been Muted by %s", oname, pname);
  684. print(string);
  685. }
  686. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  687. return 1;
  688. }
  689. if(!strcmp(cmd, "/unwire", true))
  690. {
  691. if(AdminLevel[playerid] == 1)
  692. {
  693. tmp = strtok(cmdtext, idx);
  694. if(!strlen(tmp)) return SendClientMessage(playerid, red, "You didn't put in an id");
  695. id = strval(tmp);
  696.  
  697. Muted[id] = 0;
  698.  
  699. GetPlayerName(id, oname, sizeof(oname));
  700. format(string, sizeof(string), "You have unMuted %s (id: %d)", oname, id);
  701. SendClientMessage(playerid, yellow, string);
  702.  
  703. SendClientMessage(id, yellow, "You have been unMuted");
  704.  
  705. GetPlayerName(id, oname, sizeof(oname));
  706. format(string, sizeof(string), "%s has been unMuted by %s", oname, pname);
  707. print(string);
  708. }
  709. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  710. return 1;
  711. }
  712. if(!strcmp(cmd, "/crash", true))
  713. {
  714. if(AdminLevel[playerid] == 1)
  715. {
  716. tmp = strtok(cmdtext, idx);
  717. if(!strlen(tmp)) return SendClientMessage(playerid, red, "You didn't put in an id");
  718. id = strval(tmp);
  719.  
  720. Muted[id] = 0;
  721.  
  722. GetPlayerName(id, oname, sizeof(oname));
  723. format(string, sizeof(string), "You have crashed %s (id: %d)", oname, id);
  724. SendClientMessage(playerid, yellow, string);
  725.  
  726. GameTextForPlayer(id, "~n~~", 4000, 3);
  727.  
  728. GetPlayerName(id, oname, sizeof(oname));
  729. format(string, sizeof(string), "%s has crashed %s", pname, oname);
  730. print(string);
  731. }
  732. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  733. return 1;
  734. }
  735. if(!strcmp(cmd, "/akill", true))
  736. {
  737. if(AdminLevel[playerid] == 1)
  738. {
  739. tmp = strtok(cmdtext, idx);
  740. if(!strlen(tmp)) return SendClientMessage(playerid, red, "You didn't put in an id");
  741. id = strval(tmp);
  742.  
  743. Muted[id] = 0;
  744.  
  745. GetPlayerName(id, oname, sizeof(oname));
  746. format(string, sizeof(string), "You have killed %s (id: %d)", oname, id);
  747. SendClientMessage(playerid, yellow, string);
  748.  
  749. SendClientMessage(id, yellow, "You have been auto killed");
  750. SetPlayerHealth(id, 0);
  751.  
  752. GetPlayerName(id, oname, sizeof(oname));
  753. format(string, sizeof(string), "%s has auto killed %s", pname, oname);
  754. print(string);
  755. }
  756. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  757. return 1;
  758. }
  759. if(!strcmp(cmd, "/an", true))
  760. {
  761. if(AdminLevel[playerid] == 1)
  762. {
  763. tmp = strtok(cmdtext, idx);
  764. if(!strlen(tmp)) return SendClientMessage(playerid, red, "You didn't type anything");
  765. id = strval(tmp);
  766.  
  767. format(string, 256, "Admin: %s", cmdtext[4]);
  768. SendClientMessageToAll(blue, string);
  769.  
  770. format(string, sizeof(string), "%s has admin announced: %s", pname, cmdtext[4]);
  771. print(string);
  772. }
  773. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  774. return 1;
  775. }
  776. if(!strcmp(cmd, "/disable", true))
  777. {
  778. if(AdminLevel[playerid] == 1)
  779. {
  780. tmp = strtok(cmdtext, idx);
  781. if(!strlen(tmp)) return SendClientMessage(playerid, red, "You didn't put in an id");
  782. id = strval(tmp);
  783.  
  784. SendClientMessage(id, yellow, "Your commands have been disabled");
  785. Jailed[id] = 1;
  786.  
  787. GetPlayerName(id, oname, sizeof(oname));
  788. format(string, sizeof(string), "You have disabled %s's commands (id: %d)", oname, id);
  789. SendClientMessage(playerid, yellow, string);
  790.  
  791. GetPlayerName(id, oname, sizeof(oname));
  792. format(string, sizeof(string), "%s has disabled %s's commands", pname, oname);
  793. print(string);
  794. }
  795. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  796. return 1;
  797. }
  798. if(!strcmp(cmd, "/reable", true))
  799. {
  800. if(AdminLevel[playerid] == 1)
  801. {
  802. tmp = strtok(cmdtext, idx);
  803. if(!strlen(tmp)) return SendClientMessage(playerid, red, "You didn't put in an id");
  804. id = strval(tmp);
  805.  
  806. SendClientMessage(id, yellow, "Your commands have been reabled");
  807. Jailed[id] = 0;
  808.  
  809. GetPlayerName(id, oname, sizeof(oname));
  810. format(string, sizeof(string), "You have reabled %s's commands (id: %d)", oname, id);
  811. SendClientMessage(playerid, yellow, string);
  812.  
  813. GetPlayerName(id, oname, sizeof(oname));
  814. format(string, sizeof(string), "%s has reabled %s's commands", pname, oname);
  815. print(string);
  816. }
  817. else return SendClientMessage(playerid, red, "You must be an admin to use this command");
  818. return 1;
  819. }
  820. return 0;
  821. }
  822.  
  823. strtok(const string[], &index)
  824. {
  825. new length = strlen(string);
  826. while ((index < length) && (string[index] <= ' '))
  827. {
  828. index++;
  829. }
  830.  
  831. new offset = index;
  832. new result[20];
  833. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  834. {
  835. result[index - offset] = string[index];
  836. index++;
  837. }
  838. result[index - offset] = EOS;
  839. return result;
  840. }
  841. stock ini_GetKey( line[] )
  842. {
  843. new keyRes[256];
  844. keyRes[0] = 0;
  845. if ( strfind( line , "=" , true ) == -1 ) return keyRes;
  846. strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
  847. return keyRes;
  848. }
  849.  
  850. stock ini_GetValue( line[] )
  851. {
  852. new valRes[256];
  853. valRes[0]=0;
  854. if ( strfind( line , "=" , true ) == -1 ) return valRes;
  855. strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
  856. return valRes;
  857. }
  858.  
  859. public LogIn(playerid)
  860. {
  861. AccountInfo[playerid][aLogged] = 1;
  862. register[playerid] = 0;
  863. login[playerid] = 0;
  864. return 1;
  865. }
  866.  
  867. public OnPlayerUpdate(playerid)
  868. {
  869. if(IsPlayerConnected(playerid))
  870. {
  871. if(AccountInfo[playerid][aLogged] == 1)
  872. {
  873. new string3[128];
  874. new playername3[MAX_PLAYER_NAME];
  875. GetPlayerName(playerid, playername3, sizeof(playername3));
  876. format(string3, sizeof(string3), ACCOUNTS_FOLDER, playername3);
  877. new ip[20];
  878. GetPlayerIp(playerid,ip,sizeof(ip));
  879. new File: hFile = fopen(string3, io_write);
  880. if (hFile)
  881. {
  882. new var[128];
  883. format(var, 128, "Password=%s\n", AccountInfo[playerid][aPassword]);fwrite(hFile, var);
  884. format(var, 128, "IP=%s\n",ip);fwrite(hFile, var);
  885. fclose(hFile);
  886. }
  887. }
  888. }
  889. return 1;
  890. }
  891.  
  892. Encrypt(string[])
  893. {
  894. for(new x=0; x < strlen(string); x++)
  895. {
  896. string[x] += (3^x) * (x % 15);
  897. if(string[x] > (0xff))
  898. {
  899. string[x] -= 256;
  900. }
  901. }
  902. }
Advertisement
Add Comment
Please, Sign In to add comment