mobiliz

Street Wars v0.1

Sep 6th, 2012
1,181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 64.96 KB | None | 0 0
  1. //============================================================================//
  2. // Credits: //
  3. // Markx for blank mysql script //
  4. // mobiliz for making the script //
  5. // BlueG for mysql plugin //
  6. // Zeex for zcmd plugin //
  7. // Y_Less for foreach plugin //
  8. // Y_Less for sscanf2 plugin //
  9. //============================================================================//
  10. #define SERVER_NAME "Street Wars"
  11.  
  12. //============================================================================//
  13. // Includes //
  14. //============================================================================//
  15.  
  16. #include <a_samp>
  17. #include <zcmd>
  18. #include <sscanf2>
  19. #include <foreach>
  20. #include <a_mysql>
  21.  
  22. //============================================================================//
  23. // Color Define s //
  24. //============================================================================//
  25. #define COLOR_GREEN 0x008000FF
  26. #define COLOR_BLUE 0x0000FFFF
  27. #define COLOR_BRIGHTRED 0xFF000AAA
  28. #define COLOR_AQUA 0x00FFFFAA
  29. #define COLOR_GREY 0xAFAFAFAA
  30. #define COLOR_BEIGE 0xFFF8DCAA
  31. #define COLOR_BLACK 0x000000AA
  32. #define COLOR_LIGHTERBLUE 0x00BFFFAA
  33. #define COLOR_BLUELIGHT 0x1E90FFAA
  34. #define COLOR_BLUEMEDIUM 0x0000CDAA
  35. #define COLOR_BLUEDARK 0x00008BAA
  36. #define COLOR_PINK 0xFF1493AA
  37. #define COLOR_PINKDARK 0xFF00FFAA
  38. #define COLOR_GREENLIGHT 0x00FF00AA
  39. #define COLOR_GREENDARK 0x006400AA
  40. #define COLOR_MAROON 0x800000AA
  41. #define COLOR_OKER 0x808000AA
  42. #define COLOR_ORANGE 0xFF4500AA
  43. #define COLOR_ORANGELIGHT 0xFF8C00AA
  44. #define COLOR_PURPLE 0x800080AA
  45. #define COLOR_VIOLETDARK 0x9400D3AA
  46. #define COLOR_INDIGO 0xAB0082AA
  47. #define COLOR_RED 0xFF0000AA
  48. #define COLOR_SAND 0xFFDEADAA
  49. #define COLOR_SILVER 0xC0C0C0AA
  50. #define COLOR_TEAL 0x008080AA
  51. #define COLOR_WHITE 0xFFFFFFAA
  52. #define COLOR_YELLOW 0xFFFF00AA
  53. #define COLOR_GOLD 0xFFD700AA
  54. #define COLOR_BROWN 0x8B4513AA
  55. #define COLOR_BROWNLIGHT 0xA0522DAA
  56. #define COLOR_GRAY 0xA9A9A9AA
  57. #define COLOR_GRAYDARK 0x696969AA
  58. #define COLOR_INVISIBLE 0xFFFFFF00
  59. #define COLOR_INDIA 0x80000096
  60. #define COLOR_PAKISTAN 0x40808096
  61. #define COLOR_NEPAL 0x8000FF96
  62. #define COLOR_BRAZIL 0xB7B70096
  63. #define COLOR_CHINA 0x80808096
  64. #define COLOR_GREECE 0x00000096
  65. #define COLOR_SINGAPORE 0x00FFFF96
  66. #define COLOR_IRAQ 0x8080C096
  67.  
  68. //============================================================================//
  69. // Team s //
  70. //============================================================================//
  71. #define TEAM_TRIADS 1
  72. #define TEAM_AZTECAS 2
  73. #define TEAM_GROVE 3
  74. #define TEAM_POLICE 4
  75. #define TEAM_BALLAS 5
  76.  
  77. //============================================================================//
  78. // Team Spawns //
  79. //============================================================================//
  80. #define TRIADSSPAWN "1878.4596,-1223.3022,16.7139"
  81. #define AZTECASSPAWN "584.0753,-1862.7878,4.6869"
  82. #define GROVESPAWN "2512.7720,-1669.8339,13.4894"
  83. #define POLICESPAWN "1542.8073,-1661.2494,13.5619"
  84. #define BALLASSPAWN "761.4307,-1356.0966,13.5205"
  85.  
  86. #define SPECIAL_ACTION_PISSING 68
  87.  
  88. //============================================================================//
  89. // Define s //
  90. //============================================================================//
  91.  
  92. #define SQL_HOST "changenow"
  93. #define SQL_USER "changenow"
  94. #define SQL_PASS "changenow"
  95. #define SQL_DB "changenow"
  96.  
  97. #define Blue "{003DF5}"
  98. #define Red "{FF0000}"
  99. #define Green "{66FF00}"
  100. #define White "{FFFFFF}"
  101.  
  102. #define DIALOG_REGISTER 100
  103. #define DIALOG_LOGIN 101
  104. #define DIALOG_ADMINS 2000
  105. #define DIALOG_KICK 2500
  106.  
  107. //big defines
  108. #define SendErrorMessage(%1,%2) SendClientMessage(%1,0xFF0000AA,%2)
  109. #define levelerror(%1) if(AdminLevel(playerid) < %1) return SendErrorMessage(playerid, "You're admin level is too low to use this command!")
  110. #define GetAdminLevel(%1) GetPVarInt(%1, "AdminLevel")
  111. #define stringempty(%1) format(%1,sizeof(%1), "")
  112.  
  113. //============================================================================//
  114. // New's //
  115. //============================================================================//
  116. new MoneyGiven[MAX_PLAYERS];
  117. new IsRegistered[MAX_PLAYERS];
  118. new Logged[MAX_PLAYERS];
  119. new JustLogged[MAX_PLAYERS];
  120. new gTeam[MAX_PLAYERS];
  121. new AdminLevel[MAX_PLAYERS];
  122. new Spectating[MAX_PLAYERS];
  123. new Text:Stats[MAX_PLAYERS];
  124. new playersAliveCount;
  125. new WarnedTimes[MAX_PLAYERS];
  126. new IsInGunShop[MAX_PLAYERS];
  127. new GunShopID[MAX_PLAYERS];
  128. new gunshop[8];
  129. new AdminDuty[MAX_PLAYERS];
  130.  
  131. //global vars
  132. new Pname[24];
  133. new Float:posxx[3];
  134.  
  135. //some new's I don't know
  136. new plid;
  137. new estring[200];
  138.  
  139. //temp strings
  140. new reports[5][100];
  141. new reportnumber;
  142.  
  143. enum pInfo
  144. {
  145. Kills,
  146. Deaths
  147. }
  148. new PlayerInfo[MAX_PLAYERS][pInfo];
  149.  
  150. //============================================================================//
  151. // Forwards //
  152. //============================================================================//
  153.  
  154. forward HideMessage1(playerid);
  155. forward SendClientMessageToAdmins(color,string[],level);
  156.  
  157. //============================================================================//
  158. // Main //
  159. //============================================================================//
  160.  
  161. main(){}
  162.  
  163.  
  164. //============================================================================//
  165. // Team Stuff //
  166. //============================================================================//
  167. SetPlayerTeamFromClass(playerid, classid)
  168. {
  169. if (classid == 0)
  170. {
  171. gTeam[playerid] = TEAM_TRIADS;
  172. }
  173. else
  174. {
  175. gTeam[playerid] = TEAM_AZTECAS;
  176. gTeam[playerid] = TEAM_GROVE;
  177. gTeam[playerid] = TEAM_POLICE;
  178. gTeam[playerid] = TEAM_BALLAS;
  179. }
  180. }
  181. GetTeamPlayersAlive(teamid)
  182. {
  183. new count;
  184. for(new i; i < playersAliveCount; i++)
  185. {
  186. if(IsPlayerConnected(i) && gTeam[i] == teamid) count++;
  187. }
  188. return count;
  189. }
  190. stock GetTeamName(playerid)
  191. {
  192. new name[30];
  193. switch(GetPlayerTeam(playerid))
  194. {
  195.  
  196. case 1: format(name, sizeof(name), "Triads");
  197. case 2: format(name, sizeof(name), "Aztecas");
  198. case 3: format(name, sizeof(name), "Grove");
  199. case 4: format(name, sizeof(name), "Police");
  200. case 5: format(name, sizeof(name), "Ballas");
  201. case 6: format(name, sizeof(name), "Admin");
  202. //..etc
  203. }
  204. return name;
  205. }
  206.  
  207. //============================================================================//
  208. // Publics //
  209. //============================================================================//
  210. public OnGameModeInit()
  211. {
  212. UsePlayerPedAnims();
  213. DisableInteriorEnterExits();
  214. SetGameModeText("Street Wars v0.1");
  215.  
  216. //============================================================================//
  217. // Classes //
  218. //============================================================================//
  219. //Triads
  220. AddPlayerClass(118,2256.8662,-1441.0958,24.0642,85.5409,25,200,22,320,29,320);
  221. AddPlayerClass(120,2257.8333,-1433.9274,24.0255,83.3475,25,200,22,320,29,320);
  222.  
  223. //Aztecas
  224. AddPlayerClass(115,866.9608,-1226.8621,15.7337,271.9548,28,320,24,200,30,320);
  225. AddPlayerClass(116,876.1880,-1220.5654,16.9766,266.0015,28,320,24,200,30,320);
  226.  
  227. //Grove
  228. AddPlayerClass(106,2512.7720,-1669.8339,13.4894,82.7207,32,320,24,200,31,320);
  229. AddPlayerClass(107,2492.7803,-1651.1484,13.4963,84.6008,32,320,24,200,31,320);
  230.  
  231. //Police
  232. AddPlayerClass(280,1542.2534,-1690.1072,13.5503,88.9682,34,200,27,320,29,320);
  233. AddPlayerClass(281,1542.8073,-1661.2494,13.5619,85.5215,34,200,27,320,29,320);
  234.  
  235. //Police
  236. AddPlayerClass(102,760.9393,-1346.6837,13.5121,268.8192,30,320,26,200,29,320);
  237. AddPlayerClass(104,761.4307,-1356.0966,13.5205,273.5192,30,320,26,200,29,320);
  238.  
  239. //veh
  240. AddStaticVehicleEx(598,1535.90002441,-1666.59997559,13.30000019,0.00000000,-1,79,180); //Police Car (LVPD)
  241. AddStaticVehicleEx(598,1535.90002441,-1678.90002441,13.30000019,0.00000000,-1,79,180); //Police Car (LVPD)
  242. AddStaticVehicleEx(490,1606.09997559,-1616.69995117,13.89999962,0.00000000,-1,79,180); //FBI Rancher
  243. AddStaticVehicleEx(415,841.59997559,-1209.30004883,16.79999924,270.00000000,3,1,180); //Cheetah
  244. AddStaticVehicleEx(415,841.70001221,-1215.69995117,16.79999924,270.00000000,-1,1,180); //Cheetah
  245. AddStaticVehicleEx(415,841.59997559,-1223.19995117,16.20000076,270.00000000,2,1,180); //Cheetah
  246. AddStaticVehicleEx(411,2233.39990234,-1415.80004883,23.60000038,90.00000000,6,1,180); //Infernus
  247. AddStaticVehicleEx(411,2270.69995117,-1433.59997559,23.60000038,359.00000000,49,1,180); //Infernus
  248. AddStaticVehicleEx(411,2230.69995117,-1451.59997559,23.60000038,90.00000000,91,1,180); //Infernus
  249. AddStaticVehicleEx(541,2508.19995117,-1667.00000000,13.10000038,12.00000000,86,1,180); //Bullet
  250. AddStaticVehicleEx(541,2485.89990234,-1682.80004883,13.00000000,90.00000000,86,1,180); //Bullet
  251. AddStaticVehicleEx(541,2484.69995117,-1655.09997559,13.00000000,90.00000000,86,1,180); //Bullet
  252. AddStaticVehicleEx(481,1931.30004883,-1436.90002441,13.19999981,0.00000000,-1,-1,180); //BMX
  253. AddStaticVehicleEx(481,1898.00000000,-1437.59997559,13.19999981,0.00000000,-1,-1,180); //BMX
  254. AddStaticVehicleEx(513,1449.30004883,-2485.89990234,14.30000019,270.00000000,-1,1,180); //Stunt
  255. AddStaticVehicleEx(513,1449.19995117,-2505.69995117,14.30000019,270.00000000,-1,1,180); //Stunt
  256. AddStaticVehicleEx(506,740.29998779,-1339.69995117,13.30000019,270.00000000,157,1,180); //Super GT
  257. AddStaticVehicleEx(506,740.29998779,-1345.50000000,13.30000019,270.00000000,157,1,180); //Super GT
  258. AddStaticVehicleEx(506,740.29998779,-1351.19995117,13.30000019,270.00000000,157,1,180); //Super GT
  259.  
  260. //gun shops
  261. gunshop[7] = CreatePickup(1254, 23, 1368.1334,-1279.7281,13.5469);
  262.  
  263. //================================================================//
  264. // MySQL part //
  265. //================================================================//
  266. mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
  267. mysql_query("CREATE TABLE IF NOT EXISTS playerdata(user VARCHAR(24), password VARCHAR(40), score INT(20), kills INT(20), deaths INT(20), money INT(20), level INT(20), IP VARCHAR(15) )");
  268. mysql_debug(1);
  269. return 1;
  270. }
  271.  
  272. public OnGameModeExit()
  273. {
  274. return 1;
  275. }
  276. public OnPlayerRequestClass(playerid, classid)
  277. {
  278. SetPlayerPos(playerid, 1220.1063,-1410.3185,13.1395);
  279. SetPlayerFacingAngle(playerid, 354.7488);
  280. SetPlayerCameraPos(playerid, 1220.2598,-1407.5026,13.1717);
  281. SetPlayerCameraLookAt(playerid, 1220.1063,-1410.3185,13.1395);
  282. SetPlayerTeamFromClass(playerid, classid);
  283. switch(classid)
  284. {
  285. case 0 .. 1:
  286. {
  287. GameTextForPlayer(playerid,"~w~Triads",5000,5);
  288. SetPlayerTeam(playerid, TEAM_TRIADS);
  289. gTeam[playerid] = TEAM_TRIADS;
  290. SetPlayerColor(playerid, COLOR_WHITE);
  291. }
  292.  
  293. case 2 .. 3:
  294. {
  295. GameTextForPlayer(playerid,"~b~~h~~h~~h~Aztecas",5000,5);
  296. SetPlayerTeam(playerid, TEAM_AZTECAS);
  297. gTeam[playerid] = TEAM_AZTECAS;
  298. SetPlayerColor(playerid, COLOR_AQUA);
  299. }
  300. case 4 .. 5:
  301. {
  302. GameTextForPlayer(playerid,"~g~Grove",5000,5);
  303. SetPlayerTeam(playerid, TEAM_GROVE);
  304. gTeam[playerid] = TEAM_GROVE;
  305. SetPlayerColor(playerid, COLOR_GREEN);
  306. }
  307.  
  308. case 6 .. 7:
  309. {
  310. GameTextForPlayer(playerid,"~b~Police",5000,5);
  311. SetPlayerTeam(playerid, TEAM_POLICE);
  312. gTeam[playerid] = TEAM_POLICE;
  313. SetPlayerColor(playerid, COLOR_BLUE);
  314. }
  315. case 8 .. 9:
  316. {
  317. GameTextForPlayer(playerid,"~p~Ballas",5000,5);
  318. SetPlayerTeam(playerid, TEAM_BALLAS);
  319. gTeam[playerid] = TEAM_BALLAS;
  320. SetPlayerColor(playerid, COLOR_PURPLE);
  321. }
  322.  
  323. }
  324. return 1;
  325. }
  326.  
  327. //================================================================//
  328. // PlayerToTeamColor //
  329. //================================================================//
  330. SetPlayerToTeamColour(playerid)
  331. {
  332. if(gTeam[playerid] == TEAM_TRIADS)
  333. {
  334. SetPlayerColor(playerid, COLOR_WHITE);
  335. }
  336. else if(gTeam[playerid] == TEAM_AZTECAS)
  337. {
  338. SetPlayerColor(playerid, COLOR_AQUA);
  339. }
  340. else if(gTeam[playerid] == TEAM_GROVE)
  341. {
  342. SetPlayerColor(playerid, COLOR_GREEN);
  343. }
  344. else if(gTeam[playerid] == TEAM_POLICE)
  345. {
  346. SetPlayerColor(playerid, COLOR_BLUE);
  347. }
  348. else if(gTeam[playerid] == TEAM_BALLAS)
  349. {
  350. SetPlayerColor(playerid, COLOR_PURPLE);
  351. }
  352.  
  353. }
  354.  
  355. public OnPlayerRequestSpawn(playerid)
  356. {
  357. //================================================================//
  358. // MySQL part //
  359. //================================================================//
  360. if(!Logged[playerid])
  361. {
  362. if(!IsRegistered[playerid])
  363. {
  364. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""Blue"Please register",""White"Welcome to "Red""SERVER_NAME""White"!\n"White"In order to start playing, you have to register!\n\n"White"Please insert a password below:", "Register", "Cancel");
  365. return 0;
  366. }
  367. if(IsRegistered[playerid] == 1)
  368. {
  369. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""Blue"Please log-in", ""White"Welcome back to "Red""SERVER_NAME""White"!\n"White"In order to start playing, you have to log-in!\n\n"White"Please insert "Red"your"White" password below:", "Login", "Cancel");
  370. return 0;
  371. }
  372. }
  373. return 1;
  374. }
  375.  
  376. public OnPlayerSpawn(playerid)
  377. {
  378. //================================================================//
  379. // Teams & stats:textdraw //
  380. //================================================================//
  381. playersAliveCount++;
  382. TextDrawShowForPlayer(playerid,Text:Stats[playerid]);
  383. SetPlayerToTeamColour(playerid);
  384. //================================================================//
  385. // MySQL part //
  386. //================================================================//
  387. if(MoneyGiven[playerid] != -1)
  388. {
  389. GivePlayerMoney(playerid, MoneyGiven[playerid]);
  390. MoneyGiven[playerid] = -1;
  391. }
  392. if(JustLogged[playerid] == 1)
  393. {
  394. SendClientMessage(playerid, COLOR_RED, "You have successfully logged in");
  395. JustLogged[playerid] = 0;
  396. }
  397. return 1;
  398. }
  399.  
  400. public OnPlayerConnect(playerid)
  401. {
  402. AdminDuty[playerid] = 0;
  403. RemoveUnderScore(playerid);
  404. SetPlayerMapIcon(playerid, 1, 1370.5306,-1279.9824,33.5305, 6, 6, MAPICON_LOCAL);
  405. //================================================================//
  406. // Stats Textdraw //
  407. //================================================================//
  408. Stats[playerid] = TextDrawCreate(18.000000,428.000000,"~w~xfreeroam.tk ~w~Team: ~w~0 ~w~Score: ~w~0 ~w~Kills: ~w~0 ~w~Deaths: ~w~0 ~w~Money: ~w~0");
  409. TextDrawAlignment(Stats[playerid],0);
  410. TextDrawBackgroundColor(Stats[playerid],255);
  411. TextDrawFont(Stats[playerid],1);
  412. TextDrawLetterSize(Stats[playerid],0.355555,0.955555);
  413. TextDrawColor(Stats[playerid],-1);
  414. TextDrawSetOutline(Stats[playerid],1);
  415. TextDrawSetProportional(Stats[playerid],1);
  416. TextDrawSetShadow(Stats[playerid],1);
  417. //================================================================//
  418. // PlayerConnect //
  419. //================================================================//
  420. new string[64], pName[MAX_PLAYER_NAME];
  421. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  422. format(string,sizeof string,"[Server] %s[%d] has joined the server.",pName, playerid);
  423. SendClientMessageToAll(COLOR_GREY,string);
  424. //================================================================//
  425. // MySQL part //
  426. //================================================================//
  427. MoneyGiven[playerid] = -1;
  428. JustLogged[playerid] = 0;
  429. new query[300], pname[24];
  430. GetPlayerName(playerid, pname, 24);
  431. format(query, sizeof(query), "SELECT IP FROM `playerdata` WHERE `user` = '%s' LIMIT 1", pname);
  432. mysql_query(query);
  433. mysql_store_result();
  434. new rows = mysql_num_rows();
  435. if(!rows)
  436. {
  437. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""Blue"Please register",""White"Welcome to "Red""SERVER_NAME""White"!\n"White"In order to start playing, you have to register!\n\n"White"Please insert a password below:", "Register", "Cancel");
  438. }
  439. if(rows == 1)
  440. {
  441. new IP[2][15];
  442. mysql_fetch_field_row(IP[0],"IP");
  443. GetPlayerIp(playerid, IP[1], 15);
  444. if(strlen(IP[0]) != 0 && !strcmp(IP[0], IP[1], true))
  445. {
  446. MySQL_Login(playerid);
  447. }
  448. else if(!strlen(IP[0]) || strcmp(IP[0], IP[1], true))
  449. {
  450. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""Blue"Please log-in", ""White"Welcome back to "Red""SERVER_NAME""White"!\n"White"In order to start playing, you have to log-in!\n\n"White"Please insert "Red"your"White" password below:", "Login", "Cancel");
  451. IsRegistered[playerid] = 1;
  452. }
  453. }
  454. mysql_free_result();
  455. return 1;
  456. }
  457.  
  458.  
  459. public OnPlayerDisconnect(playerid, reason)
  460. {
  461. //================================================================//
  462. // PlayerDisconnect //
  463. //================================================================//
  464. new string[64], pName[MAX_PLAYER_NAME];
  465. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  466. switch(reason)
  467. {
  468. case 0: format(string,sizeof string,"[Server] %s[%d] left the server. (TimeOut)", pName, playerid);
  469. case 1: format(string,sizeof string,"[Server] %s[%d] left the server. (Leaving)", pName, playerid);
  470. case 2: format(string,sizeof string,"[Server] %s[%d] left the server. (Kicked/Banned)", pName, playerid);
  471. }
  472. SendClientMessageToAll(COLOR_GREY,string);
  473. //================================================================//
  474. // MySQL part //
  475. //================================================================//
  476. if(Logged[playerid] == 1)
  477. {
  478. new score = GetPlayerScore(playerid);
  479. new money = GetPlayerMoney(playerid);
  480. new kills = PlayerInfo[playerid][Kills];
  481. new deaths = PlayerInfo[playerid][Deaths];
  482. new query[300], pname[24];
  483. GetPlayerName(playerid, pname, 24);
  484. format(query, sizeof(query), "UPDATE `playerdata` SET `score` = '%d', `kills` = '%d', `deaths` = '%d', `money` = '%d' WHERE `user` ='%s'", score, kills, deaths, money, pname);
  485. mysql_query(query);
  486. }
  487. AdminDuty[playerid] = 0;
  488. return 1;
  489. }
  490.  
  491. public OnPlayerDeath(playerid, killerid, reason)
  492. {
  493. new string[128], killed[MAX_PLAYER_NAME];
  494. SendDeathMessage(killerid,playerid,reason);
  495. GetPlayerName(playerid,killed,sizeof(killed));
  496. playersAliveCount--;
  497. GivePlayerMoney(killerid,1250);
  498. SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
  499. PlayerInfo[killerid][Kills]++;
  500. PlayerInfo[playerid][Deaths]++;
  501. format(string,sizeof(string),"You have killed %s, you gain +1 score also +1250 cash",killed);
  502. SendClientMessage(killerid,COLOR_RED,string);
  503. return 1;
  504. }
  505.  
  506. public OnVehicleSpawn(vehicleid)
  507. {
  508. return 1;
  509. }
  510.  
  511. public OnVehicleDeath(vehicleid, killerid)
  512. {
  513. return 1;
  514. }
  515.  
  516. public OnPlayerText(playerid, text[])
  517. {
  518. new string[128], playername[MAX_PLAYER_NAME];
  519. GetPlayerName(playerid, playername, sizeof(playername));
  520. format(string, sizeof(string), "[%d]%s: %s",playerid, playername, text);
  521. SendClientMessageToAll(GetPlayerColor(playerid),string);
  522. if(text[0] == '.' && AdminLevel[playerid] >= 1)
  523. {
  524. GetPlayerName(playerid, string, MAX_PLAYER_NAME);
  525. format(string, sizeof string, "[AdminChat] [%d]%s: %s",playerid, playername, text[1]);
  526. SendMessageToAllAdmins(string, COLOR_ORANGE);
  527. return 0;
  528. }
  529. return 0;
  530. }
  531.  
  532. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  533. {
  534. return 1;
  535. }
  536.  
  537. public OnPlayerExitVehicle(playerid, vehicleid)
  538. {
  539. return 1;
  540. }
  541.  
  542. public OnPlayerStateChange(playerid, newstate, oldstate)
  543. {
  544. return 1;
  545. }
  546.  
  547. public OnPlayerEnterCheckpoint(playerid)
  548. {
  549. return 1;
  550. }
  551.  
  552. public OnPlayerLeaveCheckpoint(playerid)
  553. {
  554. return 1;
  555. }
  556.  
  557. public OnPlayerEnterRaceCheckpoint(playerid)
  558. {
  559. return 1;
  560. }
  561.  
  562. public OnPlayerLeaveRaceCheckpoint(playerid)
  563. {
  564. return 1;
  565. }
  566.  
  567. public OnRconCommand(cmd[])
  568. {
  569. return 1;
  570. }
  571.  
  572. public OnObjectMoved(objectid)
  573. {
  574. return 1;
  575. }
  576.  
  577. public OnPlayerObjectMoved(playerid, objectid)
  578. {
  579. return 1;
  580. }
  581.  
  582. public OnPlayerPickUpPickup(playerid, pickupid)
  583. {
  584. if(pickupid == gunshop[7])
  585. {
  586. SetPlayerInterior(playerid, 7);
  587. SetPlayerVirtualWorld(playerid, 1);
  588. SetPlayerPos(playerid, 314.820983,-141.431991,999.601562);
  589. SendClientMessage(playerid, COLOR_BROWNLIGHT, "Type /exit to exit the gun shop");
  590. SendClientMessage(playerid, COLOR_BROWNLIGHT, "To buy guns use /buygun");
  591. IsInGunShop[playerid] = 1;
  592. GunShopID[playerid] = 1;
  593. }
  594. return 1;
  595. }
  596.  
  597. public OnVehicleMod(playerid, vehicleid, componentid)
  598. {
  599. return 1;
  600. }
  601.  
  602. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  603. {
  604. return 1;
  605. }
  606.  
  607. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  608. {
  609. return 1;
  610. }
  611.  
  612. public OnPlayerSelectedMenuRow(playerid, row)
  613. {
  614. return 1;
  615. }
  616.  
  617. public OnPlayerExitedMenu(playerid)
  618. {
  619. return 1;
  620. }
  621.  
  622. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  623. {
  624. return 1;
  625. }
  626.  
  627. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  628. {
  629. return 1;
  630. }
  631.  
  632. public OnRconLoginAttempt(ip[], password[], success)
  633. {
  634. return 1;
  635. }
  636.  
  637. public OnPlayerUpdate(playerid)
  638. {
  639. new str[256];
  640. format(str,sizeof(str),"~w~xfreeroam.tk ~w~Team: ~w~%s ~w~Score: ~w~%d ~w~Kills: ~w~%d ~w~Deaths: ~w~%d ~w~Money: ~w~%d",GetTeamName(playerid), GetPlayerScore(playerid), PlayerInfo[playerid][Kills], PlayerInfo[playerid][Deaths], GetPlayerMoney(playerid));
  641. TextDrawSetString(Text:Stats[playerid],str);
  642. return 1;
  643. }
  644.  
  645. public OnPlayerStreamIn(playerid, forplayerid)
  646. {
  647. return 1;
  648. }
  649.  
  650. public OnPlayerStreamOut(playerid, forplayerid)
  651. {
  652. return 1;
  653. }
  654.  
  655. public OnVehicleStreamIn(vehicleid, forplayerid)
  656. {
  657. return 1;
  658. }
  659.  
  660. public OnVehicleStreamOut(vehicleid, forplayerid)
  661. {
  662. return 1;
  663. }
  664.  
  665. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  666. {
  667. //================================================================//
  668. // Gun Shop //
  669. //================================================================//
  670. if(dialogid == 100)
  671. {
  672. if(response)
  673. {
  674. if(listitem == 0)
  675. {
  676. if(GetPlayerMoney(playerid) >= 10000)
  677. {
  678. GivePlayerMoney(playerid, -10000);
  679. SetPlayerHealth(playerid, 100);
  680. SendClientMessage(playerid, COLOR_BEIGE, "[Server] You bought Health!");
  681. }
  682. else
  683. {
  684. SendClientMessage(playerid, COLOR_GREY, "[Server] You dont have enough money!");
  685. }
  686. }
  687. if(listitem == 1)
  688. {
  689. if(GetPlayerMoney(playerid) >= 11500)
  690. {
  691. GivePlayerMoney(playerid, -11500);
  692. SetPlayerArmour(playerid, 100);
  693. SendClientMessage(playerid, COLOR_BEIGE, "[Server] You bought Armour!");
  694. }
  695. else
  696. {
  697. SendClientMessage(playerid, COLOR_GREY, "[Server] You dont have enough money!");
  698. }
  699. }
  700. if(listitem == 2)
  701. {
  702. if(GetPlayerMoney(playerid) >= 2000)
  703. {
  704. GivePlayerMoney(playerid, -2000);
  705. GivePlayerWeapon(playerid, 22, 250);
  706. SendClientMessage(playerid, COLOR_BEIGE, "[Server] You bought a 9mm!");
  707. }
  708. else
  709. {
  710. SendClientMessage(playerid, COLOR_GREY, "[Server] You dont have enough money!");
  711. }
  712. }
  713. if(listitem == 3)
  714. {
  715. if(GetPlayerMoney(playerid) >= 5000)
  716. {
  717. GivePlayerMoney(playerid, -5000);
  718. GivePlayerWeapon(playerid, 24, 250);
  719. SendClientMessage(playerid, COLOR_BEIGE, "[Server] You bought a Desert Eagle!");
  720. }
  721. else
  722. {
  723. SendClientMessage(playerid, COLOR_GREY, "[Server] You dont have enough money!");
  724. }
  725. }
  726. if(listitem == 4)
  727. {
  728. if(GetPlayerMoney(playerid) >= 8500)
  729. {
  730. GivePlayerMoney(playerid, -8500);
  731. GivePlayerWeapon(playerid, 29, 250);
  732. SendClientMessage(playerid, COLOR_BEIGE, "[Server] You bought a MP5!");
  733. }
  734. else
  735. {
  736. SendClientMessage(playerid, COLOR_GREY, "[Server] You dont have enough money!");
  737. }
  738. }
  739. if(listitem == 5)
  740. {
  741. if(GetPlayerMoney(playerid) >= 10000)
  742. {
  743. GivePlayerMoney(playerid, -10000);
  744. GivePlayerWeapon(playerid, 27, 250);
  745. SendClientMessage(playerid, COLOR_BEIGE, "[Server] You bought a Combat Shotgun!");
  746. }
  747. else
  748. {
  749. SendClientMessage(playerid, COLOR_GREY, "[Server] You dont have enough money!");
  750. }
  751. }
  752. if(listitem == 6)
  753. {
  754. if(GetPlayerMoney(playerid) >= 10000)
  755. {
  756. GivePlayerMoney(playerid, -10000);
  757. GivePlayerWeapon(playerid, 34, 250);
  758. SendClientMessage(playerid, COLOR_BEIGE, "[Server] You bought a Sniper Rifle!");
  759. }
  760. else
  761. {
  762. SendClientMessage(playerid, COLOR_GREY, "[Server] You dont have enough money!");
  763. }
  764. }
  765.  
  766. if(listitem == 7)
  767. {
  768. if(GetPlayerMoney(playerid) >= 12000)
  769. {
  770. GivePlayerMoney(playerid, -12000);
  771. GivePlayerWeapon(playerid, 28, 250);
  772. SendClientMessage(playerid, COLOR_BEIGE, "[Server] You bought a Uzi!");
  773. }
  774. else
  775. {
  776. SendClientMessage(playerid, COLOR_GREY, "[Server] You dont have enough money!");
  777. }
  778. }
  779.  
  780. if(listitem == 8)
  781. {
  782. if(GetPlayerMoney(playerid) >= 12500)
  783. {
  784. GivePlayerMoney(playerid, -12500);
  785. GivePlayerWeapon(playerid, 31, 250);
  786. SendClientMessage(playerid, COLOR_BEIGE, "[Server] You bought a M4!");
  787. }
  788. else
  789. {
  790. SendClientMessage(playerid, COLOR_GREY, "[Server] You dont have enough money!");
  791. }
  792. }
  793. }
  794. }
  795. //================================================================//
  796. // MySQL part //
  797. //================================================================//
  798. if(dialogid == DIALOG_REGISTER)
  799. {
  800. if(response)
  801. {
  802. if(!strlen(inputtext) || strlen(inputtext) > 25)
  803. {
  804. SendClientMessage(playerid, COLOR_RED,"~r~Error: ~w~You must insert a password between 1-25 characters!");
  805. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""Blue"Please register",""White"Welcome to "Red""SERVER_NAME""White"!\n"White"In order to start playing, you have to register!\n\n"White"Please insert a password below:", "Register", "Cancel");
  806. }
  807. else if(strlen(inputtext) > 0 && strlen(inputtext) < 25)
  808. {
  809. new escpass[100];
  810. mysql_real_escape_string(inputtext, escpass);
  811. MySQL_Register(playerid, escpass);
  812. }
  813. }
  814. if(!response)
  815. {
  816. SendClientMessage(playerid, COLOR_RED,"~r~Error: ~w~You must register before logging in!");
  817. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""Blue"Please register",""White"Welcome to "Red""SERVER_NAME""White"!\n"White"In order to start playing, you have to register!\n\n"White"Please insert a password below:", "Register", "Cancel");
  818. }
  819. }
  820. if(dialogid == DIALOG_LOGIN)
  821. {
  822. if(!response)
  823. {
  824. SendClientMessage(playerid, COLOR_RED,"~r~Error: ~w~You must login before you spawn!");
  825. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""Blue"Please log-in", ""White"Welcome back to "Red""SERVER_NAME""White"!\n"White"In order to start playing, you have to log-in!\n\n"White"Please insert "Red"your"White" password below:", "Login", "Cancel");
  826. }
  827. if(response)
  828. {
  829. new query[200], pname[24], escapepass[100];
  830. GetPlayerName(playerid, pname, 24);
  831. mysql_real_escape_string(inputtext, escapepass);
  832. format(query, sizeof(query), "SELECT `user` FROM `playerdata` WHERE `user` = '%s' AND password = `SHA1`('%s')", pname, escapepass);
  833. mysql_query(query);
  834. mysql_store_result();
  835. new numrows = mysql_num_rows();
  836. if(numrows == 1) MySQL_Login(playerid);
  837. if(!numrows)
  838. {
  839. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""Blue"Please log-in", ""White"Welcome back to "Red""SERVER_NAME""White"!\n"White"In order to start playing, you have to log-in!\n\n"White"Please insert "Red"your"White" password below:", "Login", "Cancel");
  840. SendClientMessage(playerid, COLOR_RED,"~r~Error: ~w~Incorrect password!");
  841. }
  842. mysql_free_result();
  843. }
  844. }
  845. return 1;
  846. }
  847.  
  848. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  849. {
  850. return 1;
  851. }
  852.  
  853. //============================================================================//
  854. // Player Commands //
  855. //============================================================================//
  856. CMD:commands(playerid, params[])
  857. {
  858. return cmd_cmds(playerid, params);
  859. }
  860. CMD:cmds(playerid, params[])
  861. {
  862. SendClientMessage(playerid, COLOR_YELLOW, "***************Commands***************");
  863. SendClientMessage(playerid, COLOR_YELLOW, "[Reg] /rules /kill /pm /stats /buygun /teams /myteam");
  864. SendClientMessage(playerid, COLOR_YELLOW, "[Reg] /anims /st /changename");
  865. return 1;
  866. }
  867. CMD:rules(playerid, params[])
  868. {
  869. SendClientMessage(playerid, COLOR_YELLOW, "***************Rules***************");
  870. SendClientMessage(playerid, COLOR_YELLOW, "•Do Not Hack ");
  871. SendClientMessage(playerid, COLOR_YELLOW, "•Do Not Passanger Seat Abuse");
  872. SendClientMessage(playerid, COLOR_YELLOW, "•Do Not C-Bug");
  873. SendClientMessage(playerid, COLOR_YELLOW, "•Respect All Players ");
  874. SendClientMessage(playerid, COLOR_YELLOW, "•Respect The Admins ");
  875. SendClientMessage(playerid, COLOR_YELLOW, "•Don't Spawn-Kill");
  876. SendClientMessage(playerid, COLOR_YELLOW, "•Don't Abuse /changename");
  877. SendClientMessage(playerid, COLOR_YELLOW, "•All other rules are on our forum, xfreeroam.tk");
  878. SendClientMessage(playerid, COLOR_YELLOW, "•If You Hack/Rulebreak You Be Punished");
  879. return 1;
  880. }
  881. //normal commands
  882. CMD:kill(playerid, params[])
  883. {
  884. SetPlayerHealth(playerid, 0.0);
  885. PlayerInfo[playerid][Deaths]++;
  886. return 1;
  887. }
  888. CMD:st(playerid, params[])
  889. {
  890. ForceClassSelection(playerid);
  891. SetPlayerHealth(playerid, 0.0);
  892. PlayerInfo[playerid][Deaths]++;
  893. return 1;
  894. }
  895. CMD:stats(playerid, params[])
  896. {
  897. new target=playerid; //default our target var as playerid
  898. if(!isnull(params)) sscanf(params, "r", target); //if the params aren't null, we sscanf the params
  899.  
  900. new string[200];
  901. format(string, sizeof(string), "Name: %s | ID: %d | Team: %s | Score: %d | Kills: %i | Deaths: %i | Money: %d | Adminlevel: %s", PlayerName(target), target, GetTeamName(target), GetPlayerScore(target), PlayerInfo[target][Kills], PlayerInfo[target][Deaths], GetPlayerMoney(target), AdminLevel[target]);
  902. SendClientMessage(playerid ,COLOR_BROWN, string);
  903. return 1;
  904. }
  905. CMD:buygun(playerid,params[])
  906. {
  907. if(IsPlayerInRangeOfPoint(playerid, 20, 314.820983,-141.431991,999.601562))
  908. {
  909. ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Ammu-Nation", "Health ($10,000)\nArmour ($11,500)\n9mm ($2,000)\nDesert Eagle ($5,000)\nMP5 ($8,500)\nCombat Shotgun ($10,000)\nSniper Rifle ($10,000)\nUzi ($12,000)\nM4 ($12,500)", "Select", "Cancel");
  910. }
  911. else
  912. {
  913. SendClientMessage(playerid, COLOR_RED, "[Server] You are not in a gun shop!");
  914. }
  915. return 1;
  916. }
  917. CMD:pm(playerid,params[])
  918. {
  919. new pid; //the player(id) defined
  920. new message[128]; //the string for the main-message
  921. if(sscanf(params, "us[32]", pid, message)) //detects the wrong parameters, and if wrong, shows the usage
  922. {
  923. return SendClientMessage(playerid, COLOR_RED, "USAGE: /pm <playerid> <message>");//displays the usage, if parameters are wrong
  924. }
  925. if(!IsPlayerConnected(pid)) //when the ID is wrong/the player's not connected
  926. return SendClientMessage(playerid, COLOR_RED, "ERROR: Player is not connected!"); //send him this message to know that it's a wrong ID
  927.  
  928. new pmsg[256]; //the message for player 1
  929. new pname[MAX_PLAYER_NAME]; //the name of player 1
  930. GetPlayerName(playerid,pname,sizeof(pname)); //get (receive the info) of the player's name
  931. format(pmsg,sizeof(pmsg),"PM from %s(%d): %s",pname,playerid,message); //this will receive the message from the player, with the first message-string
  932.  
  933. new pidmsg[256]; //the message for player 2
  934. new pidname[MAX_PLAYER_NAME]; //the name of player 2
  935. GetPlayerName(pid,pidname,sizeof(pidname)); //get (receive the info) of the player's name
  936. format(pidmsg,sizeof(pidmsg),"PM to %s(%d): %s",pidname,pid,message); //this will let the player know, that he has sent successfully a message to his destination
  937. SendClientMessage(pid, COLOR_YELLOW, pmsg); //the message for player 1 should appear in orange, the first message-string is used here
  938. PlayerPlaySound(pid,1057,0.0,0.0,0.0); //play a "success-sound"
  939. SendClientMessage(playerid, COLOR_YELLOW, pidmsg); //the message for player 2 should also appear in orange, the second message-string is used here
  940. return 1;
  941. }
  942. CMD:teams(playerid, params[])
  943. {
  944. new string[128];
  945. format(string,sizeof(string), "Triads : %d | Aztecas: %d | Grove: %d | Police: %d | Ballas: %d",GetTeamPlayersAlive(TEAM_TRIADS), GetTeamPlayersAlive(TEAM_AZTECAS), GetTeamPlayersAlive(TEAM_GROVE), GetTeamPlayersAlive(TEAM_POLICE), GetTeamPlayersAlive(TEAM_BALLAS));
  946. SendClientMessage(playerid ,COLOR_GREENLIGHT, string);
  947. return 1;
  948. }
  949. CMD:myteam(playerid, params[])
  950. {
  951. new string[128];
  952. format(string, sizeof(string), "You're a part of %s", GetTeamName(playerid));
  953. SendClientMessage(playerid, 0x00CCCCAA, string);
  954. return 1;
  955. }
  956. CMD:changename(playerid, params[])
  957. {
  958. new newname[24];
  959. new string[128];
  960. new pname[MAX_PLAYER_NAME];
  961. if(sscanf(params, "s[24]",newname))return SendClientMessage(playerid, COLOR_RED,"Usage: /changename <New Name>");
  962.  
  963. GetPlayerName(playerid,pname,24);
  964. new query1[256],escapename[24];
  965. mysql_real_escape_string(newname, escapename);
  966. format(query1, sizeof(query1), "SELECT `user` FROM `playerdata` WHERE `user` = '%s'", escapename);
  967. mysql_query(query1);
  968. mysql_store_result();
  969. new rows = mysql_num_rows();
  970. if(!rows)
  971. {
  972. new query[256];
  973. format(query, sizeof(query), "UPDATE `playerdata` SET `user`= '%s' WHERE `user` ='%s'",escapename,pname);
  974. mysql_query(query);
  975. SetPlayerName(playerid ,newname);
  976. format(string, sizeof(string),"You have changed your name to %s", newname);
  977. SendClientMessage(playerid, COLOR_GRAYDARK, string);
  978. format(string, sizeof(string),"%s has changed their name into %s", pname, newname);
  979. SendMessageToAllAdmins(string, COLOR_GRAYDARK);
  980. }
  981. else if(rows == 1)
  982. {
  983. SendClientMessage(playerid, COLOR_RED, "This name already exists!");
  984. }
  985. mysql_free_result();
  986. return 1;
  987. }
  988. CMD:report(playerid, params[])
  989. {
  990. new string[128];
  991. if (sscanf(params, "us[200]", plid, estring)) return SendClientMessage(playerid, 0xFF0000AA, "Usage: /report <playerid> <reason>");
  992. if (!IsPlayerConnected(plid)) return SendClientMessage(playerid, 0xFF0000AA, "The player you have tried to report is not connected!");
  993. if (plid == playerid) return SendClientMessage(playerid, 0xFF0000AA, "You cannot report yourself!");
  994. format(string, sizeof(string), "REPORT: %s(%d) has reported %s(%d) for %s", PlayerName(playerid), playerid, PlayerName(plid), plid, estring);
  995. SendMessageToAllAdmins(string, 0xFF0000AA);
  996. SendClientMessage(playerid, 0x99FF66, "Your report has been sent.");
  997. if(reportnumber != 5)
  998. {
  999. format(reports[reportnumber], 100, "%s", string);
  1000. reportnumber++;
  1001. return 1;
  1002. }
  1003. if(reportnumber == 5)
  1004. {
  1005. reportnumber = 0;
  1006. format(reports[reportnumber], 100, "%s", string);
  1007. reportnumber ++;
  1008. }
  1009. return 1;
  1010. }
  1011. CMD:exit(playerid, params[])
  1012. {
  1013. if(IsInGunShop[playerid] == 1)
  1014. {
  1015. if( GetPlayerInterior(playerid) != 0 )
  1016. {
  1017. IsInGunShop[playerid] = 0;
  1018. SetPlayerVirtualWorld(playerid, 0);
  1019. SetPlayerInterior(playerid, 0);
  1020.  
  1021. if(GunShopID[playerid] == 1)
  1022. {
  1023. SetPlayerPos(playerid, 1366.1251,-1279.5922,13.5469);
  1024. }
  1025. GunShopID[playerid] = 0;
  1026. }
  1027. }
  1028. return 1;
  1029. }
  1030. CMD:anims(playerid, params[])
  1031. {
  1032. SendClientMessage(playerid, COLOR_INDIGO, "***************Anims***************");
  1033. SendClientMessage(playerid, COLOR_INDIGO, "/stopanim /handsup /smoke /piss /wank /scratch /cellin /cellout /robman");
  1034. SendClientMessage(playerid, COLOR_INDIGO, "/injured /die /die2 /lookout /aim");
  1035. return 1;
  1036. }
  1037. CMD:stopanim(playerid, params[])
  1038. {
  1039. ApplyAnimation(playerid, "CARRY", "crry_prtial", 2.0, 0, 0, 0, 0, 0);
  1040. return 1;
  1041. }
  1042. CMD:handsup(playerid, params[])
  1043. {
  1044. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_HANDSUP);
  1045. return 1;
  1046. }
  1047. CMD:smoke(playerid, params[])
  1048. {
  1049. ApplyAnimation(playerid,"SMOKING", "M_smklean_loop", 4.0, 1, 0, 0, 0, 0);
  1050. return 1;
  1051. }
  1052. CMD:piss(playerid,params[])
  1053. {
  1054. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_PISSING);
  1055. return 1;
  1056. }
  1057. CMD:wank(playerid, params[])
  1058. {
  1059. ApplyAnimation(playerid,"PAULNMAC", "wank_loop", 1.800001, 1, 0, 0, 1, 600);
  1060. return 1;
  1061. }
  1062. CMD:scratch(playerid, params[])
  1063. {
  1064. ApplyAnimation(playerid,"MISC","Scratchballs_01", 4.0, 1, 0, 0, 0, 0);
  1065. return 1;
  1066. }
  1067. CMD:cellin(playerid, params[])
  1068. {
  1069. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USECELLPHONE);
  1070. return 1;
  1071. }
  1072. CMD:cellout(playerid, params[])
  1073. {
  1074. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
  1075. return 1;
  1076. }
  1077.  
  1078. CMD:robman(playerid, params[])
  1079. {
  1080. ApplyAnimation(playerid, "SHOP", "ROB_Loop_Threat", 4.0, 1, 0, 0, 0, 0);
  1081. return 1;
  1082. }
  1083. CMD:injured(playerid, params[])
  1084. {
  1085. ApplyAnimation(playerid,"SWEET","Sweet_injuredloop", 4.0, 1, 0, 0, 0, 0);
  1086. return 1;
  1087. }
  1088. CMD:die(playerid, params[])
  1089. {
  1090. ApplyAnimation(playerid,"KNIFE","KILL_Knife_Ped_Die",4.1,0,1,1,1,1);
  1091. return 1;
  1092. }
  1093. CMD:die2(playerid, params[])
  1094. {
  1095. ApplyAnimation(playerid, "PARACHUTE", "FALL_skyDive_DIE", 4.0, 0, 1, 1, 1, -1);
  1096. return 1;
  1097. }
  1098. CMD:lookout(playerid, params[])
  1099. {
  1100. ApplyAnimation(playerid, "SHOP", "ROB_Shifty", 4.0, 0, 0, 0, 0, 0);
  1101. return 1;
  1102. }
  1103. CMD:aim(playerid, params[])
  1104. {
  1105. ApplyAnimation(playerid, "SHOP", "SHP_Gun_Aim", 4.0, 0, 1, 1, 1, -1);
  1106. return 1;
  1107. }
  1108. //============================================================================//
  1109. // Admin Commands //
  1110. //============================================================================//
  1111. CMD:ahelp(playerid, params[])
  1112. {
  1113.  
  1114. if (AdminLevel[playerid] < 1) {
  1115. SendClientMessage(playerid,COLOR_RED, " [Server] You don't have permission for this command !");
  1116. }
  1117. if (AdminLevel[playerid] >= 1) {
  1118. SendClientMessage(playerid,COLOR_PINK, " [Admin]: /cc /kick /spec(off) /warn /slap /ip");
  1119. }
  1120. if (AdminLevel[playerid] >= 2) {
  1121. SendClientMessage(playerid,COLOR_PINK, " [Senior Admin]: /ban /goto /healall /armourall");
  1122. }
  1123. if (AdminLevel[playerid] >= 3) {
  1124. SendClientMessage(playerid,COLOR_PINK, " [Lead Admin]: /announce");
  1125. }
  1126. if (AdminLevel[playerid] >= 4) {
  1127. SendClientMessage(playerid,COLOR_PINK, " [Admin manager]:");
  1128. }
  1129. if (AdminLevel[playerid] >= 5) {
  1130. SendClientMessage(playerid,COLOR_PINK, " [Hiring Managing]: /rac");
  1131. }
  1132. if (AdminLevel[playerid] == 6) {
  1133. SendClientMessage(playerid,COLOR_PINK, " [Owner]:");
  1134. }
  1135. return 1;
  1136. }
  1137. CMD:healall(playerid, params[])
  1138. {
  1139. new sendername[16], string[128];
  1140. GetPlayerName(playerid, sendername, sizeof(sendername));
  1141.  
  1142. if(AdminLevel[playerid] >= 2)
  1143. {
  1144. format(string, sizeof(string), "Administrator %s has healed everyone", sendername);
  1145. SendClientMessageToAll(COLOR_ORANGE, string);
  1146. foreach(Player, i)
  1147. {
  1148. SetPlayerHealth(i, 100);
  1149. }
  1150. }
  1151. else
  1152. {
  1153. SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
  1154. }
  1155. return 1;
  1156. }
  1157. CMD:ban(playerid, params[])
  1158. {
  1159. if(AdminLevel[playerid] < 2) return SendClientMessage(playerid, COLOR_RED, "You're not a level 2+ admin!");
  1160. new target, reason[128];
  1161. if(sscanf(params, "us[128]", target, reason)) return SendClientMessage(playerid, COLOR_RED, "Usage: /ban [playerid/name] [reason]");
  1162. else if(target == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "Enter a valid player ID/name!");
  1163. new pName[MAX_PLAYER_NAME], gName[MAX_PLAYER_NAME], string[300]; //Immediately the query as well.
  1164. GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
  1165. GetPlayerName(target, gName, MAX_PLAYER_NAME);
  1166. format(string, sizeof string, "Administrator %s has banned %s [Reason: %s]", pName, gName, reason);
  1167. SendClientMessageToAll(COLOR_RED, string);
  1168. SendClientMessage(target, COLOR_RED, "You've been banned!");
  1169. SendClientMessage(target, COLOR_RED, "Visit xfreeroam.tk if you want to appeal your ban.");
  1170. new ip[16];
  1171. GetPlayerIp(target, ip, sizeof ip);
  1172. Ban(target);
  1173. return 1;
  1174. }
  1175. CMD:adminduty(playerid)
  1176. {
  1177. if(AdminLevel[playerid] >=1 || IsPlayerAdmin(playerid))
  1178. {
  1179. if (AdminDuty[playerid] == 0)
  1180. {
  1181. new string[128];
  1182. new Float:x,Float:y,Float:z;
  1183. new Text3D:label = Create3DTextLabel("Admin On Duty!", COLOR_GREEN,x,y,z, 40.0, 0, 0);
  1184. GetPlayerPos(playerid,x,y,z);
  1185. SetPlayerHealth(playerid,999999);
  1186. SetPlayerColor(playerid,COLOR_RED);
  1187. SetPlayerSkin(playerid,116);
  1188. format(string,sizeof(string), "%s is now on Admin Duty!",GetPlayerNameEx(playerid));
  1189. SendClientMessageToAll(COLOR_RED,string);
  1190. SendClientMessage(playerid,COLOR_RED,"You are now on duty!");
  1191. Attach3DTextLabelToPlayer(label,playerid,0.0, 0.0, 0.7);
  1192. AdminDuty[playerid] = 1;
  1193. }
  1194. else if (AdminDuty[playerid] == 1)
  1195. {
  1196. new string[128];
  1197. new Float:x,Float:y,Float:z;
  1198. new Text3D:label = Create3DTextLabel("Admin On Duty!", COLOR_GREEN,x,y,z, 40.0, 0, 0);
  1199. Delete3DTextLabel(label);
  1200. SetPlayerHealth(playerid,100);
  1201. format(string,sizeof(string)," %s is now off Admin Duty!",GetPlayerNameEx(playerid));
  1202. SendClientMessageToAll(COLOR_RED,string);
  1203. SendClientMessage(playerid, COLOR_RED,"You are now off duty!");
  1204. AdminDuty[playerid] = 0;
  1205. }
  1206. }
  1207. else
  1208. SendClientMessage(playerid,COLOR_RED,"You need to be admin level 1!");
  1209. return 1;
  1210. }
  1211. CMD:armourall(playerid, params[])
  1212. {
  1213. new sendername[16], string[128];
  1214. GetPlayerName(playerid, sendername, sizeof(sendername));
  1215.  
  1216. if(AdminLevel[playerid] >= 2)
  1217. {
  1218. format(string, sizeof(string), "Administrator %s has armoured everyone", sendername);
  1219. SendClientMessageToAll(COLOR_ORANGE, string);
  1220. foreach(Player, i)
  1221. {
  1222. SetPlayerArmour(i, 100);
  1223. }
  1224. }
  1225. else
  1226. {
  1227. SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
  1228. }
  1229. return 1;
  1230. }
  1231. CMD:warn(playerid, params[])
  1232. {
  1233. if(AdminLevel[playerid] < 1)
  1234. {
  1235. SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
  1236. return 1;
  1237. }
  1238.  
  1239. // Our player is an admin and has the rights to use this command, so parse the parameters
  1240. new giveplayerid, reason[32];
  1241. new giveplayer[16];
  1242. new sendername[16];
  1243. new str[128];
  1244. if(sscanf(params, "us[128]", giveplayerid, reason))
  1245. {
  1246. SendClientMessage(playerid, COLOR_RED, "Correct Usage: /warn [PlayerID] [Reason]");
  1247. return 1;
  1248. }
  1249.  
  1250. // Check if the given player ID/name is connected/found
  1251. if(giveplayerid == INVALID_PLAYER_ID)
  1252. {
  1253. SendClientMessage(playerid, COLOR_RED, "This player is not connected!");
  1254. return 1;
  1255. }
  1256.  
  1257. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1258.  
  1259. if(WarnedTimes[giveplayerid] == 0)
  1260. {
  1261. WarnedTimes[giveplayerid]+=1;
  1262. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1263. GetPlayerName(playerid, sendername, sizeof (sendername));
  1264. format(str, sizeof (str), "Administrator %s has warned %s [Reason: %s] [1/3 Warnings]", sendername, giveplayer, reason);
  1265. SendClientMessageToAll(COLOR_RED, str);
  1266. print(str);
  1267. return 1;
  1268. }
  1269. if(WarnedTimes[giveplayerid] == 1)
  1270. {
  1271. WarnedTimes[giveplayerid]+=1;
  1272. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1273. GetPlayerName(playerid, sendername, sizeof (sendername));
  1274. format(str, sizeof (str), "Administrator %s has warned %s [Reason: %s] [2/3 Warnings]", sendername, giveplayer, reason);
  1275. SendClientMessageToAll(COLOR_RED, str);
  1276. print(str);
  1277. return 1;
  1278. }
  1279. else if(WarnedTimes[giveplayerid] == 2)
  1280. {
  1281. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1282. GetPlayerName(playerid, sendername, sizeof (sendername));
  1283. format(str, sizeof (str), "Administrator %s has kicked %s [Reason: %s] [3/3 Warnings]", sendername, giveplayer, reason);
  1284. SendClientMessageToAll(COLOR_RED, str);
  1285. Kick(giveplayerid);
  1286. return 1;
  1287. }
  1288. return 1;
  1289. }
  1290. CMD:slap(playerid, params[])
  1291. {
  1292. new Float:x, Float:y, Float:z,Float:health;
  1293. new string[128],
  1294. pname[MAX_PLAYER_NAME],
  1295. victimname[MAX_PLAYER_NAME],
  1296. victimid;
  1297. if (AdminLevel[playerid] >= 1)
  1298. {
  1299. if(sscanf(params, "us[30]", victimid)) return SendClientMessage(playerid, COLOR_RED, "SYNTAX: /slap <playerid/name>");
  1300. GetPlayerPos(victimid, x, y, z);
  1301. GetPlayerName(playerid, pname, sizeof(pname));
  1302. GetPlayerName(victimid, victimname, sizeof(victimname));
  1303. GetPlayerHealth(victimid, health);
  1304. SetPlayerHealth(victimid, health-25);
  1305. SetPlayerPos(victimid, x, y, z+5);
  1306. format(string, sizeof(string), "You have slaped %s", victimname);
  1307. SendClientMessage(playerid, COLOR_RED, string);
  1308. }
  1309. return 1;
  1310. }
  1311. CMD:goto(playerid, params[])
  1312. {
  1313. new giveplayer[16];
  1314. new sendername[16];
  1315. if(AdminLevel[playerid] < 2) return SendClientMessage(playerid, COLOR_RED, "You're not a level 2+ admin!");
  1316. new target;
  1317. if(sscanf(params, "u", target)) return SendClientMessage(playerid, COLOR_RED, "Usage: /goto [playerid/name]");
  1318. else if(target == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "Enter a valid player ID/name!");
  1319. new Float:Pos[3];
  1320. GetPlayerPos(target, Pos[0], Pos[1], Pos[2]);
  1321. if(!IsPlayerInAnyVehicle(playerid)) SetPlayerPos(playerid, Pos[0] + 2, Pos[1] + 2, Pos[2] + 2);
  1322. else SetVehiclePos(GetPlayerVehicleID(playerid), Pos[0] + 2, Pos[1] + 2, Pos[2] + 2);
  1323. SetPlayerInterior(playerid, GetPlayerInterior(target));
  1324. if(IsPlayerInAnyVehicle(playerid)) LinkVehicleToInterior(GetPlayerVehicleID(playerid), GetPlayerInterior(target));
  1325. SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(target));
  1326. if(IsPlayerInAnyVehicle(playerid)) SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetPlayerVirtualWorld(target));
  1327. new string[128], pName[MAX_PLAYER_NAME], gName[MAX_PLAYER_NAME];
  1328. GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
  1329. GetPlayerName(target, gName, MAX_PLAYER_NAME);
  1330. format(string, sizeof string, "Administrator %s has teleported to %s", sendername, giveplayer);
  1331. SendMessageToAllAdmins(string, COLOR_GRAYDARK);
  1332. return 1;
  1333. }
  1334. CMD:get(playerid, params[])
  1335. {
  1336. new giveplayer[16];
  1337. new sendername[16];
  1338. if(AdminLevel[playerid] < 2) return SendClientMessage(playerid, COLOR_RED, "You're not a level 2+ admin!");
  1339. new target;
  1340. if(sscanf(params, "u", target)) return SendClientMessage(playerid, COLOR_RED, "Usage: /get(here) [playerid/name]");
  1341. else if(target == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "Enter a valid player ID/name!");
  1342. new Float:Pos[3];
  1343. GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  1344. if(!IsPlayerInAnyVehicle(target)) SetPlayerPos(target, Pos[0] + 2, Pos[1] + 2, Pos[2] + 2);
  1345. else SetVehiclePos(GetPlayerVehicleID(target), Pos[0] + 2, Pos[1] + 2, Pos[2] + 2);
  1346. SetPlayerInterior(target, GetPlayerInterior(playerid));
  1347. if(IsPlayerInAnyVehicle(target)) LinkVehicleToInterior(GetPlayerVehicleID(target), GetPlayerInterior(playerid));
  1348. SetPlayerVirtualWorld(target, GetPlayerVirtualWorld(playerid));
  1349. if(IsPlayerInAnyVehicle(target)) SetVehicleVirtualWorld(GetPlayerVehicleID(target), GetPlayerVirtualWorld(playerid));
  1350. new string[128], pName[MAX_PLAYER_NAME], gName[MAX_PLAYER_NAME];
  1351. GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
  1352. GetPlayerName(target, gName, MAX_PLAYER_NAME);
  1353. format(string, sizeof string, "Administrator %s has teleported %s to him", sendername, giveplayer);
  1354. SendMessageToAllAdmins(string, COLOR_GRAYDARK);
  1355. return 1;
  1356. }
  1357. CMD:rac(playerid, params[])
  1358. {
  1359. new sendername[16];
  1360. if(AdminLevel[playerid] < 4)
  1361. SendClientMessage(playerid,COLOR_RED," [!] You don't have permission for this command !");
  1362. new bool:vehicleused[MAX_VEHICLES];
  1363. for(new i=0; i < MAX_PLAYERS; i++)
  1364. {
  1365. if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
  1366. {
  1367. vehicleused[GetPlayerVehicleID(i)] = true;
  1368. }
  1369. }
  1370. for(new i=1; i < MAX_VEHICLES; i++)
  1371. {
  1372. if(!vehicleused[i])
  1373. {
  1374. SetVehicleToRespawn(i);
  1375. }
  1376. }
  1377. new msg[128];
  1378. format(msg, sizeof(msg), "Administrator %d has respawned all unused vehicles", sendername);
  1379. SendClientMessageToAll(COLOR_YELLOW, msg);
  1380. return 1;
  1381. }
  1382. CMD:unbanip(playerid, params[])
  1383. {
  1384. if(AdminLevel[playerid] < 3) return SendClientMessage(playerid, COLOR_RED, "You aren't a level 3+ admin!");
  1385. new ip[16];
  1386. new sendername[16];
  1387. if(sscanf(params, "s[16]", ip)) return SendClientMessage(playerid, COLOR_RED, "Usage: /unbanip [ip]");
  1388. new string[128], pName[MAX_PLAYER_NAME];
  1389. GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
  1390. format(string, sizeof string, "Administrator %s has unbanned an ip: %s", sendername, ip);
  1391. SendMessageToAllAdmins(string, COLOR_GRAYDARK);
  1392. format(string, sizeof string, "unbanip %s", ip);
  1393. SendRconCommand(string);
  1394. return 1;
  1395. }
  1396. CMD:ip(playerid, params[])
  1397. {
  1398. if(AdminLevel[playerid] < 1) return SendClientMessage(playerid, COLOR_RED, "You're not a level 1+ admin!");
  1399. new target;
  1400. if(sscanf(params, "u", target)) return SendClientMessage(playerid, COLOR_RED, "Usage: /ip [playerid/name]");
  1401. else if(target == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "Enter a valid player ID/name!");
  1402. new string[128], IP[16];
  1403. GetPlayerName(target, string, MAX_PLAYER_NAME);
  1404. GetPlayerIp(target, IP, 16);
  1405. format(string, sizeof string, "%s's IP: %s", string, IP);
  1406. SendClientMessage(playerid, COLOR_TEAL, string);
  1407. return 1;
  1408. }
  1409. CMD:kick(playerid, params[])
  1410. {
  1411. if (AdminLevel[playerid] < 1) {
  1412. SendClientMessage(playerid, COLOR_RED, "[Server] You don't have permission for this command !");
  1413. }
  1414. else {
  1415. if (AdminLevel[playerid] >= 1) {
  1416. new pos;
  1417. if(!params[0] || !(pos = chrfind(' ', params) + 1) || !params[pos]) return SendClientMessage(playerid, COLOR_RED, "[!] Usage: /kick [ID] [Reason]");
  1418. new id = strval(params);
  1419. if (!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_RED, " [!] Player with this ID is not on the server !");
  1420. if(strlen(params[pos]) > 50) return SendClientMessage(playerid, COLOR_RED, " [!] Reason is too long !");
  1421. new string[150];
  1422. format(string, sizeof(string), "Administrator %s kicked %s [Reason: %s]", PlayerName(playerid), PlayerName(id), params[pos]);
  1423. SendClientMessageToAll(COLOR_RED, string);
  1424. Kick(id);
  1425. }
  1426. }
  1427. return 1;
  1428. }
  1429. CMD:announce(playerid, params[])
  1430. {
  1431. new pName[MAX_PLAYER_NAME];
  1432. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1433. new string[128];
  1434. if(AdminLevel[playerid] < 3) return SendClientMessage(playerid, COLOR_RED, "You're not a level 3+ admin!");
  1435. if(isnull(params)) return SendClientMessage(playerid, COLOR_RED, "Usage: /announce [message]");
  1436. GameTextForAll(params, 3800, 6);
  1437. format(string, sizeof(string), "Administrator %s used announce", pName);
  1438. SendMessageToAllAdmins(string, COLOR_GRAYDARK);
  1439. return 1;
  1440. }
  1441. CMD:cc(playerid, params[])
  1442. {
  1443. if (AdminLevel[playerid] < 1) {
  1444. SendClientMessage(playerid, COLOR_RED, "[Server] You don't have permission for this command !");
  1445. }
  1446. else {
  1447. if (AdminLevel[playerid] >= 1)
  1448. {
  1449.  
  1450. #pragma unused params
  1451. #pragma unused playerid
  1452. for(new c=0;c<65;c++) SendClientMessageToAll(COLOR_WHITE," ");
  1453. new string[200];
  1454. SendClientMessageToAll(COLOR_BLUE, string);
  1455. }
  1456. }
  1457. return 1;
  1458. }
  1459. CMD:v(playerid, params[])
  1460. {
  1461. new sendername[16];
  1462. if(AdminLevel[playerid] < 3) return SendClientMessage(playerid, COLOR_RED, "You aren't a level 3+ admin!");
  1463. new veh[24], color[2];
  1464. if(sscanf(params, "s[24]I(-1)I(-1)", veh, color[0], color[1])) return SendClientMessage(playerid, COLOR_RED, "Usage: /veh [vehicleid/name]");
  1465.  
  1466. new VehicleNames[212][] = {
  1467. {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},{"Dumper"},
  1468. {"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},{"Pony"},{"Mule"},
  1469. {"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},{"Washington"},
  1470. {"Bobcat"},{"Mr Whoopee"},{"BF Injection"},{"Hunter"},{"Premier"},{"Enforcer"},{"Securicar"},
  1471. {"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Trailer 1"},{"Previon"},
  1472. {"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"},
  1473. {"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Trailer 2"},{"Turismo"},
  1474. {"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"},
  1475. {"Skimmer"},{"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"},
  1476. {"Sanchez"},{"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"},
  1477. {"Rustler"},{"ZR-350"},{"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"},
  1478. {"Baggage"},{"Dozer"},{"Maverick"},{"News Chopper"},{"Rancher"},{"FBI Rancher"},{"Virgo"},{"Greenwood"},
  1479. {"Jetmax"},{"Hotring"},{"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"},
  1480. {"Mesa"},{"RC Goblin"},{"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"},
  1481. {"Super GT"},{"Elegant"},{"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"},
  1482. {"Tanker"}, {"Roadtrain"},{"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"},
  1483. {"NRG-500"},{"HPV1000"},{"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"},
  1484. {"Willard"},{"Forklift"},{"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"},
  1485. {"Blade"},{"Freight"},{"Streak"},{"Vortex"},{"Vincent"},{"Bullet"},{"Clover"},{"Sadler"},
  1486. {"Firetruck LA"},{"Hustler"},{"Intruder"},{"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"},
  1487. {"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},{"Monster A"},{"Monster B"},{"Uranus"},{"Jester"},
  1488. {"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},{"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"},
  1489. {"Bandito"},{"Freight Flat"},{"Streak Carriage"},{"Kart"},{"Mower"},{"Duneride"},{"Sweeper"},
  1490. {"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"},
  1491. {"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Hotdog"},{"Club"},{"Freight Carriage"},
  1492. {"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},{"Police Car (LSPD)"},{"Police Car (SFPD)"},
  1493. {"Police Car (LVPD)"},{"Police Ranger"},{"Picador"},{"S.W.A.T. Van"},{"Alpha"},{"Phoenix"},{"Glendale"},
  1494. {"Sadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},{"Boxville"},{"Farm Plow"},
  1495. {"Utility Trailer"}
  1496. }, vehicle = -1;
  1497.  
  1498. for(new v; v < 212; v++) if(strfind(VehicleNames[v], veh, true) != -1) { vehicle = v + 400; break; }
  1499. if(vehicle == -1) vehicle = strval(veh);
  1500. if(vehicle < 400 || vehicle > 611) return SendClientMessage(playerid, COLOR_RED, "Enter a valid vehicle name or an ID between 400 and 611!");
  1501.  
  1502. new Float:Pos[4];
  1503. if(IsPlayerInAnyVehicle(playerid))
  1504. {
  1505. GetVehiclePos(GetPlayerVehicleID(playerid), Pos[0], Pos[1], Pos[2]);
  1506. GetVehicleZAngle(GetPlayerVehicleID(playerid), Pos[3]);
  1507. }
  1508. else
  1509. {
  1510. GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  1511. GetPlayerFacingAngle(playerid, Pos[3]);
  1512. }
  1513. PutPlayerInVehicle(playerid, CreateVehicle(vehicle, Pos[0], Pos[1], Pos[2], Pos[3], color[0], color[1], 120), 0);
  1514. new string[128];
  1515. GetPlayerName(playerid, veh, MAX_PLAYER_NAME);
  1516. format(string, sizeof string, "Administrator %s spawned %s", sendername, VehicleNames[vehicle - 400]);
  1517. SendMessageToAllAdmins(string, COLOR_GRAYDARK);
  1518. return 1;
  1519. }
  1520. CMD:setlevel(playerid, params[])
  1521. {
  1522. new iD, Level, query[300], pName[24], gMessage[250], gVictim[24];
  1523. if (AdminLevel[playerid] >= 5)
  1524. {
  1525. if(sscanf(params, "ui", iD, Level))
  1526. SendClientMessage(playerid, COLOR_RED, "Usage: /setlevel [playerid] [level]");
  1527. else if(iD == playerid)
  1528. SendClientMessage(playerid, COLOR_RED, "You cannot use that command on yourself");
  1529. else if(!IsPlayerConnected(iD))
  1530. SendClientMessage(playerid, COLOR_RED, "That player is offline.");
  1531. else
  1532. {
  1533. GetPlayerName(playerid, pName, sizeof(pName));
  1534. GetPlayerName(iD, gVictim, sizeof(gVictim));
  1535. format(query, sizeof(query), "UPDATE `playerdata` SET `level` = '%d' WHERE `user` ='%s'", AdminLevel[playerid], gVictim);
  1536. mysql_query(query);
  1537.  
  1538. format(gMessage, sizeof(gMessage), "You have set %s an admin. Level: %d", gVictim, Level);
  1539. SendClientMessage(playerid, COLOR_RED, gMessage);
  1540. }
  1541. }
  1542. else
  1543. {
  1544. SendClientMessage(playerid, COLOR_RED, "You are not high enough admin to use this.");
  1545. }
  1546. return 1;
  1547. }
  1548. CMD:spec(playerid,params[])
  1549. {
  1550. new giveplayer[16], pID;
  1551. new sendername[16];
  1552. new string[128];
  1553. if (AdminLevel[playerid] >= 1) {
  1554. if(sscanf(params,"u",pID)) return SendClientMessage(playerid,COLOR_RED,"Usage: /spec [ID]");
  1555. if(pID == playerid) return SendClientMessage(playerid,COLOR_RED,"[Server] You can not watch yourself.");
  1556. if(pID == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"[Sever] Invalid ID.");
  1557.  
  1558. if(IsPlayerInAnyVehicle(pID))
  1559. {
  1560. TogglePlayerSpectating(playerid,1);
  1561. PlayerSpectateVehicle(playerid,GetPlayerVehicleID(pID));
  1562. Spectating[playerid] = pID;
  1563. }
  1564. else
  1565. {
  1566. TogglePlayerSpectating(playerid,1);
  1567. PlayerSpectatePlayer(playerid,pID);
  1568. Spectating[playerid] = pID;
  1569. }
  1570. format(string, sizeof(string), "Administrator %s is specing %s", sendername, giveplayer);
  1571. SendMessageToAllAdmins(string, COLOR_GRAYDARK);
  1572. }
  1573. return 1;
  1574. }
  1575. CMD:specoff(playerid,params[])
  1576. {
  1577. if (AdminLevel[playerid] >= 1) {
  1578. if(Spectating[playerid] == -1) SendClientMessage(playerid,COLOR_RED,"[Server] You are not watching anyone.");
  1579. else
  1580. {
  1581. SetPlayerInterior(playerid,0);
  1582. SetPlayerVirtualWorld(playerid,0);
  1583. TogglePlayerSpectating(playerid,0);
  1584. SpawnPlayer(playerid);
  1585. Spectating[playerid] = -1;
  1586. }
  1587. }
  1588. return 1;
  1589. }
  1590. //============================================================================//
  1591. // Stocks / Publics //
  1592. //============================================================================//
  1593.  
  1594. stock RemoveUnderScore(playerid)
  1595. {
  1596. new name[MAX_PLAYER_NAME];
  1597. GetPlayerName(playerid,name,sizeof(name));
  1598. for(new i = 0; i < MAX_PLAYER_NAME; i++)
  1599. {
  1600. if(name[i] == '_') name[i] = ' ';
  1601. }
  1602. return name;
  1603. }
  1604. stock GetPlayerNameEx(playerid) //This is stock i made to make Getting players name easier
  1605. {
  1606. new Name[MAX_PLAYER_NAME];
  1607. GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  1608. return Name;
  1609. }
  1610. stock chrfind(needle, haystack[], start = 0)
  1611. {
  1612. while (haystack[start])
  1613. if (haystack[start++] == needle)
  1614. return start - 1;
  1615. return -1;
  1616. }
  1617. stock PlayerName(playerid)
  1618. {
  1619. new name[MAX_PLAYER_NAME];
  1620. GetPlayerName(playerid,name,MAX_PLAYER_NAME);
  1621. return name;
  1622. }
  1623. stock ErrorMessage(playerid, message[])
  1624. {
  1625. new string[128];
  1626. format(string, sizeof string, ""Red"[Error] "White"%s", message);
  1627. SendClientMessage(playerid, -1, string);
  1628. return 1;
  1629. }
  1630. stock escpname(playerid)
  1631. {
  1632.  
  1633. new escname[24];
  1634. GetPlayerName(playerid, Pname, 24);
  1635. mysql_real_escape_string(Pname, escname);
  1636. return escname;
  1637. }
  1638.  
  1639. stock escstring(stri[])
  1640. {
  1641. new escstr[200];
  1642. mysql_real_escape_string(stri, escstr);
  1643. return escstr;
  1644. }
  1645.  
  1646. stock MySQL_Register(playerid, passwordstring[])
  1647. {
  1648. new query[350], pname[24], IP[15];
  1649. new Bannedby[20];
  1650. format(Bannedby, 20, "Not Banned");
  1651. GetPlayerName(playerid, pname, 24);
  1652. GetPlayerIp(playerid, IP, 15);
  1653. format(query, sizeof(query), "INSERT INTO playerdata (user, password, score, kills, deaths, money, level, IP) VALUES('%s', SHA1('%s'), 0, 0, 0, 0, 0, '%s')", pname, passwordstring, IP);
  1654. mysql_query(query);
  1655. SendClientMessage(playerid, COLOR_RED,"Info: You have been registered on this server!");
  1656. Logged[playerid] = 1;
  1657. return 1;
  1658. }
  1659.  
  1660. stock MySQL_Login(playerid)
  1661. {
  1662. new query[300], pname[24], savingstring[20];
  1663. GetPlayerName(playerid, pname, 24);
  1664. format(query, sizeof(query), "SELECT score, kills, deaths, money, level FROM playerdata WHERE user = '%s'", pname);
  1665. mysql_query(query);
  1666. mysql_store_result();
  1667. while(mysql_fetch_row_format(query,"|"))
  1668. {
  1669. mysql_fetch_field_row(savingstring, "score"); SetPlayerScore(playerid, strval(savingstring));
  1670. mysql_fetch_field_row(savingstring, "kills"); PlayerInfo[playerid][Kills] = strval(savingstring);
  1671. mysql_fetch_field_row(savingstring, "deaths"); PlayerInfo[playerid][Deaths] = strval(savingstring);
  1672. mysql_fetch_field_row(savingstring, "money"); MoneyGiven[playerid] = strval(savingstring);
  1673. mysql_fetch_field_row(savingstring, "level"); AdminLevel[playerid] = strval(savingstring);
  1674. }
  1675. mysql_free_result();
  1676. JustLogged[playerid] = 1;
  1677. Logged[playerid] = 1;
  1678. SendClientMessage(playerid, COLOR_RED,"Info: You have been logged-in!");
  1679. return 1;
  1680. }
  1681. stock SendPlayerToAnother(sendingplayer, receivingplayer)
  1682. {
  1683. GetPlayerPos(receivingplayer, posxx[0], posxx[1], posxx[2]);
  1684. SetPlayerPos(sendingplayer, posxx[0], posxx[1]+2, posxx[2]);
  1685. SetPlayerVirtualWorld(sendingplayer, GetPlayerVirtualWorld(receivingplayer));
  1686. SetPlayerInterior(sendingplayer, GetPlayerInterior(receivingplayer));
  1687. return 1;
  1688. }
  1689.  
  1690. stock SendMessageToAllAdmins(message[], color)
  1691. {
  1692. foreach(Player, i)
  1693. {
  1694. if (AdminLevel[i] >= 1)
  1695. {
  1696. SendClientMessage(i, color, message);
  1697. }
  1698. }
  1699. return 1;
  1700. }
  1701. stock GetName(playerid)
  1702. {
  1703. new pname[24];
  1704. GetPlayerName(playerid, pname, 24);
  1705. return pname;
  1706. }
  1707. stock PlayerAdmin(pid)
  1708. {
  1709. if( GetPVarInt(pid, "AdminLevel" ) >= 1) return 1;
  1710. return 0;
  1711. }
  1712. public SendClientMessageToAdmins(color,string[],level)
  1713. {
  1714. foreach(Player, i)
  1715. {
  1716. if (AdminLevel[i] >= 1)
  1717. {
  1718. SendClientMessage(i, color, string);
  1719. printf("%s", string);
  1720. }
  1721. }
  1722. return 1;
  1723. }
Advertisement
Add Comment
Please, Sign In to add comment