Advertisement
Guest User

Untitled

a guest
Jun 4th, 2017
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 222.22 KB | None | 0 0
  1. /*This Script based on Seifadmin and is edited from Schock.
  2. Special thanks to Seif_ ,the creater of Old Airport ^^
  3. and Midoban for the best Streamer i ever seen.
  4.  
  5. ##############################
  6. # Modifyed by Schock #
  7. # Date 13.4.09 #
  8. ##############################
  9. */
  10. #include <a_samp>
  11. #include <a_vehicles>
  12. #include <core>
  13. #include <float>
  14. #include <time>
  15. #include <file>
  16. #include <a_players>
  17. #include <md5>
  18. #include <seif_vehicles>
  19. #include <MidoStream>
  20. /*x---------------------------------Defining-------------------------------------x*/
  21. #define SPECIAL_ACTION_PISSING 68
  22. #define BNAMES "Badnames.cfg"
  23. #define TT_START 0
  24. #define MAX_POINTS 1
  25. #define MAX_RACE_POINTS 4
  26. #define CARS 212
  27. #define MAX_STREAM_OBJECTS 682
  28. //**COLORS*//
  29. #define COLOR_LAVENDER 0xFF00FFAA
  30. #define COLOR_OOC 0xE0FFFFAA
  31. #define GREEN 0x21DD00FF
  32. #define RED 0xE60000FF
  33. #define ADMIN_RED 0xFB0000FF
  34. #define YELLOW 0xFFFF00FF
  35. #define ORANGE 0xF97804FF
  36. #define LIGHTRED 0xFF8080FF
  37. #define LIGHTBLUE 0x00C2ECFF
  38. #define COLOR_LIGHTBLUEA 0xB5EAFCAA
  39. #define PURPLE 0xB360FDFF
  40. #define BLUE 0x1229FAFF
  41. #define LIGHTGREEN 0x38FF06FF
  42. #define DARKPINK 0xE100E1FF
  43. #define DARKGREEN 0x008040FF
  44. #define AQUAGREEN 0x00CACAFB
  45. #define NICESKY 0x99FFFFAA
  46. #define GREY 0xCECECEFF
  47. #define WHITE 0xFFFFFFFF
  48. #define COLOR_TEAL 0x3BAAC2AA
  49. #define ANNOUNCEMENT 0x6AF7E1FF
  50. //**VARIABLES**//
  51. enum Info
  52. {
  53. AdminLevel,
  54. Password[128],
  55. Cash,
  56. Warns,
  57. Jail,
  58. Logged,
  59. Mute,
  60. WarnReason1[128],
  61. WarnReason2[128],
  62. WarnReason3[128],
  63. IP[20],
  64. };
  65. enum kinfo
  66. {
  67. Driver[24],
  68. Time
  69. }
  70.  
  71. new ViewCommands[1][128] =
  72. {
  73. {"/admins"}
  74. };
  75. new VehNames[212][] = {
  76. {"Landstalker"},
  77. {"Bravura"},
  78. {"Buffalo"},
  79. {"Linerunner"},
  80. {"Perrenial"},
  81. {"Sentinel"},
  82. {"Dumper"},
  83. {"Firetruck"},
  84. {"Trashmaster"},
  85. {"Stretch"},
  86. {"Manana"},
  87. {"Infernus"},
  88. {"Voodoo"},
  89. {"Pony"},
  90. {"Mule"},
  91. {"Cheetah"},
  92. {"Ambulance"},
  93. {"Leviathan"},
  94. {"Moonbeam"},
  95. {"Esperanto"},
  96. {"Taxi"},
  97. {"Washington"},
  98. {"Bobcat"},
  99. {"Mr Whoopee"},
  100. {"BF Injection"},
  101. {"Hunter"},
  102. {"Premier"},
  103. {"Enforcer"},
  104. {"Securicar"},
  105. {"Banshee"},
  106. {"Predator"},
  107. {"Bus"},
  108. {"Rhino"},
  109. {"Barracks"},
  110. {"Hotknife"},
  111. {"Trailer 1"}, //artict1
  112. {"Previon"},
  113. {"Coach"},
  114. {"Cabbie"},
  115. {"Stallion"},
  116. {"Rumpo"},
  117. {"RC Bandit"},
  118. {"Romero"},
  119. {"Packer"},
  120. {"Monster"},
  121. {"Admiral"},
  122. {"Squalo"},
  123. {"Seasparrow"},
  124. {"Pizzaboy"},
  125. {"Tram"},
  126. {"Trailer 2"}, //artict2
  127. {"Turismo"},
  128. {"Speeder"},
  129. {"Reefer"},
  130. {"Tropic"},
  131. {"Flatbed"},
  132. {"Yankee"},
  133. {"Caddy"},
  134. {"Solair"},
  135. {"Berkley's RC Van"},
  136. {"Skimmer"},
  137. {"PCJ-600"},
  138. {"Faggio"},
  139. {"Freeway"},
  140. {"RC Baron"},
  141. {"RC Raider"},
  142. {"Glendale"},
  143. {"Oceanic"},
  144. {"Sanchez"},
  145. {"Sparrow"},
  146. {"Patriot"},
  147. {"Quad"},
  148. {"Coastguard"},
  149. {"Dinghy"},
  150. {"Hermes"},
  151. {"Sabre"},
  152. {"Rustler"},
  153. {"ZR-350"},
  154. {"Walton"},
  155. {"Regina"},
  156. {"Comet"},
  157. {"BMX"},
  158. {"Burrito"},
  159. {"Camper"},
  160. {"Marquis"},
  161. {"Baggage"},
  162. {"Dozer"},
  163. {"Maverick"},
  164. {"News Chopper"},
  165. {"Rancher"},
  166. {"FBI Rancher"},
  167. {"Virgo"},
  168. {"Greenwood"},
  169. {"Jetmax"},
  170. {"Hotring"},
  171. {"Sandking"},
  172. {"Blista Compact"},
  173. {"Police Maverick"},
  174. {"Boxville"},
  175. {"Benson"},
  176. {"Mesa"},
  177. {"RC Goblin"},
  178. {"Hotring Racer A"}, //hotrina
  179. {"Hotring Racer B"}, //hotrinb
  180. {"Bloodring Banger"},
  181. {"Rancher"},
  182. {"Super GT"},
  183. {"Elegant"},
  184. {"Journey"},
  185. {"Bike"},
  186. {"Mountain Bike"},
  187. {"Beagle"},
  188. {"Cropdust"},
  189. {"Stunt"},
  190. {"Tanker"}, //petro
  191. {"Roadtrain"},
  192. {"Nebula"},
  193. {"Majestic"},
  194. {"Buccaneer"},
  195. {"Shamal"},
  196. {"Hydra"},
  197. {"FCR-900"},
  198. {"NRG-500"},
  199. {"HPV1000"},
  200. {"Cement Truck"},
  201. {"Tow Truck"},
  202. {"Fortune"},
  203. {"Cadrona"},
  204. {"FBI Truck"},
  205. {"Willard"},
  206. {"Forklift"},
  207. {"Tractor"},
  208. {"Combine"},
  209. {"Feltzer"},
  210. {"Remington"},
  211. {"Slamvan"},
  212. {"Blade"},
  213. {"Freight"},
  214. {"Streak"},
  215. {"Vortex"},
  216. {"Vincent"},
  217. {"Bullet"},
  218. {"Clover"},
  219. {"Sadler"},
  220. {"Firetruck LA"}, //firela
  221. {"Hustler"},
  222. {"Intruder"},
  223. {"Primo"},
  224. {"Cargobob"},
  225. {"Tampa"},
  226. {"Sunrise"},
  227. {"Merit"},
  228. {"Utility"},
  229. {"Nevada"},
  230. {"Yosemite"},
  231. {"Windsor"},
  232. {"Monster A"}, //monstera
  233. {"Monster B"}, //monsterb
  234. {"Uranus"},
  235. {"Jester"},
  236. {"Sultan"},
  237. {"Stratum"},
  238. {"Elegy"},
  239. {"Raindance"},
  240. {"RC Tiger"},
  241. {"Flash"},
  242. {"Tahoma"},
  243. {"Savanna"},
  244. {"Bandito"},
  245. {"Freight Flat"}, //freiflat
  246. {"Streak Carriage"}, //streakc
  247. {"Kart"},
  248. {"Mower"},
  249. {"Duneride"},
  250. {"Sweeper"},
  251. {"Broadway"},
  252. {"Tornado"},
  253. {"AT-400"},
  254. {"DFT-30"},
  255. {"Huntley"},
  256. {"Stafford"},
  257. {"BF-400"},
  258. {"Newsvan"},
  259. {"Tug"},
  260. {"Trailer 3"}, //petrotr
  261. {"Emperor"},
  262. {"Wayfarer"},
  263. {"Euros"},
  264. {"Hotdog"},
  265. {"Club"},
  266. {"Freight Carriage"}, //freibox
  267. {"Trailer 3"}, //artict3
  268. {"Andromada"},
  269. {"Dodo"},
  270. {"RC Cam"},
  271. {"Launch"},
  272. {"Police Car (LSPD)"},
  273. {"Police Car (SFPD)"},
  274. {"Police Car (LVPD)"},
  275. {"Police Ranger"},
  276. {"Picador"},
  277. {"S.W.A.T. Van"},
  278. {"Alpha"},
  279. {"Phoenix"},
  280. {"Glendale"},
  281. {"Sadler"},
  282. {"Luggage Trailer A"}, //bagboxa
  283. {"Luggage Trailer B"}, //bagboxb
  284. {"Stair Trailer"}, //tugstair
  285. {"Boxville"},
  286. {"Farm Plow"}, //farmtr1
  287. {"Utility Trailer"} //utiltr1
  288. };
  289.  
  290. new WeapNames[][32] = {
  291. {"Unarmed (Fist)"}, // 0
  292. {"Brass Knuckles"}, // 1
  293. {"Golf Club"}, // 2
  294. {"Night Stick"}, // 3
  295. {"Knife"}, // 4
  296. {"Baseball Bat"}, // 5
  297. {"Shovel"}, // 6
  298. {"Pool Cue"}, // 7
  299. {"Katana"}, // 8
  300. {"Chainsaw"}, // 9
  301. {"Purple Dildo"}, // 10
  302. {"Big White Vibrator"}, // 11
  303. {"Medium White Vibrator"}, // 12
  304. {"Small White Vibrator"}, // 13
  305. {"Flowers"}, // 14
  306. {"Cane"}, // 15
  307. {"Grenade"}, // 16
  308. {"Teargas"}, // 17
  309. {"Molotov"}, // 18
  310. {" "}, // 19
  311. {" "}, // 20
  312. {" "}, // 21
  313. {"Colt 45"}, // 22
  314. {"Colt 45(Silenced)"}, // 23
  315. {"Deagle"}, // 24
  316. {"Normal Shotgun"}, // 25
  317. {"Sawnoff Shotgun"}, // 26
  318. {"Combat Shotgun"}, // 27
  319. {"Micro Uzi(Mac 10)"}, // 28
  320. {"SMG(MP5)"}, // 29
  321. {"AK47"}, // 30
  322. {"M4"}, // 31
  323. {"Tec9"}, // 32
  324. {"Country Rifle"}, // 33
  325. {"Sniper Rifle"}, // 34
  326. {"Rocket Launcher"}, // 35
  327. {"Heat-Seeking Rocket Launcher"}, // 36
  328. {"Flamethrower"}, // 37
  329. {"Minigun"}, // 38
  330. {"Satchel Charge"}, // 39
  331. {"Detonator"}, // 40
  332. {"Spray Can"}, // 41
  333. {"Fire Extinguisher"}, // 42
  334. {"Camera"}, // 43
  335. {"Night Vision Goggles"}, // 44
  336. {"Infrared Vision Goggles"}, // 45
  337. {"Parachute"}, // 46
  338. {"Fake Pistol"} // 47
  339. };
  340. new KartHS[5][kinfo];
  341. new playerCheckpoint[MAX_PLAYERS];
  342. new Float:checkpoints[MAX_POINTS][3] = {
  343. {-302.3567,1512.4485,74.9303}
  344. };
  345. new Float:racecheckpoints[MAX_RACE_POINTS][3] = {
  346. {-336.1902,1435.6088,67.0315},
  347. {-340.1996,1371.2582,55.9817},
  348. {-383.7170,1391.9510,42.1944},
  349. {-428.5709,1652.9149,35.5010}
  350. };
  351. new checkpointType[MAX_POINTS] = {
  352. TT_START
  353. };
  354. new Text:Welcome0;
  355. new Text:Welcome1;
  356. new Text:Welcome2;
  357. new Text:Welcome3;
  358. new bool:WelcomeText[MAX_PLAYERS];
  359. new BadNames[100][100], BadNameCount = 0;
  360. new cps = MAX_RACE_POINTS;
  361. new Mototime[MAX_PLAYERS] =0;
  362. new Motocountdown[MAX_PLAYERS] =-1;
  363. new MotoGP[MAX_PLAYERS] = 0;
  364. new MotoGate[MAX_PLAYERS]=0;
  365. new checkpoint;
  366. new racegate;
  367. new discoa;
  368. new admina;
  369. new admin;
  370. new disco;
  371. new admingate;
  372. new gColours[ 32 ] ={ 0xFF0000AA, 0xFF6100AA, 0xFFA500AA, 0xFFD000AA, 0xFFF200AA, 0xD4FF00AA, 0xA1FF00AA, 0x19FF00AA, 0x00FF4CAA, 0x00FF90AA, 0x00FFE9AA, 0x00C3FFAA, 0x0087FFAA, 0x0050FFAA, 0x0019FFAA, 0x5000FFAA, 0x7F00FFAA, 0xBB00FFAA, 0xF200FFAA, 0xFF00A5AA, 0xFF0066AA, 0xE80051AA, 0xCC004EAA, 0x9E0041AA, 0x7A0037AA, 0x7A005BAA, 0x490077AA, 0x000170AA, 0x00436DAA, 0x006D60AA, 0x007038AA};
  373. new Menu:telemenu2;
  374. new Menu:telemenu;
  375. new Text:RealClock,Timer;
  376. new cartimer[MAX_PLAYERS];
  377. new hptimer[MAX_PLAYERS];
  378. new AccountInfo[MAX_PLAYERS][Info];
  379. new SuperPunch[MAX_PLAYERS];
  380. new ViewCmds[MAX_PLAYERS];
  381. new Count = 999;
  382. new Hide[MAX_PLAYERS];
  383. new Drugs[MAX_PLAYERS];
  384. new bool:PMBlock[MAX_PLAYERS];
  385. new Nuke[MAX_PLAYERS];
  386. new Missile[MAX_PLAYERS];
  387. new Msg;
  388. new Announcements[5][100] = {
  389. "Use /help for commands",
  390. "Use /Teles for all teleports",
  391. "**** Add us to your Favorites : 188.2.4.70:8888 ****",
  392. "Check /admins to see admins/mods online",
  393. "Dont cheat,and no caps"
  394. };
  395. //**FORWARDS**//
  396. forward LoginCheck();
  397. forward LoginCheck2();
  398. forward RaceClose();
  399. forward RaceOpen();
  400. forward AntiJetpack();
  401. forward WeaponCheck();
  402. forward CarHealth(playerid);
  403. forward NoAdmin(playerid);
  404. forward GateOpen(playerid);
  405. forward Hack(playerid);
  406. forward GateClose();
  407. forward ScoreUpdate();
  408. forward UpdateClock();
  409. forward AdminHealth(playerid);
  410. forward SendClientMessageToAdmins(color,string[],alevel);
  411. forward OnPlayerRegister(playerid,password[]);
  412. forward OnPlayerLogin(playerid,password[]);
  413. forward OnPlayerUpdateAccount(playerid);
  414. forward BanLog(string[]);
  415. forward KickLog(string[]);
  416. forward NameLog(namestring[]);
  417. forward IpLog(string[]);
  418. forward VehicleLog(string[]);
  419. forward CountDown();
  420. forward GlobalAnnouncement();
  421. forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
  422. forward CheckpointUpdate();
  423. forward GPRaceCountdown();
  424. forward GPTimer();
  425. forward SaveTimes();
  426. forward LoadTimes();
  427. forward UpdateList(playerid,TimeRec);
  428. /*x---------------------------------CallBacks-------------------------------------x*/
  429. stock DelPrint(string1[])
  430. {
  431. strmid(string1, string1, 0, strlen(string1)-1, 255);
  432. printf("%s", string1);
  433. return 1;
  434. }
  435.  
  436. stock IsVehicle(playerid)
  437. {
  438. new model = GetPlayerVehicleID(playerid);
  439. model = GetVehicleModel(model);
  440. if(model == 451)
  441. return 1;
  442. else
  443. return 0;
  444. }
  445. stock getCheckpointType(playerID) {
  446. if(playerCheckpoint[playerID] != 999)
  447. return checkpointType[playerCheckpoint[playerID]];
  448. else return -1;
  449. }
  450.  
  451. stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
  452. {
  453. new Float:oldposx, Float:oldposy, Float:oldposz;
  454. new Float:tempposx, Float:tempposy, Float:tempposz;
  455. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  456. tempposx = (oldposx -x);
  457. tempposy = (oldposy -y);
  458. tempposz = (oldposz -z);
  459. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  460. {
  461. return 1;
  462. }
  463. return 0;
  464. }
  465.  
  466. stock ForbiddenNamesLoad()
  467. {
  468. new File:file;
  469. new string[100];
  470.  
  471. BadNameCount = 0;
  472.  
  473. if((file = fopen(BNAMES,io_read)))
  474. {
  475. while(fread(file,string))
  476. {
  477. for(new i = 0, j = strlen(string); i < j; i++) if(string[i] == '\n' || string[i] == '\r') string[i] = '\0';
  478. BadNames[BadNameCount] = string;
  479. BadNameCount++;
  480. }
  481. fclose(file);
  482. }
  483. }
  484.  
  485. stock strtok(const string[], &index,seperator=' ')
  486. {
  487. new length = strlen(string);
  488. new offset = index;
  489. new result[128];
  490. while ((index < length) && (string[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))
  491. {
  492. result[index - offset] = string[index];
  493. index++;
  494. }
  495.  
  496. result[index - offset] = EOS;
  497. if ((index < length) && (string[index] == seperator))
  498. {
  499. index++;
  500. }
  501. return result;
  502. }
  503. stock IsNumeric(const string[])
  504. {
  505. for (new i = 0, j = strlen(string); i < j; i++)
  506. if (string[i] > '9' || string[i] < '0')
  507. return 0;
  508. return 1;
  509. }
  510.  
  511. ReturnUser(text[], playerid = INVALID_PLAYER_ID)
  512. {
  513. new pos = 0;
  514. while (text[pos] < 0x21)
  515. {
  516. if (text[pos] == 0) return INVALID_PLAYER_ID;
  517. pos++;
  518. }
  519. new userid = INVALID_PLAYER_ID;
  520. if (IsNumeric(text[pos]))
  521. {
  522. userid = strval(text[pos]);
  523. if (userid >=0 && userid < MAX_PLAYERS)
  524. {
  525. if(!IsPlayerConnected(userid))
  526. userid = INVALID_PLAYER_ID;
  527. else return userid;
  528. }
  529. }
  530. new len = strlen(text[pos]);
  531. new count = 0;
  532. new pname[MAX_PLAYER_NAME];
  533. for (new i = 0; i < MAX_PLAYERS; i++)
  534. {
  535. if (IsPlayerConnected(i))
  536. {
  537. GetPlayerName(i, pname, sizeof (pname));
  538. if (strcmp(pname, text[pos], true, len) == 0)
  539. {
  540. if (len == strlen(pname)) return i;
  541. else
  542. {
  543. count++;
  544. userid = i;
  545. }
  546. }
  547. }
  548. }
  549. if (count != 1)
  550. {
  551. if (playerid != INVALID_PLAYER_ID)
  552. {
  553. if (count) SendClientMessage(playerid, YELLOW, "There are multiple users, enter full playername.");
  554. else SendClientMessage(playerid, RED, "Playername not found.");
  555. }
  556. userid = INVALID_PLAYER_ID;
  557. }
  558. return userid;
  559. }
  560. stock GetFileString(string[])
  561. {
  562. new result[128];
  563. result[0] = 0;
  564. if (strfind(string, ":", true) == -1) return result;
  565. new id = strfind(string, ":", true);
  566. strmid(result, string, 0, id, 128);
  567. return result;
  568. }
  569.  
  570. stock GetFileValue(string[])
  571. {
  572. new val[128];
  573. val[0] = 0;
  574. if (strfind(string , ":", true) == -1) return val;
  575. new id = strfind(string, ":", true);
  576. strmid(val, string, id+2, strlen(string), 128);
  577. return val;
  578. }
  579.  
  580. public VehicleLog(string[])
  581. {
  582. new entry[128];
  583. format(entry, sizeof(entry), "%s\r\n",string);
  584. new File:hFile;
  585. hFile = fopen("vehiclespawn.log", io_append);
  586. if (hFile)
  587. {
  588. fwrite(hFile, entry);
  589. fclose(hFile);
  590. }
  591. }
  592.  
  593. public KickLog(string[])
  594. {
  595. new entry[128];
  596. format(entry, sizeof(entry), "%s\r\n",string);
  597. new File:hFile;
  598. hFile = fopen("kick.log", io_append);
  599. if (hFile)
  600. {
  601. fwrite(hFile, entry);
  602. fclose(hFile);
  603. }
  604. }
  605.  
  606. public IpLog(string[])
  607. {
  608. new entry[128];
  609. format(entry, sizeof(entry), "%s\r\n",string);
  610. new File:hFile;
  611. hFile = fopen("Ip.log", io_append);
  612. if (hFile)
  613. {
  614. fwrite(hFile, entry);
  615. fclose(hFile);
  616. }
  617. }
  618.  
  619. public BanLog(string[])
  620. {
  621. new entry[128];
  622. format(entry, sizeof(entry), "%s\r\n",string);
  623. new File:hFile;
  624. hFile = fopen("ban.log", io_append);
  625. if (hFile)
  626. {
  627. fwrite(hFile, entry);
  628. fclose(hFile);
  629. }
  630. }
  631. public SendClientMessageToAdmins(color,string[],alevel)
  632. {
  633. for(new i = 0; i < MAX_PLAYERS; i++)
  634. {
  635. if(IsPlayerConnected(i))
  636. {
  637. if (AccountInfo[i][AdminLevel] >= alevel)
  638. {
  639. SendClientMessage(i, color, string);
  640. printf("%s", string);
  641. }
  642. }
  643. }
  644. return 1;
  645. }
  646. public OnPlayerRegister(playerid, password[])
  647. {
  648. if(IsPlayerConnected(playerid))
  649. {
  650. new name[MAX_PLAYER_NAME], str[128], ip[15];
  651. GetPlayerName(playerid, name, sizeof name);
  652. GetPlayerIp(playerid, ip, sizeof ip);
  653. format(str, sizeof str, "/SchockAccounts/%s.Schock", name);
  654. new File:account = fopen(str, io_write);
  655. if (account)
  656. {
  657. strmid(AccountInfo[playerid][Password], password, 0, strlen(password), 255);
  658. AccountInfo[playerid][Cash] = GetPlayerMoney(playerid);
  659. new file[128];
  660. {
  661. format(file, sizeof file, "Password: %s\n\r", AccountInfo[playerid][Password]);
  662. { fwrite(account, file); }
  663. format(file, sizeof file, "AdminLevel: %d\n\r",AccountInfo[playerid][AdminLevel]);
  664. { fwrite(account, file); }
  665. format(file, sizeof file, "Cash: %d\n\r", AccountInfo[playerid][Cash]);
  666. { fwrite(account, file); }
  667. format(file, sizeof file, "Warnings: %d\n\r",AccountInfo[playerid][Warns]);
  668. { fwrite(account, file); }
  669. format(file, sizeof file, "WarnReason1: %s\n\r",AccountInfo[playerid][WarnReason1]);
  670. { fwrite(account, file); }
  671. format(file, sizeof file, "WarnReason2: %s\n\r",AccountInfo[playerid][WarnReason2]);
  672. { fwrite(account, file); }
  673. format(file, sizeof file, "WarnReason3: %s\n\r",AccountInfo[playerid][WarnReason3]);
  674. { fwrite(account, file); }
  675. format(file, sizeof file, "IPAddress: %s\n\r",ip);
  676. { fwrite(account, file); }
  677. }
  678. fclose(account);
  679. SendClientMessage(playerid, GREEN, "|- Account successfully registered. You can now login ( /login [password] ) -|");
  680. }
  681. }
  682. return 1;
  683. }
  684.  
  685. public OnPlayerUpdateAccount(playerid)
  686. {
  687. if(IsPlayerConnected(playerid))
  688. {
  689. if(AccountInfo[playerid][Logged] == 1)
  690. {
  691. new name[MAX_PLAYER_NAME], str[128];
  692. GetPlayerName(playerid, name, sizeof name);
  693. format(str, sizeof str, "/SchockAccounts/%s.Schock", name);
  694. new File:account = fopen(str, io_write);
  695. if (account)
  696. {
  697. AccountInfo[playerid][Cash] = GetPlayerMoney(playerid);
  698. new file[128];
  699. {
  700. format(file, sizeof file, "Password: %s\n\r", AccountInfo[playerid][Password]);
  701. { fwrite(account, file); }
  702. format(file, sizeof file, "AdminLevel: %d\n\r",AccountInfo[playerid][AdminLevel]);
  703. { fwrite(account, file); }
  704. format(file, sizeof file, "Cash: %d\n\r", AccountInfo[playerid][Cash]);
  705. { fwrite(account, file); }
  706. format(file, sizeof file, "Warnings: %d\n\r",AccountInfo[playerid][Warns]);
  707. { fwrite(account, file); }
  708. format(file, sizeof file, "WarnReason1: %s\n\r",AccountInfo[playerid][WarnReason1]);
  709. { fwrite(account, file); }
  710. format(file, sizeof file, "WarnReason2: %s\n\r",AccountInfo[playerid][WarnReason2]);
  711. { fwrite(account, file); }
  712. format(file, sizeof file, "WarnReason3: %s\n\r",AccountInfo[playerid][WarnReason3]);
  713. { fwrite(account, file); }
  714. format(file, sizeof file, "IPAddress: %s\n\r",AccountInfo[playerid][IP]);
  715. { fwrite(account, file); }
  716. }
  717. fclose(account);
  718. }
  719. }
  720. }
  721. return 1;
  722. }
  723.  
  724. public OnPlayerLogin(playerid, password[])
  725. {
  726. new name[MAX_PLAYER_NAME], str[128];
  727. GetPlayerName(playerid, name, sizeof name);
  728. format(str, sizeof str, "/SchockAccounts/%s.Schock", name);
  729. new File:account = fopen(str, io_read);
  730. if (account)
  731. {
  732. new pass[256];
  733. new passres[128], value[128];
  734. fread(account, pass, sizeof pass);
  735. passres = GetFileString(pass);
  736. if (!strcmp("Password", passres))
  737. {
  738. value = GetFileValue(pass);
  739. strmid(AccountInfo[playerid][Password], value, 0, strlen(value)-1, 128);
  740. }
  741. if (!strcmp(AccountInfo[playerid][Password], password, true))
  742. {
  743. while (fread(account, pass, 256))
  744. {
  745. passres = GetFileString(pass);
  746. if (strfind(passres, "AdminLevel") != -1)
  747. {
  748. value = GetFileValue(pass);
  749. AccountInfo[playerid][AdminLevel] = strval(value);
  750. }
  751. if (strfind(passres, "Cash") != -1)
  752. {
  753. value = GetFileValue(pass);
  754. AccountInfo[playerid][Cash] = strval(value);
  755. }
  756. if (strfind(passres, "Warnings") != -1)
  757. {
  758. value = GetFileValue(pass);
  759. AccountInfo[playerid][Warns] = strval(value);
  760. }
  761. if (strfind(passres, "WarnReason1") != -1)
  762. {
  763. value = GetFileValue(pass);
  764. strmid(AccountInfo[playerid][WarnReason1], value, 0, strlen(value)-1, 128);
  765. }
  766. if (strfind(passres, "WarnReason2") != -1)
  767. {
  768. value = GetFileValue(pass);
  769. strmid(AccountInfo[playerid][WarnReason2], value, 0, strlen(value)-1, 128);
  770. }
  771. if (strfind(passres, "WarnReason3") != -1)
  772. {
  773. value = GetFileValue(pass);
  774. strmid(AccountInfo[playerid][WarnReason3], value, 0, strlen(value)-1, 128);
  775. }
  776. }
  777. fclose(account);
  778. AccountInfo[playerid][Logged] = 1;
  779. }
  780. else
  781. {
  782. SendClientMessage(playerid, RED, "Incorrect Password.");
  783. fclose(account);
  784. return 1;
  785. }
  786. GivePlayerMoney(playerid, AccountInfo[playerid][Cash]);
  787. format(str, sizeof str, "|- You have successfully logged in as %s -|", name);
  788. SendClientMessage(playerid, GREEN, str);
  789. printf("%s has logged in", name);
  790. if (AccountInfo[playerid][AdminLevel] > 0)
  791. {
  792. format(str, sizeof str, "|» You are now logged in as a level %d admin «|", AccountInfo[playerid][AdminLevel]);
  793. SendClientMessage(playerid, LIGHTGREEN, str);
  794. ViewCmds[playerid] = 1;
  795. Hide[playerid] = 1;
  796. }
  797. }
  798. return 1;
  799. }
  800.  
  801. main(){}
  802.  
  803. public OnGameModeInit()
  804. {
  805. SetGameModeText("Stunt•DM•Race•Freeroam");
  806. AddPlayerClass(0,-705.6593,2486.9209,478.2296,269.4374,0,0,0,0,0,0);
  807. //-------------------[police]--------------------
  808. AddStaticVehicleEx(470,277.2379,2029.3352,17.5924,272.0741,43,0, 20); // patriot 1
  809. AddStaticVehicleEx(470,277.2481,2020.6505,17.6362,271.3551,1,1, 20); // patriot 2
  810. AddStaticVehicleEx(520,336.3791,2057.8132,18.3568,129.2571,0,0, 20); // hydra
  811. AddStaticVehicleEx(520,327.6932,2066.6135,18.3619,149.7890,0,0, 20); // hydra2
  812. AddStaticVehicleEx(520,317.9237,2071.0208,18.3592,162.0885,0,0, 20); // hydra3
  813. AddStaticVehicleEx(520,306.5685,2072.3748,18.3578,179.0472,0,0, 20); // hydra4
  814. AddStaticVehicleEx(520,292.6219,2069.1541,18.3575,202.2091,0,0, 20); // hydra5
  815. AddStaticVehicleEx(520,281.6451,2062.5789,18.3600,221.5264,0,0, 20); // hydra6
  816. AddStaticVehicleEx(432,326.7612,1981.3250,17.6533,89.8655,43,0, 20); // rhino1
  817. AddStaticVehicleEx(432,326.6112,1970.1223,17.6533,90.6013,43,0, 20); // rhino2 id 10
  818. AddStaticVehicleEx(432,326.7221,1958.4933,17.6532,89.4488,43,0, 20); // rhino3
  819. AddStaticVehicleEx(432,326.9310,1945.4573,17.6535,89.8726,43,0, 20); // rhino4
  820. //--------------------[Explosion]--------------
  821. AddStaticVehicleEx(522,1454.9705,-2590.3101,212.6754,1.0519,0,0, 20); // nrg-500 jump
  822. AddStaticVehicleEx(522,1453.0000,-2590.3201,212.6751,1.3934,0,0, 20); // nrg-500 jump2
  823. AddStaticVehicleEx(522,1451.0352,-2590.2700,212.6734,0.1125,1,1, 20); // nrg-500 jump3 id 15
  824. AddStaticVehicleEx(522,1448.6940,-2590.1843,212.6745,358.2299,1,1, 20); // nrg-500 jump4
  825. //--------------------[Trampolin]--------------
  826. AddStaticVehicleEx(431,-1537.4508,-178.0479,214.9973,304.0526,75,59, 20); // bus
  827. AddStaticVehicleEx(431,-1541.1318,-172.6129,214.9961,303.7209,92,72, 20); // bus1
  828. AddStaticVehicleEx(437,-1544.6259,-167.4549,215.0340,304.0078,79,7, 20); // coach
  829. AddStaticVehicleEx(407,-1549.8452,-162.8709,215.1357,304.5910,3,1, 20); // truck id 20
  830. AddStaticVehicleEx(515,-1553.0222,-156.4839,215.9205,303.8680,24,77, 20); // roadtrail
  831. //---------------------[stunt]----------------
  832. AddStaticVehicleEx(522,388.0625,2541.0798,16.1027,179.9133,36,105, 20); // nrg-500
  833. AddStaticVehicleEx(522,385.6664,2541.1621,16.1098,179.2509,39,106, 20); // nrg-500 1
  834. AddStaticVehicleEx(522,383.0226,2541.2085,16.1162,179.9767,51,118, 20); // nrg-500 2
  835. AddStaticVehicleEx(502,378.7153,2541.1152,16.4326,180.4011,36,88, 20); // hotring racer
  836. AddStaticVehicleEx(502,373.7863,2541.2134,16.4325,178.9970,51,75, 20); // hotring racer1
  837. AddStaticVehicleEx(502,368.5152,2541.4099,16.4620,178.1878,53,75, 20); // hotring racer2
  838. //----------------------[start]------------------
  839. AddStaticVehicleEx(541,-723.0061,2496.1663,477.6827,269.4620,58,8, 20); // bullet
  840. AddStaticVehicleEx(541,-722.8807,2493.1646,477.6828,270.2352,60,1, 20); // bullet2
  841. AddStaticVehicleEx(541,-722.8828,2490.1816,477.6827,269.9361,68,8, 20); // bullet3 id 30
  842. AddStaticVehicleEx(541,-722.8831,2487.1382,477.6826,270.8524,2,1, 20); // bullet4
  843. AddStaticVehicleEx(415,-722.6388,2484.1921,477.8289,269.6629,25,1, 20); // cheetah
  844. AddStaticVehicleEx(415,-722.7169,2481.1802,477.8294,270.0608,36,1, 20); // cheetah2
  845. AddStaticVehicleEx(415,-722.7459,2478.1350,477.8290,269.3560,40,1, 20); // cheetah3
  846. AddStaticVehicleEx(411,-719.4059,2502.1238,477.7849,179.9900,64,1, 20); // infernus
  847. AddStaticVehicleEx(411,-716.1720,2502.0654,477.7849,179.9590,123,1, 20); // infernus1
  848. AddStaticVehicleEx(411,-712.9722,2502.0356,477.7849,180.0805,116,1, 20); // infernus2
  849. AddStaticVehicleEx(494,-719.4464,2472.2749,477.9586,359.4868,36,13, 20); // hotring
  850. AddStaticVehicleEx(494,-716.2089,2472.2551,477.9606,358.9039,42,30, 20); // hotring1
  851. AddStaticVehicleEx(494,-713.1005,2472.3445,477.9606,359.1856,42,33, 20); // hotring2 id 40
  852. AddStaticVehicleEx(560,-703.4744,2490.5366,477.7622,0.0348,9,39, 20); // sultan
  853. AddStaticVehicleEx(560,-700.2521,2490.5872,477.7625,358.6534,17,1, 20); // sultan1
  854. AddStaticVehicleEx(560,-697.0632,2490.5569,477.7626,0.0324,21,1, 20); // sultan2
  855. AddStaticVehicleEx(429,-693.9155,2490.8447,477.7375,0.5245,13,13, 20); // banshee
  856. AddStaticVehicleEx(429,-690.6244,2490.7302,477.7375,359.7113,14,14, 20); // banshee1
  857. AddStaticVehicleEx(429,-687.5189,2490.6089,477.7375,359.4710,1,2, 20); // banshee2
  858. AddStaticVehicleEx(535,-703.4171,2482.8018,477.8203,180.3959,28,1, 20); // slamvan
  859. AddStaticVehicleEx(535,-700.1716,2482.8843,477.8209,179.9434,31,1, 20); // slamvan1
  860. AddStaticVehicleEx(535,-697.0516,2482.9446,477.8215,180.4844,55,1, 20); // slamvan2
  861. AddStaticVehicleEx(402,-693.7716,2483.0098,477.8895,180.1223,13,13, 20); // buffalo id 50
  862. AddStaticVehicleEx(402,-690.5479,2482.9463,477.8894,180.0357,22,22, 20); // buffalo1
  863. AddStaticVehicleEx(402,-687.4043,2482.8777,477.8895,180.3141,30,30, 20); // buffalo2
  864. AddStaticVehicleEx(434,-709.9151,2471.3452,478.0307,0.0884,12,12, 20); // hotknife
  865. AddStaticVehicleEx(434,-706.6309,2471.3171,478.0317,359.6708,2,2, 20); // hotknife1
  866. AddStaticVehicleEx(434,-703.4266,2471.2600,478.0255,359.2011,6,6, 20); // hotknife2
  867. AddStaticVehicleEx(451,-700.2672,2471.6833,477.7649,359.9243,125,125, 20); // turismo
  868. AddStaticVehicleEx(451,-697.0556,2471.6594,477.7660,0.1370,36,36, 20); // turismo1
  869. AddStaticVehicleEx(451,-693.8704,2471.6799,477.7678,359.3787,16,16, 20); // turismo2
  870. //---------------------[LV Stuntpark]--------------------
  871. AddStaticVehicleEx(411,1507.6937,1174.0288,326.1282,359.4708,116,1, 20); // infe lv
  872. AddStaticVehicleEx(411,1504.5143,1174.0742,326.1289,359.1254,112,1, 20); // infe lv 1 id 60
  873. AddStaticVehicleEx(411,1501.4204,1174.0099,326.1299,359.5850,106,1, 20); // infe lv
  874. AddStaticVehicleEx(411,1495.9490,1173.9745,326.1282,359.8535,80,1, 20); // infe lv
  875. AddStaticVehicleEx(411,1492.8213,1174.0062,326.1282,359.4546,75,1, 20); // infe lv
  876. AddStaticVehicleEx(411,1489.5162,1173.9971,326.1259,0.3766,12,1, 20); // infe lv
  877. //--------------------[Autos garage unten]---------------
  878. AddStaticVehicleEx(451,386.5361,2436.2395,16.2067,270.0494,18,18, 20); // turismo unten
  879. AddStaticVehicleEx(451,386.6677,2439.9993,16.2073,271.0729,46,46, 20); // turismo unten
  880. AddStaticVehicleEx(415,386.4204,2444.4600,16.2715,269.6663,62,1, 20); // cheetah unten
  881. AddStaticVehicleEx(415,386.4653,2449.0439,16.2722,270.1561,75,1, 20); // cheetah unten
  882. AddStaticVehicleEx(541,386.5716,2454.7698,16.1249,269.9505,13,8, 20); // bullet unten
  883. AddStaticVehicleEx(541,386.5578,2459.9790,16.1250,269.0482,22,1, 20); // bullet unten id 70
  884. AddStaticVehicleEx(411,422.7506,2437.0527,16.2272,91.1913,123,1, 20); // infernus unten
  885. AddStaticVehicleEx(411,422.8104,2442.6782,16.2270,90.4939,116,1, 20); // infernus unten
  886. AddStaticVehicleEx(429,422.9352,2449.2183,16.1828,90.2343,2,1, 20); // banshee unten
  887. AddStaticVehicleEx(429,423.2032,2455.4033,16.1797,90.2164,1,3, 20); // banshee unten
  888. AddStaticVehicleEx(402,422.5229,2460.9387,16.3316,90.1035,39,39, 20); // buffalo unten
  889. AddStaticVehicleEx(402,422.6953,2466.6208,16.3316,91.1899,90,90, 20); // buffalo unten
  890. //---------------------[Boote]-----------------------------
  891. AddStaticVehicleEx(452,-1442.7240,1081.2531,-0.4609,180.3075,1,0, 20); // speeder 1
  892. AddStaticVehicleEx(452,-1436.9021,1081.0985,-0.4410,183.5170,1,0, 20); // speeder 2
  893. AddStaticVehicleEx(446,-1430.2297,1079.9276,-0.4343,180.7002,1,0, 20); // squalo 1
  894. AddStaticVehicleEx(446,-1421.9368,1080.2618,-0.4151,179.8645,1,0, 20); // squalo 2 id 80
  895. //---------------------[Flugzeuge und Helis]----------------
  896. AddStaticVehicleEx(512,2144.5969,-2496.0046,13.8249,92.1746,15,123, 20); // cropdust
  897. AddStaticVehicleEx(512,2144.5449,-2483.6814,13.8333,89.7297,32,112, 20); // cropdust
  898. AddStaticVehicleEx(513,2143.6494,-2467.7925,14.0994,91.8567,21,36, 20); // stunt
  899. AddStaticVehicleEx(513,2143.4248,-2456.2454,14.0957,89.1648,21,34, 20); // stunt
  900. AddStaticVehicleEx(511,1990.3059,-2268.8503,14.9229,91.3384,4,90, 20); // beagle
  901. AddStaticVehicleEx(511,1991.2100,-2310.5381,14.9220,91.2800,7,68, 20); // beagle
  902. AddStaticVehicleEx(519,1992.3507,-2373.7866,14.4657,92.1278,1,1, 20); // shamal
  903. AddStaticVehicleEx(487,1907.7626,-2300.8386,13.7235,271.6144,29,42, 20); // maverick
  904. AddStaticVehicleEx(417,1906.7637,-2317.8723,13.6544,272.0029,0,0, 20); // leviathan
  905. AddStaticVehicleEx(563,1906.2002,-2334.4233,14.2523,265.1487,1,6, 20); // raindance id 90
  906. //---------------------[Adminplace]------------------
  907. AddStaticVehicleEx(416,1092.5050,1353.9005,10.9693,90.1208,-1,-1, 20); // ambulance
  908. AddStaticVehicleEx(490,1092.9658,1348.9376,10.9490,90.2953,0,255, 20); // fmirancher
  909. AddStaticVehicleEx(497,1066.6956,1236.0751,11.0042,357.3258,-1,-1, 20); // adminheli
  910. AddStaticVehicleEx(409,1092.8278,1344.1189,10.6203,89.3988,0,0, 20); // limo
  911. AddStaticVehicleEx(406,1090.8577,1337.4563,12.3482,89.6683,1,1, 20); // dozer ID 95
  912. AddStaticVehicleEx(471,1040.2887,1352.5789,10.3014,269.2086,103,111, 20); // quad
  913. AddStaticVehicleEx(573,1042.5186,1347.2932,11.4706,270.0904,0,1, 20); // dune
  914. AddStaticVehicleEx(412,1041.8080,1340.5023,10.6571,254.6252,10,8, 20); // voodoo
  915. AddStaticVehicleEx(568,1038.6268,1336.0592,10.6863,251.5680,0,1, 20); // bandito
  916. AddStaticVehicleEx(568,1037.0922,1330.8617,10.6908,254.4323,0,1, 20); // bandito2 ID 100
  917. AddStaticVehicleEx(504,1036.2432,1324.5580,10.6163,239.3213,57,38, 20); // bloodring
  918. AddStaticVehicleEx(534,1033.9701,1320.3998,10.5485,240.5073,0,1, 20); // remington
  919. AddStaticVehicleEx(539,1030.7681,1316.3438,10.1858,236.8720,86,70, 20); // vortex
  920. //---------------------[Chilliad cars]-----------------------
  921. AddStaticVehicleEx(411,-2314.0481,-1599.7676,483.6364,134.9019,112,1, 20); // infe chilliad
  922. AddStaticVehicleEx(411,-2311.0132,-1603.2207,483.6551,134.1243,106,1, 20); // infe chilliad id 105
  923. AddStaticVehicleEx(541,-2307.4854,-1607.1907,483.5508,131.6031,36,8, 20); // bullet chilliad
  924. AddStaticVehicleEx(541,-2304.2947,-1611.1539,483.5298,130.3961,51,1, 20); // bullet chilliad
  925. AddStaticVehicleEx(451,-2300.7366,-1614.8920,483.5774,131.3828,61,61, 20); // turismo chilliad
  926. AddStaticVehicleEx(451,-2297.3423,-1619.4315,483.5366,126.7706,75,75, 20); // turismo chilliad
  927. AddStaticVehicleEx(444,-2295.3147,-1625.3425,484.1470,115.4383,32,42, 20); // monster chilliad id 110
  928. AddStaticVehicleEx(444,-2292.9502,-1632.7642,484.0809,113.1777,32,53, 20); // monster chilliad
  929. AddStaticVehicleEx(522,-2290.3208,-1637.7913,483.2754,112.0105,3,3, 20); // nrg chilliad
  930. AddStaticVehicleEx(522,-2289.3376,-1640.6046,483.1975,108.1702,3,8, 20); // nrg chilliad
  931. AddStaticVehicleEx(522,-2288.9844,-1643.2251,483.0830,103.6852,6,25, 20); // nrg chilliad
  932. AddStaticVehicleEx(468,-2288.5493,-1645.8513,483.0733,94.5167,46,46, 20); // sanchez chilliad id 115
  933. AddStaticVehicleEx(468,-2288.9409,-1648.6196,482.9751,85.2007,53,53, 20); // sanchez chilliad
  934. AddStaticVehicleEx(539,-2288.3938,-1656.0934,482.3604,85.7488,79,74, 20); // vortex chilliad
  935. AddStaticVehicleEx(539,-2289.2249,-1660.5061,482.2084,80.9917,70,86, 20); // vortex chilliad
  936. //----------------------[SPEED]-------------------------------
  937. AddStaticVehicleEx(411,2382.0078,2330.2947,2861.8428,89.1025,-1,-1, 20); // infe speed
  938. AddStaticVehicleEx(411,2381.8965,2312.4839,2861.8428,91.0480,-1,-1, 20); // infe speed id 120
  939. AddStaticVehicleEx(411,2359.7209,2306.9146,2861.8428,358.5463,-1,-1, 20); // infe speed
  940. AddStaticVehicleEx(562,2382.3865,2318.4041,2861.7756,89.9196,-1,-1, 20); // elegy speed
  941. AddStaticVehicleEx(562,2369.3613,2337.0315,2861.7827,179.7146,-1,-1, 20); // elegy speed
  942. AddStaticVehicleEx(522,2362.9053,2336.9104,2861.6870,178.8286,-1,-1, 20); // nrg-500 speed
  943. AddStaticVehicleEx(522,2359.8694,2336.6440,2861.6863,178.1189,-1,-1, 20); // nrg-500 speed id 125
  944. AddStaticVehicleEx(402,2346.9609,2317.4297,2861.9475,180.5854,-1,-1, 20); // buffalo speed
  945. AddStaticVehicleEx(402,2337.4375,2325.7522,2861.9473,359.7595,-1,-1, 20); // buffalo speed
  946. //-------------------------[RACE]--------------------------
  947. AddStaticVehicleEx(411,-304.6225,1582.6943,75.0865,134.6017,123,1, 20); // infe race
  948. AddStaticVehicleEx(411,-301.9892,1580.3004,75.0864,135.7106,116,1, 20); // infe race
  949. AddStaticVehicleEx(402,-297.8317,1574.5585,75.1910,135.8801,39,39, 20); // buffalo race
  950. AddStaticVehicleEx(402,-295.1693,1572.3735,75.1909,134.5932,90,90, 20); // buffalo race
  951. AddStaticVehicleEx(451,-289.9807,1567.5002,75.0664,135.0937,61,61, 20); // turismo race
  952. AddStaticVehicleEx(451,-287.5374,1564.8662,75.0662,133.3487,75,75, 20); // turismo race
  953. AddStaticVehicleEx(415,-282.5990,1560.1134,75.1321,133.4072,40,1, 20); // cheetah race
  954. AddStaticVehicleEx(415,-280.0078,1557.2693,75.1317,132.8325,62,1, 20); // cheetah race
  955. AddStaticVehicleEx(522,-275.3595,1552.6730,74.9303,135.7142,51,118, 20); // nrg race
  956. AddStaticVehicleEx(522,-272.9755,1549.8549,74.9288,134.5187,3,3, 20); // nrg race
  957. //---------------------[feste objecte]-------------------
  958. CreateObject(18609, -203.292603, 2474.744385, 134.710907, 359.1406, 329.0603, 182.5779);
  959. CreateObject(1634, -46.965302, 2498.306152, 16.456699, 0.0000, 0.0000, 269.9998);
  960. CreateObject(8040, -686.182922, 2486.816406, 477.823395, 0.0000, 0.0000, 0.0000);
  961. CreateObject(8674, 1451.914063, -2587.224854, 212.121002, 90.2400, 0.0000, 0.0000);
  962. CreateObject(8674, 1451.946777, -2584.356445, 212.144501, 90.2400, 0.0000, 0.0000);
  963. CreateObject(8674, 1451.894043, -2590.149658, 212.105804, 90.2400, 0.0000, 0.0000);
  964. CreateObject(14537, 1387.881104, -2556.943848, 1001.702576, 0.0000, 0.0000, 0.0000);
  965. CreateObject(8040, -1516.996094, -148.681885, 214.666306, 0.0000, 0.0000, 33.7521);
  966. CreateObject(8040, 1482.289795, 786.562439, 332.168274, 0.0000, 0.0000, 90.0001);
  967. CreateObject(8040, 1499.134766, 1210.644287, 326.166748, 0.0000, 0.0000, 90.0000);
  968. CreateObject(8040, 2345.715820, 2321.779297, 2861.881348, 0.0000, 0.0000, 180.0000);
  969. //-------------------------[Adminplace]--------------------------
  970. CreateObject(3249,1092.865845,1231.192505,9.820313,0.000000,0.000000,180.000030);
  971. CreateObject(7392,1049.881104,1302.313843,29.099178,0.000000,0.000000,90.000000);
  972. CreateObject(3524,1062.206055,1361.305542,12.705652,0.000000,0.000000,180.000030);
  973. CreateObject(3524,1072.621948,1361.191528,12.712816,0.000000,0.000000,180.000030);
  974. //---------------------[Admingate]---------------------------
  975. //racegate = CreateObject(980, -302.315216, 1507.077026, 73.538872, 0.0000, 0.0000, 0.0000);
  976. admingate = CreateObject(980, 1067.368042, 1357.989380, 12.447979, 0.0000, 0.0000, 0.0000);
  977. //--------------------[Pickup]------------------------------
  978. disco = CreatePickup(1239, 23, 1092.7800, 1240.1757, 10.8203);
  979. discoa = CreatePickup(1239, 23, 493.2501, -24.1173, 1000.6797);
  980. admin = CreatePickup(1239, 23, 1070.2686,1370.1682,10.8195);
  981. admina = CreatePickup(1239, 23, 1064.6631,1348.3408,10.8203);
  982. //----------------------[Streamobjects]-----------------------
  983. CreateStreamObject(1597, 404.718201, 2435.629395, 18.157383, 0.0000, 0.0000, 0.0000, 500);
  984. CreateStreamObject(1597, 404.732513, 2444.122803, 18.157383, 0.0000, 0.0000, 0.0000, 500);
  985. CreateStreamObject(1597, 404.711212, 2453.074463, 18.157383, 0.0000, 0.0000, 0.0000, 500);
  986. CreateStreamObject(1597, 404.829926, 2462.082764, 18.157383, 0.0000, 0.0000, 0.0000, 500);
  987. CreateStreamObject(1597, 404.907196, 2470.924072, 18.163597, 0.0000, 0.0000, 0.0000, 500);
  988. CreateStreamObject(3525, 405.007843, 2457.327393, 16.423216, 0.0000, 0.0000, 180.0000, 500);
  989. CreateStreamObject(3525, 404.988861, 2475.275391, 16.429430, 0.0000, 0.0000, 180.0000, 500);
  990. CreateStreamObject(3525, 405.001617, 2466.383057, 16.436646, 0.0000, 0.0000, 180.0000, 500);
  991. CreateStreamObject(3525, 404.943268, 2448.516357, 16.430431, 0.0000, 0.0000, 180.0000, 500);
  992. CreateStreamObject(3525, 404.845703, 2439.771240, 16.423216, 0.0000, 0.0000, 180.0000, 500);
  993. CreateStreamObject(3525, 1547.795654, -1672.499268, 14.664269, 0.0000, 0.0000, 0.0000, 500);
  994. CreateStreamObject(3525, 1547.616089, -1678.809204, 14.664269, 0.0000, 0.0000, 0.0000, 500);
  995. CreateStreamObject(3528, 404.913269, 2476.735352, 26.374113, 0.0000, 0.0000, 84.8434, 500);
  996. CreateStreamObject(17310, 434.4814, 2521.4951, 20.5560, 0.0000, 141.8062, 0.0000, 500);
  997. CreateStreamObject(17310, 434.4814, 2509.9951, 20.5560, 0.0000, 141.8062, 0.0000, 500);
  998. CreateStreamObject(17310, 434.4814, 2498.2451, 20.5560, 0.0000, 141.8062, 0.0000, 500);
  999. CreateStreamObject(17310, 434.4814, 2486.7451, 20.5560, 0.0000, 141.8062, 0.0000, 500);
  1000. CreateStreamObject(17310, 442.5342, 2521.6455, 36.3417, 0.0000, 92.8183, 0.0000, 500);
  1001. CreateStreamObject(17310, 442.5342, 2510.0000, 36.3417, 0.0000, 92.8183, 0.0000, 500);
  1002. CreateStreamObject(17310, 442.5342, 2498.3237, 36.3417, 0.0000, 92.8183, 0.0000, 500);
  1003. CreateStreamObject(17310, 442.5342, 2486.5737, 36.3417, 0.0000, 92.8183, 0.0000, 500);
  1004. CreateStreamObject(1655, 101.7205, 2537.0703, 16.5922, 0.0000, 0.0000, 86.5616, 500);
  1005. CreateStreamObject(1655, 99.1954, 2537.2197, 18.4672, 17.1879, 0.0000, 86.5616, 500);
  1006. CreateStreamObject(1655, 95.6961, 2537.4177, 22.4789, 38.6738, 0.0000, 86.5616, 500);
  1007. CreateStreamObject(1655, 94.5619, 2537.4871, 26.4157, 62.7380, 0.0000, 86.5616, 500);
  1008. CreateStreamObject(1655, 94.9927, 2537.4954, 30.4876, 81.6456, 0.0000, 86.5616, 500);
  1009. CreateStreamObject(18450, 325.6517, 2563.8843, 18.0742, 0.0000, 341.9518, 88.2805, 500);
  1010. CreateStreamObject(18450, 325.8016, 2566.8604, 20.2242, 0.0000, 333.3575, 88.2805, 500);
  1011. CreateStreamObject(18450, 325.9016, 2566.9102, 21.6492, 0.0000, 320.4659, 88.2805, 500);
  1012. CreateStreamObject(18450, 327.5012, 2619.0576, 64.6992, 0.0000, 320.4659, 88.2805, 500);
  1013. CreateStreamObject(18450, 290.8604, 2577.3699, 18.0051, 0.0000, 353.1245, 89.9994, 500);
  1014. CreateStreamObject(18450, 290.8628, 2574.1182, 20.3466, 0.0000, 341.0924, 89.9994, 500);
  1015. CreateStreamObject(18450, 290.8185, 2576.9832, 22.6324, 0.0000, 335.9358, 89.9994, 500);
  1016. CreateStreamObject(18450, 290.9806, 2576.7458, 23.9081, 0.0000, 329.9197, 89.9994, 500);
  1017. CreateStreamObject(18450, 291.0809, 2635.0632, 57.6488, 0.0000, 329.9197, 89.9994, 500);
  1018. CreateStreamObject(18450, 291.0712, 2708.1846, 87.6677, 0.0000, 345.3896, 89.9994, 500);
  1019. CreateStreamObject(18450, 328.4187, 2688.2754, 100.7726, 0.0000, 344.5301, 89.9994, 500);
  1020. CreateStreamObject(972, 292.5673, 2743.2192, 97.7090, 0.0000, 0.0000, 89.1399, 500);
  1021. CreateStreamObject(972, 330.0916, 2723.1453, 111.3667, 0.0000, 0.0000, 89.1399, 500);
  1022. CreateStreamObject(1655, 329.0034, 2467.5625, 16.4727, 0.0000, 0.0000, 179.9996, 500);
  1023. CreateStreamObject(1655, 328.9890, 2463.8167, 19.8161, 25.7823, 0.0000, 179.9996, 500);
  1024. CreateStreamObject(1655, 329.0269, 2461.4441, 23.6532, 40.3927, 0.0000, 179.9996, 500);
  1025. CreateStreamObject(1655, 328.9100, 2460.5210, 27.0920, 54.1437, 0.0000, 179.9996, 500);
  1026. CreateStreamObject(1655, 328.9226, 2460.5540, 30.6741, 70.4730, 0.0000, 179.9996, 500);
  1027. CreateStreamObject(1655, 328.8960, 2461.3357, 34.9414, 82.5051, 0.0000, 179.9996, 500);
  1028. CreateStreamObject(1655, 328.9274, 2463.2097, 39.2973, 96.2561, 0.0000, 179.9996, 500);
  1029. CreateStreamObject(1655, 328.9043, 2466.6328, 43.6480, 111.7259, 0.0000, 179.9996, 500);
  1030. CreateStreamObject(1655, 328.8583, 2470.1909, 46.1790, 127.1958, 0.0000, 179.9996, 500);
  1031. CreateStreamObject(13641, 86.5750, 2495.8928, 16.9286, 0.0000, 0.0000, 179.9996, 500);
  1032. CreateStreamObject(13641, 86.5750, 2511.1428, 16.9286, 0.0000, 0.0000, 179.9996, 500);
  1033. CreateStreamObject(13641, 52.5549, 2510.3533, 17.2036, 0.0000, 0.0000, 358.2811, 500);
  1034. CreateStreamObject(13641, 52.3049, 2495.1033, 17.2036, 0.0000, 0.0000, 358.2811, 500);
  1035. CreateStreamObject(18450, 387.6221, 2504.4849, 43.5526, 0.0000, 0.0000, 0.0000, 500);
  1036. CreateStreamObject(18450, 307.6221, 2504.4849, 43.5526, 0.0000, 0.0000, 0.0000, 500);
  1037. CreateStreamObject(18450, 387.8721, 2513.2349, 45.0526, 18.9068, 0.0000, 0.0000, 500);
  1038. CreateStreamObject(18450, 387.6471, 2498.4849, 44.5526, 343.6707, 0.0000, 0.0000, 500);
  1039. CreateStreamObject(18450, 308.4220, 2513.2349, 45.0526, 18.9068, 0.0000, 0.0000, 500);
  1040. CreateStreamObject(1655, 269.6474, 2505.1724, 44.7964, 0.0000, 0.0000, 89.9994, 500);
  1041. CreateStreamObject(18450, 308.1473, 2498.4849, 44.5526, 343.6707, 0.0000, 0.0000, 500);
  1042. CreateStreamObject(1655, 267.7735, 2505.1760, 46.0109, 12.0313, 0.0000, 89.9994, 500);
  1043. CreateStreamObject(1655, 263.5413, 2505.1760, 49.7803, 28.3606, 0.0000, 89.9994, 500);
  1044. CreateStreamObject(18450, 207.9293, 2504.5217, 61.5925, 0.0000, 0.0000, 0.0000, 500);
  1045. CreateStreamObject(18450, 131.5049, 2504.5217, 61.5925, 0.0000, 0.0000, 0.0000, 500);
  1046. CreateStreamObject(1655, 91.8898, 2503.9377, 62.9863, 0.0000, 0.0000, 89.9994, 500);
  1047. CreateStreamObject(1655, 87.6615, 2503.9558, 65.8962, 18.9068, 0.0000, 89.9994, 500);
  1048. CreateStreamObject(1655, 83.1928, 2503.9851, 70.8385, 31.7983, 0.0000, 89.9994, 500);
  1049. CreateStreamObject(1655, 80.8270, 2504.0151, 74.7782, 40.3927, 0.0000, 89.9994, 500);
  1050. CreateStreamObject(1655, 78.9231, 2504.0764, 80.5684, 55.8625, 0.0000, 89.9994, 500);
  1051. CreateStreamObject(1655, 78.6153, 2504.1326, 84.8354, 67.0352, 0.0000, 89.9994, 500);
  1052. CreateStreamObject(1655, 79.3773, 2504.1477, 88.9846, 82.5051, 0.0000, 89.9994, 500);
  1053. CreateStreamObject(1655, 80.5683, 2504.2405, 92.2123, 90.2400, 0.0000, 89.9994, 500);
  1054. CreateStreamObject(18450, 136.0082, 2504.2871, 101.9876, 0.0000, 0.0000, 0.0000, 500);
  1055. CreateStreamObject(1634, -75.3477, 2512.8118, 16.5145, 0.0000, 0.0000, 89.9994, 500);
  1056. CreateStreamObject(1634, -75.3477, 2516.5618, 16.5145, 0.0000, 0.0000, 89.9994, 500);
  1057. CreateStreamObject(1634, -75.3477, 2520.5618, 16.5145, 0.0000, 0.0000, 89.9994, 500);
  1058. CreateStreamObject(1634, -80.8454, 2512.7700, 20.0355, 13.7501, 0.0000, 89.9994, 500);
  1059. CreateStreamObject(1634, -80.8454, 2516.7700, 20.0355, 13.7501, 0.0000, 89.9994, 500);
  1060. CreateStreamObject(1634, -80.8454, 2520.5200, 20.0355, 13.7501, 0.0000, 89.9994, 500);
  1061. CreateStreamObject(1634, -84.7115, 2512.7756, 23.8478, 24.9228, 0.0000, 89.9994, 500);
  1062. CreateStreamObject(1634, -84.7115, 2516.7756, 23.8478, 24.9228, 0.0000, 89.9994, 500);
  1063. CreateStreamObject(1634, -84.7115, 2520.5256, 23.8478, 24.9228, 0.0000, 89.9994, 500);
  1064. CreateStreamObject(6189, -95.6983, 2485.3821, 31.3535, 322.1848, 0.0000, 269.9998, 500);
  1065. CreateStreamObject(6189, -198.7249, 2485.3276, 111.3716, 322.1848, 0.0000, 269.9998, 500);
  1066. CreateStreamObject(6189, -301.1164, 2485.3145, 190.9702, 322.1848, 0.0000, 269.9998, 500);
  1067. CreateStreamObject(6189, -400.8582, 2485.3494, 268.2882, 322.1848, 0.0000, 269.9998, 500);
  1068. CreateStreamObject(6189, -502.7951, 2485.4497, 347.3006, 322.1848, 0.0000, 269.9998, 500);
  1069. CreateStreamObject(6189, -604.3217, 2485.4885, 426.0125, 322.1848, 0.0000, 269.9998, 500);
  1070. CreateStreamObject(3502, 1461.1881, -2585.8691, 213.6524, 0.0000, 0.0000, 269.9998, 500);
  1071. CreateStreamObject(3502, 1469.8866, -2585.8525, 213.6545, 0.0000, 0.0000, 269.9998, 500);
  1072. CreateStreamObject(3502, 1478.6528, -2585.8179, 212.9206, 350.5462, 0.0000, 269.9998, 500);
  1073. CreateStreamObject(969, 1383.3108, -2559.4119, 1003.6146, 0.0000, 0.0000, 0.0000, 500);
  1074. CreateStreamObject(969, 1383.3842, -2554.0789, 1003.8210, 0.0000, 0.0000, 0.0000, 500);
  1075. CreateStreamObject(969, 1384.7760, -2553.2830, 1003.8210, 0.0000, 0.0000, 269.9998, 500);
  1076. CreateStreamObject(3502, 1486.9406, -2585.8118, 210.5668, 340.2330, 0.0000, 269.9998, 500);
  1077. CreateStreamObject(3502, 1495.0095, -2585.8345, 206.7295, 329.0603, 0.0000, 269.9998, 500);
  1078. CreateStreamObject(3502, 1502.0411, -2585.8613, 201.2912, 315.3093, 0.0000, 269.9998, 500);
  1079. CreateStreamObject(5112, 1558.7859, -2585.7668, 155.9797, 0.0000, 33.5172, 0.0000, 500);
  1080. CreateStreamObject(5112, 1673.3953, -2585.7808, 89.8901, 0.0000, 25.7823, 0.0000, 500);
  1081. CreateStreamObject(976, 1748.7008, -2581.5398, 59.1922, 81.6456, 0.0000, 269.9998, 500);
  1082. CreateStreamObject(976, 1749.1704, -2581.5378, 59.2653, 85.9428, 0.0000, 269.9998, 500);
  1083. CreateStreamObject(976, 1749.8274, -2581.5405, 59.5196, 94.5372, 0.0000, 269.9998, 500);
  1084. CreateStreamObject(976, 1751.1162, -2581.6199, 60.1200, 104.8504, 0.0000, 269.9998, 500);
  1085. CreateStreamObject(976, 1752.3467, -2581.6169, 60.7432, 116.8825, 0.0000, 269.9998, 500);
  1086. CreateStreamObject(987, 1887.6550, -2579.9395, 9.3219, 0.0000, 0.0000, 0.0000, 500);
  1087. CreateStreamObject(987, 1875.6816, -2579.8979, 9.2969, 0.0000, 0.0000, 0.0000, 500);
  1088. CreateStreamObject(987, 1887.4607, -2599.7373, 9.2969, 0.0000, 0.0000, 0.0000, 500);
  1089. CreateStreamObject(987, 1875.6267, -2599.6721, 9.2969, 0.0000, 0.0000, 0.0000, 500);
  1090. CreateStreamObject(1225, 1891.0425, -2581.7439, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1091. CreateStreamObject(1225, 1889.9835, -2582.9309, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1092. CreateStreamObject(1225, 1890.2448, -2583.4189, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1093. CreateStreamObject(1225, 1889.6272, -2584.8250, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1094. CreateStreamObject(1225, 1888.3655, -2587.9958, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1095. CreateStreamObject(1225, 1887.1859, -2591.7803, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1096. CreateStreamObject(1225, 1887.7616, -2592.3157, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1097. CreateStreamObject(1225, 1890.0626, -2592.3347, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1098. CreateStreamObject(1225, 1895.4915, -2594.6619, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1099. CreateStreamObject(1225, 1899.8145, -2593.9585, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1100. CreateStreamObject(1225, 1898.4512, -2591.0977, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1101. CreateStreamObject(1225, 1896.2714, -2589.2532, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1102. CreateStreamObject(1225, 1895.1188, -2589.1614, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1103. CreateStreamObject(1225, 1890.9938, -2584.9609, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1104. CreateStreamObject(1225, 1887.0214, -2582.0654, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1105. CreateStreamObject(1225, 1883.4165, -2581.0481, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1106. CreateStreamObject(1225, 1897.1567, -2581.9673, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1107. CreateStreamObject(1225, 1895.6293, -2584.8335, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1108. CreateStreamObject(1225, 1894.5239, -2585.2671, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1109. CreateStreamObject(1225, 1893.2827, -2591.9343, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1110. CreateStreamObject(1225, 1893.2766, -2593.5417, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1111. CreateStreamObject(1225, 1892.0088, -2594.6790, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1112. CreateStreamObject(1225, 1891.9963, -2596.2810, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1113. CreateStreamObject(1225, 1894.8075, -2596.9883, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1114. CreateStreamObject(1225, 1896.7571, -2597.0120, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1115. CreateStreamObject(1225, 1897.1901, -2593.7908, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1116. CreateStreamObject(1225, 1892.4625, -2586.0022, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1117. CreateStreamObject(1225, 1890.6558, -2588.0283, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1118. CreateStreamObject(1225, 1888.1442, -2595.9102, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1119. CreateStreamObject(1225, 1882.9614, -2593.7693, 13.0217, 0.0000, 0.0000, 0.0000, 500);
  1120. CreateStreamObject(10871, -1375.5743, -46.1878, 173.1937, 0.0000, 0.0000, 0.0000, 500);
  1121. CreateStreamObject(2918, -1379.8274, -44.2807, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1122. CreateStreamObject(2918, -1371.4990, -48.0492, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1123. CreateStreamObject(2918, -1364.6516, -54.0229, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1124. CreateStreamObject(2918, -1363.8995, -57.9865, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1125. CreateStreamObject(2918, -1366.3997, -62.5646, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1126. CreateStreamObject(2918, -1368.1774, -56.4212, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1127. CreateStreamObject(2918, -1370.7688, -55.1838, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1128. CreateStreamObject(2918, -1371.6521, -54.2612, 28.4333, 0.0000, 0.0000, 0.0000, 500);
  1129. CreateStreamObject(2918, -1375.7459, -49.2540, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1130. CreateStreamObject(2918, -1375.6350, -43.0494, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1131. CreateStreamObject(2918, -1373.6234, -42.5989, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1132. CreateStreamObject(2918, -1372.3270, -44.0805, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1133. CreateStreamObject(2918, -1375.9978, -44.3746, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1134. CreateStreamObject(2918, -1378.2427, -45.9807, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1135. CreateStreamObject(2918, -1370.8495, -51.0233, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1136. CreateStreamObject(2918, -1375.2445, -51.2885, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1137. CreateStreamObject(2918, -1367.7970, -50.5086, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1138. CreateStreamObject(2918, -1362.4254, -50.3273, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1139. CreateStreamObject(2918, -1358.9924, -52.3259, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1140. CreateStreamObject(2918, -1360.2325, -55.1218, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1141. CreateStreamObject(2918, -1363.0817, -61.3775, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1142. CreateStreamObject(2918, -1370.2257, -59.9285, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1143. CreateStreamObject(2918, -1369.7924, -62.5896, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1144. CreateStreamObject(2918, -1355.8280, -44.7808, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1145. CreateStreamObject(2918, -1358.1742, -48.9105, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1146. CreateStreamObject(2918, -1348.6460, -48.6657, 15.0376, 0.0000, 0.0000, 0.0000, 500);
  1147. CreateStreamObject(2918, -1354.4574, -46.3376, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1148. CreateStreamObject(2918, -1357.8571, -39.5848, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1149. CreateStreamObject(2918, -1367.5708, -43.3743, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1150. CreateStreamObject(2918, -1368.3163, -45.1975, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1151. CreateStreamObject(2918, -1363.6646, -46.5342, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1152. CreateStreamObject(2918, -1365.4115, -46.7087, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1153. CreateStreamObject(2918, -1365.9999, -47.6564, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1154. CreateStreamObject(2918, -1359.6787, -44.0696, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1155. CreateStreamObject(2918, -1352.2408, -27.2310, 15.0376, 0.0000, 0.0000, 0.0000, 500);
  1156. CreateStreamObject(2918, -1362.7959, -41.0533, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1157. CreateStreamObject(2918, -1361.9800, -48.4548, 28.5282, 0.0000, 0.0000, 0.0000, 500);
  1158. CreateStreamObject(4133, -1369.9878, -67.8058, 27.2873, 358.2811, 266.4245, 29.2200, 500);
  1159. CreateStreamObject(4133, -1357.6814, -59.3596, 27.6052, 13.7501, 272.4406, 147.7363, 500);
  1160. CreateStreamObject(4133, -1363.6222, -38.5828, 27.5579, 13.7501, 272.4406, 268.0517, 500);
  1161. CreateStreamObject(2918, -1373.5365, -47.0728, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1162. CreateStreamObject(2918, -1376.0410, -46.0658, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1163. CreateStreamObject(2918, -1373.9536, -48.9124, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1164. CreateStreamObject(2918, -1372.3041, -51.2883, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1165. CreateStreamObject(2918, -1374.0065, -51.6110, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1166. CreateStreamObject(2918, -1368.3540, -52.6724, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1167. CreateStreamObject(2918, -1366.4806, -55.4858, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1168. CreateStreamObject(2918, -1366.3929, -56.8867, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1169. CreateStreamObject(2918, -1366.9194, -59.9943, 27.7083, 0.0000, 0.0000, 0.0000, 500);
  1170. CreateStreamObject(2918, -1365.2725, -65.4416, 26.6765, 0.0000, 0.0000, 0.0000, 500);
  1171. CreateStreamObject(2918, -1362.3861, -55.4376, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1172. CreateStreamObject(2918, -1358.2295, -50.1897, 27.9749, 0.0000, 0.0000, 0.0000, 500);
  1173. CreateStreamObject(2918, -1355.6875, -45.1448, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1174. CreateStreamObject(2918, -1357.0972, -44.4354, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1175. CreateStreamObject(2918, -1353.6891, -41.4811, 26.6765, 0.0000, 0.0000, 0.0000, 500);
  1176. CreateStreamObject(2918, -1351.1615, -41.0114, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1177. CreateStreamObject(2918, -1352.2241, -44.6191, 26.6765, 0.0000, 0.0000, 0.0000, 500);
  1178. CreateStreamObject(2918, -1362.8037, -42.1501, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1179. CreateStreamObject(2918, -1365.0641, -42.8075, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1180. CreateStreamObject(2918, -1370.7666, -41.1441, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1181. CreateStreamObject(2918, -1370.3835, -44.6359, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1182. CreateStreamObject(2918, -1369.8574, -45.4896, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1183. CreateStreamObject(4654, -1437.2601, -97.2465, 219.7788, 0.0000, 0.0000, 303.7527, 500);
  1184. CreateStreamObject(2918, -1357.8258, -40.3215, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1185. CreateStreamObject(2918, -1356.9957, -41.4290, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1186. CreateStreamObject(2918, -1357.3505, -42.6366, 28.7107, 0.0000, 0.0000, 0.0000, 500);
  1187. CreateStreamObject(2918, -1355.5212, -43.8840, 28.7418, 0.0000, 0.0000, 0.0000, 500);
  1188. CreateStreamObject(2918, -1355.1705, -43.5625, 28.5817, 0.0000, 0.0000, 0.0000, 500);
  1189. CreateStreamObject(2918, -1350.6116, -41.8324, 31.1746, 0.0000, 0.0000, 0.0000, 500);
  1190. CreateStreamObject(2918, -1352.5654, -42.0492, 28.3041, 0.0000, 0.0000, 0.0000, 500);
  1191. CreateStreamObject(2918, -1351.4598, -41.3590, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1192. CreateStreamObject(2918, -1357.4058, -45.9770, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1193. CreateStreamObject(2918, -1358.8904, -47.2624, 28.6157, 0.0000, 0.0000, 0.0000, 500);
  1194. CreateStreamObject(2918, -1360.9025, -44.5470, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1195. CreateStreamObject(2918, -1363.4731, -43.1385, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1196. CreateStreamObject(2918, -1361.8785, -45.5555, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1197. CreateStreamObject(2918, -1359.3394, -47.8802, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1198. CreateStreamObject(2918, -1361.4316, -44.4498, 28.6048, 0.0000, 0.0000, 0.0000, 500);
  1199. CreateStreamObject(2918, -1362.0220, -42.1984, 30.6557, 0.0000, 0.0000, 0.0000, 500);
  1200. CreateStreamObject(2918, -1361.1542, -42.5263, 30.9192, 0.0000, 0.0000, 0.0000, 500);
  1201. CreateStreamObject(2918, -1359.1121, -48.4583, 27.8099, 0.0000, 0.0000, 0.0000, 500);
  1202. CreateStreamObject(2918, -1362.7632, -55.7915, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1203. CreateStreamObject(2918, -1364.7589, -57.1802, 28.3844, 0.0000, 0.0000, 0.0000, 500);
  1204. CreateStreamObject(2918, -1364.6477, -58.6245, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1205. CreateStreamObject(2918, -1361.0201, -52.7875, 28.0403, 0.0000, 0.0000, 0.0000, 500);
  1206. CreateStreamObject(2918, -1361.0983, -50.1549, 29.4399, 0.0000, 0.0000, 0.0000, 500);
  1207. CreateStreamObject(2918, -1361.0861, -49.9360, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1208. CreateStreamObject(2918, -1361.1001, -50.5201, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1209. CreateStreamObject(2918, -1362.3500, -51.5029, 29.6986, 0.0000, 0.0000, 0.0000, 500);
  1210. CreateStreamObject(2918, -1361.4105, -52.6122, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1211. CreateStreamObject(2918, -1362.7567, -54.7290, 28.7355, 0.0000, 0.0000, 0.0000, 500);
  1212. CreateStreamObject(2918, -1362.2079, -56.3245, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1213. CreateStreamObject(2918, -1362.2883, -56.6479, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1214. CreateStreamObject(2918, -1362.3317, -57.3576, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1215. CreateStreamObject(2918, -1362.1155, -58.0036, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1216. CreateStreamObject(2918, -1361.7423, -58.4201, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1217. CreateStreamObject(2918, -1359.8705, -56.5726, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1218. CreateStreamObject(2918, -1354.6570, -47.1711, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1219. CreateStreamObject(2918, -1355.5249, -47.8166, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1220. CreateStreamObject(2918, -1376.8351, -39.9950, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1221. CreateStreamObject(2918, -1377.5042, -40.3919, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1222. CreateStreamObject(2918, -1379.1146, -40.9805, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1223. CreateStreamObject(2918, -1380.7906, -41.4749, 26.6794, 0.0000, 0.0000, 0.0000, 500);
  1224. CreateStreamObject(2918, -1378.8118, -42.9692, 28.0166, 0.0000, 0.0000, 0.0000, 500);
  1225. CreateStreamObject(2918, -1378.0514, -41.4910, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1226. CreateStreamObject(2918, -1365.9976, -49.7810, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1227. CreateStreamObject(2918, -1365.5385, -54.6531, 27.8516, 0.0000, 0.0000, 0.0000, 500);
  1228. CreateStreamObject(2918, -1366.5364, -51.3743, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1229. CreateStreamObject(2918, -1366.0656, -49.7324, 28.5966, 0.0000, 0.0000, 0.0000, 500);
  1230. CreateStreamObject(2918, -1368.1874, -44.7304, 28.3460, 0.0000, 0.0000, 0.0000, 500);
  1231. CreateStreamObject(2918, -1376.0757, -52.3057, 28.5387, 0.0000, 0.0000, 0.0000, 500);
  1232. CreateStreamObject(2918, -1372.1366, -59.1702, 30.2478, 0.0000, 0.0000, 0.0000, 500);
  1233. CreateStreamObject(2918, -1364.2227, -55.5228, 30.6665, 0.0000, 0.0000, 0.0000, 500);
  1234. CreateStreamObject(2918, -1364.8225, -53.3939, 30.0218, 0.0000, 0.0000, 0.0000, 500);
  1235. CreateStreamObject(2918, -1365.1312, -52.5089, 32.4223, 0.0000, 0.0000, 0.0000, 500);
  1236. CreateStreamObject(2918, -1365.4199, -52.6734, 32.2463, 0.0000, 0.0000, 0.0000, 500);
  1237. CreateStreamObject(2918, -1371.8977, -58.9148, 27.6129, 0.0000, 0.0000, 0.0000, 500);
  1238. CreateStreamObject(2918, -1368.8334, -63.9897, 27.8605, 0.0000, 0.0000, 0.0000, 500);
  1239. CreateStreamObject(2918, -1366.0482, -63.4284, 28.8202, 0.0000, 0.0000, 0.0000, 500);
  1240. CreateStreamObject(2918, -1365.9253, -62.8698, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1241. CreateStreamObject(2918, -1363.3169, -53.8873, 32.5748, 0.0000, 0.0000, 0.0000, 500);
  1242. CreateStreamObject(2918, -1362.2295, -50.5202, 32.1197, 0.0000, 0.0000, 0.0000, 500);
  1243. CreateStreamObject(2918, -1362.6564, -44.3887, 28.5914, 0.0000, 0.0000, 0.0000, 500);
  1244. CreateStreamObject(2918, -1360.4199, -40.8823, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1245. CreateStreamObject(2918, -1371.0940, -46.0163, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1246. CreateStreamObject(2918, -1372.5031, -48.8875, 28.2669, 0.0000, 0.0000, 0.0000, 500);
  1247. CreateStreamObject(2918, -1365.6381, -47.1489, 28.2771, 0.0000, 0.0000, 0.0000, 500);
  1248. CreateStreamObject(2918, -1364.9375, -45.1266, 28.6076, 0.0000, 0.0000, 0.0000, 500);
  1249. CreateStreamObject(2918, -1368.3066, -46.6161, 26.2703, 0.0000, 0.0000, 0.0000, 500);
  1250. CreateStreamObject(2918, -1365.8799, -48.5490, 31.0527, 0.0000, 0.0000, 0.0000, 500);
  1251. CreateStreamObject(2918, -1371.1167, -58.4089, 28.5295, 0.0000, 0.0000, 0.0000, 500);
  1252. CreateStreamObject(2918, -1361.0511, -59.9334, 34.9360, 0.0000, 0.0000, 0.0000, 500);
  1253. CreateStreamObject(2918, -1363.1854, -59.5512, 28.7055, 0.0000, 0.0000, 0.0000, 500);
  1254. CreateStreamObject(2918, -1362.8143, -57.2768, 28.4446, 0.0000, 0.0000, 0.0000, 500);
  1255. CreateStreamObject(2918, -1362.6079, -55.6124, 30.8787, 0.0000, 0.0000, 0.0000, 500);
  1256. CreateStreamObject(2918, -1371.6140, -45.5994, 28.2379, 0.0000, 0.0000, 0.0000, 500);
  1257. CreateStreamObject(2918, -1370.6040, -43.2013, 28.7828, 0.0000, 0.0000, 0.0000, 500);
  1258. CreateStreamObject(2918, -1371.1864, -43.7803, 30.5301, 0.0000, 0.0000, 0.0000, 500);
  1259. CreateStreamObject(1655, 83.7103, 2504.2163, 97.8036, 103.1316, 0.0000, 89.9994, 500);
  1260. CreateStreamObject(13592, 17.6652, 2538.1519, 25.0127, 0.0000, 0.0000, 96.9551, 500);
  1261. CreateStreamObject(13592, 10.1652, 2538.1519, 25.0127, 0.0000, 0.0000, 96.9551, 500);
  1262. CreateStreamObject(13592, 3.4152, 2538.1519, 25.0127, 0.0000, 0.0000, 96.9551, 500);
  1263. CreateStreamObject(13592, -4.0848, 2538.1519, 25.0127, 0.0000, 0.0000, 96.9551, 500);
  1264. CreateStreamObject(13592, -11.5848, 2538.1519, 25.0127, 0.0000, 0.0000, 96.9551, 500);
  1265. CreateStreamObject(13592, -18.8348, 2538.1519, 25.0127, 0.0000, 0.0000, 96.9551, 500);
  1266. CreateStreamObject(13592, -25.8348, 2538.1519, 25.0127, 0.0000, 0.0000, 96.9551, 500);
  1267. CreateStreamObject(13592, -33.0848, 2538.1519, 25.0127, 0.0000, 0.0000, 96.9551, 500);
  1268. CreateStreamObject(13592, -40.3348, 2538.1519, 25.0127, 0.0000, 0.0000, 96.9551, 500);
  1269. CreateStreamObject(1634, -44.3453, 2543.6135, 16.4039, 0.0000, 0.0000, 0.0000, 500);
  1270. CreateStreamObject(1634, -44.3908, 2548.1646, 19.2431, 12.0313, 0.0000, 0.0000, 500);
  1271. CreateStreamObject(1634, -44.3461, 2551.1492, 22.7687, 29.2200, 0.0000, 0.0000, 500);
  1272. CreateStreamObject(1634, -44.3623, 2553.4421, 26.5744, 37.8144, 0.0000, 0.0000, 500);
  1273. CreateStreamObject(18450, 215.5082, 2504.2871, 101.9876, 0.0000, 0.0000, 0.0000, 500);
  1274. CreateStreamObject(3438, 259.9500, 2504.5325, 112.3556, 0.0000, 0.0000, 0.0000, 500);
  1275. CreateStreamObject(3438, 268.9500, 2504.5325, 119.1056, 0.0000, 0.0000, 0.0000, 500);
  1276. CreateStreamObject(1655, 254.2460, 2504.6389, 103.2314, 0.0000, 0.0000, 269.9998, 500);
  1277. CreateStreamObject(1655, 258.1460, 2504.6389, 105.7314, 12.0313, 0.0000, 269.9998, 500);
  1278. CreateStreamObject(3438, 278.7000, 2504.5325, 122.6056, 0.0000, 0.0000, 0.0000, 500);
  1279. CreateStreamObject(3851, 268.5764, 2504.7141, 115.2710, 0.0000, 0.0000, 0.0000, 500);
  1280. CreateStreamObject(3851, 268.5764, 2504.7141, 119.2710, 0.0000, 0.0000, 0.0000, 500);
  1281. CreateStreamObject(3851, 268.5764, 2504.7141, 123.0210, 0.0000, 0.0000, 0.0000, 500);
  1282. CreateStreamObject(3851, 277.9796, 2504.1729, 118.9930, 0.0000, 0.0000, 0.0000, 500);
  1283. CreateStreamObject(3851, 277.9796, 2504.1729, 122.4930, 0.0000, 0.0000, 0.0000, 500);
  1284. CreateStreamObject(3851, 277.9796, 2504.1729, 126.2430, 0.0000, 0.0000, 0.0000, 500);
  1285. CreateStreamObject(1655, 262.3038, 2540.2061, 16.6876, 0.0000, 0.0000, 269.9998, 500);
  1286. CreateStreamObject(1655, 266.2287, 2540.2061, 19.4376, 20.6256, 0.0000, 269.9998, 500);
  1287. CreateStreamObject(1655, 346.4406, 2537.5981, 16.5420, 0.0000, 0.0000, 83.8286, 500);
  1288. CreateStreamObject(1655, 342.3408, 2538.0215, 18.7170, 10.3124, 0.0000, 83.8286, 500);
  1289. CreateStreamObject(3458, 178.2595, 2474.4392, 15.2809, 329.9197, 0.0000, 0.0000, 500);
  1290. CreateStreamObject(3458, 178.2845, 2470.5139, 17.5309, 329.9197, 0.0000, 0.0000, 500);
  1291. CreateStreamObject(3458, 178.2845, 2466.4919, 19.8309, 329.9197, 0.0000, 0.0000, 500);
  1292. CreateStreamObject(18450, -137.5126, 2516.1047, 37.5363, 0.0000, 0.0000, 0.0000, 500);
  1293. CreateStreamObject(18450, -196.0626, 2516.0051, 40.0363, 0.8586, 6.0152, 0.0000, 500);
  1294. CreateStreamObject(18450, -196.0626, 2516.0051, 41.5363, 0.8586, 10.3124, 0.0000, 500);
  1295. CreateStreamObject(18450, -196.0626, 2516.0051, 44.0363, 0.8586, 16.3285, 0.0000, 500);
  1296. CreateStreamObject(18450, -196.0626, 2516.0051, 45.5363, 0.8586, 20.6256, 0.0000, 500);
  1297. CreateStreamObject(18450, -196.0626, 2516.0051, 47.2863, 0.8586, 25.7823, 0.0000, 500);
  1298. CreateStreamObject(18450, -196.0626, 2516.0051, 48.5363, 0.8586, 29.2200, 0.0000, 500);
  1299. CreateStreamObject(18450, -273.6194, 2515.3513, 67.2813, 0.0000, 0.0000, 0.0000, 500);
  1300. CreateStreamObject(18450, -351.6194, 2515.3513, 67.2813, 0.0000, 0.0000, 0.0000, 500);
  1301. CreateStreamObject(18450, -385.0378, 2517.3450, 68.1932, 347.9679, 6.8747, 344.5301, 500);
  1302. CreateStreamObject(18450, -413.8757, 2528.8699, 72.2018, 341.0924, 6.8747, 332.4980, 500);
  1303. CreateStreamObject(18450, -442.7419, 2550.9641, 78.1704, 335.9358, 12.8907, 323.0442, 500);
  1304. CreateStreamObject(18450, -468.6634, 2578.2129, 87.9680, 340.2330, 18.9068, 316.1687, 500);
  1305. CreateStreamObject(18450, -487.7267, 2602.3201, 97.7374, 340.2330, 18.9068, 309.2932, 500);
  1306. CreateStreamObject(18450, -487.7267, 2602.3201, 97.7374, 340.2330, 18.9068, 309.2932, 500);
  1307. CreateStreamObject(18450, -504.1354, 2631.5601, 107.7882, 340.2330, 18.9068, 305.8555, 500);
  1308. CreateStreamObject(18450, -518.3752, 2656.7126, 117.2041, 340.2330, 18.9068, 301.5583, 500);
  1309. CreateStreamObject(18450, -532.9303, 2689.5107, 128.7275, 340.2330, 18.9068, 296.4017, 500);
  1310. CreateStreamObject(18450, -536.2464, 2713.1050, 136.0581, 340.2330, 18.9068, 282.6507, 500);
  1311. CreateStreamObject(18450, -536.4353, 2750.3882, 147.6235, 340.2330, 18.9068, 271.4780, 500);
  1312. CreateStreamObject(18450, -533.5990, 2778.2344, 156.8741, 340.2330, 18.9068, 265.4620, 500);
  1313. CreateStreamObject(18450, -526.1792, 2808.2051, 167.0235, 340.2330, 18.9068, 256.8676, 500);
  1314. CreateStreamObject(18450, -522.4328, 2817.1865, 170.4891, 340.2330, 18.9068, 248.2732, 500);
  1315. CreateStreamObject(18450, -520.0002, 2821.6255, 172.1048, 340.2330, 18.9068, 239.6789, 500);
  1316. CreateStreamObject(18450, -504.2956, 2839.9048, 179.7640, 340.2330, 18.9068, 231.0845, 500);
  1317. CreateStreamObject(18450, -480.4846, 2860.7136, 189.7437, 340.2330, 18.9068, 224.2090, 500);
  1318. CreateStreamObject(18450, -464.8888, 2870.8821, 195.7668, 340.2330, 18.9068, 218.1929, 500);
  1319. CreateStreamObject(18450, -438.2741, 2884.9233, 205.2852, 340.2330, 18.9068, 212.1769, 500);
  1320. CreateStreamObject(18450, -412.8831, 2894.7603, 213.4819, 340.2330, 18.9068, 203.5825, 500);
  1321. CreateStreamObject(18450, -379.7382, 2904.2705, 224.5319, 340.2330, 18.9068, 194.9882, 500);
  1322. CreateStreamObject(18450, -307.6144, 2914.8010, 247.8278, 340.2330, 18.9068, 194.9882, 500);
  1323. CreateStreamObject(18450, -250.3602, 2923.2566, 266.3427, 340.2330, 18.9068, 194.9882, 500);
  1324. CreateStreamObject(18450, -222.8712, 2926.3599, 275.1145, 340.2330, 18.9068, 188.9721, 500);
  1325. CreateStreamObject(18450, -210.4958, 2922.7153, 278.4562, 340.2330, 18.9068, 179.5183, 500);
  1326. CreateStreamObject(18450, -190.8130, 2918.4849, 284.2192, 340.2330, 18.9068, 165.7673, 500);
  1327. CreateStreamObject(18450, -162.8470, 2906.4775, 293.6496, 340.2330, 18.9068, 158.8918, 500);
  1328. CreateStreamObject(18450, -142.4377, 2896.2891, 301.2888, 340.2330, 18.9068, 155.4541, 500);
  1329. CreateStreamObject(18450, -114.4469, 2877.6941, 312.1586, 340.2330, 18.9068, 148.5786, 500);
  1330. CreateStreamObject(18450, -101.0083, 2866.7017, 317.8440, 340.2330, 18.9068, 140.8436, 500);
  1331. CreateStreamObject(18450, -78.8428, 2841.7627, 328.6004, 340.2330, 18.9068, 133.9681, 500);
  1332. CreateStreamObject(18450, -37.6449, 2787.6775, 350.3674, 340.2330, 18.9068, 133.9681, 500);
  1333. CreateStreamObject(1655, -13.7851, 2761.0908, 363.5358, 7.7341, 20.6256, 213.7525, 500);
  1334. CreateStreamObject(1655, -20.0351, 2756.4712, 360.6357, 7.7341, 20.6256, 213.7525, 500);
  1335. CreateStreamObject(1655, -14.6986, 2754.2688, 366.2936, 28.3606, 20.6256, 213.7525, 500);
  1336. CreateStreamObject(974, -2698.0461, 1270.3514, 57.2074, 0.0000, 0.0000, 0.0000, 500);
  1337. CreateStreamObject(974, -2692.4182, 1270.4639, 57.2074, 0.0000, 0.0000, 0.0000, 500);
  1338. CreateStreamObject(974, -2685.8462, 1270.3633, 57.2074, 0.0000, 0.0000, 0.0000, 500);
  1339. CreateStreamObject(974, -2678.1663, 1270.4213, 57.2074, 0.0000, 0.0000, 0.0000, 500);
  1340. CreateStreamObject(974, -2674.2104, 1270.4532, 57.2074, 0.0000, 0.0000, 0.0000, 500);
  1341. CreateStreamObject(974, -2667.9468, 1270.5018, 57.2074, 0.0000, 0.0000, 0.0000, 500);
  1342. CreateStreamObject(974, -2665.1929, 1270.5122, 57.2074, 0.0000, 0.0000, 0.0000, 500);
  1343. CreateStreamObject(981, -2681.5430, 1378.9086, 55.7640, 0.0000, 0.0000, 179.5183, 500);
  1344. CreateStreamObject(971, -2668.0039, 1373.7423, 58.9969, 0.0000, 0.0000, 0.0000, 500);
  1345. CreateStreamObject(971, -2676.8027, 1373.6615, 58.9969, 0.0000, 0.0000, 0.0000, 500);
  1346. CreateStreamObject(971, -2685.6316, 1373.6335, 58.9969, 0.0000, 0.0000, 0.0000, 500);
  1347. CreateStreamObject(971, -2694.4609, 1373.5938, 58.9969, 0.0000, 0.0000, 0.0000, 500);
  1348. CreateStreamObject(971, -2699.3904, 1370.2649, 59.3824, 0.0000, 0.0000, 230.2251, 500);
  1349. CreateStreamObject(971, -2662.7642, 1370.6086, 59.3824, 0.0000, 0.0000, 316.1687, 500);
  1350. CreateStreamObject(1245, -2689.2468, 1356.9429, 55.9173, 0.0000, 0.0000, 270.6186, 500);
  1351. CreateStreamObject(1245, -2686.2720, 1356.7361, 55.9173, 0.0000, 0.0000, 270.6186, 500);
  1352. CreateStreamObject(1245, -2686.0291, 1361.1274, 58.5661, 0.0000, 0.0000, 270.6186, 500);
  1353. CreateStreamObject(1245, -2689.0100, 1361.2239, 58.4984, 0.0000, 0.0000, 270.6186, 500);
  1354. CreateStreamObject(1245, -2688.8140, 1365.6915, 61.1821, 0.0000, 0.0000, 270.6186, 500);
  1355. CreateStreamObject(1245, -2685.8306, 1365.7085, 61.3179, 0.0000, 0.0000, 270.6186, 500);
  1356. CreateStreamObject(994, 52.7601, 2135.9927, 121.5236, 0.0000, 0.0000, 0.0000, 500);
  1357. CreateStreamObject(979, 345.2758, 1797.7369, 18.2465, 0.0000, 0.0000, 213.7525, 500);
  1358. CreateStreamObject(1633, 340.7714, 1800.6223, 18.4833, 0.0000, 0.0000, 213.7525, 500);
  1359. CreateStreamObject(1633, 344.2589, 1802.8643, 18.6130, 0.0000, 0.0000, 213.7525, 500);
  1360. CreateStreamObject(1655, 83.7103, 2504.2163, 97.8036, 103.1316, 0.0000, 89.9994, 500);
  1361. CreateStreamObject(13592, 17.6652, 2538.1519, 25.0127, 0.0000, 0.0000, 96.9551, 500);
  1362. CreateStreamObject(13592, 10.1652, 2538.1519, 25.0127, 0.0000, 0.0000, 96.9551, 500);
  1363. CreateStreamObject(13592, 3.4152, 2538.1519, 25.0127, 0.0000, 0.0000, 96.9551, 500);
  1364. CreateStreamObject(13592, -4.0848, 2538.1519, 25.0127, 0.0000, 0.0000, 96.9551, 500);
  1365. CreateStreamObject(13592, -11.5848, 2538.1519, 25.0127, 0.0000, 0.0000, 96.9551, 500);
  1366. CreateStreamObject(13592, -18.8348, 2538.1519, 25.0127, 0.0000, 0.0000, 96.9551, 500);
  1367. CreateStreamObject(13592, -25.8348, 2538.1519, 25.0127, 0.0000, 0.0000, 96.9551, 500);
  1368. CreateStreamObject(13592, -33.0848, 2538.1519, 25.0127, 0.0000, 0.0000, 96.9551, 500);
  1369. CreateStreamObject(13592, -40.3348, 2538.1519, 25.0127, 0.0000, 0.0000, 96.9551, 500);
  1370. CreateStreamObject(1634, -44.3453, 2543.6135, 16.4039, 0.0000, 0.0000, 0.0000, 500);
  1371. CreateStreamObject(1634, -44.3908, 2548.1646, 19.2431, 12.0313, 0.0000, 0.0000, 500);
  1372. CreateStreamObject(1634, -44.3461, 2551.1492, 22.7687, 29.2200, 0.0000, 0.0000, 500);
  1373. CreateStreamObject(1634, -44.3623, 2553.4421, 26.5744, 37.8144, 0.0000, 0.0000, 500);
  1374. CreateStreamObject(18450, 215.5082, 2504.2871, 101.9876, 0.0000, 0.0000, 0.0000, 500);
  1375. CreateStreamObject(3438, 259.9500, 2504.5325, 112.3556, 0.0000, 0.0000, 0.0000, 500);
  1376. CreateStreamObject(3438, 268.9500, 2504.5325, 119.1056, 0.0000, 0.0000, 0.0000, 500);
  1377. CreateStreamObject(1655, 254.2460, 2504.6389, 103.2314, 0.0000, 0.0000, 269.9998, 500);
  1378. CreateStreamObject(1655, 258.1460, 2504.6389, 105.7314, 12.0313, 0.0000, 269.9998, 500);
  1379. CreateStreamObject(3438, 278.7000, 2504.5325, 122.6056, 0.0000, 0.0000, 0.0000, 500);
  1380. CreateStreamObject(3851, 268.5764, 2504.7141, 115.2710, 0.0000, 0.0000, 0.0000, 500);
  1381. CreateStreamObject(3851, 268.5764, 2504.7141, 119.2710, 0.0000, 0.0000, 0.0000, 500);
  1382. CreateStreamObject(3851, 268.5764, 2504.7141, 123.0210, 0.0000, 0.0000, 0.0000, 500);
  1383. CreateStreamObject(3851, 277.9796, 2504.1729, 118.9930, 0.0000, 0.0000, 0.0000, 500);
  1384. CreateStreamObject(3851, 277.9796, 2504.1729, 122.4930, 0.0000, 0.0000, 0.0000, 500);
  1385. CreateStreamObject(3851, 277.9796, 2504.1729, 126.2430, 0.0000, 0.0000, 0.0000, 500);
  1386. CreateStreamObject(1655, 262.3038, 2540.2061, 16.6876, 0.0000, 0.0000, 269.9998, 500);
  1387. CreateStreamObject(1655, 266.2287, 2540.2061, 19.4376, 20.6256, 0.0000, 269.9998, 500);
  1388. CreateStreamObject(1655, 346.4406, 2537.5981, 16.5420, 0.0000, 0.0000, 83.8286, 500);
  1389. CreateStreamObject(1655, 342.3408, 2538.0215, 18.7170, 10.3124, 0.0000, 83.8286, 500);
  1390. CreateStreamObject(3458, 178.2595, 2474.4392, 15.2809, 329.9197, 0.0000, 0.0000, 500);
  1391. CreateStreamObject(3458, 178.2845, 2470.5139, 17.5309, 329.9197, 0.0000, 0.0000, 500);
  1392. CreateStreamObject(3458, 178.2845, 2466.4919, 19.8309, 329.9197, 0.0000, 0.0000, 500);
  1393. CreateStreamObject(18450, -137.5126, 2516.1047, 37.5363, 0.0000, 0.0000, 0.0000, 500);
  1394. CreateStreamObject(18450, -196.0626, 2516.0051, 40.0363, 0.8586, 6.0152, 0.0000, 500);
  1395. CreateStreamObject(18450, -196.0626, 2516.0051, 41.5363, 0.8586, 10.3124, 0.0000, 500);
  1396. CreateStreamObject(18450, -196.0626, 2516.0051, 44.0363, 0.8586, 16.3285, 0.0000, 500);
  1397. CreateStreamObject(18450, -196.0626, 2516.0051, 45.5363, 0.8586, 20.6256, 0.0000, 500);
  1398. CreateStreamObject(18450, -196.0626, 2516.0051, 47.2863, 0.8586, 25.7823, 0.0000, 500);
  1399. CreateStreamObject(18450, -196.0626, 2516.0051, 48.5363, 0.8586, 29.2200, 0.0000, 500);
  1400. CreateStreamObject(18450, -273.6194, 2515.3513, 67.2813, 0.0000, 0.0000, 0.0000, 500);
  1401. CreateStreamObject(18450, -351.6194, 2515.3513, 67.2813, 0.0000, 0.0000, 0.0000, 500);
  1402. CreateStreamObject(18450, -385.0378, 2517.3450, 68.1932, 347.9679, 6.8747, 344.5301, 500);
  1403. CreateStreamObject(18450, -413.8757, 2528.8699, 72.2018, 341.0924, 6.8747, 332.4980, 500);
  1404. CreateStreamObject(18450, -442.7419, 2550.9641, 78.1704, 335.9358, 12.8907, 323.0442, 500);
  1405. CreateStreamObject(18450, -468.6634, 2578.2129, 87.9680, 340.2330, 18.9068, 316.1687, 500);
  1406. CreateStreamObject(18450, -487.7267, 2602.3201, 97.7374, 340.2330, 18.9068, 309.2932, 500);
  1407. CreateStreamObject(18450, -487.7267, 2602.3201, 97.7374, 340.2330, 18.9068, 309.2932, 500);
  1408. CreateStreamObject(18450, -504.1354, 2631.5601, 107.7882, 340.2330, 18.9068, 305.8555, 500);
  1409. CreateStreamObject(18450, -518.3752, 2656.7126, 117.2041, 340.2330, 18.9068, 301.5583, 500);
  1410. CreateStreamObject(18450, -532.9303, 2689.5107, 128.7275, 340.2330, 18.9068, 296.4017, 500);
  1411. CreateStreamObject(18450, -536.2464, 2713.1050, 136.0581, 340.2330, 18.9068, 282.6507, 500);
  1412. CreateStreamObject(18450, -536.4353, 2750.3882, 147.6235, 340.2330, 18.9068, 271.4780, 500);
  1413. CreateStreamObject(18450, -533.5990, 2778.2344, 156.8741, 340.2330, 18.9068, 265.4620, 500);
  1414. CreateStreamObject(18450, -526.1792, 2808.2051, 167.0235, 340.2330, 18.9068, 256.8676, 500);
  1415. CreateStreamObject(18450, -522.4328, 2817.1865, 170.4891, 340.2330, 18.9068, 248.2732, 500);
  1416. CreateStreamObject(18450, -520.0002, 2821.6255, 172.1048, 340.2330, 18.9068, 239.6789, 500);
  1417. CreateStreamObject(18450, -504.2956, 2839.9048, 179.7640, 340.2330, 18.9068, 231.0845, 500);
  1418. CreateStreamObject(18450, -480.4846, 2860.7136, 189.7437, 340.2330, 18.9068, 224.2090, 500);
  1419. CreateStreamObject(18450, -464.8888, 2870.8821, 195.7668, 340.2330, 18.9068, 218.1929, 500);
  1420. CreateStreamObject(18450, -438.2741, 2884.9233, 205.2852, 340.2330, 18.9068, 212.1769, 500);
  1421. CreateStreamObject(18450, -412.8831, 2894.7603, 213.4819, 340.2330, 18.9068, 203.5825, 500);
  1422. CreateStreamObject(18450, -379.7382, 2904.2705, 224.5319, 340.2330, 18.9068, 194.9882, 500);
  1423. CreateStreamObject(18450, -307.6144, 2914.8010, 247.8278, 340.2330, 18.9068, 194.9882, 500);
  1424. CreateStreamObject(18450, -250.3602, 2923.2566, 266.3427, 340.2330, 18.9068, 194.9882, 500);
  1425. CreateStreamObject(18450, -222.8712, 2926.3599, 275.1145, 340.2330, 18.9068, 188.9721, 500);
  1426. CreateStreamObject(18450, -210.4958, 2922.7153, 278.4562, 340.2330, 18.9068, 179.5183, 500);
  1427. CreateStreamObject(18450, -190.8130, 2918.4849, 284.2192, 340.2330, 18.9068, 165.7673, 500);
  1428. CreateStreamObject(18450, -162.8470, 2906.4775, 293.6496, 340.2330, 18.9068, 158.8918, 500);
  1429. CreateStreamObject(18450, -142.4377, 2896.2891, 301.2888, 340.2330, 18.9068, 155.4541, 500);
  1430. CreateStreamObject(18450, -114.4469, 2877.6941, 312.1586, 340.2330, 18.9068, 148.5786, 500);
  1431. CreateStreamObject(18450, -101.0083, 2866.7017, 317.8440, 340.2330, 18.9068, 140.8436, 500);
  1432. CreateStreamObject(18450, -78.8428, 2841.7627, 328.6004, 340.2330, 18.9068, 133.9681, 500);
  1433. CreateStreamObject(18450, -37.6449, 2787.6775, 350.3674, 340.2330, 18.9068, 133.9681, 500);
  1434. CreateStreamObject(1655, -13.7851, 2761.0908, 363.5358, 7.7341, 20.6256, 213.7525, 500);
  1435. CreateStreamObject(1655, -20.0351, 2756.4712, 360.6357, 7.7341, 20.6256, 213.7525, 500);
  1436. CreateStreamObject(1655, -14.6986, 2754.2688, 366.2936, 28.3606, 20.6256, 213.7525, 500);
  1437. CreateStreamObject(974, -2698.0461, 1270.3514, 57.2074, 0.0000, 0.0000, 0.0000, 500);
  1438. CreateStreamObject(974, -2692.4182, 1270.4639, 57.2074, 0.0000, 0.0000, 0.0000, 500);
  1439. CreateStreamObject(974, -2685.8462, 1270.3633, 57.2074, 0.0000, 0.0000, 0.0000, 500);
  1440. CreateStreamObject(974, -2678.1663, 1270.4213, 57.2074, 0.0000, 0.0000, 0.0000, 500);
  1441. CreateStreamObject(974, -2674.2104, 1270.4532, 57.2074, 0.0000, 0.0000, 0.0000, 500);
  1442. CreateStreamObject(974, -2667.9468, 1270.5018, 57.2074, 0.0000, 0.0000, 0.0000, 500);
  1443. CreateStreamObject(974, -2665.1929, 1270.5122, 57.2074, 0.0000, 0.0000, 0.0000, 500);
  1444. CreateStreamObject(981, -2681.5430, 1378.9086, 55.7640, 0.0000, 0.0000, 179.5183, 500);
  1445. CreateStreamObject(971, -2668.0039, 1373.7423, 58.9969, 0.0000, 0.0000, 0.0000, 500);
  1446. CreateStreamObject(971, -2676.8027, 1373.6615, 58.9969, 0.0000, 0.0000, 0.0000, 500);
  1447. CreateStreamObject(971, -2685.6316, 1373.6335, 58.9969, 0.0000, 0.0000, 0.0000, 500);
  1448. CreateStreamObject(971, -2694.4609, 1373.5938, 58.9969, 0.0000, 0.0000, 0.0000, 500);
  1449. CreateStreamObject(971, -2699.3904, 1370.2649, 59.3824, 0.0000, 0.0000, 230.2251, 500);
  1450. CreateStreamObject(971, -2662.7642, 1370.6086, 59.3824, 0.0000, 0.0000, 316.1687, 500);
  1451. CreateStreamObject(1245, -2689.2468, 1356.9429, 55.9173, 0.0000, 0.0000, 270.6186, 500);
  1452. CreateStreamObject(1245, -2686.2720, 1356.7361, 55.9173, 0.0000, 0.0000, 270.6186, 500);
  1453. CreateStreamObject(1245, -2686.0291, 1361.1274, 58.5661, 0.0000, 0.0000, 270.6186, 500);
  1454. CreateStreamObject(1245, -2689.0100, 1361.2239, 58.4984, 0.0000, 0.0000, 270.6186, 500);
  1455. CreateStreamObject(1245, -2688.8140, 1365.6915, 61.1821, 0.0000, 0.0000, 270.6186, 500);
  1456. CreateStreamObject(1245, -2685.8306, 1365.7085, 61.3179, 0.0000, 0.0000, 270.6186, 500);
  1457. CreateStreamObject(994, 52.7601, 2135.9927, 121.5236, 0.0000, 0.0000, 0.0000, 500);
  1458. CreateStreamObject(979, 345.2758, 1797.7369, 18.2465, 0.0000, 0.0000, 213.7525, 500);
  1459. CreateStreamObject(1633, 340.7714, 1800.6223, 18.4833, 0.0000, 0.0000, 213.7525, 500);
  1460. CreateStreamObject(1633, 344.2589, 1802.8643, 18.6130, 0.0000, 0.0000, 213.7525, 500);
  1461. //----------------------------------[boot]------------------------------------
  1462. CreateStreamObject(17068, -1456.564819, 1086.996948, 0.391891, 0.0000, 0.0000, 90.0000, 500);
  1463. CreateStreamObject(17068, -1441.957886, 1086.974731, 0.375815, 0.0000, 0.0000, 90.0000, 500);
  1464. CreateStreamObject(17068, -1427.307373, 1086.972046, 0.352378, 0.0000, 0.0000, 90.0000, 500);
  1465. CreateStreamObject(17068, -1412.661133, 1086.977539, 0.333705, 0.0000, 0.0000, 90.0000, 500);
  1466. CreateStreamObject(17068, -1400.826050, 1097.066284, 0.329227, 0.0000, 0.0000, 0.0000, 500);
  1467. CreateStreamObject(1632, -1324.977295, 1152.110352, 0.502747, 0.0000, 0.0000, 0.0000, 500);
  1468. CreateStreamObject(1632, -1265.716919, 1201.574463, 0.447605, 0.0000, 0.0000, 218.1929, 500);
  1469. CreateStreamObject(1632, -1149.187500, 877.338379, 0.573267, 0.0000, 0.8594, 220.0159, 500);
  1470. CreateStreamObject(1632, -1421.265625, 1455.278564, 0.480840, 0.0000, 0.0000, 0.0000, 500);
  1471. CreateStreamObject(1632, -1405.522827, 1099.262817, 0.574737, 0.0000, 0.0000, 181.3412, 500);
  1472. CreateStreamObject(1632, -1421.229980, 1460.902588, 3.716008, 14.6104, 0.0000, 0.0000, 500);
  1473. CreateStreamObject(13641, -1421.365967, 1503.979126, 10.277651, 0.0000, 0.0000, 270.0000, 500);
  1474. CreateStreamObject(13641, -1404.779541, 1072.382202, 1.452075, 0.0000, 0.0000, 90.0000, 500);
  1475. CreateStreamObject(13641, -1139.181641, 862.608093, 3.089554, 0.0000, 355.7028, 306.5779, 500);
  1476. CreateStreamObject(13641, -1325.160889, 1148.111328, -2.174397, 0.0000, 355.7028, 85.9525, 500);
  1477. CreateStreamObject(13641, -1265.944580, 1201.324341, -0.714228, 0.0000, 357.4217, 308.5464, 500);
  1478. //-------------------------[stuntpark LV]--------------------------------
  1479. CreateStreamObject(18450, -78.842796, 2841.762695, 328.600403, 340.2330, 18.9068, 133.9681, 500);
  1480. CreateStreamObject(18450, -37.644901, 2787.677490, 350.367401, 340.2330, 18.9068, 133.9681, 500);
  1481. CreateStreamObject(1655, -13.785100, 2761.090820, 363.535797, 7.7341, 20.6256, 213.7525, 500);
  1482. CreateStreamObject(1655, -20.035101, 2756.471191, 360.635712, 7.7341, 20.6256, 213.7525, 500);
  1483. CreateStreamObject(1655, -14.698600, 2754.094482, 366.293610, 28.3606, 20.6256, 213.7525, 500);
  1484. CreateStreamObject(974, -2698.046143, 1270.351440, 57.207401, 0.0000, 0.0000, 0.0000, 500);
  1485. CreateStreamObject(974, -2692.418213, 1270.463867, 57.207401, 0.0000, 0.0000, 0.0000, 500);
  1486. CreateStreamObject(974, -2685.846191, 1270.363281, 57.207401, 0.0000, 0.0000, 0.0000, 500);
  1487. CreateStreamObject(974, -2678.166260, 1270.421265, 57.207401, 0.0000, 0.0000, 0.0000, 500);
  1488. CreateStreamObject(974, -2674.210449, 1270.453247, 57.207401, 0.0000, 0.0000, 0.0000, 500);
  1489. CreateStreamObject(974, -2667.946777, 1270.501831, 57.207401, 0.0000, 0.0000, 0.0000, 500);
  1490. CreateStreamObject(974, -2665.192871, 1270.512207, 57.207401, 0.0000, 0.0000, 0.0000, 500);
  1491. CreateStreamObject(981, -2681.542969, 1378.908569, 55.764000, 0.0000, 0.0000, 179.5183, 500);
  1492. CreateStreamObject(971, -2668.003906, 1373.742310, 58.996899, 0.0000, 0.0000, 0.0000, 500);
  1493. CreateStreamObject(971, -2676.802734, 1373.661499, 58.996899, 0.0000, 0.0000, 0.0000, 500);
  1494. CreateStreamObject(971, -2685.631592, 1373.633545, 58.996899, 0.0000, 0.0000, 0.0000, 500);
  1495. CreateStreamObject(971, -2694.460938, 1373.593750, 58.996899, 0.0000, 0.0000, 0.0000, 500);
  1496. CreateStreamObject(971, -2699.390381, 1370.264893, 59.382401, 0.0000, 0.0000, 230.2251, 500);
  1497. CreateStreamObject(971, -2662.764160, 1370.608643, 59.382401, 0.0000, 0.0000, 316.1687, 500);
  1498. CreateStreamObject(1245, -2689.246826, 1356.942871, 55.917301, 0.0000, 0.0000, 270.6186, 500);
  1499. CreateStreamObject(1245, -2686.271973, 1356.736084, 55.917301, 0.0000, 0.0000, 270.6186, 500);
  1500. CreateStreamObject(1245, -2686.029053, 1361.127441, 58.566101, 0.0000, 0.0000, 270.6186, 500);
  1501. CreateStreamObject(1245, -2689.010010, 1361.223877, 58.498402, 0.0000, 0.0000, 270.6186, 500);
  1502. CreateStreamObject(1245, -2688.813965, 1365.691528, 61.182098, 0.0000, 0.0000, 270.6186, 500);
  1503. CreateStreamObject(1245, -2685.830566, 1365.708496, 61.317902, 0.0000, 0.0000, 270.6186, 500);
  1504. CreateStreamObject(994, 52.760101, 2135.992676, 121.523598, 0.0000, 0.0000, 0.0000, 500);
  1505. CreateStreamObject(18450, 1471.953979, 1783.927124, 36.630692, 0.0000, 0.0000, 270.0000, 500);
  1506. CreateStreamObject(13592, 1479.430786, 1740.521362, 46.579170, 0.0000, 0.0000, 281.2500, 500);
  1507. CreateStreamObject(13592, 1486.408447, 1740.834595, 46.584682, 0.0000, 0.0000, 281.2500, 500);
  1508. CreateStreamObject(13592, 1493.843994, 1741.190430, 46.600574, 0.0000, 0.0000, 281.2500, 500);
  1509. CreateStreamObject(13592, 1501.193237, 1741.545410, 46.601414, 0.0000, 0.0000, 281.2500, 500);
  1510. CreateStreamObject(13592, 1508.570190, 1741.919922, 46.583134, 0.0000, 0.0000, 281.2500, 500);
  1511. CreateStreamObject(18450, 1515.970581, 1700.660400, 36.296597, 0.0000, 0.0000, 270.0000, 500);
  1512. CreateStreamObject(994, 1464.762207, 1744.301392, 37.276760, 0.0000, 0.0000, 0.0000, 500);
  1513. CreateStreamObject(994, 1516.975830, 1740.048218, 36.740669, 0.0000, 0.0000, 0.0000, 500);
  1514. CreateStreamObject(1697, 1518.310669, 1658.804199, 37.792198, 0.0000, 0.0000, 0.0000, 500);
  1515. CreateStreamObject(1697, 1513.880615, 1658.759644, 37.792198, 0.0000, 0.0000, 0.0000, 500);
  1516. CreateStreamObject(6189, 1480.937134, 1164.758057, 24.439404, 319.6065, 0.0000, 0.0000, 500);
  1517. CreateStreamObject(6189, 1480.941406, 1191.117310, 5.149181, 335.9358, 0.0000, 0.0000, 500);
  1518. CreateStreamObject(6189, 1480.913330, 1065.355835, 108.984207, 319.6065, 0.0000, 0.0000, 500);
  1519. CreateStreamObject(6189, 1480.877686, 965.676636, 193.797470, 319.6065, 0.0000, 0.0000, 500);
  1520. CreateStreamObject(6189, 1480.900879, 866.125000, 278.525787, 319.6065, 0.0000, 0.0000, 500);
  1521. CreateStreamObject(18450, 1487.678833, 1560.910522, 44.226112, 0.0000, 6.0161, 273.4378, 500);
  1522. CreateStreamObject(18450, 1487.577881, 1564.103149, 46.354286, 0.0000, 12.0321, 273.4378, 500);
  1523. CreateStreamObject(18450, 1487.550781, 1566.770386, 49.186314, 0.0000, 22.3454, 273.4378, 500);
  1524. CreateStreamObject(18450, 1487.021729, 1575.175415, 54.815121, 0.0000, 31.7992, 273.4378, 500);
  1525. CreateStreamObject(18450, 1486.643433, 1580.588989, 60.450096, 0.0000, 42.1124, 273.4378, 500);
  1526. CreateStreamObject(18450, 1486.014160, 1591.290161, 73.693695, 0.0000, 52.4256, 273.4378, 500);
  1527. CreateStreamObject(18450, 1485.816162, 1594.397949, 83.304428, 0.0000, 63.5983, 273.4378, 500);
  1528. CreateStreamObject(18450, 1485.743774, 1595.276489, 91.442703, 0.0000, 73.0521, 273.4378, 500);
  1529. CreateStreamObject(18450, 1486.193359, 1595.500854, 103.249100, 0.0000, 84.2247, 263.9840, 500);
  1530. CreateStreamObject(18450, 1486.005737, 1594.227417, 98.077553, 0.0000, 95.3974, 263.9840, 500);
  1531. CreateStreamObject(18450, 1485.575928, 1590.589355, 116.325935, 0.0000, 104.8512, 263.9840, 500);
  1532. CreateStreamObject(18450, 1485.346313, 1588.126465, 121.397049, 0.0000, 114.3050, 263.9840, 500);
  1533. CreateStreamObject(18450, 1485.097900, 1585.787109, 126.106216, 0.0000, 126.3372, 263.9840, 500);
  1534. CreateStreamObject(18450, 1483.925171, 1574.596191, 137.882263, 0.0000, 138.3694, 263.9840, 500);
  1535. CreateStreamObject(18450, 1482.940308, 1564.520630, 143.872086, 0.0000, 150.4016, 263.9840, 500);
  1536. CreateStreamObject(18450, 1483.012207, 1566.056519, 142.783585, 0.0000, 158.9960, 263.9840, 500);
  1537. CreateStreamObject(18450, 1481.388306, 1550.474487, 147.052582, 0.0000, 171.0282, 263.9840, 500);
  1538. CreateStreamObject(18450, 1479.086792, 1528.542847, 146.918823, 0.0000, 183.0604, 263.9840, 500);
  1539. CreateStreamObject(18450, 1479.214844, 1529.686646, 147.385864, 0.0000, 190.7953, 263.9840, 500);
  1540. CreateStreamObject(18450, 1477.843994, 1516.878906, 143.001877, 0.0000, 198.5303, 263.9840, 500);
  1541. CreateStreamObject(18450, 1476.711304, 1505.968384, 137.697342, 0.0000, 212.2814, 263.9840, 500);
  1542. CreateStreamObject(18450, 1475.130127, 1491.147339, 128.111237, 0.0000, 217.4381, 263.9840, 500);
  1543. CreateStreamObject(18450, 1474.209229, 1481.959595, 113.657471, 0.0000, 226.8920, 263.9840, 500);
  1544. CreateStreamObject(18450, 1474.495605, 1484.753784, 110.609818, 0.0000, 238.9240, 263.9840, 500);
  1545. CreateStreamObject(18450, 1474.179565, 1482.148560, 103.763084, 0.0000, 244.0806, 263.9840, 500);
  1546. CreateStreamObject(18450, 1474.417725, 1484.677002, 103.511177, 0.0000, 255.2532, 263.9840, 500);
  1547. CreateStreamObject(18450, 1474.298096, 1482.852173, 90.140724, 0.0000, 261.2692, 263.9840, 500);
  1548. CreateStreamObject(18450, 1474.397827, 1483.740234, 89.359543, 0.0000, 269.0040, 263.9840, 500);
  1549. CreateStreamObject(18450, 1474.409912, 1485.248169, 81.697556, 0.0000, 269.0040, 273.4378, 500);
  1550. CreateStreamObject(18450, 1474.280518, 1485.778198, 85.323914, 0.0000, 275.8795, 273.4378, 500);
  1551. CreateStreamObject(18450, 1474.208374, 1487.936523, 77.843117, 0.0000, 281.0361, 273.4378, 500);
  1552. CreateStreamObject(18450, 1474.023438, 1490.514893, 69.179352, 0.0000, 285.3332, 273.4378, 500);
  1553. CreateStreamObject(18450, 1473.853027, 1496.630371, 57.300591, 0.0000, 292.2086, 273.4378, 500);
  1554. CreateStreamObject(18450, 1473.784790, 1497.814819, 58.945961, 0.0000, 299.9435, 273.4378, 500);
  1555. CreateStreamObject(18450, 1473.627441, 1502.003418, 55.814274, 0.0000, 312.8350, 273.4378, 500);
  1556. CreateStreamObject(18450, 1473.179688, 1509.521729, 50.908474, 0.0000, 324.8670, 273.4378, 500);
  1557. CreateStreamObject(18450, 1472.338989, 1522.846802, 44.560955, 0.0000, 336.0395, 273.4378, 500);
  1558. CreateStreamObject(18450, 1472.390381, 1524.006348, 44.508511, 0.0000, 346.3526, 273.4378, 500);
  1559. CreateStreamObject(18450, 1472.001953, 1530.231689, 42.724747, 0.0000, 353.2281, 273.4378, 500);
  1560. CreateStreamObject(18450, 1471.137817, 1548.165405, 41.503494, 0.0000, 0.0000, 270.8595, 500);
  1561. CreateStreamObject(18450, 1491.082153, 1484.513794, 40.241924, 0.0000, 0.0000, 271.7189, 500);
  1562. CreateStreamObject(18450, 1490.738281, 1494.295532, 43.153866, 0.0000, 353.9839, 271.7189, 500);
  1563. CreateStreamObject(18450, 1490.768921, 1491.058838, 46.412327, 0.0000, 346.2490, 271.7189, 500);
  1564. CreateStreamObject(18450, 1490.868652, 1487.117920, 50.179714, 0.0000, 336.7952, 271.7189, 500);
  1565. CreateStreamObject(18450, 1490.988525, 1483.295044, 53.980793, 0.0000, 328.2008, 271.7189, 500);
  1566. CreateStreamObject(18450, 1491.080811, 1481.285400, 55.720238, 0.0000, 318.7470, 271.7189, 500);
  1567. CreateStreamObject(18450, 1491.200684, 1477.741821, 55.305145, 0.0000, 310.1527, 271.7189, 500);
  1568. CreateStreamObject(18450, 1492.716675, 1427.709839, 114.657913, 0.0000, 310.1527, 271.7189, 500);
  1569. CreateStreamObject(18450, 1494.200073, 1377.191284, 174.608398, 0.0000, 310.1527, 271.7189, 500);
  1570. CreateStreamObject(18450, 1495.723022, 1326.342163, 234.928177, 0.0000, 310.1527, 271.7189, 500);
  1571. CreateStreamObject(18450, 1497.199097, 1276.025513, 294.601685, 0.0000, 310.1527, 271.7189, 500);
  1572. CreateStreamObject(994, 1505.817261, 1250.246094, 325.501434, 0.0000, 0.0000, 0.0000, 500);
  1573. CreateStreamObject(13592, 1467.893066, 1832.764648, 16.383183, 87.6625, 0.8594, 102.1094, 500);
  1574. CreateStreamObject(13592, 1467.350708, 1833.772705, 23.983109, 87.6625, 0.8594, 102.1094, 500);
  1575. CreateStreamObject(13592, 1466.817627, 1834.832886, 31.600109, 87.6625, 0.8594, 102.1094, 500);
  1576. CreateStreamObject(13592, 1468.883545, 1833.136597, 36.289680, 89.3814, 162.4338, 97.6576, 500);
  1577. CreateStreamObject(1633, 1461.022949, 1828.217041, 9.787796, 4.2972, 37.8152, 17.1887, 500);
  1578. CreateStreamObject(1633, 1460.285400, 1835.155396, 11.862787, 4.2972, 37.8152, 15.4699, 500);
  1579. CreateStreamObject(1633, 1460.866821, 1838.489990, 13.088000, 9.4538, 43.8313, 359.1406, 500);
  1580. //----------------------------------[Chilliard]---------------------
  1581. CreateStreamObject(1632, -2236.292969, -1736.161987, 480.452454, 0.0000, 0.0000, 213.7500, 500);
  1582. CreateStreamObject(1632, -2233.926025, -1739.664063, 483.036926, 19.7670, 0.0000, 213.7500, 500);
  1583. CreateStreamObject(981, -2304.870117, -1602.836182, 483.933380, 0.0000, 0.0000, 315.0000, 500);
  1584. CreateStreamObject(981, -2287.267578, -1628.383423, 483.700623, 0.0000, 0.0000, 292.5000, 500);
  1585. CreateStreamObject(981, -2283.602295, -1656.614014, 482.812439, 0.0000, 0.0000, 261.4057, 500);
  1586. CreateStreamObject(4108, -2314.172607, -1571.726074, 482.560699, 0.0000, 0.0000, 326.2500, 500);
  1587. CreateStreamObject(4108, -2309.837891, -1522.360718, 482.573669, 0.0000, 0.0000, 326.2500, 500);
  1588. CreateStreamObject(18450, -2248.088379, -1538.970093, 494.360962, 0.0000, 340.2330, 0.0000, 500);
  1589. CreateStreamObject(18450, -2171.189209, -1539.006592, 507.863068, 0.0000, 0.0000, 0.0000, 500);
  1590. CreateStreamObject(18450, -2256.970215, -1443.712646, 490.405731, 0.0000, 347.1084, 56.2500, 500);
  1591. CreateStreamObject(18450, -2220.681396, -1375.644775, 503.251190, 352.2651, 353.1245, 66.6405, 500);
  1592. CreateStreamObject(18450, -2200.805176, -1310.385986, 511.311523, 352.2651, 353.1245, 77.8906, 500);
  1593. CreateStreamObject(18450, -2182.877686, -1255.149536, 520.702332, 2.5783, 347.9679, 64.9217, 500);
  1594. CreateStreamObject(18450, -2147.897461, -1199.145996, 534.787109, 6.0161, 347.9679, 53.6717, 500);
  1595. CreateStreamObject(18450, -2102.555908, -1153.075684, 550.681519, 7.7349, 344.5301, 42.4217, 500);
  1596. CreateStreamObject(18450, -2063.457520, -1101.500610, 571.922058, 352.2651, 339.3735, 64.9217, 500);
  1597. CreateStreamObject(1632, -2046.122314, -1070.753784, 587.324829, 23.2048, 350.5462, 334.9217, 500);
  1598. CreateStreamObject(1632, -2049.694336, -1068.772705, 586.694275, 23.2048, 350.5462, 334.9217, 500);
  1599. CreateStreamObject(1632, -2053.256104, -1066.795166, 586.073547, 23.2048, 350.5462, 334.9217, 500);
  1600. CreateStreamObject(1632, -2049.057129, -1065.361450, 590.957458, 39.5341, 341.0924, 335.7811, 500);
  1601. CreateStreamObject(987, -2337.621338, -1544.670776, 481.405182, 289.5262, 355.7028, 11.2500, 500);
  1602. CreateStreamObject(987, -2338.419434, -1541.897339, 482.127869, 294.6829, 355.7028, 11.2500, 500);
  1603. CreateStreamObject(987, -2339.118164, -1539.261230, 483.098450, 303.2772, 355.7028, 11.2500, 500);
  1604. CreateStreamObject(13666, -2121.492676, -1538.321167, 514.771912, 0.0000, 0.0000, 191.2500, 500);
  1605. CreateStreamObject(1632, -2131.472412, -1538.972290, 509.231995, 0.0000, 0.0000, 270.0000, 500);
  1606. CreateStreamObject(1632, -2131.431396, -1543.052246, 509.256989, 0.0000, 0.0000, 270.0000, 500);
  1607. CreateStreamObject(1632, -2131.400146, -1534.821777, 509.256989, 0.0000, 0.0000, 270.0000, 500);
  1608. //-------------------------------[SPEED]---------------------------------------------------------
  1609. CreateStreamObject(16037, 145.2531, 2321.5476, 58.8415, 0.0000, 307.5744, 0.0000, 500);
  1610. CreateStreamObject(16037, 217.4406, 2321.5334, 152.6868, 0.0000, 307.5744, 0.0000, 500);
  1611. CreateStreamObject(16037, 290.4199, 2321.5474, 247.5416, 0.0000, 307.5744, 0.0000, 500);
  1612. CreateStreamObject(16037, 362.8421, 2321.5496, 341.7299, 0.0000, 307.5744, 0.0000, 500);
  1613. CreateStreamObject(16037, 435.5363, 2321.5500, 436.2209, 0.0000, 307.5744, 0.0000, 500);
  1614. CreateStreamObject(16037, 508.9208, 2321.5491, 531.6298, 0.0000, 307.5744, 0.0000, 500);
  1615. CreateStreamObject(16037, 582.4436, 2321.5476, 627.1949, 0.0000, 307.5744, 0.0000, 500);
  1616. CreateStreamObject(16037, 655.0208, 2321.5667, 721.5378, 0.0000, 307.5744, 0.0000, 500);
  1617. CreateStreamObject(16037, 728.5195, 2321.5649, 817.0925, 0.0000, 307.5744, 0.0000, 500);
  1618. CreateStreamObject(16037, 801.5555, 2321.5891, 912.0836, 0.0000, 307.5744, 0.0000, 500);
  1619. CreateStreamObject(16037, 874.7444, 2321.5938, 1007.2742, 0.0000, 307.5744, 0.0000, 500);
  1620. CreateStreamObject(16037, 947.6812, 2321.6182, 1102.0837, 0.0000, 307.5744, 0.0000, 500);
  1621. CreateStreamObject(16037, 1020.4733, 2321.6248, 1196.6938, 0.0000, 307.5744, 0.0000, 500);
  1622. CreateStreamObject(16037, 1094.1104, 2321.6641, 1292.4181, 0.0000, 307.5744, 0.0000, 500);
  1623. CreateStreamObject(16037, 1167.2242, 2321.6667, 1387.4591, 0.0000, 307.5744, 0.0000, 500);
  1624. CreateStreamObject(16037, 1239.7051, 2321.6726, 1481.6686, 0.0000, 307.5744, 0.0000, 500);
  1625. CreateStreamObject(16037, 1312.5690, 2321.6787, 1576.3881, 0.0000, 307.5744, 0.0000, 500);
  1626. CreateStreamObject(16037, 1385.3654, 2321.6948, 1671.0186, 0.0000, 307.5744, 0.0000, 500);
  1627. CreateStreamObject(16037, 1458.5137, 2321.6980, 1766.0930, 0.0000, 307.5744, 0.0000, 500);
  1628. CreateStreamObject(16037, 1532.0570, 2321.7041, 1861.6884, 0.0000, 307.5744, 0.0000, 500);
  1629. CreateStreamObject(16037, 1605.6910, 2321.6838, 1957.4126, 0.0000, 307.5744, 0.0000, 500);
  1630. CreateStreamObject(16037, 1679.3334, 2321.6931, 2053.1516, 0.0000, 307.5744, 0.0000, 500);
  1631. CreateStreamObject(16037, 1752.2584, 2321.6929, 2147.9614, 0.0000, 307.5744, 0.0000, 500);
  1632. CreateStreamObject(16037, 1825.3326, 2321.6992, 2242.9543, 0.0000, 307.5744, 0.0000, 500);
  1633. CreateStreamObject(16037, 1898.2894, 2321.6909, 2337.7791, 0.0000, 307.5744, 0.0000, 500);
  1634. CreateStreamObject(16037, 1971.6816, 2321.7056, 2433.1970, 0.0000, 307.5744, 0.0000, 500);
  1635. CreateStreamObject(16037, 2045.1433, 2321.6968, 2528.7092, 0.0000, 307.5744, 0.0000, 500);
  1636. CreateStreamObject(16037, 2118.9060, 2321.7075, 2624.5996, 0.0000, 307.5744, 0.0000, 500);
  1637. CreateStreamObject(16037, 2192.7048, 2321.7217, 2720.5220, 0.0000, 307.5744, 0.0000, 500);
  1638. CreateStreamObject(16037, 2265.8091, 2321.6877, 2815.5417, 0.0000, 307.5744, 0.0000, 500);
  1639. CreateStreamObject(980, 138.5622, 2322.3228, 44.6064, 124.6183, 0.0000, 270.0000, 500);
  1640. CreateStreamObject(980, 137.7235, 2322.3167, 44.0636, 119.4616, 0.0000, 270.0000, 500);
  1641. CreateStreamObject(980, 135.7338, 2322.3967, 42.9119, 112.5861, 0.0000, 270.0000, 500);
  1642. CreateStreamObject(980, 134.3292, 2322.4338, 42.2752, 105.7106, 0.0000, 270.0000, 500);
  1643. CreateStreamObject(980, 133.0595, 2322.2585, 41.9841, 97.9757, 0.0000, 270.0000, 500);
  1644. CreateStreamObject(980, 130.9313, 2322.2695, 41.9065, 89.3814, 0.0000, 270.0000, 500);
  1645. CreateStreamObject(980, 128.9905, 2322.2695, 41.8365, 80.7870, 0.0000, 270.0000, 500);
  1646. CreateStreamObject(980, 125.3425, 2322.2849, 42.6612, 73.0521, 0.0000, 270.0000, 500);
  1647. CreateStreamObject(980, 124.7372, 2322.2776, 42.8462, 61.8794, 0.0000, 270.0000, 500);
  1648. //-----------------------------[RACE]------------------------------
  1649. CreateStreamObject(982, -310.998444, 1493.261841, 75.588936, 0.0000, 358.2811, 3.4377, 500);
  1650. CreateStreamObject(982, -309.547668, 1467.653931, 74.606895, 4.2972, 358.2811, 3.4377, 500);
  1651. CreateStreamObject(982, -308.152863, 1442.135498, 72.951561, 3.4377, 358.2811, 3.4377, 500);
  1652. CreateStreamObject(982, -306.649689, 1416.622803, 72.043495, 0.8594, 358.2811, 3.4377, 500);
  1653. CreateStreamObject(982, -322.120819, 1390.935303, 72.048965, 355.7028, 359.1406, 26.7972, 500);
  1654. CreateStreamObject(982, -333.642761, 1413.788940, 69.468567, 353.9839, 359.1406, 26.7972, 500);
  1655. CreateStreamObject(982, -345.177185, 1436.571289, 66.803955, 353.9839, 359.1406, 26.7972, 500);
  1656. CreateStreamObject(982, -375.497559, 1469.034180, 62.398186, 4.2972, 359.1406, 308.0472, 500);
  1657. CreateStreamObject(982, -388.268188, 1450.701904, 61.209515, 358.2811, 359.1406, 161.7972, 500);
  1658. CreateStreamObject(982, -383.884155, 1434.184082, 60.664650, 2.5783, 359.1406, 28.5160, 500);
  1659. CreateStreamObject(982, -371.575348, 1411.651489, 59.157860, 3.4377, 359.1406, 28.5160, 500);
  1660. CreateStreamObject(982, -358.975037, 1389.303223, 57.627838, 3.4377, 359.1406, 30.2349, 500);
  1661. CreateStreamObject(982, -346.147003, 1367.332031, 55.905979, 4.2972, 359.1406, 30.2349, 500);
  1662. CreateStreamObject(982, -333.993744, 1344.920410, 54.071342, 4.2972, 359.1406, 26.7971, 500);
  1663. CreateStreamObject(980, -315.410370, 1382.840820, 71.357132, 357.4217, 354.8434, 334.0623, 500);
  1664. CreateStreamObject(980, -297.474670, 1366.830811, 70.092690, 357.4217, 0.0000, 311.5623, 500);
  1665. CreateStreamObject(982, -324.561127, 1505.868652, 75.316338, 0.0000, 0.0000, 270.0000, 500);
  1666. CreateStreamObject(982, -348.027588, 1512.899048, 75.292946, 0.0000, 0.0000, 236.2501, 500);
  1667. racegate = CreateStreamObject(980, -302.315216, 1507.077026, 73.538872, 0.0000, 0.0000, 0.0000, 500);
  1668.  
  1669. Msg = 0;
  1670. SetTimer("GlobalAnnouncement",120000,true);
  1671. RealClock = TextDrawCreate(547.000000,22.000000," ");
  1672. TextDrawAlignment(RealClock,0);
  1673. TextDrawBackgroundColor(RealClock,0x000000ff);
  1674. TextDrawFont(RealClock,3);
  1675. TextDrawLetterSize(RealClock,0.599999,2.299999);
  1676. TextDrawColor(RealClock,0xffffffff);
  1677. TextDrawSetOutline(RealClock,1);
  1678. TextDrawSetProportional(RealClock,1);
  1679. TextDrawSetShadow(RealClock,10);
  1680. Timer = SetTimer("UpdateClock",300,1);
  1681. SetTimer("ScoreUpdate", 3000, 1);
  1682. SetTimer("Hack", 3000, 1);
  1683. SetTimer("AntiJetpack", 700, 1);
  1684. SetTimer("WeaponCheck", 800, 1);
  1685. SetTimer("CheckpointUpdate",1000,1);
  1686. SetTimer("GPRaceCountdown",1000,1);
  1687. SetTimer("GPTimer",1000,1);
  1688. DisableInteriorEnterExits();
  1689. ForbiddenNamesLoad();
  1690. {
  1691. telemenu = CreateMenu("Teleport", 1, 200.0, 100.0, 150.0, 150.0);
  1692. SetMenuColumnHeader(telemenu, 0, "Teleports");
  1693. AddMenuItem(telemenu, 0, "Start");
  1694. AddMenuItem(telemenu, 0, "Stunt");
  1695. AddMenuItem(telemenu, 0, "Trampolin");
  1696. AddMenuItem(telemenu, 0, "Explosion");
  1697. AddMenuItem(telemenu, 0, "Jump");
  1698. AddMenuItem(telemenu, 0, "Military");
  1699. AddMenuItem(telemenu, 0, "Plane");
  1700. AddMenuItem(telemenu, 0, "Boat");
  1701. AddMenuItem(telemenu, 0, "Admin Place");
  1702. AddMenuItem(telemenu, 0, "Page two");
  1703.  
  1704. telemenu2 = CreateMenu("Teleport", 1, 200.0, 100.0, 150.0, 150.0);
  1705. SetMenuColumnHeader(telemenu, 0, "Teleports");
  1706. AddMenuItem(telemenu2, 0, "Mount Chiliat");
  1707. AddMenuItem(telemenu2, 0, "Speed");
  1708. AddMenuItem(telemenu2, 0, "Race");
  1709. }
  1710. for(new t=0; t<5; t++)
  1711. {
  1712. strmid(KartHS[t][Driver], "None", 0, strlen("None"), 24);
  1713. KartHS[t][Time]=100000;
  1714. }
  1715. if(!fexist("DownhillTimes.cfg"))
  1716. SaveTimes();
  1717. LoadTimes();
  1718.  
  1719. Welcome0 = TextDrawCreate(318.000000,137.000000,"~g~Stunt Roleplay ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ");
  1720. Welcome1 = TextDrawCreate(201.000000,165.000000,"~b~Commands");
  1721. Welcome2 = TextDrawCreate(211.000000,188.000000,"~y~ /cmd /help");
  1722. Welcome3 = TextDrawCreate(122.000000,219.000000,"~r~ | No Cheating / Hacking~n~ | Respect Others~n~ | Have Fun");
  1723. TextDrawUseBox(Welcome0,1);
  1724. TextDrawBoxColor(Welcome0,0x00000066);
  1725. TextDrawTextSize(Welcome0,0.000000,420.000000);
  1726. TextDrawAlignment(Welcome0,2);
  1727. TextDrawAlignment(Welcome1,0);
  1728. TextDrawAlignment(Welcome2,0);
  1729. TextDrawAlignment(Welcome3,1);
  1730. TextDrawBackgroundColor(Welcome0,0x000000ff);
  1731. TextDrawBackgroundColor(Welcome1,0x000000ff);
  1732. TextDrawBackgroundColor(Welcome2,0x000000ff);
  1733. TextDrawBackgroundColor(Welcome3,0x000000ff);
  1734. TextDrawFont(Welcome0,3);
  1735. TextDrawLetterSize(Welcome0,1.000000,2.000000);
  1736. TextDrawFont(Welcome1,2);
  1737. TextDrawLetterSize(Welcome1,0.699999,1.500000);
  1738. TextDrawFont(Welcome2,1);
  1739. TextDrawLetterSize(Welcome2,0.699999,1.600000);
  1740. TextDrawFont(Welcome3,1);
  1741. TextDrawLetterSize(Welcome3,0.399999,1.300000);
  1742. TextDrawSetOutline(Welcome0,1);
  1743. TextDrawSetOutline(Welcome1,1);
  1744. TextDrawSetOutline(Welcome2,1);
  1745. TextDrawSetOutline(Welcome3,1);
  1746. TextDrawSetProportional(Welcome0,1);
  1747. TextDrawSetProportional(Welcome1,1);
  1748. TextDrawSetProportional(Welcome2,1);
  1749. TextDrawSetProportional(Welcome3,1);
  1750. TextDrawSetShadow(Welcome0,1);
  1751. TextDrawSetShadow(Welcome1,1);
  1752. TextDrawSetShadow(Welcome2,1);
  1753. TextDrawSetShadow(Welcome3,1);
  1754.  
  1755. return 1;
  1756. }
  1757.  
  1758. public OnGameModeExit()
  1759. {
  1760. KillTimer(Timer);
  1761. TextDrawHideForAll(RealClock);
  1762. TextDrawDestroy(RealClock);
  1763. return 1;
  1764. }
  1765.  
  1766. public OnPlayerRequestClass(playerid, classid)
  1767. {
  1768. SetPlayerPos(playerid, 1544.9640,-1672.2316,13.5594);
  1769. SetPlayerCameraPos(playerid, 1543.3433,-1674.3552,13.5563);
  1770. SetPlayerCameraLookAt(playerid, 1544.7147,-1671.5306,13.5589);
  1771. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_PISSING);
  1772. TextDrawHideForPlayer(playerid,RealClock);
  1773. return 1;
  1774. }
  1775.  
  1776. public OnPlayerRequestSpawn(playerid)
  1777. {
  1778. return 1;
  1779. }
  1780.  
  1781. public OnPlayerConnect(playerid)
  1782. {
  1783. new pName[MAX_PLAYER_NAME];
  1784. new ip[20];
  1785. new string[128];
  1786. new Hour, Minute, Second;
  1787. gettime(Hour, Minute, Second);
  1788. SetPlayerColor( playerid, gColours[ playerid ] );
  1789. GetPlayerIp(playerid, ip, sizeof ip);
  1790. GetPlayerName(playerid, pName, sizeof(pName));
  1791. format(string, sizeof(string), "[Time: %02d:%02d:%02d]-[Join]%s has joined the server.[Ip: %s]", Hour, Minute, Second, pName, ip);
  1792. SendClientMessageToAll(0xAAAAAAAA, string);
  1793. IpLog(string);
  1794. TextDrawShowForPlayer(playerid,Welcome0);
  1795. TextDrawShowForPlayer(playerid,Welcome1);
  1796. TextDrawShowForPlayer(playerid,Welcome2);
  1797. TextDrawShowForPlayer(playerid,Welcome3);
  1798. WelcomeText[playerid] = true;
  1799. //SetTimer("LoginCheck2", 60000, 0);
  1800. MotoGP[playerid] = 0;
  1801. Mototime[playerid] = 0;
  1802.  
  1803. for(new s = 0; s < BadNameCount; s++)
  1804. {
  1805. if(!strcmp(BadNames[s],GetName(playerid),true))
  1806. {
  1807. SendClientMessage(playerid, RED, "[ANTI NAME]: Fuck you CHEATER!!!!!");
  1808. Kick(playerid);
  1809. return 1;
  1810. }
  1811. }
  1812.  
  1813. AccountInfo[playerid][Jail] = 0;
  1814. AccountInfo[playerid][AdminLevel] = 0;
  1815. AccountInfo[playerid][Warns] = 0;
  1816. AccountInfo[playerid][Logged] = 0;
  1817. AccountInfo[playerid][Mute] = 0;
  1818. format(AccountInfo[playerid][Password], 128, " ");
  1819. format(AccountInfo[playerid][WarnReason1], 128, "NONE");
  1820. format(AccountInfo[playerid][WarnReason2], 128, "NONE");
  1821. format(AccountInfo[playerid][WarnReason3], 128, "NONE");
  1822. Drugs[playerid] = 0;
  1823. Hide[playerid] = 0;
  1824. SuperPunch[playerid] = 0;
  1825. ViewCmds[playerid] = 0;
  1826. PMBlock[playerid] = false;
  1827. new sendername[MAX_PLAYER_NAME];
  1828. GetPlayerName(playerid, sendername, sizeof(sendername));
  1829. GetPlayerIp(playerid, ip, sizeof ip);
  1830. strmid(AccountInfo[playerid][IP], ip, 0, strlen(ip), 128);
  1831. format(string, sizeof(string), "/SchockAccounts/%s.Schock", sendername);
  1832. if (!fexist(string)) return SendClientMessage(playerid,WHITE,"SERVER: Your account isn't registered. Please register ( /register [password] )");
  1833. #if defined ENABLE_AUTO_LOGIN
  1834. {
  1835. new File:user = fopen(string, io_read);
  1836. if (user)
  1837. {
  1838. new pass[128];
  1839. new passres[128], value[128];
  1840. new loop = 1;
  1841. WHILE:
  1842. while (fread(user, pass))
  1843. {
  1844. printf("line: %s", pass);
  1845. strmid(passres, GetFileString(pass), 0, strlen(GetFileString(pass)), 128);
  1846. if (loop == 1)
  1847. {
  1848. if (!strcmp("IPAddress", passres)) printf("IP; %s", GetFileValue(pass));
  1849. if (!strcmp("Password", passres))
  1850. {
  1851. value = GetFileValue(pass);
  1852. strmid(AccountInfo[playerid][Password], value, 0, strlen(value)-1, 128);
  1853. loop = 2;
  1854. goto WHILE;
  1855. }
  1856. }
  1857. else if (loop == 2)
  1858. {
  1859. if (!strcmp("IPAddress", passres))
  1860. {
  1861. printf("%s", passres);
  1862. strmid(passres, value, 0, strlen(value)-1, 20);
  1863. printf("file-ip: %s | player-ip: %s", GetFileValue(pass), AccountInfo[playerid][IP]);
  1864. if (!strcmp(AccountInfo[playerid][IP], passres, true))
  1865. {
  1866. SendClientMessage(playerid, YELLOW, "|- Auto Login -|");
  1867. fclose(user);
  1868. OnPlayerLogin(playerid, AccountInfo[playerid][Password]);
  1869. return 1;
  1870. }
  1871. else
  1872. {
  1873. if (fexist(string))
  1874. {
  1875. SendClientMessage(playerid, WHITE, "SERVER: That account is registered.");
  1876. SendClientMessage(playerid, ORANGE, "Please login to retrieve your account stats ( /login [password] )");
  1877. }
  1878. fclose(user);
  1879. }
  1880. }
  1881. }
  1882. }
  1883. fclose(user);
  1884. }
  1885. }
  1886. #else
  1887. {
  1888. if (fexist(string))
  1889. {
  1890. SendClientMessage(playerid, WHITE, "SERVER: That account is registered.");
  1891. SendClientMessage(playerid, ORANGE, "Please login to retrieve your account stats ( /login [password] )");
  1892. }
  1893. }
  1894. #endif
  1895. return 1;
  1896. }
  1897.  
  1898. public OnPlayerDisconnect(playerid, reason)
  1899. {
  1900. new pName[MAX_PLAYER_NAME], string[128];
  1901. GetPlayerName(playerid, pName, sizeof(pName));
  1902. switch(reason)
  1903. {
  1904. case 0: format(string, sizeof(string), "[Leave]%s is crashed.", pName);
  1905. case 1: format(string, sizeof(string), "[Leave]%s has left the server.", pName);
  1906. case 2: format(string, sizeof(string), "[Leave]%s was kicked from the Server.", pName);
  1907. }
  1908. SendClientMessageToAll(0xAAAAAAAA, string);
  1909.  
  1910. if(WelcomeText[playerid] == true)
  1911. {
  1912. TextDrawHideForPlayer(playerid,Welcome0);
  1913. TextDrawHideForPlayer(playerid,Welcome1);
  1914. TextDrawHideForPlayer(playerid,Welcome2);
  1915. TextDrawHideForPlayer(playerid,Welcome3);
  1916. WelcomeText[playerid] = false;
  1917. }
  1918.  
  1919. OnPlayerUpdateAccount(playerid);
  1920. AccountInfo[playerid][Jail] = 0;
  1921. AccountInfo[playerid][AdminLevel] = 0;
  1922. AccountInfo[playerid][Warns] = 0;
  1923. AccountInfo[playerid][Logged] = 0;
  1924. AccountInfo[playerid][Mute] = 0;
  1925. Drugs[playerid] = 0;
  1926. Hide[playerid] = 0;
  1927. SuperPunch[playerid] = 0;
  1928. ViewCmds[playerid] = 0;
  1929. strmid(AccountInfo[playerid][IP], " ", 0, strlen(" "), 20);
  1930.  
  1931. KillTimer(hptimer[playerid]);
  1932. KillTimer(cartimer[playerid]);
  1933. MidoStreamDisconnect(playerid);
  1934. TextDrawHideForPlayer(playerid,RealClock);
  1935. MotoGP[playerid] =0;
  1936. Mototime[playerid] =0;
  1937. return 1;
  1938. }
  1939.  
  1940. public OnPlayerSpawn(playerid)
  1941. {
  1942. TextDrawShowForPlayer(playerid,RealClock);
  1943.  
  1944. if(WelcomeText[playerid] == true)
  1945. {
  1946. TextDrawHideForPlayer(playerid,Welcome0);
  1947. TextDrawHideForPlayer(playerid,Welcome1);
  1948. TextDrawHideForPlayer(playerid,Welcome2);
  1949. TextDrawHideForPlayer(playerid,Welcome3);
  1950. WelcomeText[playerid] = false;
  1951. }
  1952.  
  1953. SetPlayerInterior(playerid, 0);
  1954. return 1;
  1955. }
  1956.  
  1957. public OnPlayerDeath(playerid, killerid, reason)
  1958. {
  1959. if(GetPlayerVirtualWorld(playerid) == 0 )
  1960. {
  1961. SendDeathMessage(killerid, playerid, reason);
  1962. }
  1963.  
  1964. KillTimer(cartimer[playerid]);
  1965. KillTimer(hptimer[playerid]);
  1966. return 1;
  1967. }
  1968.  
  1969. public OnVehicleSpawn(vehicleid)
  1970. {
  1971. KillTimer(cartimer[vehicleid]);
  1972. return 1;
  1973. }
  1974.  
  1975. public OnVehicleDeath(vehicleid, killerid)
  1976. {
  1977. return 1;
  1978. }
  1979.  
  1980. public OnPlayerText(playerid, text[])
  1981. {
  1982. if (AccountInfo[playerid][Mute] == 1)
  1983. {
  1984. SendClientMessage(playerid, RED, "You are muted! You cannot talk.");
  1985. return 0;
  1986. }
  1987. return 1;
  1988. }
  1989.  
  1990. public OnPlayerPrivmsg(playerid, recieverid, text[])
  1991. {
  1992. new string[126], pname[MAX_PLAYER_NAME], oname[MAX_PLAYER_NAME];
  1993. GetPlayerName(playerid, pname, sizeof(pname));
  1994. GetPlayerName(recieverid, oname, sizeof(oname));
  1995. format(string, sizeof(string), "PM from %s to %s: %s", pname, oname, text);
  1996.  
  1997. for(new i = 0; i < MAX_PLAYERS; i++)
  1998. {
  1999. if (AccountInfo[i][AdminLevel] >= 1 || IsPlayerAdmin(i))
  2000. {
  2001. SendClientMessage(i, 0xFFFF00FF, string);
  2002. }
  2003. else
  2004. {
  2005. }
  2006. }
  2007.  
  2008. if (PMBlock[recieverid] == true) return SendClientMessage(playerid, RED, "That admin has blocked private messages"), 0;
  2009. return 1;
  2010. }
  2011.  
  2012. forward NukeBlast(playerid, times, Float:X,Float:Y,Float:Z,Float:A);
  2013. public NukeBlast(playerid, times, Float:X,Float:Y,Float:Z,Float:A)
  2014. {
  2015. if (Nuke[playerid] == times+1) return 1;
  2016. new Float:x,Float:y;
  2017. x = X + ((10*Nuke[playerid]) * floatsin(-A+5, degrees));
  2018. y = Y + ((10*Nuke[playerid]) * floatcos(-A+5, degrees));
  2019. CreateExplosion(x, y, Z, 3, 3.0);
  2020. Nuke[playerid]++;
  2021. SetTimerEx("NukeBlast", 200, 0, "ddffff",playerid, times, X, Y, Z, A);
  2022. return 1;
  2023. }
  2024.  
  2025. public OnObjectMoved(objectid)
  2026. {
  2027. for(new i; i < MAX_PLAYERS; i++) if (objectid == Missile[i])
  2028. {
  2029. new Float:X,Float:Y,Float:Z,Float:x,Float:y,Float:z;
  2030. GetObjectPos(objectid, X, Y, Z);
  2031. GetObjectPos(objectid, x, y, z);
  2032. DestroyObject(objectid);
  2033. CreateExplosion(X, Y, Z, 7, 5);
  2034. //front
  2035. X += (5.0 * floatsin(0, degrees));
  2036. Y += (5.0 * floatcos(0, degrees));
  2037. CreateExplosion(X, Y, Z, 7, 5);
  2038. X += (3.0 * floatsin(0+45, degrees));
  2039. Y += (3.0 * floatcos(0+45, degrees));
  2040. CreateExplosion(X, Y, Z, 7, 5);
  2041. X += (3.0 * floatsin(0-45, degrees));
  2042. Y += (3.0 * floatcos(0-45, degrees));
  2043. CreateExplosion(X, Y, Z, 7, 5);
  2044. //right-left
  2045. X += (5.0 * floatcos(0, degrees));
  2046. Y += (5.0 * floatsin(0, degrees));
  2047. CreateExplosion(X, Y, Z, 7, 5);
  2048. //back
  2049. X -= (5.0 * floatcos(0, degrees));
  2050. Y -= (5.0 * floatsin(0, degrees));
  2051. CreateExplosion(X, Y, Z, 7, 5);
  2052. X -= (5.0 * floatsin(0, degrees));
  2053. Y -= (5.0 * floatcos(0, degrees));
  2054. CreateExplosion(X, Y, Z, 7, 5);
  2055. X -= (3.0 * floatsin(0+45, degrees));
  2056. Y -= (3.0 * floatcos(0+45, degrees));
  2057. CreateExplosion(X, Y, Z, 7, 5);
  2058. X -= (3.0 * floatsin(0-45, degrees));
  2059. Y -= (3.0 * floatcos(0-45, degrees));
  2060. CreateExplosion(X, Y, Z, 7, 5);
  2061. SetTimerEx("MissileExplosion", 700, 0, "fffd", x, y, z, 3);
  2062. break;
  2063. }
  2064. }
  2065.  
  2066. forward MissileExplosion(Float:X, Float:Y, Float:Z, times);
  2067. public MissileExplosion(Float:X, Float:Y, Float:Z, times)
  2068. {
  2069. new Float:x = X;
  2070. new Float:y = Y;
  2071. new Float:z = Z;
  2072. if (times == 3)
  2073. {
  2074. //front
  2075. X += (10.0 * floatsin(0, degrees));
  2076. Y += (10.0 * floatcos(0, degrees));
  2077. CreateExplosion(X, Y, Z, 7, 5);
  2078. X += (6.0 * floatsin(0+45, degrees));
  2079. Y += (6.0 * floatcos(0+45, degrees));
  2080. CreateExplosion(X, Y, Z, 7, 5);
  2081. X += (6.0 * floatsin(0-45, degrees));
  2082. Y += (6.0 * floatcos(0-45, degrees));
  2083. CreateExplosion(X, Y, Z, 7, 5);
  2084. //right-left
  2085. X += (10.0 * floatcos(0, degrees));
  2086. Y += (10.0 * floatsin(0, degrees));
  2087. CreateExplosion(X, Y, Z, 7, 5);
  2088. //back
  2089. X -= (10.0 * floatcos(0, degrees));
  2090. Y -= (10.0 * floatsin(0, degrees));
  2091. CreateExplosion(X, Y, Z, 7, 5);
  2092. X -= (10.0 * floatsin(0, degrees));
  2093. Y -= (10.0 * floatcos(0, degrees));
  2094. CreateExplosion(X, Y, Z, 7, 5);
  2095. X -= (6.0 * floatsin(0+45, degrees));
  2096. Y -= (6.0 * floatcos(0+45, degrees));
  2097. CreateExplosion(X, Y, Z, 7, 5);
  2098. X -= (6.0 * floatsin(0-45, degrees));
  2099. Y -= (6.0 * floatcos(0-45, degrees));
  2100. CreateExplosion(X, Y, Z, 7, 5);
  2101. }
  2102. else if (times == 2)
  2103. {
  2104. //front
  2105. X += (15.0 * floatsin(0, degrees));
  2106. Y += (15.0 * floatcos(0, degrees));
  2107. CreateExplosion(X, Y, Z, 7, 5);
  2108. X += (9.0 * floatsin(0+45, degrees));
  2109. Y += (9.0 * floatcos(0+45, degrees));
  2110. CreateExplosion(X, Y, Z, 7, 5);
  2111. X += (9.0 * floatsin(0-45, degrees));
  2112. Y += (9.0 * floatcos(0-45, degrees));
  2113. CreateExplosion(X, Y, Z, 7, 5);
  2114. //right-left
  2115. X += (15.0 * floatcos(0, degrees));
  2116. Y += (15.0 * floatsin(0, degrees));
  2117. CreateExplosion(X, Y, Z, 7, 5);
  2118. //back
  2119. X -= (15.0 * floatcos(0, degrees));
  2120. Y -= (15.0 * floatsin(0, degrees));
  2121. CreateExplosion(X, Y, Z, 7, 5);
  2122. X -= (15.0 * floatsin(0, degrees));
  2123. Y -= (15.0 * floatcos(0, degrees));
  2124. CreateExplosion(X, Y, Z, 7, 5);
  2125. X -= (9.0 * floatsin(0+45, degrees));
  2126. Y -= (9.0 * floatcos(0+45, degrees));
  2127. CreateExplosion(X, Y, Z, 7, 5);
  2128. X -= (9.0 * floatsin(0-45, degrees));
  2129. Y -= (9.0 * floatcos(0-45, degrees));
  2130. CreateExplosion(X, Y, Z, 7, 5);
  2131. }
  2132. else if (times == 1)
  2133. {
  2134. //front
  2135. X += (20.0 * floatsin(0, degrees));
  2136. Y += (20.0 * floatcos(0, degrees));
  2137. CreateExplosion(X, Y, Z, 7, 5);
  2138. X += (12.0 * floatsin(0+45, degrees));
  2139. Y += (12.0 * floatcos(0+45, degrees));
  2140. CreateExplosion(X, Y, Z, 7, 5);
  2141. X += (12.0 * floatsin(0-45, degrees));
  2142. Y += (12.0 * floatcos(0-45, degrees));
  2143. CreateExplosion(X, Y, Z, 7, 5);
  2144. //right-left
  2145. X += (20.0 * floatcos(0, degrees));
  2146. Y += (20.0 * floatsin(0, degrees));
  2147. CreateExplosion(X, Y, Z, 7, 5);
  2148. //back
  2149. X -= (20.0 * floatcos(0, degrees));
  2150. Y -= (20.0 * floatsin(0, degrees));
  2151. CreateExplosion(X, Y, Z, 7, 5);
  2152. X -= (20.0 * floatsin(0, degrees));
  2153. Y -= (20.0 * floatcos(0, degrees));
  2154. CreateExplosion(X, Y, Z, 7, 5);
  2155. X -= (12.0 * floatsin(0+45, degrees));
  2156. Y -= (12.0 * floatcos(0+45, degrees));
  2157. CreateExplosion(X, Y, Z, 7, 5);
  2158. X -= (12.0 * floatsin(0-45, degrees));
  2159. Y -= (12.0 * floatcos(0-45, degrees));
  2160. CreateExplosion(X, Y, Z, 7, 5);
  2161. }
  2162.  
  2163. if (times > 0) SetTimerEx("MissileExplosion", 700, 0, "fffd", x, y, z, times-1);
  2164. }
  2165.  
  2166. forward PushPlayer(playerid, distance, zup);
  2167. public PushPlayer(playerid, distance, zup)
  2168. {
  2169. new Float:X,Float:Y,Float:Z,Float:A;
  2170. GetPlayerPos(playerid, X, Y, Z);
  2171. GetPlayerFacingAngle(playerid, A);
  2172. if (zup == 1) SetPlayerPos(playerid, X, Y, Z+5);
  2173. GetPlayerPos(playerid, X, Y, Z);
  2174. X -= (2.0 * floatsin(-A, degrees));
  2175. Y -= (2.0 * floatcos(-A, degrees));
  2176. SetPlayerPos(playerid, X, Y, Z);
  2177. if (distance > 0) SetTimerEx("PushPlayer", 100, 0, "ddd", playerid, distance-1, 0);
  2178. }
  2179.  
  2180. stock GetVehicleModelIDFromName(vehname[])
  2181. {
  2182. for(new i = 0; i < 211; i++)
  2183. {
  2184. if (strfind(VehNames[i], vehname, true) != -1) return i + 400;
  2185. }
  2186. return -1;
  2187. }
  2188.  
  2189. stock GetWeaponModelIDFromName(weapname[])
  2190. {
  2191. for(new i = 0; i < 48; i++)
  2192. {
  2193. if (i == 19 || i == 20 || i == 21) continue;
  2194. if (strfind(WeapNames[i], weapname, true) != -1) return i;
  2195. }
  2196. return -1;
  2197. }
  2198.  
  2199. stock bigstrtok(const string[], &idx)
  2200. {
  2201. new length = strlen(string);
  2202. while ((idx < length) && (string[idx] <= ' '))
  2203. {
  2204. idx++;
  2205. }
  2206. new offset = idx;
  2207. new result[128];
  2208. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  2209. {
  2210. result[idx - offset] = string[idx];
  2211. idx++;
  2212. }
  2213. result[idx - offset] = EOS;
  2214. return result;
  2215. }
  2216.  
  2217.  
  2218. public OnPlayerCommandText(playerid, cmdtext[])
  2219. {
  2220. new cmd[128];
  2221. new tmp[128];
  2222. new idx;
  2223. new giveplayername[MAX_PLAYER_NAME];
  2224. new sendername[MAX_PLAYER_NAME];
  2225. new string[128];
  2226. cmd = strtok(cmdtext,idx);
  2227.  
  2228. for(new i = 0; i < GetMaxPlayers(); i++)
  2229. {
  2230. if (IsPlayerConnected(i))
  2231. {
  2232. if (AccountInfo[i][AdminLevel] > 0 && ViewCmds[i] == 1)
  2233. {
  2234. for(new v = 0; v < sizeof(ViewCommands); v++) if (!strcmp(cmdtext, ViewCommands[v], true))
  2235. {
  2236. GetPlayerName(playerid, sendername, sizeof sendername);
  2237. format(tmp, 128, "[VIEWCMDS] [%d]%s: %s", playerid, sendername, cmdtext);
  2238. SendClientMessage(i, PURPLE, tmp);
  2239. }
  2240. }
  2241. }
  2242. }
  2243.  
  2244. /*»»»»»»»»»»»»»»»»»»»»»»»»»»»» [ADMINS] «««««««««««««««««««««««««««*/
  2245.  
  2246. if(strcmp(cmd, "/setlevel", true) == 0)
  2247. {
  2248. if (AccountInfo[playerid][AdminLevel] >= 6 || IsPlayerAdmin(playerid))
  2249. {
  2250. tmp = strtok(cmdtext, idx);
  2251. if(!strlen(tmp))
  2252. {
  2253. SendClientMessage(playerid, ORANGE, "USAGE: /setlevel [playerid] [level 1-10]");
  2254. SendClientMessage(playerid, ORANGE, "FUNCTION: Player will be an admin depending on the given level.");
  2255. return 1;
  2256. }
  2257. new giveplayerid = ReturnUser(tmp, playerid);
  2258. tmp = strtok(cmdtext, idx);
  2259. new level = strval(tmp);
  2260. if(giveplayerid != INVALID_PLAYER_ID)
  2261. {
  2262. if (level >= 0)
  2263. {
  2264. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2265. GetPlayerName(playerid, sendername, sizeof(sendername));
  2266. printf("ADMIN: %s made %s a level %d admin.", sendername, giveplayername, level);
  2267. format(string, sizeof(string), "You are now an administrator level %d thanks to %s.", level, sendername);
  2268. SendClientMessage(giveplayerid, LIGHTBLUE, string);
  2269. format(string, sizeof(string), "|- Administrator %s has given %s an Admin Level. [Level: %d] -|", sendername,giveplayername,level);
  2270. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  2271. AccountInfo[giveplayerid][AdminLevel] = level;
  2272. format(string, sizeof(string), "You have given %s level %d admin.", giveplayername,AccountInfo[giveplayerid][AdminLevel]);
  2273. SendClientMessage(playerid, LIGHTBLUE, string);
  2274. }
  2275. else return SendClientMessage(playerid, RED, "You can't go below level 0!");
  2276. }
  2277. else if(giveplayerid == INVALID_PLAYER_ID)
  2278. {
  2279. format(string, sizeof(string), "%i is not an active player.", giveplayerid);
  2280. SendClientMessage(playerid, RED, string);
  2281. }
  2282. }
  2283. else SendClientMessage(playerid, RED, "You are not a lead admin!");
  2284. return 1;
  2285. }
  2286.  
  2287. if(strcmp(cmd, "/gmx", true) == 0)
  2288. {
  2289. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid)) return GameModeExit();
  2290. else return SendClientMessage(playerid, RED, "You are not a lead admin!");
  2291. }
  2292.  
  2293. if(strcmp(cmd, "/kickall", true) == 0)
  2294. {
  2295. new reason[128];
  2296. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
  2297. {
  2298. GetPlayerName(playerid, sendername, sizeof(sendername));
  2299. reason = bigstrtok(cmdtext, idx);
  2300. if(!strlen(reason))
  2301. {
  2302. SendClientMessage(playerid, ORANGE, "USAGE: /kickall [reason]");
  2303. SendClientMessage(playerid, ORANGE, "FUNCTION: Will kick all the players.");
  2304. return 1;
  2305. }
  2306. printf("ADMIN: Admin %s kicked everyone. Reason: %s", sendername, reason);
  2307. format(string, sizeof(string), "-| Administrator %s kicked everyone. [Reason: %s ] |-", sendername,reason);
  2308. SendClientMessageToAll(ADMIN_RED, string);
  2309. for(new i = 0; i < MAX_PLAYERS; i++)
  2310. {
  2311. if (i != playerid)
  2312. {
  2313. Kick(i);
  2314. KickLog(string);
  2315. }
  2316. }
  2317. }
  2318. else SendClientMessage(playerid, RED, "You are not a lead admin!");
  2319. return 1;
  2320. }
  2321.  
  2322. if(strcmp(cmd, "/fixveh", true) == 0)
  2323. {
  2324. if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  2325. {
  2326. ResprayVehicle(GetPlayerVehicleID(playerid));
  2327. }
  2328. else
  2329. {
  2330. SendClientMessage(playerid, ADMIN_RED, "You are not in a Vehicle/Driver");
  2331. }
  2332. return 1;
  2333. }
  2334.  
  2335. if(strcmp(cmd, "/nuke", true) == 0)
  2336. {
  2337. if (AccountInfo[playerid][AdminLevel] >= 3)
  2338. {
  2339. tmp = strtok(cmdtext, idx);
  2340. if(!strlen(tmp))
  2341. {
  2342. SendClientMessage(playerid, ORANGE, "USAGE: /nuke [playerid]");
  2343. SendClientMessage(playerid, ORANGE, "FUNCTION: Player will explode.");
  2344. return 1;
  2345. }
  2346. new Float:X,Float:Y,Float:Z;
  2347. new giveplayerid = ReturnUser(tmp, playerid);
  2348. if(IsPlayerConnected(giveplayerid))
  2349. {
  2350. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2351. GetPlayerName(playerid, sendername, sizeof(sendername));
  2352. GetPlayerPos(giveplayerid, X,Y,Z);
  2353. CreateExplosion(X,Y,Z,2,3.0);
  2354. SetPlayerHealth(giveplayerid, 0.0);
  2355. format(string, sizeof(string), "-| Administrator %s nuked %s |-",sendername,giveplayername);
  2356. SendClientMessageToAdmins(ADMIN_RED, string,1);
  2357. }
  2358. else if (!IsPlayerConnected(giveplayerid))
  2359. {
  2360. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2361. SendClientMessage(playerid, RED, string);
  2362. }
  2363. }
  2364. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  2365. return 1;
  2366. }
  2367.  
  2368. if(strcmp(cmd, "/setscore", true) == 0)
  2369. {
  2370. if (IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 1)
  2371. {
  2372. tmp = strtok(cmdtext, idx);
  2373. if(!strlen(tmp))
  2374. {
  2375. SendClientMessage(playerid, ORANGE, "USAGE: /setscore [playerid] [score]");
  2376. SendClientMessage(playerid, ORANGE, "FUNCTION: Will set a specified player's score");
  2377. return 1;
  2378. }
  2379. new giveplayerid = ReturnUser(tmp);
  2380. tmp = strtok(cmdtext, idx);
  2381. if(!strlen(tmp))
  2382. {
  2383. SendClientMessage(playerid, ORANGE, "USAGE: /score [playerid] [score]");
  2384. SendClientMessage(playerid, ORANGE, "FUNCTION: Will set a specified player's score");
  2385. return 1;
  2386. }
  2387. new score = strval(tmp);
  2388. if(IsPlayerConnected(giveplayerid))
  2389. {
  2390. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2391. GetPlayerScore(giveplayerid);
  2392. SetPlayerScore(giveplayerid, score);
  2393. format(string, sizeof(string), "You have changed %s's score number to %d.",giveplayername, score);
  2394. SendClientMessage(playerid, GREEN, string);
  2395. }
  2396. else if (!IsPlayerConnected(giveplayerid))
  2397. {
  2398. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2399. SendClientMessage(playerid, RED, string);
  2400. }
  2401. }
  2402. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  2403. return 1;
  2404. }
  2405.  
  2406. if(strcmp(cmd, "/angle", true) == 0)
  2407. {
  2408. if (IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 1)
  2409. {
  2410. new Float:angle;
  2411. tmp = strtok(cmdtext, idx);
  2412. if(!strlen(tmp))
  2413. {
  2414. SendClientMessage(playerid, ORANGE, "USAGE: /angle [angle degree]");
  2415. SendClientMessage(playerid, ORANGE, "FUNCTION: Will change your current angle.");
  2416. GetPlayerFacingAngle(playerid,angle);
  2417. format(string, sizeof(string), "HELP: Your current angle is %f", angle);
  2418. SendClientMessage(playerid, ORANGE, string);
  2419. return 1;
  2420. }
  2421. angle = floatstr(tmp);
  2422. if (GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  2423. {
  2424. SetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
  2425. format(string, sizeof(string), "You have changed your angle degree to %f" ,angle);
  2426. SendClientMessage(playerid, GREEN, string);
  2427. }
  2428. else
  2429. {
  2430. SetPlayerFacingAngle(playerid,angle);
  2431. format(string, sizeof(string), "You have changed your angle degree to %f",angle);
  2432. SendClientMessage(playerid, GREEN, string);
  2433. }
  2434. }
  2435. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  2436. return 1;
  2437. }
  2438.  
  2439. if(strcmp(cmd, "/rangeban", true) == 0)
  2440. {
  2441. if (AccountInfo[playerid][AdminLevel] >= 4)
  2442. {
  2443. tmp = strtok(cmdtext,idx);
  2444. if (!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /rangeban [playername/id] [ranges(2 max)]");
  2445. new ip[20],ban[128];
  2446. new giveplayerid = ReturnUser(tmp);
  2447. if (IsPlayerConnected(giveplayerid))
  2448. {
  2449. tmp = strtok(cmdtext,idx);
  2450. if (!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /rangeban [playername/id] [RANGES(2 max)]");
  2451. new ranges = strval(tmp);
  2452. if (ranges < 0 || ranges > 2) return SendClientMessage(playerid, RED, "Minimum ranges: 0 | Maximum ranges: 2");
  2453. if (ranges == 0)
  2454. {
  2455. Ban(giveplayerid);
  2456. }
  2457. GetPlayerName(giveplayerid, giveplayername, sizeof giveplayername);
  2458. GetPlayerIp(giveplayerid, ip, sizeof ip);
  2459. new count = 1;
  2460. for(new i = strlen(ip); i > 0; i--)
  2461. {
  2462. if (ip[i] == '.')
  2463. {
  2464. if (count == ranges)
  2465. {
  2466. format(ban, sizeof ban, "banip %s", ip);
  2467. SendRconCommand(ban);
  2468. break;
  2469. }
  2470. else count++;
  2471. }
  2472. else ip[i] = '*';
  2473. }
  2474. format(ban, sizeof ban, "%s has been banned with the ip '%s'", giveplayername, ip);
  2475. SendClientMessage(playerid, GREEN, ban);
  2476. }
  2477. else
  2478. {
  2479. format(string, sizeof(string), "%i is not an active player.", giveplayerid);
  2480. SendClientMessage(playerid, RED, string);
  2481. }
  2482. }
  2483. else SendClientMessage(playerid, RED, "You're not a lead admin !");
  2484. return 1;
  2485. }
  2486.  
  2487. if(strcmp(cmd, "/ip", true) == 0)
  2488. {
  2489. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  2490. {
  2491. tmp = strtok(cmdtext, idx);
  2492. if(!strlen(tmp))
  2493. {
  2494. SendClientMessage(playerid, ORANGE, "USAGE: /ip [playername/id]");
  2495. SendClientMessage(playerid, ORANGE, "FUNCTION: View a player's IP.");
  2496. return 1;
  2497. }
  2498.  
  2499. new giveplayerid = ReturnUser(tmp);
  2500. if(IsPlayerConnected(giveplayerid))
  2501. {
  2502. new sstring[256];
  2503. new ip[20];
  2504. GetPlayerIp(giveplayerid, ip, sizeof ip);
  2505. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2506. format(sstring, sizeof(sstring), "-| %s's IP: %s |-", giveplayername,ip);
  2507. SendClientMessage(playerid,LIGHTBLUE, sstring);
  2508. }
  2509. else
  2510. {
  2511. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2512. SendClientMessage(playerid, RED, string);
  2513. }
  2514. }
  2515. else SendClientMessage(playerid, RED, "You are not an admin.");
  2516. return 1;
  2517. }
  2518.  
  2519. if(strcmp(cmd, "/ban", true) == 0)
  2520. {
  2521. new reason[128];
  2522. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  2523. {
  2524. tmp = strtok(cmdtext, idx);
  2525. if(!strlen(tmp))
  2526. {
  2527. SendClientMessage(playerid, ORANGE, "USAGE: /ban [playername/id] [reason]");
  2528. SendClientMessage(playerid, ORANGE, "FUNCTION: Will BAN the specified player.");
  2529. return 1;
  2530. }
  2531.  
  2532. new giveplayerid = ReturnUser(tmp);
  2533.  
  2534. if (AccountInfo[giveplayerid][AdminLevel] > AccountInfo[playerid][AdminLevel])
  2535. {
  2536. format(string, sizeof(string), "-| [%i]%s tried to ban you! |-",playerid,sendername);
  2537. SendClientMessage(giveplayerid, ADMIN_RED,string);
  2538. SendClientMessage(playerid, ADMIN_RED, "You are not allowed to ban an admin with a higher level than you!");
  2539. }
  2540.  
  2541. else if (giveplayerid != INVALID_PLAYER_ID)
  2542. {
  2543. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2544. GetPlayerName(playerid, sendername, sizeof(sendername));
  2545. reason = bigstrtok(cmdtext, idx);
  2546. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "USAGE: /ban [playername/id] [reason]");
  2547. new ip[20];
  2548. printf("ADMIN: Admin %s banned %s. Reason: %s", sendername, giveplayername, reason);
  2549. format(string, sizeof(string), "-| Administrator %s banned %s. [Reason: %s ] |-", sendername, giveplayername, reason);
  2550. SendClientMessageToAll(ADMIN_RED, string);
  2551. BanLog(string);
  2552. GetPlayerIp(giveplayerid, ip, sizeof ip);
  2553. format(string, sizeof(string), "-| Banned Player's IP: %s |-", ip);
  2554. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  2555. AccountInfo[giveplayerid][AdminLevel] = 0;
  2556. format(reason, sizeof reason, "[%s]%s", sendername, reason);
  2557. BanEx(giveplayerid, reason);
  2558. }
  2559. else if(giveplayerid == INVALID_PLAYER_ID)
  2560. {
  2561. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2562. SendClientMessage(playerid, RED, string);
  2563. }
  2564. }
  2565. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2566. return 1;
  2567. }
  2568.  
  2569. if(strcmp(cmd, "/kick", true) == 0)
  2570. {
  2571. new reason[128];
  2572. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  2573. {
  2574. tmp = strtok(cmdtext, idx);
  2575. if(!strlen(tmp))
  2576. {
  2577. SendClientMessage(playerid, ORANGE, "USAGE: /kick [playername/id] [reason]");
  2578. SendClientMessage(playerid, ORANGE, "FUNCTION: Will kick the specified player.");
  2579. return 1;
  2580. }
  2581.  
  2582. new giveplayerid = ReturnUser(tmp);
  2583. if(giveplayerid != INVALID_PLAYER_ID)
  2584. {
  2585. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2586. GetPlayerName(playerid, sendername, sizeof(sendername));
  2587. reason = bigstrtok(cmdtext, idx);
  2588. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "USAGE: /kick [playername/id] [reason]");
  2589. printf("ADMIN: Admin %s kicked %s. Reason: %s", sendername, giveplayername, reason);
  2590. format(string, sizeof(string), "-| Administrator %s kicked %s. [Reason: %s ] |-", sendername, giveplayername, reason);
  2591. SendClientMessageToAll(ADMIN_RED, string);
  2592. Kick(giveplayerid);
  2593. KickLog(string);
  2594. }
  2595. else if(giveplayerid == INVALID_PLAYER_ID)
  2596. {
  2597. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2598. SendClientMessage(playerid, RED, string);
  2599. }
  2600. }
  2601. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2602. return 1;
  2603. }
  2604.  
  2605. if(strcmp(cmd, "/sban", true) == 0)
  2606. {
  2607. new reason[128];
  2608. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  2609. {
  2610. tmp = strtok(cmdtext, idx);
  2611. if(!strlen(tmp))
  2612. {
  2613. SendClientMessage(playerid, ORANGE, "USAGE: /ban [playername/id] [reason]");
  2614. SendClientMessage(playerid, ORANGE, "FUNCTION: Will BAN the specified player silenced.");
  2615. return 1;
  2616. }
  2617.  
  2618. new giveplayerid = ReturnUser(tmp);
  2619.  
  2620. if (AccountInfo[giveplayerid][AdminLevel] > AccountInfo[playerid][AdminLevel])
  2621. {
  2622. format(string, sizeof(string), "-| [%i]%s tried to ban you! |-",playerid,sendername);
  2623. SendClientMessage(giveplayerid, ADMIN_RED,string);
  2624. SendClientMessage(playerid, ADMIN_RED, "You are not allowed to ban an admin with a higher level than you!");
  2625. }
  2626.  
  2627. else if (giveplayerid != INVALID_PLAYER_ID)
  2628. {
  2629. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2630. GetPlayerName(playerid, sendername, sizeof(sendername));
  2631. reason = bigstrtok(cmdtext, idx);
  2632. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "USAGE: /ban [playername/id] [reason]");
  2633. new ip[20];
  2634. printf("ADMIN: Admin %s banned %s. Reason: %s", sendername, giveplayername, reason);
  2635. GetPlayerIp(giveplayerid, ip, sizeof ip);
  2636. format(string, sizeof(string), "-| Banned Player's IP: %s |-", ip);
  2637. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  2638. AccountInfo[giveplayerid][AdminLevel] = 0;
  2639. format(reason, sizeof reason, "[%s]%s", sendername, reason);
  2640. BanEx(giveplayerid, reason);
  2641. }
  2642. else if(giveplayerid == INVALID_PLAYER_ID)
  2643. {
  2644. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2645. SendClientMessage(playerid, RED, string);
  2646. }
  2647. }
  2648. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2649. return 1;
  2650. }
  2651.  
  2652. if(strcmp(cmd, "/skick", true) == 0)
  2653. {
  2654. new reason[128];
  2655. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  2656. {
  2657. tmp = strtok(cmdtext, idx);
  2658. if(!strlen(tmp))
  2659. {
  2660. SendClientMessage(playerid, ORANGE, "USAGE: /kick [playername/id] [reason]");
  2661. SendClientMessage(playerid, ORANGE, "FUNCTION: Will kick the specified player silenced.");
  2662. return 1;
  2663. }
  2664.  
  2665. new giveplayerid = ReturnUser(tmp);
  2666. if(giveplayerid != INVALID_PLAYER_ID)
  2667. {
  2668. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2669. GetPlayerName(playerid, sendername, sizeof(sendername));
  2670. reason = bigstrtok(cmdtext, idx);
  2671. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "USAGE: /kick [playername/id] [reason]");
  2672. printf("ADMIN: Admin %s kicked %s. Reason: %s", sendername, giveplayername, reason);
  2673. Kick(giveplayerid);
  2674. KickLog(string);
  2675. }
  2676. else if(giveplayerid == INVALID_PLAYER_ID)
  2677. {
  2678. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2679. SendClientMessage(playerid, RED, string);
  2680. }
  2681. }
  2682. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2683. return 1;
  2684. }
  2685.  
  2686. if(strcmp(cmd, "/mute", true) == 0)
  2687. {
  2688. new reason[128];
  2689. if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
  2690. {
  2691. tmp = strtok(cmdtext, idx);
  2692. if(!strlen(tmp))
  2693. {
  2694. SendClientMessage(playerid, ORANGE, "USAGE: /mute [playername/id] [reason]");
  2695. SendClientMessage(playerid, ORANGE, "FUNCTION: Will mute the specified player.");
  2696. return 1;
  2697. }
  2698.  
  2699. new giveplayerid = ReturnUser(tmp);
  2700.  
  2701. if(giveplayerid != INVALID_PLAYER_ID)
  2702. {
  2703. if (AccountInfo[giveplayerid][Mute] == 0)
  2704. {
  2705. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2706. GetPlayerName(playerid, sendername, sizeof(sendername));
  2707. reason = bigstrtok(cmdtext, idx);
  2708. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "USAGE: /mute [playername/id] [reason]");
  2709. printf("ADMIN: Admin %s muted %s. Reason: %s", sendername, giveplayername, reason);
  2710. format(string, sizeof(string), "-| Administrator %s muted %s. [Reason: %s ]|-", sendername,giveplayername,reason);
  2711. SendClientMessageToAll(ADMIN_RED, string);
  2712. AccountInfo[giveplayerid][Mute] = 1;
  2713. }
  2714. else if (AccountInfo[giveplayerid][Mute] == 1) SendClientMessage(playerid, RED, "Player is already muted!");
  2715. }
  2716.  
  2717. else if(giveplayerid == INVALID_PLAYER_ID)
  2718. {
  2719. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2720. SendClientMessage(playerid, RED, string);
  2721. }
  2722. }
  2723. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2724. return 1;
  2725. }
  2726.  
  2727. if(strcmp(cmd, "/unmute", true) == 0)
  2728. {
  2729. if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
  2730. {
  2731. tmp = strtok(cmdtext, idx);
  2732. if(!strlen(tmp))
  2733. {
  2734. SendClientMessage(playerid, ORANGE, "USAGE: /unmute [playername/id]");
  2735. SendClientMessage(playerid, ORANGE, "FUNCTION: Will unmute the specified player.");
  2736. return 1;
  2737. }
  2738.  
  2739. new giveplayerid = ReturnUser(tmp);
  2740.  
  2741. if(giveplayerid != INVALID_PLAYER_ID)
  2742. {
  2743. if (AccountInfo[giveplayerid][Mute] == 1)
  2744. {
  2745. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2746. GetPlayerName(playerid, sendername, sizeof(sendername));
  2747. format(string, sizeof(string), "-| Administrator %s unmuted %s |-", sendername,giveplayername);
  2748. SendClientMessageToAll(ADMIN_RED, string);
  2749. AccountInfo[giveplayerid][Mute] = 0;
  2750. }
  2751. else if (AccountInfo[giveplayerid][Mute] == 0) SendClientMessage(playerid, RED, "Player isn't muted.");
  2752. }
  2753.  
  2754. else if(giveplayerid == INVALID_PLAYER_ID)
  2755. {
  2756. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2757. SendClientMessage(playerid, RED, string);
  2758. }
  2759. }
  2760. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2761. return 1;
  2762. }
  2763.  
  2764. if(strcmp(cmd, "/drugs", true) == 0)
  2765. {
  2766. if (AccountInfo[playerid][AdminLevel] > 1 || IsPlayerAdmin(playerid))
  2767. {
  2768. SetPlayerHealth(playerid,999999999);
  2769. Drugs[playerid] = 1;
  2770. SendClientMessage(playerid, GREEN, "You are now high on drugs...");
  2771. }
  2772. else SendClientMessage(playerid, RED, "Drugs are bad for you!");
  2773. return 1;
  2774. }
  2775.  
  2776. if(strcmp(cmd, "/freeze", true) == 0)
  2777. {
  2778. new reason[128];
  2779. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  2780. {
  2781. tmp = strtok(cmdtext, idx);
  2782. if(!strlen(tmp))
  2783. {
  2784. SendClientMessage(playerid, ORANGE, "USAGE: /freeze [playername/id] [reason]");
  2785. SendClientMessage(playerid, ORANGE, "FUNCTION: Will freeze the specified player.");
  2786. return 1;
  2787. }
  2788.  
  2789. new giveplayerid = ReturnUser(tmp);
  2790. if(giveplayerid != INVALID_PLAYER_ID)
  2791. {
  2792. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2793. GetPlayerName(playerid, sendername, sizeof(sendername));
  2794. reason = bigstrtok(cmdtext, idx);
  2795. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "USAGE: /freeze [playername/id] [reason]");
  2796. format(string, sizeof(string), "-| Administrator %s froze %s. [Reason: %s ] |-", sendername, giveplayername, reason);
  2797. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  2798. TogglePlayerControllable(giveplayerid, false);
  2799. }
  2800. else if(giveplayerid == INVALID_PLAYER_ID)
  2801. {
  2802. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2803. SendClientMessage(playerid, RED, string);
  2804. }
  2805. }
  2806. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2807. return 1;
  2808. }
  2809. if(strcmp(cmd, "/unfreeze", true) == 0)
  2810. {
  2811. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  2812. {
  2813. tmp = strtok(cmdtext, idx);
  2814. if(!strlen(tmp))
  2815. {
  2816. SendClientMessage(playerid, ORANGE, "USAGE: /unfreeze [playername/id]");
  2817. SendClientMessage(playerid, ORANGE, "FUNCTION: Will unfreeze the specified player.");
  2818. return 1;
  2819. }
  2820.  
  2821. new giveplayerid = ReturnUser(tmp);
  2822. if(giveplayerid != INVALID_PLAYER_ID)
  2823. {
  2824. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2825. GetPlayerName(playerid, sendername, sizeof(sendername));
  2826. format(string, sizeof(string), "-| Administrator %s unfroze %s |-", sendername,giveplayername);
  2827. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  2828. TogglePlayerControllable(giveplayerid, true);
  2829. }
  2830. else if(giveplayerid == INVALID_PLAYER_ID)
  2831. {
  2832. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2833. SendClientMessage(playerid, RED, string);
  2834. }
  2835. }
  2836. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2837. return 1;
  2838. }
  2839.  
  2840. if(strcmp(cmd, "/setname", true) == 0)
  2841. {
  2842. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
  2843. {
  2844. tmp = strtok(cmdtext, idx);
  2845. if(!strlen(tmp))
  2846. {
  2847. SendClientMessage(playerid, ORANGE, "USAGE: /setname [playername/id] [newname]");
  2848. SendClientMessage(playerid, ORANGE, "FUNCTION: Will change the player's current name. ");
  2849. return 1;
  2850. }
  2851.  
  2852. new giveplayerid = ReturnUser(tmp);
  2853. if(giveplayerid != INVALID_PLAYER_ID)
  2854. {
  2855. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2856. GetPlayerName(playerid, sendername, sizeof(sendername));
  2857. tmp = strtok(cmdtext, idx);
  2858. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /setname [playername/id] [newname]");
  2859. format(string, sizeof(string), "-| Administrator %s renamed %s. [New Name: %s ] |-", sendername, giveplayername, tmp);
  2860. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  2861. SetPlayerName(giveplayerid, tmp);
  2862. }
  2863. else if(giveplayerid == INVALID_PLAYER_ID)
  2864. {
  2865. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2866. SendClientMessage(playerid, RED, string);
  2867. }
  2868. }
  2869. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2870. return 1;
  2871. }
  2872.  
  2873. if(strcmp(cmd, "/givecash", true) == 0)
  2874. {
  2875. if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
  2876. {
  2877. tmp = strtok(cmdtext, idx);
  2878. if(!strlen(tmp))
  2879. {
  2880. SendClientMessage(playerid, ORANGE, "USAGE: /givecash [playername/id] [cash]");
  2881. SendClientMessage(playerid, ORANGE, "FUNCTION: Will give the player some cash. ");
  2882. return 1;
  2883. }
  2884.  
  2885. new giveplayerid = ReturnUser(tmp);
  2886. if(giveplayerid != INVALID_PLAYER_ID)
  2887. {
  2888. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2889. GetPlayerName(playerid, sendername, sizeof(sendername));
  2890. tmp = strtok(cmdtext, idx);
  2891. new cash = strval(tmp);
  2892. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /givecash [playername/id] [cash]");
  2893. format(string, sizeof(string), "-| Administrator %s gave %s $%d |-", sendername,giveplayername,cash);
  2894. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  2895. GivePlayerMoney(giveplayerid, cash);
  2896. }
  2897. else if(giveplayerid == INVALID_PLAYER_ID)
  2898. {
  2899. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2900. SendClientMessage(playerid, RED, string);
  2901. }
  2902. }
  2903. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2904. return 1;
  2905. }
  2906.  
  2907. if(strcmp(cmd, "/kill", true) == 0)
  2908. {
  2909. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  2910. {
  2911. tmp = strtok(cmdtext, idx);
  2912. if(!strlen(tmp))
  2913. {
  2914. SendClientMessage(playerid, ORANGE, "USAGE: /kill [playername/id]");
  2915. SendClientMessage(playerid, ORANGE, "FUNCTION: Will kill the specified player.");
  2916. return 1;
  2917. }
  2918.  
  2919. new giveplayerid = ReturnUser(tmp);
  2920. if(giveplayerid != INVALID_PLAYER_ID)
  2921. {
  2922. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2923. GetPlayerName(playerid, sendername, sizeof(sendername));
  2924. format(string, sizeof(string), "-| Administrator %s killed %s |-", sendername,giveplayername);
  2925. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  2926. SetPlayerHealth(giveplayerid, 0.0);
  2927. }
  2928. else if(giveplayerid == INVALID_PLAYER_ID)
  2929. {
  2930. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2931. SendClientMessage(playerid, RED, string);
  2932. }
  2933. }
  2934. else
  2935. {
  2936. SendClientMessage(playerid, RED, "You have committed suicide.");
  2937. SetPlayerHealth(playerid,0.0);
  2938. }
  2939. return 1;
  2940. }
  2941.  
  2942. if(strcmp(cmd, "/goto", true) == 0)
  2943. {
  2944. new Float:pX,Float:pY,Float:pZ;
  2945. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  2946. {
  2947. tmp = strtok(cmdtext, idx);
  2948. if(!strlen(tmp))
  2949. {
  2950. SendClientMessage(playerid, ORANGE, "USAGE: /goto [playername/id]");
  2951. SendClientMessage(playerid, ORANGE, "FUNCTION: Will teleport to the specified player.");
  2952. return 1;
  2953. }
  2954. new giveplayerid = ReturnUser(tmp);
  2955. if(giveplayerid != INVALID_PLAYER_ID)
  2956. {
  2957. if (GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  2958. {
  2959. GetPlayerPos(giveplayerid,pX,pY,pZ);
  2960. SetVehiclePos(GetPlayerVehicleID(playerid),pX,pY,pZ+2);
  2961. }
  2962. else
  2963. {
  2964. GetPlayerPos(giveplayerid,pX,pY,pZ);
  2965. SetPlayerPos(playerid,pX,pY,pZ+2);
  2966. }
  2967. SetPlayerInterior(playerid,GetPlayerInterior(giveplayerid));
  2968. }
  2969. else if(giveplayerid == INVALID_PLAYER_ID)
  2970. {
  2971. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2972. SendClientMessage(playerid, RED, string);
  2973. }
  2974. }
  2975. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2976. return 1;
  2977. }
  2978.  
  2979. if(strcmp(cmd, "/get", true) == 0)
  2980. {
  2981. new Float:pX,Float:pY,Float:pZ;
  2982. if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
  2983. {
  2984. tmp = strtok(cmdtext, idx);
  2985. if(!strlen(tmp))
  2986. {
  2987. SendClientMessage(playerid, ORANGE, "USAGE: /get [playername/id]");
  2988. SendClientMessage(playerid, ORANGE, "FUNCTION: Will teleport the specified player to you.");
  2989. return 1;
  2990. }
  2991. new giveplayerid = ReturnUser(tmp);
  2992. if(giveplayerid != INVALID_PLAYER_ID)
  2993. {
  2994. if (GetPlayerState(giveplayerid) == PLAYER_STATE_DRIVER)
  2995. {
  2996. GetPlayerPos(playerid,pX,pY,pZ);
  2997. ResetPlayerWeapons(playerid);
  2998. SetPlayerArmour(playerid, 0);
  2999. SetPlayerVirtualWorld(playerid, 0);
  3000. SetVehiclePos(GetPlayerVehicleID(giveplayerid),pX,pY,pZ+2);
  3001. }
  3002. else
  3003. {
  3004. GetPlayerPos(playerid,pX,pY,pZ);
  3005. ResetPlayerWeapons(playerid);
  3006. SetPlayerArmour(playerid, 0);
  3007. SetPlayerVirtualWorld(playerid, 0);
  3008. SetPlayerPos(giveplayerid,pX,pY,pZ+2);
  3009. }
  3010. SetPlayerInterior(giveplayerid,GetPlayerInterior(playerid));
  3011. }
  3012. else if(giveplayerid == INVALID_PLAYER_ID)
  3013. {
  3014. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  3015. SendClientMessage(playerid, RED, string);
  3016. }
  3017. }
  3018. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3019. return 1;
  3020. }
  3021.  
  3022. if(strcmp(cmd, "/teleport", true) == 0)
  3023. {
  3024. if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
  3025. {
  3026. tmp = strtok(cmdtext, idx);
  3027. if(!strlen(tmp))
  3028. {
  3029. SendClientMessage(playerid, ORANGE, "USAGE: /teleport [playername/id] [targetname/id]");
  3030. SendClientMessage(playerid, ORANGE, "FUNCTION: Will teleport the player to the target.");
  3031. return 1;
  3032. }
  3033. new giveplayerid = ReturnUser(tmp);
  3034. if(giveplayerid != INVALID_PLAYER_ID)
  3035. {
  3036. tmp = strtok(cmdtext, idx);
  3037. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /teleport [playername/id] [targetname/id]");
  3038. new targetid = ReturnUser(tmp, playerid);
  3039. if (targetid == INVALID_PLAYER_ID) return 1;
  3040. new Float:tX,Float:tY,Float:tZ;
  3041. if (GetPlayerState(giveplayerid) == PLAYER_STATE_DRIVER)
  3042. {
  3043. GetPlayerPos(targetid,tX,tY,tZ);
  3044. ResetPlayerWeapons(playerid);
  3045. SetPlayerArmour(playerid, 0);
  3046. SetPlayerVirtualWorld(playerid, 0);
  3047. SetVehiclePos(GetPlayerVehicleID(giveplayerid),tX,tY,tZ+2);
  3048. }
  3049. else
  3050. {
  3051. GetPlayerPos(targetid,tX,tY,tZ);
  3052. ResetPlayerWeapons(playerid);
  3053. SetPlayerArmour(playerid, 0);
  3054. SetPlayerVirtualWorld(playerid, 0);
  3055. SetPlayerPos(giveplayerid,tX,tY,tZ+2);
  3056. }
  3057. SetPlayerInterior(giveplayerid,GetPlayerInterior(targetid));
  3058. }
  3059. else if(giveplayerid == INVALID_PLAYER_ID)
  3060. {
  3061. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  3062. SendClientMessage(playerid, RED, string);
  3063. }
  3064. }
  3065. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3066. return 1;
  3067. }
  3068.  
  3069. if(!strcmp(cmdtext, "//", true, 2))
  3070. {
  3071. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  3072. {
  3073. if(!strlen(cmdtext[2])) return SendClientMessage(playerid, ORANGE, "USAGE: //<text>"), SendClientMessage(playerid, ORANGE, "HELP: Example: //Hi");
  3074. GetPlayerName(playerid, sendername, sizeof(sendername));
  3075. format(string, sizeof(string), "Admin [%i]%s: %s" ,playerid,sendername, cmdtext[2]);
  3076. SendClientMessageToAdmins(DARKPINK, string, 1);
  3077. return 1;
  3078. }
  3079. else return SendClientMessage(playerid, RED, "You are not an admin!");
  3080. }
  3081.  
  3082. if(strcmp(cmd, "/slap", true) == 0)
  3083. {
  3084. new Float:pX,Float:pY,Float:pZ;
  3085. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  3086. {
  3087. tmp = strtok(cmdtext, idx);
  3088. if(!strlen(tmp))
  3089. {
  3090. SendClientMessage(playerid, ORANGE, "USAGE: /slap [playername/id]");
  3091. SendClientMessage(playerid, ORANGE, "FUNCTION: Will slap the specified player");
  3092. return 1;
  3093. }
  3094.  
  3095. new giveplayerid = ReturnUser(tmp);
  3096. if(giveplayerid != INVALID_PLAYER_ID)
  3097. {
  3098. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  3099. GetPlayerName(playerid, sendername, sizeof(sendername));
  3100. GetPlayerPos(giveplayerid,pX,pY,pZ);
  3101. SetPlayerPos(giveplayerid,pX,pY,pZ+5);
  3102. }
  3103. else if(giveplayerid == INVALID_PLAYER_ID)
  3104. {
  3105. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  3106. SendClientMessage(playerid, RED, string);
  3107. }
  3108. }
  3109. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3110. return 1;
  3111. }
  3112.  
  3113. if(strcmp(cmd, "/bslap", true) == 0)
  3114. {
  3115. new Float:pX,Float:pY,Float:pZ;
  3116. if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
  3117. {
  3118. tmp = strtok(cmdtext, idx);
  3119. if(!strlen(tmp))
  3120. {
  3121. SendClientMessage(playerid, ORANGE, "USAGE: /bslap [playername/id]");
  3122. SendClientMessage(playerid, ORANGE, "FUNCTION: Will double slap the specified player");
  3123. return 1;
  3124. }
  3125.  
  3126. new giveplayerid = ReturnUser(tmp);
  3127. if(giveplayerid != INVALID_PLAYER_ID)
  3128. {
  3129. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  3130. GetPlayerName(playerid, sendername, sizeof(sendername));
  3131. GetPlayerPos(giveplayerid,pX,pY,pZ);
  3132. SetPlayerPos(giveplayerid,pX,pY,pZ+10);
  3133. format(string, sizeof(string), "-| Administrator %s bitch slapped %s |-",sendername, giveplayername);
  3134. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  3135. }
  3136. else if(giveplayerid == INVALID_PLAYER_ID)
  3137. {
  3138. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  3139. SendClientMessage(playerid, RED, string);
  3140. }
  3141. }
  3142. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3143. return 1;
  3144. }
  3145.  
  3146. if(strcmp(cmd, "/disarm", true) == 0)
  3147. {
  3148. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  3149. {
  3150. tmp = strtok(cmdtext, idx);
  3151. if(!strlen(tmp))
  3152. {
  3153. SendClientMessage(playerid, ORANGE, "USAGE: /disarm [playername/id]");
  3154. SendClientMessage(playerid, ORANGE, "FUNCTION: Will disarm the player.");
  3155. return 1;
  3156. }
  3157.  
  3158. new giveplayerid = ReturnUser(tmp);
  3159. if(giveplayerid != INVALID_PLAYER_ID)
  3160. {
  3161. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  3162. GetPlayerName(playerid, sendername, sizeof(sendername));
  3163. ResetPlayerWeapons(giveplayerid);
  3164. format(string, sizeof(string), "-| Administrator %s disarmed %s |-",sendername, giveplayername);
  3165. SendClientMessageToAdmins(ADMIN_RED,string,1);
  3166. }
  3167. else if(giveplayerid == INVALID_PLAYER_ID)
  3168. {
  3169. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  3170. SendClientMessage(playerid, RED, string);
  3171. }
  3172. }
  3173. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3174. return 1;
  3175. }
  3176.  
  3177. if(strcmp(cmd, "/say", true) == 0)
  3178. {
  3179. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  3180. {
  3181. GetPlayerName(playerid, sendername, sizeof(sendername));
  3182. new result[128];
  3183. result = bigstrtok(cmdtext, idx);
  3184. if(!strlen(result))
  3185. {
  3186. SendClientMessage(playerid, ORANGE, "USAGE: /say [message]");
  3187. SendClientMessage(playerid, ORANGE, "FUNCTION: Will broadcast an admin message.");
  3188. return 1;
  3189. }
  3190. format(string, sizeof(string), "* Admin: %s", result);
  3191. SendClientMessageToAll(LIGHTRED, string);
  3192. printf("%s", string);
  3193. }
  3194. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3195. return 1;
  3196. }
  3197.  
  3198. if(strcmp(cmd, "/bc", true) == 0 || strcmp(cmd, "/broadcast", true) == 0)
  3199. {
  3200. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  3201. {
  3202. GetPlayerName(playerid, sendername, sizeof(sendername));
  3203. new result[128];
  3204. result = bigstrtok(cmdtext, idx);
  3205. if(!strlen(result))
  3206. {
  3207. SendClientMessage(playerid, ORANGE, "USAGE: /bc [message] [time in seconds(if non entered, 5 seconds will be the time by default)]");
  3208. SendClientMessage(playerid, ORANGE, "FUNCTION: Will broadcast a screen message");
  3209. return 1;
  3210. }
  3211. new time;
  3212. tmp = strtok(cmdtext, idx);
  3213. if (!strlen(tmp)) time = 5;
  3214. else time = strval(tmp);
  3215. format(string, sizeof(string), "~w~%s", result);
  3216. GameTextForAll(string, time*1000, 4);
  3217. printf("%s", string);
  3218. }
  3219. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3220. return 1;
  3221. }
  3222.  
  3223. if(strcmp(cmd, "/veh", true) == 0)
  3224. {
  3225. if (AccountInfo[playerid][AdminLevel] >= 6 || IsPlayerAdmin(playerid))
  3226. {
  3227. tmp = strtok(cmdtext, idx);
  3228. if(!strlen(tmp))
  3229. {
  3230. SendClientMessage(playerid, ORANGE, "USAGE: /veh [modelname/id] [color1] [color2]");
  3231. return 1;
  3232. }
  3233. new car = GetVehicleModelIDFromName(tmp);
  3234. if (car == -1)
  3235. {
  3236. car = strval(tmp);
  3237. if(car < 400 || car > 611) return SendClientMessage(playerid, RED, "Vehicle ID can't be below 400 nor above 611 !");
  3238. }
  3239.  
  3240. tmp = strtok(cmdtext, idx);
  3241. if(!strlen(tmp))
  3242. {
  3243. SendClientMessage(playerid, ORANGE, "USAGE: /veh [modelname/id] [color1] [color2]");
  3244. return 1;
  3245. }
  3246. new color1 = strval(tmp);
  3247.  
  3248. tmp = strtok(cmdtext, idx);
  3249. if(!strlen(tmp))
  3250. {
  3251. SendClientMessage(playerid, ORANGE, "USAGE: /veh [modelname/id] [color1] [color2]");
  3252. return 1;
  3253. }
  3254. new color2 = strval(tmp);
  3255.  
  3256. new Float:X,Float:Y,Float:Z,Float:A;
  3257. GetPlayerPos(playerid, X,Y,Z);
  3258. GetPlayerFacingAngle(playerid, A);
  3259. X += (5 * floatsin(-A, degrees));
  3260. Y += (5 * floatcos(-A, degrees));
  3261. new carid = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, -1);
  3262. format(string, sizeof(string), "Vehicle %s(%d) spawned.", VehNames[GetVehicleModel(carid)-400], carid);
  3263. SendClientMessage(playerid, GREEN, string);
  3264. GetPlayerName(playerid,sendername,sizeof(sendername));
  3265. format(string, sizeof(string), "-| Administrator %s spawned a vehicle(%d) [ Model: %s ] |-", sendername, carid, VehNames[GetVehicleModel(carid)-400]);
  3266. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  3267. }
  3268. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  3269. return 1;
  3270. }
  3271.  
  3272. if(strcmp(cmd, "/pweapons", true) == 0)
  3273. {
  3274. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 1)
  3275. {
  3276. tmp = strtok(cmdtext, idx);
  3277. if(!strlen(tmp))
  3278. {
  3279. SendClientMessage(playerid, ORANGE, "USAGE: /pweapons [playerid/name]");
  3280. return 1;
  3281. }
  3282. new giveplayerid = ReturnUser(tmp);
  3283. if (giveplayerid != INVALID_PLAYER_ID)
  3284. {
  3285. new bullets[12];
  3286. new weapons[12];
  3287. new weapname[12][20];
  3288. for(new i = 0; i < 12; i++)
  3289. {
  3290. GetPlayerWeaponData(giveplayerid, i+1, weapons[i], bullets[i]);
  3291. GetWeaponName(weapons[i], weapname[i], 20);
  3292. }
  3293. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  3294. format(string,sizeof(string)," |- %s's Weapons -|",giveplayername);
  3295. SendClientMessage(playerid,LIGHTGREEN,string);
  3296. format(string, sizeof(string),"%s(0) - %s(%d) - %s(%d) - %s(%d) - %s(%d) - %s(%d)",weapname[0],weapname[1],bullets[1],weapname[2],bullets[2],weapname[3],bullets[3],weapname[4],bullets[4],weapname[5],bullets[5]);
  3297. SendClientMessage(playerid,YELLOW,string);
  3298. format(string,sizeof(string),"%s(%d) - %s(%d) - %s(%d) - %s(0) - %s(0) - %s(0)",weapname[6],bullets[6],weapname[7],bullets[7],weapname[8],bullets[8],weapname[9],weapname[10],weapname[11]);
  3299. SendClientMessage(playerid,YELLOW,string);
  3300. }
  3301. else SendClientMessage(playerid, RED, "Player is not active.");
  3302. }
  3303. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  3304. return 1;
  3305. }
  3306.  
  3307. if(strcmp(cmd, "/sethp", true) == 0)
  3308. {
  3309. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 3)
  3310. {
  3311. tmp = strtok(cmdtext, idx);
  3312. if(!strlen(tmp))
  3313. {
  3314. SendClientMessage(playerid, ORANGE, "USAGE: /sethp [playerid/name] [health]");
  3315. return 1;
  3316. }
  3317. new targetid = ReturnUser(tmp);
  3318. tmp = strtok(cmdtext, idx);
  3319. new Float:hp = floatstr(tmp);
  3320. if (targetid != INVALID_PLAYER_ID)
  3321. {
  3322. if (!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /sethp [playerid/name] [health]");
  3323. SetPlayerHealth(targetid,hp);
  3324. if (hp < 1) Drugs[targetid] = 0;
  3325. GetPlayerName(playerid, sendername, sizeof(sendername));
  3326. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  3327. format(string,sizeof(string),"|- Administrator %s has changed %s's HP. [HP: %.2f] -|",sendername,giveplayername,hp);
  3328. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  3329. }
  3330. else SendClientMessage(playerid, RED, "Player is not active.");
  3331. }
  3332. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  3333. return 1;
  3334. }
  3335.  
  3336. if (strcmp(cmd, "/logout", true) == 0)
  3337. {
  3338. if(AccountInfo[playerid][Logged] == 1)
  3339. {
  3340. if(AccountInfo[playerid][AdminLevel] >= 1)
  3341. {
  3342. OnPlayerUpdateAccount(playerid);
  3343. AccountInfo[playerid][Logged] = 0;
  3344. AccountInfo[playerid][AdminLevel] = 0;
  3345. ResetPlayerMoney(playerid);
  3346. SendClientMessage(playerid, GREEN, "You have successfuly logged out.");
  3347. }
  3348. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  3349. }
  3350. else return SendClientMessage(playerid, RED, "You're not logged in! ( /login [password] )");
  3351. return 1;
  3352. }
  3353.  
  3354. if(strcmp(cmd, "/warn", true) == 0)
  3355. {
  3356. if (AccountInfo[playerid][AdminLevel] >= 2)
  3357. {
  3358. tmp = strtok(cmdtext, idx);
  3359. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /warn [playername/id] [reason]");
  3360. new targetid = ReturnUser(tmp);
  3361. if(IsPlayerConnected(targetid))
  3362. {
  3363. if(targetid != INVALID_PLAYER_ID)
  3364. {
  3365. new reason[128];
  3366. reason = bigstrtok(cmdtext, idx);
  3367. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "USAGE: /warn [playername/id] [reason]");
  3368. new sstring[128];
  3369. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  3370. GetPlayerName(playerid, sendername, sizeof(sendername));
  3371. AccountInfo[targetid][Warns] += 1;
  3372. format(string, sizeof(string), "You got warned by Admin %s. Reason: %s", sendername, reason);
  3373. SendClientMessage(targetid, ADMIN_RED, string);
  3374. format(string, sizeof(string), "-| Administrator %s warned %s. [Reason: %s ] |-", sendername,giveplayername, reason);
  3375. SendClientMessageToAdmins(ADMIN_RED,string,1);
  3376. format(string, sizeof(string), "-| %s's warnings: %d |-",giveplayername, AccountInfo[targetid][Warns]);
  3377. SendClientMessageToAdmins(ADMIN_RED,string,1);
  3378. if (AccountInfo[targetid][Warns] == 1) strmid(AccountInfo[targetid][WarnReason1], reason, 0, strlen(reason), 128);
  3379. else if (AccountInfo[targetid][Warns] == 2) strmid(AccountInfo[targetid][WarnReason2], reason, 0, strlen(reason), 128);
  3380. else if (AccountInfo[targetid][Warns] == 3) strmid(AccountInfo[targetid][WarnReason3], reason, 0, strlen(reason), 128);
  3381. SendClientMessage(targetid, RED, "3 Warnings = Auto-Ban!");
  3382. if(AccountInfo[targetid][Warns] >= 3)
  3383. {
  3384. new ip[128];
  3385. format(string, sizeof(string), "-| Administrator %s banned %s. [Reason: 3 Warnings...] |-", sendername,giveplayername);
  3386. BanLog(string);
  3387. SendClientMessageToAll(ADMIN_RED, string);
  3388. for(new i = 0; i < 3; i++)
  3389. {
  3390. if (i == 0) format(string, sizeof (string), "-| Reason #%d: %s |-", i+1, AccountInfo[targetid][WarnReason1]);
  3391. else if (i == 1) format(string, sizeof (string), "-| Reason #%d: %s |-", i+1, AccountInfo[targetid][WarnReason2]);
  3392. else if (i == 2) format(string, sizeof (string), "-| Reason #%d: %s |-", i+1, AccountInfo[targetid][WarnReason3]);
  3393. SendClientMessageToAll(ADMIN_RED, string);
  3394. }
  3395. GetPlayerIp(targetid,ip,128);
  3396. format(sstring, sizeof(sstring), "-| Banned Player's IP: %s |-", ip);
  3397. SendClientMessageToAdmins(ADMIN_RED, sstring,1);
  3398. AccountInfo[targetid][AdminLevel]= 0;
  3399. AccountInfo[targetid][Warns] = 0;
  3400. format(AccountInfo[targetid][WarnReason1], 128, "NONE");
  3401. format(AccountInfo[targetid][WarnReason2], 128, "NONE");
  3402. format(AccountInfo[targetid][WarnReason3], 128, "NONE");
  3403. Ban(giveplayerid);
  3404. return 1;
  3405. }
  3406. }
  3407. else
  3408. {
  3409. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  3410. SendClientMessage(playerid, RED, string);
  3411. }
  3412. }
  3413. else
  3414. {
  3415. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  3416. SendClientMessage(playerid, RED, string);
  3417. }
  3418. }
  3419. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3420. return 1;
  3421. }
  3422.  
  3423. if(strcmp(cmd, "/pstats", true) == 0)
  3424. {
  3425. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 1)
  3426. {
  3427. tmp = strtok(cmdtext, idx);
  3428. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /pstats [playername/id]");
  3429. new targetid = ReturnUser(tmp);
  3430. if (targetid != INVALID_PLAYER_ID)
  3431. {
  3432. new Float:health,Float:armor;
  3433. GetPlayerHealth(targetid,health);
  3434. GetPlayerArmour(targetid,armor);
  3435. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  3436. format(string, sizeof(string), "Stats of %s: Health: '%.2f' - Cash: '$%d' - Warnings: '%d' - Armor: '%.2f'",giveplayername, health,GetPlayerMoney(targetid),AccountInfo[targetid][Warns],armor);
  3437. SendClientMessage(playerid,PURPLE,string);
  3438. if(AccountInfo[giveplayerid][Logged] == 1) SendClientMessage(playerid, PURPLE, "Logged In: Yes");
  3439. else if(AccountInfo[giveplayerid][Logged] == 0) SendClientMessage(playerid, PURPLE, "Logged In: No");
  3440. SendClientMessage(playerid,YELLOW,"Type /pweapons [playername/id] to check the player's weapons");
  3441. }
  3442. else SendClientMessage(playerid, RED, "Player is not active.");
  3443. }
  3444. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  3445. return 1;
  3446. }
  3447.  
  3448. if(strcmp(cmd, "/fuck", true) == 0)
  3449. {
  3450. new Float:pX,Float:pY,Float:pZ;
  3451. new Float:X,Float:Y,Float:Z;
  3452. if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
  3453. {
  3454. tmp = strtok(cmdtext, idx);
  3455. if(!strlen(tmp))
  3456. {
  3457. SendClientMessage(playerid, ORANGE, "USAGE: /fuck [playerid]");
  3458. SendClientMessage(playerid, ORANGE, "FUNCTION: Will fuck up a player.");
  3459. return 1;
  3460. }
  3461.  
  3462. new targetid = ReturnUser(tmp);
  3463. if(targetid != INVALID_PLAYER_ID)
  3464. {
  3465. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  3466. GetPlayerName(playerid, sendername, sizeof(sendername));
  3467. GetPlayerPos(targetid,pX,pY,pZ);
  3468. CreateExplosion(X,Y,Z+50,2,5.0);
  3469. SetPlayerPos(targetid,pX,pY,pZ+50);
  3470. format(string, sizeof(string), "-| Administrator %s fucked %s up |-",sendername, giveplayername);
  3471. SendClientMessageToAdmins(ADMIN_RED,string,1);
  3472. SendClientMessage(targetid, RED, "You've been fucked up by an admin.");
  3473. }
  3474. else if(giveplayerid == INVALID_PLAYER_ID)
  3475. {
  3476. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  3477. SendClientMessage(playerid, RED, string);
  3478. }
  3479. }
  3480. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3481. return 1;
  3482. }
  3483.  
  3484. if(strcmp(cmd, "/giveweapon", true) == 0)
  3485. {
  3486. if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
  3487. {
  3488. tmp = strtok(cmdtext, idx);
  3489. if(!strlen(tmp))
  3490. {
  3491. SendClientMessage(playerid, ORANGE, "USAGE: /giveweapon [playername/id] [weaponid] [ammo]");
  3492. return 1;
  3493. }
  3494. new gun;
  3495. new ammo;
  3496. new targetid = ReturnUser(tmp);
  3497. tmp = strtok(cmdtext, idx);
  3498. gun = strval(tmp);
  3499. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /giveweapon [playername/id] [weaponid] [ammo]");
  3500. tmp = strtok(cmdtext, idx);
  3501. ammo = strval(tmp);
  3502. if(targetid != INVALID_PLAYER_ID)
  3503. {
  3504. new weap[50];
  3505. GetPlayerName(playerid, sendername, sizeof(sendername));
  3506. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  3507. GivePlayerWeapon(targetid, gun, ammo);
  3508. GetWeaponName(gun, weap, sizeof weap);
  3509. format(string, sizeof(string), "-| Administrator %s gave a weapon(%s) to %s |-",sendername, weap, giveplayername);
  3510. SendClientMessageToAdmins(ADMIN_RED,string,1);
  3511. }
  3512. else if(targetid == INVALID_PLAYER_ID)
  3513. {
  3514. format(string, sizeof(string), "%d is not an active player.", targetid);
  3515. SendClientMessage(playerid, RED, string);
  3516. }
  3517. }
  3518. else SendClientMessage(playerid, RED, "You are not an admin with the required level!");
  3519. return 1;
  3520. }
  3521. if(strcmp(cmd, "/crash", true) == 0)
  3522. {
  3523. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
  3524. {
  3525. tmp = strtok(cmdtext, idx);
  3526. if(!strlen(tmp))
  3527. {
  3528. SendClientMessage(playerid, ORANGE, "USAGE: /crash [playername/id]");
  3529. SendClientMessage(playerid, ORANGE, "FUNCTION: Will crash a player.");
  3530. return 1;
  3531. }
  3532. new Float:X,Float:Y,Float:Z;
  3533. new targetid = ReturnUser(tmp);
  3534. if(IsPlayerConnected(targetid))
  3535. {
  3536. GetPlayerPos(giveplayerid,X,Y,Z);
  3537. new objectcrash = CreatePlayerObject(targetid,666666,X,Y,Z,0,0,0);
  3538. SendClientMessage(playerid,GREEN, "Player successfuly crashed.");
  3539. DestroyPlayerObject(targetid, objectcrash);
  3540. }
  3541. else if (!IsPlayerConnected(giveplayerid))
  3542. {
  3543. format(string, sizeof(string), "%d is not an active player.", targetid);
  3544. SendClientMessage(playerid, RED, string);
  3545. }
  3546. }
  3547. else SendClientMessage(playerid, RED, "You're not a lead admin.");
  3548. return 1;
  3549. }
  3550.  
  3551. if(strcmp(cmd, "/setwarn", true) == 0)
  3552. {
  3553. if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
  3554. {
  3555. tmp = strtok(cmdtext, idx);
  3556. if(!strlen(tmp))
  3557. {
  3558. SendClientMessage(playerid, ORANGE, "USAGE: /setwarn [playername/id] [warning]");
  3559. SendClientMessage(playerid, ORANGE, "FUNCTION: Will set a certain player's warning.");
  3560. return 1;
  3561. }
  3562. new targetid = ReturnUser(tmp);
  3563. if(targetid != INVALID_PLAYER_ID)
  3564. {
  3565. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  3566. GetPlayerName(playerid, sendername, sizeof(sendername));
  3567. tmp = strtok(cmdtext, idx);
  3568. new warnings = strval(tmp);
  3569. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /setwarn [playername/id] [warning]");
  3570. AccountInfo[targetid][Warns] = warnings;
  3571. format(string, sizeof(string), "Admin %s changed your warnings to %d", sendername, warnings);
  3572. SendClientMessage(targetid, GREEN, string);
  3573. SendClientMessage(targetid, RED, "3 Warnings = Auto-Ban! Ask an admin to check how many warnings you have");
  3574. format(string, sizeof(string), "-| Administrator %s changed %s's warnings. [Warnings: %d ] |-",sendername,giveplayername, AccountInfo[giveplayerid][Warns]);
  3575. SendClientMessageToAdmins(ADMIN_RED,string,1);
  3576. }
  3577. else if(giveplayerid == INVALID_PLAYER_ID)
  3578. {
  3579. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  3580. SendClientMessage(playerid, RED, string);
  3581. }
  3582. }
  3583. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3584. return 1;
  3585. }
  3586.  
  3587. if(strcmp(cmd, "/an", true) == 0 || strcmp(cmd, "/announce", true) == 0)
  3588. {
  3589. if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
  3590. {
  3591. GetPlayerName(playerid, sendername, sizeof(sendername));
  3592. new result[128];
  3593. result = bigstrtok(cmdtext, idx);
  3594. if(!strlen(result))
  3595. {
  3596. SendClientMessage(playerid, ORANGE, "USAGE: /(an)nounce [message]");
  3597. SendClientMessage(playerid, ORANGE, "FUNCTION: Will broadcast an announcement.");
  3598. return 1;
  3599. }
  3600. format(string, sizeof(string), "%s", result);
  3601. SendClientMessageToAll(AQUAGREEN, string);
  3602. printf("Announcement by %s: %s", sendername, string);
  3603. }
  3604. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3605. return 1;
  3606. }
  3607.  
  3608. if(strcmp(cmd, "/superpunch", true) == 0)
  3609. {
  3610. if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
  3611. {
  3612. tmp = strtok(cmdtext,idx);
  3613. if(!strlen(tmp))
  3614. {
  3615. SendClientMessage(playerid, ORANGE, "USAGE: /superpunch [on/off]");
  3616. SendClientMessage(playerid, ORANGE, "FUNCTION: Will give you the power of Super Punch. When pressing 'PUNCH' button, you will explode but will live.");
  3617. }
  3618. else if(strcmp(tmp,"on",true) == 0)
  3619. {
  3620. SuperPunch[playerid] = 1;
  3621. SendClientMessage(playerid,GREEN,"You are now blessed with SUPER PUNCH! Go knock someone out.");
  3622. }
  3623. else if(strcmp(tmp,"off",true) == 0)
  3624. {
  3625. SuperPunch[playerid] = 0;
  3626. SendClientMessage(playerid,GREEN,"Your super punch is now disabled.");
  3627. }
  3628. }
  3629. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3630. return 1;
  3631. }
  3632.  
  3633. if (strcmp(cmd, "/superpunchp", true) == 0)
  3634. {
  3635. new tmp2[128];
  3636. if (AccountInfo[playerid][AdminLevel] > 4 || IsPlayerAdmin(playerid))
  3637. {
  3638. tmp = strtok(cmdtext,idx);
  3639. if(!strlen(tmp))
  3640. {
  3641. SendClientMessage(playerid,ORANGE,"USAGE: /superpunchp [playername/id] [on/off]");
  3642. SendClientMessage(playerid,ORANGE,"FUNCTION: Will give the player the power of SuperPunch.");
  3643. }
  3644. new targetid = ReturnUser(tmp);
  3645. if(targetid != INVALID_PLAYER_ID)
  3646. {
  3647. tmp2 = strtok(cmdtext,idx);
  3648. if(strcmp(tmp2,"on",true) == 0)
  3649. {
  3650. GetPlayerName(playerid, sendername, sizeof(sendername));
  3651. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  3652. SuperPunch[targetid] = 1;
  3653. format(string, sizeof(string), "Admin %s blessed you with the power of Super Punch !", sendername);
  3654. SendClientMessage(targetid,GREEN,string);
  3655. format(string, sizeof(string), "-| Administrator %s blessed %s with the power of Super Punch |-", sendername,giveplayername);
  3656. SendClientMessageToAdmins(ADMIN_RED,string,1);
  3657. }
  3658. else if(strcmp(tmp2,"off",true) == 0)
  3659. {
  3660. format(string, sizeof(string), "Admin %s removed your Super Punch power.", sendername);
  3661. SendClientMessage(targetid,RED,string);
  3662. SuperPunch[targetid] = 0;
  3663. }
  3664. }
  3665. else if(giveplayerid == INVALID_PLAYER_ID)
  3666. {
  3667. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  3668. SendClientMessage(playerid,RED,string);
  3669. }
  3670. }
  3671. else SendClientMessage(playerid,RED,"You are not an admin with the required level.");
  3672. return 1;
  3673. }
  3674.  
  3675. if(strcmp(cmd, "/viewcmds", true) == 0)
  3676. {
  3677. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  3678. {
  3679. tmp = strtok(cmdtext,idx);
  3680. if(!strlen(tmp))
  3681. {
  3682. SendClientMessage(playerid, ORANGE, "USAGE: /viewcmds [on/off]");
  3683. SendClientMessage(playerid, ORANGE, "FUNCTION: Will see the players typing some commands and wrong commands.");
  3684. }
  3685. else if(strcmp(tmp,"on",true) == 0)
  3686. {
  3687. ViewCmds[playerid] = 1;
  3688. SendClientMessage(playerid,GREEN,"You can know view players typing some commands and wrong commands.");
  3689. }
  3690. else if(strcmp(tmp,"off",true) == 0)
  3691. {
  3692. ViewCmds[playerid] = 0;
  3693. SendClientMessage(playerid,GREEN,"You can no longer view players typing some commands and wrong commands.");
  3694. }
  3695. }
  3696. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3697. return 1;
  3698. }
  3699.  
  3700. if(strcmp(cmd, "/jail", true) == 0)
  3701. {
  3702. if (AccountInfo[playerid][AdminLevel] >= 3)
  3703. {
  3704. tmp = strtok(cmdtext, idx);
  3705. if(!strlen(tmp))
  3706. {
  3707. SendClientMessage(playerid, ORANGE, "USAGE: /jail [playername/id] [reason]");
  3708. return 1;
  3709. }
  3710. new targetid = ReturnUser(tmp);
  3711. if(IsPlayerConnected(targetid))
  3712. {
  3713. if(targetid != INVALID_PLAYER_ID)
  3714. {
  3715. if(AccountInfo[giveplayerid][Jail] == 0)
  3716. {
  3717. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  3718. GetPlayerName(playerid, sendername, sizeof(sendername));
  3719. new reason[128];
  3720. reason = bigstrtok(cmdtext, idx);
  3721. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "USAGE: /jail [playername/id] [reason]");
  3722. format(string, sizeof(string), "You got jailed by Admin %s. Reason: %s", sendername, reason);
  3723. SendClientMessage(targetid, ADMIN_RED, string);
  3724. format(string, sizeof(string), "-| Administrator %s jailed %s. [ Reason: %s ] |-",sendername,giveplayername, reason);
  3725. SendClientMessageToAll(ADMIN_RED,string);
  3726. AccountInfo[targetid][Jail] = 1;
  3727. OnPlayerJailed(targetid);
  3728. return 1;
  3729. }
  3730. else SendClientMessage(playerid, RED, "Player is already jailed!");
  3731. }
  3732. else
  3733. {
  3734. format(string, sizeof(string), "%d is not an active player.", targetid);
  3735. SendClientMessage(playerid, RED, string);
  3736. }
  3737. }
  3738. else
  3739. {
  3740. format(string, sizeof(string), "%d is not an active player.", targetid);
  3741. SendClientMessage(playerid, RED, string);
  3742. }
  3743. }
  3744. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3745. return 1;
  3746. }
  3747.  
  3748. if(strcmp(cmd, "/unjail", true) == 0)
  3749. {
  3750. if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
  3751. {
  3752. tmp = strtok(cmdtext, idx);
  3753. if(!strlen(tmp))
  3754. {
  3755. SendClientMessage(playerid, ORANGE, "USAGE: /unjail [playername/id]");
  3756. return 1;
  3757. }
  3758.  
  3759. new targetid = ReturnUser(tmp);
  3760. if(targetid != INVALID_PLAYER_ID)
  3761. {
  3762. if(AccountInfo[giveplayerid][Jail] == 1)
  3763. {
  3764. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  3765. GetPlayerName(playerid, sendername, sizeof(sendername));
  3766. format(string, sizeof(string), "-| Administrator %s unjailed %s |-",sendername, giveplayername);
  3767. SendClientMessageToAll(ADMIN_RED,string);
  3768. AccountInfo[targetid][Jail] = 0;
  3769. OnPlayerUnjailed(targetid);
  3770. }
  3771. else SendClientMessage(playerid, RED, "Player is not jailed!");
  3772. }
  3773. else
  3774. {
  3775. format(string, sizeof(string), "%d is not an active player.", targetid);
  3776. SendClientMessage(playerid, RED, string);
  3777. }
  3778. }
  3779. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3780. return 1;
  3781. }
  3782.  
  3783. if(strcmp(cmd, "/gotoveh", true) == 0)
  3784. {
  3785. tmp = strtok(cmdtext, idx);
  3786. if(!strlen(tmp))
  3787. {
  3788. SendClientMessage(playerid, ORANGE, "USAGE: /gotoveh [vehicleid]");
  3789. return 1;
  3790. }
  3791. new car = strval(tmp);
  3792. if (AccountInfo[playerid][AdminLevel] >= 3)
  3793. {
  3794. new Float:vx,Float:vy,Float:vz;
  3795. GetVehiclePos(car,vx,vy,vz);
  3796. if (GetPlayerState(playerid) == 2)
  3797. SetVehiclePos(GetPlayerVehicleID(playerid),vx,vy+2,vz);
  3798. else
  3799. SetPlayerPos(playerid,vx,vy,vz+1);
  3800. SetPlayerInterior(playerid,0);
  3801. format(string,256,"You have teleported to vehicle id %d(%s)",car, VehNames[GetVehicleModel(car)-400]);
  3802. SendClientMessage(playerid,GREEN,string);
  3803. }
  3804. else SendClientMessage(playerid,RED,"You're not an admin with the required level");
  3805. return 1;
  3806. }
  3807. if(!strcmp(cmdtext, "/aclearchat", true))
  3808. {
  3809. if(AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  3810. {
  3811. for(new chat = 0; chat <= 50; chat++) SendClientMessageToAll(GREEN, " ");
  3812. GetPlayerName(playerid, sendername, 20);
  3813. format(string, 256, "-| Administrator %s cleared the chat |-", sendername);
  3814. SendClientMessageToAll(ADMIN_RED, string);
  3815. return 1;
  3816. }
  3817. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3818. return 1;
  3819. }
  3820. if(strcmp(cmd, "/hide", true) == 0)
  3821. {
  3822. if (AccountInfo[playerid][AdminLevel] >= 4)
  3823. {
  3824. Hide[playerid] = 1;
  3825. SendClientMessage(playerid,GREEN,"|- You're now hidden from the admin list -|");
  3826. }
  3827. return 1;
  3828. }
  3829. if(strcmp(cmd, "/unhide", true) == 0)
  3830. {
  3831. if (AccountInfo[playerid][AdminLevel] >= 4)
  3832. {
  3833. if (Hide[playerid] != 1) return SendClientMessage(playerid,RED,"You're not hidden in the admin list!");
  3834. Hide[playerid] = 0;
  3835. SendClientMessage(playerid,GREEN,"|- You're now visible in the admin list -|");
  3836. }
  3837. return 1;
  3838. }
  3839.  
  3840. if(strcmp(cmd, "/virtual", true) == 0)
  3841. {
  3842. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 3)
  3843. {
  3844. tmp = strtok(cmdtext, idx);
  3845. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /virtual [playerid/name] [virtual world (0-255)]");
  3846. new targetid = ReturnUser(tmp);
  3847. tmp = strtok(cmdtext, idx);
  3848. new v = strval(tmp);
  3849. if (targetid != INVALID_PLAYER_ID)
  3850. {
  3851. if (!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /virtual [playerid/name] [virtual world (0-255)]");
  3852. SetPlayerVirtualWorld(targetid,v);
  3853. GetPlayerName(playerid, sendername, sizeof(sendername));
  3854. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  3855. format(string,sizeof(string),"|- Administrator %s has changed %s's Virtual World. [World: %d] -|",sendername,giveplayername,v);
  3856. SendClientMessageToAdmins(ADMIN_RED,string,1);
  3857. }
  3858. else SendClientMessage(playerid, RED, "Player is not active.");
  3859. }
  3860. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  3861. return 1;
  3862. }
  3863.  
  3864. if(strcmp(cmd,"/count", true) == 0)
  3865. {
  3866. tmp = strtok(cmdtext, idx);
  3867. new count = strval(tmp);
  3868. if (!strlen(tmp)) count = 5;
  3869. if (AccountInfo[playerid][AdminLevel] < 1) return SendClientMessage(playerid,RED,"You're not an admin");
  3870. if (Count < 0) return SendClientMessage(playerid, RED, "Countdown is already in progress.");
  3871. GetPlayerName(playerid, sendername, sizeof(sendername));
  3872. format(string,sizeof(string),"|- Administrator %s started a countdown from %d -|", sendername, count);
  3873. SendClientMessageToAll(LIGHTGREEN, string);
  3874. Count = count;
  3875. CountDown();
  3876. return 1;
  3877. }
  3878.  
  3879. if(strcmp(cmd, "/view", true) == 0)
  3880. {
  3881. if (AccountInfo[playerid][AdminLevel] < 1) return SendClientMessage(playerid,RED,"You're not an admin !");
  3882. tmp = strtok(cmdtext, idx);
  3883. if(!strlen(tmp))
  3884. {
  3885. SendClientMessage(playerid, ORANGE, "|__________________________________|");
  3886. SendClientMessage(playerid, ORANGE, "USAGE: /view [playerid]");
  3887. SendClientMessage(playerid, ORANGE, "FUNCTION: Will spectate a player.");
  3888. SendClientMessage(playerid, ORANGE, "HELP: /view off to stop spectating");
  3889. SendClientMessage(playerid, ORANGE, "|__________________________________|");
  3890. return 1;
  3891. }
  3892. new targetid = ReturnUser(tmp);
  3893. if (giveplayerid != INVALID_PLAYER_ID)
  3894. {
  3895. if (AccountInfo[playerid][AdminLevel] < 1) return SendClientMessage(playerid,RED,"You're not an admin !");
  3896. TogglePlayerSpectating(playerid, 1);
  3897. SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(targetid));
  3898. SetPlayerInterior(playerid,GetPlayerInterior(targetid));
  3899. if (IsPlayerInAnyVehicle(targetid)) PlayerSpectateVehicle(playerid, GetPlayerVehicleID(targetid));
  3900. else PlayerSpectatePlayer(playerid, targetid);
  3901. SendClientMessage(playerid, ORANGE, "HELP: '/view off' to stop spectating");
  3902. }
  3903. else if(strcmp(tmp, "off", true) == 0)
  3904. {
  3905. TogglePlayerSpectating(playerid, 0);
  3906. SetPlayerVirtualWorld(playerid,0);
  3907. }
  3908. else
  3909. {
  3910. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  3911. SendClientMessage(playerid, RED, string);
  3912. }
  3913. return 1;
  3914. }
  3915.  
  3916. if(strcmp(cmd, "/blockpm", true) == 0)
  3917. {
  3918. if (AccountInfo[playerid][AdminLevel] >= 5)
  3919. {
  3920. if (PMBlock[playerid] == true)
  3921. {
  3922. PMBlock[playerid] = false;
  3923. SendClientMessage(playerid, GREEN, "|- Private messages BLOCKED -|");
  3924. return 1;
  3925. }
  3926. if (PMBlock[playerid] == false)
  3927. {
  3928. PMBlock[playerid] = true;
  3929. SendClientMessage(playerid, GREEN, "|- Private messages UNBLOCKED -|");
  3930. return 1;
  3931. }
  3932. }
  3933. else return SendClientMessage(playerid, RED, "You're not a lead admin!");
  3934. }
  3935.  
  3936. if(!strcmp(cmd, "/Apocalypse", true))
  3937. {
  3938. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
  3939. {
  3940. tmp = strtok(cmdtext, idx);
  3941. if (!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /apocalypse [explosions]");
  3942. new Float:X,Float:Y,Float:Z,Float:A;
  3943. GetPlayerPos(playerid, X,Y,Z);
  3944. GetPlayerFacingAngle(playerid, A);
  3945. Nuke[playerid] = 1;
  3946. SetTimerEx("NukeBlast", 200, 0, "ddffff",playerid, strval(tmp), X, Y, Z, A);
  3947. }
  3948. else return SendClientMessage(playerid, RED, "You're not a lead admin!");
  3949. return 1;
  3950. }
  3951.  
  3952. if(!strcmp(cmd, "/missile", true))
  3953. {
  3954. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
  3955. {
  3956. new targetid;
  3957. tmp = strtok(cmdtext, idx);
  3958. if (!strlen(tmp)) targetid = playerid;
  3959. else targetid = ReturnUser(tmp, playerid);
  3960. if (IsValidObject(Missile[playerid])) return SendClientMessage(playerid, RED, "You already dropped a missile that's currently in progress of exploding");
  3961. new Float:X,Float:Y,Float:Z;
  3962. GetPlayerPos(targetid, X,Y,Z);
  3963. Missile[playerid] = CreateObject(3786, X, Y, Z+50, 357.6293, 272.3375, 6.8755);
  3964. MoveObject(Missile[playerid], X, Y, Z, 20.0);
  3965. }
  3966. else return SendClientMessage(playerid, RED, "You're not a lead admin!");
  3967. return 1;
  3968. }
  3969.  
  3970. if (!strcmp(cmd, "/push", true))
  3971. {
  3972. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 3)
  3973. {
  3974. tmp = strtok(cmdtext, idx);
  3975. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /push [playername/id]");
  3976. new targetid = ReturnUser(tmp);
  3977. if (targetid != INVALID_PLAYER_ID)
  3978. {
  3979. PushPlayer(targetid, 20, true);
  3980. GetPlayerName(playerid, sendername, sizeof(sendername));
  3981. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  3982. format(string,sizeof(string),"|- Administrator %s has pushed %s -|", sendername, giveplayername);
  3983. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  3984. }
  3985. else SendClientMessage(playerid, RED, "Player is not active.");
  3986. }
  3987. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  3988. return 1;
  3989. }
  3990.  
  3991. if (!strcmp(cmd, "/setgravity", true))
  3992. {
  3993. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 4)
  3994. {
  3995. tmp = strtok(cmdtext, idx);
  3996. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /pussetgravity [gravity float]");
  3997. new Float:gravity = floatstr(tmp);
  3998. SetGravity(gravity);
  3999. GetPlayerName(playerid, sendername, sizeof(sendername));
  4000. format(string,sizeof(string),"|- Administrator %s has changed gravity [ Gravity: %.4f ] -|", sendername, gravity);
  4001. SendClientMessageToAll(ADMIN_RED, string);
  4002. }
  4003. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  4004. return 1;
  4005. }
  4006.  
  4007. if (!strcmp(cmd, "/settime", true))
  4008. {
  4009. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 3)
  4010. {
  4011. tmp = strtok(cmdtext, idx);
  4012. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /settime [time(0-23)]");
  4013. new time = strval(tmp);
  4014. if (time < 0 || time > 23) return SendClientMessage(playerid, RED, "Time can only be from 0 to 23!");
  4015. SetWorldTime(time);
  4016. GetPlayerName(playerid, sendername, sizeof(sendername));
  4017. format(string,sizeof(string),"|- Administrator %s has changed time [ Hour: %d ] -|", sendername, time);
  4018. SendClientMessageToAll(ADMIN_RED, string);
  4019. }
  4020. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  4021. return 1;
  4022. }
  4023.  
  4024. //----------------- HELP -----------------
  4025. if(strcmp(cmd, "/help", true) == 0 || strcmp(cmd, "/cmd", true) == 0 || strcmp(cmd, "/commands", true) == 0)
  4026. {
  4027. SendClientMessage(playerid, COLOR_OOC,"**************************");
  4028. SendClientMessage(playerid, COLOR_OOC,"SERVER:/login /register /admins /tune");
  4029. SendClientMessage(playerid, COLOR_OOC,"SERVER:/teles /report (cheating players) /skins");
  4030. SendClientMessage(playerid, COLOR_OOC,"SERVER:/fix (your car)");
  4031. SendClientMessage(playerid, COLOR_OOC,"SERVER:/fixveh (repair complete car)");
  4032. SendClientMessage(playerid, COLOR_OOC,"SERVER:/autofix on/off");
  4033. SendClientMessage(playerid, COLOR_OOC,"**************************");
  4034. return 1;
  4035. }
  4036.  
  4037. if (strcmp("/fix", cmdtext, true) == 0)
  4038. {
  4039. SetVehicleHealth(GetPlayerVehicleID(playerid), Float:1000.0);
  4040. return 1;
  4041. }
  4042.  
  4043. if (strcmp("/tune", cmdtext, true) == 0)
  4044. {
  4045. SetVehiclePos(GetPlayerVehicleID(playerid), -1935.9982,245.8368,34.4609);
  4046. SetVehicleZAngle(GetPlayerVehicleID(playerid), 0.4884);
  4047. checkpoint = SetPlayerCheckpoint(playerid, -1936.1533,229.5434,34.1563, 10);
  4048. return 1;
  4049. }
  4050.  
  4051. if (strcmp("/autofix", cmdtext, true) == 0)
  4052. {
  4053. SendClientMessage(playerid, BLUE,"USAGE:*/autofix on*");
  4054. return 1;
  4055. }
  4056.  
  4057. if (strcmp("/autofix on", cmdtext, true) == 0)
  4058. {
  4059. if(IsPlayerInAnyVehicle(playerid) && PLAYER_STATE_DRIVER)
  4060. {
  4061. cartimer[playerid]=SetTimerEx("CarHealth",2500,true,"i",playerid);
  4062. SendClientMessage(playerid, BLUE,"SERVER:Use /autofix off to disable or leave your car");
  4063. SendClientMessage(playerid, BLUE,"USAGE:Repair your car automatically");
  4064. }
  4065. else
  4066. {
  4067. SendClientMessage(playerid, RED,"You are not in a Vehicle");
  4068. }
  4069. return 1;
  4070. }
  4071.  
  4072. if (strcmp("/plate", cmdtext, true) == 0)
  4073. {
  4074. if(IsPlayerInAnyVehicle(playerid))
  4075. {
  4076. SetVehicleNumberPlate(GetPlayerVehicleID(playerid),"1337");
  4077. }
  4078. return 1;
  4079. }
  4080.  
  4081. if (strcmp("/autofix off", cmdtext, true) == 0)
  4082. {
  4083. if(IsPlayerInAnyVehicle(playerid))
  4084. {
  4085. KillTimer(cartimer[playerid]);
  4086. SendClientMessage(playerid, BLUE,"Autofix is now off");
  4087. }
  4088. else
  4089. {
  4090. SendClientMessage(playerid, RED,"/autofix isnt connected");
  4091. }
  4092. return 1;
  4093. }
  4094.  
  4095. if(strcmp(cmdtext, "/teles", true) == 0)
  4096. {
  4097. KillTimer(cartimer[playerid]);
  4098. ShowMenuForPlayer(telemenu, playerid);
  4099. TogglePlayerControllable(playerid, 0);
  4100. return 1;
  4101. }
  4102.  
  4103. if(strcmp(cmdtext, "/piss", true) == 0 || strcmp(cmdtext, "/pee", true) == 0)
  4104. {
  4105. SetPlayerSpecialAction(playerid, 68);
  4106. return 1;
  4107. }
  4108.  
  4109. if (strcmp("/startdown", cmdtext, true, 10) == 0)
  4110. {
  4111. if(getCheckpointType(playerid)!=TT_START)
  4112. {
  4113. SendClientMessage(playerid,GREEN,"You must be at the Downhill starting location.");
  4114. return 1;
  4115. }
  4116. if(!IsVehicle(playerid))
  4117. {
  4118. new fstr[255];
  4119. format(fstr,sizeof(fstr),"You must be in a %s to participate in this.",VehNames[451-400]);
  4120. SendClientMessage(playerid,GREEN,fstr);
  4121. return 1;
  4122. }
  4123. SendClientMessage(playerid, GREEN,"Starting..");
  4124. SetCameraBehindPlayer(playerid);
  4125. TogglePlayerControllable(playerid,0);
  4126. Motocountdown[playerid] = 6;
  4127. SetPlayerRaceCheckpoint(playerid,0,racecheckpoints[0][0],racecheckpoints[0][1],racecheckpoints[0][2],racecheckpoints[1][0],racecheckpoints[1][1],racecheckpoints[1][2],10);
  4128. DisablePlayerCheckpoint(playerid);
  4129. SetTimer("RaceOpen", 3000, 0);
  4130. return 1;
  4131. }
  4132. if (strcmp("/times", cmdtext, true, 10) == 0)
  4133. {
  4134. new kstring[255];
  4135. SendClientMessage(playerid,GREEN,"Top 5 Times:");
  4136. for(new z=0; z<5; z++)
  4137. {
  4138. new sec = KartHS[z][Time]%60;
  4139. new mins = (KartHS[z][Time]/60)%60;
  4140. if (strcmp("None",KartHS[z][Driver], true, 10) == 0)
  4141. {
  4142. if(z==0)
  4143. SendClientMessage(playerid,GREY,"-No Times Recorded Yet-");
  4144. if(z>0)
  4145. SendClientMessage(playerid,GREY,"-End Of Time Sheet-");
  4146. return 1;
  4147. }
  4148. if(strcmp("None",KartHS[z][Driver], true,10) != 0)
  4149. {
  4150. if(sec > 9) {format(kstring,sizeof(kstring),"%d. %s - %d:%d",z+1,KartHS[z][Driver],mins,sec);}
  4151. if(sec < 9) {format(kstring,sizeof(kstring),"%d. %s - %d:0%d",z+1,KartHS[z][Driver],mins,sec);}
  4152. SendClientMessage(playerid,GREY,kstring);
  4153. }
  4154. }
  4155. return 1;
  4156. }
  4157.  
  4158. if (!strcmp(cmd, "/setweather", true))
  4159. {
  4160. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 4)
  4161. {
  4162. tmp = strtok(cmdtext, idx);
  4163. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /setweather [weather id]");
  4164. new weather = strval(tmp);
  4165. SetWeather(weather);
  4166. GetPlayerName(playerid, sendername, sizeof(sendername));
  4167. format(string,sizeof(string),"|- Administrator %s has changed weather [ Weather: %d ] -|", sendername, weather);
  4168. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  4169. }
  4170. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  4171. return 1;
  4172. }
  4173.  
  4174. if(strcmp(cmd, "/report", true) == 0)
  4175. {
  4176. tmp = strtok(cmdtext, idx);
  4177. if(!strlen(tmp))
  4178. {
  4179. SendClientMessage(playerid, ORANGE, "USAGE: /report [playername/id] [reason]");
  4180. SendClientMessage(playerid, ORANGE, "FUNCTION: Will report the specified player to the administrators(online).");
  4181. return 1;
  4182. }
  4183. new targetid = ReturnUser(tmp);
  4184. if(targetid != INVALID_PLAYER_ID)
  4185. {
  4186. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  4187. GetPlayerName(playerid, sendername, sizeof(sendername));
  4188. new reason[128];
  4189. reason = bigstrtok(cmdtext, idx);
  4190. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "USAGE: /report [playerid] [reason]");
  4191. format(string, sizeof(string), "|- %s reported %s [ Reason: %s ]", sendername,giveplayername,reason);
  4192. SendClientMessageToAdmins(ADMIN_RED, string,1);
  4193. format(string, sizeof(string), "Your report on '%s' has been sent to the current online admins. Thank you.", giveplayername);
  4194. SendClientMessage(playerid, GREEN, string);
  4195. }
  4196.  
  4197. else if(giveplayerid == INVALID_PLAYER_ID)
  4198. {
  4199. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  4200. SendClientMessage(playerid, RED, string);
  4201. }
  4202. return 1;
  4203. }
  4204.  
  4205. if(strcmp(cmd, "/ah", true) == 0 || strcmp(cmd, "/ahelp", true) == 0 || strcmp(cmd, "/levels", true) == 0) // List of admin commands
  4206. {
  4207. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  4208. {
  4209. SendClientMessage(playerid, YELLOW, " |- Server Admin Commands -|");
  4210. SendClientMessage(playerid, RED, "LEVEL 1[Test Moderator]: /freeze /unfreeze /kick /kill /goto ");
  4211. SendClientMessage(playerid, RED, "LEVEL 2[Moderator]: /(un)mute /pstats /warn /changepassword /logout");
  4212. SendClientMessage(playerid, RED, "LEVEL 3[Global Moderator]: /disarm /say /slap /virtual /gotoveh /push /settime");
  4213. SendClientMessage(playerid, RED, "LEVEL 4[Administrator]: /fuck /setwarn /announce /aclearchat /ban /teleport /setweather");
  4214. SendClientMessage(playerid, RED, "LEVEL 5[Global Administrator]: /crash /missile /setname");
  4215. SendClientMessage(playerid, RED, "LEVEL 6[Test Management]: /blockpm /setgravity /setscore /jail /unjail");
  4216. SendClientMessage(playerid, RED, "LEVEL 7[Second Management]: /givecash /kickall /pweapons");
  4217. SendClientMessage(playerid, RED, "LEVEL 8[Management]: /gmx /giveweapon ");
  4218. SendClientMessage(playerid, RED, "LEVEL 9[Second Owner]: /hide /view");
  4219. SendClientMessage(playerid, RED, "LEVEL 10[Owner]: /setlevel /get");
  4220. SendClientMessage(playerid, RED, "ADMIN CHAT: //");
  4221. }
  4222. else SendClientMessage(playerid, RED, "You are not an admin!");
  4223. return 1;
  4224. }
  4225.  
  4226. if (strcmp(cmd, "/admins", true) == 0)
  4227. {
  4228. new count = 0;
  4229. SendClientMessage(playerid, BLUE, " [Online Admins]");
  4230. for(new i = 0; i < MAX_PLAYERS; i++)
  4231. {
  4232. if (IsPlayerConnected(i))
  4233. {
  4234. if(AccountInfo[i][AdminLevel] >= 1 && AccountInfo[i][AdminLevel] <= 5 && Hide[i] == 0)
  4235. {
  4236. GetPlayerName(i, sendername, sizeof(sendername));
  4237. format(string, 128, "Level %d [%i]%s", AccountInfo[i][AdminLevel],i,sendername);
  4238. SendClientMessage(playerid, RED, string);
  4239. count++;
  4240. }
  4241. }
  4242. }
  4243. if (count == 0) SendClientMessage(playerid,YELLOW,"No admin online in the list");
  4244. return 1;
  4245. }
  4246.  
  4247. if (strcmp(cmd, "/register", true) == 0)
  4248. {
  4249. if(IsPlayerConnected(playerid))
  4250. {
  4251. if(AccountInfo[playerid][Logged] == 1)
  4252. {
  4253. SendClientMessage(playerid, RED, "You are already logged in.");
  4254. return 1;
  4255. }
  4256. GetPlayerName(playerid, sendername, sizeof(sendername));
  4257. format(string, sizeof(string), "/SchockAccounts/%s.Schock", sendername);
  4258. new File: hFile = fopen(string, io_read);
  4259. if (hFile)
  4260. {
  4261. SendClientMessage(playerid, RED, "That name is already taken. Please reconnect using a different username.");
  4262. fclose(hFile);
  4263. return 1;
  4264. }
  4265. new tmppass[128];
  4266. tmp = strtok(cmdtext, idx);
  4267. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /register [password]");
  4268. strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
  4269. OnPlayerRegister(playerid, MD5_Hash(tmppass));
  4270. }
  4271. return 1;
  4272. }
  4273.  
  4274. if (strcmp(cmd, "/login", true) == 0)
  4275. {
  4276. new tmppass[128];
  4277. if(AccountInfo[playerid][Logged] == 1) return SendClientMessage(playerid, RED, "You are already logged in.");
  4278. tmp = strtok(cmdtext, idx);
  4279. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /login [password]");
  4280. new plname[MAX_PLAYER_NAME];
  4281. GetPlayerName(playerid, plname, sizeof(plname));
  4282. format(string, sizeof(string), "/SchockAccounts/%s.Schock", plname);
  4283. if(!fexist(string)) return SendClientMessage(playerid, RED, "That account isn't registered! Please register: /register [password]");
  4284. strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
  4285. OnPlayerLogin(playerid, MD5_Hash(tmppass));
  4286. return 1;
  4287. }
  4288.  
  4289. if (!strcmp(cmd, "/changepassword", true))
  4290. {
  4291. if (!AccountInfo[playerid][Logged]) return SendClientMessage(playerid, RED, "You're not logged in.");
  4292. if (AccountInfo[playerid][AdminLevel] >= 2)
  4293. {
  4294. new oldpass[128];
  4295. oldpass = strtok(cmdtext, idx);
  4296. if(!strlen(oldpass)) return SendClientMessage(playerid, ORANGE, "USAGE: /changepassword [CURRENT PASSWORD] [new password]");
  4297. if (strcmp(MD5_Hash(oldpass), AccountInfo[playerid][Password], true)) return SendClientMessage(playerid, RED, "Invalid password.");
  4298. tmp = strtok(cmdtext, idx);
  4299. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /changepassword [current password] [NEW PASSWORD]");
  4300. format(oldpass, 128, "|- You've changed your password to '%s' -|", tmp);
  4301. SendClientMessage(playerid, LIGHTGREEN, oldpass);
  4302. strmid(AccountInfo[playerid][Password], MD5_Hash(tmp), 0, strlen(MD5_Hash(tmp)), 128);
  4303. }
  4304. return 1;
  4305. }
  4306.  
  4307. /*»»»»»»»»»»»»»»»»»»»»»»»»»»»» [WRONG COMMAND] «««««««««««««««««««««««««««*/
  4308. else
  4309. {
  4310. for(new i = 0; i < GetMaxPlayers(); i++)
  4311. {
  4312. if (IsPlayerConnected(i))
  4313. {
  4314. if (AccountInfo[i][AdminLevel] > 0 && ViewCmds[i] == 1)
  4315. {
  4316. GetPlayerName(playerid, sendername, sizeof sendername);
  4317. format(tmp, 128, "[VIEWCMDS] [%d]%s: %s", playerid, sendername, cmdtext);
  4318. SendClientMessage(i, PURPLE, tmp);
  4319. }
  4320. }
  4321. }
  4322. return 0;
  4323. }
  4324. }
  4325.  
  4326. public OnPlayerInfoChange(playerid)
  4327. {
  4328. return 1;
  4329. }
  4330.  
  4331. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  4332. {
  4333. return 1;
  4334. }
  4335.  
  4336. public OnPlayerExitVehicle(playerid, vehicleid)
  4337. {
  4338. KillTimer(cartimer[playerid]);
  4339. ResetPlayerWeapons(playerid);
  4340. return 1;
  4341. }
  4342.  
  4343. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  4344. {
  4345. if( newkeys == 1 || newkeys == 9 || newkeys == 33 && oldkeys != 1 || oldkeys != 9 || oldkeys != 33)
  4346. {
  4347. new Car = GetPlayerVehicleID(playerid), Model = GetVehicleModel(Car);
  4348. switch(Model)
  4349. {
  4350. case 446,432,448,452,424,453,454,461,462,463,468,471,430,472,449,473,481,484,493,495,509,510,521,538,522,523,532,537,570,581,586,590,569,595,604,611: return 0;
  4351. }
  4352. AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
  4353. }
  4354. return 1;
  4355. }
  4356.  
  4357.  
  4358. public OnPlayerEnterCheckpoint(playerid)
  4359. {
  4360. if(getCheckpointType(playerid)==TT_START)
  4361. {
  4362. if(IsVehicle(playerid) == 1)
  4363. {
  4364. SendClientMessage(playerid,GREEN,"You can use /startdown to start Downhill.");
  4365. return 1;
  4366. }
  4367. if(IsVehicle(playerid) == 0)
  4368. {
  4369. SendClientMessage(playerid,GREEN,"You must be in a Turismo to participate!");
  4370. return 1;
  4371. }
  4372. }
  4373.  
  4374. if (checkpoint == checkpoint)
  4375. {
  4376. SetVehiclePos(GetPlayerVehicleID(playerid), 368.4247,2464.4370,16.4844);
  4377. DisablePlayerCheckpoint(playerid);
  4378. }
  4379. return 1;
  4380.  
  4381. }
  4382.  
  4383. public OnPlayerLeaveCheckpoint(playerid)
  4384. {
  4385. return 1;
  4386. }
  4387.  
  4388. public OnPlayerEnterRaceCheckpoint(playerid)
  4389. {
  4390. new sec = Mototime[playerid]%60;
  4391. new mins = (Mototime[playerid]/60)%60;
  4392.  
  4393. if(MotoGP[playerid] == 1)
  4394. {
  4395. MotoGate[playerid]++;
  4396. new one = MAX_RACE_POINTS-1;
  4397. new two = MAX_RACE_POINTS;
  4398. if(MotoGate[playerid] < one)
  4399. {
  4400. DisablePlayerRaceCheckpoint(playerid);
  4401. SetPlayerRaceCheckpoint(playerid,0,racecheckpoints[MotoGate[playerid]][0],racecheckpoints[MotoGate[playerid]][1],racecheckpoints[MotoGate[playerid]][2],racecheckpoints[MotoGate[playerid]+1][0],racecheckpoints[MotoGate[playerid]+1][1],racecheckpoints[MotoGate[playerid]+1][2],10);
  4402.  
  4403. }
  4404. if(MotoGate[playerid] == one)
  4405. {
  4406. DisablePlayerRaceCheckpoint(playerid);
  4407. SetPlayerRaceCheckpoint(playerid,1,racecheckpoints[MotoGate[playerid]][0],racecheckpoints[MotoGate[playerid]][1],racecheckpoints[MotoGate[playerid]][2],racecheckpoints[0][0],racecheckpoints[0][1],racecheckpoints[0][2],10);
  4408. }
  4409. if(MotoGate[playerid] == two)
  4410. {
  4411. new TimeRec;
  4412. new Timestr[255];
  4413. new driver[24];
  4414. GetPlayerName(playerid,driver,sizeof(driver));
  4415. format(Timestr,sizeof(Timestr),"%s finished the Downhill in %d Mins, %d Seconds.",driver,mins,sec);
  4416. SendClientMessageToAll(WHITE,Timestr);
  4417. SendClientMessage(playerid,WHITE,"You can view the Top 5 Times with /times.");
  4418. printf(Timestr);
  4419. TimeRec=Mototime[playerid];
  4420. MotoGP[playerid] = 0;
  4421. MotoGate[playerid] = 0;
  4422. DisablePlayerRaceCheckpoint(playerid);
  4423. Mototime[playerid]=0;
  4424. UpdateList(playerid,TimeRec);
  4425. GivePlayerMoney(playerid ,2000);
  4426. }
  4427. }
  4428. return 1;
  4429. }
  4430.  
  4431. public OnPlayerLeaveRaceCheckpoint(playerid)
  4432. {
  4433. return 1;
  4434. }
  4435.  
  4436. public OnRconCommand(cmd[])
  4437. {
  4438. return 1;
  4439. }
  4440.  
  4441. public OnPlayerObjectMoved(playerid, objectid)
  4442. {
  4443. return 1;
  4444. }
  4445.  
  4446. public OnPlayerPickUpPickup(playerid, pickupid)
  4447. {
  4448. new string[128];
  4449. new pname[24];
  4450. GetPlayerName(playerid, pname, sizeof(pname));
  4451. if (pickupid == disco)
  4452. {
  4453. SendClientMessage(playerid, ORANGE, "Welcome to Disco");
  4454. SetPlayerPos(playerid, 497.5803,-22.4499,1000.6797);
  4455. SetPlayerInterior(playerid, 17);
  4456. ResetPlayerWeapons(playerid);
  4457. SetPlayerVirtualWorld(playerid, 0);
  4458. TogglePlayerControllable(playerid, 1);
  4459. format(string, sizeof(string), "[Disco]:%s has joint the Disco", pname);
  4460. SendClientMessageToAll(BLUE, string);
  4461. }
  4462.  
  4463. if(pickupid == discoa)
  4464. {
  4465. SetPlayerPos(playerid, -705.6593,2486.9209,478.2296);
  4466. SetPlayerInterior(playerid, 0);
  4467. ResetPlayerWeapons(playerid);
  4468. SetPlayerVirtualWorld(playerid, 0);
  4469. TogglePlayerControllable(playerid, 1);
  4470. }
  4471.  
  4472. if(pickupid == admin)
  4473. {
  4474. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  4475. {
  4476. SendClientMessage(playerid, ADMIN_RED, "[Gate]: Checking . . .");
  4477. SetTimer("GateOpen", 4000, 0);
  4478. }
  4479. else
  4480. {
  4481. SendClientMessage(playerid, ADMIN_RED, "[Gate]: Checking . . .");
  4482. }
  4483. }
  4484.  
  4485. if(pickupid == admina)
  4486. {
  4487. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  4488. {
  4489. SendClientMessage(playerid, ADMIN_RED, "[Gate]: Checking . . .");
  4490. SetTimer("GateOpen", 4000, 0);
  4491. }
  4492. else
  4493. {
  4494. SendClientMessage(playerid, ADMIN_RED, "[Gate]: Checking . . .");
  4495. }
  4496. }
  4497. return 1;
  4498. }
  4499.  
  4500. public OnPlayerSelectedMenuRow(playerid, row)
  4501. {
  4502. new Menu:CurrentMenu = GetPlayerMenu(playerid);
  4503. if(CurrentMenu == telemenu)
  4504. {
  4505. switch(row)
  4506. {
  4507. case 0: //start
  4508. {
  4509. ResetPlayerWeapons(playerid);
  4510. SetPlayerPos(playerid,-705.6593,2486.9209,478.2296);
  4511. SetPlayerInterior(playerid, 0);
  4512. SetPlayerVirtualWorld(playerid, 0);
  4513. TogglePlayerControllable(playerid, 1);
  4514. GameTextForPlayer(playerid,"Welcome to start",4000,6);
  4515. }
  4516.  
  4517. case 1: // stunt
  4518. {
  4519. ResetPlayerWeapons(playerid);
  4520. SetPlayerPos(playerid,427.8003,2528.5520,16.6525);
  4521. SetPlayerInterior(playerid, 0);
  4522. SetPlayerVirtualWorld(playerid, 0);
  4523. TogglePlayerControllable(playerid, 1);
  4524. GameTextForPlayer(playerid,"Welcome to Stuntpark",4000,6);
  4525. }
  4526.  
  4527. case 2: // trampolin
  4528. {
  4529. ResetPlayerWeapons(playerid);
  4530. SetPlayerPos(playerid,-1533.2158,-159.4083,215.0726);
  4531. SetPlayerInterior(playerid, 0);
  4532. SetPlayerVirtualWorld(playerid, 0);
  4533. TogglePlayerControllable(playerid, 1);
  4534. GameTextForPlayer(playerid,"Welcome to The Trampolin",4000,6);
  4535. }
  4536.  
  4537. case 3: // explosion
  4538. {
  4539. ResetPlayerWeapons(playerid);
  4540. SetPlayerPos(playerid,1450.6448,-2586.0203,213.1290);
  4541. SetPlayerInterior(playerid, 0);
  4542. SetPlayerVirtualWorld(playerid, 0);
  4543. TogglePlayerControllable(playerid, 1);
  4544. GameTextForPlayer(playerid,"don´t jump on the red barrels",4000,6);
  4545. }
  4546.  
  4547. case 4: // jump
  4548. {
  4549. ResetPlayerWeapons(playerid);
  4550. SetPlayerPos(playerid,1388.5457, -2555.7598, 1005.8674);
  4551. SetPlayerInterior(playerid, 0);
  4552. SetPlayerVirtualWorld(playerid, 0);
  4553. GivePlayerWeapon(playerid, 46, 1);
  4554. TogglePlayerControllable(playerid, 1);
  4555. GameTextForPlayer(playerid,"dont forgett to use your parachute!!!!",4000,6);
  4556. }
  4557.  
  4558. case 5: // military
  4559. {
  4560. ResetPlayerWeapons(playerid);
  4561. SetPlayerPos(playerid,321.0628,2015.7908,17.6406);
  4562. SetPlayerInterior(playerid, 0);
  4563. SetPlayerVirtualWorld(playerid, 0);
  4564. TogglePlayerControllable(playerid, 1);
  4565. GameTextForPlayer(playerid,"Vehicles are locked only use Patriot",4000,6);
  4566. }
  4567.  
  4568. case 6: // plane
  4569. {
  4570. ResetPlayerWeapons(playerid);
  4571. SetPlayerPos(playerid,2033.7158,-2521.8567,13.0669);
  4572. SetPlayerInterior(playerid, 0);
  4573. SetPlayerVirtualWorld(playerid, 0);
  4574. TogglePlayerControllable(playerid, 1);
  4575. GameTextForPlayer(playerid,"here you can fly",4000,6);
  4576. }
  4577. case 7: // plane
  4578. {
  4579. ResetPlayerWeapons(playerid);
  4580. SetPlayerPos(playerid,-1462.6810,1077.9928,7.1875);
  4581. SetPlayerInterior(playerid, 0);
  4582. SetPlayerVirtualWorld(playerid, 0);
  4583. TogglePlayerControllable(playerid, 1);
  4584. GameTextForPlayer(playerid,"Play on water",4000,6);
  4585. }
  4586. case 8: // adminplace
  4587. {
  4588. ResetPlayerWeapons(playerid);
  4589. SetPlayerPos(playerid,1067.3259,1376.1401,10.7589);
  4590. SetPlayerInterior(playerid, 0);
  4591. SetPlayerVirtualWorld(playerid, 0);
  4592. TogglePlayerControllable(playerid, 1);
  4593. }
  4594. case 9: // page 2
  4595. {
  4596. ShowMenuForPlayer(telemenu2, playerid);
  4597. }
  4598. }
  4599. }
  4600. if(CurrentMenu == telemenu2)
  4601. {
  4602. switch(row)
  4603. {
  4604. case 0: //mount chiliad
  4605. {
  4606. SetPlayerPos(playerid,-2371.1514,-1623.1215,491.2560);
  4607. SetPlayerInterior(playerid, 0);
  4608. ResetPlayerWeapons(playerid);
  4609. SetPlayerArmour(playerid, 0);
  4610. SetPlayerVirtualWorld(playerid, 0);
  4611. TogglePlayerControllable(playerid, 1);
  4612. }
  4613. case 1: // speed
  4614. {
  4615. SetPlayerPos(playerid,2362.390381,2321.797363,2862.761963);
  4616. SetPlayerInterior(playerid, 0);
  4617. ResetPlayerWeapons(playerid);
  4618. SetPlayerVirtualWorld(playerid, 0);
  4619. TogglePlayerControllable(playerid, 1);
  4620. }
  4621. case 2: //race
  4622. {
  4623. SetPlayerPos(playerid,-290.1812,1536.6646,75.5625);
  4624. SetPlayerInterior(playerid, 0);
  4625. ResetPlayerWeapons(playerid);
  4626. SetPlayerVirtualWorld(playerid, 0);
  4627. TogglePlayerControllable(playerid, 1);
  4628. }
  4629. }
  4630. }
  4631. return 1;
  4632. }
  4633.  
  4634. public OnPlayerExitedMenu(playerid)
  4635. {
  4636. TogglePlayerControllable(playerid, 1);
  4637. new Menu:Current = GetPlayerMenu(playerid);
  4638. HideMenuForPlayer(Current,playerid);
  4639. return 1;
  4640. }
  4641.  
  4642. public GlobalAnnouncement()
  4643. {
  4644. switch (Msg)
  4645. {
  4646. case 0: {SendClientMessageToAll(GREEN,Announcements[0]); Msg++;}
  4647. case 1: {SendClientMessageToAll(GREEN,Announcements[1]); Msg++;}
  4648. case 2: {SendClientMessageToAll(GREEN,Announcements[2]); Msg++;}
  4649. case 3: {SendClientMessageToAll(GREEN,Announcements[3]); Msg++;}
  4650. case 4: {SendClientMessageToAll(GREEN,Announcements[4]); Msg = 0;}
  4651. }
  4652. return 1;
  4653. }
  4654.  
  4655.  
  4656. OnPlayerJailed(playerid)
  4657. {
  4658. SetPlayerInterior(playerid, 6);
  4659. SetPlayerPos(playerid, 264.3700,77.5700,1001.0391);
  4660. SetPlayerFacingAngle(playerid, 272.6900);
  4661. TogglePlayerControllable(playerid, 0);
  4662. return 1;
  4663. }
  4664.  
  4665. OnPlayerUnjailed(playerid)
  4666. {
  4667. SetPlayerInterior(playerid, 6);
  4668. SetPlayerPos(playerid, 266.9272,78.6098,1001.0391);
  4669. SetPlayerFacingAngle(playerid, 266.9169);
  4670. TogglePlayerControllable(playerid, 1);
  4671. return 1;
  4672. }
  4673.  
  4674. public CountDown()
  4675. {
  4676. if (Count > 0)
  4677. {
  4678. new str[5];
  4679. format(str, sizeof str, "~w~%d", Count);
  4680. GameTextForAll(str,2500,3);
  4681. Count--;
  4682. SetTimer("CountDown",1000,0);
  4683. }
  4684. else
  4685. {
  4686. GameTextForAll("~g~~h~Go ~w~!!",2500,3);
  4687. Count = 999;
  4688. }
  4689. return 1;
  4690. }
  4691.  
  4692. public OnPlayerStateChange(playerid, newstate, oldstate)
  4693. {
  4694. if(newstate == PLAYER_STATE_DRIVER)
  4695. {
  4696. new newcar = GetPlayerVehicleID(playerid);
  4697. if(newcar == 3 || newcar == 4 || newcar == 5 || newcar == 6 || newcar == 7 || newcar == 8 || newcar == 9 || newcar == 10 || newcar == 11 || newcar == 12 || newcar == 93)
  4698. {
  4699. if (IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 1)
  4700. {
  4701. SendClientMessage(playerid, GREEN, "Welcome to Adminvehicle");
  4702. }
  4703. else
  4704. {
  4705. RemovePlayerFromVehicle(playerid);
  4706. SendClientMessage(playerid, RED, "You must be Admin to drive this vihicle");
  4707. }
  4708. }
  4709. }
  4710. if (MotoGP[playerid] == 1 && (newstate == 1 && oldstate == 2))
  4711. {
  4712. new name[24];
  4713. new fstr[255];
  4714. GetPlayerName(playerid,name,sizeof(name));
  4715. format(fstr,sizeof(fstr),"%s has failed the test",name);
  4716. SendClientMessageToAll(WHITE,fstr);
  4717. MotoGP[playerid] = 0;
  4718. MotoGate[playerid] = 0;
  4719. DisablePlayerRaceCheckpoint(playerid);
  4720. Mototime[playerid]=0;
  4721. }
  4722. return 1;
  4723. }
  4724.  
  4725. public AdminHealth(playerid)
  4726. {
  4727. SetPlayerHealth(playerid,10000000);
  4728. SetPlayerArmour(playerid,10000000);
  4729. return 1;
  4730. }
  4731.  
  4732. public UpdateClock()
  4733. {
  4734. new Hour,Minute,Sec,String[256];
  4735. gettime(Hour,Minute,Sec);
  4736. if(Hour<9 && Minute<9){format(String,sizeof(String),"0%d:0%d",Hour,Minute);}
  4737. else if(Hour>9 && Minute<9){format(String,sizeof(String),"%d:0%d",Hour,Minute);}
  4738. else if(Hour<9 && Minute>9){format(String,sizeof(String),"0%d:%d",Hour,Minute);}
  4739. else{format(String,sizeof(String),"%d:%d",Hour,Minute);}
  4740. TextDrawSetString(RealClock,String);
  4741. return 1;
  4742. }
  4743.  
  4744. public ScoreUpdate()
  4745. {
  4746. for(new i=0; i < GetMaxPlayers(); i++)
  4747. {
  4748. SetPlayerScore(i, GetPlayerMoney(i) / 2000);
  4749. }
  4750. }
  4751.  
  4752. public GateClose()
  4753. {
  4754. MoveObject(admingate,1067.368042, 1357.989380, 12.447979, 3.5);
  4755. return 1;
  4756. }
  4757.  
  4758. public GateOpen(playerid)
  4759. {
  4760. for(new i=0; i < GetMaxPlayers(); i++)
  4761. {
  4762. MoveObject(admingate,1067.368042, 1357.989380, 6.322992, 3.5);
  4763. SetTimer("GateClose", 5000, 0);
  4764. }
  4765. return 1;
  4766. }
  4767.  
  4768. public Hack(playerid)
  4769. {
  4770. for(new i, Float:fl; i < MAX_PLAYERS; i++)
  4771. {
  4772. new string[128];
  4773. new Hour, Minute, Second;
  4774. new pname[24];
  4775. gettime(Hour, Minute, Second);
  4776. GetPlayerName(i, pname, sizeof(pname));
  4777. if((AccountInfo[i][AdminLevel] <= 1) && GetPlayerArmour(i, fl) && fl > 0.0)
  4778. {
  4779. format(string, sizeof(string), "[Anti Armour]:%s was kicked cause he is a fucking Hacker [Time: %02d:%02d:%02d]", pname, Hour, Minute, Second);
  4780. SendClientMessageToAll(ADMIN_RED, string);
  4781. AccountInfo[i][Jail] = 1;
  4782. Kick(i);
  4783. KickLog(string);
  4784. }
  4785. }
  4786. return 1;
  4787. }
  4788.  
  4789. public CarHealth(playerid)
  4790. {
  4791. SetVehicleHealth(GetPlayerVehicleID(playerid), Float:1000.0);
  4792. return 1;
  4793. }
  4794.  
  4795. public WeaponCheck()
  4796. {
  4797. new Hour, Minute, Second;
  4798. new string[128];
  4799. gettime(Hour, Minute, Second);
  4800. for(new i; i<MAX_PLAYERS; i++)
  4801. {
  4802. if (AccountInfo[i][AdminLevel] >= 1 || IsPlayerAdmin(i))
  4803. {
  4804. }
  4805. else
  4806. {
  4807. if (GetPlayerVirtualWorld(i) == 0)
  4808. {
  4809. new weapon;
  4810. new ammo;
  4811. GetPlayerWeaponData(i, 7, weapon, ammo);
  4812. if(weapon == 38 && ammo >= 1)
  4813. {
  4814. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Minigun) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4815. SendClientMessageToAll(RED, string);
  4816. AccountInfo[i][Jail] = 1;
  4817. Kick(i);
  4818. KickLog(string);
  4819. }
  4820. if(weapon == 37 && ammo >= 1)
  4821. {
  4822. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Flamethrower) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4823. SendClientMessageToAll(RED, string);
  4824. AccountInfo[i][Jail] = 1;
  4825. Kick(i);
  4826. KickLog(string);
  4827. }
  4828. if(weapon == 36 && ammo >= 1)
  4829. {
  4830. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (HS Rocket Launcher) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4831. SendClientMessageToAll(RED, string);
  4832. AccountInfo[i][Jail] = 1;
  4833. Kick(i);
  4834. KickLog(string);
  4835. }
  4836. if(weapon == 35 && ammo >= 1)
  4837. {
  4838. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Rocket Launcher) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4839. SendClientMessageToAll(RED, string);
  4840. AccountInfo[i][Jail] = 1;
  4841. Kick(i);
  4842. KickLog(string);
  4843. }
  4844. GetPlayerWeaponData(i, 5, weapon, ammo);
  4845. if(weapon == 31 && ammo >= 1)
  4846. {
  4847. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (M4) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4848. SendClientMessageToAll(RED, string);
  4849. Kick(i);
  4850. KickLog(string);
  4851. }
  4852. if(weapon == 30 && ammo >= 1)
  4853. {
  4854. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (AK47) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4855. SendClientMessageToAll(RED, string);
  4856. Kick(i);
  4857. KickLog(string);
  4858. }
  4859. GetPlayerWeaponData(i, 6, weapon, ammo);
  4860. if(weapon == 34 && ammo >= 1)
  4861. {
  4862. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Sniper Rifle) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4863. SendClientMessageToAll(RED, string);
  4864. AccountInfo[i][Jail] = 1;
  4865. Kick(i);
  4866. KickLog(string);
  4867. }
  4868. if(weapon == 33 && ammo >= 1)
  4869. {
  4870. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Country Rifle) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4871. SendClientMessageToAll(RED, string);
  4872. AccountInfo[i][Jail] = 1;
  4873. Kick(i);
  4874. KickLog(string);
  4875. }
  4876. GetPlayerWeaponData(i, 9, weapon, ammo);
  4877. if(weapon == 42 && ammo >= 1)
  4878. {
  4879. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Fire Extinguisher) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4880. SendClientMessageToAll(RED, string);
  4881. AccountInfo[i][Jail] = 1;
  4882. Kick(i);
  4883. KickLog(string);
  4884. }
  4885. if(weapon == 41 && ammo >= 1)
  4886. {
  4887. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Spraycan) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4888. SendClientMessageToAll(RED, string);
  4889. AccountInfo[i][Jail] = 1;
  4890. Kick(i);
  4891. KickLog(string);
  4892. }
  4893. GetPlayerWeaponData(i, 4, weapon, ammo);
  4894. if(weapon == 32 && ammo >= 1)
  4895. {
  4896. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Tec9) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4897. SendClientMessageToAll(RED, string);
  4898. AccountInfo[i][Jail] = 1;
  4899. Kick(i);
  4900. KickLog(string);
  4901. }
  4902. if(weapon == 29 && ammo >= 1)
  4903. {
  4904. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (MP5) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4905. SendClientMessageToAll(RED, string);
  4906. AccountInfo[i][Jail] = 1;
  4907. Kick(i);
  4908. KickLog(string);
  4909. }
  4910. if(weapon == 28 && ammo >= 1)
  4911. {
  4912. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Micro SMG) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4913. SendClientMessageToAll(RED, string);
  4914. AccountInfo[i][Jail] = 1;
  4915. Kick(i);
  4916. KickLog(string);
  4917. }
  4918. GetPlayerWeaponData(i, 3, weapon, ammo);
  4919. if(weapon == 27 && ammo >= 1)
  4920. {
  4921. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Combat Shotgun) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4922. SendClientMessageToAll(RED, string);
  4923. AccountInfo[i][Jail] = 1;
  4924. Kick(i);
  4925. KickLog(string);
  4926. }
  4927. if(weapon == 26 && ammo >= 1)
  4928. {
  4929. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Sawnoff Shotgun) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4930. SendClientMessageToAll(RED, string);
  4931. AccountInfo[i][Jail] = 1;
  4932. Kick(i);
  4933. KickLog(string);
  4934. }
  4935. if(weapon == 25 && ammo >= 1)
  4936. {
  4937. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Shotgun) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4938. SendClientMessageToAll(RED, string);
  4939. Kick(i);
  4940. KickLog(string);
  4941. }
  4942. GetPlayerWeaponData(i, 2, weapon, ammo);
  4943. if(weapon == 24 && ammo >= 1)
  4944. {
  4945. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Desert Eagle) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4946. SendClientMessageToAll(RED, string);
  4947. Kick(i);
  4948. KickLog(string);
  4949. }
  4950. if(weapon == 23 && ammo >= 1)
  4951. {
  4952. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Silenced 9mm) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4953. SendClientMessageToAll(RED, string);
  4954. Kick(i);
  4955. KickLog(string);
  4956. }
  4957. if(weapon == 22 && ammo >= 1)
  4958. {
  4959. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (9mm) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4960. SendClientMessageToAll(RED, string);
  4961. AccountInfo[i][Jail] = 1;
  4962. Kick(i);
  4963. KickLog(string);
  4964. }
  4965. GetPlayerWeaponData(i, 8, weapon, ammo);
  4966. if(weapon == 18 && ammo >= 1)
  4967. {
  4968. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Molotov Cocktail) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4969. SendClientMessageToAll(RED, string);
  4970. AccountInfo[i][Jail] = 1;
  4971. Kick(i);
  4972. KickLog(string);
  4973. }
  4974. if(weapon == 17 && ammo >= 1)
  4975. {
  4976. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Tear Gas) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4977. SendClientMessageToAll(RED, string);
  4978. AccountInfo[i][Jail] = 1;
  4979. Kick(i);
  4980. KickLog(string);
  4981. }
  4982. if(weapon == 16 && ammo >= 1)
  4983. {
  4984. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Grenade) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4985. SendClientMessageToAll(RED, string);
  4986. AccountInfo[i][Jail] = 1;
  4987. Kick(i);
  4988. KickLog(string);
  4989. }
  4990. GetPlayerWeaponData(i, 10, weapon, ammo);
  4991. if(weapon == 15)
  4992. {
  4993. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Cane) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  4994. SendClientMessageToAll(RED, string);
  4995. AccountInfo[i][Jail] = 1;
  4996. Kick(i);
  4997. KickLog(string);
  4998. }
  4999. if(weapon == 14)
  5000. {
  5001. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Flowers) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  5002. SendClientMessageToAll(RED, string);
  5003. AccountInfo[i][Jail] = 1;
  5004. Kick(i);
  5005. KickLog(string);
  5006. }
  5007. if(weapon == 13)
  5008. {
  5009. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Silver Vibrator) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  5010. SendClientMessageToAll(RED, string);
  5011. AccountInfo[i][Jail] = 1;
  5012. Kick(i);
  5013. KickLog(string);
  5014. }
  5015. if(weapon == 12)
  5016. {
  5017. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Large White Vibrator) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  5018. SendClientMessageToAll(RED, string);
  5019. AccountInfo[i][Jail] = 1;
  5020. Kick(i);
  5021. KickLog(string);
  5022. }
  5023. if(weapon == 11)
  5024. {
  5025. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Small White Vibrator) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  5026. SendClientMessageToAll(RED, string);
  5027. AccountInfo[i][Jail] = 1;
  5028. Kick(i);
  5029. KickLog(string);
  5030. }
  5031. if(weapon == 10)
  5032. {
  5033. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Purple Dildo) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  5034. SendClientMessageToAll(RED, string);
  5035. AccountInfo[i][Jail] = 1;
  5036. Kick(i);
  5037. KickLog(string);
  5038. }
  5039. GetPlayerWeaponData(i, 1, weapon, ammo);
  5040. if(weapon == 9)
  5041. {
  5042. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Chainsaw) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  5043. SendClientMessageToAll(RED, string);
  5044. Kick(i);
  5045. KickLog(string);
  5046. }
  5047. if(weapon == 8)
  5048. {
  5049. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Katana) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  5050. SendClientMessageToAll(RED, string);
  5051. AccountInfo[i][Jail] = 1;
  5052. Kick(i);
  5053. KickLog(string);
  5054. }
  5055. if(weapon == 7)
  5056. {
  5057. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Pool Cue) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  5058. SendClientMessageToAll(RED, string);
  5059. AccountInfo[i][Jail] = 1;
  5060. Kick(i);
  5061. KickLog(string);
  5062. }
  5063. if(weapon == 6)
  5064. {
  5065. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Shovel) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  5066. SendClientMessageToAll(RED, string);
  5067. AccountInfo[i][Jail] = 1;
  5068. Kick(i);
  5069. KickLog(string);
  5070. }
  5071. if(weapon == 5)
  5072. {
  5073. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Baseball Bat) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  5074. SendClientMessageToAll(RED, string);
  5075. AccountInfo[i][Jail] = 1;
  5076. Kick(i);
  5077. KickLog(string);
  5078. }
  5079. if(weapon == 4)
  5080. {
  5081. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Knife) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  5082. SendClientMessageToAll(RED, string);
  5083. AccountInfo[i][Jail] = 1;
  5084. Kick(i);
  5085. KickLog(string);
  5086. }
  5087. if(weapon == 3)
  5088. {
  5089. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Nite Stick) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  5090. SendClientMessageToAll(RED, string);
  5091. AccountInfo[i][Jail] = 1;
  5092. Kick(i);
  5093. KickLog(string);
  5094. }
  5095. if(weapon == 2)
  5096. {
  5097. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Golf Club) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  5098. SendClientMessageToAll(RED, string);
  5099. AccountInfo[i][Jail] = 1;
  5100. Kick(i);
  5101. KickLog(string);
  5102. }
  5103. GetPlayerWeaponData(i, 0, weapon, ammo);
  5104. if(weapon == 1)
  5105. {
  5106. format(string, sizeof(string), "[Anti Weapon]: %s (id:%d) was kicked cause he is a fucking CHEATER (Brass Knuckles) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  5107. SendClientMessageToAll(RED, string);
  5108. AccountInfo[i][Jail] = 1;
  5109. Kick(i);
  5110. KickLog(string);
  5111. }
  5112. }
  5113. }
  5114. }
  5115. return 1;
  5116. }
  5117.  
  5118. public AntiJetpack()
  5119. {
  5120. new string[128];
  5121. new Hour, Minute, Second;
  5122. gettime(Hour, Minute, Second);
  5123. for(new i; i < MAX_PLAYERS; i++)
  5124. {
  5125. if(IsPlayerConnected(i))
  5126. {
  5127. if(GetPlayerSpecialAction(i) == 2)
  5128. {
  5129. format(string,sizeof(string), "[Anti Jetpack]: %s (id:%d) was kicked cause he is a fucking CHEATER (JetPack) [Time: %02d:%02d:%02d]", GetName(i), i, Hour, Minute, Second);
  5130. SendClientMessageToAll(RED, string);
  5131. AccountInfo[i][Jail] = 1;
  5132. Kick(i);
  5133. KickLog(string);
  5134. }
  5135. }
  5136. }
  5137. return 1;
  5138. }
  5139.  
  5140. stock GetName(playerid)
  5141. {
  5142. new name[MAX_PLAYER_NAME];
  5143. GetPlayerName(playerid,name,sizeof(name));
  5144.  
  5145. return name;
  5146. }
  5147.  
  5148. public SaveTimes()
  5149. {
  5150. print("[race] Downhill Times Saved.");
  5151. new File: hFile = fopen("DownhillTimes.cfg", io_write);
  5152. if (hFile)
  5153. {
  5154. for(new t= 0; t<5; t++)
  5155. {
  5156. new var[32];
  5157. format(var, 32, "%s\n",KartHS[t][Driver]);fwrite(hFile, var);
  5158. format(var, 32, "%d\n",KartHS[t][Time]);fwrite(hFile, var);
  5159. }
  5160. }
  5161. fclose(hFile);
  5162. return 1;
  5163. }
  5164. public LoadTimes()
  5165. {
  5166. print("[race] Downhill Times Loaded.");
  5167. new File: file = fopen("DownhillTimes.cfg", io_read);
  5168. if (file)
  5169. {
  5170. new valtmp[128];
  5171. for(new t=0; t<5; t++)
  5172. {
  5173. fread(file, valtmp);strmid(KartHS[t][Driver], valtmp, 0, strlen(valtmp)-1, 128);DelPrint(valtmp);
  5174. fread(file, valtmp);KartHS[t][Time] = strval(valtmp);DelPrint(valtmp);
  5175. }
  5176. }
  5177. return 1;
  5178. }
  5179.  
  5180. public UpdateList(playerid, TimeRec)
  5181. {
  5182. new driver[24];
  5183. GetPlayerName(playerid,driver,sizeof(driver));
  5184. if(KartHS[0][Time] > TimeRec)
  5185. {
  5186. KartHS[4][Time] = KartHS[3][Time];
  5187. strmid(KartHS[4][Driver],KartHS[3][Driver],0,sizeof(driver),24);
  5188. KartHS[3][Time] = KartHS[2][Time];
  5189. strmid(KartHS[3][Driver],KartHS[2][Driver],0,sizeof(driver),24);
  5190. KartHS[2][Time] = KartHS[1][Time];
  5191. strmid(KartHS[2][Driver],KartHS[1][Driver],0,sizeof(driver),24);
  5192. KartHS[1][Time] = KartHS[0][Time];
  5193. strmid(KartHS[1][Driver],KartHS[0][Driver],0,sizeof(driver),24);
  5194. KartHS[0][Time] = TimeRec;
  5195. strmid(KartHS[0][Driver],driver,0,sizeof(driver),24);
  5196. SendClientMessage(playerid,GREY,"Your Time Was 1st Overall!");
  5197. }
  5198. else if(KartHS[1][Time] > TimeRec)
  5199. {
  5200. KartHS[4][Time] = KartHS[3][Time];
  5201. strmid(KartHS[4][Driver],KartHS[3][Driver],0,sizeof(driver),24);
  5202. KartHS[3][Time] = KartHS[2][Time];
  5203. strmid(KartHS[3][Driver],KartHS[2][Driver],0,sizeof(driver),24);
  5204. KartHS[2][Time] = KartHS[1][Time];
  5205. strmid(KartHS[2][Driver],KartHS[1][Driver],0,sizeof(driver),24);
  5206. KartHS[1][Time] = TimeRec;
  5207. strmid(KartHS[1][Driver],driver,0,sizeof(driver),24);
  5208. SendClientMessage(playerid,GREY,"Your Time Was 2nd Overall!");
  5209. }
  5210. else if(KartHS[2][Time] > TimeRec)
  5211. {
  5212. KartHS[4][Time] = KartHS[3][Time];
  5213. strmid(KartHS[4][Driver],KartHS[3][Driver],0,sizeof(driver),24);
  5214. KartHS[3][Time] = KartHS[2][Time];
  5215. strmid(KartHS[3][Driver],KartHS[2][Driver],0,sizeof(driver),24);
  5216. KartHS[2][Time] = TimeRec;
  5217. strmid(KartHS[2][Driver],driver,0,sizeof(driver),24);
  5218. SendClientMessage(playerid,GREY,"Your Time Was 3rd Overall!");
  5219. }
  5220. else if(KartHS[3][Time] > TimeRec)
  5221. {
  5222. KartHS[4][Time] = KartHS[3][Time];
  5223. strmid(KartHS[4][Driver],KartHS[3][Driver],0,sizeof(driver),24);
  5224. KartHS[3][Time] = TimeRec;
  5225. strmid(KartHS[3][Driver],driver,0,sizeof(driver),24);
  5226. SendClientMessage(playerid,GREY,"Your Time Was 4th Overall!");
  5227. }
  5228. else if(KartHS[4][Time] > TimeRec)
  5229. {
  5230. KartHS[4][Time] = TimeRec;
  5231. strmid(KartHS[4][Driver],driver,0,sizeof(driver),24);
  5232. SendClientMessage(playerid,GREY,"Your Time Was 5th Overall!");
  5233. }
  5234. SaveTimes();
  5235. LoadTimes();
  5236. return 1;
  5237. }
  5238. public CheckpointUpdate()
  5239. {
  5240. for(new i; i<MAX_PLAYERS; i++)
  5241. {
  5242. if(MotoGP[i] == 0)
  5243. {
  5244. for(new j=0; j < 1; j++) {
  5245. if(PlayerToPoint(25,i,checkpoints[j][0],checkpoints[j][1],checkpoints[j][2])) {
  5246. if(playerCheckpoint[i]!=j) {
  5247. DisablePlayerCheckpoint(i);
  5248. SetPlayerCheckpoint(i, checkpoints[j][0],checkpoints[j][1],checkpoints[j][2],5);
  5249. playerCheckpoint[i] = j;
  5250. }
  5251. } else {
  5252. if(playerCheckpoint[i]==j) {
  5253. DisablePlayerCheckpoint(i);
  5254. playerCheckpoint[i] = 999;
  5255. }
  5256. }
  5257. }
  5258. }
  5259. }
  5260. }
  5261.  
  5262. public GPRaceCountdown()
  5263. {
  5264. for(new x=0; x<MAX_PLAYERS; x++)
  5265. {
  5266. if(Motocountdown[x] > 0)
  5267. {
  5268. new time[3];
  5269. Motocountdown[x]--;
  5270. format(time,sizeof(time),"%d",Motocountdown[x]);
  5271. GameTextForPlayer(x,time,1200,3);
  5272. }
  5273. if(Motocountdown[x] == 0)
  5274. {
  5275. GameTextForPlayer(x,"GO!",1200,3);
  5276. TogglePlayerControllable(x,1);
  5277. Motocountdown[x]--;
  5278. Mototime[x]=0;
  5279. MotoGP[x]=1;
  5280. }
  5281. }
  5282. }
  5283. public GPTimer()
  5284. {
  5285. for(new i=0; i<MAX_PLAYERS; i++)
  5286. {
  5287. new progress[255];
  5288. new sec = Mototime[i]%60;
  5289. new mins = (Mototime[i]/60)%60;
  5290. if(MotoGP[i] == 1)
  5291. {
  5292. Mototime[i]++;
  5293.  
  5294. if(sec > 9 ) { format(progress,sizeof(progress),"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~b~Race %d/%d Checkpoints Achieved. Current Time: %d:%d",MotoGate[i],cps,mins,sec);}
  5295. if(sec <10 ) { format(progress,sizeof(progress),"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~b~Race: %d/%d Checkpoints Achieved. Current Time: %d:0%d",MotoGate[i],cps,mins,sec);}
  5296. GameTextForPlayer(i,progress,1200,3);
  5297. }
  5298. }
  5299. }
  5300.  
  5301. public RaceOpen()
  5302. {
  5303. MoveStreamObject(racegate,-302.315216,1507.077026,68.863815, 1);
  5304. SetTimer("RaceClose", 5000, 0);
  5305. return 1;
  5306. }
  5307.  
  5308. public RaceClose()
  5309. {
  5310. MoveStreamObject(racegate,-302.315216,1507.077026,73.538872, 1);
  5311. return 1;
  5312. }
  5313.  
  5314. /*public LoginCheck()
  5315. {
  5316. for(new i=0; i<MAX_PLAYERS; i++)
  5317. if(AccountInfo[i][Logged] == 1)
  5318. {
  5319. }
  5320. else
  5321. {
  5322. SendClientMessage(i, RED, "You have been kicked because you havn´t logged in");
  5323. Kick(i);
  5324. }
  5325. return 1;
  5326. }
  5327.  
  5328. public LoginCheck2()
  5329. {
  5330. for(new i=0; i<MAX_PLAYERS; i++)
  5331. if(AccountInfo[i][Logged] == 1)
  5332. {
  5333. SendClientMessage(i, RED, "Login-Timer stoped");
  5334. }
  5335. else
  5336. {
  5337. SendClientMessage(i, RED, "You have now 1 minute to login ... /register , /login");
  5338. SetTimer("LoginCheck", 60000, 0);
  5339. }
  5340. return 1;
  5341. }
  5342. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement