Advertisement
Guest User

Untitled

a guest
Jun 15th, 2017
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 281.63 KB | None | 0 0
  1. // Terrastunt by TerraNova
  2.  
  3. #include <a_samp>
  4. #include <md5>
  5. #include <bfx_objects>
  6. #include <JunkBuster>
  7. //**COLORS*//
  8. #define DRIFT_MINKAT 10.0
  9. #define DRIFT_MAXKAT 90.0
  10. #define DRIFT_SPEED 30.0
  11. #define COLOR_Label 0xFFFFFFFF
  12. #define COLOR_LabelOut 0x00000040
  13. #define COLOR_ValueOut 0xFFFFFF40
  14. #define COLOR_Value 0x000000FF
  15. #define Label_X 500
  16. #define Value_X 500
  17. #define TD_Y 100
  18. #define RATIO 1.002
  19. #define COLOR_LIGHTBLUE 0x33CCFFAA
  20. #define COLOR_WHITE 0xFFFFFFAA
  21. #define COLOR_YELLOW 0xFFFF00AA
  22. #define LIGHT_BLUE 0x33CCFFAA
  23. #define GELTONA 0xFFFF00FF
  24. #define BALTA 0xFFFFFFFF
  25. #define COLOR_GREY 0xAFAFAFAA
  26. #define COLOR_ORANGE 0xFF9900AA
  27. #define ADMIN_RED 0xFB0000FF
  28. #define YELLOW 0xFFFF00FF
  29. #define ORANGE 0xF97804FF
  30. #define LIGHTRED 0xFF8080FF
  31. #define LIGHTBLUE 0x00C2ECFF
  32. #define PURPLE 0xB360FDFF
  33. #define BLUE 0x1229FAFF
  34. #define LIGHTGREEN 0x38FF06FF
  35. #define DARKPINK 0xE100E1FF
  36. #define DARKGREEN 0x008040FF
  37. #define AQUAGREEN 0x00CACAFB
  38. #define NICESKY 0x99FFFFAA
  39. #define GREY 0xCECECEFF
  40. #define WHITE 0xFFFFFFFF
  41. #define CreateObject b_CreateObject
  42. #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  43. //**MISC**//
  44. //#define LOGIN_BEFORE_SPAWN // If uncommented, players will have to login before spawning if their account exists. If commented, they can spawn without logging in.
  45. //#define ENABLE_AUTO_LOGIN // LEAVE IT COMMENTED(BUGGED) -- Allows you to auto-login when you connect if you had the same IP as previous login.
  46.  
  47. #pragma tabsize 0
  48. //**VARIABLES**//
  49. enum Info
  50. {
  51. AdminLevel,
  52. Password[128],
  53. Cash,
  54. Warns,
  55. Jail,
  56. Logged,
  57. Mute,
  58. WarnReason1[128],
  59. WarnReason2[128],
  60. WarnReason3[128],
  61. IP[20],
  62. Level,
  63. };
  64. new ViewCommands[2][128] = // 2 = amount of commands to view
  65. {
  66. {"/admins"},
  67. {"/count"}
  68. };
  69. new VehNames[212][] = { // Vehicle Names - Betamaster
  70. {"Landstalker"},
  71. {"Bravura"},
  72. {"Buffalo"},
  73. {"Linerunner"},
  74. {"Perrenial"},
  75. {"Sentinel"},
  76. {"Dumper"},
  77. {"Firetruck"},
  78. {"Trashmaster"},
  79. {"Stretch"},
  80. {"Manana"},
  81. {"Infernus"},
  82. {"Voodoo"},
  83. {"Pony"},
  84. {"Mule"},
  85. {"Cheetah"},
  86. {"Ambulance"},
  87. {"Leviathan"},
  88. {"Moonbeam"},
  89. {"Esperanto"},
  90. {"Taxi"},
  91. {"Washington"},
  92. {"Bobcat"},
  93. {"Mr Whoopee"},
  94. {"BF Injection"},
  95. {"Hunter"},
  96. {"Premier"},
  97. {"Enforcer"},
  98. {"Securicar"},
  99. {"Banshee"},
  100. {"Predator"},
  101. {"Bus"},
  102. {"Rhino"},
  103. {"Barracks"},
  104. {"Hotknife"},
  105. {"Trailer 1"}, //artict1
  106. {"Previon"},
  107. {"Coach"},
  108. {"Cabbie"},
  109. {"Stallion"},
  110. {"Rumpo"},
  111. {"RC Bandit"},
  112. {"Romero"},
  113. {"Packer"},
  114. {"Monster"},
  115. {"Admiral"},
  116. {"Squalo"},
  117. {"Seasparrow"},
  118. {"Pizzaboy"},
  119. {"Tram"},
  120. {"Trailer 2"}, //artict2
  121. {"Turismo"},
  122. {"Speeder"},
  123. {"Reefer"},
  124. {"Tropic"},
  125. {"Flatbed"},
  126. {"Yankee"},
  127. {"Caddy"},
  128. {"Solair"},
  129. {"Berkley's RC Van"},
  130. {"Skimmer"},
  131. {"PCJ-600"},
  132. {"Faggio"},
  133. {"Freeway"},
  134. {"RC Baron"},
  135. {"RC Raider"},
  136. {"Glendale"},
  137. {"Oceanic"},
  138. {"Sanchez"},
  139. {"Sparrow"},
  140. {"Patriot"},
  141. {"Quad"},
  142. {"Coastguard"},
  143. {"Dinghy"},
  144. {"Hermes"},
  145. {"Sabre"},
  146. {"Rustler"},
  147. {"ZR-350"},
  148. {"Walton"},
  149. {"Regina"},
  150. {"Comet"},
  151. {"BMX"},
  152. {"Burrito"},
  153. {"Camper"},
  154. {"Marquis"},
  155. {"Baggage"},
  156. {"Dozer"},
  157. {"Maverick"},
  158. {"News Chopper"},
  159. {"Rancher"},
  160. {"FBI Rancher"},
  161. {"Virgo"},
  162. {"GREENwood"},
  163. {"Jetmax"},
  164. {"Hotring"},
  165. {"Sandking"},
  166. {"Blista Compact"},
  167. {"Police Maverick"},
  168. {"Boxville"},
  169. {"Benson"},
  170. {"Mesa"},
  171. {"RC Goblin"},
  172. {"Hotring Racer A"}, //hotrina
  173. {"Hotring Racer B"}, //hotrinb
  174. {"Bloodring Banger"},
  175. {"Rancher"},
  176. {"Super GT"},
  177. {"Elegant"},
  178. {"Journey"},
  179. {"Bike"},
  180. {"Mountain Bike"},
  181. {"Beagle"},
  182. {"Cropdust"},
  183. {"Stunt"},
  184. {"Tanker"}, //petro
  185. {"Roadtrain"},
  186. {"Nebula"},
  187. {"Majestic"},
  188. {"Buccaneer"},
  189. {"Shamal"},
  190. {"Hydra"},
  191. {"FCR-900"},
  192. {"NRG-500"},
  193. {"HPV1000"},
  194. {"Cement Truck"},
  195. {"Tow Truck"},
  196. {"Fortune"},
  197. {"Cadrona"},
  198. {"FBI Truck"},
  199. {"Willard"},
  200. {"Forklift"},
  201. {"Tractor"},
  202. {"Combine"},
  203. {"Feltzer"},
  204. {"Remington"},
  205. {"Slamvan"},
  206. {"Blade"},
  207. {"Freight"},
  208. {"Streak"},
  209. {"Vortex"},
  210. {"Vincent"},
  211. {"Bullet"},
  212. {"Clover"},
  213. {"Sadler"},
  214. {"Firetruck LA"}, //firela
  215. {"Hustler"},
  216. {"Intruder"},
  217. {"Primo"},
  218. {"Cargobob"},
  219. {"Tampa"},
  220. {"Sunrise"},
  221. {"Merit"},
  222. {"Utility"},
  223. {"Nevada"},
  224. {"Yosemite"},
  225. {"Windsor"},
  226. {"Monster A"}, //monstera
  227. {"Monster B"}, //monsterb
  228. {"Uranus"},
  229. {"Jester"},
  230. {"Sultan"},
  231. {"Stratum"},
  232. {"Elegy"},
  233. {"Raindance"},
  234. {"RC Tiger"},
  235. {"Flash"},
  236. {"Tahoma"},
  237. {"Savanna"},
  238. {"Bandito"},
  239. {"Freight Flat"}, //freiflat
  240. {"Streak Carriage"}, //streakc
  241. {"Kart"},
  242. {"Mower"},
  243. {"Duneride"},
  244. {"Sweeper"},
  245. {"Broadway"},
  246. {"Tornado"},
  247. {"AT-400"},
  248. {"DFT-30"},
  249. {"Huntley"},
  250. {"Stafford"},
  251. {"BF-400"},
  252. {"Newsvan"},
  253. {"Tug"},
  254. {"Trailer 3"}, //petrotr
  255. {"Emperor"},
  256. {"Wayfarer"},
  257. {"Euros"},
  258. {"Hotdog"},
  259. {"Club"},
  260. {"Freight Carriage"}, //freibox
  261. {"Trailer 3"}, //artict3
  262. {"Andromada"},
  263. {"Dodo"},
  264. {"RC Cam"},
  265. {"Launch"},
  266. {"Police Car (LSPD)"},
  267. {"Police Car (SFPD)"},
  268. {"Police Car (LVPD)"},
  269. {"Police Ranger"},
  270. {"Picador"},
  271. {"S.W.A.T. Van"},
  272. {"Alpha"},
  273. {"Phoenix"},
  274. {"Glendale"},
  275. {"Sadler"},
  276. {"Luggage Trailer A"}, //bagboxa
  277. {"Luggage Trailer B"}, //bagboxb
  278. {"Stair Trailer"}, //tugstair
  279. {"Boxville"},
  280. {"Farm Plow"}, //farmtr1
  281. {"Utility Trailer"} //utiltr1
  282. };
  283.  
  284. new WeapNames[][32] = {
  285. {"Fäuste"}, // 0
  286. {"Schlagring"}, // 1
  287. {"Golfschläger"}, // 2
  288. {"Night Stick"}, // 3
  289. {"Messer"}, // 4
  290. {"Baseball Schläger"}, // 5
  291. {"Shovel"}, // 6
  292. {"Pool Cue"}, // 7
  293. {"Katana"}, // 8
  294. {"Kettebsäge"}, // 9
  295. {"Purple Dildo"}, // 10
  296. {"Big White Vibrator"}, // 11
  297. {"Medium White Vibrator"}, // 12
  298. {"Small White Vibrator"}, // 13
  299. {"Flowers"}, // 14
  300. {"Cane"}, // 15
  301. {"Grenade"}, // 16
  302. {"Teargas"}, // 17
  303. {"Molotov"}, // 18
  304. {" "}, // 19
  305. {" "}, // 20
  306. {" "}, // 21
  307. {"Colt 45"}, // 22
  308. {"Colt 45(Silenced)"}, // 23
  309. {"Deagle"}, // 24
  310. {"Normal Shotgun"}, // 25
  311. {"Sawnoff Shotgun"}, // 26
  312. {"Combat Shotgun"}, // 27
  313. {"Micro Uzi(Mac 10)"}, // 28
  314. {"SMG(MP5)"}, // 29
  315. {"AK47"}, // 30
  316. {"M4"}, // 31
  317. {"Tec9"}, // 32
  318. {"Country Rifle"}, // 33
  319. {"Sniper Rifle"}, // 34
  320. {"Rocket Launcher"}, // 35
  321. {"Heat-Seeking Rocket Launcher"}, // 36
  322. {"Flamethrower"}, // 37
  323. {"Minigun"}, // 38
  324. {"Satchel Charge"}, // 39
  325. {"Detonator"}, // 40
  326. {"Spray Can"}, // 41
  327. {"Fire Extinguisher"}, // 42
  328. {"Camera"}, // 43
  329. {"Night Vision Goggles"}, // 44
  330. {"Infrared Vision Goggles"}, // 45
  331. {"Parachute"}, // 46
  332. {"Fake Pistol"} // 47
  333. };
  334. //Booleans
  335. new bool:TextDrawsShown[MAX_PLAYERS];
  336. new bool:LightRedHealthCreated[MAX_PLAYERS];
  337. new bool:LightYellowSpeedCreated[MAX_PLAYERS];
  338. new bool:VHSCreated[MAX_PLAYERS];
  339. new bool:ExclamationShown[MAX_PLAYERS];
  340. new CheckStatusTimer;
  341. new Text:Black0;
  342. new Text:White1;
  343. new Text:White2;
  344. new Text:BlackHealth;
  345. new Text:DarkRedHealth;
  346. new Text:BlackSpeed;
  347. new Text:DarkYellowSpeed;
  348. new Text:Marker;
  349. new Text:Exclamation;
  350. new burnout[MAX_PLAYERS],timer2;
  351. new Text:VHS[MAX_PLAYERS];
  352. new Text:LightRedHealth[MAX_PLAYERS];
  353. new Text:LightYellowSpeed[MAX_PLAYERS];
  354. new timer;
  355. new SpawnedVehicles[MAX_PLAYERS];
  356. new Tstring[12][2];
  357. new DelTime;
  358. new Text: LuxClock_Center;
  359. new Text: LuxClock[12];
  360. new Text: LText1;
  361. new Text: LText2;
  362. new Text: LText3;
  363. new Text: LText4;
  364. new Text: LText5;
  365. new Text: LText6;
  366. new Text: LText7;
  367. new Text: LHour;
  368. new Text: LInfo;
  369. new Text: LCategory;
  370. new Text: LMonat;
  371. new Text: LDay;
  372. new Text: LMsg;
  373. new DriftTimer[MAX_PLAYERS];
  374. new TimerA,TimerB,TimerC;
  375. new DriftPointsNow[MAX_PLAYERS];
  376. new PlayerDriftCancellation[MAX_PLAYERS];
  377. new Float:ppos[MAX_PLAYERS][3];
  378. enum Float:Pos{ Float:sX,Float:sY,Float:sZ };
  379. new Float:SavedPos[MAX_PLAYERS][Pos];
  380. new bool:DriftMode[MAX_PLAYERS]=false;
  381. new DriftBonus[MAX_PLAYERS]=1;
  382. new Float:HealthInit[MAX_PLAYERS]=1000.0;
  383. new bool:AutoFixBool[MAX_PLAYERS]=true;
  384. new Text:TDLabels[3];
  385. new Text:TDValueDrift[MAX_PLAYERS];
  386. new Text:TDValueBonus[MAX_PLAYERS];
  387. new Text:TDValueCash2[MAX_PLAYERS];
  388.  
  389. new Peds[217][1] = {
  390. {264},
  391. {288},//TEAM_ADMIN
  392. {286},{287},{228},{113},{120},{147},{294},{227},{61},{171},
  393. {247},//CIVILIANS DOWN HERE
  394. {248},{100},{256},{263},{262},{261},{260},{259},{258},{257},{256},{255},
  395. {253},{252},{251},{249},{246},{245},{244},{243},{242},{241},{240},{239},
  396. {238},{237},{236},{235},{234},{233},{232},{231},{230},{229},
  397. {226},{225},{173},{174},{175},{224},{223},{222},{221},{220},{219},{218},
  398. {217},{216},{215},{214},{213},{212},{211},{210},{209},
  399. {207},{206},{205},{204},{203},{202},{201},{200},{199},{198},{197},{196},
  400. {195},{194},{193},{192},{191},{190},{189},{185},{184},{183},
  401. {182},{181},{180},{179},{178},{176},{172},{170},{168},{167},{162},
  402. {161},{160},{159},{158},{157},{156},{155},{154},{153},{152},{151},
  403. {146},{145},{144},{143},{142},{141},{140},{139},{138},{137},{136},{135},
  404. {134},{133},{132},{131},{130},{129},{128},{254},{99},{97},{96},{95},{94},
  405. {92},{90},{89},{88},{87},{85},{84},{83},{82},{81},{80},{79},{78},{77},{76},
  406. {75},{73},{72},{69},{68},{67},{66},{64},{63},{62},{58},{57},{56},{55},
  407. {54},{53},{52},{51},{50},{49},{45},{44},{43},{41},{39},{38},{37},{36},{35},
  408. {34},{33},{32},{31},{30},{29},{28},{27},{26},{25},{24},{23},{22},{21},{20},
  409. {19},{18},{17},{16},{15},{14},{13},{12},{11},{10},{1},{2},
  410. {290},//ROSE
  411. {291},//PAUL
  412. {292},//CESAR
  413. {293},//OGLOC
  414. {187},
  415. {296},//JIZZY
  416. {297},//MADDOGG
  417. {298},//CAT
  418. {299}//ZERO
  419. };
  420.  
  421. new Float:OldX[MAX_PLAYERS];
  422. new Float:OldY[MAX_PLAYERS];
  423. new Float:OldZ[MAX_PLAYERS];
  424. new AccountInfo[MAX_PLAYERS][Info];
  425. new SuperPunch[MAX_PLAYERS];
  426. new ViewCmds[MAX_PLAYERS];
  427. new Count = 999;
  428. new Hide[MAX_PLAYERS];
  429. new Drugs[MAX_PLAYERS];
  430. new bool:PMBlock[MAX_PLAYERS];
  431. new Nuke[MAX_PLAYERS];
  432. new Missile[MAX_PLAYERS];
  433.  
  434. new PlayerDualWatching[MAX_PLAYERS];
  435. new InventationSent[MAX_PLAYERS];
  436. new Inventation[MAX_PLAYERS];
  437. new DualRoom1price;
  438. new DualRoom1;
  439. new DualRoom2price;
  440. new DualRoom2;
  441. new DualRoom3price;
  442. new DualRoom3;
  443. new DualRoom4price;
  444. new DualRoom4;
  445. new WeaponDualRoom1;
  446. new WeaponDualRoom2;
  447. new WeaponDualRoom3;
  448. new WeaponDualRoom4;
  449. new InDual[MAX_PLAYERS];
  450. new Inventationprice[MAX_PLAYERS];
  451.  
  452. new InDM1[MAX_PLAYERS];
  453.  
  454. //**FORWARDS**//
  455. forward SendClientMessageToAdmins(color,string[],alevel);
  456. forward OnPlayerRegister(playerid,password[]);
  457. forward OnPlayerLogin(playerid,password[]);
  458. forward OnPlayerUpdateAccount(playerid);
  459. forward BanLog(string[]);
  460. forward KickLog(string[]);
  461. forward VehicleLog(string[]);
  462. forward CountDown();
  463. forward DollahScoreUpdate();
  464. forward SyncUp();
  465. forward SyncTime();
  466. forward StoppedVehicle();
  467. forward Fillup(playerid);
  468. forward CheckStatus();
  469. forward VehicleOccupied(vehicleid);
  470. forward inventationremove(playerid);
  471. forward CountDown2(playerid, seconds);
  472. forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
  473. forward L_UpdateTime (playerid);
  474. forward L_UpdateClock();
  475. forward Drift();
  476. forward AngleUpdate();
  477. forward DriftExit(playerid);
  478. forward CheckPlayerState();
  479. forward AutoFix();
  480.  
  481. main()
  482. {
  483.  
  484. }
  485. /*x---------------------------------CallBacks-------------------------------------x*/
  486. stock strtok(const string[], &index,seperator=' ')
  487. {
  488. new length = strlen(string);
  489. new offset = index;
  490. new result[128];
  491. while ((index < length) && (string[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))
  492. {
  493. result[index - offset] = string[index];
  494. index++;
  495. }
  496.  
  497. result[index - offset] = EOS;
  498. if ((index < length) && (string[index] == seperator))
  499. {
  500. index++;
  501. }
  502. return result;
  503. }
  504. stock IsNumeric(const string[])
  505. {
  506. for (new i = 0, j = strlen(string); i < j; i++)
  507. if (string[i] > '9' || string[i] < '0')
  508. return 0;
  509. return 1;
  510. }
  511.  
  512. ReturnUser(text[], playerid = INVALID_PLAYER_ID)
  513. {
  514. new pos = 0;
  515. while (text[pos] < 0x21)
  516. {
  517. if (text[pos] == 0) return INVALID_PLAYER_ID;
  518. pos++;
  519. }
  520. new userid = INVALID_PLAYER_ID;
  521. if (IsNumeric(text[pos]))
  522. {
  523. userid = strval(text[pos]);
  524. if (userid >=0 && userid < MAX_PLAYERS)
  525. {
  526. if(!IsPlayerConnected(userid))
  527. userid = INVALID_PLAYER_ID;
  528. else return userid;
  529. }
  530. }
  531. new len = strlen(text[pos]);
  532. new count = 0;
  533. new pname[MAX_PLAYER_NAME];
  534. for (new i = 0; i < MAX_PLAYERS; i++)
  535. {
  536. if (IsPlayerConnected(i))
  537. {
  538. GetPlayerName(i, pname, sizeof (pname));
  539. if (strcmp(pname, text[pos], true, len) == 0)
  540. {
  541. if (len == strlen(pname)) return i;
  542. else
  543. {
  544. count++;
  545. userid = i;
  546. }
  547. }
  548. }
  549. }
  550. if (count != 1)
  551. {
  552. if (playerid != INVALID_PLAYER_ID)
  553. {
  554. if (count) SendClientMessage(playerid, YELLOW, "Gebe den Ganzen Namen ein.");
  555. else SendClientMessage(playerid, RED, "Spielername nicht gefunden.");
  556. }
  557. userid = INVALID_PLAYER_ID;
  558. }
  559. return userid;
  560. }
  561. stock GetFileString(string[])
  562. {
  563. new result[128];
  564. result[0] = 0;
  565. if (strfind(string, ":", true) == -1) return result;
  566. new id = strfind(string, ":", true);
  567. strmid(result, string, 0, id, 128);
  568. return result;
  569. }
  570.  
  571. stock GetFileValue(string[])
  572. {
  573. new val[128];
  574. val[0] = 0;
  575. if (strfind(string , ":", true) == -1) return val;
  576. new id = strfind(string, ":", true);
  577. strmid(val, string, id+2, strlen(string), 128);
  578. return val;
  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 BanLog(string[])
  607. {
  608. new entry[128];
  609. format(entry, sizeof(entry), "%s\r\n",string);
  610. new File:hFile;
  611. hFile = fopen("ban.log", io_append);
  612. if (hFile)
  613. {
  614. fwrite(hFile, entry);
  615. fclose(hFile);
  616. }
  617. }
  618. public SendClientMessageToAdmins(color,string[],alevel)
  619. {
  620. for(new i = 0; i < MAX_PLAYERS; i++)
  621. {
  622. if(IsPlayerConnected(i))
  623. {
  624. if (AccountInfo[i][AdminLevel] >= alevel)
  625. {
  626. SendClientMessage(i, color, string);
  627. printf("%s", string);
  628. }
  629. }
  630. }
  631. return 1;
  632. }
  633. public OnPlayerRegister(playerid, password[])
  634. {
  635. if(IsPlayerConnected(playerid))
  636. {
  637. new name[MAX_PLAYER_NAME], str[128], ip[15];
  638. GetPlayerName(playerid, name, sizeof name);
  639. GetPlayerIp(playerid, ip, sizeof ip);
  640. format(str, sizeof str, "/sAccounts/%s.seifadmin", name);
  641. new File:account = fopen(str, io_write);
  642. if (account)
  643. {
  644. strmid(AccountInfo[playerid][Password], password, 0, strlen(password), 255);
  645. AccountInfo[playerid][Cash] = GetPlayerMoney(playerid);
  646. new file[128];
  647. {
  648. format(file, sizeof file, "Password: %s\n\r", AccountInfo[playerid][Password]);
  649. { fwrite(account, file); }
  650. format(file, sizeof file, "AdminLevel: %d\n\r", 0);
  651. { fwrite(account, file); AccountInfo[playerid][AdminLevel] = 0; }
  652. format(file, sizeof file, "Cash: %d\n\r", AccountInfo[playerid][Cash]);
  653. { fwrite(account, file); }
  654. format(file, sizeof file, "Warnings: %d\n\r",AccountInfo[playerid][Warns]);
  655. { fwrite(account, file); }
  656. format(file, sizeof file, "WarnReason1: %s\n\r",AccountInfo[playerid][WarnReason1]);
  657. { fwrite(account, file); }
  658. format(file, sizeof file, "WarnReason2: %s\n\r",AccountInfo[playerid][WarnReason2]);
  659. { fwrite(account, file); }
  660. format(file, sizeof file, "WarnReason3: %s\n\r",AccountInfo[playerid][WarnReason3]);
  661. { fwrite(account, file); }
  662. format(file, sizeof file, "IPAddress: %s\n\r",ip);
  663. { fwrite(account, file); }
  664. format(file, sizeof file, "Level: %s\n\r",AccountInfo[playerid][Level]);
  665. { fwrite(account, file); }
  666. }
  667. fclose(account);
  668. SendClientMessage(playerid, GREEN, "|- Account registriert. Du kannst dich nun einloggen. ( /login [password] ) -|");
  669. }
  670. }
  671. return 1;
  672. }
  673.  
  674. public OnPlayerUpdateAccount(playerid)
  675. {
  676. if(IsPlayerConnected(playerid))
  677. {
  678. if(AccountInfo[playerid][Logged] == 1)
  679. {
  680. new name[MAX_PLAYER_NAME], str[128];
  681. GetPlayerName(playerid, name, sizeof name);
  682. format(str, sizeof str, "/sAccounts/%s.seifadmin", name);
  683. new File:account = fopen(str, io_write);
  684. if (account)
  685. {
  686. AccountInfo[playerid][Cash] = GetPlayerMoney(playerid);
  687. new file[128];
  688. {
  689. format(file, sizeof file, "Password: %s\n\r", AccountInfo[playerid][Password]);
  690. { fwrite(account, file); }
  691. format(file, sizeof file, "AdminLevel: %d\n\r",AccountInfo[playerid][AdminLevel]);
  692. { fwrite(account, file); }
  693. format(file, sizeof file, "Cash: %d\n\r", AccountInfo[playerid][Cash]);
  694. { fwrite(account, file); }
  695. format(file, sizeof file, "Warnings: %d\n\r",AccountInfo[playerid][Warns]);
  696. { fwrite(account, file); }
  697. format(file, sizeof file, "WarnReason1: %s\n\r",AccountInfo[playerid][WarnReason1]);
  698. { fwrite(account, file); }
  699. format(file, sizeof file, "WarnReason2: %s\n\r",AccountInfo[playerid][WarnReason2]);
  700. { fwrite(account, file); }
  701. format(file, sizeof file, "WarnReason3: %s\n\r",AccountInfo[playerid][WarnReason3]);
  702. { fwrite(account, file); }
  703. format(file, sizeof file, "IPAddress: %s\n\r",AccountInfo[playerid][IP]);
  704. { fwrite(account, file); }
  705. format(file, sizeof file, "Level: %s\n\r",AccountInfo[playerid][Level]);
  706. { fwrite(account, file); }
  707. }
  708. fclose(account);
  709. }
  710. }
  711. }
  712. return 1;
  713. }
  714.  
  715. public OnPlayerLogin(playerid, password[])
  716. {
  717. new name[MAX_PLAYER_NAME], str[128];
  718. GetPlayerName(playerid, name, sizeof name);
  719. format(str, sizeof str, "/sAccounts/%s.seifadmin", name);
  720. new File:account = fopen(str, io_read);
  721. if (account)
  722. {
  723. new pass[256];
  724. new passres[128], value[128];
  725. fread(account, pass, sizeof pass);
  726. passres = GetFileString(pass);
  727. if (!strcmp("Password", passres))
  728. {
  729. value = GetFileValue(pass);
  730. strmid(AccountInfo[playerid][Password], value, 0, strlen(value)-1, 128);
  731. }
  732. if (!strcmp(AccountInfo[playerid][Password], password, true))
  733. {
  734. while (fread(account, pass, 256))
  735. {
  736. passres = GetFileString(pass);
  737. if (strfind(passres, "AdminLevel") != -1)
  738. {
  739. value = GetFileValue(pass);
  740. AccountInfo[playerid][AdminLevel] = strval(value);
  741. }
  742. if (strfind(passres, "Cash") != -1)
  743. {
  744. value = GetFileValue(pass);
  745. AccountInfo[playerid][Cash] = strval(value);
  746. }
  747. if (strfind(passres, "Warnings") != -1)
  748. {
  749. value = GetFileValue(pass);
  750. AccountInfo[playerid][Warns] = strval(value);
  751. }
  752. if (strfind(passres, "WarnReason1") != -1)
  753. {
  754. value = GetFileValue(pass);
  755. strmid(AccountInfo[playerid][WarnReason1], value, 0, strlen(value)-1, 128);
  756. }
  757. if (strfind(passres, "WarnReason2") != -1)
  758. {
  759. value = GetFileValue(pass);
  760. strmid(AccountInfo[playerid][WarnReason2], value, 0, strlen(value)-1, 128);
  761. }
  762. if (strfind(passres, "WarnReason3") != -1)
  763. {
  764. value = GetFileValue(pass);
  765. strmid(AccountInfo[playerid][WarnReason3], value, 0, strlen(value)-1, 128);
  766. }
  767. if (strfind(passres, "Level") != -1)
  768. {
  769. value = GetFileValue(pass);
  770. strmid(AccountInfo[playerid][Level], value, 0, strlen(value)-1, 128);
  771. }
  772. }
  773. fclose(account);
  774. AccountInfo[playerid][Logged] = 1;
  775. }
  776. else
  777. {
  778. SendClientMessage(playerid, RED, "Falsches Passwort.");
  779. fclose(account);
  780. return 1;
  781. }
  782. GivePlayerMoney(playerid, AccountInfo[playerid][Cash]);
  783. format(str, sizeof str, "|- Du bist als %s eingeloggt. -|", name);
  784. SendClientMessage(playerid, GREEN, str);
  785. printf("%s has logged in", name);
  786. if (AccountInfo[playerid][AdminLevel] > 0)
  787. {
  788. format(str, sizeof str, "|» Du bist als ein Admin Leve %d eingeloggt. «|", AccountInfo[playerid][AdminLevel]);
  789. SendClientMessage(playerid, LIGHTGREEN, str);
  790. ViewCmds[playerid] = 0;
  791. }
  792. }
  793. return 1;
  794. }
  795.  
  796.  
  797. public OnGameModeInit()
  798. {
  799. LoadTextDraws();
  800. TimerA=SetTimer("AngleUpdate", 200, true);
  801. TimerB=SetTimer("AutoFix", 500, true);
  802. TimerC=SetTimer("CheckPlayerState", 100, true);
  803. SetGameModeText("Stunt");
  804. EnableZoneNames(1);
  805. bStartEngine();
  806. timer2 = SetTimer("BOtimer2",150,true);
  807. timer = SetTimer("BOtimer",150,true);
  808. for(new i = 0; i <= sizeof(Peds)-1; i++)
  809. {
  810. AddPlayerClass(Peds[i][0],1551.5664,-1239.6757,277.8824,269.6888,0,0,0,0,0,0);
  811. }
  812.  
  813. AddStaticVehicle(495,2142.7544,-2593.6438,13.8957,69.8288,25,61); // lsaairport
  814. AddStaticVehicle(495,2141.0032,-2598.4119,13.8994,69.8288,25,61); // lsaairport
  815. AddStaticVehicle(495,2143.7986,-2589.3955,13.9015,69.8288,25,61); // lsaairport
  816. AddStaticVehicle(495,2144.4727,-2585.0291,13.9147,69.8288,25,61); // lsaairport
  817. AddStaticVehicle(411,2144.2839,-2582.9275,13.2656,102.4332,79,102); // lsaairport
  818. AddStaticVehicle(411,2143.8689,-2578.7144,13.2504,102.4332,79,102); // lsaairport
  819. AddStaticVehicle(411,2144.8838,-2574.0913,13.2318,102.4332,79,102); // lsaairport
  820. AddStaticVehicle(411,2145.2639,-2570.8027,13.2191,102.4332,79,102); // lsaairport
  821. AddStaticVehicle(415,2145.0974,-2566.1470,13.2854,94.0034,13,20); // lsaairport
  822. AddStaticVehicle(415,2144.9541,-2564.1030,13.2852,94.0034,13,20); // lsaairport
  823. AddStaticVehicle(415,2145.9243,-2562.1294,13.2764,94.0034,13,20); // lsaairport
  824. AddStaticVehicle(451,2145.3784,-2559.3606,13.1408,91.3213,29,53); // lsaairport
  825. AddStaticVehicle(451,2145.3120,-2556.4619,13.0708,91.3213,29,53); // lsaairport
  826. AddStaticVehicle(451,2145.2334,-2553.0083,12.9873,91.3213,29,53); // lsaairport
  827.  
  828. AddStaticVehicle(411,938.5372,-2598.5793,785.1863,269.6017,7,10); // jump1car
  829. AddStaticVehicle(411,938.5605,-2595.2368,785.1863,269.6017,7,10); // jump1car
  830. AddStaticVehicle(411,938.5812,-2592.2778,785.1863,269.6017,7,10); // jump1car
  831. AddStaticVehicle(411,938.5987,-2589.7568,785.1863,269.6017,7,10); // jump1car
  832. AddStaticVehicle(411,938.6223,-2586.3804,785.1863,269.6017,7,10); // jump1car
  833. AddStaticVehicle(495,938.4722,-2583.4656,785.6698,269.6006,95,115); // jump1car
  834. AddStaticVehicle(495,938.4893,-2581.0071,785.6725,269.6006,95,115); // jump1car
  835. AddStaticVehicle(495,941.7696,-2574.5562,785.8190,180.4162,95,115); // jump1car
  836. AddStaticVehicle(495,945.0861,-2574.5347,785.7235,180.4162,95,115); // jump1car
  837. AddStaticVehicle(415,951.5654,-2574.5161,785.2411,180.4180,125,14); // jump1car
  838. AddStaticVehicle(415,954.4664,-2574.4949,785.2413,180.4180,125,14); // jump1car
  839. AddStaticVehicle(415,957.5585,-2574.4722,785.2415,180.4180,125,14); // jump1car
  840. AddStaticVehicle(415,961.3008,-2574.4448,785.2417,180.4180,125,14); // jump1car
  841. AddStaticVehicle(415,963.7728,-2574.4221,785.7151,180.4180,125,14); // jump1car
  842. AddStaticVehicle(451,948.5028,-2604.8567,785.3026,357.8945,3,80); // jump1car
  843. AddStaticVehicle(451,951.7133,-2604.9749,785.3226,357.8945,3,80); // jump1car
  844. AddStaticVehicle(451,954.5135,-2605.0776,785.3400,357.8945,3,80); // jump1car
  845. AddStaticVehicle(451,957.5828,-2605.1902,785.3591,357.8945,3,80); // jump1car
  846. AddStaticVehicle(451,960.9577,-2605.3140,785.3801,357.8945,3,80); // jump1car
  847.  
  848. AddStaticVehicle(411,1573.5343,-1216.0530,277.6271,180.1809,64,1); // nnopspawncar
  849. AddStaticVehicle(411,1576.3760,-1216.0439,277.6271,180.1809,64,1); // nnopspawncar
  850. AddStaticVehicle(415,1579.3156,-1215.9315,277.6708,180.4433,25,1); // nnopspawncar
  851. AddStaticVehicle(415,1581.9401,-1215.9110,277.6606,180.4433,25,1); // nnopspawncar
  852. AddStaticVehicle(451,1584.8580,-1216.1497,277.6235,177.7382,125,125); // nnopspawncar
  853. AddStaticVehicle(451,1587.4639,-1216.2526,277.6229,177.7382,125,125); // nnopspawncar
  854. AddStaticVehicle(603,1590.6920,-1216.5846,277.7297,173.4030,69,1); // nnopspawncar
  855.  
  856. AddStaticVehicle(411,-314.7111,1516.0812,75.0678,0.0000,1,1); // drift1car
  857. AddStaticVehicle(411,-317.8004,1516.0812,75.0667,0.0000,1,1); // drift1car
  858. AddStaticVehicle(411,-320.9597,1516.0812,75.0656,0.0000,1,1); // drift1car
  859. AddStaticVehicle(415,-324.1865,1515.0656,75.1312,0.4903,118,65); // drift1car
  860. AddStaticVehicle(415,-327.1357,1515.0404,75.1313,0.4903,118,65); // drift1car
  861. AddStaticVehicle(415,-330.0593,1515.0154,75.1313,0.4903,118,65); // drift1car
  862. AddStaticVehicle(451,-333.5477,1515.6310,75.0663,359.4274,51,67); // drift1car
  863. AddStaticVehicle(451,-336.7237,1515.6628,75.0662,359.4274,51,67); // drift1car
  864. AddStaticVehicle(451,-339.7912,1515.4736,75.0680,359.4274,51,67); // drift1car
  865. AddStaticVehicle(503,-339.6707,1515.5872,75.2583,359.5967,81,30); // drift1car
  866. AddStaticVehicle(503,-342.8233,1515.6095,75.2618,359.5967,81,30); // drift1car
  867. AddStaticVehicle(503,-345.9712,1515.6316,75.2653,359.5967,81,30); // drift1car
  868. AddStaticVehicle(603,-264.8180,1543.1873,75.1974,137.0105,109,63); // drift1car
  869. AddStaticVehicle(603,-267.4561,1545.6467,75.1969,137.0105,109,63); // drift1car
  870. AddStaticVehicle(603,-269.7946,1547.8265,75.1965,137.0105,109,63); // drift1car
  871. AddStaticVehicle(522,-272.0240,1550.5203,74.9452,137.6523,14,25); // drift1car
  872. AddStaticVehicle(522,-274.6394,1552.9066,74.9087,137.6523,14,25); // drift1car
  873. AddStaticVehicle(522,-276.9312,1554.9978,74.8767,137.6523,14,25); // drift1car
  874.  
  875. AddStaticVehicle(495,1745.7902,-2004.9438,2722.0066,90.9729,1,1); // /j2 car
  876. AddStaticVehicle(495,1745.8423,-2008.0132,2722.0103,90.9729,1,1); // /j2 car
  877. AddStaticVehicle(495,1745.8917,-2010.9369,2722.0142,90.9729,1,1); // /j2 car
  878. AddStaticVehicle(495,1745.7394,-2001.9620,2722.0024,90.9729,1,1); // /j2 car
  879. AddStaticVehicle(495,1745.6814,-1998.5541,2721.9978,90.9729,1,1); // /j2 car
  880. AddStaticVehicle(495,1745.6222,-1995.0750,2721.9932,90.9729,1,1); // /j2 car
  881. AddStaticVehicle(411,1745.6776,-2011.0018,2721.3818,90.3808,28,43); // /j2 car
  882. AddStaticVehicle(411,1745.7018,-2014.6326,2721.3879,90.3808,28,43); // /j2 car
  883. AddStaticVehicle(411,1745.7185,-2017.1447,2721.3923,90.3808,28,43); // /j2 car
  884. AddStaticVehicle(411,1745.7411,-2020.5558,2721.3979,90.3808,28,43); // /j2 car
  885. AddStaticVehicle(411,1745.7638,-2023.9641,2721.4038,90.3808,28,43); // /j2 car
  886. AddStaticVehicle(411,1745.7865,-2027.3958,2721.4097,90.3808,28,43); // /j2 car
  887. AddStaticVehicle(503,1739.0063,-2036.1112,2721.5464,359.0114,30,125); // /j2 car
  888. AddStaticVehicle(503,1736.0236,-2036.0597,2721.5388,359.0114,30,125); // /j2 car
  889. AddStaticVehicle(503,1733.0846,-2036.0090,2721.5317,359.0114,30,125); // /j2 car
  890. AddStaticVehicle(503,1730.2367,-2035.9598,2721.5249,359.0114,30,125); // /j2 car
  891. AddStaticVehicle(503,1727.1077,-2035.9056,2721.5173,359.0114,30,125); // /j2 car
  892. AddStaticVehicle(503,1724.0466,-2035.8528,2721.5100,359.0114,30,125); // /j2 car
  893. AddStaticVehicle(503,1721.4406,-2035.8079,2721.5037,359.0114,30,125); // /j2 car
  894. AddStaticVehicle(451,1715.8564,-2030.3954,2721.3452,266.2034,71,71); // /j2 car
  895. AddStaticVehicle(451,1716.0800,-2027.0283,2721.3452,266.2034,71,71); // /j2 car
  896. AddStaticVehicle(451,1716.3059,-2023.6244,2721.3452,266.2034,71,71); // /j2 car
  897. AddStaticVehicle(451,1716.2664,-2020.8989,2721.3452,266.2034,71,71); // /j2 car
  898. AddStaticVehicle(451,1716.4843,-2017.6155,2721.3452,266.2034,71,71); // /j2 car
  899. AddStaticVehicle(451,1715.6144,-2014.4208,2721.3452,266.2034,71,71); // /j2 car
  900. AddStaticVehicle(451,1715.7924,-2011.7351,2721.3452,266.2034,71,71); // /j2 car
  901. AddStaticVehicle(415,1715.5421,-2004.9674,2721.3425,266.2034,72,113); // /j2 car
  902. AddStaticVehicle(415,1715.7478,-2001.8678,2721.3425,266.2034,72,113); // /j2 car
  903. AddStaticVehicle(415,1715.9524,-1998.7853,2721.3425,266.2034,72,113); // /j2 car
  904. AddStaticVehicle(415,1716.1761,-1995.4131,2721.3425,266.2034,72,113); // /j2 car
  905. AddStaticVehicle(415,1716.4055,-1991.9586,2721.3425,266.2034,72,113); // /j2 car
  906. //objecte
  907.  
  908. //stuntstreet
  909. CreateObject(8040, 1883.873779, -1256.226440, 680.512817, 0.000000, 0.000000, 0.000000); //
  910. CreateObject(17310, 1928.336304, -1255.065308, 678.576416, -180.482049241, 0.000000, 89.999981276); //
  911. CreateObject(17310, 1939.829834, -1254.987549, 678.628052, -180.482049241, 0.000000, 89.999981276); //
  912. CreateObject(17310, 1951.664063, -1255.040039, 678.696777, -180.482049241, 0.000000, 89.999981276); //
  913. CreateObject(17310, 1963.027588, -1241.228638, 681.910767, -180.482049241, 25.7831007809, 89.999981276); //
  914. CreateObject(17310, 1971.911743, -1233.434448, 687.269836, -180.482049241, 42.9718346348, 89.999981276); //
  915. CreateObject(17310, 1982.672119, -1227.340210, 695.693237, -182.200979922, 61.8793845783, 87.4216711979); //
  916. CreateObject(17310, 1994.489380, -1227.800659, 696.215210, -182.200979922, 61.8793845783, 87.4216711979); //
  917. CreateObject(17310, 2004.144531, -1230.242554, 696.755920, -182.200979922, 61.8793845783, 65.0763171878); //
  918. CreateObject(17310, 2013.093506, -1235.797729, 697.254456, -182.200979922, 61.8793845783, 48.7470773224); //
  919. CreateObject(17310, 2018.324463, -1243.295532, 27.159401, -182.200979922, 61.8793845783, 16.0884829999); //
  920. CreateObject(17310, 2018.691040, -1243.951904, 697.754211, -182.200979922, 61.8793845783, 23.8234132342); //
  921. CreateObject(17310, 2020.926636, -1254.004028, 698.268433, -182.200979922, 61.8793845783, 3.19693260949); //
  922. CreateObject(17310, 2018.717529, -1263.295776, 698.759460, -182.200979922, 61.8793845783, -26.0239149422); //
  923. CreateObject(17310, 2012.776367, -1271.544312, 699.244507, -182.200979922, 61.8793845783, -43.2125915003); //
  924. CreateObject(17310, 2002.796509, -1278.314819, 695.488953, -182.200979922, 52.4255809587, -43.2125915003); //
  925. CreateObject(17310, 1992.505615, -1284.801392, 692.602112, -182.200979922, 43.8312713275, -43.2125915003); //
  926. CreateObject(17310, 1978.033081, -1286.116455, 686.633057, -182.200979922, 22.3453540101, -43.2125915003); //
  927. CreateObject(17310, 1964.935059, -1289.304443, 57.501297, -182.200979922, 6.87549354157, -43.2125915003); //
  928. CreateObject(17310, 1964.950928, -1289.428345, 685.028076, -182.200979922, 8.59436692696, -43.2125915003); //
  929. CreateObject(17310, 1956.909912, -1298.123169, 685.590637, -183.060416615, 8.59436692696, -43.2125915003); //
  930. CreateObject(17310, 1941.628174, -1297.252686, 686.569275, -183.060416615, -12.8915503904, -43.2125915003); //
  931. CreateObject(17310, 1926.249512, -1298.000610, 691.827881, -183.060416615, -34.3774677078, -43.2125915003); //
  932. CreateObject(17310, 1914.223999, -1300.588989, 698.802734, -183.060416615, -51.566144266, -43.2125915003); //
  933. CreateObject(17310, 1908.672485, -1308.927979, 699.271790, -183.060416615, -51.566144266, -26.8833516349); //
  934. CreateObject(17310, 1906.085449, -1317.962036, 699.723267, -183.060416615, -51.566144266, -8.83518108826); //
  935. CreateObject(17310, 1906.509766, -1327.111206, 700.309265, -183.060416615, -51.566144266, 18.666793078); //
  936. CreateObject(17310, 1910.906006, -1333.868164, 700.763184, -183.060416615, -51.566144266, 41.0121470881); //
  937. CreateObject(17310, 1917.883423, -1338.902466, 701.282532, -183.060416615, -51.566144266, 63.3574438024); //
  938. CreateObject(17310, 1931.840820, -1336.782715, 694.619507, -183.060416615, -31.7991576298, 63.3574438024); //
  939. CreateObject(17310, 1944.649536, -1333.627808, 691.476013, -183.060416615, -14.6104237758, 63.3574438024); //
  940. CreateObject(17310, 1958.028687, -1331.434692, 690.772949, -180.482049241, 0.000000, 63.3574438024); //
  941. CreateObject(17310, 1967.708496, -1336.268311, 692.222168, -195.092587608, -0.859436692696, 63.3574438024); //
  942. CreateObject(17310, 1977.561523, -1341.226685, 696.023621, -203.687011831, -0.859436692696, 63.3574438024); //
  943. CreateObject(17310, 1985.637695, -1345.100220, 701.887451, -220.875860277, -0.859436692696, 63.3574438024); //
  944. CreateObject(17310, 1992.708008, -1348.496582, 709.869202, -230.329721192, -0.859436692696, 63.3574438024); //
  945. CreateObject(17310, 1997.459839, -1350.807739, 716.207703, -230.329721192, -0.859436692696, 63.3574438024); //
  946. CreateObject(17310, 2002.557861, -1353.253540, 722.970093, -230.329721192, -0.859436692696, 63.3574438024); //
  947. CreateObject(17310, 2008.239868, -1356.017212, 730.560364, -230.329721192, -0.859436692696, 63.3574438024); //
  948. CreateObject(17310, 2016.850464, -1360.250732, 734.655151, -186.498163386, 0.000000, 63.3574438024); //
  949. CreateObject(17310, 2027.243164, -1365.355591, 735.955627, -186.498163386, 0.000000, 63.3574438024); //
  950. CreateObject(17310, 2054.353760, -1361.622925, 742.549744, -186.498163386, 29.2208475517, 63.3574438024); //
  951. CreateObject(17310, 2037.774658, -1370.556519, 737.292236, -186.498163386, 0.000000, 63.3574438024); //
  952. CreateObject(17310, 2065.837158, -1360.377563, 748.199463, -186.498163386, 42.9718346348, 63.3574438024); //
  953. CreateObject(17310, 2077.134033, -1360.672485, 754.964905, -186.498163386, 55.8633277295, 63.3574438024); //
  954. CreateObject(17310, 2085.709473, -1366.639771, 756.119141, -186.498163386, 55.8633277295, 47.8875833339); //
  955. CreateObject(17310, 2090.455322, -1373.699097, 756.928589, -186.498163386, 55.8633277295, 27.261160005); //
  956. CreateObject(17310, 2091.539307, -1379.792358, 757.762817, -186.498163386, 55.8633277295, 4.76116468598); //
  957. CreateObject(17310, 2089.883789, -1389.425781, 758.581665, -186.498163386, 55.8633277295, -17.738830633); //
  958. CreateObject(17310, 2086.469727, -1395.321289, 758.832031, -186.498163386, 55.8633277295, -40.238825952); //
  959. CreateObject(17310, 2079.238770, -1401.005249, 759.920654, -186.498163386, 55.8633277295, -57.427559806); //
  960. CreateObject(17310, 2070.989990, -1404.193481, 760.839722, -186.498163386, 55.8633277295, -74.6162936599); //
  961. CreateObject(17310, 2063.188721, -1405.409302, 761.676636, -186.498163386, 55.8633277295, -87.5078440503); //
  962. CreateObject(17310, 2053.530273, -1404.960938, 762.962341, -186.498163386, 55.8633277295, -104.696520608); //
  963. CreateObject(17310, 2044.987793, -1401.425049, 764.160339, -186.498163386, 56.7227644222, -116.728634306); //
  964. CreateObject(17310, 2038.000732, -1396.605225, 765.366638, -186.498163386, 57.5822011149, -130.479735981); //
  965. CreateObject(17310, 2030.900024, -1390.570313, 766.457947, -186.498163386, 57.5822011149, -130.479735981); //
  966. CreateObject(17310, 2023.800537, -1384.586670, 767.567749, -186.498163386, 57.5822011149, -130.479735981); //
  967. CreateObject(17310, 2016.426758, -1378.337891, 768.726440, -186.498163386, 57.5822011149, -130.479735981); //
  968. CreateObject(17310, 2008.905518, -1371.929199, 769.875610, -186.498163386, 57.5822011149, -130.479735981); //
  969. CreateObject(17310, 2004.731567, -1359.781616, 763.683411, -186.498163386, 39.534087864, -130.479735981); //
  970. CreateObject(17310, 2005.764404, -1344.801514, 758.499146, -186.498163386, 14.6104237758, -130.479735981); //
  971. CreateObject(17310, 2002.401855, -1332.766235, 758.693054, -186.498163386, 1.71887338539, -130.479735981); //
  972. CreateObject(17310, 2000.674194, -1317.530762, 761.367371, -186.498163386, -17.1887338539, -132.198609366); //
  973. CreateObject(17310, 2000.068970, -1304.258545, 767.096680, -186.498163386, -36.0963410932, -133.917482752); //
  974. CreateObject(17310, 1996.394287, -1294.825928, 771.851440, -186.498163386, -46.4095241098, -133.917482752); //
  975. CreateObject(17310, 1992.602417, -1284.664795, 779.377869, -186.498163386, -61.0199478857, -133.917482752); //
  976. CreateObject(17310, 1986.075073, -1280.973022, 780.359253, -186.498163386, -61.0199478857, -110.712577457); //
  977. CreateObject(17310, 1978.410645, -1280.271851, 781.363586, -186.498163386, -61.0199478857, -88.2125821383); //
  978. CreateObject(17310, 1967.277710, -1283.866943, 777.832336, -186.498163386, -50.7067075733, -88.2125821383); //
  979. CreateObject(17310, 1955.754761, -1289.557129, 773.990356, -186.498163386, -36.9557777859, -88.2125821383); //
  980. CreateObject(17310, 1945.614380, -1301.118408, 769.679993, -186.498163386, -14.6104237758, -88.2125821383); //
  981. CreateObject(17310, 1934.038330, -1301.379272, 769.139343, -170.168751633, -13.7509870831, -93.3692022945); //
  982. CreateObject(17310, 1923.287842, -1300.797974, 766.338379, -163.293200795, -13.7509870831, -94.2286389872); //
  983. CreateObject(17310, 1883.556274, -1301.556030, 689.954224, -180.482049241, 0.000000, 89.999981276); //
  984. CreateObject(17310, 1871.790771, -1301.649658, 689.860657, -180.482049241, 0.000000, 89.999981276); //
  985. CreateObject(17310, 1860.519775, -1301.737305, 689.758301, -180.482049241, 0.000000, 89.999981276); //
  986. CreateObject(17310, 1849.587769, -1301.802246, 689.662109, -180.482049241, 0.000000, 89.999981276); //
  987. CreateObject(17310, 1837.892578, -1301.880249, 689.582703, -180.482049241, 0.000000, 89.999981276); //
  988. CreateObject(17310, 1826.293335, -1301.954590, 689.512878, -180.482049241, 0.000000, 89.999981276); //
  989. CreateObject(17310, 1814.823975, -1302.024780, 689.410095, -180.482049241, 0.000000, 89.999981276); //
  990. CreateObject(17310, 1803.853760, -1316.308716, 692.700500, -180.482049241, -26.6425374736, 89.999981276); //
  991. CreateObject(17310, 1792.343384, -1323.815063, 697.798523, -180.482049241, -42.9718346348, 89.999981276); //
  992. CreateObject(17310, 1781.457764, -1328.250610, 702.528931, -183.060359319, -55.0038910368, 89.999981276); //
  993. CreateObject(17310, 1776.854492, -1324.799683, 34.055984, -183.060359319, -55.0038910368, 77.9678675783); //
  994. CreateObject(17310, 1772.876831, -1327.015747, 701.973938, -183.060359319, -55.0038910368, 67.499985957); //
  995. CreateObject(17310, 1764.333252, -1322.591187, 701.509521, -183.060359319, -55.0038910368, 51.1706887958); //
  996. CreateObject(17310, 1757.913696, -1316.611084, 701.061829, -183.060359319, -55.0038910368, 40.8574484834); //
  997. CreateObject(17310, 1752.722046, -1309.125488, 700.531006, -183.060359319, -55.0038910368, 25.3876453107); //
  998. CreateObject(17310, 1749.695557, -1300.308105, 699.958862, -183.060359319, -55.0038910368, 10.7772215349); //
  999. CreateObject(17310, 1749.300415, -1291.377808, 699.527527, -183.060359319, -55.0038910368, -8.13038570447); //
  1000. CreateObject(17310, 1750.935181, -1282.097046, 699.182434, -183.060359319, -55.0038910368, -13.2870058606); //
  1001. CreateObject(17310, 1753.606567, -1272.643921, 698.697144, -183.060359319, -55.0038910368, -18.4436260168); //
  1002. CreateObject(17310, 1757.488403, -1262.700806, 698.099792, -183.060359319, -55.0038910368, -26.1785562511); //
  1003. CreateObject(17310, 1762.432617, -1253.387085, 697.565552, -183.060359319, -55.0038910368, -30.4757397146); //
  1004. CreateObject(17310, 1767.633545, -1245.305298, 697.128296, -183.060359319, -55.0038910368, -37.3512332561); //
  1005. CreateObject(17310, 1773.681030, -1238.093262, 696.577026, -183.060359319, -55.0038910368, -43.367290105); //
  1006. CreateObject(17310, 1780.823975, -1231.440063, 695.719238, -183.060359319, -55.0038910368, -51.961657032); //
  1007. CreateObject(17310, 1789.469360, -1225.440674, 695.835449, -183.060359319, -55.0038910368, -63.9937134339); //
  1008. CreateObject(17310, 1798.698486, -1221.050293, 695.417419, -183.060359319, -55.0038910368, -65.7125868193); //
  1009. CreateObject(17310, 1806.127319, -1217.682861, 695.020691, -183.060359319, -55.0038910368, -65.7125868193); //
  1010. CreateObject(17310, 1816.066040, -1213.459351, 694.496033, -183.060359319, -55.0038910368, -69.1503335901); //
  1011. CreateObject(17310, 1822.671387, -1211.182739, 694.227905, -183.060359319, -55.0038910368, -72.5880803609); //
  1012. CreateObject(17310, 1831.283936, -1208.982422, 693.953552, -183.060359319, -55.0038910368, -80.3230105952); //
  1013. CreateObject(17310, 1837.626099, -1208.581177, 693.665771, -183.060359319, -55.0038910368, -90.6362509075); //
  1014. CreateObject(17310, 1846.781494, -1209.536865, 693.161255, -183.060359319, -55.0038910368, -100.94949122); //
  1015. CreateObject(17310, 1851.245850, -1211.300293, 692.723267, -183.060359319, -55.0038910368, -112.981604918); //
  1016. CreateObject(17310, 1860.702515, -1215.780762, 692.445740, -183.060359319, -55.0038910368, -119.857098459); //
  1017. CreateObject(17310, 1870.889771, -1221.653442, 691.786377, -183.060359319, -55.0038910368, -119.857098459); //
  1018. //stuntstreet
  1019. //jump2
  1020. CreateObject(6235, 1734.069336, -1959.200684, 2720.376709, -73.9114982761, -180.482049241, 4.29718346348); //
  1021. CreateObject(6235, 1732.815796, -1941.226685, 2657.322998, -73.9114982761, -180.482049241, 4.29718346348); //
  1022. CreateObject(6235, 1731.146851, -1923.879028, 2596.265381, -73.9114982761, -180.482049241, 4.29718346348); //
  1023. CreateObject(6235, 1728.929565, -1904.438599, 2527.562988, -73.9114982761, -180.482049241, 2.57831007809); //
  1024. CreateObject(6235, 1728.325073, -1885.009277, 2459.842529, -73.9114982761, -180.482049241, 2.57831007809); //
  1025. CreateObject(6235, 1727.470337, -1864.623901, 2389.055908, -73.9114982761, -180.482049241, 6.01605684887); //
  1026. CreateObject(6235, 1725.295410, -1844.960571, 2320.286621, -73.9114982761, -180.482049241, 2.57831007809); //
  1027. CreateObject(6235, 1724.464355, -1825.663086, 2252.862061, -73.9114982761, -180.482049241, 2.57831007809); //
  1028. CreateObject(6235, 1723.368408, -1806.937622, 2187.136475, -73.9114982761, -180.482049241, 2.57831007809); //
  1029. CreateObject(6235, 1722.364746, -1789.065308, 2124.469971, -73.9114982761, -180.482049241, 2.57831007809); //
  1030. CreateObject(6235, 1721.017334, -1771.251709, 2061.851074, -73.9114982761, -180.482049241, 2.57831007809); //
  1031. CreateObject(6235, 1719.967896, -1751.957275, 1994.258057, -73.9114982761, -180.482049241, 2.57831007809); //
  1032. CreateObject(6235, 1719.000610, -1732.280396, 1925.828735, -73.9114982761, -180.482049241, 2.57831007809); //
  1033. CreateObject(6235, 1717.862427, -1713.118652, 1857.563721, -73.9114982761, -180.482049241, 2.57831007809); //
  1034. CreateObject(6235, 1717.788208, -1693.863403, 1789.338135, -73.9114982761, -180.482049241, 5.15662015618); //
  1035. CreateObject(8040, 1730.393555, -2000.245728, 2721.421143, 0.000000, 0.000000, 89.999981276); //
  1036. CreateObject(6235, 1716.385132, -1674.885254, 1722.610718, -73.9114982761, -180.482049241, 5.15662015618); //
  1037. CreateObject(6235, 1714.451172, -1656.272461, 1657.348511, -73.9114982761, -180.482049241, 5.15662015618); //
  1038. CreateObject(6235, 1712.744019, -1636.659302, 1588.778320, -73.9114982761, -180.482049241, 5.15662015618); //
  1039. CreateObject(6235, 1711.277588, -1616.836914, 1519.694458, -73.9114982761, -180.482049241, 7.73493023427); //
  1040. CreateObject(6235, 1708.696289, -1598.027100, 1452.966553, -73.9114982761, -180.482049241, 7.73493023427); //
  1041. CreateObject(6235, 1706.319458, -1579.703003, 1387.828979, -73.9114982761, -180.482049241, 7.73493023427); //
  1042. CreateObject(6235, 1703.988892, -1560.796631, 1320.516724, -73.9114982761, -180.482049241, 7.73493023427); //
  1043. CreateObject(6235, 1701.601807, -1542.333984, 1255.506714, -73.9114982761, -180.482049241, 7.73493023427); //
  1044. CreateObject(6235, 1698.847900, -1523.327026, 1188.301636, -73.9114982761, -180.482049241, 7.73493023427); //
  1045. CreateObject(6235, 1695.966675, -1505.050293, 1122.865356, -73.9114982761, -180.482049241, 7.73493023427); //
  1046. CreateObject(6235, 1693.267700, -1486.785156, 1058.125366, -73.9114982761, -180.482049241, 7.73493023427); //
  1047. CreateObject(6235, 1690.560669, -1469.199585, 995.460815, -73.9114982761, -180.482049241, 7.73493023427); //
  1048. CreateObject(6235, 1688.080200, -1450.315552, 928.666504, -73.9114982761, -180.482049241, 7.73493023427); //
  1049. CreateObject(6235, 1685.320923, -1431.345581, 861.280945, -73.9114982761, -180.482049241, 7.73493023427); //
  1050. CreateObject(6235, 1682.628052, -1411.740601, 792.284668, -73.9114982761, -180.482049241, 7.73493023427); //
  1051. CreateObject(6235, 1679.282349, -1391.894653, 721.636536, -73.9114982761, -180.482049241, 7.73493023427); //
  1052. CreateObject(6235, 1677.189697, -1374.466309, 661.321533, -73.9114982761, -180.482049241, 7.73493023427); //
  1053. CreateObject(6235, 1674.146240, -1354.881592, 592.529663, -73.9114982761, -180.482049241, 7.73493023427); //
  1054. CreateObject(6235, 1671.309570, -1335.986084, 526.487061, -73.9114982761, -180.482049241, 7.73493023427); //
  1055. CreateObject(6235, 1668.144165, -1316.721191, 459.256348, -73.9114982761, -180.482049241, 6.09340615122); //
  1056. CreateObject(6235, 1665.708862, -1298.212891, 395.030487, -73.9114982761, -180.482049241, 6.01605684887); //
  1057. CreateObject(6235, 1664.092407, -1283.373169, 338.508881, -63.5982579637, -180.482049241, 6.01605684887); //
  1058. CreateObject(6235, 1663.875854, -1280.541260, 330.633270, -52.4255809587, -180.482049241, 6.01605684887); //
  1059. CreateObject(6235, 1663.806519, -1279.843384, 327.178497, -40.3935245567, -180.482049241, 6.01605684887); //
  1060. CreateObject(6235, 1663.430542, -1275.953979, 322.348206, -17.1887338539, -180.482049241, 6.01605684887); //
  1061. CreateObject(6235, 1667.607544, -1301.024902, 319.501953, 0.859436692696, -180.482049241, 6.01605684887); //
  1062. CreateObject(6235, 1732.730713, -1935.515381, 2721.749268, -103.99178252, -178.763175855, 178.763175855); //
  1063.  
  1064. //jump2
  1065.  
  1066. //race1
  1067. CreateObject(18449, 2459.237793, -1661.648438, 74.122879, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1068. CreateObject(18449, 2379.638428, -1661.641235, 74.109825, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1069. CreateObject(18449, 2301.374268, -1661.653564, 74.096786, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1070. CreateObject(18449, 2234.271729, -1661.636597, 76.083733, 0.000000, 3.43774677078, 0.000000 ,-1,300); //
  1071. CreateObject(18449, 2156.606201, -1661.633301, 86.703506, 0.000000, 12.0321136977, 0.000000 ,-1,300); //
  1072. CreateObject(18449, 2097.087402, -1661.583374, 103.647522, 0.000000, 21.4859173174, 0.000000 ,-1,300); //
  1073. CreateObject(18449, 1993.144287, -1661.595093, 100.942215, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1074. CreateObject(18449, 1914.164673, -1661.629639, 100.929192, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1075. CreateObject(1632, 1875.257202, -1667.169556, 102.573051, 0.000000, 0.000000, 89.999981276 ,-1,300); //
  1076. CreateObject(1632, 1875.255249, -1663.047485, 102.573051, 0.000000, 0.000000, 89.999981276 ,-1,300); //
  1077. CreateObject(1632, 1875.268188, -1659.065063, 102.548050, 0.000000, 0.000000, 89.999981276 ,-1,300); //
  1078. CreateObject(1632, 1875.259766, -1655.185791, 102.575035, 0.000000, 0.000000, 89.999981276 ,-1,300); //
  1079. CreateObject(18449, 1816.408447, -1661.640381, 100.941154, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1080. CreateObject(18449, 1816.598389, -1671.036499, 104.278076, -39.534087864, 0.000000, 0.000000 ,-1,300); //
  1081. CreateObject(18449, 1736.934326, -1671.033081, 104.257835, -39.534087864, 0.000000, 0.000000 ,-1,300); //
  1082. CreateObject(1290, 1778.171753, -1655.001343, 107.510323, 0.000000, 0.000000, 56.2500169454 ,-1,300); //
  1083. CreateObject(1290, 1777.453369, -1663.844360, 107.308327, 0.000000, 0.000000, 44.999990638 ,-1,300); //
  1084. CreateObject(18449, 1669.341919, -1666.890747, 104.375595, -39.534087864, 0.000000, -8.59436692696 ,-1,300); //
  1085. CreateObject(18449, 1601.646118, -1654.968750, 104.351265, -39.534087864, 0.000000, -11.1726770051 ,-1,300); //
  1086. CreateObject(18449, 1506.865723, -1633.810181, 96.949844, 0.000000, 0.000000, -14.6877730782 ,-1,300); //
  1087. CreateObject(18449, 1437.944458, -1614.525635, 96.911789, 0.000000, 0.000000, -17.2660258605 ,-1,300); //
  1088. CreateObject(18449, 1367.016113, -1592.512939, 96.898735, 0.000000, 0.000000, -17.2660258605 ,-1,300); //
  1089. CreateObject(18449, 1360.310303, -1590.369873, 92.785736, 0.859436692696, 17.1887338539, -17.2660258605 ,-1,300); //
  1090. CreateObject(18449, 1282.027100, -1566.138550, 94.866150, 0.000000, -12.8915503904, -17.2660258605 ,-1,300); //
  1091. CreateObject(18449, 1216.997559, -1545.963989, 79.260422, 0.000000, -12.8915503904, -17.2660258605 ,-1,300); //
  1092. CreateObject(1634, 1181.552002, -1540.438965, 72.788010, 0.000000, 0.000000, 67.499985957 ,-1,300); //
  1093. CreateObject(1634, 1183.035767, -1536.853271, 72.784424, 0.000000, 0.000000, 67.499985957 ,-1,300); //
  1094. CreateObject(1634, 1184.665405, -1533.023926, 72.752556, 0.000000, 0.000000, 67.499985957 ,-1,300); //
  1095. CreateObject(1634, 1186.017944, -1529.695190, 72.764046, 0.000000, 0.000000, 67.499985957 ,-1,300); //
  1096. CreateObject(18449, 1123.434570, -1509.476440, 68.406944, 0.000000, 0.000000, -29.3754888606 ,-1,300); //
  1097. CreateObject(3991, 1032.276245, -1459.301270, 68.608849, 0.000000, 0.000000, 56.2500169454 ,-1,300); //
  1098. CreateObject(3991, 920.771362, -1387.471558, 70.025002, 0.000000, 0.000000, 47.6556500184 ,-1,300); //
  1099. CreateObject(18450, 833.811707, -1317.817993, 71.310921, 0.000000, 0.000000, -41.5622438672 ,-1,300); //
  1100. CreateObject(980, 799.841797, -1287.273315, 71.728050, -90.2407954373, 0.859436692696, -41.5622438672 ,-1,300); //
  1101. CreateObject(1225, 809.166565, -1287.245972, 72.262428, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1102. CreateObject(1225, 799.681580, -1296.539551, 72.262421, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1103. CreateObject(1225, 854.970886, -1354.141968, 71.970078, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1104. CreateObject(1225, 871.545166, -1334.572998, 71.976128, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1105. CreateObject(980, 791.826355, -1279.943726, 71.716843, -88.5219220519, 0.859436692696, -41.5622438672 ,-1,300); //
  1106. CreateObject(7666, 801.478516, -1295.206177, 73.885468, 0.000000, 0.000000, -11.2500263074 ,-1,300); //
  1107. CreateObject(7666, 808.109375, -1287.645752, 73.885468, 0.000000, 0.000000, -11.2500263074 ,-1,300); //
  1108. CreateObject(980, 797.948975, -1289.282227, 74.546745, 0.000000, 0.000000, -42.4216805599 ,-1,300); //
  1109. CreateObject(980, 801.705078, -1285.269287, 74.537193, 0.000000, 0.000000, -42.4216805599 ,-1,300); //
  1110. CreateObject(980, 793.222900, -1277.518677, 74.553452, 0.000000, 0.000000, -42.4216805599 ,-1,300); //
  1111. CreateObject(980, 789.430908, -1281.470703, 74.502350, 0.000000, 0.000000, -42.4216805599 ,-1,300); //
  1112. CreateObject(980, 783.302673, -1272.145020, 71.742508, -88.5219220519, 0.859436692696, -41.5622438672 ,-1,300); //
  1113. CreateObject(980, 785.200684, -1270.193237, 74.596565, 0.000000, 0.000000, -42.4216805599 ,-1,300); //
  1114. CreateObject(980, 780.975098, -1273.696533, 74.524185, 0.000000, 0.000000, -42.4216805599 ,-1,300); //
  1115. CreateObject(980, 776.108765, -1264.017944, 71.727020, -88.5219220519, 0.859436692696, -55.3132309504 ,-1,300); //
  1116. CreateObject(980, 774.005920, -1265.728516, 74.518646, 0.000000, 0.000000, -56.1726676431 ,-1,300); //
  1117. CreateObject(980, 777.746338, -1261.503540, 74.592659, 0.000000, 0.000000, -56.1726676431 ,-1,300); //
  1118. CreateObject(980, 769.740784, -1254.489502, 71.750320, -88.5219220519, 0.859436692696, -55.3132309504 ,-1,300); //
  1119. CreateObject(980, 772.018494, -1252.945190, 74.594170, 0.000000, 0.000000, -56.1726676431 ,-1,300); //
  1120. CreateObject(980, 767.486084, -1256.022827, 74.514565, 0.000000, 0.000000, -56.1726676431 ,-1,300); //
  1121. CreateObject(980, 765.080872, -1245.567383, 71.719368, -88.5219220519, 0.859436692696, -69.0642180335 ,-1,300); //
  1122. CreateObject(980, 765.254578, -1241.782593, 71.663643, -88.5219220519, 0.859436692696, -78.5179643574 ,-1,300); //
  1123. CreateObject(980, 765.236023, -1235.913208, 71.660843, -88.5219220519, 0.859436692696, -104.301065138 ,-1,300); //
  1124. CreateObject(980, 763.331848, -1245.681641, 74.523796, 0.000000, 0.000000, -80.2368377428 ,-1,300); //
  1125. CreateObject(980, 768.204285, -1243.084473, 74.591278, 0.000000, 0.000000, -80.2368377428 ,-1,300); //
  1126. CreateObject(980, 763.270020, -1234.464111, 74.442734, 0.000000, 0.000000, -99.1444449821 ,-1,300); //
  1127. CreateObject(980, 768.948975, -1231.828003, 74.499008, 0.000000, 0.000000, -106.019938524 ,-1,300); //
  1128. CreateObject(980, 768.093384, -1224.795654, 71.638046, -88.5219220519, 0.859436692696, -104.301065138 ,-1,300); //
  1129. CreateObject(980, 770.813782, -1225.354004, 74.488792, 0.000000, 0.000000, -106.019938524 ,-1,300); //
  1130. CreateObject(980, 765.466064, -1224.025635, 74.420753, 0.000000, 0.000000, -105.160501831 ,-1,300); //
  1131. CreateObject(1634, 770.017822, -1218.135010, 73.928482, 131.493813983, 0.000000, -11.2500263074 ,-1,300); //
  1132. CreateObject(980, 768.260620, -1213.828491, 74.388794, 0.000000, 0.000000, -105.160501831 ,-1,300); //
  1133. CreateObject(980, 773.785400, -1214.657837, 74.519966, 0.000000, 0.000000, -105.160501831 ,-1,300); //
  1134. CreateObject(1634, 770.533813, -1216.713135, 68.706581, 0.000000, 0.000000, -197.266103004 ,-1,300); //
  1135. CreateObject(980, 773.255554, -1207.133911, 67.713844, -88.5219220519, 0.859436692696, -104.301065138 ,-1,300); //
  1136. CreateObject(980, 767.420349, -1217.285767, 70.476273, 0.000000, -1.71887338539, -106.879375216 ,-1,300); //
  1137. CreateObject(980, 772.917725, -1218.815430, 70.572906, 0.000000, 0.000000, -105.160501831 ,-1,300); //
  1138. CreateObject(980, 775.935303, -1207.837646, 70.582222, 0.000000, 0.000000, -106.019938524 ,-1,300); //
  1139. CreateObject(980, 770.615356, -1206.437500, 70.476608, 0.000000, 0.000000, -105.160501831 ,-1,300); //
  1140. CreateObject(13593, 773.214783, -1202.425537, 68.467628, 0.000000, 0.000000, -17.3433751628 ,-1,300); //
  1141. CreateObject(13593, 775.831299, -1203.160889, 68.457069, 0.000000, 0.000000, -17.3433751628 ,-1,300); //
  1142. CreateObject(980, 799.844910, -1287.243530, 77.291451, -90.2407954373, 0.859436692696, -41.5622438672 ,-1,300); //
  1143. CreateObject(980, 791.432312, -1279.592285, 77.330002, -90.2407954373, 0.859436692696, -41.5622438672 ,-1,300); //
  1144. CreateObject(980, 782.906738, -1271.775146, 77.344246, -90.2407954373, 0.859436692696, -41.5622438672 ,-1,300); //
  1145. CreateObject(980, 776.267090, -1264.218506, 77.381561, -88.5219220519, 0.859436692696, -55.3132309504 ,-1,300); //
  1146. CreateObject(980, 769.752014, -1254.499390, 77.373077, -88.5219220519, 0.859436692696, -55.3132309504 ,-1,300); //
  1147. CreateObject(1985, 770.103821, -1214.000244, 71.454773, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1148. CreateObject(1985, 770.838806, -1214.112305, 71.435577, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1149. CreateObject(1985, 772.006714, -1213.603760, 14.975613, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1150. CreateObject(1985, 771.566345, -1214.282227, 71.426186, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1151. CreateObject(1985, 772.294922, -1214.439819, 71.364571, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1152. CreateObject(3515, 775.018066, -1201.113525, 66.568962, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1153. CreateObject(3461, 772.458496, -1200.283691, 67.521378, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1154. CreateObject(3461, 777.607727, -1201.760376, 67.523331, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1155. //race1
  1156.  
  1157.  
  1158. //deathrace
  1159. AddStaticVehicle(541,299.0206,244.1482,1.0958,347.8402,0,0); // car
  1160. AddStaticVehicle(541,302.1102,243.1162,1.0994,350.6374,0,0); // car
  1161. AddStaticVehicle(541,305.1835,241.6211,1.0999,348.4543,0,0); // car
  1162. AddStaticVehicle(541,308.3059,241.9771,1.1045,350.0160,0,0); // car
  1163. AddStaticVehicle(541,306.7751,232.6003,1.1054,168.4529,0,0); // car
  1164. AddStaticVehicle(541,303.7698,233.6571,1.1015,170.3120,0,0); // car
  1165. AddStaticVehicle(541,300.4976,234.5350,1.0902,170.2258,0,0); // car
  1166. AddStaticVehicle(541,287.7547,240.8723,1.2643,79.0279,0,0); // car
  1167. CreateObject(18450, 228.1110534668, 251.62782287598, 0, 0, 0, 350.07507324219);
  1168. CreateObject(18450, 149.75318908691, 265.34927368164, 0, 0, 0, 350.07385253906);
  1169. CreateObject(18450, 71.898361206055, 278.92727661133, 0, 0, 0, 350.07385253906);
  1170. CreateObject(18450, 69.439353942871, 270.40731811523, 1.75, 336.18005371094, 0, 350.07385253906);
  1171. CreateObject(18450, -8.5594825744629, 284.00588989258, 1.75, 336.17614746094, 0, 350.07385253906);
  1172. CreateObject(18450, -6.6637954711914, 292.61654663086, 0, 0, 0, 350.07385253906);
  1173. CreateObject(18450, -84.562660217285, 306.15255737305, 0, 0, 0, 350.07385253906);
  1174. CreateObject(18450, -124.23265838623, 313.10287475586, -0.12499997764826, 0, 0, 350.07385253906);
  1175. CreateObject(18450, -228.6573638916, 331.61215209961, 1.625, 0, 0, 350.07385253906);
  1176. CreateObject(1634, -133.6376953125, 316.72744750977, 1.5160677433014, 0, 0, 77.414489746094);
  1177. CreateObject(1634, -140.76634216309, 318.29080200195, 6.5160675048828, 17.864990234375, 0, 77.40966796875);
  1178. CreateObject(18450, -229.98023986816, 325.30938720703, 3.2249989509583, 334.05999755859, 0, 350.07385253906);
  1179. CreateObject(18450, -228.35174560547, 340.93020629883, 3.7250003814697, 27.790008544922, 359.73498535156, 350.07385253906);
  1180. CreateObject(18450, -307.38879394531, 345.47262573242, 1.625, 0, 0, 350.07385253906);
  1181. CreateObject(4030, -388.44158935547, 360.2890625, 5.4999980926514, 0, 0, 1.9849853515625);
  1182. CreateObject(5420, -556.27520751953, 397.82620239258, 6.8062858581543, 0, 0, 180.63439941406);
  1183. CreateObject(4030, -466.07153320313, 376.70736694336, 5.2749972343445, 0, 0, 181.34924316406);
  1184. CreateObject(5419, -685.16748046875, 418.35711669922, 6.997917175293, 0, 0, 170.75048828125);
  1185. CreateObject(8661, -689.57135009766, 420.27395629883, 9.9983406066895, 178.68005371094, 0, 81.384521484375);
  1186. CreateObject(18450, -841.55346679688, 450.62286376953, 0, 0, 0, 348.09008789063);
  1187. CreateObject(1225, 78.330467224121, 274.67642211914, 0.74950504302979, 0, 0, 0);
  1188. CreateObject(1225, 78.540771484375, 276.66455078125, 0.74950504302979, 0, 0, 0);
  1189. CreateObject(1225, 78.777069091797, 278.90142822266, 0.74950504302979, 0, 0, 0);
  1190. CreateObject(1225, 79.039733886719, 281.38732910156, 0.74950504302979, 0, 0, 0);
  1191. CreateObject(1225, 74.066833496094, 281.91345214844, 0.74950504302979, 0, 0, 0);
  1192. CreateObject(1225, 73.829376220703, 279.67572021484, 0.74950504302979, 0, 0, 0);
  1193. CreateObject(1225, 73.592071533203, 277.43743896484, 0.74950504302979, 0, 0, 0);
  1194. CreateObject(1225, 73.381103515625, 275.44775390625, 0.74950504302979, 0, 0, 0);
  1195. CreateObject(1225, 66.916961669922, 276.13201904297, 0.74950504302979, 0, 0, 0);
  1196. CreateObject(1225, 67.205718994141, 278.86639404297, 0.74950504302979, 0, 0, 0);
  1197. CreateObject(1225, 67.442108154297, 281.10357666016, 0.74950504302979, 0, 0, 0);
  1198. CreateObject(1225, 67.678436279297, 283.34088134766, 0.74950504302979, 0, 0, 0);
  1199. CreateObject(1225, 4.1850109100342, 278.24389648438, 4.0995063781738, 336.17999267578, 0, 0);
  1200. CreateObject(1225, 4.4281611442566, 280.13153076172, 3.0995063781738, 336.17614746094, 0, 0);
  1201. CreateObject(1225, 4.8435516357422, 282.32800292969, 2.3495063781738, 336.17614746094, 0, 0);
  1202. CreateObject(1225, 4.8427734375, 282.3271484375, 2.3495063781738, 336.17614746094, 0, 0);
  1203. CreateObject(1225, 5.1825346946716, 283.74462890625, 1.3495063781738, 336.17614746094, 0, 0);
  1204. CreateObject(1225, -175.22972106934, 321.81295776367, 11.48388004303, 0, 0, 0);
  1205. CreateObject(1225, -174.91821289063, 324.29296875, 11.48388004303, 0, 0, 0);
  1206. CreateObject(1225, -175.9400177002, 326.18493652344, 11.48388004303, 0, 0, 0);
  1207. CreateObject(1225, -178.99221801758, 324.07049560547, 11.48388004303, 0, 0, 0);
  1208. CreateObject(1225, -179.07119750977, 325.31713867188, 11.48388004303, 0, 0, 0);
  1209. CreateObject(1225, -178.69641113281, 328.29296875, 11.48388004303, 0, 0, 0);
  1210. CreateObject(1225, -177.30130004883, 327.36206054688, 11.48388004303, 0, 0, 0);
  1211. CreateObject(1225, -181.51783752441, 327.89050292969, 11.48388004303, 0, 0, 0);
  1212. CreateObject(1225, -180.04949951172, 324.35321044922, 11.48388004303, 0, 0, 0);
  1213. CreateObject(1225, -179.78765869141, 322.87850952148, 11.48388004303, 0, 0, 0);
  1214. CreateObject(1225, -181.98341369629, 320.13562011719, 11.48388004303, 0, 0, 0);
  1215. CreateObject(1225, -184.02919006348, 321.90319824219, 11.48388004303, 0, 0, 0);
  1216. CreateObject(1225, -183.68591308594, 324.630859375, 11.48388004303, 0, 0, 0);
  1217. CreateObject(1225, -183.34313964844, 327.359375, 11.48388004303, 0, 0, 0);
  1218. CreateObject(1225, -179.28167724609, 319.54150390625, 11.48388004303, 0, 0, 0);
  1219. CreateObject(1225, -177.2652130127, 320.07321166992, 11.48388004303, 0, 0, 0);
  1220. CreateObject(1225, -841.03643798828, 446.85995483398, 0.74950504302979, 0, 0, 0);
  1221. CreateObject(1225, -839.90905761719, 450.49652099609, 0.74950504302979, 0, 0, 0);
  1222. CreateObject(1225, -840.19488525391, 453.23098754883, 0.74950504302979, 0, 0, 0);
  1223. CreateObject(1225, -842.36602783203, 454.76235961914, 0.74950504302979, 0, 0, 0);
  1224. CreateObject(1225, -844.39465332031, 452.53814697266, 0.74950504302979, 0, 0, 0);
  1225. CreateObject(1225, -844.15997314453, 450.30044555664, 0.74950504302979, 0, 0, 0);
  1226. CreateObject(1225, -843.92462158203, 448.06216430664, 0.74950504302979, 0, 0, 0);
  1227. CreateObject(1225, -845.66442871094, 447.87908935547, 0.74950504302979, 0, 0, 0);
  1228. CreateObject(1225, -845.82043457031, 449.37066650391, 0.74950504302979, 0, 0, 0);
  1229. CreateObject(1225, -845.84637451172, 449.61874389648, 0.74950504302979, 0, 0, 0);
  1230. CreateObject(1225, -846.13238525391, 452.35305786133, 0.74950504302979, 0, 0, 0);
  1231. CreateObject(1225, -846.39245605469, 454.83880615234, 0.74950504302979, 0, 0, 0);
  1232. CreateObject(1225, -810.19439697266, 447.86639404297, 0.74950504302979, 0, 0, 0);
  1233. CreateObject(1225, -810.78375244141, 445.69476318359, 0.74950504302979, 0, 0, 0);
  1234. CreateObject(1225, -811.43811035156, 443.28161621094, 0.74950504302979, 0, 0, 0);
  1235. CreateObject(1225, -811.89593505859, 441.59234619141, 0.74950504302979, 0, 0, 0);
  1236. CreateObject(1225, -812.35394287109, 439.90289306641, 0.74950504302979, 0, 0, 0);
  1237. CreateObject(1225, -803.21160888672, 436.89736938477, 0.74950504302979, 0, 0, 0);
  1238. CreateObject(1225, -803.19616699219, 439.646484375, 0.74950504302979, 0, 0, 0);
  1239. CreateObject(1225, -801.42919921875, 442.63708496094, 0.74950504302979, 0, 0, 0);
  1240. CreateObject(1225, -801.41394042969, 445.38671875, 0.74950504302979, 0, 0, 0);
  1241. CreateObject(1225, -801.39697265625, 448.38671875, 0.74950504302979, 0, 0, 0);
  1242. CreateObject(1225, -801.396484375, 448.38671875, 0.74950504302979, 0, 0, 0);
  1243. CreateObject(1225, -520.99877929688, 385.23645019531, 2.5502071380615, 0, 0, 0);
  1244. CreateObject(1225, -520.48168945313, 387.42617797852, 2.5502071380615, 0, 0, 0);
  1245. CreateObject(1225, -520.76831054688, 386.20919799805, 2.5502071380615, 0, 0, 0);
  1246. CreateObject(1225, -521.2265625, 384.26245117188, 2.5502071380615, 0, 0, 0);
  1247. CreateObject(1225, -521.51342773438, 383.04513549805, 2.5502071380615, 0, 0, 0);
  1248. CreateObject(17034, -356.59002685547, 370.42272949219, -0.5, 0, 0, 354.04504394531);
  1249. CreateObject(17034, -352.37683105469, 337.80438232422, -0.5, 0, 0, 177.3759765625);
  1250. CreateObject(17034, -356.63031005859, 346.30731201172, 8.5, 0, 0, 86.064697265625);
  1251. CreateObject(3037, -435.98498535156, 373.65072631836, 6.1876440048218, 0, 0, 296.48046875);
  1252. CreateObject(8040, 306.27700805664, 237.49909973145, 1.2000002861023, 0, 0.045013427734375, 169.44140625);
  1253. CreateObject(1634, -134.71896362305, 312.84332275391, 1.5160677433014, 0, 0, 77.40966796875);
  1254. CreateObject(1634, -135.51605224609, 309.17016601563, 1.5160677433014, 0, 0, 77.40966796875);
  1255. CreateObject(1634, -132.87641906738, 320.1510925293, 1.5160677433014, 0, 0, 77.40966796875);
  1256. CreateObject(1634, -141.8962097168, 314.42095947266, 6.5160675048828, 17.86376953125, 0, 77.40966796875);
  1257. CreateObject(1634, -143.0260925293, 310.55181884766, 6.5160675048828, 17.86376953125, 0, 77.40966796875);
  1258. CreateObject(1634, -139.96006774902, 321.70523071289, 6.5160675048828, 17.86376953125, 0, 77.40966796875);
  1259. CreateObject(1634, -770.15045166016, 431.03295898438, 3.5139849185944, 0, 0, 81.384521484375);
  1260. CreateObject(1634, -769.51794433594, 434.80374145508, 3.5139849185944, 0, 0, 81.381225585938);
  1261. CreateObject(1634, -768.87731933594, 438.32534790039, 3.5139849185944, 0, 0, 81.381225585938);
  1262. CreateObject(1634, -768.36126708984, 441.84271240234, 3.5139849185944, 0, 0, 81.381225585938);
  1263. CreateObject(1634, -770.70629882813, 427.2619934082, 3.5139849185944, 0, 0, 81.381225585938);
  1264. CreateObject(8661, -689.5712890625, 420.2734375, 10.998344421387, 1.3104248046875, 0, 81.381225585938);
  1265. CreateObject(1634, -665.98327636719, 419.62084960938, 3.2389857769012, 0.75, 0.2349853515625, 82.631225585938);
  1266. CreateObject(1225, -662.23724365234, 416.76300048828, 2.6290688514709, 0, 0, 0);
  1267. CreateObject(1225, -696.87475585938, 417.68826293945, 2.6290688514709, 0, 0, 0);
  1268. CreateObject(1225, -662.57952880859, 413.53033447266, 2.6290688514709, 0, 0, 0);
  1269. CreateObject(1225, -662.76409912109, 411.79010009766, 2.6290688514709, 0, 0, 0);
  1270. CreateObject(1225, -661.65368652344, 422.23107910156, 2.6290688514709, 0, 0, 0);
  1271. CreateObject(1225, -661.49475097656, 423.72204589844, 2.6290688514709, 0, 0, 0);
  1272. CreateObject(1225, -661.36199951172, 424.96466064453, 2.6290688514709, 0, 0, 0);
  1273. CreateObject(1225, -661.361328125, 424.9638671875, 2.6290688514709, 0, 0, 0);
  1274. CreateObject(972, -37.373443603516, 283.03570556641, 0.66638660430908, 0, 0, 59.549621582031);
  1275. CreateObject(972, 99.233291625977, 259.92138671875, 0.66638660430908, 0, 0, 99.245819091797);
  1276. CreateObject(1225, -696.73669433594, 420.18383789063, 2.6290688514709, 0, 0, 0);
  1277. CreateObject(1225, -696.57153320313, 423.17919921875, 2.6290688514709, 0, 0, 0);
  1278. CreateObject(1225, -696.40649414063, 426.17431640625, 2.6290688514709, 0, 0, 0);
  1279. CreateObject(1225, -696.25518798828, 428.91979980469, 2.6290688514709, 0, 0, 0);
  1280. CreateObject(1225, -696.32354736328, 427.67077636719, 2.6290688514709, 0, 0, 0);
  1281. CreateObject(1225, -696.47430419922, 424.92395019531, 2.6290688514709, 0, 0, 0);
  1282. CreateObject(1225, -696.65216064453, 421.67858886719, 2.6290688514709, 0, 0, 0);
  1283. CreateObject(1225, -696.80242919922, 418.93176269531, 2.6290688514709, 0, 0, 0);
  1284. CreateObject(1225, -696.18377685547, 430.16516113281, 2.6290688514709, 0, 0, 0);
  1285. CreateObject(1225, -696.18359375, 430.1650390625, 2.6290688514709, 0, 0, 0);
  1286. CreateObject(974, -879.29632568359, 460.25173950195, 3.1214904785156, 0, 0, 81.384490966797);
  1287. CreateObject(974, -880.72259521484, 454.35293579102, 3.1214904785156, 0, 0, 73.443542480469);
  1288. CreateObject(974, -879.29632568359, 460.25173950195, 3.1214904785156, 0, 0, 81.384490966797);
  1289. //deathrace
  1290.  
  1291. //haydm
  1292. CreateObject(3374, 2490.299316, -1665.000732, 451.462708, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1293. CreateObject(3374, 2490.295410, -1660.979370, 451.463074, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1294. CreateObject(3374, 2486.303711, -1661.056030, 451.462646, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1295. CreateObject(3374, 2486.331055, -1664.995117, 451.428467, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1296. CreateObject(3374, 2490.370605, -1668.995483, 451.428528, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1297. CreateObject(3374, 2486.327148, -1668.973633, 451.428467, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1298. CreateObject(3374, 2482.459473, -1668.966675, 451.433655, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1299. CreateObject(3374, 2482.468262, -1664.936157, 451.444489, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1300. CreateObject(3374, 2482.490723, -1661.000610, 451.478302, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1301. CreateObject(3374, 2493.978027, -1668.996582, 451.828918, 0.000000, -11.1726770051, 0.000000 ,-1,300); //
  1302. CreateObject(3374, 2493.948242, -1664.979980, 451.845551, 0.000000, -11.1726770051, 0.000000 ,-1,300); //
  1303. CreateObject(3374, 2493.900146, -1660.988525, 451.853546, 0.000000, -11.1726770051, 0.000000 ,-1,300); //
  1304. CreateObject(3374, 2497.897705, -1661.004395, 453.319946, 0.000000, -27.5019741663, 0.000000 ,-1,300); //
  1305. CreateObject(3374, 2497.948242, -1664.973267, 453.307678, 0.000000, -27.5019741663, 0.000000 ,-1,300); //
  1306. CreateObject(3374, 2497.915283, -1668.992798, 453.330444, 0.000000, -27.5019741663, 0.000000 ,-1,300); //
  1307. CreateObject(3374, 2486.376221, -1672.842529, 452.128662, -23.2047907028, 0.859436692696, 0.000000 ,-1,300); //
  1308. CreateObject(3374, 2486.388184, -1676.142212, 453.608551, -23.2047907028, 0.859436692696, 0.000000 ,-1,300); //
  1309. CreateObject(3374, 2486.399902, -1679.770630, 455.221191, -23.2047907028, 0.859436692696, 0.000000 ,-1,300); //
  1310. CreateObject(3374, 2486.390381, -1683.209473, 456.807648, -23.2047907028, 0.859436692696, 0.000000 ,-1,300); //
  1311. CreateObject(3374, 2486.385254, -1686.613159, 458.265411, -23.2047907028, 0.859436692696, 0.000000 ,-1,300); //
  1312. CreateObject(3374, 2486.393066, -1689.888550, 458.873993, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1313. CreateObject(3374, 2490.253662, -1689.879761, 458.873993, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1314. CreateObject(3374, 2494.125000, -1689.892700, 458.924103, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1315. CreateObject(3374, 2497.950195, -1689.891357, 458.949219, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1316. CreateObject(3374, 2501.739258, -1689.899658, 458.949280, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1317. CreateObject(3374, 2505.519775, -1689.883179, 458.949280, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1318. CreateObject(3374, 2509.376221, -1689.907471, 458.949158, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1319. CreateObject(3374, 2511.431152, -1687.807983, 458.949341, 0.000000, 0.000000, -50.7067075733 ,-1,300); //
  1320. CreateObject(3374, 2513.277100, -1689.841919, 458.924347, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1321. CreateObject(3374, 2513.290283, -1685.918701, 458.974335, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1322. CreateObject(3374, 2513.266357, -1682.169312, 459.049377, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1323. CreateObject(3374, 2513.277588, -1678.282349, 459.049500, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1324. CreateObject(3374, 2513.280518, -1674.259521, 459.049561, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1325. CreateObject(3374, 2513.283691, -1670.367798, 459.099670, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1326. CreateObject(3374, 2513.312500, -1666.468994, 459.099854, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1327. CreateObject(3374, 2513.321289, -1662.613281, 459.099915, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1328. CreateObject(3374, 2513.322021, -1658.673462, 459.174896, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1329. CreateObject(3374, 2513.421631, -1654.773804, 459.324921, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1330. CreateObject(3374, 2513.434570, -1650.818970, 459.250183, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1331. CreateObject(3374, 2516.298828, -1650.817627, 458.350525, 0.000000, 32.6585943225, 0.000000 ,-1,300); //
  1332. CreateObject(3374, 2519.558105, -1650.807251, 456.187469, 0.000000, 32.6585943225, 0.000000 ,-1,300); //
  1333. CreateObject(3374, 2522.886719, -1650.821899, 454.055084, 0.000000, 32.6585943225, 0.000000 ,-1,300); //
  1334. CreateObject(3374, 2526.280762, -1650.866821, 451.942108, 0.000000, 32.6585943225, 0.000000 ,-1,300); //
  1335. CreateObject(3374, 2530.469238, -1650.873535, 450.603333, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1336. CreateObject(3374, 2534.269043, -1650.874268, 450.603210, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1337. CreateObject(3374, 2534.265625, -1654.754517, 450.628448, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1338. CreateObject(3374, 2534.262695, -1658.691406, 450.653809, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1339. CreateObject(3374, 2534.252930, -1662.596558, 450.703674, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1340. CreateObject(3374, 2534.268311, -1666.623169, 450.704102, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1341. CreateObject(3374, 2534.321045, -1668.992554, 450.676300, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1342. CreateObject(3374, 2530.401123, -1668.954590, 450.667206, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1343. CreateObject(3374, 2530.427734, -1664.987793, 450.692261, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1344. CreateObject(3374, 2530.435791, -1660.973999, 450.692505, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1345. CreateObject(3374, 2526.722168, -1660.984985, 450.692566, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1346. CreateObject(3374, 2526.693115, -1665.025879, 450.692261, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1347. CreateObject(3374, 2526.647461, -1669.065796, 450.692261, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1348. CreateObject(3374, 2522.747070, -1660.994629, 450.667389, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1349. CreateObject(3374, 2522.799072, -1664.971558, 450.817474, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1350. CreateObject(3374, 2522.943359, -1668.920410, 450.917389, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1351. CreateObject(3374, 2519.081299, -1668.879517, 450.992615, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1352. CreateObject(3374, 2519.052490, -1664.871216, 450.917816, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1353. CreateObject(3374, 2519.022217, -1661.032471, 450.892822, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1354. CreateObject(3374, 2510.994873, -1661.044067, 451.942810, 0.000000, 25.7831007809, 0.000000 ,-1,300); //
  1355. CreateObject(3374, 2511.177246, -1664.992798, 452.075439, 0.000000, 25.7831007809, 0.000000 ,-1,300); //
  1356. CreateObject(3374, 2511.343018, -1668.921753, 452.167572, 0.000000, 25.7831007809, 0.000000 ,-1,300); //
  1357. CreateObject(3374, 2515.151367, -1668.885376, 451.042786, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1358. CreateObject(3374, 2515.145752, -1664.804565, 451.092834, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1359. CreateObject(3374, 2515.033203, -1660.999146, 450.917938, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1360. CreateObject(3374, 2517.168945, -1668.332764, 459.025299, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1361. CreateObject(3374, 2517.131104, -1664.343506, 459.050415, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1362. CreateObject(3374, 2517.107910, -1660.319702, 459.075653, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1363. CreateObject(3374, 2478.615967, -1660.994141, 451.578461, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1364. CreateObject(3374, 2478.612061, -1664.994507, 451.678558, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1365. CreateObject(3374, 2478.559570, -1668.923706, 451.478790, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1366. CreateObject(3374, 2482.494873, -1672.888184, 451.558868, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1367. CreateObject(3374, 2478.614258, -1672.903809, 451.573486, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1368. CreateObject(3374, 2490.398926, -1672.951416, 451.503693, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1369. CreateObject(3374, 2534.261475, -1672.978882, 450.876556, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1370. CreateObject(3374, 2538.164551, -1672.915771, 450.951782, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1371. CreateObject(3374, 2542.019043, -1672.911377, 451.051697, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1372. CreateObject(3374, 2520.980225, -1662.410645, 459.150635, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1373. CreateObject(3374, 2520.955322, -1666.337280, 459.150635, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1374. CreateObject(3374, 2524.803955, -1666.383545, 459.300781, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1375. CreateObject(3374, 2524.932129, -1662.373657, 459.225861, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1376. CreateObject(3374, 2528.552490, -1666.351318, 459.350952, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1377. CreateObject(3374, 2528.800293, -1662.360596, 459.226227, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1378. CreateObject(3374, 2532.426514, -1666.361450, 459.401184, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1379. CreateObject(3374, 2532.587158, -1662.411865, 459.326141, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1380. CreateObject(3374, 2535.676514, -1666.356934, 458.740601, 0.000000, 25.7831007809, 0.000000 ,-1,300); //
  1381. CreateObject(3374, 2535.669922, -1662.437988, 458.748108, 0.000000, 25.7831007809, 0.000000 ,-1,300); //
  1382. CreateObject(3374, 2539.284424, -1666.366211, 456.955627, 0.000000, 25.7831007809, 0.000000 ,-1,300); //
  1383. CreateObject(3374, 2539.166992, -1662.416138, 456.899414, 0.000000, 25.7831007809, 0.000000 ,-1,300); //
  1384. CreateObject(3374, 2542.678223, -1666.367676, 455.289032, 0.000000, 25.7831007809, 0.000000 ,-1,300); //
  1385. CreateObject(3374, 2542.705078, -1662.346680, 455.264252, 0.000000, 25.7831007809, 0.000000 ,-1,300); //
  1386. CreateObject(3374, 2546.254883, -1666.376953, 453.667908, 0.000000, 25.7831007809, 0.000000 ,-1,300); //
  1387. CreateObject(3374, 2546.384766, -1662.410156, 453.892242, 0.000000, 25.7831007809, 0.000000 ,-1,300); //
  1388. CreateObject(3374, 2545.875488, -1672.891357, 451.057648, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1389. CreateObject(3374, 2549.811768, -1672.930176, 451.057648, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1390. CreateObject(3374, 2553.794922, -1672.974609, 451.107574, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1391. CreateObject(3374, 2553.810547, -1669.169067, 451.157745, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1392. CreateObject(3374, 2553.799072, -1665.212524, 451.158051, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1393. CreateObject(3374, 2553.907715, -1661.384521, 451.258331, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1394. CreateObject(3374, 2549.541748, -1666.395508, 452.065216, 0.000000, 25.7831007809, 0.000000 ,-1,300); //
  1395. CreateObject(3374, 2549.494873, -1662.386108, 452.159698, 0.000000, 25.7831007809, 0.000000 ,-1,300); //
  1396. CreateObject(3374, 2557.536377, -1661.408936, 451.358429, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1397. CreateObject(3374, 2557.646240, -1665.371948, 451.283142, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1398. CreateObject(3374, 2557.598877, -1669.345093, 451.307892, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1399. CreateObject(3374, 2557.635986, -1672.893188, 451.233032, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1400. CreateObject(3374, 2549.770996, -1668.888672, 451.057770, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1401. CreateObject(3374, 2549.893555, -1658.950439, 454.558258, 92.8191055154, -2.57831007809, 2.57831007809 ,-1,300); //
  1402. CreateObject(3374, 2553.941895, -1658.206299, 454.258331, 91.9596688227, 2.57831007809, 0.000000 ,-1,300); //
  1403. CreateObject(3374, 2557.781494, -1657.769653, 454.358429, 91.10023213, 0.859436692696, 1.71887338539 ,-1,300); //
  1404. CreateObject(3374, 2560.785400, -1660.878540, 454.358429, 90.2407954373, 0.859436692696, -85.9436119738 ,-1,300); //
  1405. CreateObject(3374, 2560.882324, -1664.970215, 454.283142, 90.2407954373, 0.859436692696, -89.3813587446 ,-1,300); //
  1406. CreateObject(3374, 2561.009033, -1668.660522, 454.307892, 90.2407954373, 0.859436692696, -89.3813587446 ,-1,300); //
  1407. CreateObject(3374, 2560.934570, -1672.504639, 454.307892, 90.2407954373, 0.859436692696, -89.3813587446 ,-1,300); //
  1408. CreateObject(3374, 2557.650146, -1675.955322, 454.233032, 91.10023213, 0.859436692696, 1.71887338539 ,-1,300); //
  1409. CreateObject(3374, 2560.738281, -1657.750366, 454.373444, 91.10023213, 0.859436692696, -44.6906507244 ,-1,300); //
  1410. CreateObject(3374, 2560.790527, -1675.648315, 454.260071, 90.2407954373, 0.859436692696, -142.666605579 ,-1,300); //
  1411. CreateObject(3374, 2539.130371, -1658.441162, 456.899567, 0.000000, 25.7831007809, 0.000000 ,-1,300); //
  1412. CreateObject(3374, 2546.096680, -1658.909668, 454.586090, 91.10023213, 0.859436692696, -2.57831007809 ,-1,300); //
  1413. CreateObject(3374, 2542.378418, -1658.387451, 455.609070, 0.000000, 13.7509870831, 0.000000 ,-1,300); //
  1414. CreateObject(3374, 2554.263916, -1676.606445, 454.182556, 0.000000, -20.6264806247, 0.000000 ,-1,300); //
  1415. CreateObject(3374, 2550.553467, -1676.533081, 452.882935, 0.000000, -20.6264806247, 0.000000 ,-1,300); //
  1416. CreateObject(3374, 2546.809570, -1676.511230, 451.632690, 0.000000, -20.6264806247, 0.000000 ,-1,300); //
  1417. CreateObject(3374, 2543.435303, -1676.483398, 11.519611, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1418. CreateObject(3374, 2543.126221, -1676.470459, 451.151794, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1419. //haydm
  1420.  
  1421. // spawn
  1422. CreateObject(18450, 1629.365234, -1252.558716, 252.548096, 0.000000, 36.9557777859, 0.000000 ,-1,300); //
  1423. CreateObject(18450, 1714.647949, -1252.647949, 239.568100, 0.000000, -11.1726770051, 0.000000 ,-1,300); //
  1424. CreateObject(1633, 1678.107788, -1243.352295, 233.675293, 0.000000, 0.000000, -67.499985957 ,-1,300); //
  1425. CreateObject(1633, 1677.226318, -1262.055664, 233.675293, 0.000000, 0.000000, -112.499976595 ,-1,300); //
  1426. CreateObject(974, 1657.906982, -1243.248291, 235.152740, 0.000000, 0.000000, 11.2500263074 ,-1,300); //
  1427. CreateObject(974, 1664.448242, -1241.947632, 235.152740, 0.000000, 0.000000, 11.2500263074 ,-1,300); //
  1428. CreateObject(974, 1670.996338, -1240.597168, 235.152740, 0.000000, 0.000000, 11.2500263074 ,-1,300); //
  1429. CreateObject(974, 1677.339722, -1238.706299, 235.152740, 0.000000, 0.000000, 22.499995319 ,-1,300); //
  1430. CreateObject(974, 1660.379761, -1261.576538, 235.152740, 0.000000, 0.000000, -11.2500263074 ,-1,300); //
  1431. CreateObject(974, 1666.904175, -1262.821045, 235.148163, 0.000000, 0.000000, -11.2500263074 ,-1,300); //
  1432. CreateObject(974, 1673.181519, -1264.728394, 235.152740, 0.000000, 0.000000, -22.499995319 ,-1,300); //
  1433. CreateObject(18450, 1813.909424, -1252.171143, 249.375977, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1434. CreateObject(18450, 1881.235718, -1252.153931, 220.512863, 0.000000, 46.4095241098, 0.000000 ,-1,300); //
  1435. CreateObject(18450, 1936.179810, -1252.171387, 162.786346, 0.000000, 46.4095241098, 0.000000 ,-1,300); //
  1436. CreateObject(18450, 1961.005981, -1252.460693, 139.774323, 0.000000, 37.8152144786, -1.71887338539 ,-1,300); //
  1437. CreateObject(1655, 1992.010742, -1250.090210, 117.512611, -31.7991576298, 0.000000, -89.999981276 ,-1,300); //
  1438. CreateObject(1655, 1991.994263, -1256.522949, 117.515503, -31.7991576298, 0.000000, -89.999981276 ,-1,300); //
  1439. CreateObject(1655, 2000.305786, -1249.853271, 118.949806, 2.57831007809, 0.000000, -89.999981276 ,-1,300); //
  1440. CreateObject(1655, 2000.306519, -1256.512817, 118.956192, 2.57831007809, 0.000000, -89.999981276 ,-1,300); //
  1441. CreateObject(1483, 1591.628662, -1270.424561, 275.410095, 0.000000, 40.3935245567, -89.999981276 ,-1,300); //
  1442. CreateObject(971, 1590.656982, -1276.173828, 275.042419, 90.2407954373, 0.000000, 0.000000 ,-1,300); //
  1443. CreateObject(971, 1583.127319, -1273.240845, 273.041412, 90.2407954373, 0.000000, 0.000000 ,-1,300); //
  1444. CreateObject(971, 1593.137207, -1273.197266, 270.324371, 90.2407954373, 0.000000, 0.000000 ,-1,300); //
  1445. CreateObject(971, 1582.836914, -1273.254272, 266.523773, 90.2407954373, 0.000000, 0.000000 ,-1,300); //
  1446. CreateObject(971, 1593.189087, -1273.348755, 262.643188, 90.2407954373, 0.000000, 0.000000 ,-1,300); //
  1447. CreateObject(971, 1575.069092, -1273.734375, 264.150940, 0.000000, 0.000000, 89.999981276 ,-1,300); //
  1448. CreateObject(971, 1575.930664, -1274.476563, 272.167816, 0.000000, 0.000000, 89.999981276 ,-1,300); //
  1449. CreateObject(3399, 1598.866089, -1265.079834, 260.438019, 0.000000, 0.000000, -89.999981276 ,-1,300); //
  1450. CreateObject(3399, 1598.891846, -1253.495117, 255.820740, 0.000000, 0.000000, -89.999981276 ,-1,300); //
  1451. CreateObject(5301, 1604.140625, -1221.926025, 252.023499, 0.000000, 0.000000, -180.000019848 ,-1,300); //
  1452. CreateObject(8572, 1598.775146, -1218.028564, 255.858429, 0.000000, 0.000000, 89.999981276 ,-1,300); //
  1453. CreateObject(8613, 1594.098022, -1212.157471, 261.139984, 0.000000, 0.000000, -270.000001124 ,-1,300); //
  1454. CreateObject(16644, 1580.414551, -1208.577026, 264.516785, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1455. CreateObject(16644, 1562.442627, -1208.387939, 263.976837, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1456. CreateObject(16640, 1547.902710, -1203.164063, 263.341553, 0.000000, 0.000000, -179.999962552 ,-1,300); //
  1457. CreateObject(16640, 1562.507202, -1203.083374, 259.300507, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1458. CreateObject(16782, 1553.913818, -1208.484619, 256.045166, 0.000000, -90.2407954373, -180.000019848 ,-1,300); //
  1459. CreateObject(16782, 1550.614990, -1210.870850, 255.296326, 0.000000, -90.2407954373, -180.000019848 ,-1,300); //
  1460. CreateObject(16782, 1548.321655, -1211.042847, 255.171326, 0.000000, -90.2407954373, -180.000019848 ,-1,300); //
  1461. CreateObject(16782, 1545.298340, -1211.562744, 255.198212, 0.000000, -90.2407954373, -180.000019848 ,-1,300); //
  1462. CreateObject(7073, 1542.837769, -1214.164063, 34.692131, 0.000000, 92.8191055154, 0.000000 ,-1,300); //
  1463. CreateObject(6965, 1536.016113, -1215.275879, 256.365601, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1464. CreateObject(3743, 1539.444458, -1230.166870, 250.590378, 0.000000, 0.000000, -168.74999354 ,-1,300); //
  1465. CreateObject(971, 1574.967163, -1275.372925, 254.226166, 0.000000, 0.000000, 89.999981276 ,-1,300); //
  1466. CreateObject(18253, 1544.622314, -1279.785522, 246.829956, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1467. CreateObject(18253, 1537.099365, -1295.513550, 246.848846, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1468. CreateObject(18253, 1552.380249, -1294.921509, 246.585678, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1469. CreateObject(18253, 1543.899414, -1306.179321, 246.842926, 0.000000, 0.000000, -89.999981276 ,-1,300); //
  1470. CreateObject(18251, 1545.817627, -1315.672485, 250.872131, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1471. CreateObject(3689, 1576.280762, -1340.265259, 259.855316, 0.000000, -26.6425374736, -38.0471477941 ,-1,300); //
  1472. CreateObject(5309, 1570.420044, -1376.217529, 295.826416, 0.000000, 18.0481705466, 0.000000 ,-1,300); //
  1473. CreateObject(3170, 1533.481689, -1380.953979, 310.788422, 30.0802842444, 1.71887338539, 79.4547503524 ,-1,300); //
  1474. CreateObject(3169, 1528.602539, -1373.417969, 314.653107, -12.0321136977, -24.9236640882, -167.590441555 ,-1,300); //
  1475. CreateObject(967, 1527.915894, -1370.031494, 318.496246, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1476. CreateObject(967, 1527.878174, -1368.432007, 320.416199, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1477. CreateObject(967, 1526.513428, -1368.562378, 322.741058, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1478. CreateObject(967, 1525.135010, -1368.583130, 324.942169, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1479. CreateObject(967, 1525.140381, -1367.354370, 327.274231, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1480. CreateObject(1684, 1529.093140, -1362.709961, 326.867065, 0.000000, 0.000000, 44.999990638 ,-1,300); //
  1481. CreateObject(16021, 1543.302979, -1234.969360, 276.680756, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1482. CreateObject(16146, 1552.138062, -1268.675293, 280.011414, 0.000000, 0.000000, -123.749945607 ,-1,300); //
  1483. CreateObject(17523, 1562.008789, -1206.477417, 279.504059, 0.000000, 0.000000, 89.999981276 ,-1,300); //
  1484. CreateObject(18282, 1583.365356, -1206.386963, 277.099121, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1485. CreateObject(3578, 1596.826904, -1208.134399, 277.878448, 0.000000, 0.000000, 89.999981276 ,-1,300); //
  1486. CreateObject(3578, 1596.901489, -1218.300049, 277.675079, 0.000000, 0.000000, 89.999981276 ,-1,300); //
  1487. CreateObject(3578, 1596.856567, -1228.566650, 277.651642, 0.000000, 0.000000, -89.999981276 ,-1,300); //
  1488. CreateObject(3578, 1596.769043, -1238.613037, 277.654083, 0.000000, 0.000000, -89.999981276 ,-1,300); //
  1489. CreateObject(3578, 1564.904541, -1269.114258, 277.660858, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1490. CreateObject(3578, 1573.610962, -1269.109863, 277.660858, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1491. CreateObject(3578, 1596.966797, -1264.546021, 277.660431, 0.000000, 0.000000, -89.999981276 ,-1,300); //
  1492. CreateObject(625, 1567.715820, -1265.531616, 277.938507, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1493. CreateObject(626, 1577.244507, -1266.244385, 278.931396, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1494. CreateObject(18014, 1570.946045, -1267.761475, 277.315002, 0.000000, 0.000000, -89.999981276 ,-1,300); //
  1495. CreateObject(632, 1550.934326, -1235.420288, 277.329590, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1496. CreateObject(633, 1554.059692, -1221.435425, 277.875732, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1497. CreateObject(630, 1572.294312, -1212.247925, 278.125549, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1498. CreateObject(644, 1550.296387, -1245.151978, 277.391785, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1499. CreateObject(646, 1570.750732, -1221.018799, 278.294281, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1500. CreateObject(1360, 1595.461426, -1261.682007, 277.653687, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1501. CreateObject(1360, 1594.839844, -1225.855591, 277.644958, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1502. CreateObject(1364, 1549.944214, -1239.958374, 277.666931, 0.000000, 0.000000, 89.999981276 ,-1,300); //
  1503. CreateObject(1364, 1561.090454, -1262.263672, 277.666931, 0.000000, 0.000000, -213.749984178 ,-1,300); //
  1504. CreateObject(1597, 1602.920776, -1252.213257, 276.004242, -36.9557777859, 0.000000, -93.4377280468 ,-1,300); //
  1505. CreateObject(2001, 1592.267944, -1212.046387, 277.100403, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1506. CreateObject(2011, 1594.674927, -1267.147949, 277.883148, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1507. CreateObject(3439, 1595.293335, -1259.644775, 280.994507, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1508. CreateObject(3439, 1595.622192, -1243.111328, 280.990479, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1509. CreateObject(3439, 1595.486206, -1211.279297, 281.213745, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1510. CreateObject(3439, 1578.370972, -1211.861328, 281.213745, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1511. CreateObject(3439, 1571.575684, -1218.988403, 280.990906, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1512. CreateObject(3439, 1554.449707, -1233.370605, 280.995056, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1513. CreateObject(3439, 1551.285156, -1254.492432, 280.993256, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1514. CreateObject(3439, 1540.663452, -1247.870117, 281.997223, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1515. CreateObject(3439, 1576.925537, -1272.586792, 264.707092, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1516. CreateObject(3439, 1601.158569, -1221.241699, 257.754028, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1517. CreateObject(3439, 1601.325317, -1224.978760, 257.754028, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1518. CreateObject(3439, 1554.163696, -1208.056519, 270.806458, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1519. CreateObject(3439, 1534.902100, -1208.060547, 256.841675, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1520. CreateObject(972, 1544.560303, -1212.581909, 249.278351, 0.000000, -90.2407954373, -2.57831007809 ,-1,300); //
  1521. CreateObject(972, 1537.428467, -1215.401733, 249.260788, 0.000000, -90.2407954373, -2.57831007809 ,-1,300); //
  1522. CreateObject(8550, 1573.607178, -1240.197266, 281.124512, 0.000000, 0.000000, -44.999990638 ,-1,300); //
  1523. CreateObject(14467, 1595.756470, -1268.798950, 279.617218, 0.000000, 0.000000, 0.000000 ,-1,300); //
  1524. CreateObject(14826, 1594.103394, -1217.798950, 277.662018, 0.000000, 0.000000, 89.999981276 ,-1,300); //
  1525.  
  1526.  
  1527. //duell
  1528. DualRoom1 = -1;
  1529. DualRoom2 = -1;
  1530. DualRoom3 = -1;
  1531. DualRoom4 = -1;
  1532. CreateObject(3095, 1745.2294921875, -2835.8447265625, 5, 0, 0, 0,-1,300);
  1533. CreateObject(3095, 1736.2451171875, -2835.8447265625, 5, 0, 0, 0,-1,300);
  1534. CreateObject(3095, 1745.2294921875, -2844.833984375, 5, 0, 0, 0,-1,300);
  1535. CreateObject(3095, 1736.2451171875, -2844.833984375, 5, 0, 0, 0,-1,300);
  1536. CreateObject(3095, 1745.2294921875, -2853.8239746094, 5, 0, 0, 0,-1,300);
  1537. CreateObject(3095, 1736.2451171875, -2853.8239746094, 5, 0, 0, 0,-1,300);
  1538. CreateObject(3095, 1727.2551269531, -2835.8447265625, 5, 0, 0, 0,-1,300);
  1539. CreateObject(3095, 1727.2551269531, -2844.833984375, 5, 0, 0, 0,-1,300);
  1540. CreateObject(3095, 1727.2551269531, -2853.8232421875, 5, 0, 0, 0,-1,300);
  1541. CreateObject(3095, 1745.2294921875, -2862.8132324219, 5, 0, 0, 0,-1,300);
  1542. CreateObject(3095, 1736.2451171875, -2862.8132324219, 5, 0, 0, 0,-1,300);
  1543. CreateObject(3095, 1727.2548828125, -2862.8132324219, 5, 0, 0, 0,-1,300);
  1544. CreateObject(3095, 1718.2648925781, -2835.8447265625, 5, 0, 0, 0,-1,300);
  1545. CreateObject(3095, 1718.2648925781, -2844.833984375, 5, 0, 0, 0,-1,300);
  1546. CreateObject(3095, 1718.2648925781, -2853.8232421875, 5, 0, 0, 0,-1,300);
  1547. CreateObject(3095, 1718.2648925781, -2862.8125, 5, 0, 0, 0,-1,300);
  1548. CreateObject(3401, 1742.7684326172, -2859.9912109375, 7.9004049301147, 0, 0, 0,-1,300);
  1549. CreateObject(994, 1742.6313476563, -2852.4506835938, 5.5881395339966, 0, 0, 0,-1,300);
  1550. CreateObject(994, 1736.0305175781, -2852.4506835938, 5.5881395339966, 0, 0, 0,-1,300);
  1551. CreateObject(3095, 1749.6668701172, -2835.8447265625, 9.5, 0, 90, 0,-1,300);
  1552. CreateObject(3095, 1749.666015625, -2862.8134765625, 9.5, 0, 90, 0,-1,300);
  1553. CreateObject(3095, 1749.666015625, -2853.8232421875, 9.5, 0, 90, 0,-1,300);
  1554. CreateObject(3095, 1749.666015625, -2844.833984375, 9.5, 0, 90, 0,-1,300);
  1555. CreateObject(994, 1734.8913574219, -2866.2641601563, 5.555365562439, 0, 0, 90,-1,300);
  1556. CreateObject(994, 1734.890625, -2859.5632324219, 5.555365562439, 0, 0, 90,-1,300);
  1557. CreateObject(3401, 1742.7684326172, -2838.2465820313, 7.9004049301147, 0, 0, 0,-1,300);
  1558. CreateObject(994, 1742.630859375, -2845.4501953125, 5.5881395339966, 0, 0, 0,-1,300);
  1559. CreateObject(994, 1736.0302734375, -2845.4501953125, 5.5881395339966, 0, 0, 0,-1,300);
  1560. CreateObject(994, 1734.890625, -2838.0625, 5.555365562439, 0, 0, 90,-1,300);
  1561. CreateObject(994, 1734.890625, -2844.8625488281, 5.555365562439, 0, 0, 90,-1,300);
  1562. CreateObject(3095, 1745.2294921875, -2830.8447265625, 9.5, 0, 90, 270,-1,300);
  1563. CreateObject(3095, 1736.2451171875, -2830.8447265625, 9.5, 0, 90, 270,-1,300);
  1564. CreateObject(3095, 1718.2648925781, -2830.8447265625, 9.5, 0, 90, 270,-1,300);
  1565. CreateObject(3095, 1727.2551269531, -2830.8447265625, 9.5, 0, 90, 270,-1,300);
  1566. CreateObject(3095, 1713.2648925781, -2862.8125, 9.5, 0, 90, 0,-1,300);
  1567. CreateObject(3095, 1713.2646484375, -2835.8447265625, 9.5, 0, 90, 0,-1,300);
  1568. CreateObject(3095, 1713.2646484375, -2844.833984375, 9.5, 0, 90, 0,-1,300);
  1569. CreateObject(3095, 1713.2646484375, -2853.8232421875, 9.5, 0, 90, 0,-1,300);
  1570. CreateObject(3095, 1718.2648925781, -2866.8125, 9.5, 0, 90, 270,-1,300);
  1571. CreateObject(3095, 1727.2548828125, -2866.8125, 9.5, 0, 90, 270,-1,300);
  1572. CreateObject(3095, 1736.2451171875, -2866.8125, 9.5, 0, 90, 270,-1,300);
  1573. CreateObject(3095, 1745.2294921875, -2866.8125, 9.5, 0, 90, 270,-1,300);
  1574. CreateObject(3095, 1745.2294921875, -2835.8447265625, 10.199999809265, 0, 0, 0,-1,300);
  1575. CreateObject(3095, 1736.2451171875, -2835.8447265625, 10.199999809265, 0, 0, 0,-1,300);
  1576. CreateObject(3095, 1745.2294921875, -2844.833984375, 10.199999809265, 0, 0, 0,-1,300);
  1577. CreateObject(3095, 1736.2451171875, -2844.833984375, 10.199999809265, 0, 0, 0,-1,300);
  1578. CreateObject(3095, 1745.2294921875, -2853.8232421875, 10.199999809265, 0, 0, 0,-1,300);
  1579. CreateObject(3095, 1745.2294921875, -2862.8125, 10.199999809265, 0, 0, 0,-1,300);
  1580. CreateObject(3095, 1736.2451171875, -2853.8232421875, 10.199999809265, 0, 0, 0,-1,300);
  1581. CreateObject(3095, 1736.2451171875, -2862.8125, 10.199999809265, 0, 0, 0,-1,300);
  1582. CreateObject(3401, 1720.767578125, -2838.24609375, 7.9004049301147, 0, 0, 0,-1,300);
  1583. CreateObject(994, 1728.2906494141, -2838.0625, 5.555365562439, 0, 0, 90,-1,300);
  1584. CreateObject(994, 1728.2906494141, -2844.8623046875, 5.555365562439, 0, 0, 90,-1,300);
  1585. CreateObject(994, 1714.0302734375, -2845.4501953125, 5.5881395339966, 0, 0, 0,-1,300);
  1586. CreateObject(994, 1720.7302246094, -2845.4501953125, 5.5881395339966, 0, 0, 0,-1,300);
  1587. CreateObject(3401, 1720.767578125, -2859.9912109375, 7.9004049301147, 0, 0, 0,-1,300);
  1588. CreateObject(994, 1728.2906494141, -2866.263671875, 5.555365562439, 0, 0, 90,-1,300);
  1589. CreateObject(994, 1728.2906494141, -2859.5625, 5.555365562439, 0, 0, 90,-1,300);
  1590. CreateObject(994, 1714.0302734375, -2852.4501953125, 5.5881395339966, 0, 0, 0,-1,300);
  1591. CreateObject(994, 1720.7294921875, -2852.4501953125, 5.5881395339966, 0, 0, 0,-1,300);
  1592. CreateObject(3095, 1727.2548828125, -2862.8125, 10.199999809265, 0, 0, 0,-1,300);
  1593. CreateObject(3095, 1718.2646484375, -2862.8125, 10.199999809265, 0, 0, 0,-1,300);
  1594. CreateObject(3095, 1727.2548828125, -2853.8232421875, 10.199999809265, 0, 0, 0,-1,300);
  1595. CreateObject(3095, 1718.2646484375, -2853.8232421875, 10.199999809265, 0, 0, 0,-1,300);
  1596. CreateObject(3095, 1727.2548828125, -2844.833984375, 10.199999809265, 0, 0, 0,-1,300);
  1597. CreateObject(3095, 1718.2646484375, -2844.833984375, 10.199999809265, 0, 0, 0,-1,300);
  1598. CreateObject(3095, 1727.2548828125, -2835.8447265625, 10.199999809265, 0, 0, 0,-1,300);
  1599. CreateObject(3095, 1718.2646484375, -2835.8447265625, 10.199999809265, 0, 0, 0,-1,300);
  1600. //duell
  1601.  
  1602. //lsa
  1603. CreateObject(12956, 1927.948975, -2634.562012, 16.375114, 0.000000, 0.000000, 0.000000,-1,300); //
  1604. CreateObject(13590, 1960.701660, -2649.610107, 14.922718, 0.000000, 0.000000, -89.999981276,-1,300); //
  1605. CreateObject(13604, 1976.382568, -2629.351807, 14.254894, 0.000000, 0.000000, 0.000000,-1,300); //
  1606. CreateObject(13636, 2008.612549, -2627.005127, 14.827267, 0.000000, 0.000000, 0.000000,-1,300); //
  1607. CreateObject(13639, 2020.925049, -2644.032471, 12.515141, 0.000000, 0.000000, -89.999981276,-1,300); //
  1608. CreateObject(13640, 2032.367188, -2632.515381, 13.567144, 0.000000, 0.000000, 0.000000,-1,300); //
  1609. CreateObject(13640, 2052.855469, -2635.955078, 13.567144, 0.000000, 0.000000, -22.499995319,-1,300); //
  1610. CreateObject(13640, 2076.090576, -2637.576660, 13.567144, 0.000000, 0.000000, 11.2500263074,-1,300); //
  1611. CreateObject(13641, 2004.257935, -2644.778809, 14.266119, 0.000000, 0.000000, -180.000019848,-1,300); //
  1612. CreateObject(13643, 2032.876953, -2621.290527, 13.842892, 0.000000, 0.000000, 0.000000,-1,300); //
  1613. CreateObject(13647, 2093.293213, -2640.283203, 12.542847, 0.000000, 0.000000, 33.7500216264,-1,300); //
  1614. CreateObject(13648, 2092.521973, -2639.135498, 12.517847, 0.000000, 0.000000, -56.2500169454,-1,300); //
  1615. CreateObject(16367, 2121.540039, -2601.677002, 14.305763, 0.000000, 0.000000, -180.000019848,-1,300); //
  1616. CreateObject(18367, 1977.354858, -2385.879395, 10.478827, -21.4859173174, -0.859436692696, 87.4216711979,-1,300); //
  1617. CreateObject(8355, 2030.532471, -2448.553467, 45.323799, -26.6425374736, 0.000000, 0.000000,-1,300); //
  1618. CreateObject(8355, 2048.522949, -2577.083008, 71.917747, 0.000000, -85.0841752811, -0.859436692696,-1,300); //
  1619. CreateObject(8355, 2047.672119, -2577.026367, 62.407944, 0.000000, -60.160511193, -0.859436692696,-1,300); //
  1620. CreateObject(8355, 2040.502319, -2576.885254, 49.195602, 0.000000, -17.1887338539, -0.859436692696,-1,300); //
  1621. CreateObject(8355, 2014.366455, -2577.443848, 44.913322, 0.000000, -1.71887338539, -1.71887338539,-1,300); //
  1622. CreateObject(8355, 1995.262817, -2576.978271, 44.561260, 0.000000, 33.5180310152, -2.57831007809,-1,300); //
  1623. CreateObject(8355, 1985.437866, -2576.449219, 48.640259, 0.000000, 54.1445116399, -2.57831007809,-1,300); //
  1624. CreateObject(8355, 1976.298950, -2575.764404, 60.898403, 0.000000, 73.0520615834, -2.57831007809,-1,300); //
  1625. CreateObject(8171, 2070.230957, -2576.975830, 91.541702, 0.000000, 0.000000, -0.859436692696,-1,300); //
  1626. CreateObject(8171, 1950.484863, -2575.344727, 79.811752, 0.000000, 0.000000, -2.57831007809,-1,300); //
  1627. CreateObject(8355, 2030.741699, -2507.851074, 7.007572, 91.9596688227, 0.000000, 0.000000,-1,300); //
  1628. CreateObject(8355, 1990.917358, -2507.864258, 7.148798, 91.9596688227, 0.000000, 0.000000,-1,300); //
  1629. CreateObject(18450, 1710.601807, -2589.956543, 149.084015, 0.000000, 30.9397209371, 0.000000,-1,300); //
  1630. CreateObject(1634, 1747.428955, -2595.398926, 131.358948, 0.000000, 0.000000, -89.999981276,-1,300); //
  1631. CreateObject(1634, 1747.432251, -2591.261230, 131.349365, 0.000000, 0.000000, -89.999981276,-1,300); //
  1632. CreateObject(1634, 1747.426880, -2587.187012, 131.340866, 0.000000, 0.000000, -89.999981276,-1,300); //
  1633. CreateObject(1634, 1747.431274, -2583.233887, 131.329880, 0.000000, 0.000000, -89.999981276,-1,300); //
  1634. CreateObject(1634, 1742.307739, -2583.213379, 130.540909, -29.2208475517, 0.000000, -90.8594179687,-1,300); //
  1635. CreateObject(1634, 1742.931396, -2587.357666, 130.516083, -27.5019741663, 0.000000, -90.8594179687,-1,300); //
  1636. CreateObject(1634, 1743.518066, -2591.484863, 130.517105, -26.6425374736, 0.000000, -90.8594179687,-1,300); //
  1637. CreateObject(1634, 1742.449463, -2595.584717, 130.556671, -28.361410859, 0.000000, -90.8594179687,-1,300); //
  1638. CreateObject(18450, 1643.587402, -2589.959961, 189.291153, 0.000000, 30.9397209371, 0.000000,-1,300); //
  1639. CreateObject(18450, 1576.150635, -2589.945068, 229.714645, 0.000000, 30.9397209371, 0.000000,-1,300); //
  1640. CreateObject(18450, 1509.338135, -2589.936768, 269.768127, 0.000000, 30.9397209371, 0.000000,-1,300); //
  1641. CreateObject(18450, 1443.709351, -2589.927002, 309.132263, 0.000000, 30.9397209371, 0.000000,-1,300); //
  1642. CreateObject(18450, 1378.838745, -2589.939209, 348.055023, 0.000000, 30.9397209371, 0.000000,-1,300); //
  1643. CreateObject(18450, 1310.712769, -2589.937744, 388.894928, 0.000000, 30.9397209371, 0.000000,-1,300); //
  1644. CreateObject(18450, 1246.376221, -2589.934326, 432.288147, 0.000000, 36.9557777859, 0.000000,-1,300); //
  1645. CreateObject(18450, 1190.280273, -2589.952881, 484.692993, 0.000000, 48.9878341879, 0.000000,-1,300); //
  1646. CreateObject(18450, 1144.915894, -2589.948486, 549.444397, 0.000000, 61.0199478857, 0.000000,-1,300); //
  1647. CreateObject(18450, 1109.689209, -2589.952637, 613.064575, 0.000000, 61.0199478857, 0.000000,-1,300); //
  1648. CreateObject(18450, 1072.733398, -2589.946777, 679.827454, 0.000000, 61.0199478857, 0.000000,-1,300); //
  1649. CreateObject(18450, 1034.263062, -2589.959229, 749.313477, 0.000000, 61.0199478857, 0.000000,-1,300); //
  1650. CreateObject(1634, 1164.161255, -2595.371338, 514.260803, 29.2208475517, 0.000000, 89.999981276,-1,300); //
  1651. CreateObject(1634, 1164.737305, -2591.216309, 513.497009, 27.5019741663, 0.000000, 89.999981276,-1,300); //
  1652. CreateObject(1634, 1164.512207, -2587.047119, 513.840454, 27.5019741663, 0.000000, 89.999981276,-1,300); //
  1653. CreateObject(1634, 1164.640259, -2582.877930, 513.726379, 26.6425374736, 0.000000, 89.999981276,-1,300); //
  1654. CreateObject(1634, 1214.949341, -2595.306885, 455.839233, 19.767043932, 0.000000, 89.999981276,-1,300); //
  1655. CreateObject(1634, 1214.951294, -2591.131592, 455.854523, 19.767043932, 0.000000, 89.999981276,-1,300); //
  1656. CreateObject(1634, 1214.971924, -2586.956299, 455.844482, 19.767043932, 0.000000, 89.999981276,-1,300); //
  1657. CreateObject(1634, 1215.005981, -2582.798584, 455.840790, 19.767043932, 0.000000, 89.999981276,-1,300); //
  1658. CreateObject(8040, 975.191956, -2590.018799, 785.224854, 0.000000, 0.000000, 0.000000,-1,300); //
  1659. CreateObject(8171, 1910.887695, -2573.568359, 79.813736, 0.000000, 0.000000, -2.57831007809,-1,300); //
  1660. CreateObject(8171, 2090.830078, -2577.237793, 95.593643, 0.000000, -62.738821271, 0.000000,-1,300); //
  1661. CreateObject(8171, 2101.205322, -2577.245605, 130.762970, 0.000000, -84.2247385885, 0.000000,-1,300); //
  1662. CreateObject(18367, 1977.232788, -2388.782471, 10.517622, -21.4859173174, -0.859436692696, 87.4216711979,-1,300); //
  1663. CreateObject(13648, 2092.892334, -2639.730957, 12.542847, 0.000000, 0.000000, -56.2500169454,-1,300); //
  1664. CreateObject(13648, 2093.606934, -2640.902100, 12.542849, 0.000000, 0.000000, -56.2500169454,-1,300); //
  1665. CreateObject(13648, 2094.002441, -2641.462158, 12.542848, 0.000000, 0.000000, -56.2500169454,-1,300); //
  1666. CreateObject(1215, 1740.825562, -2597.587158, 132.867126, 0.000000, 0.000000, 0.000000,-1,300); //
  1667. CreateObject(1215, 1740.308472, -2582.458008, 132.567490, 0.000000, 0.000000, 0.000000,-1,300); //
  1668. CreateObject(1215, 1014.629395, -2598.527100, 785.023560, 0.000000, 0.000000, 0.000000,-1,300); //
  1669. CreateObject(1215, 1014.832642, -2581.829346, 785.031189, 0.000000, 0.000000, 0.000000,-1,300); //
  1670. CreateObject(1225, 1743.054688, -2581.703369, 131.664627, 0.000000, 0.000000, 0.000000,-1,300); //
  1671. CreateObject(1225, 1744.457153, -2596.910400, 131.679108, 0.000000, 0.000000, 0.000000,-1,300); //
  1672. CreateObject(18450, 1009.104553, -2589.863281, 807.027405, 0.000000, -36.0963410932, 0.000000,-1,300); //
  1673. CreateObject(18450, 1073.276733, -2589.797119, 806.904297, 0.000000, -36.0963410932, -179.922727841,-1,300); //
  1674. CreateObject(18450, 1122.730591, -2589.712646, 747.375854, 0.000000, -64.4576946564, -179.922727841,-1,300); //
  1675. CreateObject(18450, 1152.144165, -2589.730957, 673.204041, 0.000000, -72.1926248907, -179.922727841,-1,300); //
  1676. CreateObject(18450, 1255.548218, -2588.342529, 442.736237, 0.000000, 36.9557777859, 0.000000,-1,300); //
  1677. CreateObject(18450, 1318.075439, -2588.296143, 400.384644, 0.000000, 30.9397209371, 0.000000,-1,300); //
  1678. CreateObject(18450, 1397.145508, -2587.925293, 350.845154, 0.000000, 30.9397209371, 0.000000,-1,300); //
  1679. CreateObject(18450, 1477.618652, -2589.475342, 299.796600, 0.000000, 30.9397209371, 0.000000,-1,300); //
  1680. CreateObject(18450, 1551.895996, -2589.501465, 252.908417, 0.000000, 30.9397209371, 0.000000,-1,300); //
  1681. CreateObject(18450, 1625.556519, -2589.950928, 207.106644, 0.000000, 30.9397209371, 0.000000,-1,300); //
  1682.  
  1683. //lsa
  1684.  
  1685. //objecte ende
  1686.  
  1687.  
  1688. UsePlayerPedAnims();
  1689. Black0 = TextDrawCreate(481.000000,353.000000,"_");
  1690. TextDrawUseBox(Black0,1);
  1691. TextDrawBoxColor(Black0,0x00000044);
  1692. TextDrawTextSize(Black0,596.000000,0.000000);
  1693. TextDrawAlignment(Black0,0);
  1694. TextDrawBackgroundColor(Black0,0x000000ff);
  1695. TextDrawFont(Black0,3);
  1696. TextDrawLetterSize(Black0,3.599999,7.599996);
  1697. TextDrawColor(Black0,0xffffffff);
  1698. TextDrawSetOutline(Black0,1);
  1699. TextDrawSetProportional(Black0,1);
  1700. TextDrawSetShadow(Black0,1);
  1701.  
  1702. White1 = TextDrawCreate(482.000000,354.000000,"_");
  1703. TextDrawUseBox(White1,1);
  1704. TextDrawBoxColor(White1,0xffffff11);
  1705. TextDrawTextSize(White1,595.000000,-2.000000);
  1706. TextDrawAlignment(White1,0);
  1707. TextDrawBackgroundColor(White1,0x000000ff);
  1708. TextDrawFont(White1,1);
  1709. TextDrawLetterSize(White1,1.700000,7.399997);
  1710. TextDrawColor(White1,0xffffffff);
  1711. TextDrawSetOutline(White1,1);
  1712. TextDrawSetProportional(White1,1);
  1713. TextDrawSetShadow(White1,1);
  1714.  
  1715. White2 = TextDrawCreate(483.000000,355.000000,"_");
  1716. TextDrawUseBox(White2,1);
  1717. TextDrawBoxColor(White2,0xffffff22);
  1718. TextDrawTextSize(White2,594.000000,0.000000);
  1719. TextDrawAlignment(White2,0);
  1720. TextDrawBackgroundColor(White2,0x000000ff);
  1721. TextDrawFont(White2,1);
  1722. TextDrawLetterSize(White2,0.299999,7.199996);
  1723. TextDrawColor(White2,0xffffffff);
  1724. TextDrawSetOutline(White2,1);
  1725. TextDrawSetProportional(White2,1);
  1726. TextDrawSetShadow(White2,1);
  1727.  
  1728. BlackHealth = TextDrawCreate(487.000000,385.000000,"_");
  1729. TextDrawUseBox(BlackHealth,1);
  1730. TextDrawBoxColor(BlackHealth,0x00000099);
  1731. TextDrawTextSize(BlackHealth,590.000000,-11.000000);
  1732. TextDrawAlignment(BlackHealth,0);
  1733. TextDrawBackgroundColor(BlackHealth,0x000000ff);
  1734. TextDrawFont(BlackHealth,3);
  1735. TextDrawLetterSize(BlackHealth,1.000000,0.399999);
  1736. TextDrawColor(BlackHealth,0xffffffff);
  1737. TextDrawSetOutline(BlackHealth,1);
  1738. TextDrawSetProportional(BlackHealth,1);
  1739. TextDrawSetShadow(BlackHealth,1);
  1740.  
  1741. DarkRedHealth = TextDrawCreate(488.000000,386.000000,"_");
  1742. TextDrawUseBox(DarkRedHealth,1);
  1743. TextDrawBoxColor(DarkRedHealth,0xff000066);
  1744. TextDrawTextSize(DarkRedHealth,589.000000,0.000000);
  1745. TextDrawAlignment(DarkRedHealth,0);
  1746. TextDrawBackgroundColor(DarkRedHealth,0x000000ff);
  1747. TextDrawFont(DarkRedHealth,3);
  1748. TextDrawLetterSize(DarkRedHealth,1.000000,0.199999);
  1749. TextDrawColor(DarkRedHealth,0xffffffff);
  1750. TextDrawSetOutline(DarkRedHealth,1);
  1751. TextDrawSetProportional(DarkRedHealth,1);
  1752. TextDrawSetShadow(DarkRedHealth,1);
  1753.  
  1754. BlackSpeed = TextDrawCreate(536.000000,403.000000,"_");
  1755. TextDrawUseBox(BlackSpeed,1);
  1756. TextDrawBoxColor(BlackSpeed,0x00000099);
  1757. TextDrawTextSize(BlackSpeed,590.000000,0.000000);
  1758. TextDrawAlignment(BlackSpeed,0);
  1759. TextDrawBackgroundColor(BlackSpeed,0x000000ff);
  1760. TextDrawFont(BlackSpeed,3);
  1761. TextDrawLetterSize(BlackSpeed,1.000000,1.400000);
  1762. TextDrawColor(BlackSpeed,0xffffffff);
  1763. TextDrawSetOutline(BlackSpeed,1);
  1764. TextDrawSetShadow(BlackSpeed,1);
  1765. TextDrawSetProportional(BlackSpeed,1);
  1766.  
  1767. DarkYellowSpeed = TextDrawCreate(537.000000,404.000000,"_");
  1768. TextDrawUseBox(DarkYellowSpeed,1);
  1769. TextDrawBoxColor(DarkYellowSpeed,0xffff0033);
  1770. TextDrawTextSize(DarkYellowSpeed,589.000000,0.000000);
  1771. TextDrawAlignment(DarkYellowSpeed,0);
  1772. TextDrawBackgroundColor(DarkYellowSpeed,0x000000ff);
  1773. TextDrawFont(DarkYellowSpeed,3);
  1774. TextDrawLetterSize(DarkYellowSpeed,1.000000,1.200000);
  1775. TextDrawColor(DarkYellowSpeed,0xffffffff);
  1776. TextDrawSetOutline(DarkYellowSpeed,1);
  1777. TextDrawSetProportional(DarkYellowSpeed,1);
  1778. TextDrawSetShadow(DarkYellowSpeed,1);
  1779.  
  1780. Marker = TextDrawCreate(511.000000,382.000000,"l");
  1781. TextDrawAlignment(Marker,0);
  1782. TextDrawBackgroundColor(Marker,0x000000ff);
  1783. TextDrawFont(Marker,1);
  1784. TextDrawLetterSize(Marker,0.099999,1.000000);
  1785. TextDrawColor(Marker,0xffffffff);
  1786. TextDrawSetOutline(Marker,1);
  1787. TextDrawSetProportional(Marker,1);
  1788. TextDrawSetShadow(Marker,1);
  1789.  
  1790. Exclamation = TextDrawCreate(579.000000,351.000000,"~r~!");
  1791. TextDrawAlignment(Exclamation,0);
  1792. TextDrawBackgroundColor(Exclamation,0x000000ff);
  1793. TextDrawFont(Exclamation,2);
  1794. TextDrawLetterSize(Exclamation,1.200000,3.399999);
  1795. TextDrawColor(Exclamation,0xffffffff);
  1796. TextDrawSetOutline(Exclamation,1);
  1797. TextDrawSetProportional(Exclamation,1);
  1798. TextDrawSetShadow(Exclamation,1);
  1799.  
  1800.  
  1801.  
  1802. LHour = TextDrawCreate(493.000000,411.000000," ");
  1803. TextDrawAlignment(LHour,0);
  1804. TextDrawBackgroundColor(LHour,0x000000ff);
  1805. TextDrawFont(LHour,1);
  1806. TextDrawLetterSize(LHour,0.399999,1.000000);
  1807. TextDrawColor(LHour,0xffffffff);
  1808. TextDrawSetOutline(LHour,1);
  1809. TextDrawSetProportional(LHour,1);
  1810. TextDrawSetShadow(LHour,1);
  1811.  
  1812. LInfo = TextDrawCreate(555.000000,357.000000,"Digitale Uhr");
  1813. TextDrawAlignment(LInfo,0);
  1814. TextDrawBackgroundColor(LInfo,0x000000ff);
  1815. TextDrawFont(LInfo,1);
  1816. TextDrawLetterSize(LInfo,0.299999,1.000000);
  1817. TextDrawColor(LInfo,0xffffff66);
  1818. TextDrawSetOutline(LInfo,1);
  1819. TextDrawSetProportional(LInfo,1);
  1820. TextDrawSetShadow(LInfo,1);
  1821.  
  1822. LCategory = TextDrawCreate(567.000000,369.000000,"Information");
  1823. TextDrawAlignment(LCategory,0);
  1824. TextDrawBackgroundColor(LCategory,0x000000ff);
  1825. TextDrawFont(LCategory,1);
  1826. TextDrawLetterSize(LCategory,0.199999,0.899999);
  1827. TextDrawColor(LCategory,0xffffffff);
  1828. TextDrawSetOutline(LCategory,1);
  1829. TextDrawSetProportional(LCategory,1);
  1830. TextDrawSetShadow(LCategory,1);
  1831.  
  1832. LMonat = TextDrawCreate(550.000000,385.000000," ");
  1833. TextDrawAlignment(LMonat,0);
  1834. TextDrawBackgroundColor(LMonat,0x000000ff);
  1835. TextDrawFont(LMonat,1);
  1836. TextDrawLetterSize(LMonat,0.199999,0.899999);
  1837. TextDrawColor(LMonat,0xffffffff);
  1838. TextDrawSetOutline(LMonat,1);
  1839. TextDrawSetProportional(LMonat,1);
  1840. TextDrawSetShadow(LMonat,1);
  1841.  
  1842. LDay = TextDrawCreate(551.000000,396.000000," ");
  1843. TextDrawAlignment(LDay,0);
  1844. TextDrawBackgroundColor(LDay,0x000000ff);
  1845. TextDrawFont(LDay,1);
  1846. TextDrawLetterSize(LDay,0.199999,1.000000);
  1847. TextDrawColor(LDay,0xffffffff);
  1848. TextDrawSetOutline(LDay,1);
  1849. TextDrawSetProportional(LDay,1);
  1850. TextDrawSetShadow(LDay,1);
  1851.  
  1852. LMsg = TextDrawCreate(552.000000,413.000000," ");
  1853. TextDrawAlignment(LMsg,0);
  1854. TextDrawBackgroundColor(LMsg,0x000000ff);
  1855. TextDrawFont(LMsg,1);
  1856. TextDrawLetterSize(LMsg,0.199999,0.899999);
  1857. TextDrawColor(LMsg,0xffffffff);
  1858. TextDrawSetOutline(LMsg,1);
  1859. TextDrawSetProportional(LMsg,1);
  1860. TextDrawSetShadow(LMsg,1);
  1861.  
  1862. //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  1863. // -> Background Desing <-
  1864. //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  1865.  
  1866. LText1 = TextDrawCreate(635.000000,352.000000,"TB");
  1867. LText2 = TextDrawCreate(485.000000,352.000000,"L");
  1868. LText3 = TextDrawCreate(632.000000,352.000000,"T");
  1869. LText4 = TextDrawCreate(633.000000,428.000000,"T");
  1870. LText5 = TextDrawCreate(546.000000,356.000000,"T2");
  1871. LText6 = TextDrawCreate(546.000000,410.000000,"T2");
  1872. LText7 = TextDrawCreate(631.000000,356.000000,"TB");
  1873.  
  1874. TextDrawUseBox( LText1,1);
  1875. TextDrawBoxColor(LText1,0x00000099);
  1876. TextDrawTextSize(LText1,625.000000,0.000000);
  1877.  
  1878. TextDrawUseBox( LText2,1);
  1879. TextDrawBoxColor( LText2,0x00000099);
  1880. TextDrawTextSize( LText2,475.000000,0.000000);
  1881.  
  1882. TextDrawUseBox( LText3,1);
  1883. TextDrawBoxColor( LText3,0x00000099);
  1884. TextDrawTextSize( LText3,479.000000,0.000000);
  1885.  
  1886. TextDrawUseBox( LText4,1);
  1887. TextDrawBoxColor( LText4,0x00000099);
  1888. TextDrawTextSize( LText4,478.000000,0.000000);
  1889.  
  1890. TextDrawUseBox( LText5,1);
  1891. TextDrawBoxColor( LText5,0x00000066);
  1892. TextDrawTextSize( LText5,480.000000,0.000000);
  1893.  
  1894. TextDrawUseBox( LText6,1);
  1895. TextDrawBoxColor( LText6,0x00000066);
  1896. TextDrawTextSize( LText6,480.000000,0.000000);
  1897.  
  1898. TextDrawUseBox( LText7,1);
  1899. TextDrawBoxColor( LText7,0x00000066);
  1900. TextDrawTextSize( LText7,541.000000,0.000000);
  1901.  
  1902. TextDrawAlignment( LText1,0);
  1903. TextDrawAlignment( LText2,0);
  1904. TextDrawAlignment( LText3,0);
  1905. TextDrawAlignment( LText4,0);
  1906. TextDrawAlignment( LText5,0);
  1907. TextDrawAlignment( LText6,0);
  1908. TextDrawAlignment( LText7,0);
  1909.  
  1910. TextDrawBackgroundColor( LText1,0x000000ff);
  1911. TextDrawBackgroundColor( LText2,0x000000ff);
  1912. TextDrawBackgroundColor( LText3,0x000000ff);
  1913. TextDrawBackgroundColor( LText4,0x000000ff);
  1914. TextDrawBackgroundColor( LText5,0x000000ff);
  1915. TextDrawBackgroundColor( LText6,0x000000ff);
  1916. TextDrawBackgroundColor( LText7,0x000000ff);
  1917.  
  1918. TextDrawFont(LText1,3);
  1919. TextDrawLetterSize(LText1,-0.000000,8.199998);
  1920. TextDrawFont(LText2,3);
  1921. TextDrawLetterSize(LText2,-0.000000,8.200001);
  1922. TextDrawFont(LText3,3);
  1923. TextDrawLetterSize(LText3,-0.000000,-0.300000);
  1924. TextDrawFont(LText4,3);
  1925. TextDrawLetterSize(LText4,-0.000000,-0.200000);
  1926. TextDrawFont(LText5,3);
  1927. TextDrawLetterSize(LText5,-0.000000,5.300001);
  1928. TextDrawFont(LText6,3);
  1929. TextDrawLetterSize(LText6,-0.000000,1.300000);
  1930. TextDrawFont(LText7,3);
  1931. TextDrawLetterSize(LText7,-0.000000,7.299998);
  1932.  
  1933. TextDrawColor( LText1,0xffffffff);
  1934. TextDrawColor( LText2,0xffffffff);
  1935. TextDrawColor( LText3,0xffffffff);
  1936. TextDrawColor( LText4,0xffffffff);
  1937. TextDrawColor( LText5,0xffffffff);
  1938. TextDrawColor( LText6,0xffffffff);
  1939. TextDrawColor( LText7,0xffffffff);
  1940.  
  1941. TextDrawSetOutline( LText1,1);
  1942. TextDrawSetOutline( LText2,1);
  1943. TextDrawSetOutline( LText3,1);
  1944. TextDrawSetOutline( LText4,1);
  1945. TextDrawSetOutline( LText5,1);
  1946. TextDrawSetOutline( LText6,1);
  1947. TextDrawSetOutline( LText7,1);
  1948.  
  1949. TextDrawSetProportional( LText1,1);
  1950. TextDrawSetProportional( LText2,1);
  1951. TextDrawSetProportional( LText3,1);
  1952. TextDrawSetProportional( LText4,1);
  1953. TextDrawSetProportional( LText5,1);
  1954. TextDrawSetProportional( LText6,1);
  1955. TextDrawSetProportional( LText7,1);
  1956.  
  1957. TextDrawSetShadow( LText1,1);
  1958. TextDrawSetShadow( LText2,1);
  1959. TextDrawSetShadow( LText3,1);
  1960. TextDrawSetShadow( LText4,1);
  1961. TextDrawSetShadow( LText5,1);
  1962. TextDrawSetShadow( LText6,1);
  1963. TextDrawSetShadow( LText7,1);
  1964.  
  1965. //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  1966. // -> Hours Desing <-
  1967. //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  1968.  
  1969. LuxClock_Center = TextDrawCreate(510.000000,373.000000,"o");
  1970. TextDrawAlignment(LuxClock_Center,0);
  1971. TextDrawFont(LuxClock_Center,1);
  1972. TextDrawLetterSize(LuxClock_Center,0.399999,1.200000);
  1973. TextDrawColor(LuxClock_Center,0xffffff66);
  1974. TextDrawSetOutline(LuxClock_Center,1);
  1975. TextDrawSetProportional(LuxClock_Center,1);
  1976. TextDrawSetShadow(LuxClock_Center,1);
  1977. TextDrawSetShadow(LuxClock_Center,1);
  1978.  
  1979. LuxClock[0] = TextDrawCreate(521.000000,359.000000,"~w~1");
  1980. TextDrawAlignment(LuxClock[0],0);
  1981. TextDrawBackgroundColor(LuxClock[0],0x000000ff);
  1982. TextDrawFont(LuxClock[0],1);
  1983. TextDrawLetterSize(LuxClock[0],0.399999,1.000000);
  1984. TextDrawColor(LuxClock[0],0xffffffff);
  1985. TextDrawSetOutline(LuxClock[0],1);
  1986. TextDrawSetProportional(LuxClock[0],1);
  1987. TextDrawSetShadow(LuxClock[0],1);
  1988.  
  1989. LuxClock[1] = TextDrawCreate(528.000000,368.000000,"~w~2");
  1990. TextDrawAlignment(LuxClock[1],0);
  1991. TextDrawBackgroundColor(LuxClock[1],0x000000ff);
  1992. TextDrawFont(LuxClock[1],1);
  1993. TextDrawLetterSize(LuxClock[1],0.299999,0.899999);
  1994. TextDrawColor(LuxClock[1],0xffffffff);
  1995. TextDrawSetOutline(LuxClock[1],1);
  1996. TextDrawSetProportional(LuxClock[1],1);
  1997. TextDrawSetShadow(LuxClock[1],1);
  1998.  
  1999. LuxClock[2] = TextDrawCreate(532.000000,377.000000,"~w~3");
  2000. TextDrawAlignment(LuxClock[2],0);
  2001. TextDrawBackgroundColor(LuxClock[2],0x000000ff);
  2002. TextDrawFont(LuxClock[2],1);
  2003. TextDrawLetterSize(LuxClock[2],0.299999,0.899999);
  2004. TextDrawColor(LuxClock[2],0xffffffff);
  2005. TextDrawSetOutline(LuxClock[2],1);
  2006. TextDrawSetProportional(LuxClock[2],1);
  2007. TextDrawSetShadow(LuxClock[2],1);
  2008.  
  2009. LuxClock[3] = TextDrawCreate(529.000000,386.000000,"~w~4");
  2010. TextDrawAlignment(LuxClock[3],0);
  2011. TextDrawBackgroundColor(LuxClock[3],0x000000ff);
  2012. TextDrawFont(LuxClock[3],1);
  2013. TextDrawLetterSize(LuxClock[3],0.299999,0.899999);
  2014. TextDrawColor(LuxClock[3],0xffffffff);
  2015. TextDrawSetOutline(LuxClock[3],1);
  2016. TextDrawSetProportional(LuxClock[3],1);
  2017. TextDrawSetShadow(LuxClock[3],1);
  2018.  
  2019. LuxClock[4] = TextDrawCreate(523.000000,394.000000,"~w~5");
  2020. TextDrawAlignment(LuxClock[4],0);
  2021. TextDrawBackgroundColor(LuxClock[4],0x000000ff);
  2022. TextDrawFont(LuxClock[4],1);
  2023. TextDrawLetterSize(LuxClock[4],0.299999,0.899999);
  2024. TextDrawColor(LuxClock[4],0xffffffff);
  2025. TextDrawSetOutline(LuxClock[4],1);
  2026. TextDrawSetProportional(LuxClock[4],1);
  2027. TextDrawSetShadow(LuxClock[4],1);
  2028.  
  2029. LuxClock[5] = TextDrawCreate(511.000000,397.000000,"~w~6");
  2030. TextDrawAlignment(LuxClock[5],0);
  2031. TextDrawBackgroundColor(LuxClock[5],0x000000ff);
  2032. TextDrawFont(LuxClock[5],1);
  2033. TextDrawLetterSize(LuxClock[5],0.299999,0.899999);
  2034. TextDrawColor(LuxClock[5],0xffffffff);
  2035. TextDrawSetOutline(LuxClock[5],1);
  2036. TextDrawSetProportional(LuxClock[5],1);
  2037. TextDrawSetShadow(LuxClock[5],1);
  2038.  
  2039. LuxClock[6] = TextDrawCreate(503.000000,394.000000,"~w~7");
  2040. TextDrawAlignment(LuxClock[6],0);
  2041. TextDrawBackgroundColor(LuxClock[6],0x000000ff);
  2042. TextDrawFont(LuxClock[6],1);
  2043. TextDrawLetterSize(LuxClock[6],0.199999,0.899999);
  2044. TextDrawColor(LuxClock[6],0xffffffff);
  2045. TextDrawSetOutline(LuxClock[6],1);
  2046. TextDrawSetProportional(LuxClock[6],1);
  2047. TextDrawSetShadow(LuxClock[6],1);
  2048.  
  2049. LuxClock[7] = TextDrawCreate(494.000000,387.000000,"~w~8");
  2050. TextDrawAlignment(LuxClock[7],0);
  2051. TextDrawBackgroundColor(LuxClock[7],0x000000ff);
  2052. TextDrawFont(LuxClock[7],1);
  2053. TextDrawLetterSize(LuxClock[7],0.299999,0.899999);
  2054. TextDrawColor(LuxClock[7],0xffffffff);
  2055. TextDrawSetOutline(LuxClock[7],1);
  2056. TextDrawSetProportional(LuxClock[7],1);
  2057. TextDrawSetShadow(LuxClock[7],1);
  2058.  
  2059. LuxClock[8] = TextDrawCreate(489.000000,378.000000,"~w~9");
  2060. TextDrawAlignment(LuxClock[8],0);
  2061. TextDrawBackgroundColor(LuxClock[8],0x000000ff);
  2062. TextDrawFont(LuxClock[8],1);
  2063. TextDrawLetterSize(LuxClock[8],0.199999,0.899999);
  2064. TextDrawColor(LuxClock[8],0xffffffff);
  2065. TextDrawSetOutline(LuxClock[8],1);
  2066. TextDrawSetProportional(LuxClock[8],1);
  2067. TextDrawSetShadow(LuxClock[8],1);
  2068.  
  2069. LuxClock[9] = TextDrawCreate(490.000000,368.000000,"~w~10");
  2070. TextDrawAlignment(LuxClock[9],0);
  2071. TextDrawBackgroundColor(LuxClock[9],0x000000ff);
  2072. TextDrawFont(LuxClock[9],1);
  2073. TextDrawLetterSize(LuxClock[9],0.199999,0.899999);
  2074. TextDrawColor(LuxClock[9],0xffffffff);
  2075. TextDrawSetOutline(LuxClock[9],1);
  2076. TextDrawSetProportional(LuxClock[9],1);
  2077. TextDrawSetShadow(LuxClock[9],1);
  2078.  
  2079. LuxClock[10] = TextDrawCreate(498.000000,359.000000,"~w~11");
  2080. TextDrawAlignment(LuxClock[10],0);
  2081. TextDrawBackgroundColor(LuxClock[10],0x000000ff);
  2082. TextDrawFont(LuxClock[10],1);
  2083. TextDrawLetterSize(LuxClock[10],0.199999,0.899999);
  2084. TextDrawColor(LuxClock[10],0xffffffff);
  2085. TextDrawSetOutline(LuxClock[10],1);
  2086. TextDrawSetProportional(LuxClock[10],1);
  2087. TextDrawSetShadow(LuxClock[10],1);
  2088.  
  2089. LuxClock[11] = TextDrawCreate(508.000000,356.000000,"~w~12");
  2090. TextDrawAlignment(LuxClock[11],0);
  2091. TextDrawBackgroundColor(LuxClock[11],0x000000ff);
  2092. TextDrawFont(LuxClock[11],1);
  2093. TextDrawLetterSize(LuxClock[11],0.299999,0.899999);
  2094. TextDrawColor(LuxClock[11],0xffffffff);
  2095. TextDrawSetOutline(LuxClock[11],1);
  2096. TextDrawSetProportional(LuxClock[11],1);
  2097. TextDrawSetShadow(LuxClock[11],1);
  2098.  
  2099. for(new t; t < 12; t++) format(Tstring[t], sizeof Tstring, "%d", t+1);
  2100.  
  2101. new Hour, Min, Second;
  2102.  
  2103. gettime(Hour, Min, Second);
  2104.  
  2105. if (Hour > 12) Hour -= 12;
  2106. if (Hour == 0) Hour = 12;
  2107.  
  2108. DelTime = Hour-1;
  2109.  
  2110. L_UpdateClock();
  2111.  
  2112. SetTimer("L_UpdateClock",60000,1);
  2113. SetTimer("L_UpdateTime" ,1000, 1);
  2114.  
  2115. return 1;
  2116. }
  2117.  
  2118. public SyncUp()
  2119. {
  2120. SyncTime();
  2121. DollahScoreUpdate();
  2122. }
  2123.  
  2124. public SyncTime()
  2125. {
  2126. /* new string[64];
  2127. new tmphour;
  2128. new tmpminute;
  2129. new tmpsecond;
  2130. gettime(tmphour, tmpminute, tmpsecond);
  2131. FixHour(tmphour);
  2132. tmphour = shifthour;
  2133. if ((tmphour > ghour) || (tmphour == 0 && ghour == 23))
  2134. {
  2135. format(string, sizeof(string), "Es ist jetzt %d:00 Uhr",tmphour);
  2136. BroadCast(WHITE,string);
  2137. ghour = tmphour;
  2138. PayDay();
  2139. if (realtime)
  2140. {
  2141. SetWorldTime(tmphour);
  2142. }
  2143. }*/
  2144. return 1;
  2145. }
  2146.  
  2147. public OnGameModeExit()
  2148. {
  2149. TextDrawDestroy(LuxClock_Center);
  2150. TextDrawDestroy(LText1);
  2151. TextDrawDestroy(LText2);
  2152. TextDrawDestroy(LText3);
  2153. TextDrawDestroy(LText4);
  2154. TextDrawDestroy(LText5);
  2155. TextDrawDestroy(LText6);
  2156. TextDrawDestroy(LText7);
  2157. TextDrawDestroy(LHour);
  2158. TextDrawDestroy(LDay);
  2159. TextDrawDestroy(LMonat);
  2160. TextDrawDestroy(LInfo);
  2161. TextDrawDestroy(LCategory);
  2162. TextDrawDestroy(LMsg);
  2163. for(new t; t < 12; t++) TextDrawDestroy(LuxClock[t]);
  2164. bStopEngine();
  2165. KillTimer(TimerA);
  2166. KillTimer(TimerB);
  2167. KillTimer(TimerC);
  2168. KillTimer(CheckStatusTimer);
  2169. KillTimer(timer);
  2170. KillTimer(timer2);
  2171. TextDrawDestroy(Text:Black0);
  2172. TextDrawDestroy(Text:White1);
  2173. TextDrawDestroy(Text:White2);
  2174. TextDrawDestroy(Text:BlackHealth);
  2175. TextDrawDestroy(Text:DarkRedHealth);
  2176. TextDrawDestroy(Text:BlackSpeed);
  2177. TextDrawDestroy(Text:DarkYellowSpeed);
  2178. TextDrawDestroy(Text:Marker);
  2179. TextDrawDestroy(Text:Exclamation);
  2180. for(new i=0; i<MAX_PLAYERS; i++)
  2181. {
  2182. TextDrawDestroy(Text:VHS[i]);
  2183. TextDrawDestroy(Text:LightRedHealth[i]);
  2184. TextDrawDestroy(Text:LightYellowSpeed[i]);
  2185. }
  2186. return 1;
  2187. }
  2188.  
  2189. public OnPlayerRequestClass(playerid, classid)
  2190. {
  2191. SetPlayerPos(playerid, 1475.4022,-1379.9110,62.4375);
  2192. SetPlayerFacingAngle(playerid,181.7220);
  2193. SetPlayerCameraPos(playerid, 1475.5061,-1386.7610,63.6715);
  2194. SetPlayerCameraLookAt(playerid, 1475.4022,-1379.9110,62.4375);
  2195. return 1;
  2196. }
  2197.  
  2198. public OnPlayerConnect(playerid)
  2199. {
  2200.  
  2201. burnout[playerid]=0;
  2202. PlayerDualWatching[playerid] = 0;
  2203. InventationSent[playerid] = -1;
  2204. Inventation[playerid] = -1;
  2205. InDual[playerid] = 0;
  2206. Inventationprice[playerid] = 0;
  2207. Drugs[playerid] = 0;
  2208. Hide[playerid] = 0;
  2209. SuperPunch[playerid] = 0;
  2210. ViewCmds[playerid] = 0;
  2211.  
  2212. TextDrawsShown[playerid] = false;
  2213. VHSCreated[playerid] = false;
  2214. LightRedHealthCreated[playerid] = false;
  2215. LightYellowSpeedCreated[playerid] = false;
  2216. AccountInfo[playerid][Jail] = 0;
  2217. AccountInfo[playerid][AdminLevel] = 0;
  2218. AccountInfo[playerid][Warns] = 0;
  2219. AccountInfo[playerid][Logged] = 0;
  2220. AccountInfo[playerid][Mute] = 0;
  2221. AccountInfo[playerid][Level] = 0;
  2222. format(AccountInfo[playerid][Password], 128, " ");
  2223. format(AccountInfo[playerid][WarnReason1], 128, "NONE");
  2224. format(AccountInfo[playerid][WarnReason2], 128, "NONE");
  2225. format(AccountInfo[playerid][WarnReason3], 128, "NONE");
  2226. PMBlock[playerid] = false;
  2227. new string[128];
  2228. new ip[20];
  2229. new sendername[MAX_PLAYER_NAME];
  2230. GetPlayerName(playerid, sendername, sizeof(sendername));
  2231. GetPlayerIp(playerid, ip, sizeof ip);
  2232. strmid(AccountInfo[playerid][IP], ip, 0, strlen(ip), 128);
  2233. format(string, sizeof(string), "/sAccounts/%s.seifadmin", sendername);
  2234. if (!fexist(string)) return SendClientMessage(playerid,WHITE,"SERVER: Dein Account ist nicht registriert. Bitte benutze /register [passwort]");
  2235. #if defined ENABLE_AUTO_LOGIN
  2236. {
  2237. new File:user = fopen(string, io_read);
  2238. if (user)
  2239. {
  2240. new pass[128];
  2241. new passres[128], value[128];
  2242. new loop = 1;
  2243. WHILE:
  2244. while (fread(user, pass))
  2245. {
  2246. printf("line: %s", pass);
  2247. strmid(passres, GetFileString(pass), 0, strlen(GetFileString(pass)), 128);
  2248. if (loop == 1)
  2249. {
  2250. if (!strcmp("IPAddress", passres)) printf("IP; %s", GetFileValue(pass));
  2251. if (!strcmp("Password", passres))
  2252. {
  2253. value = GetFileValue(pass);
  2254. strmid(AccountInfo[playerid][Password], value, 0, strlen(value)-1, 128);
  2255. loop = 2;
  2256. goto WHILE;
  2257. }
  2258. }
  2259. else if (loop == 2)
  2260. {
  2261. if (!strcmp("IPAddress", passres))
  2262. {
  2263. printf("%s", passres);
  2264. strmid(passres, value, 0, strlen(value)-1, 20);
  2265. printf("file-ip: %s | player-ip: %s", GetFileValue(pass), AccountInfo[playerid][IP]);
  2266. if (!strcmp(AccountInfo[playerid][IP], passres, true))
  2267. {
  2268. SendClientMessage(playerid, YELLOW, "|- Auto Login -|");
  2269. fclose(user);
  2270. OnPlayerLogin(playerid, AccountInfo[playerid][Password]);
  2271. return 1;
  2272. }
  2273. else
  2274. {
  2275. if (fexist(string))
  2276. {
  2277. SendClientMessage(playerid, WHITE, "SERVER: Dieser Account ist Registriert.");
  2278. SendClientMessage(playerid, ORANGE, "Bitte Logge dich ein. ( /login [passwort] )");
  2279. }
  2280. fclose(user);
  2281. }
  2282. }
  2283. }
  2284. }
  2285. fclose(user);
  2286. }
  2287. }
  2288. #else
  2289. {
  2290. if (fexist(string))
  2291. {
  2292. SendClientMessage(playerid, WHITE, "SERVER: Dieser Account ist Registriert.");
  2293. SendClientMessage(playerid, ORANGE, "Bitte Logge dich ein. ( /login [passwort] )");
  2294. }
  2295. }
  2296. #endif
  2297. return 1;
  2298. }
  2299.  
  2300. public OnPlayerDisconnect(playerid, reason)
  2301. {
  2302. b_PlayerDisconnect(playerid);
  2303. PlayerDualWatching[playerid] = 0;
  2304. InventationSent[playerid] = -1;
  2305. Inventation[playerid] = -1;
  2306. InDual[playerid] = 0;
  2307. Inventationprice[playerid] = 0;
  2308. OnPlayerUpdateAccount(playerid);
  2309. AccountInfo[playerid][Jail] = 0;
  2310. AccountInfo[playerid][AdminLevel] = 0;
  2311. AccountInfo[playerid][Warns] = 0;
  2312. AccountInfo[playerid][Logged] = 0;
  2313. AccountInfo[playerid][Mute] = 0;
  2314. AccountInfo[playerid][Level] = 0;
  2315. Drugs[playerid] = 0;
  2316. Hide[playerid] = 0;
  2317. SuperPunch[playerid] = 0;
  2318. ViewCmds[playerid] = 0;
  2319. strmid(AccountInfo[playerid][IP], " ", 0, strlen(" "), 20);
  2320. DestroyVehicle(SpawnedVehicles[playerid]);
  2321. SpawnedVehicles[playerid] = 0;
  2322. return 1;
  2323. }
  2324.  
  2325.  
  2326. public OnPlayerSpawn(playerid)
  2327. {
  2328. L_UpdateClock();
  2329. new string[128];
  2330. new sendername[MAX_PLAYER_NAME];
  2331. GetPlayerName(playerid,sendername,24);
  2332. format(string,128,"/sAccounts/%s.seifadmin",sendername);
  2333. if (fexist(string) && AccountInfo[playerid][Logged] == 0)
  2334. {
  2335. SendClientMessage(playerid,RED,"Du musst duch einloggen!");
  2336. Kick(playerid);
  2337. return 0;
  2338. }
  2339.  
  2340. if(InDM1[playerid] == 1)
  2341. {
  2342. SetPlayerPos(playerid,2557.0781,-1661.2155,453.4312);
  2343. return 0;
  2344. }
  2345.  
  2346.  
  2347.  
  2348. if(!IsPlayerNPC(playerid)) return 1; // We only deal with NPC players in this script
  2349.  
  2350. new playername[64];
  2351. GetPlayerName(playerid,playername,64);
  2352. if(!strcmp(playername,"lvracer",true)) {
  2353. //PutPlayerInVehicle(playerid, Bus1, 0);
  2354. SetPlayerSkin(playerid, 30);
  2355. }
  2356.  
  2357. return 1;
  2358. }
  2359.  
  2360. public OnPlayerDeath(playerid, killerid, reason)
  2361. {
  2362. if(InDual[playerid] == 1)
  2363. {
  2364. SetPlayerScore(killerid,GetPlayerScore(killerid) + 1);
  2365.  
  2366. new string[256];
  2367. new killername[MAX_PLAYER_NAME];
  2368. new playername[MAX_PLAYER_NAME];
  2369. GetPlayerName(killerid, killername, sizeof(killername));
  2370. GetPlayerName(playerid, playername, sizeof(playername));
  2371. if(DualRoom1 == playerid || DualRoom1 == killerid)
  2372. {
  2373. Inventation[playerid] = -1;
  2374. InventationSent[playerid] = -1;
  2375. Inventation[killerid] = -1;
  2376. InventationSent[killerid] = -1;
  2377. InDual[playerid] = 0;
  2378. InDual[killerid] = 0;
  2379. format(string, sizeof(string), "%s hat gegen %s in einem Duell gewonnen und hat $%d bekommen", killername, playername, DualRoom1price);
  2380. SendClientMessageToAll(GREEN, string);
  2381. GivePlayerMoney(killerid, (DualRoom1price*2));
  2382. SpawnPlayer(killerid);
  2383. SendDeathMessage(killerid, playerid, reason);
  2384. DualRoom1 = -1;
  2385. return 1;
  2386. }
  2387. if(DualRoom2 == playerid || DualRoom2 == killerid)
  2388. {
  2389. Inventation[playerid] = -1;
  2390. InventationSent[playerid] = -1;
  2391. Inventation[killerid] = -1;
  2392. InventationSent[killerid] = -1;
  2393. InDual[playerid] = 0;
  2394. InDual[killerid] = 0;
  2395. format(string, sizeof(string), "%s hat gegen %s in einem Duell gewonnen und hat $%d bekommen", killername, playername, DualRoom2price);
  2396. SendClientMessageToAll(GREEN, string);
  2397. GivePlayerMoney(killerid, (DualRoom2price*2));
  2398. SpawnPlayer(killerid);
  2399. SendDeathMessage(killerid, playerid, reason);
  2400. DualRoom2 = -1;
  2401. return 1;
  2402. }
  2403. if(DualRoom3 == playerid || DualRoom3 == killerid)
  2404. {
  2405. Inventation[playerid] = -1;
  2406. InventationSent[playerid] = -1;
  2407. Inventation[killerid] = -1;
  2408. InventationSent[killerid] = -1;
  2409. InDual[playerid] = 0;
  2410. InDual[killerid] = 0;
  2411. format(string, sizeof(string), "%s hat gegen %s in einem Duell gewonnen und hat $%d bekommen", killername, playername, DualRoom3price);
  2412. SendClientMessageToAll(GREEN, string);
  2413. GivePlayerMoney(killerid, (DualRoom3price*2));
  2414. SpawnPlayer(killerid);
  2415. SendDeathMessage(killerid, playerid, reason);
  2416. DualRoom3 = -1;
  2417. return 1;
  2418. }
  2419. if(DualRoom4 == playerid || DualRoom4 == killerid)
  2420. {
  2421. Inventation[playerid] = -1;
  2422. InventationSent[playerid] = -1;
  2423. Inventation[killerid] = -1;
  2424. InventationSent[killerid] = -1;
  2425. InDual[playerid] = 0;
  2426. InDual[killerid] = 0;
  2427. format(string, sizeof(string), "%s hat gegen %s in einem Duell gewonnen und hat $%d bekommen", killername, playername, DualRoom4price);
  2428. SendClientMessageToAll(GREEN, string);
  2429. GivePlayerMoney(killerid, (DualRoom4price*2));
  2430. SpawnPlayer(killerid);
  2431. SendDeathMessage(killerid, playerid, reason);
  2432. DualRoom4 = -1;
  2433. return 1;
  2434. }
  2435. return 1;
  2436. }
  2437. return 1;
  2438. }
  2439.  
  2440. public OnVehicleSpawn(vehicleid)
  2441. {
  2442. return 1;
  2443. }
  2444.  
  2445. public OnVehicleDeath(vehicleid, killerid)
  2446. {
  2447. return 1;
  2448. }
  2449.  
  2450. public OnPlayerText(playerid, text[])
  2451. {
  2452. if (AccountInfo[playerid][Mute] == 1)
  2453. {
  2454. SendClientMessage(playerid, RED, "Du bist Gemutet! Du kannst nicht Reden.");
  2455. return 0;
  2456. }
  2457. return 1;
  2458. }
  2459. ////////////////////////////////////////////////////////////////////////////////
  2460. // -------------------------------------------------------------------------- //
  2461. // COMMANDS //
  2462. // -------------------------------------------------------------------------- //
  2463. ////////////////////////////////////////////////////////////////////////////////
  2464. //Spawn car command
  2465.  
  2466. dcmd_v(playerid, params[])
  2467. {
  2468. new Index;
  2469. new tmp[256]; tmp = strtok(params,Index);
  2470. new tmp2[256]; tmp2 = strtok(params,Index);
  2471. new tmp3[256]; tmp3 = strtok(params,Index);
  2472. if(!strlen(tmp)) return
  2473. SendClientMessage(playerid, COLOR_ORANGE, "Usage: /v [modelid/carname] [color1] [color2]");
  2474. new car;
  2475. new string[128];
  2476. new colour1, colour2;
  2477. if(!IsNumeric(tmp))
  2478. car = GetVehicleModelIDFromName(tmp);
  2479. else car = strval(tmp);
  2480. if(car < 400 || car > 611) return SendClientMessage(playerid, BALTA, "ERROR: Invalid modelid/carname!");
  2481. if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
  2482. if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);
  2483.  
  2484. if(SpawnedVehicles[playerid] != 0) DestroyVehicle(SpawnedVehicles[playerid]);
  2485. new Float:X,Float:Y,Float:Z;
  2486. new Float:Angle,int1;
  2487. new LVehicleID = GetPlayerVehicleID(playerid);
  2488. GetPlayerPos(playerid, X,Y,Z);
  2489. GetPlayerFacingAngle(playerid,Angle);
  2490. int1 = GetPlayerInterior(playerid);
  2491. SpawnedVehicles[playerid] = CreateVehicle(car, X+3,Y,Z, Angle, colour1, colour2, -1);
  2492. LinkVehicleToInterior(LVehicleID,int1);
  2493. PlayerPlaySound(playerid,1085,0,0,0);
  2494. PutPlayerInVehicle(playerid,SpawnedVehicles[playerid],0);
  2495. format(string, sizeof(string), "~g~You Spawned a %s ~b~(Model ID: %d) ~w~with colours: %d,%d", VehNames[car-400], car, colour1, colour2);
  2496. return GameTextForPlayer(playerid,string,7500,1);
  2497. }
  2498. //Car respawn command
  2499. dcmd_respawncars(playerid,params[])
  2500. {
  2501. #pragma unused params
  2502. SendClientMessage(playerid, COLOR_GREY, "Vehicles respawned.");
  2503. GameTextForAll("~n~~n~~n~~n~~n~~n~~r~Vehicles ~g~respawned by Admin.", 3000,3);
  2504. for(new cars=0; cars<MAX_VEHICLES; cars++)
  2505. {
  2506. if(!VehicleOccupied(cars))
  2507. {
  2508. SetVehicleToRespawn(cars);
  2509. }
  2510. }
  2511. return 1;
  2512. }
  2513.  
  2514. public OnPlayerCommandText(playerid, cmdtext[])
  2515. {
  2516. new cmd[128];
  2517. new tmp[128];
  2518. new idx;
  2519. new giveplayername[MAX_PLAYER_NAME];
  2520. new sendername[MAX_PLAYER_NAME];
  2521. new string[128];
  2522. cmd = strtok(cmdtext,idx);
  2523.  
  2524. ////////////////////////////////////////////////////////////////////////////////
  2525. // -------------------------------------------------------------------------- //
  2526. // DCMDS //
  2527. // -------------------------------------------------------------------------- //
  2528. ////////////////////////////////////////////////////////////////////////////////
  2529. //Car spawn
  2530. dcmd(v,1,cmdtext);
  2531. dcmd(respawncars,11,cmdtext);
  2532. //duel system commands
  2533. dcmd(watchduels,10,cmdtext);
  2534. dcmd(leavewatch,10,cmdtext);
  2535. dcmd(duell,4,cmdtext);
  2536. dcmd(acceptduel,10,cmdtext);
  2537. dcmd(duellablehnen,11,cmdtext);
  2538.  
  2539. for(new i = 0; i < GetMaxPlayers(); i++)
  2540. {
  2541. if (IsPlayerConnected(i))
  2542. {
  2543. if (AccountInfo[i][AdminLevel] > 0 && ViewCmds[i] == 1)
  2544. {
  2545. for(new v = 0; v < sizeof(ViewCommands); v++) if (!strcmp(cmdtext, ViewCommands[v], true))
  2546. {
  2547. GetPlayerName(playerid, sendername, sizeof sendername);
  2548. format(tmp, 128, "[VIEWCMDS] [%d]%s: %s", playerid, sendername, cmdtext);
  2549. SendClientMessage(i, PURPLE, tmp);
  2550. }
  2551. }
  2552. }
  2553. }
  2554.  
  2555.  
  2556. if(strcmp(cmd, "/help", true) == 0)
  2557. {
  2558. SendClientMessage(playerid, ORANGE, "_________ Terrastunt Help _________");
  2559. SendClientMessage(playerid, GREEN, " /stunts /dm /duellhelp /drifts /v (Carspawner)");
  2560. }
  2561. if(strcmp(cmd, "/duellhelp", true) == 0)
  2562. {
  2563. SendClientMessage(playerid, ORANGE, "_________ Terrastunt Duellhilfe _________");
  2564. SendClientMessage(playerid, GREEN, " /acceptduel /declineduel /watchduels /stopwatch");
  2565. SendClientMessage(playerid, GREEN, " /duel [id] [weapon] [price] weapons: deagle, mp5, chainsaw, silpist, combatsg, shotgun");
  2566. }
  2567.  
  2568. if(strcmp(cmd, "/stunts", true) == 0)
  2569. {
  2570. SendClientMessage(playerid, ORANGE, "_________ Terrastunt Stunts _________");
  2571. SendClientMessage(playerid, GREEN, " /dr /race1 /lsa /j1 /j2 /ss");
  2572. }
  2573.  
  2574. if(strcmp(cmd, "/dm", true) == 0)
  2575. {
  2576. SendClientMessage(playerid, ORANGE, "_________ Terrastunt DM _________");
  2577. SendClientMessage(playerid, GREEN, " /1dm");
  2578. }
  2579.  
  2580. if(strcmp(cmd, "/drifts", true) == 0)
  2581. {
  2582. SendClientMessage(playerid, ORANGE, "_________ Terrastunt Drifts _________");
  2583. SendClientMessage(playerid, GREEN, " /parad");
  2584. }
  2585.  
  2586. if(strcmp(cmdtext, "/race1", true) == 0)
  2587. {
  2588. new auto5 = GetPlayerVehicleID(playerid);
  2589. SetPlayerPos(playerid,2495.6150,-1661.7157,75.1937);
  2590. SetVehiclePos(auto5,2495.6150,-1661.7157,75.1937);
  2591. PutPlayerInVehicle(playerid,auto5,0);
  2592.  
  2593. SendClientMessage(playerid, ORANGE, "Willkommen beim Race 1.");
  2594. GetPlayerName(playerid, sendername, sizeof(sendername));
  2595. format(string, sizeof(string), "%s ist bei /race1 (Rennen 1).", sendername);
  2596. SendClientMessage(playerid, LIGHTBLUE, string);
  2597. return 1;
  2598. }
  2599. if(strcmp(cmdtext, "/ss", true) == 0)
  2600. {
  2601. new auto5 = GetPlayerVehicleID(playerid);
  2602. SetPlayerPos(playerid,1883.873779,-1256.226440,680.512817);
  2603. SetVehiclePos(auto5,1883.873779,-1256.226440,680.512817);
  2604. PutPlayerInVehicle(playerid,auto5,0);
  2605. SendClientMessage(playerid, ORANGE, "Willkommen bei der Stuntstreet.");
  2606. GetPlayerName(playerid, sendername, sizeof(sendername));
  2607. format(string, sizeof(string), "%s ist bei /ss (Stuntstreet).", sendername);
  2608. SendClientMessage(playerid, LIGHTBLUE, string);
  2609. return 1;
  2610. }
  2611. if(strcmp(cmdtext, "/j1", true) == 0)
  2612. {
  2613. new auto5 = GetPlayerVehicleID(playerid);
  2614. SetPlayerPos(playerid,945.9643,-2590.4438,785.4592);
  2615. SetVehiclePos(auto5,945.9643,-2590.4438,785.4592);
  2616. SetVehicleZAngle(auto5,285.9792);
  2617. PutPlayerInVehicle(playerid,auto5,0);
  2618.  
  2619. SendClientMessage(playerid, ORANGE, "Willkommen beim Jump 1");
  2620. GetPlayerName(playerid, sendername, sizeof(sendername));
  2621. format(string, sizeof(string), "%s ist bei /j1 (Jump 1).", sendername);
  2622. SendClientMessage(playerid, LIGHTBLUE, string);
  2623. return 1;
  2624. }
  2625. if(strcmp(cmdtext, "/j2", true) == 0)
  2626. {
  2627. new auto5 = GetPlayerVehicleID(playerid);
  2628. SetPlayerPos(playerid,1730.393555, -2000.245728, 2721.421143);
  2629. SetVehiclePos(auto5,1730.393555, -2000.245728, 2721.421143);
  2630. PutPlayerInVehicle(playerid,auto5,0);
  2631.  
  2632. SendClientMessage(playerid, ORANGE, "Willkommen beim Jump 2");
  2633. GetPlayerName(playerid, sendername, sizeof(sendername));
  2634. format(string, sizeof(string), "%s ist bei /j2 (Jump 2).", sendername);
  2635. SendClientMessage(playerid, LIGHTBLUE, string);
  2636. return 1;
  2637. }
  2638. if(strcmp(cmdtext, "/lsa", true) == 0)
  2639. {
  2640. new auto5 = GetPlayerVehicleID(playerid);
  2641. SetPlayerPos(playerid,2134.0620,-2556.7974,13.2740);
  2642. SetVehiclePos(auto5,2134.0620,-2556.7974,13.2740);
  2643. PutPlayerInVehicle(playerid,auto5,0);
  2644.  
  2645. SendClientMessage(playerid, ORANGE, "Willkommen beim Los Santos Airport.");
  2646. GetPlayerName(playerid, sendername, sizeof(sendername));
  2647. format(string, sizeof(string), "%s ist bei /lsa (Los Santos Airport).", sendername);
  2648. SendClientMessage(playerid, LIGHTBLUE, string);
  2649. return 1;
  2650. }
  2651.  
  2652. if(strcmp(cmd, "/parad", true) == 0)
  2653. {
  2654.  
  2655. SendClientMessage(playerid, ORANGE, "Willkommen beim Paradrift");
  2656.  
  2657. GetPlayerName(playerid, sendername, sizeof(sendername));
  2658. format(string, sizeof(string), "%s ist bei /parad (Paradrift).", sendername);
  2659. SendClientMessage(playerid, LIGHTBLUE, string);
  2660.  
  2661. SetPlayerPos(playerid,-315.8511,1508.5010,75.5625);
  2662. }
  2663.  
  2664. if(strcmp(cmd, "/1dm", true) == 0)
  2665. {
  2666.  
  2667. SendClientMessage(playerid, ORANGE, "Willkommen beim Heudm");
  2668. SendClientMessage(playerid, ORANGE, "Um das DM zu verlassen gebe /exitdm ein.");
  2669. GivePlayerWeapon(playerid,26,900);
  2670. GivePlayerWeapon(playerid,28,900);
  2671. GivePlayerWeapon(playerid,24,900);
  2672. GivePlayerWeapon(playerid,33,900);
  2673. GetPlayerName(playerid, sendername, sizeof(sendername));
  2674. format(string, sizeof(string), "%s ist bei /1dm (Heudm).", sendername);
  2675. SendClientMessage(playerid, LIGHTBLUE, string);
  2676.  
  2677. SetPlayerPos(playerid,2557.0781,-1661.2155,453.4312);
  2678. InDM1[playerid] = 1;
  2679. }
  2680. if(strcmp(cmd, "/exitdm", true) == 0)
  2681. {
  2682. if(InDM1[playerid] == 1)
  2683. {
  2684. SendClientMessage(playerid, LIGHTBLUE,"Beim nächsten Tod spawnst du nicht mehr im Dm.");
  2685. InDM1[playerid] = 0;
  2686. }
  2687. return 1;
  2688. }
  2689. if(strcmp(cmd, "/dr", true) == 0)
  2690. {
  2691. SendClientMessage(playerid, ORANGE, "Willkommen beim Deadrace");
  2692. GetPlayerName(playerid, sendername, sizeof(sendername));
  2693. format(string, sizeof(string), "%s ist bei /dr (Deadrace).", sendername);
  2694. SendClientMessage(playerid, LIGHTBLUE, string);
  2695. SetPlayerPos(playerid,320.0227,234.9067,1.6172);
  2696. }
  2697. /*»»»»»»»»»»»»»»»»»»»»»»»»»»»» [ADMINS] «««««««««««««««««««««««««««*/
  2698.  
  2699. if(strcmp(cmd, "/makeadmin", true) == 0) // Make player an admin
  2700. {
  2701. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
  2702. {
  2703. tmp = strtok(cmdtext, idx);
  2704. if(!strlen(tmp))
  2705. {
  2706. SendClientMessage(playerid, ORANGE, "Benutze: /makeadmin [playerid] [level 1-5]");
  2707. SendClientMessage(playerid, ORANGE, "Funktion: Spieler wird ein Admin auf dem angegebenen Level.");
  2708. return 1;
  2709. }
  2710. new giveplayerid = ReturnUser(tmp, playerid);
  2711. tmp = strtok(cmdtext, idx);
  2712. new level = strval(tmp);
  2713. if(giveplayerid != INVALID_PLAYER_ID)
  2714. {
  2715. if (level >= 0)
  2716. {
  2717. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2718. GetPlayerName(playerid, sendername, sizeof(sendername));
  2719. printf("ADMIN: %s macht %s ein Level %d Admin.", sendername, giveplayername, level);
  2720. format(string, sizeof(string), "Du bist nun ein Administrator Level %d danke an %s.", level, sendername);
  2721. SendClientMessage(giveplayerid, LIGHTBLUE, string);
  2722. format(string, sizeof(string), "|- Administrator %s hat %s ein Admin Level gegeben. [Level: %d] -|", sendername,giveplayername,level);
  2723. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  2724. AccountInfo[giveplayerid][AdminLevel] = level;
  2725. format(string, sizeof(string), "Du hast %s das Level %d Admin gegeben.", giveplayername,AccountInfo[giveplayerid][AdminLevel]);
  2726. SendClientMessage(playerid, LIGHTBLUE, string);
  2727. }
  2728. else return SendClientMessage(playerid, RED, "Es kann nicht unter 0 sein!");
  2729. }
  2730. else if(giveplayerid == INVALID_PLAYER_ID)
  2731. {
  2732. format(string, sizeof(string), "%i ist kein Aktiver Spieler..", giveplayerid);
  2733. SendClientMessage(playerid, RED, string);
  2734. }
  2735. }
  2736. else SendClientMessage(playerid, RED, "Du bist kein Lead Admin!");
  2737. return 1;
  2738. }
  2739.  
  2740. if(strcmp(cmd, "/gmx", true) == 0) // Reboot the server
  2741. {
  2742. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid)) return GameModeExit();
  2743. else return SendClientMessage(playerid, RED, "Du bist kein Lead Admin!");
  2744. }
  2745.  
  2746. if(strcmp(cmd, "/kickall", true) == 0) // Kick everyone except the one who does this
  2747. {
  2748. new reason[128];
  2749. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
  2750. {
  2751. GetPlayerName(playerid, sendername, sizeof(sendername));
  2752. reason = bigstrtok(cmdtext, idx);
  2753. if(!strlen(reason))
  2754. {
  2755. SendClientMessage(playerid, ORANGE, "Benutze: /kickall [grund]");
  2756. SendClientMessage(playerid, ORANGE, "Funktion: Kickt alle Spieler.");
  2757. return 1;
  2758. }
  2759. printf("ADMIN: Admin %s hat alle gekickt. Grund: %s", sendername, reason);
  2760. format(string, sizeof(string), "-| Administrator %s hat jeden gekickt. [Grund: %s ] |-", sendername,reason);
  2761. SendClientMessageToAll(ADMIN_RED, string);
  2762. for(new i = 0; i < MAX_PLAYERS; i++)
  2763. {
  2764. if (i != playerid)
  2765. {
  2766. Kick(i);
  2767. KickLog(string);
  2768. }
  2769. }
  2770. }
  2771. else SendClientMessage(playerid, RED, "Du bist kein Lead Admin!");
  2772. return 1;
  2773. }
  2774. if(strcmp(cmd, "/nuke", true) == 0) // Nuke a player (explode)
  2775. {
  2776. if (AccountInfo[playerid][AdminLevel] >= 3)
  2777. {
  2778. tmp = strtok(cmdtext, idx);
  2779. if(!strlen(tmp))
  2780. {
  2781. SendClientMessage(playerid, ORANGE, "Benutze: /nuke [playerid]");
  2782. SendClientMessage(playerid, ORANGE, "Funktion: Spieler explodiert.");
  2783. return 1;
  2784. }
  2785. new Float:X,Float:Y,Float:Z;
  2786. new giveplayerid = ReturnUser(tmp, playerid);
  2787. if(IsPlayerConnected(giveplayerid))
  2788. {
  2789. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2790. GetPlayerName(playerid, sendername, sizeof(sendername));
  2791. GetPlayerPos(giveplayerid, X,Y,Z);
  2792. CreateExplosion(X,Y,Z,2,3.0);
  2793. SetPlayerHealth(giveplayerid, 0.0);
  2794. format(string, sizeof(string), "-| Administrator %s explodiert %s |-",sendername,giveplayername);
  2795. SendClientMessageToAdmins(ADMIN_RED, string,1);
  2796. }
  2797. else if (!IsPlayerConnected(giveplayerid))
  2798. {
  2799. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  2800. SendClientMessage(playerid, RED, string);
  2801. }
  2802. }
  2803. else SendClientMessage(playerid, RED, "Dein Adminlevel ist nicht hoch genug.");
  2804. return 1;
  2805. }
  2806.  
  2807. if(strcmp(cmd, "/setscore", true) == 0) // Set player a score
  2808. {
  2809. if (IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 1)
  2810. {
  2811. tmp = strtok(cmdtext, idx);
  2812. if(!strlen(tmp))
  2813. {
  2814. SendClientMessage(playerid, ORANGE, "Benutze: /setscore [playerid] [score]");
  2815. SendClientMessage(playerid, ORANGE, "Funktion: Ändert das Spielerlevel");
  2816. return 1;
  2817. }
  2818. new giveplayerid = ReturnUser(tmp);
  2819. tmp = strtok(cmdtext, idx);
  2820. if(!strlen(tmp))
  2821. {
  2822. SendClientMessage(playerid, ORANGE, "Benutze: /score [playerid] [score]");
  2823. SendClientMessage(playerid, ORANGE, "Funktion: Ändert das Spielerlevel");
  2824. return 1;
  2825. }
  2826. new score = strval(tmp);
  2827. if(IsPlayerConnected(giveplayerid))
  2828. {
  2829. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2830. GetPlayerScore(giveplayerid);
  2831. SetPlayerScore(giveplayerid, score);
  2832. format(string, sizeof(string), "You have changed %s's score number to %d.",giveplayername, score);
  2833. SendClientMessage(playerid, GREEN, string);
  2834. }
  2835. else if (!IsPlayerConnected(giveplayerid))
  2836. {
  2837. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  2838. SendClientMessage(playerid, RED, string);
  2839. }
  2840. }
  2841. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  2842. return 1;
  2843. }
  2844.  
  2845. if(strcmp(cmd, "/angle", true) == 0) // Shows your current angle + sets it
  2846. {
  2847. if (IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 1)
  2848. {
  2849. new Float:angle;
  2850. tmp = strtok(cmdtext, idx);
  2851. if(!strlen(tmp))
  2852. {
  2853. SendClientMessage(playerid, ORANGE, "Benutze: /angle [angle degree]");
  2854. SendClientMessage(playerid, ORANGE, "Funktion: Will change your current angle.");
  2855. GetPlayerFacingAngle(playerid,angle);
  2856. format(string, sizeof(string), "HELP: Your current angle is %f", angle);
  2857. SendClientMessage(playerid, ORANGE, string);
  2858. return 1;
  2859. }
  2860. angle = floatstr(tmp);
  2861. if (GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  2862. {
  2863. SetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
  2864. format(string, sizeof(string), "You have changed your angle degree to %f" ,angle);
  2865. SendClientMessage(playerid, GREEN, string);
  2866. }
  2867. else
  2868. {
  2869. SetPlayerFacingAngle(playerid,angle);
  2870. format(string, sizeof(string), "You have changed your angle degree to %f",angle);
  2871. SendClientMessage(playerid, GREEN, string);
  2872. }
  2873. }
  2874. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  2875. return 1;
  2876. }
  2877.  
  2878. if(strcmp(cmd, "/rangeban", true) == 0) // Range-bans a player with the amount of ranges entered.
  2879. {
  2880. if (AccountInfo[playerid][AdminLevel] >= 4)
  2881. {
  2882. tmp = strtok(cmdtext,idx);
  2883. if (!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /rangeban [playername/id] [ranges(2 max)]");
  2884. new ip[20],ban[128];
  2885. new giveplayerid = ReturnUser(tmp);
  2886. if (IsPlayerConnected(giveplayerid))
  2887. {
  2888. tmp = strtok(cmdtext,idx);
  2889. if (!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /rangeban [playername/id] [RANGES(2 max)]");
  2890. new ranges = strval(tmp);
  2891. if (ranges < 0 || ranges > 2) return SendClientMessage(playerid, RED, "Minimum ranges: 0 | Maximum ranges: 2");
  2892. if (ranges == 0)
  2893. {
  2894. Ban(giveplayerid);
  2895. }
  2896. GetPlayerName(giveplayerid, giveplayername, sizeof giveplayername);
  2897. GetPlayerIp(giveplayerid, ip, sizeof ip);
  2898. new count = 1;
  2899. for(new i = strlen(ip); i > 0; i--)
  2900. {
  2901. if (ip[i] == '.')
  2902. {
  2903. if (count == ranges)
  2904. {
  2905. format(ban, sizeof ban, "banip %s", ip);
  2906. SendRconCommand(ban);
  2907. break;
  2908. }
  2909. else count++;
  2910. }
  2911. else ip[i] = '*';
  2912. }
  2913. format(ban, sizeof ban, "%s has been banned with the ip '%s'", giveplayername, ip);
  2914. SendClientMessage(playerid, GREEN, ban);
  2915. }
  2916. else
  2917. {
  2918. format(string, sizeof(string), "%i ist kein Aktiver Spieler..", giveplayerid);
  2919. SendClientMessage(playerid, RED, string);
  2920. }
  2921. }
  2922. else SendClientMessage(playerid, RED, "You're not a lead admin !");
  2923. return 1;
  2924. }
  2925.  
  2926. if(strcmp(cmd, "/ip", true) == 0) // Look at the player's IP address
  2927. {
  2928. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  2929. {
  2930. tmp = strtok(cmdtext, idx);
  2931. if(!strlen(tmp))
  2932. {
  2933. SendClientMessage(playerid, ORANGE, "Benutze: /ip [playername/id]");
  2934. SendClientMessage(playerid, ORANGE, "Funktion: View a player's IP.");
  2935. return 1;
  2936. }
  2937.  
  2938. new giveplayerid = ReturnUser(tmp);
  2939. if(IsPlayerConnected(giveplayerid))
  2940. {
  2941. new sstring[256];
  2942. new ip[20];
  2943. GetPlayerIp(giveplayerid, ip, sizeof ip);
  2944. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2945. format(sstring, sizeof(sstring), "-| %s's IP: %s |-", giveplayername,ip);
  2946. SendClientMessage(playerid,LIGHTBLUE, sstring);
  2947. }
  2948. else
  2949. {
  2950. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  2951. SendClientMessage(playerid, RED, string);
  2952. }
  2953. }
  2954. else SendClientMessage(playerid, RED, "You are not an admin.");
  2955. return 1;
  2956. }
  2957.  
  2958. if(strcmp(cmd, "/ban", true) == 0) // Bans a player from the server
  2959. {
  2960. new reason[128];
  2961. if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
  2962. {
  2963. tmp = strtok(cmdtext, idx);
  2964. if(!strlen(tmp))
  2965. {
  2966. SendClientMessage(playerid, ORANGE, "Benutze: /ban [playername/id] [reason]");
  2967. SendClientMessage(playerid, ORANGE, "Funktion: Will BAN the specified player.");
  2968. return 1;
  2969. }
  2970.  
  2971. new giveplayerid = ReturnUser(tmp);
  2972.  
  2973. if (AccountInfo[giveplayerid][AdminLevel] > AccountInfo[playerid][AdminLevel])
  2974. {
  2975. format(string, sizeof(string), "-| [%i]%s tried to ban you! |-",playerid,sendername);
  2976. SendClientMessage(giveplayerid, ADMIN_RED,string);
  2977. SendClientMessage(playerid, ADMIN_RED, "You are not allowed to ban an admin with a higher level than you!");
  2978. }
  2979.  
  2980. else if (giveplayerid != INVALID_PLAYER_ID)
  2981. {
  2982. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2983. GetPlayerName(playerid, sendername, sizeof(sendername));
  2984. reason = bigstrtok(cmdtext, idx);
  2985. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "Benutze: /ban [playername/id] [reason]");
  2986. new ip[20];
  2987. printf("ADMIN: Admin %s banned %s. Reason: %s", sendername, giveplayername, reason);
  2988. format(string, sizeof(string), "-| Administrator %s banned %s. [Reason: %s ] |-", sendername, giveplayername, reason);
  2989. SendClientMessageToAll(ADMIN_RED, string);
  2990. GetPlayerIp(giveplayerid, ip, sizeof ip);
  2991. format(string, sizeof(string), "-| Banned Player's IP: %s |-", ip);
  2992. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  2993. AccountInfo[giveplayerid][AdminLevel] = 0; // Resets the banned player's admin level for security reasons
  2994. format(reason, sizeof reason, "[%s]%s", sendername, reason);
  2995. BanEx(giveplayerid, reason);
  2996. }
  2997. else if(giveplayerid == INVALID_PLAYER_ID)
  2998. {
  2999. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  3000. SendClientMessage(playerid, RED, string);
  3001. }
  3002. }
  3003. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3004. return 1;
  3005. }
  3006.  
  3007. if(strcmp(cmd, "/kick", true) == 0) // Kicks the player from the server
  3008. {
  3009. new reason[128];
  3010. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  3011. {
  3012. tmp = strtok(cmdtext, idx);
  3013. if(!strlen(tmp))
  3014. {
  3015. SendClientMessage(playerid, ORANGE, "Benutze: /kick [playername/id] [reason]");
  3016. SendClientMessage(playerid, ORANGE, "Funktion: Will kick the specified player.");
  3017. return 1;
  3018. }
  3019.  
  3020. new giveplayerid = ReturnUser(tmp);
  3021. if(giveplayerid != INVALID_PLAYER_ID)
  3022. {
  3023. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  3024. GetPlayerName(playerid, sendername, sizeof(sendername));
  3025. reason = bigstrtok(cmdtext, idx);
  3026. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "Benutze: /kick [playername/id] [reason]");
  3027. printf("ADMIN: Admin %s kicked %s. Reason: %s", sendername, giveplayername, reason);
  3028. format(string, sizeof(string), "-| Administrator %s kicked %s. [Reason: %s ] |-", sendername, giveplayername, reason);
  3029. SendClientMessageToAll(ADMIN_RED, string);
  3030. Kick(giveplayerid);
  3031. KickLog(string);
  3032. }
  3033. else if(giveplayerid == INVALID_PLAYER_ID)
  3034. {
  3035. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  3036. SendClientMessage(playerid, RED, string);
  3037. }
  3038. }
  3039. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3040. return 1;
  3041. }
  3042.  
  3043. if(strcmp(cmd, "/mute", true) == 0) // Mutes the player from talking in the chat box
  3044. {
  3045. new reason[128];
  3046. if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
  3047. {
  3048. tmp = strtok(cmdtext, idx);
  3049. if(!strlen(tmp))
  3050. {
  3051. SendClientMessage(playerid, ORANGE, "Benutze: /mute [playername/id] [reason]");
  3052. SendClientMessage(playerid, ORANGE, "Funktion: Will mute the specified player.");
  3053. return 1;
  3054. }
  3055.  
  3056. new giveplayerid = ReturnUser(tmp);
  3057.  
  3058. if(giveplayerid != INVALID_PLAYER_ID)
  3059. {
  3060. if (AccountInfo[giveplayerid][Mute] == 0)
  3061. {
  3062. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  3063. GetPlayerName(playerid, sendername, sizeof(sendername));
  3064. reason = bigstrtok(cmdtext, idx);
  3065. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "Benutze: /mute [playername/id] [reason]");
  3066. printf("ADMIN: Admin %s muted %s. Reason: %s", sendername, giveplayername, reason);
  3067. format(string, sizeof(string), "-| Administrator %s muted %s. [Reason: %s ]|-", sendername,giveplayername,reason);
  3068. SendClientMessageToAll(ADMIN_RED, string);
  3069. AccountInfo[giveplayerid][Mute] = 1;
  3070. }
  3071. else if (AccountInfo[giveplayerid][Mute] == 1) SendClientMessage(playerid, RED, "Player is already muted!");
  3072. }
  3073.  
  3074. else if(giveplayerid == INVALID_PLAYER_ID)
  3075. {
  3076. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  3077. SendClientMessage(playerid, RED, string);
  3078. }
  3079. }
  3080. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3081. return 1;
  3082. }
  3083.  
  3084. if(strcmp(cmd, "/unmute", true) == 0) // Unmutes a muted player
  3085. {
  3086. if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
  3087. {
  3088. tmp = strtok(cmdtext, idx);
  3089. if(!strlen(tmp))
  3090. {
  3091. SendClientMessage(playerid, ORANGE, "Benutze: /unmute [playername/id]");
  3092. SendClientMessage(playerid, ORANGE, "Funktion: Will unmute the specified player.");
  3093. return 1;
  3094. }
  3095.  
  3096. new giveplayerid = ReturnUser(tmp);
  3097.  
  3098. if(giveplayerid != INVALID_PLAYER_ID)
  3099. {
  3100. if (AccountInfo[giveplayerid][Mute] == 1)
  3101. {
  3102. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  3103. GetPlayerName(playerid, sendername, sizeof(sendername));
  3104. format(string, sizeof(string), "-| Administrator %s unmuted %s |-", sendername,giveplayername);
  3105. SendClientMessageToAll(ADMIN_RED, string);
  3106. AccountInfo[giveplayerid][Mute] = 0;
  3107. }
  3108. else if (AccountInfo[giveplayerid][Mute] == 0) SendClientMessage(playerid, RED, "Player isn't muted.");
  3109. }
  3110.  
  3111. else if(giveplayerid == INVALID_PLAYER_ID)
  3112. {
  3113. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  3114. SendClientMessage(playerid, RED, string);
  3115. }
  3116. }
  3117. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3118. return 1;
  3119. }
  3120.  
  3121. if(strcmp(cmd, "/drugs", true) == 0) // Will make the player invinsible until death
  3122. {
  3123. if (AccountInfo[playerid][AdminLevel] > 1 || IsPlayerAdmin(playerid))
  3124. {
  3125. SetPlayerHealth(playerid,999999999); // max HP
  3126. Drugs[playerid] = 1;
  3127. SendClientMessage(playerid, GREEN, "You are now high on drugs...");
  3128. }
  3129. else SendClientMessage(playerid, RED, "Drugs are bad for you!");
  3130. return 1;
  3131. }
  3132.  
  3133. if(strcmp(cmd, "/freeze", true) == 0) // Freezes the player. Prevents him from moving
  3134. {
  3135. new reason[128];
  3136. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  3137. {
  3138. tmp = strtok(cmdtext, idx);
  3139. if(!strlen(tmp))
  3140. {
  3141. SendClientMessage(playerid, ORANGE, "Benutze: /freeze [playername/id] [reason]");
  3142. SendClientMessage(playerid, ORANGE, "Funktion: Will freeze the specified player.");
  3143. return 1;
  3144. }
  3145.  
  3146. new giveplayerid = ReturnUser(tmp);
  3147. if(giveplayerid != INVALID_PLAYER_ID)
  3148. {
  3149. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  3150. GetPlayerName(playerid, sendername, sizeof(sendername));
  3151. reason = bigstrtok(cmdtext, idx);
  3152. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "Benutze: /freeze [playername/id] [reason]");
  3153. format(string, sizeof(string), "-| Administrator %s froze %s. [Reason: %s ] |-", sendername, giveplayername, reason);
  3154. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  3155. TogglePlayerControllable(giveplayerid, false);
  3156. }
  3157. else if(giveplayerid == INVALID_PLAYER_ID)
  3158. {
  3159. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  3160. SendClientMessage(playerid, RED, string);
  3161. }
  3162. }
  3163. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3164. return 1;
  3165. }
  3166. if(strcmp(cmd, "/unfreeze", true) == 0) // Unfreezes the player
  3167. {
  3168. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  3169. {
  3170. tmp = strtok(cmdtext, idx);
  3171. if(!strlen(tmp))
  3172. {
  3173. SendClientMessage(playerid, ORANGE, "Benutze: /unfreeze [playername/id]");
  3174. SendClientMessage(playerid, ORANGE, "Funktion: Will unfreeze the specified player.");
  3175. return 1;
  3176. }
  3177.  
  3178. new giveplayerid = ReturnUser(tmp);
  3179. if(giveplayerid != INVALID_PLAYER_ID)
  3180. {
  3181. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  3182. GetPlayerName(playerid, sendername, sizeof(sendername));
  3183. format(string, sizeof(string), "-| Administrator %s unfroze %s |-", sendername,giveplayername);
  3184. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  3185. TogglePlayerControllable(giveplayerid, true);
  3186. }
  3187. else if(giveplayerid == INVALID_PLAYER_ID)
  3188. {
  3189. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  3190. SendClientMessage(playerid, RED, string);
  3191. }
  3192. }
  3193. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3194. return 1;
  3195. }
  3196.  
  3197. if(strcmp(cmd, "/setname", true) == 0) // Changes a player's name
  3198. {
  3199. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  3200. {
  3201. tmp = strtok(cmdtext, idx);
  3202. if(!strlen(tmp))
  3203. {
  3204. SendClientMessage(playerid, ORANGE, "Benutze: /setname [playername/id] [newname]");
  3205. SendClientMessage(playerid, ORANGE, "Funktion: Will change the player's current name. ");
  3206. return 1;
  3207. }
  3208.  
  3209. new giveplayerid = ReturnUser(tmp);
  3210. if(giveplayerid != INVALID_PLAYER_ID)
  3211. {
  3212. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  3213. GetPlayerName(playerid, sendername, sizeof(sendername));
  3214. tmp = strtok(cmdtext, idx);
  3215. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /setname [playername/id] [newname]");
  3216. format(string, sizeof(string), "-| Administrator %s renamed %s. [New Name: %s ] |-", sendername, giveplayername, tmp);
  3217. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  3218. SetPlayerName(giveplayerid, tmp);
  3219. }
  3220. else if(giveplayerid == INVALID_PLAYER_ID)
  3221. {
  3222. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  3223. SendClientMessage(playerid, RED, string);
  3224. }
  3225. }
  3226. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3227. return 1;
  3228. }
  3229.  
  3230. if(strcmp(cmd, "/givecash", true) == 0) // Gives some cash to the player
  3231. {
  3232. if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
  3233. {
  3234. tmp = strtok(cmdtext, idx);
  3235. if(!strlen(tmp))
  3236. {
  3237. SendClientMessage(playerid, ORANGE, "Benutze: /givecash [playername/id] [cash]");
  3238. SendClientMessage(playerid, ORANGE, "Funktion: Will give the player some cash. ");
  3239. return 1;
  3240. }
  3241.  
  3242. new giveplayerid = ReturnUser(tmp);
  3243. if(giveplayerid != INVALID_PLAYER_ID)
  3244. {
  3245. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  3246. GetPlayerName(playerid, sendername, sizeof(sendername));
  3247. tmp = strtok(cmdtext, idx);
  3248. new cash = strval(tmp);
  3249. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /givecash [playername/id] [cash]");
  3250. format(string, sizeof(string), "-| Administrator %s gave %s $%d |-", sendername,giveplayername,cash);
  3251. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  3252. GivePlayerMoney(giveplayerid, cash);
  3253. }
  3254. else if(giveplayerid == INVALID_PLAYER_ID)
  3255. {
  3256. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  3257. SendClientMessage(playerid, RED, string);
  3258. }
  3259. }
  3260. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3261. return 1;
  3262. }
  3263.  
  3264. if(strcmp(cmd, "/kill", true) == 0) // If an admin, it kills the player you want. If not, suicide.
  3265. {
  3266. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  3267. {
  3268. tmp = strtok(cmdtext, idx);
  3269. if(!strlen(tmp))
  3270. {
  3271. SendClientMessage(playerid, ORANGE, "Benutze: /kill [playername/id]");
  3272. SendClientMessage(playerid, ORANGE, "Funktion: Will kill the specified player.");
  3273. return 1;
  3274. }
  3275.  
  3276. new giveplayerid = ReturnUser(tmp);
  3277. if(giveplayerid != INVALID_PLAYER_ID)
  3278. {
  3279. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  3280. GetPlayerName(playerid, sendername, sizeof(sendername));
  3281. format(string, sizeof(string), "-| Administrator %s killed %s |-", sendername,giveplayername);
  3282. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  3283. SetPlayerHealth(giveplayerid, 0.0);
  3284. }
  3285. else if(giveplayerid == INVALID_PLAYER_ID)
  3286. {
  3287. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  3288. SendClientMessage(playerid, RED, string);
  3289. }
  3290. }
  3291. else
  3292. {
  3293. SendClientMessage(playerid, RED, "You have committed suicide.");
  3294. SetPlayerHealth(playerid,0.0);
  3295. }
  3296. return 1;
  3297. }
  3298.  
  3299. if(strcmp(cmd, "/goto", true) == 0) // Teleports to a player
  3300. {
  3301. new Float:pX,Float:pY,Float:pZ;
  3302. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  3303. {
  3304. tmp = strtok(cmdtext, idx);
  3305. if(!strlen(tmp))
  3306. {
  3307. SendClientMessage(playerid, ORANGE, "Benutze: /goto [playername/id]");
  3308. SendClientMessage(playerid, ORANGE, "Funktion: Will teleport to the specified player.");
  3309. return 1;
  3310. }
  3311. new giveplayerid = ReturnUser(tmp);
  3312. if(giveplayerid != INVALID_PLAYER_ID)
  3313. {
  3314. if (GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  3315. {
  3316. GetPlayerPos(giveplayerid,pX,pY,pZ);
  3317. SetVehiclePos(GetPlayerVehicleID(playerid),pX,pY,pZ+2);
  3318. }
  3319. else
  3320. {
  3321. GetPlayerPos(giveplayerid,pX,pY,pZ);
  3322. SetPlayerPos(playerid,pX,pY,pZ+2);
  3323. }
  3324. SetPlayerInterior(playerid,GetPlayerInterior(giveplayerid));
  3325. }
  3326. else if(giveplayerid == INVALID_PLAYER_ID)
  3327. {
  3328. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  3329. SendClientMessage(playerid, RED, string);
  3330. }
  3331. }
  3332. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3333. return 1;
  3334. }
  3335.  
  3336. if(strcmp(cmd, "/get", true) == 0) // Teleports the player to your position
  3337. {
  3338. new Float:pX,Float:pY,Float:pZ;
  3339. if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
  3340. {
  3341. tmp = strtok(cmdtext, idx);
  3342. if(!strlen(tmp))
  3343. {
  3344. SendClientMessage(playerid, ORANGE, "Benutze: /get [playername/id]");
  3345. SendClientMessage(playerid, ORANGE, "Funktion: Will teleport the specified player to you.");
  3346. return 1;
  3347. }
  3348. new giveplayerid = ReturnUser(tmp);
  3349. if(giveplayerid != INVALID_PLAYER_ID)
  3350. {
  3351. if (GetPlayerState(giveplayerid) == PLAYER_STATE_DRIVER)
  3352. {
  3353. GetPlayerPos(playerid,pX,pY,pZ);
  3354. SetVehiclePos(GetPlayerVehicleID(giveplayerid),pX,pY,pZ+2);
  3355. }
  3356. else
  3357. {
  3358. GetPlayerPos(playerid,pX,pY,pZ);
  3359. SetPlayerPos(giveplayerid,pX,pY,pZ+2);
  3360. }
  3361. SetPlayerInterior(giveplayerid,GetPlayerInterior(playerid));
  3362. }
  3363. else if(giveplayerid == INVALID_PLAYER_ID)
  3364. {
  3365. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  3366. SendClientMessage(playerid, RED, string);
  3367. }
  3368. }
  3369. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3370. return 1;
  3371. }
  3372.  
  3373. if(strcmp(cmd, "/teleport", true) == 0) // Teleports the player to the other player
  3374. {
  3375. if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
  3376. {
  3377. tmp = strtok(cmdtext, idx);
  3378. if(!strlen(tmp))
  3379. {
  3380. SendClientMessage(playerid, ORANGE, "Benutze: /teleport [playername/id] [targetname/id]");
  3381. SendClientMessage(playerid, ORANGE, "Funktion: Will teleport the player to the target.");
  3382. return 1;
  3383. }
  3384. new giveplayerid = ReturnUser(tmp);
  3385. if(giveplayerid != INVALID_PLAYER_ID)
  3386. {
  3387. tmp = strtok(cmdtext, idx);
  3388. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /teleport [playername/id] [targetname/id]");
  3389. new targetid = ReturnUser(tmp, playerid);
  3390. if (targetid == INVALID_PLAYER_ID) return 1;
  3391. new Float:tX,Float:tY,Float:tZ;
  3392. if (GetPlayerState(giveplayerid) == PLAYER_STATE_DRIVER)
  3393. {
  3394. GetPlayerPos(targetid,tX,tY,tZ);
  3395. SetVehiclePos(GetPlayerVehicleID(giveplayerid),tX,tY,tZ+2);
  3396. }
  3397. else
  3398. {
  3399. GetPlayerPos(targetid,tX,tY,tZ);
  3400. SetPlayerPos(giveplayerid,tX,tY,tZ+2);
  3401. }
  3402. SetPlayerInterior(giveplayerid,GetPlayerInterior(targetid));
  3403. }
  3404. else if(giveplayerid == INVALID_PLAYER_ID)
  3405. {
  3406. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  3407. SendClientMessage(playerid, RED, string);
  3408. }
  3409. }
  3410. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3411. return 1;
  3412. }
  3413.  
  3414. if(!strcmp(cmdtext, "//", true, 2)) // Admin chat
  3415. {
  3416. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  3417. {
  3418. if(!strlen(cmdtext[2])) return SendClientMessage(playerid, ORANGE, "Benutze: //<text>"), SendClientMessage(playerid, ORANGE, "HELP: Example: //Hi");
  3419. GetPlayerName(playerid, sendername, sizeof(sendername));
  3420. format(string, sizeof(string), "Admin [%i]%s: %s" ,playerid,sendername, cmdtext[2]);
  3421. SendClientMessageToAdmins(DARKPINK, string, 1);
  3422. return 1;
  3423. }
  3424. else return SendClientMessage(playerid, RED, "You are not an admin!");
  3425. }
  3426.  
  3427. if(strcmp(cmd, "/slap", true) == 0) // Slap a player
  3428. {
  3429. new Float:pX,Float:pY,Float:pZ;
  3430. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  3431. {
  3432. tmp = strtok(cmdtext, idx);
  3433. if(!strlen(tmp))
  3434. {
  3435. SendClientMessage(playerid, ORANGE, "Benutze: /slap [playername/id]");
  3436. SendClientMessage(playerid, ORANGE, "Funktion: Will slap the specified player");
  3437. return 1;
  3438. }
  3439.  
  3440. new giveplayerid = ReturnUser(tmp);
  3441. if(giveplayerid != INVALID_PLAYER_ID)
  3442. {
  3443. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  3444. GetPlayerName(playerid, sendername, sizeof(sendername));
  3445. GetPlayerPos(giveplayerid,pX,pY,pZ);
  3446. SetPlayerPos(giveplayerid,pX,pY,pZ+5);
  3447. format(string, sizeof(string), "-| Administrator %s slapped %s |-",sendername, giveplayername);
  3448. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  3449. }
  3450. else if(giveplayerid == INVALID_PLAYER_ID)
  3451. {
  3452. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  3453. SendClientMessage(playerid, RED, string);
  3454. }
  3455. }
  3456. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3457. return 1;
  3458. }
  3459.  
  3460. if(strcmp(cmd, "/bslap", true) == 0) // Slap a player 2 times higher than /slap
  3461. {
  3462. new Float:pX,Float:pY,Float:pZ;
  3463. if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
  3464. {
  3465. tmp = strtok(cmdtext, idx);
  3466. if(!strlen(tmp))
  3467. {
  3468. SendClientMessage(playerid, ORANGE, "Benutze: /bslap [playername/id]");
  3469. SendClientMessage(playerid, ORANGE, "Funktion: Will double slap the specified player");
  3470. return 1;
  3471. }
  3472.  
  3473. new giveplayerid = ReturnUser(tmp);
  3474. if(giveplayerid != INVALID_PLAYER_ID)
  3475. {
  3476. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  3477. GetPlayerName(playerid, sendername, sizeof(sendername));
  3478. GetPlayerPos(giveplayerid,pX,pY,pZ);
  3479. SetPlayerPos(giveplayerid,pX,pY,pZ+10);
  3480. format(string, sizeof(string), "-| Administrator %s bitch slapped %s |-",sendername, giveplayername);
  3481. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  3482. }
  3483. else if(giveplayerid == INVALID_PLAYER_ID)
  3484. {
  3485. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  3486. SendClientMessage(playerid, RED, string);
  3487. }
  3488. }
  3489. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3490. return 1;
  3491. }
  3492.  
  3493. if(strcmp(cmd, "/disarm", true) == 0) // Reset the player's weapons
  3494. {
  3495. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  3496. {
  3497. tmp = strtok(cmdtext, idx);
  3498. if(!strlen(tmp))
  3499. {
  3500. SendClientMessage(playerid, ORANGE, "Benutze: /disarm [playername/id]");
  3501. SendClientMessage(playerid, ORANGE, "Funktion: Will disarm the player.");
  3502. return 1;
  3503. }
  3504.  
  3505. new giveplayerid = ReturnUser(tmp);
  3506. if(giveplayerid != INVALID_PLAYER_ID)
  3507. {
  3508. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  3509. GetPlayerName(playerid, sendername, sizeof(sendername));
  3510. ResetPlayerWeapons(giveplayerid);
  3511. format(string, sizeof(string), "-| Administrator %s disarmed %s |-",sendername, giveplayername);
  3512. SendClientMessageToAdmins(ADMIN_RED,string,1);
  3513. }
  3514. else if(giveplayerid == INVALID_PLAYER_ID)
  3515. {
  3516. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  3517. SendClientMessage(playerid, RED, string);
  3518. }
  3519. }
  3520. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3521. return 1;
  3522. }
  3523.  
  3524. if(strcmp(cmd, "/say", true) == 0) // Publicly says an admin message. Exact same as RCON's 'say' but in a red color.
  3525. {
  3526. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  3527. {
  3528. GetPlayerName(playerid, sendername, sizeof(sendername));
  3529. new result[128];
  3530. result = bigstrtok(cmdtext, idx);
  3531. if(!strlen(result))
  3532. {
  3533. SendClientMessage(playerid, ORANGE, "Benutze: /say [message]");
  3534. SendClientMessage(playerid, ORANGE, "Funktion: Will broadcast an admin message.");
  3535. return 1;
  3536. }
  3537. format(string, sizeof(string), "* Admin: %s", result);
  3538. SendClientMessageToAll(LIGHTRED, string);
  3539. printf("%s", string);
  3540. }
  3541. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3542. return 1;
  3543. }
  3544.  
  3545. if(strcmp(cmd, "/bc", true) == 0 || strcmp(cmd, "/broadcast", true) == 0) // Displays a screen message
  3546. {
  3547. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  3548. {
  3549. GetPlayerName(playerid, sendername, sizeof(sendername));
  3550. new result[128];
  3551. result = bigstrtok(cmdtext, idx);
  3552. if(!strlen(result))
  3553. {
  3554. SendClientMessage(playerid, ORANGE, "Benutze: /bc [message] [time in seconds(if non entered, 5 seconds will be the time by default)]");
  3555. SendClientMessage(playerid, ORANGE, "Funktion: Will broadcast a screen message");
  3556. return 1;
  3557. }
  3558. new time;
  3559. tmp = strtok(cmdtext, idx);
  3560. if (!strlen(tmp)) time = 5;
  3561. else time = strval(tmp);
  3562. format(string, sizeof(string), "~w~%s", result);
  3563. GameTextForAll(string, time*1000, 4);
  3564. printf("%s", string);
  3565. }
  3566. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3567. return 1;
  3568. }
  3569.  
  3570. if(strcmp(cmd, "/veh", true) == 0) // Spawn a vehicle. Name supported too.
  3571. {
  3572. if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
  3573. {
  3574. tmp = strtok(cmdtext, idx);
  3575. if(!strlen(tmp))
  3576. {
  3577. SendClientMessage(playerid, ORANGE, "Benutze: /veh [modelname/id] [color1] [color2]");
  3578. return 1;
  3579. }
  3580. new car = GetVehicleModelIDFromName(tmp);
  3581. if (car == -1)
  3582. {
  3583. car = strval(tmp);
  3584. if(car < 400 || car > 611) return SendClientMessage(playerid, RED, "Vehicle ID can't be below 400 nor above 611 !");
  3585. }
  3586.  
  3587. tmp = strtok(cmdtext, idx);
  3588. if(!strlen(tmp))
  3589. {
  3590. SendClientMessage(playerid, ORANGE, "Benutze: /veh [modelname/id] [color1] [color2]");
  3591. return 1;
  3592. }
  3593. new color1 = strval(tmp);
  3594.  
  3595. tmp = strtok(cmdtext, idx);
  3596. if(!strlen(tmp))
  3597. {
  3598. SendClientMessage(playerid, ORANGE, "Benutze: /veh [modelname/id] [color1] [color2]");
  3599. return 1;
  3600. }
  3601. new color2 = strval(tmp);
  3602.  
  3603. new Float:X,Float:Y,Float:Z,Float:A;
  3604. GetPlayerPos(playerid, X,Y,Z);
  3605. GetPlayerFacingAngle(playerid, A);
  3606. X += (5 * floatsin(-A, degrees));
  3607. Y += (5 * floatcos(-A, degrees));
  3608. new carid = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 600000000);
  3609. format(string, sizeof(string), "Vehicle %s(%d) spawned.", VehNames[GetVehicleModel(carid)-400], carid);
  3610. SendClientMessage(playerid, GREEN, string);
  3611. GetPlayerName(playerid,sendername,sizeof(sendername));
  3612. format(string, sizeof(string), "-| Administrator %s spawned a vehicle(%d) [ Model: %s ] |-", sendername, carid, VehNames[GetVehicleModel(carid)-400]);
  3613. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  3614. }
  3615. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  3616. return 1;
  3617. }
  3618.  
  3619. if(strcmp(cmd, "/pweapons", true) == 0) // Checks a player's weapons
  3620. {
  3621. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 1)
  3622. {
  3623. tmp = strtok(cmdtext, idx);
  3624. if(!strlen(tmp))
  3625. {
  3626. SendClientMessage(playerid, ORANGE, "Benutze: /pweapons [playerid/name]");
  3627. return 1;
  3628. }
  3629. new giveplayerid = ReturnUser(tmp);
  3630. if (giveplayerid != INVALID_PLAYER_ID)
  3631. {
  3632. new bullets[12];
  3633. new weapons[12];
  3634. new weapname[12][20];
  3635. for(new i = 0; i < 12; i++)
  3636. {
  3637. GetPlayerWeaponData(giveplayerid, i+1, weapons[i], bullets[i]);
  3638. GetWeaponName(weapons[i], weapname[i], 20);
  3639. }
  3640. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  3641. format(string,sizeof(string)," |- %s's Weapons -|",giveplayername);
  3642. SendClientMessage(playerid,LIGHTGREEN,string);
  3643. 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]);
  3644. SendClientMessage(playerid,YELLOW,string);
  3645. 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]);
  3646. SendClientMessage(playerid,YELLOW,string);
  3647. }
  3648. else SendClientMessage(playerid, RED, "Player is not active.");
  3649. }
  3650. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  3651. return 1;
  3652. }
  3653.  
  3654. if(strcmp(cmd, "/sethp", true) == 0) // Sets a player's health
  3655. {
  3656. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 3)
  3657. {
  3658. tmp = strtok(cmdtext, idx);
  3659. if(!strlen(tmp))
  3660. {
  3661. SendClientMessage(playerid, ORANGE, "Benutze: /sethp [playerid/name] [health]");
  3662. return 1;
  3663. }
  3664. new targetid = ReturnUser(tmp);
  3665. tmp = strtok(cmdtext, idx);
  3666. new Float:hp = floatstr(tmp);
  3667. if (targetid != INVALID_PLAYER_ID)
  3668. {
  3669. if (!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /sethp [playerid/name] [health]");
  3670. SetPlayerHealth(targetid,hp);
  3671. if (hp < 1) Drugs[targetid] = 0;
  3672. GetPlayerName(playerid, sendername, sizeof(sendername));
  3673. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  3674. format(string,sizeof(string),"|- Administrator %s has changed %s's HP. [HP: %.2f] -|",sendername,giveplayername,hp);
  3675. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  3676. }
  3677. else SendClientMessage(playerid, RED, "Player is not active.");
  3678. }
  3679. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  3680. return 1;
  3681. }
  3682.  
  3683. if (strcmp(cmd, "/logout", true) == 0) // Logs off the admin
  3684. {
  3685. if(AccountInfo[playerid][Logged] == 1)
  3686. {
  3687. if(AccountInfo[playerid][AdminLevel] >= 1)
  3688. {
  3689. OnPlayerUpdateAccount(playerid);
  3690. AccountInfo[playerid][Logged] = 0;
  3691. AccountInfo[playerid][AdminLevel] = 0;
  3692. SendClientMessage(playerid, GREEN, "You have successfuly logged out.");
  3693. }
  3694. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  3695. }
  3696. else return SendClientMessage(playerid, RED, "You're not logged in! ( /login [password] )");
  3697. return 1;
  3698. }
  3699.  
  3700. if(strcmp(cmd, "/warn", true) == 0) // Warns a player. 3 warnings = auto-ban
  3701. {
  3702. if (AccountInfo[playerid][AdminLevel] >= 3)
  3703. {
  3704. tmp = strtok(cmdtext, idx);
  3705. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /warn [playername/id] [reason]");
  3706. new targetid = ReturnUser(tmp);
  3707. if(IsPlayerConnected(targetid))
  3708. {
  3709. if(targetid != INVALID_PLAYER_ID)
  3710. {
  3711. new reason[128];
  3712. reason = bigstrtok(cmdtext, idx);
  3713. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "Benutze: /warn [playername/id] [reason]");
  3714. new sstring[128];
  3715. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  3716. GetPlayerName(playerid, sendername, sizeof(sendername));
  3717. AccountInfo[targetid][Warns] += 1;
  3718. format(string, sizeof(string), "You got warned by Admin %s. Reason: %s", sendername, reason);
  3719. SendClientMessage(targetid, ADMIN_RED, string);
  3720. format(string, sizeof(string), "-| Administrator %s warned %s. [Reason: %s ] |-", sendername,giveplayername, reason);
  3721. SendClientMessageToAdmins(ADMIN_RED,string,1);
  3722. format(string, sizeof(string), "-| %s's warnings: %d |-",giveplayername, AccountInfo[targetid][Warns]);
  3723. SendClientMessageToAdmins(ADMIN_RED,string,1);
  3724. if (AccountInfo[targetid][Warns] == 1) strmid(AccountInfo[targetid][WarnReason1], reason, 0, strlen(reason), 128);
  3725. else if (AccountInfo[targetid][Warns] == 2) strmid(AccountInfo[targetid][WarnReason2], reason, 0, strlen(reason), 128);
  3726. else if (AccountInfo[targetid][Warns] == 3) strmid(AccountInfo[targetid][WarnReason3], reason, 0, strlen(reason), 128);
  3727. SendClientMessage(targetid, RED, "3 Warnings = Auto-Ban!");
  3728. if(AccountInfo[targetid][Warns] >= 3)
  3729. {
  3730. new ip[128];
  3731. format(string, sizeof(string), "-| Administrator %s banned %s. [Reason: 3 Warnings...] |-", sendername,giveplayername);
  3732. BanLog(string);
  3733. SendClientMessageToAll(ADMIN_RED, string);
  3734. for(new i = 0; i < 3; i++)
  3735. {
  3736. if (i == 0) format(string, sizeof (string), "-| Reason #%d: %s |-", i+1, AccountInfo[targetid][WarnReason1]);
  3737. else if (i == 1) format(string, sizeof (string), "-| Reason #%d: %s |-", i+1, AccountInfo[targetid][WarnReason2]);
  3738. else if (i == 2) format(string, sizeof (string), "-| Reason #%d: %s |-", i+1, AccountInfo[targetid][WarnReason3]);
  3739. SendClientMessageToAll(ADMIN_RED, string);
  3740. }
  3741. GetPlayerIp(targetid,ip,128);
  3742. format(sstring, sizeof(sstring), "-| Banned Player's IP: %s |-", ip);
  3743. SendClientMessageToAdmins(ADMIN_RED, sstring,1);
  3744. AccountInfo[targetid][AdminLevel]= 0;
  3745. AccountInfo[targetid][Warns] = 0;
  3746. format(AccountInfo[targetid][WarnReason1], 128, "NONE");
  3747. format(AccountInfo[targetid][WarnReason2], 128, "NONE");
  3748. format(AccountInfo[targetid][WarnReason3], 128, "NONE");
  3749. Ban(giveplayerid);
  3750. return 1;
  3751. }
  3752. }
  3753. else
  3754. {
  3755. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  3756. SendClientMessage(playerid, RED, string);
  3757. }
  3758. }
  3759. else
  3760. {
  3761. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  3762. SendClientMessage(playerid, RED, string);
  3763. }
  3764. }
  3765. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3766. return 1;
  3767. }
  3768.  
  3769. if(strcmp(cmd, "/pstats", true) == 0) // Views the player's stats
  3770. {
  3771. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 1)
  3772. {
  3773. tmp = strtok(cmdtext, idx);
  3774. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /pstats [playername/id]");
  3775. new targetid = ReturnUser(tmp);
  3776. if (targetid != INVALID_PLAYER_ID)
  3777. {
  3778. new Float:health,Float:armor;
  3779. GetPlayerHealth(targetid,health);
  3780. GetPlayerArmour(targetid,armor);
  3781. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  3782. format(string, sizeof(string), "Stats of %s: Health: '%.2f' - Cash: '$%d' - Warnings: '%d' - Armor: '%.2f'",giveplayername, health,GetPlayerMoney(targetid),AccountInfo[targetid][Warns],armor);
  3783. SendClientMessage(playerid,PURPLE,string);
  3784. if(AccountInfo[giveplayerid][Logged] == 1) SendClientMessage(playerid, PURPLE, "Logged In: Yes");
  3785. else if(AccountInfo[giveplayerid][Logged] == 0) SendClientMessage(playerid, PURPLE, "Logged In: No");
  3786. SendClientMessage(playerid,YELLOW,"Type /pweapons [playername/id] to check the player's weapons");
  3787. }
  3788. else SendClientMessage(playerid, RED, "Player is not active.");
  3789. }
  3790. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  3791. return 1;
  3792. }
  3793.  
  3794. if(strcmp(cmd, "/fuck", true) == 0) // Sends a player in the air and explodes
  3795. {
  3796. new Float:pX,Float:pY,Float:pZ;
  3797. new Float:X,Float:Y,Float:Z;
  3798. if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
  3799. {
  3800. tmp = strtok(cmdtext, idx);
  3801. if(!strlen(tmp))
  3802. {
  3803. SendClientMessage(playerid, ORANGE, "Benutze: /fuck [playerid]");
  3804. SendClientMessage(playerid, ORANGE, "Funktion: Will fuck up a player.");
  3805. return 1;
  3806. }
  3807.  
  3808. new targetid = ReturnUser(tmp);
  3809. if(targetid != INVALID_PLAYER_ID)
  3810. {
  3811. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  3812. GetPlayerName(playerid, sendername, sizeof(sendername));
  3813. GetPlayerPos(targetid,pX,pY,pZ);
  3814. CreateExplosion(X,Y,Z+50,2,5.0);
  3815. SetPlayerPos(targetid,pX,pY,pZ+50);
  3816. format(string, sizeof(string), "-| Administrator %s fucked %s up |-",sendername, giveplayername);
  3817. SendClientMessageToAdmins(ADMIN_RED,string,1);
  3818. SendClientMessage(targetid, RED, "You've been fucked up by an admin.");
  3819. }
  3820. else if(giveplayerid == INVALID_PLAYER_ID)
  3821. {
  3822. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  3823. SendClientMessage(playerid, RED, string);
  3824. }
  3825. }
  3826. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3827. return 1;
  3828. }
  3829.  
  3830. if(strcmp(cmd, "/giveweapon", true) == 0) // Gives a weapon to a player
  3831. {
  3832. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  3833. {
  3834. tmp = strtok(cmdtext, idx);
  3835. if(!strlen(tmp))
  3836. {
  3837. SendClientMessage(playerid, ORANGE, "Benutze: /giveweapon [playername/id] [weaponid] [ammo]");
  3838. return 1;
  3839. }
  3840. new gun;
  3841. new ammo;
  3842. new targetid = ReturnUser(tmp);
  3843. tmp = strtok(cmdtext, idx);
  3844. gun = strval(tmp);
  3845. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /giveweapon [playername/id] [weaponid] [ammo]");
  3846. tmp = strtok(cmdtext, idx);
  3847. ammo = strval(tmp);
  3848. if(targetid != INVALID_PLAYER_ID)
  3849. {
  3850. new weap[50];
  3851. GetPlayerName(playerid, sendername, sizeof(sendername));
  3852. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  3853. GivePlayerWeapon(targetid, gun, ammo);
  3854. GetWeaponName(gun, weap, sizeof weap);
  3855. format(string, sizeof(string), "-| Administrator %s gave a weapon(%s) to %s |-",sendername, weap, giveplayername);
  3856. SendClientMessageToAdmins(ADMIN_RED,string,1);
  3857. }
  3858. else if(targetid == INVALID_PLAYER_ID)
  3859. {
  3860. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", targetid);
  3861. SendClientMessage(playerid, RED, string);
  3862. }
  3863. }
  3864. else SendClientMessage(playerid, RED, "You are not an admin with the required level!");
  3865. return 1;
  3866. }
  3867. if(strcmp(cmd, "/crash", true) == 0) // Crashes a player's client
  3868. {
  3869. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
  3870. {
  3871. tmp = strtok(cmdtext, idx);
  3872. if(!strlen(tmp))
  3873. {
  3874. SendClientMessage(playerid, ORANGE, "Benutze: /crash [playername/id]");
  3875. SendClientMessage(playerid, ORANGE, "Funktion: Will crash a player.");
  3876. return 1;
  3877. }
  3878. new Float:X,Float:Y,Float:Z;
  3879. new targetid = ReturnUser(tmp);
  3880. if(IsPlayerConnected(targetid))
  3881. {
  3882. GetPlayerPos(giveplayerid,X,Y,Z);
  3883. new objectcrash = CreatePlayerObject(targetid,666666,X,Y,Z,0,0,0); // double-devil has spoken
  3884. SendClientMessage(playerid,GREEN, "Player successfuly crashed.");
  3885. DestroyPlayerObject(targetid, objectcrash);
  3886. }
  3887. else if (!IsPlayerConnected(giveplayerid))
  3888. {
  3889. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", targetid);
  3890. SendClientMessage(playerid, RED, string);
  3891. }
  3892. }
  3893. else SendClientMessage(playerid, RED, "You're not a lead admin.");
  3894. return 1;
  3895. }
  3896.  
  3897. if(strcmp(cmd, "/setwarn", true) == 0) // Sets the player's warnings
  3898. {
  3899. if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
  3900. {
  3901. tmp = strtok(cmdtext, idx);
  3902. if(!strlen(tmp))
  3903. {
  3904. SendClientMessage(playerid, ORANGE, "Benutze: /setwarn [playername/id] [warning]");
  3905. SendClientMessage(playerid, ORANGE, "Funktion: Will set a certain player's warning.");
  3906. return 1;
  3907. }
  3908. new targetid = ReturnUser(tmp);
  3909. if(targetid != INVALID_PLAYER_ID)
  3910. {
  3911. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  3912. GetPlayerName(playerid, sendername, sizeof(sendername));
  3913. tmp = strtok(cmdtext, idx);
  3914. new warnings = strval(tmp);
  3915. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /setwarn [playername/id] [warning]");
  3916. AccountInfo[targetid][Warns] = warnings;
  3917. format(string, sizeof(string), "Admin %s changed your warnings to %d", sendername, warnings);
  3918. SendClientMessage(targetid, GREEN, string);
  3919. SendClientMessage(targetid, RED, "3 Warnings = Auto-Ban! Ask an admin to check how many warnings you have");
  3920. format(string, sizeof(string), "-| Administrator %s changed %s's warnings. [Warnings: %d ] |-",sendername,giveplayername, AccountInfo[giveplayerid][Warns]);
  3921. SendClientMessageToAdmins(ADMIN_RED,string,1);
  3922. }
  3923. else if(giveplayerid == INVALID_PLAYER_ID)
  3924. {
  3925. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  3926. SendClientMessage(playerid, RED, string);
  3927. }
  3928. }
  3929. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3930. return 1;
  3931. }
  3932.  
  3933. if(strcmp(cmd, "/an", true) == 0 || strcmp(cmd, "/announce", true) == 0) // Broadcasts an 'announcement' message.
  3934. {
  3935. if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
  3936. {
  3937. GetPlayerName(playerid, sendername, sizeof(sendername));
  3938. new result[128];
  3939. result = bigstrtok(cmdtext, idx);
  3940. if(!strlen(result))
  3941. {
  3942. SendClientMessage(playerid, ORANGE, "Benutze: /(an)nounce [message]");
  3943. SendClientMessage(playerid, ORANGE, "Funktion: Will broadcast an announcement.");
  3944. return 1;
  3945. }
  3946. format(string, sizeof(string), "%s", result);
  3947. SendClientMessageToAll(AQUAGREEN, string);
  3948. printf("Announcement by %s: %s", sendername, string);
  3949. }
  3950. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3951. return 1;
  3952. }
  3953.  
  3954. if(strcmp(cmd, "/superpunch", true) == 0) // Triggers an explosion when you use the punch key
  3955. {
  3956. if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
  3957. {
  3958. tmp = strtok(cmdtext,idx);
  3959. if(!strlen(tmp))
  3960. {
  3961. SendClientMessage(playerid, ORANGE, "Benutze: /superpunch [on/off]");
  3962. SendClientMessage(playerid, ORANGE, "Funktion: Will give you the power of Super Punch. When pressing 'PUNCH' button, you will explode but will live.");
  3963. }
  3964. else if(strcmp(tmp,"on",true) == 0)
  3965. {
  3966. SuperPunch[playerid] = 1;
  3967. SendClientMessage(playerid,GREEN,"You are now blessed with SUPER PUNCH! Go knock someone out.");
  3968. }
  3969. else if(strcmp(tmp,"off",true) == 0)
  3970. {
  3971. SuperPunch[playerid] = 0;
  3972. SendClientMessage(playerid,GREEN,"Your super punch is now disabled.");
  3973. }
  3974. }
  3975. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  3976. return 1;
  3977. }
  3978.  
  3979. if (strcmp(cmd, "/superpunchp", true) == 0) // Gives the Super Punch ability to a player
  3980. {
  3981. new tmp2[128];
  3982. if (AccountInfo[playerid][AdminLevel] > 4 || IsPlayerAdmin(playerid))
  3983. {
  3984. tmp = strtok(cmdtext,idx);
  3985. if(!strlen(tmp))
  3986. {
  3987. SendClientMessage(playerid,ORANGE,"Benutze: /superpunchp [playername/id] [on/off]");
  3988. SendClientMessage(playerid,ORANGE,"Funktion: Will give the player the power of SuperPunch.");
  3989. }
  3990. new targetid = ReturnUser(tmp);
  3991. if(targetid != INVALID_PLAYER_ID)
  3992. {
  3993. tmp2 = strtok(cmdtext,idx);
  3994. if(strcmp(tmp2,"on",true) == 0)
  3995. {
  3996. GetPlayerName(playerid, sendername, sizeof(sendername));
  3997. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  3998. SuperPunch[targetid] = 1;
  3999. format(string, sizeof(string), "Admin %s blessed you with the power of Super Punch !", sendername);
  4000. SendClientMessage(targetid,GREEN,string);
  4001. format(string, sizeof(string), "-| Administrator %s blessed %s with the power of Super Punch |-", sendername,giveplayername);
  4002. SendClientMessageToAdmins(ADMIN_RED,string,1);
  4003. }
  4004. else if(strcmp(tmp2,"off",true) == 0)
  4005. {
  4006. format(string, sizeof(string), "Admin %s removed your Super Punch power.", sendername);
  4007. SendClientMessage(targetid,RED,string);
  4008. SuperPunch[targetid] = 0;
  4009. }
  4010. }
  4011. else if(giveplayerid == INVALID_PLAYER_ID)
  4012. {
  4013. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  4014. SendClientMessage(playerid,RED,string);
  4015. }
  4016. }
  4017. else SendClientMessage(playerid,RED,"You are not an admin with the required level.");
  4018. return 1;
  4019. }
  4020.  
  4021. if(strcmp(cmd, "/viewcmds", true) == 0) // Views unknown commands and commands mentioned in 'ViewCommands' variable entered by players
  4022. {
  4023. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  4024. {
  4025. tmp = strtok(cmdtext,idx);
  4026. if(!strlen(tmp))
  4027. {
  4028. SendClientMessage(playerid, ORANGE, "Benutze: /viewcmds [on/off]");
  4029. SendClientMessage(playerid, ORANGE, "Funktion: Will see the players typing some commands and wrong commands.");
  4030. }
  4031. else if(strcmp(tmp,"on",true) == 0)
  4032. {
  4033. ViewCmds[playerid] = 1;
  4034. SendClientMessage(playerid,GREEN,"You can know view players typing some commands and wrong commands.");
  4035. }
  4036. else if(strcmp(tmp,"off",true) == 0)
  4037. {
  4038. ViewCmds[playerid] = 0;
  4039. SendClientMessage(playerid,GREEN,"You can no longer view players typing some commands and wrong commands.");
  4040. }
  4041. }
  4042. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  4043. return 1;
  4044. }
  4045.  
  4046. if(strcmp(cmd, "/jail", true) == 0) // Jails a player
  4047. {
  4048. if (AccountInfo[playerid][AdminLevel] >= 2)
  4049. {
  4050. tmp = strtok(cmdtext, idx);
  4051. if(!strlen(tmp))
  4052. {
  4053. SendClientMessage(playerid, ORANGE, "Benutze: /jail [playername/id] [reason]");
  4054. return 1;
  4055. }
  4056. new targetid = ReturnUser(tmp);
  4057. if(IsPlayerConnected(targetid))
  4058. {
  4059. if(targetid != INVALID_PLAYER_ID)
  4060. {
  4061. if(AccountInfo[giveplayerid][Jail] == 0)
  4062. {
  4063. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  4064. GetPlayerName(playerid, sendername, sizeof(sendername));
  4065. new reason[128];
  4066. reason = bigstrtok(cmdtext, idx);
  4067. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "Benutze: /jail [playername/id] [reason]");
  4068. format(string, sizeof(string), "You got jailed by Admin %s. Reason: %s", sendername, reason);
  4069. SendClientMessage(targetid, ADMIN_RED, string);
  4070. format(string, sizeof(string), "-| Administrator %s jailed %s. [ Reason: %s ] |-",sendername,giveplayername, reason);
  4071. SendClientMessageToAll(ADMIN_RED,string);
  4072. AccountInfo[targetid][Jail] = 1;
  4073. OnPlayerJailed(targetid);
  4074. return 1;
  4075. }
  4076. else SendClientMessage(playerid, RED, "Player is already jailed!");
  4077. }
  4078. else
  4079. {
  4080. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", targetid);
  4081. SendClientMessage(playerid, RED, string);
  4082. }
  4083. }
  4084. else
  4085. {
  4086. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", targetid);
  4087. SendClientMessage(playerid, RED, string);
  4088. }
  4089. }
  4090. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  4091. return 1;
  4092. }
  4093.  
  4094. if(strcmp(cmd, "/unjail", true) == 0) // Unjails a player
  4095. {
  4096. if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
  4097. {
  4098. tmp = strtok(cmdtext, idx);
  4099. if(!strlen(tmp))
  4100. {
  4101. SendClientMessage(playerid, ORANGE, "Benutze: /unjail [playername/id]");
  4102. return 1;
  4103. }
  4104.  
  4105. new targetid = ReturnUser(tmp);
  4106. if(targetid != INVALID_PLAYER_ID)
  4107. {
  4108. if(AccountInfo[giveplayerid][Jail] == 1)
  4109. {
  4110. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  4111. GetPlayerName(playerid, sendername, sizeof(sendername));
  4112. format(string, sizeof(string), "-| Administrator %s unjailed %s |-",sendername, giveplayername);
  4113. SendClientMessageToAll(ADMIN_RED,string);
  4114. AccountInfo[targetid][Jail] = 0;
  4115. OnPlayerUnjailed(targetid);
  4116. }
  4117. else SendClientMessage(playerid, RED, "Player is not jailed!");
  4118. }
  4119. else
  4120. {
  4121. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", targetid);
  4122. SendClientMessage(playerid, RED, string);
  4123. }
  4124. }
  4125. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  4126. return 1;
  4127. }
  4128.  
  4129. if(strcmp(cmd, "/gotoveh", true) == 0) // Teleports to a vehicle's position
  4130. {
  4131. tmp = strtok(cmdtext, idx);
  4132. if(!strlen(tmp))
  4133. {
  4134. SendClientMessage(playerid, ORANGE, "Benutze: /gotoveh [vehicleid]");
  4135. return 1;
  4136. }
  4137. new car = strval(tmp);
  4138. if (AccountInfo[playerid][AdminLevel] >= 3)
  4139. {
  4140. new Float:vx,Float:vy,Float:vz;
  4141. GetVehiclePos(car,vx,vy,vz);
  4142. if (GetPlayerState(playerid) == 2)
  4143. SetVehiclePos(GetPlayerVehicleID(playerid),vx,vy+2,vz);
  4144. else
  4145. SetPlayerPos(playerid,vx,vy,vz+1);
  4146. SetPlayerInterior(playerid,0);
  4147. format(string,256,"You have teleported to vehicle id %d(%s)",car, VehNames[GetVehicleModel(car)-400]);
  4148. SendClientMessage(playerid,GREEN,string);
  4149. }
  4150. else SendClientMessage(playerid,RED,"You're not an admin with the required level");
  4151. return 1;
  4152. }
  4153. if(!strcmp(cmdtext, "/aclearchat", true)) // Clears the chatbox for everyone
  4154. {
  4155. if(AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  4156. {
  4157. for(new chat = 0; chat <= 50; chat++) SendClientMessageToAll(GREEN, " ");
  4158. GetPlayerName(playerid, sendername, 20);
  4159. format(string, 256, "-| Administrator %s cleared the chat |-", sendername);
  4160. SendClientMessageToAll(ADMIN_RED, string);
  4161. return 1;
  4162. }
  4163. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  4164. return 1;
  4165. }
  4166. if(strcmp(cmd, "/hide", true) == 0) // Hides you from the admin list
  4167. {
  4168. if (AccountInfo[playerid][AdminLevel] >= 4)
  4169. {
  4170. Hide[playerid] = 1;
  4171. SendClientMessage(playerid,GREEN,"|- You're now hidden from the admin list -|");
  4172. }
  4173. return 1;
  4174. }
  4175. if(strcmp(cmd, "/unhide", true) == 0)
  4176. {
  4177. if (AccountInfo[playerid][AdminLevel] >= 4) // Unhides you from the admin list
  4178. {
  4179. if (Hide[playerid] != 1) return SendClientMessage(playerid,RED,"You're not hidden in the admin list!");
  4180. Hide[playerid] = 0;
  4181. SendClientMessage(playerid,GREEN,"|- You're now visible in the admin list -|");
  4182. }
  4183. return 1;
  4184. }
  4185.  
  4186. if(strcmp(cmd, "/virtual", true) == 0) // Sets the player's virtual world
  4187. {
  4188. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 2)
  4189. {
  4190. tmp = strtok(cmdtext, idx);
  4191. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /virtual [playerid/name] [virtual world (0-255)]");
  4192. new targetid = ReturnUser(tmp);
  4193. tmp = strtok(cmdtext, idx);
  4194. new v = strval(tmp);
  4195. if (targetid != INVALID_PLAYER_ID)
  4196. {
  4197. if (!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /virtual [playerid/name] [virtual world (0-255)]");
  4198. SetPlayerVirtualWorld(targetid,v);
  4199. GetPlayerName(playerid, sendername, sizeof(sendername));
  4200. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  4201. format(string,sizeof(string),"|- Administrator %s has changed %s's Virtual World. [World: %d] -|",sendername,giveplayername,v);
  4202. SendClientMessageToAdmins(ADMIN_RED,string,1);
  4203. }
  4204. else SendClientMessage(playerid, RED, "Player is not active.");
  4205. }
  4206. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  4207. return 1;
  4208. }
  4209.  
  4210. if(strcmp(cmd,"/count", true) == 0) // Starts a count down
  4211. {
  4212. tmp = strtok(cmdtext, idx);
  4213. new count = strval(tmp);
  4214. if (!strlen(tmp)) count = 5;
  4215. if (AccountInfo[playerid][AdminLevel] < 1) return SendClientMessage(playerid,RED,"You're not an admin");
  4216. if (Count > 0) return SendClientMessage(playerid, RED, "Countdown is already in progress.");
  4217. GetPlayerName(playerid, sendername, sizeof(sendername));
  4218. format(string,sizeof(string),"|- Administrator %s started a countdown from %d -|", sendername, count);
  4219. SendClientMessageToAll(LIGHTGREEN, string);
  4220. Count = count;
  4221. CountDown();
  4222. return 1;
  4223. }
  4224.  
  4225. if(strcmp(cmd, "/view", true) == 0) // Spectates a player
  4226. {
  4227. if (AccountInfo[playerid][AdminLevel] < 1) return SendClientMessage(playerid,RED,"You're not an admin !");
  4228. tmp = strtok(cmdtext, idx);
  4229. if(!strlen(tmp))
  4230. {
  4231. SendClientMessage(playerid, ORANGE, "|__________________________________|");
  4232. SendClientMessage(playerid, ORANGE, "Benutze: /view [playerid]");
  4233. SendClientMessage(playerid, ORANGE, "Funktion: Will spectate a player.");
  4234. SendClientMessage(playerid, ORANGE, "HELP: /view off to stop spectating");
  4235. SendClientMessage(playerid, ORANGE, "|__________________________________|");
  4236. return 1;
  4237. }
  4238. new targetid = ReturnUser(tmp);
  4239. if (giveplayerid != INVALID_PLAYER_ID)
  4240. {
  4241. if (AccountInfo[playerid][AdminLevel] < 1) return SendClientMessage(playerid,RED,"You're not an admin !");
  4242. TogglePlayerSpectating(playerid, 1);
  4243. SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(targetid));
  4244. SetPlayerInterior(playerid,GetPlayerInterior(targetid));
  4245. if (IsPlayerInAnyVehicle(targetid)) PlayerSpectateVehicle(playerid, GetPlayerVehicleID(targetid));
  4246. else PlayerSpectatePlayer(playerid, targetid);
  4247. SendClientMessage(playerid, ORANGE, "HELP: '/view off' to stop spectating");
  4248. }
  4249. else if(strcmp(tmp, "off", true) == 0)
  4250. {
  4251. TogglePlayerSpectating(playerid, 0);
  4252. SetPlayerVirtualWorld(playerid,0);
  4253. }
  4254. else
  4255. {
  4256. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  4257. SendClientMessage(playerid, RED, string);
  4258. }
  4259. return 1;
  4260. }
  4261.  
  4262. if(strcmp(cmd, "/blockpm", true) == 0) // Blocks PMs
  4263. {
  4264. if (AccountInfo[playerid][AdminLevel] >= 5)
  4265. {
  4266. if (PMBlock[playerid] == true)
  4267. {
  4268. PMBlock[playerid] = false;
  4269. SendClientMessage(playerid, GREEN, "|- Private messages BLOCKED -|");
  4270. return 1;
  4271. }
  4272. if (PMBlock[playerid] == false)
  4273. {
  4274. PMBlock[playerid] = true;
  4275. SendClientMessage(playerid, GREEN, "|- Private messages UNBLOCKED -|");
  4276. return 1;
  4277. }
  4278. }
  4279. else return SendClientMessage(playerid, RED, "You're not a lead admin!");
  4280. }
  4281.  
  4282. if(!strcmp(cmd, "/seifocalypse", true)) // Launches explosion(s) in front of the player(it follow the previous explosion so it goes straight) as many times has he wants
  4283. {
  4284. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
  4285. {
  4286. tmp = strtok(cmdtext, idx);
  4287. if (!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /seifocalypse [explosions]");
  4288. new Float:X,Float:Y,Float:Z,Float:A;
  4289. GetPlayerPos(playerid, X,Y,Z);
  4290. GetPlayerFacingAngle(playerid, A);
  4291. Nuke[playerid] = 1;
  4292. SetTimerEx("NukeBlast", 200, 0, "ddffff",playerid, strval(tmp), X, Y, Z, A);
  4293. }
  4294. else return SendClientMessage(playerid, RED, "You're not a lead admin!");
  4295. return 1;
  4296. }
  4297.  
  4298. if(!strcmp(cmd, "/missile", true)) // Spawns a missile 50 Z higher than player's and drops it to the ground, toggling a huge explosion
  4299. {
  4300. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
  4301. {
  4302. if (IsValidObject(Missile[playerid])) return SendClientMessage(playerid, RED, "You already dropped a missile that's currently in progress of exploding");
  4303. new Float:X,Float:Y,Float:Z;
  4304. GetPlayerPos(playerid, X,Y,Z);
  4305. Missile[playerid] = CreateObject(3786, X, Y, Z+50, 357.6293, 272.3375, 6.8755);
  4306. MoveObject(Missile[playerid], X, Y, Z, 20.0);
  4307. }
  4308. else return SendClientMessage(playerid, RED, "You're not a lead admin!");
  4309. return 1;
  4310. }
  4311.  
  4312. if (!strcmp(cmd, "/push", true)) // Pushes a player back. Player gets pushed back in motions
  4313. {
  4314. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 3)
  4315. {
  4316. tmp = strtok(cmdtext, idx);
  4317. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /push [playername/id]");
  4318. new targetid = ReturnUser(tmp);
  4319. if (targetid != INVALID_PLAYER_ID)
  4320. {
  4321. PushPlayer(targetid, 20, true);
  4322. GetPlayerName(playerid, sendername, sizeof(sendername));
  4323. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  4324. format(string,sizeof(string),"|- Administrator %s has pushed %s -|", sendername, giveplayername);
  4325. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  4326. }
  4327. else SendClientMessage(playerid, RED, "Player is not active.");
  4328. }
  4329. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  4330. return 1;
  4331. }
  4332.  
  4333. if (!strcmp(cmd, "/setgravity", true)) // Changes gravity
  4334. {
  4335. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 4)
  4336. {
  4337. tmp = strtok(cmdtext, idx);
  4338. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /pussetgravity [gravity float]");
  4339. new Float:gravity = floatstr(tmp);
  4340. SetGravity(gravity);
  4341. GetPlayerName(playerid, sendername, sizeof(sendername));
  4342. format(string,sizeof(string),"|- Administrator %s has changed gravity [ Gravity: %.4f ] -|", sendername, gravity);
  4343. SendClientMessageToAll(ADMIN_RED, string);
  4344. }
  4345. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  4346. return 1;
  4347. }
  4348.  
  4349. if (!strcmp(cmd, "/settime", true)) // Changes time
  4350. {
  4351. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 3)
  4352. {
  4353. tmp = strtok(cmdtext, idx);
  4354. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /settime [time(0-23)]");
  4355. new time = strval(tmp);
  4356. if (time < 0 || time > 23) return SendClientMessage(playerid, RED, "Time can only be from 0 to 23!");
  4357. SetWorldTime(time);
  4358. GetPlayerName(playerid, sendername, sizeof(sendername));
  4359. format(string,sizeof(string),"|- Administrator %s has changed time [ Hour: %d ] -|", sendername, time);
  4360. SendClientMessageToAll(ADMIN_RED, string);
  4361. }
  4362. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  4363. return 1;
  4364. }
  4365.  
  4366. if (!strcmp(cmd, "/setweather", true)) // Changes time
  4367. {
  4368. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 4)
  4369. {
  4370. tmp = strtok(cmdtext, idx);
  4371. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /setweather [weather id]");
  4372. new weather = strval(tmp);
  4373. SetWeather(weather);
  4374. GetPlayerName(playerid, sendername, sizeof(sendername));
  4375. format(string,sizeof(string),"|- Administrator %s has changed weather [ Weather: %d ] -|", sendername, weather);
  4376. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  4377. }
  4378. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  4379. return 1;
  4380. }
  4381.  
  4382. if(strcmp(cmd, "/report", true) == 0) // Available for everyone: reports a player to the admins
  4383. {
  4384. tmp = strtok(cmdtext, idx);
  4385. if(!strlen(tmp))
  4386. {
  4387. SendClientMessage(playerid, ORANGE, "Benutze: /report [playername/id] [Grund]");
  4388. SendClientMessage(playerid, ORANGE, "Funktion: Reporter einen Spieler an die Online Admins.");
  4389. return 1;
  4390. }
  4391. new targetid = ReturnUser(tmp);
  4392. if(targetid != INVALID_PLAYER_ID)
  4393. {
  4394. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  4395. GetPlayerName(playerid, sendername, sizeof(sendername));
  4396. new reason[128];
  4397. reason = bigstrtok(cmdtext, idx);
  4398. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "Benutze: /report [playerid] [Grund]");
  4399. format(string, sizeof(string), "|- %s reportet %s [ Grund: %s ]", sendername,giveplayername,reason);
  4400. SendClientMessageToAdmins(ADMIN_RED, string,1);
  4401. format(string, sizeof(string), "Du Reportest '%s' .", giveplayername);
  4402. SendClientMessage(playerid, GREEN, string);
  4403. }
  4404.  
  4405. else if(giveplayerid == INVALID_PLAYER_ID)
  4406. {
  4407. format(string, sizeof(string), "%d ist kein Aktiver Spieler..", giveplayerid);
  4408. SendClientMessage(playerid, RED, string);
  4409. }
  4410. return 1;
  4411. }
  4412.  
  4413. if(strcmp(cmd, "/ah", true) == 0 || strcmp(cmd, "/ahelp", true) == 0 || strcmp(cmd, "/acommands", true) == 0) // List of admin commands
  4414. {
  4415. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  4416. {
  4417. SendClientMessage(playerid, YELLOW, " |- Server Admin Commands -|");
  4418. SendClientMessage(playerid, ORANGE, "LEAD(5): /gmx /makeadmin /kickall /crash /blockpm /seifocalypse /missile /respawncars");
  4419. SendClientMessage(playerid, ORANGE, "LEVEL 1+: /(un)freeze /setscore /angle /kick /setname /kill /goto /ip /pweapons /view /changepassword");
  4420. SendClientMessage(playerid, ORANGE, "LEVEL 2+: /(un)mute /givecash /get /pstats /warn /viewcmds /logout /demolish /virtual");
  4421. SendClientMessage(playerid, ORANGE, "LEVEL 3+: /nuke /ban /disarm /say /giveweapon /slap /gotoveh /(un)jail /sethp /push /settime");
  4422. SendClientMessage(playerid, ORANGE, "LEVEL 4+: /fuck /bc /setwarn /announce /aclearchat /bslap /(un)hide /rangeban /teleport /setgravity /setweather /fuelcars");
  4423. SendClientMessage(playerid, ORANGE, "ADMIN CHAT: // Example: //hello");
  4424. }
  4425. else SendClientMessage(playerid, RED, "You are not an admin!");
  4426. return 1;
  4427. }
  4428.  
  4429.  
  4430. if (strcmp(cmd, "/admins", true) == 0) // Admin list if they're online
  4431. {
  4432. new count = 0;
  4433. SendClientMessage(playerid, GREEN, " [Online Admins]");
  4434. for(new i = 0; i < MAX_PLAYERS; i++)
  4435. {
  4436. if (IsPlayerConnected(i))
  4437. {
  4438. if(AccountInfo[i][AdminLevel] >= 1 && AccountInfo[i][AdminLevel] <= 5 && Hide[i] == 0)
  4439. {
  4440. GetPlayerName(i, sendername, sizeof(sendername));
  4441. format(string, 128, "Level %d [%i]%s", AccountInfo[i][AdminLevel],i,sendername);
  4442. SendClientMessage(playerid, LIGHTGREEN, string);
  4443. count++;
  4444. }
  4445. }
  4446. }
  4447. if (count == 0) SendClientMessage(playerid,RED,"Kein Admin Online.");
  4448. SendClientMessage(playerid, GREEN, "[____________________________________]");
  4449. return 1;
  4450. }
  4451. if (strcmp(cmd, "/register", true) == 0) // Registers an account
  4452. {
  4453. if(IsPlayerConnected(playerid))
  4454. {
  4455. if(AccountInfo[playerid][Logged] == 1)
  4456. {
  4457. SendClientMessage(playerid, RED, "Du bist schon eingeloggt.");
  4458. return 1;
  4459. }
  4460. GetPlayerName(playerid, sendername, sizeof(sendername));
  4461. format(string, sizeof(string), "/sAccounts/%s.seifadmin", sendername);
  4462. new File: hFile = fopen(string, io_read);
  4463. if (hFile)
  4464. {
  4465. SendClientMessage(playerid, RED, "Dieser Name existiert schon, such dir bitte einen anderen aus.");
  4466. fclose(hFile);
  4467. return 1;
  4468. }
  4469. new tmppass[128];
  4470. tmp = strtok(cmdtext, idx);
  4471. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /register [passwort]");
  4472. strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
  4473. OnPlayerRegister(playerid, MD5_Hash(tmppass));
  4474. }
  4475. return 1;
  4476. }
  4477.  
  4478. if (strcmp(cmd, "/login", true) == 0) // Logins
  4479. {
  4480. new tmppass[128];
  4481. if(AccountInfo[playerid][Logged] == 1) return SendClientMessage(playerid, RED, "Du bist schon eingeloggt.");
  4482. tmp = strtok(cmdtext, idx);
  4483. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /login [passwort]");
  4484. new plname[MAX_PLAYER_NAME];
  4485. GetPlayerName(playerid, plname, sizeof(plname));
  4486. format(string, sizeof(string), "/sAccounts/%s.seifadmin", plname);
  4487. if(!fexist(string)) return SendClientMessage(playerid, RED, "Dieser Account ist nicht registriert! Benutze /register [passwort]");
  4488. strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
  4489. OnPlayerLogin(playerid, MD5_Hash(tmppass));
  4490. return 1;
  4491. }
  4492.  
  4493. if (!strcmp(cmd, "/changepassword", true)) // Changes your password
  4494. {
  4495. if (!AccountInfo[playerid][Logged]) return SendClientMessage(playerid, RED, "Du bist nicht eingeloggt.");
  4496. if (AccountInfo[playerid][AdminLevel] >= 1)
  4497. {
  4498. new oldpass[128];
  4499. oldpass = strtok(cmdtext, idx);
  4500. if(!strlen(oldpass)) return SendClientMessage(playerid, ORANGE, "Benutze: /changepassword [CURRENT PASSWORD] [new password]");
  4501. if (strcmp(MD5_Hash(oldpass), AccountInfo[playerid][Password], true)) return SendClientMessage(playerid, RED, "Invalid password.");
  4502. tmp = strtok(cmdtext, idx);
  4503. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Benutze: /changepassword [current password] [NEW PASSWORD]");
  4504. format(oldpass, 128, "|- You've changed your password to '%s' -|", tmp);
  4505. SendClientMessage(playerid, LIGHTGREEN, oldpass);
  4506. strmid(AccountInfo[playerid][Password], MD5_Hash(tmp), 0, strlen(MD5_Hash(tmp)), 128);
  4507. }
  4508. return 1;
  4509. }
  4510.  
  4511. /*»»»»»»»»»»»»»»»»»»»»»»»»»»»» [WRONG COMMAND] «««««««««««««««««««««««««««*/
  4512. else
  4513. {
  4514. for(new i = 0; i < GetMaxPlayers(); i++)
  4515. {
  4516. if (IsPlayerConnected(i))
  4517. {
  4518. if (AccountInfo[i][AdminLevel] > 0 && ViewCmds[i] == 1)
  4519. {
  4520. GetPlayerName(playerid, sendername, sizeof sendername);
  4521. format(tmp, 128, "[VIEWCMDS] [%d]%s: %s", playerid, sendername, cmdtext);
  4522. SendClientMessage(i, PURPLE, tmp);
  4523. }
  4524. }
  4525. }
  4526. return 0;
  4527. }
  4528. }
  4529.  
  4530.  
  4531. public IsPlayerAdminCall(playerid)
  4532. {
  4533. if(AccountInfo[playerid][AdminLevel] >= 1)
  4534. return 1;
  4535. else
  4536. return 0;
  4537. }
  4538.  
  4539.  
  4540. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  4541. {
  4542. return 1;
  4543. }
  4544.  
  4545. public OnPlayerExitVehicle(playerid, vehicleid)
  4546. {
  4547. return 1;
  4548. }
  4549.  
  4550. public OnPlayerStateChange(playerid, newstate, oldstate)
  4551. {
  4552. return 1;
  4553. }
  4554.  
  4555. public OnPlayerEnterCheckpoint(playerid)
  4556. {
  4557. return 1;
  4558. }
  4559.  
  4560. public OnPlayerLeaveCheckpoint(playerid)
  4561. {
  4562. return 1;
  4563. }
  4564.  
  4565. public OnPlayerEnterRaceCheckpoint(playerid)
  4566. {
  4567. return 1;
  4568. }
  4569.  
  4570. public OnPlayerLeaveRaceCheckpoint(playerid)
  4571. {
  4572. return 1;
  4573. }
  4574.  
  4575. public OnRconCommand(cmd[])
  4576. {
  4577. return 1;
  4578. }
  4579.  
  4580. public OnPlayerRequestSpawn(playerid)
  4581. {
  4582. #if defined LOGIN_BEFORE_SPAWN
  4583. new string[128];
  4584. new sendername[MAX_PLAYER_NAME];
  4585. GetPlayerName(playerid,sendername,24);
  4586. format(string,128,"/sAccounts/%s.seifadmin",sendername);
  4587. if (fexist(string) && AccountInfo[playerid][Logged] == 0)
  4588. {
  4589. SendClientMessage(playerid,RED,"Du bist registriert. Bitte logge dich ein.");
  4590. return 0;
  4591. }
  4592. #endif
  4593. return 1;
  4594. }
  4595.  
  4596.  
  4597. public OnObjectMoved(objectid)
  4598. {
  4599. for(new i; i < MAX_PLAYERS; i++) if (objectid == Missile[i])
  4600. {
  4601. new Float:X,Float:Y,Float:Z,Float:x,Float:y,Float:z;
  4602. GetObjectPos(objectid, X, Y, Z);
  4603. GetObjectPos(objectid, x, y, z);
  4604. DestroyObject(objectid);
  4605. CreateExplosion(X, Y, Z, 7, 5);
  4606. //front
  4607. X += (5.0 * floatsin(0, degrees));
  4608. Y += (5.0 * floatcos(0, degrees));
  4609. CreateExplosion(X, Y, Z, 7, 5);
  4610. X += (3.0 * floatsin(0+45, degrees));
  4611. Y += (3.0 * floatcos(0+45, degrees));
  4612. CreateExplosion(X, Y, Z, 7, 5);
  4613. X += (3.0 * floatsin(0-45, degrees));
  4614. Y += (3.0 * floatcos(0-45, degrees));
  4615. CreateExplosion(X, Y, Z, 7, 5);
  4616. //right-left
  4617. X += (5.0 * floatcos(0, degrees));
  4618. Y += (5.0 * floatsin(0, degrees));
  4619. CreateExplosion(X, Y, Z, 7, 5);
  4620. //back
  4621. X -= (5.0 * floatcos(0, degrees));
  4622. Y -= (5.0 * floatsin(0, degrees));
  4623. CreateExplosion(X, Y, Z, 7, 5);
  4624. X -= (5.0 * floatsin(0, degrees));
  4625. Y -= (5.0 * floatcos(0, degrees));
  4626. CreateExplosion(X, Y, Z, 7, 5);
  4627. X -= (3.0 * floatsin(0+45, degrees));
  4628. Y -= (3.0 * floatcos(0+45, degrees));
  4629. CreateExplosion(X, Y, Z, 7, 5);
  4630. X -= (3.0 * floatsin(0-45, degrees));
  4631. Y -= (3.0 * floatcos(0-45, degrees));
  4632. CreateExplosion(X, Y, Z, 7, 5);
  4633. SetTimerEx("MissileExplosion", 700, 0, "fffd", x, y, z, 3);
  4634. break;
  4635. }
  4636. }
  4637.  
  4638. public OnPlayerObjectMoved(playerid, objectid)
  4639. {
  4640. return 1;
  4641. }
  4642.  
  4643. public OnPlayerPickUpPickup(playerid, pickupid)
  4644. {
  4645. return 1;
  4646. }
  4647.  
  4648. public OnVehicleMod(playerid, vehicleid, componentid)
  4649. {
  4650. return 1;
  4651. }
  4652.  
  4653. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  4654. {
  4655. return 1;
  4656. }
  4657.  
  4658. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  4659. {
  4660. return 1;
  4661. }
  4662.  
  4663. public OnPlayerSelectedMenuRow(playerid, row)
  4664. {
  4665. return 1;
  4666. }
  4667.  
  4668. public OnPlayerExitedMenu(playerid)
  4669. {
  4670. return 1;
  4671. }
  4672.  
  4673. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  4674. {
  4675. return 1;
  4676. }
  4677. CheckNitro(vid)
  4678. {
  4679. new NoNitro[] = { 522,481,441,468,448,446,513,521,510,430,520,476,463 }; // unknown
  4680. for(new e = 0; e < sizeof(NoNitro); e++) if(GetVehicleModel(vid) == NoNitro[e]) return false;
  4681. return true;
  4682. }
  4683. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  4684. {
  4685. if (SuperPunch[playerid] == 1)
  4686. {
  4687. if (GetPlayerState(playerid) != 2)
  4688. {
  4689. if (newkeys & KEY_FIRE && Drugs[playerid] == 0)
  4690. {
  4691. new Float:X,Float:Y,Float:Z,Float:Health;
  4692. GetPlayerHealth(playerid,Health);
  4693. if (GetPlayerWeapon(playerid) == 0)
  4694. {
  4695. GetPlayerPos(playerid,X,Y,Z);
  4696. CreateExplosion(X,Y,Z,7,7.0);
  4697. SetPlayerHealth(playerid,Health);
  4698. }
  4699. }
  4700. else if (newkeys & KEY_FIRE && Drugs[playerid] == 1)
  4701. {
  4702. new Float:X,Float:Y,Float:Z;
  4703. if (GetPlayerWeapon(playerid) == 0)
  4704. {
  4705. SetPlayerHealth(playerid,999999999);
  4706. GetPlayerPos(playerid,X,Y,Z);
  4707. CreateExplosion(X,Y,Z,7,7.0);
  4708. SetPlayerHealth(playerid,999999999);
  4709. }
  4710. }
  4711. }
  4712. }
  4713. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER || !CheckNitro(GetPlayerVehicleID(playerid))) return false; else if ((((newkeys & (4)) == (4)) && ((oldkeys & (4)) != (4)))) AddVehicleComponent(GetPlayerVehicleID(playerid), 1010); else if ((((newkeys & (4)) != (4)) && ((oldkeys & (4)) == (4)))) RemoveVehicleComponent(GetPlayerVehicleID(playerid), 1010);
  4714. return 1;
  4715. }
  4716.  
  4717. public OnRconLoginAttempt(ip[], password[], success)
  4718. {
  4719. return 1;
  4720. }
  4721.  
  4722. public OnPlayerUpdate(playerid)
  4723. {
  4724. return 1;
  4725. }
  4726.  
  4727. public OnPlayerStreamIn(playerid, forplayerid)
  4728. {
  4729. return 1;
  4730. }
  4731.  
  4732. public OnPlayerStreamOut(playerid, forplayerid)
  4733. {
  4734. return 1;
  4735. }
  4736.  
  4737. public OnVehicleStreamIn(vehicleid, forplayerid)
  4738. {
  4739. return 1;
  4740. }
  4741.  
  4742. public OnVehicleStreamOut(vehicleid, forplayerid)
  4743. {
  4744. return 1;
  4745. }
  4746.  
  4747. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  4748. {
  4749. return 1;
  4750. }
  4751.  
  4752. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  4753. {
  4754. return 1;
  4755. }
  4756.  
  4757. public DollahScoreUpdate()
  4758. {
  4759. new LevScore;
  4760. for(new i=0; i<MAX_PLAYERS; i++)
  4761. {
  4762. if(IsPlayerConnected(i))
  4763. {
  4764. LevScore = AccountInfo[i][Level];
  4765. SetPlayerScore(i, LevScore);
  4766. }
  4767. }
  4768. return 1;
  4769. }
  4770.  
  4771. OnPlayerJailed(playerid)
  4772. {
  4773. SetPlayerInterior(playerid, 6);
  4774. SetPlayerPos(playerid, 264.3700,77.5700,1001.0391);
  4775. SetPlayerFacingAngle(playerid, 272.6900);
  4776. TogglePlayerControllable(playerid, 0);
  4777. return 1;
  4778. }
  4779.  
  4780. OnPlayerUnjailed(playerid)
  4781. {
  4782. SetPlayerInterior(playerid, 6);
  4783. SetPlayerPos(playerid, 266.9272,78.6098,1001.0391);
  4784. SetPlayerFacingAngle(playerid, 266.9169);
  4785. TogglePlayerControllable(playerid, 1);
  4786. return 1;
  4787. }
  4788.  
  4789. public CountDown()
  4790. {
  4791. if (Count > 0)
  4792. {
  4793. new str[5];
  4794. format(str, sizeof str, "~w~%d", Count);
  4795. GameTextForAll(str,2500,3);
  4796. Count--;
  4797. SetTimer("CountDown",1000,0);
  4798. }
  4799. else
  4800. {
  4801. GameTextForAll("~g~~h~Go ~w~!!",2500,3);
  4802. Count = 999;
  4803. }
  4804. return 1;
  4805. }
  4806.  
  4807.  
  4808. forward NukeBlast(playerid, times, Float:X,Float:Y,Float:Z,Float:A);
  4809. public NukeBlast(playerid, times, Float:X,Float:Y,Float:Z,Float:A)
  4810. {
  4811. if (Nuke[playerid] == times+1) return 1;
  4812. //printf("Nukeblast %d",Nuke[playerid]);
  4813. new Float:x,Float:y;
  4814. x = X + ((10*Nuke[playerid]) * floatsin(-A+5, degrees));
  4815. y = Y + ((10*Nuke[playerid]) * floatcos(-A+5, degrees));
  4816. CreateExplosion(x, y, Z, 3, 3.0);
  4817. Nuke[playerid]++;
  4818. SetTimerEx("NukeBlast", 200, 0, "ddffff",playerid, times, X, Y, Z, A);
  4819. return 1;
  4820. }
  4821.  
  4822.  
  4823. forward MissileExplosion(Float:X, Float:Y, Float:Z, times);
  4824. public MissileExplosion(Float:X, Float:Y, Float:Z, times)
  4825. {
  4826. new Float:x = X;
  4827. new Float:y = Y;
  4828. new Float:z = Z;
  4829. if (times == 3)
  4830. {
  4831. //front
  4832. X += (10.0 * floatsin(0, degrees));
  4833. Y += (10.0 * floatcos(0, degrees));
  4834. CreateExplosion(X, Y, Z, 7, 5);
  4835. X += (6.0 * floatsin(0+45, degrees));
  4836. Y += (6.0 * floatcos(0+45, degrees));
  4837. CreateExplosion(X, Y, Z, 7, 5);
  4838. X += (6.0 * floatsin(0-45, degrees));
  4839. Y += (6.0 * floatcos(0-45, degrees));
  4840. CreateExplosion(X, Y, Z, 7, 5);
  4841. //right-left
  4842. X += (10.0 * floatcos(0, degrees));
  4843. Y += (10.0 * floatsin(0, degrees));
  4844. CreateExplosion(X, Y, Z, 7, 5);
  4845. //back
  4846. X -= (10.0 * floatcos(0, degrees));
  4847. Y -= (10.0 * floatsin(0, degrees));
  4848. CreateExplosion(X, Y, Z, 7, 5);
  4849. X -= (10.0 * floatsin(0, degrees));
  4850. Y -= (10.0 * floatcos(0, degrees));
  4851. CreateExplosion(X, Y, Z, 7, 5);
  4852. X -= (6.0 * floatsin(0+45, degrees));
  4853. Y -= (6.0 * floatcos(0+45, degrees));
  4854. CreateExplosion(X, Y, Z, 7, 5);
  4855. X -= (6.0 * floatsin(0-45, degrees));
  4856. Y -= (6.0 * floatcos(0-45, degrees));
  4857. CreateExplosion(X, Y, Z, 7, 5);
  4858. }
  4859. else if (times == 2)
  4860. {
  4861. //front
  4862. X += (15.0 * floatsin(0, degrees));
  4863. Y += (15.0 * floatcos(0, degrees));
  4864. CreateExplosion(X, Y, Z, 7, 5);
  4865. X += (9.0 * floatsin(0+45, degrees));
  4866. Y += (9.0 * floatcos(0+45, degrees));
  4867. CreateExplosion(X, Y, Z, 7, 5);
  4868. X += (9.0 * floatsin(0-45, degrees));
  4869. Y += (9.0 * floatcos(0-45, degrees));
  4870. CreateExplosion(X, Y, Z, 7, 5);
  4871. //right-left
  4872. X += (15.0 * floatcos(0, degrees));
  4873. Y += (15.0 * floatsin(0, degrees));
  4874. CreateExplosion(X, Y, Z, 7, 5);
  4875. //back
  4876. X -= (15.0 * floatcos(0, degrees));
  4877. Y -= (15.0 * floatsin(0, degrees));
  4878. CreateExplosion(X, Y, Z, 7, 5);
  4879. X -= (15.0 * floatsin(0, degrees));
  4880. Y -= (15.0 * floatcos(0, degrees));
  4881. CreateExplosion(X, Y, Z, 7, 5);
  4882. X -= (9.0 * floatsin(0+45, degrees));
  4883. Y -= (9.0 * floatcos(0+45, degrees));
  4884. CreateExplosion(X, Y, Z, 7, 5);
  4885. X -= (9.0 * floatsin(0-45, degrees));
  4886. Y -= (9.0 * floatcos(0-45, degrees));
  4887. CreateExplosion(X, Y, Z, 7, 5);
  4888. }
  4889. else if (times == 1)
  4890. {
  4891. //front
  4892. X += (20.0 * floatsin(0, degrees));
  4893. Y += (20.0 * floatcos(0, degrees));
  4894. CreateExplosion(X, Y, Z, 7, 5);
  4895. X += (12.0 * floatsin(0+45, degrees));
  4896. Y += (12.0 * floatcos(0+45, degrees));
  4897. CreateExplosion(X, Y, Z, 7, 5);
  4898. X += (12.0 * floatsin(0-45, degrees));
  4899. Y += (12.0 * floatcos(0-45, degrees));
  4900. CreateExplosion(X, Y, Z, 7, 5);
  4901. //right-left
  4902. X += (20.0 * floatcos(0, degrees));
  4903. Y += (20.0 * floatsin(0, degrees));
  4904. CreateExplosion(X, Y, Z, 7, 5);
  4905. //back
  4906. X -= (20.0 * floatcos(0, degrees));
  4907. Y -= (20.0 * floatsin(0, degrees));
  4908. CreateExplosion(X, Y, Z, 7, 5);
  4909. X -= (20.0 * floatsin(0, degrees));
  4910. Y -= (20.0 * floatcos(0, degrees));
  4911. CreateExplosion(X, Y, Z, 7, 5);
  4912. X -= (12.0 * floatsin(0+45, degrees));
  4913. Y -= (12.0 * floatcos(0+45, degrees));
  4914. CreateExplosion(X, Y, Z, 7, 5);
  4915. X -= (12.0 * floatsin(0-45, degrees));
  4916. Y -= (12.0 * floatcos(0-45, degrees));
  4917. CreateExplosion(X, Y, Z, 7, 5);
  4918. }
  4919.  
  4920. if (times > 0) SetTimerEx("MissileExplosion", 700, 0, "fffd", x, y, z, times-1);
  4921. }
  4922.  
  4923. forward PushPlayer(playerid, distance, zup);
  4924. public PushPlayer(playerid, distance, zup)
  4925. {
  4926. new Float:X,Float:Y,Float:Z,Float:A;
  4927. GetPlayerPos(playerid, X, Y, Z);
  4928. GetPlayerFacingAngle(playerid, A);
  4929. if (zup == 1) SetPlayerPos(playerid, X, Y, Z+5);
  4930. GetPlayerPos(playerid, X, Y, Z);
  4931. X -= (2.0 * floatsin(-A, degrees));
  4932. Y -= (2.0 * floatcos(-A, degrees));
  4933. SetPlayerPos(playerid, X, Y, Z);
  4934. if (distance > 0) SetTimerEx("PushPlayer", 100, 0, "ddd", playerid, distance-1, 0);
  4935. }
  4936.  
  4937. stock GetVehicleModelIDFromName(vehname[])
  4938. {
  4939. for(new i = 0; i < 211; i++)
  4940. {
  4941. if (strfind(VehNames[i], vehname, true) != -1) return i + 400;
  4942. }
  4943. return -1;
  4944. }
  4945.  
  4946. stock GetWeaponModelIDFromName(weapname[])
  4947. {
  4948. for(new i = 0; i < 48; i++)
  4949. {
  4950. if (i == 19 || i == 20 || i == 21) continue;
  4951. if (strfind(WeapNames[i], weapname, true) != -1) return i;
  4952. }
  4953. return -1;
  4954. }
  4955.  
  4956. stock bigstrtok(const string[], &idx)
  4957. {
  4958. new length = strlen(string);
  4959. while ((idx < length) && (string[idx] <= ' '))
  4960. {
  4961. idx++;
  4962. }
  4963. new offset = idx;
  4964. new result[128];
  4965. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  4966. {
  4967. result[idx - offset] = string[idx];
  4968. idx++;
  4969. }
  4970. result[idx - offset] = EOS;
  4971. return result;
  4972. }
  4973.  
  4974.  
  4975.  
  4976.  
  4977.  
  4978. public CheckStatus()
  4979. {
  4980. for(new i=0; i<MAX_PLAYERS; i++)
  4981. {
  4982. if(IsPlayerConnected(i))
  4983. {
  4984. if(IsPlayerInAnyVehicle(i))
  4985. {
  4986.  
  4987. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  4988.  
  4989. if(TextDrawsShown[i] == false)
  4990. {
  4991. TextDrawShowForPlayer(i, Text:Black0);
  4992. TextDrawShowForPlayer(i, Text:White1);
  4993. TextDrawShowForPlayer(i, Text:White2);
  4994. TextDrawShowForPlayer(i, Text:BlackHealth);
  4995. TextDrawShowForPlayer(i, Text:DarkRedHealth);
  4996. TextDrawShowForPlayer(i, Text:BlackSpeed);
  4997. TextDrawShowForPlayer(i, Text:DarkYellowSpeed);
  4998. TextDrawShowForPlayer(i, Text:Marker);
  4999. TextDrawsShown[i] = true;
  5000. }
  5001.  
  5002. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5003.  
  5004. new String[128];
  5005. new Float:X, Float:Y, Float:Z, Float:Distance;
  5006. GetPlayerPos(i, X, Y, Z);
  5007. Distance = floatsqroot(floatadd(floatadd(floatpower(floatsub(X, OldX[i]), 2), floatpower(floatsub(Y, OldY[i]), 2)), floatpower(floatsub(Z, OldZ[i]), 2)));
  5008. new PlayerVehicleModelID = GetVehicleModel(GetPlayerVehicleID(i));
  5009. PlayerVehicleModelID -= 400;
  5010. format(String,sizeof(String),"~b~Auto:~n~ %i~n~~b~Autoenergie:~n~~n~Geschwindigkeit:~n~~w~%im/h~n~%ikm/h", VehNames[PlayerVehicleModelID], floatround(floatmul(floatdiv(Distance, 1.609344), 2.0), floatround_floor), floatround(floatmul(Distance, 2.0), floatround_floor));
  5011. if(VHSCreated[i] == true)
  5012. {
  5013. TextDrawDestroy(VHS[i]);
  5014. }
  5015. VHS[i] = TextDrawCreate(485.000000,355.000000,String);
  5016. TextDrawAlignment(VHS[i],0);
  5017. TextDrawBackgroundColor(VHS[i],0x000000ff);
  5018. TextDrawFont(VHS[i],1);
  5019. TextDrawLetterSize(VHS[i],0.299999,1.000000);
  5020. TextDrawColor(VHS[i],0xffffffff);
  5021. TextDrawSetOutline(VHS[i],1);
  5022. TextDrawSetProportional(VHS[i],1);
  5023. TextDrawSetShadow(VHS[i],1);
  5024. TextDrawShowForPlayer(i, VHS[i]);
  5025. VHSCreated[i] = true;
  5026.  
  5027. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5028.  
  5029. new Float:CarHealth;
  5030. GetVehicleHealth(GetPlayerVehicleID(i), CarHealth);
  5031. if(LightRedHealthCreated[i] == true)
  5032. {
  5033. TextDrawDestroy(LightRedHealth[i]);
  5034. }
  5035. LightRedHealth[i] = TextDrawCreate(488.000000,386.000000,"_");
  5036. TextDrawUseBox(LightRedHealth[i],1);
  5037. TextDrawBoxColor(LightRedHealth[i],0xff000099);
  5038. TextDrawTextSize(LightRedHealth[i], floatadd(484.0, floatdiv(CarHealth, 9.5238095238)),0.000000);
  5039. TextDrawAlignment(LightRedHealth[i],0);
  5040. TextDrawBackgroundColor(LightRedHealth[i],0x000000ff);
  5041. TextDrawFont(LightRedHealth[i],3);
  5042. TextDrawLetterSize(LightRedHealth[i],1.000000,0.199999);
  5043. TextDrawColor(LightRedHealth[i],0xffffffff);
  5044. TextDrawSetOutline(LightRedHealth[i],1);
  5045. TextDrawSetProportional(LightRedHealth[i],1);
  5046. TextDrawSetShadow(LightRedHealth[i],1);
  5047. TextDrawShowForPlayer(i, LightRedHealth[i]);
  5048. LightRedHealthCreated[i] = true;
  5049. if(CarHealth < 250)
  5050. {
  5051. if(ExclamationShown[i] == true)
  5052. {
  5053. TextDrawHideForPlayer(i, Text:Exclamation);
  5054. ExclamationShown[i] = false;
  5055. }
  5056. else
  5057. {
  5058. TextDrawShowForPlayer(i, Text:Exclamation);
  5059. ExclamationShown[i] = true;
  5060. }
  5061. }
  5062. else if(CarHealth > 250)
  5063. {
  5064. if(ExclamationShown[i] == true)
  5065. {
  5066. TextDrawHideForPlayer(i, Text:Exclamation);
  5067. ExclamationShown[i] = false;
  5068. }
  5069. }
  5070.  
  5071. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5072.  
  5073. if(LightYellowSpeedCreated[i] == true)
  5074. {
  5075. TextDrawDestroy(LightYellowSpeed[i]);
  5076. }
  5077. LightYellowSpeed[i] = TextDrawCreate(537.000000,404.000000,"_");
  5078. TextDrawUseBox(LightYellowSpeed[i],1);
  5079. TextDrawBoxColor(LightYellowSpeed[i],0xffff0066);
  5080. if(Distance >= 75)
  5081. {
  5082. TextDrawTextSize(LightYellowSpeed[i],589.000000,0.000000);
  5083. }
  5084. else
  5085. {
  5086. TextDrawTextSize(LightYellowSpeed[i], floatadd(533.0, floatdiv(Distance, 1.33928571428)),0.000000);
  5087. }
  5088. TextDrawAlignment(LightYellowSpeed[i],0);
  5089. TextDrawBackgroundColor(LightYellowSpeed[i],0x000000ff);
  5090. TextDrawFont(LightYellowSpeed[i],3);
  5091. TextDrawLetterSize(LightYellowSpeed[i],1.000000,1.200000);
  5092. TextDrawColor(LightYellowSpeed[i],0xffffffff);
  5093. TextDrawSetOutline(LightYellowSpeed[i],1);
  5094. TextDrawSetProportional(LightYellowSpeed[i],1);
  5095. TextDrawSetShadow(LightYellowSpeed[i],1);
  5096. TextDrawShowForPlayer(i, LightYellowSpeed[i]);
  5097. LightYellowSpeedCreated[i] = true;
  5098.  
  5099. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5100.  
  5101. OldX[i] = X; OldY[i] = Y; OldZ[i] = Z;
  5102.  
  5103. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5104.  
  5105. }
  5106. else
  5107. {
  5108. if(TextDrawsShown[i] == true)
  5109. {
  5110. TextDrawHideForPlayer(i, Text:Black0);
  5111. TextDrawHideForPlayer(i, Text:White1);
  5112. TextDrawHideForPlayer(i, Text:White2);
  5113. TextDrawHideForPlayer(i, Text:BlackHealth);
  5114. TextDrawHideForPlayer(i, Text:DarkRedHealth);
  5115. TextDrawHideForPlayer(i, Text:BlackSpeed);
  5116. TextDrawHideForPlayer(i, Text:DarkYellowSpeed);
  5117. TextDrawHideForPlayer(i, Text:Marker);
  5118. TextDrawHideForPlayer(i, Text:Exclamation);
  5119. TextDrawsShown[i] = false;
  5120. }
  5121. TextDrawHideForPlayer(i, Text:VHS[i]);
  5122. TextDrawHideForPlayer(i, Text:LightRedHealth[i]);
  5123. TextDrawHideForPlayer(i, Text:LightYellowSpeed[i]);
  5124. }
  5125. }
  5126. }
  5127. }
  5128.  
  5129.  
  5130.  
  5131. ////////////////////////////////////////////////////////////////////////////////
  5132.  
  5133. ////////////////////////////////////////////////////////////////////////////////
  5134.  
  5135.  
  5136.  
  5137. ////////////////////////////////////////////////////////////////////////////////
  5138. public VehicleOccupied(vehicleid)
  5139. {
  5140. for(new i=0;i<MAX_PLAYERS;i++)
  5141. {
  5142. if(IsPlayerInVehicle(i,vehicleid)) return 1;
  5143. }
  5144. return 0;
  5145. }
  5146. ////////////////////////////////////////////////////////////////////////////////
  5147.  
  5148. public CountDown2(playerid, seconds)
  5149. {
  5150. new string[256];
  5151. if(seconds > 0)
  5152. {
  5153. new Float:X, Float:Y, Float:Z;
  5154. GetPlayerPos(playerid, X, Y, Z);
  5155. PlayerPlaySound(playerid, 1056, X, Y, Z);
  5156. format(string, sizeof(string), "~R~%d", seconds);
  5157. GameTextForPlayer(playerid, string, 1000, 3);
  5158. seconds = seconds -1;
  5159. SetTimerEx("CountDown2", 1000, 0, "ii", playerid, seconds);
  5160. return 1;
  5161. }
  5162. if(seconds == 0)
  5163. {
  5164. new Float:X, Float:Y, Float:Z;
  5165. GetPlayerPos(playerid, X, Y, Z);
  5166. PlayerPlaySound(playerid, 1057, X, Y, Z);
  5167. GameTextForPlayer(playerid, "~G~Start!!!", 1000, 3);
  5168. TogglePlayerControllable(playerid, 1);
  5169. return 1;
  5170. }
  5171. return 1;
  5172. }
  5173.  
  5174. public inventationremove(playerid)
  5175. {
  5176. if(InDual[playerid] == 0)
  5177. {
  5178. SendClientMessage(playerid, RED, "30 Sekunden sind vergangen ohne eine Antwort auf das Duell");
  5179. SendClientMessage(InventationSent[playerid], RED, "30 Sekunden sind vergangen ohne das du das Duell angenommen hast.");
  5180. Inventation[InventationSent[playerid]] = -1;
  5181. InventationSent[playerid] = -1;
  5182. if(DualRoom1 == playerid)
  5183. {
  5184. DualRoom1 = -1;
  5185. }
  5186. if(DualRoom2 == playerid)
  5187. {
  5188. DualRoom2 = -1;
  5189. }
  5190. if(DualRoom3 == playerid)
  5191. {
  5192. DualRoom3 = -1;
  5193. }
  5194. if(DualRoom3 == playerid)
  5195. {
  5196. DualRoom4 = -1;
  5197. }
  5198. return 1;
  5199. }
  5200. return 1;
  5201. }
  5202.  
  5203.  
  5204. dcmd_watchduels(playerid, params[])
  5205. {
  5206. #pragma unused params
  5207. if(PlayerDualWatching[playerid] == 0)
  5208. {
  5209. SetPlayerPos(playerid, 1731.8315,-2864.7705,6.5554);
  5210. SetPlayerFacingAngle(playerid, 1.8901);
  5211. ResetPlayerWeapons(playerid);
  5212. SetPlayerHealth(playerid, 1000000000);
  5213. PlayerDualWatching[playerid] = 1;
  5214. SendClientMessage(playerid, COLOR_YELLOW, "Du schaust nun einem Duell zu,, Death Match ist hier NICHT erlaubt, /leavewatch um aufzuhöhren.");
  5215. return 1;
  5216. }
  5217. else return SendClientMessage(playerid, RED, "Du schaust schon einem Duell zu, /leavewatch um zu gehen.");
  5218. }
  5219.  
  5220. dcmd_leavewatch(playerid, params[])
  5221. {
  5222. #pragma unused params
  5223. if(PlayerDualWatching[playerid] == 1)
  5224. {
  5225. SetPlayerHealth(playerid, 100);
  5226. SpawnPlayer(playerid);
  5227. SendClientMessage(playerid, COLOR_YELLOW, "Du hast aufgehöhrt, dem Duell zuzusehen.");
  5228. PlayerDualWatching[playerid] = 0;
  5229. return 1;
  5230. }
  5231. else return SendClientMessage(playerid, RED, "Du schaust kein Duell an, /watchduels um eines Anzusehen.");
  5232. }
  5233.  
  5234. dcmd_duell(playerid, params[])
  5235. {
  5236. new
  5237. giveplayerid,
  5238. weapon[128],
  5239. price;
  5240. new string[256];
  5241. new sendername[MAX_PLAYER_NAME];
  5242. new giveplayername[MAX_PLAYER_NAME];
  5243. if (sscanf(params, "isi", giveplayerid,weapon,price))
  5244. {
  5245. SendClientMessage(playerid, COLOR_YELLOW, "Benutze: /duell [playerid] [waffe] [Preis]");
  5246. SendClientMessage(playerid, COLOR_YELLOW, "Duel Waffen: deagle, mp5, chainsaw, silpist, combatsg, shotgun");
  5247. return 1;
  5248. }
  5249. else
  5250. {
  5251. if(playerid != giveplayerid)
  5252. {
  5253. GetPlayerName(playerid, sendername, sizeof(sendername));
  5254. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  5255. if(strcmp("deagle", weapon, true, 6) == 0)
  5256. {
  5257. if(GetPlayerMoney(playerid) >= price)
  5258. {
  5259. if(Inventation[giveplayerid] == -1)
  5260. {
  5261. if(InventationSent[playerid] == -1)
  5262. {
  5263. if(InDual[playerid] == 0)
  5264. {
  5265. if(InDual[giveplayerid] == 0)
  5266. {
  5267. if(DualRoom1 == -1)
  5268. {
  5269. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5270. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit Desert Eagle angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5271. SendClientMessage(giveplayerid, GREEN, string);
  5272. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Desert Eagle mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5273. SendClientMessage(playerid, GREEN, string);
  5274. InventationSent[playerid] = giveplayerid;
  5275. Inventation[giveplayerid] = playerid;
  5276. Inventationprice[giveplayerid] = price;
  5277. DualRoom1price = price;
  5278. DualRoom1 = playerid;
  5279. WeaponDualRoom1 = 24;
  5280. return 1;
  5281. }
  5282. else if(DualRoom2 == -1)
  5283. {
  5284. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5285. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit Desert Eagle angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5286. SendClientMessage(giveplayerid, GREEN, string);
  5287. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Desert Eagle mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5288. SendClientMessage(playerid, GREEN, string);
  5289. InventationSent[playerid] = giveplayerid;
  5290. Inventation[giveplayerid] = playerid;
  5291. DualRoom2price = price;
  5292. DualRoom2 = playerid;
  5293. WeaponDualRoom2 = 24;
  5294. return 1;
  5295. }
  5296. else if(DualRoom3 == -1)
  5297. {
  5298. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5299. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit Desert Eagle angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5300. SendClientMessage(giveplayerid, GREEN, string);
  5301. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Desert Eagle mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5302. SendClientMessage(playerid, GREEN, string);
  5303. InventationSent[playerid] = giveplayerid;
  5304. Inventation[giveplayerid] = playerid;
  5305. DualRoom3price = price;
  5306. DualRoom3 = playerid;
  5307. WeaponDualRoom3 = 24;
  5308. return 1;
  5309. }
  5310. else if(DualRoom4 == -1)
  5311. {
  5312. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5313. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit Desert Eagle angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5314. SendClientMessage(giveplayerid, GREEN, string);
  5315. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Desert Eagle mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5316. SendClientMessage(playerid, GREEN, string);
  5317. InventationSent[playerid] = giveplayerid;
  5318. Inventation[giveplayerid] = playerid;
  5319. DualRoom4price = price;
  5320. DualRoom4 = playerid;
  5321. WeaponDualRoom4 = 24;
  5322. return 1;
  5323. }
  5324. else return SendClientMessage(playerid, RED, "Es sind keine Duellräume frei.");
  5325. }
  5326. else return SendClientMessage(playerid, RED, "Dieser Spieler ist scon in einem Duell!");
  5327. }
  5328. else return SendClientMessage(playerid, RED, "Du bist schon in einem Duell.");
  5329. }
  5330. else return SendClientMessage(playerid, RED, "Du hast schon eine Einladung geschickt, warte 30 Sekunden");
  5331. }
  5332. else return SendClientMessage(playerid, RED, "Dieser Spieler hat schon eine Einladung bekommen.");
  5333. }
  5334. else return SendClientMessage(playerid, RED, "Du kannst nicht soviel Zahlen.");
  5335. }
  5336. if(strcmp("mp5", weapon, true, 3) == 0)
  5337. {
  5338. if(GetPlayerMoney(playerid) >= price)
  5339. {
  5340. if(Inventation[giveplayerid] == -1)
  5341. {
  5342. if(InventationSent[playerid] == -1)
  5343. {
  5344. if(InDual[playerid] == 0)
  5345. {
  5346. if(InDual[giveplayerid] == 0)
  5347. {
  5348. if(DualRoom1 == -1)
  5349. {
  5350. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5351. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer MP5 angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5352. SendClientMessage(giveplayerid, GREEN, string);
  5353. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer MP5 mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5354. SendClientMessage(playerid, GREEN, string);
  5355. InventationSent[playerid] = giveplayerid;
  5356. Inventation[giveplayerid] = playerid;
  5357. Inventationprice[giveplayerid] = price;
  5358. DualRoom1price = price;
  5359. DualRoom1 = playerid;
  5360. WeaponDualRoom1 = 29;
  5361. return 1;
  5362. }
  5363. else if(DualRoom2 == -1)
  5364. {
  5365. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5366. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer MP5 angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5367. SendClientMessage(giveplayerid, GREEN, string);
  5368. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer MP5 mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5369. SendClientMessage(playerid, GREEN, string);
  5370. InventationSent[playerid] = giveplayerid;
  5371. Inventation[giveplayerid] = playerid;
  5372. DualRoom2price = price;
  5373. DualRoom2 = playerid;
  5374. WeaponDualRoom2 = 29;
  5375. return 1;
  5376. }
  5377. else if(DualRoom3 == -1)
  5378. {
  5379. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5380. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer MP5 angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5381. SendClientMessage(giveplayerid, GREEN, string);
  5382. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer MP5 mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5383. SendClientMessage(playerid, GREEN, string);
  5384. InventationSent[playerid] = giveplayerid;
  5385. Inventation[giveplayerid] = playerid;
  5386. DualRoom3price = price;
  5387. DualRoom3 = playerid;
  5388. WeaponDualRoom3 = 29;
  5389. return 1;
  5390. }
  5391. else if(DualRoom4 == -1)
  5392. {
  5393. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5394. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer MP5 angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5395. SendClientMessage(giveplayerid, GREEN, string);
  5396. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer MP5 mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5397. SendClientMessage(playerid, GREEN, string);
  5398. InventationSent[playerid] = giveplayerid;
  5399. Inventation[giveplayerid] = playerid;
  5400. DualRoom4price = price;
  5401. DualRoom4 = playerid;
  5402. WeaponDualRoom4 = 29;
  5403. return 1;
  5404. }
  5405. else return SendClientMessage(playerid, RED, "Es sind keine Duellräume frei.");
  5406. }
  5407. else return SendClientMessage(playerid, RED, "Dieser Spieler ist scon in einem Duell!");
  5408. }
  5409. else return SendClientMessage(playerid, RED, "Du bist schon in einem Duell.");
  5410. }
  5411. else return SendClientMessage(playerid, RED, "Du hast schon eine Einladung geschickt, warte 30 Sekunden");
  5412. }
  5413. else return SendClientMessage(playerid, RED, "Dieser Spieler hat schon eine Einladung bekommen.");
  5414. }
  5415. else return SendClientMessage(playerid, RED, "Du kannst nicht soviel Zahlen.");
  5416. }
  5417. if(strcmp("chainsaw", weapon, true, 8) == 0)
  5418. {
  5419. if(GetPlayerMoney(playerid) >= price)
  5420. {
  5421. if(Inventation[giveplayerid] == -1)
  5422. {
  5423. if(InventationSent[playerid] == -1)
  5424. {
  5425. if(InDual[playerid] == 0)
  5426. {
  5427. if(InDual[giveplayerid] == 0)
  5428. {
  5429. if(DualRoom1 == -1)
  5430. {
  5431. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5432. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer Kettensäge angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5433. SendClientMessage(giveplayerid, GREEN, string);
  5434. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Kettensäge mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5435. SendClientMessage(playerid, GREEN, string);
  5436. InventationSent[playerid] = giveplayerid;
  5437. Inventation[giveplayerid] = playerid;
  5438. Inventationprice[giveplayerid] = price;
  5439. DualRoom1price = price;
  5440. DualRoom1 = playerid;
  5441. WeaponDualRoom1 = 9;
  5442. return 1;
  5443. }
  5444. else if(DualRoom2 == -1)
  5445. {
  5446. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5447. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer Kettensäge angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5448. SendClientMessage(giveplayerid, GREEN, string);
  5449. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Kettensäge mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5450. SendClientMessage(playerid, GREEN, string);
  5451. InventationSent[playerid] = giveplayerid;
  5452. Inventation[giveplayerid] = playerid;
  5453. DualRoom2price = price;
  5454. DualRoom2 = playerid;
  5455. WeaponDualRoom2 = 9;
  5456. return 1;
  5457. }
  5458. else if(DualRoom3 == -1)
  5459. {
  5460. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5461. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer Kettensäge angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5462. SendClientMessage(giveplayerid, GREEN, string);
  5463. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Kettensäge mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5464. SendClientMessage(playerid, GREEN, string);
  5465. InventationSent[playerid] = giveplayerid;
  5466. Inventation[giveplayerid] = playerid;
  5467. DualRoom3price = price;
  5468. DualRoom3 = playerid;
  5469. WeaponDualRoom3 = 9;
  5470. return 1;
  5471. }
  5472. else if(DualRoom4 == -1)
  5473. {
  5474. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5475. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer Kettensäge angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5476. SendClientMessage(giveplayerid, GREEN, string);
  5477. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Kettensäge mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5478. SendClientMessage(playerid, GREEN, string);
  5479. InventationSent[playerid] = giveplayerid;
  5480. Inventation[giveplayerid] = playerid;
  5481. DualRoom4price = price;
  5482. DualRoom4 = playerid;
  5483. WeaponDualRoom4 = 9;
  5484. return 1;
  5485. }
  5486. else return SendClientMessage(playerid, RED, "Es sind keine Duellräume frei.");
  5487. }
  5488. else return SendClientMessage(playerid, RED, "Dieser Spieler ist scon in einem Duell!");
  5489. }
  5490. else return SendClientMessage(playerid, RED, "Du bist schon in einem Duell.");
  5491. }
  5492. else return SendClientMessage(playerid, RED, "Du hast schon eine Einladung geschickt, warte 30 Sekunden");
  5493. }
  5494. else return SendClientMessage(playerid, RED, "Dieser Spieler hat schon eine Einladung bekommen.");
  5495. }
  5496. else return SendClientMessage(playerid, RED, "Du kannst nicht soviel Zahlen.");
  5497. }
  5498. if(strcmp("silpist", weapon, true, 7) == 0)
  5499. {
  5500. if(GetPlayerMoney(playerid) >= price)
  5501. {
  5502. if(Inventation[giveplayerid] == -1)
  5503. {
  5504. if(InventationSent[playerid] == -1)
  5505. {
  5506. if(InDual[playerid] == 0)
  5507. {
  5508. if(InDual[giveplayerid] == 0)
  5509. {
  5510. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5511. if(DualRoom1 == -1)
  5512. {
  5513. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5514. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer Pistole angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5515. SendClientMessage(giveplayerid, GREEN, string);
  5516. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Pistole mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5517. SendClientMessage(playerid, GREEN, string);
  5518. InventationSent[playerid] = giveplayerid;
  5519. Inventation[giveplayerid] = playerid;
  5520. Inventationprice[giveplayerid] = price;
  5521. DualRoom1price = price;
  5522. DualRoom1 = playerid;
  5523. WeaponDualRoom1 = 23;
  5524. return 1;
  5525. }
  5526. else if(DualRoom2 == -1)
  5527. {
  5528. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5529. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer Pistole angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5530. SendClientMessage(giveplayerid, GREEN, string);
  5531. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Pistole mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5532. SendClientMessage(playerid, GREEN, string);
  5533. InventationSent[playerid] = giveplayerid;
  5534. Inventation[giveplayerid] = playerid;
  5535. DualRoom2price = price;
  5536. DualRoom2 = playerid;
  5537. WeaponDualRoom2 = 23;
  5538. return 1;
  5539. }
  5540. else if(DualRoom3 == -1)
  5541. {
  5542. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5543. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer Pistole angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5544. SendClientMessage(giveplayerid, GREEN, string);
  5545. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Pistole mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5546. SendClientMessage(playerid, GREEN, string);
  5547. InventationSent[playerid] = giveplayerid;
  5548. Inventation[giveplayerid] = playerid;
  5549. DualRoom3price = price;
  5550. DualRoom3 = playerid;
  5551. WeaponDualRoom3 = 23;
  5552. return 1;
  5553. }
  5554. else if(DualRoom4 == -1)
  5555. {
  5556. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5557. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer Pistole angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5558. SendClientMessage(giveplayerid, GREEN, string);
  5559. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Pistole mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5560. SendClientMessage(playerid, GREEN, string);
  5561. InventationSent[playerid] = giveplayerid;
  5562. Inventation[giveplayerid] = playerid;
  5563. DualRoom4price = price;
  5564. DualRoom4 = playerid;
  5565. WeaponDualRoom4 = 23;
  5566. return 1;
  5567. }
  5568. else return SendClientMessage(playerid, RED, "Es sind keine Duellräume frei.");
  5569. }
  5570. else return SendClientMessage(playerid, RED, "Dieser Spieler ist scon in einem Duell!");
  5571. }
  5572. else return SendClientMessage(playerid, RED, "Du bist schon in einem Duell.");
  5573. }
  5574. else return SendClientMessage(playerid, RED, "Du hast schon eine Einladung geschickt, warte 30 Sekunden");
  5575. }
  5576. else return SendClientMessage(playerid, RED, "Dieser Spieler hat schon eine Einladung bekommen.");
  5577. }
  5578. else return SendClientMessage(playerid, RED, "Du kannst nicht soviel Zahlen.");
  5579. }
  5580. if(strcmp("combatsg", weapon, true, 8) == 0)
  5581. {
  5582. if(GetPlayerMoney(playerid) >= price)
  5583. {
  5584. if(Inventation[giveplayerid] == -1)
  5585. {
  5586. if(InventationSent[playerid] == -1)
  5587. {
  5588. if(InDual[playerid] == 0)
  5589. {
  5590. if(InDual[giveplayerid] == 0)
  5591. {
  5592. if(DualRoom1 == -1)
  5593. {
  5594. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5595. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer Combatshotgun angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5596. SendClientMessage(giveplayerid, GREEN, string);
  5597. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Combatshotgun mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5598. SendClientMessage(playerid, GREEN, string);
  5599. InventationSent[playerid] = giveplayerid;
  5600. Inventation[giveplayerid] = playerid;
  5601. Inventationprice[giveplayerid] = price;
  5602. DualRoom1price = price;
  5603. DualRoom1 = playerid;
  5604. WeaponDualRoom1 = 27;
  5605. return 1;
  5606. }
  5607. else if(DualRoom2 == -1)
  5608. {
  5609. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5610. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer Combatshotgun angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5611. SendClientMessage(giveplayerid, GREEN, string);
  5612. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Combatshotgun mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5613. SendClientMessage(playerid, GREEN, string);
  5614. InventationSent[playerid] = giveplayerid;
  5615. Inventation[giveplayerid] = playerid;
  5616. DualRoom2price = price;
  5617. DualRoom2 = playerid;
  5618. WeaponDualRoom2 = 27;
  5619. return 1;
  5620. }
  5621. else if(DualRoom3 == -1)
  5622. {
  5623. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5624. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer Combatshotgun angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5625. SendClientMessage(giveplayerid, GREEN, string);
  5626. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Combatshotgun mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5627. SendClientMessage(playerid, GREEN, string);
  5628. InventationSent[playerid] = giveplayerid;
  5629. Inventation[giveplayerid] = playerid;
  5630. DualRoom3price = price;
  5631. DualRoom3 = playerid;
  5632. WeaponDualRoom3 = 27;
  5633. return 1;
  5634. }
  5635. else if(DualRoom4 == -1)
  5636. {
  5637. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5638. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer Combatshotgun angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5639. SendClientMessage(giveplayerid, GREEN, string);
  5640. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Combatshotgun mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5641. SendClientMessage(playerid, GREEN, string);
  5642. InventationSent[playerid] = giveplayerid;
  5643. Inventation[giveplayerid] = playerid;
  5644. DualRoom4price = price;
  5645. DualRoom4 = playerid;
  5646. WeaponDualRoom4 = 27;
  5647. return 1;
  5648. }
  5649. else return SendClientMessage(playerid, RED, "Es sind keine Duellräume frei.");
  5650. }
  5651. else return SendClientMessage(playerid, RED, "Dieser Spieler ist scon in einem Duell!");
  5652. }
  5653. else return SendClientMessage(playerid, RED, "Du bist schon in einem Duell.");
  5654. }
  5655. else return SendClientMessage(playerid, RED, "Du hast schon eine Einladung geschickt, warte 30 Sekunden");
  5656. }
  5657. else return SendClientMessage(playerid, RED, "Dieser Spieler hat schon eine Einladung bekommen.");
  5658. }
  5659. else return SendClientMessage(playerid, RED, "Du kannst nicht soviel Zahlen.");
  5660. }
  5661. if(strcmp("shotgun", weapon, true, 7) == 0)
  5662. {
  5663. if(GetPlayerMoney(playerid) >= price)
  5664. {
  5665. if(Inventation[giveplayerid] == -1)
  5666. {
  5667. if(InventationSent[playerid] == -1)
  5668. {
  5669. if(InDual[playerid] == 0)
  5670. {
  5671. if(InDual[giveplayerid] == 0)
  5672. {
  5673. if(DualRoom1 == -1)
  5674. {
  5675. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5676. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer Schrottflinte angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5677. SendClientMessage(giveplayerid, GREEN, string);
  5678. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Schrottflinte mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5679. SendClientMessage(playerid, GREEN, string);
  5680. InventationSent[playerid] = giveplayerid;
  5681. Inventation[giveplayerid] = playerid;
  5682. Inventationprice[giveplayerid] = price;
  5683. DualRoom1price = price;
  5684. DualRoom1 = playerid;
  5685. WeaponDualRoom1 = 25;
  5686. return 1;
  5687. }
  5688. else if(DualRoom2 == -1)
  5689. {
  5690. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5691. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer Schrottflinte angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5692. SendClientMessage(giveplayerid, GREEN, string);
  5693. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Schrottflinte mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5694. SendClientMessage(playerid, GREEN, string);
  5695. InventationSent[playerid] = giveplayerid;
  5696. Inventation[giveplayerid] = playerid;
  5697. DualRoom2price = price;
  5698. DualRoom2 = playerid;
  5699. WeaponDualRoom2 = 25;
  5700. return 1;
  5701. }
  5702. else if(DualRoom3 == -1)
  5703. {
  5704. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5705. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer Schrottflinte angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5706. SendClientMessage(giveplayerid, GREEN, string);
  5707. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Schrottflinte mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5708. SendClientMessage(playerid, GREEN, string);
  5709. InventationSent[playerid] = giveplayerid;
  5710. Inventation[giveplayerid] = playerid;
  5711. DualRoom3price = price;
  5712. DualRoom3 = playerid;
  5713. WeaponDualRoom3 = 25;
  5714. return 1;
  5715. }
  5716. else if(DualRoom4 == -1)
  5717. {
  5718. SetTimerEx("inventationremove", 30000, 0, "i", playerid);
  5719. format(string, sizeof(string), "%s hat dir ein 1 gegen 1 Duell mit einer Schrottflinte angeboten, Preis: $%d, /acceptduel or /duellablehnen", sendername, price);
  5720. SendClientMessage(giveplayerid, GREEN, string);
  5721. format(string, sizeof(string), "Du hast %s ein 1 gegen 1 Duell mit einer Schrottflinte mit dem Preisgeld von $%d angeboten.", giveplayername, price);
  5722. SendClientMessage(playerid, GREEN, string);
  5723. InventationSent[playerid] = giveplayerid;
  5724. Inventation[giveplayerid] = playerid;
  5725. DualRoom4price = price;
  5726. DualRoom4 = playerid;
  5727. WeaponDualRoom4 = 25;
  5728. return 1;
  5729. }
  5730. else return SendClientMessage(playerid, RED, "Es sind keine Duellräume frei.");
  5731. }
  5732. else return SendClientMessage(playerid, RED, "Dieser Spieler ist scon in einem Duell!");
  5733. }
  5734. else return SendClientMessage(playerid, RED, "Du bist schon in einem Duell.");
  5735. }
  5736. else return SendClientMessage(playerid, RED, "Du hast schon eine Einladung geschickt, warte 30 Sekunden");
  5737. }
  5738. else return SendClientMessage(playerid, RED, "Dieser Spieler hat schon eine Einladung bekommen.");
  5739. }
  5740. else return SendClientMessage(playerid, RED, "Du kannst nicht soviel Zahlen.");
  5741. }
  5742. else return SendClientMessage(playerid, COLOR_YELLOW, "Richtige Benutzung: /duell [playerid] [waffe] [preisgeld]");
  5743. }
  5744. else return SendClientMessage(playerid, RED, "Du kannst dich nicht selbst Duelieren.");
  5745. }
  5746. }
  5747.  
  5748. dcmd_acceptduel(playerid, params[])
  5749. {
  5750. #pragma unused params
  5751. if(Inventation[playerid] >= 0)
  5752. {
  5753. if(GetPlayerMoney(playerid) >= Inventationprice[playerid])
  5754. {
  5755. if(DualRoom1 == Inventation[playerid])
  5756. {
  5757. SetPlayerTeam(playerid, 1);
  5758. SetPlayerTeam(Inventation[playerid], 2);
  5759. InDual[Inventation[playerid]] = 1;
  5760. InDual[playerid] = 1;
  5761. ResetPlayerWeapons(playerid);
  5762. ResetPlayerWeapons(Inventation[playerid]);
  5763. GivePlayerWeapon(playerid, WeaponDualRoom1, 500);
  5764. GivePlayerWeapon(Inventation[playerid], WeaponDualRoom1, 500);
  5765. SetPlayerPos(playerid, 1715.5034,-2865.0405,6.5554);
  5766. SetPlayerFacingAngle(playerid,317.1064);
  5767. SetPlayerPos(Inventation[playerid], 1723.2203,-2856.0315,6.5554);
  5768. SetPlayerFacingAngle(Inventation[playerid],140.0715);
  5769. SetPlayerHealth(playerid, 100);
  5770. SetPlayerArmour(playerid, 100);
  5771. SetPlayerHealth(Inventation[playerid], 100);
  5772. SetPlayerArmour(Inventation[playerid], 100);
  5773. GivePlayerMoney(playerid, -DualRoom1price);
  5774. GivePlayerMoney(Inventation[playerid], -DualRoom1price);
  5775. SendClientMessage(playerid, GREEN, "Lass die Schlacht beginnen!");
  5776. SendClientMessage(Inventation[playerid], GREEN, "Lass die Schlacht beginnen!");
  5777. TogglePlayerControllable(playerid, 0);
  5778. TogglePlayerControllable(Inventation[playerid], 0);
  5779. CountDown2(playerid, 3);
  5780. CountDown2(Inventation[playerid], 3);
  5781. }
  5782. if(DualRoom2 == Inventation[playerid])
  5783. {
  5784. SetPlayerTeam(playerid, 1);
  5785. SetPlayerTeam(Inventation[playerid], 2);
  5786. InDual[Inventation[playerid]] = 1;
  5787. InDual[playerid] = 1;
  5788. ResetPlayerWeapons(playerid);
  5789. ResetPlayerWeapons(Inventation[playerid]);
  5790. GivePlayerWeapon(playerid, WeaponDualRoom2, 500);
  5791. GivePlayerWeapon(Inventation[playerid], WeaponDualRoom2, 500);
  5792. SetPlayerPos(playerid, 1747.7878,-2864.6843,6.5554);
  5793. SetPlayerFacingAngle(playerid,47.0340);
  5794. SetPlayerPos(Inventation[playerid], 1740.1650,-2858.3879,6.5554);
  5795. SetPlayerFacingAngle(Inventation[playerid],228.1190);
  5796. SetPlayerHealth(playerid, 100);
  5797. SetPlayerArmour(playerid, 100);
  5798. SetPlayerHealth(Inventation[playerid], 100);
  5799. SetPlayerArmour(Inventation[playerid], 100);
  5800. GivePlayerMoney(playerid, -DualRoom2price);
  5801. GivePlayerMoney(Inventation[playerid], -DualRoom2price);
  5802. SendClientMessage(playerid, GREEN, "Lass die Schlacht beginnen!");
  5803. SendClientMessage(Inventation[playerid], GREEN, "Lass die Schlacht beginnen!");
  5804. TogglePlayerControllable(playerid, 0);
  5805. TogglePlayerControllable(Inventation[playerid], 0);
  5806. CountDown2(playerid, 3);
  5807. CountDown2(Inventation[playerid], 3);
  5808. return 1;
  5809. }
  5810. if(DualRoom3 == Inventation[playerid])
  5811. {
  5812. SetPlayerTeam(playerid, 1);
  5813. SetPlayerTeam(Inventation[playerid], 2);
  5814. InDual[Inventation[playerid]] = 1;
  5815. InDual[playerid] = 1;
  5816. ResetPlayerWeapons(playerid);
  5817. ResetPlayerWeapons(Inventation[playerid]);
  5818. GivePlayerWeapon(playerid, WeaponDualRoom3, 500);
  5819. GivePlayerWeapon(Inventation[playerid], WeaponDualRoom3, 500);
  5820. SetPlayerPos(playerid, 1748.3942,-2832.6250,6.5554);
  5821. SetPlayerFacingAngle(playerid,141.3482);
  5822. SetPlayerPos(Inventation[playerid], 1741.1982,-2839.9243,6.5554);
  5823. SetPlayerFacingAngle(Inventation[playerid],315.8531);
  5824. SetPlayerHealth(playerid, 100);
  5825. SetPlayerArmour(playerid, 100);
  5826. SetPlayerHealth(Inventation[playerid], 100);
  5827. SetPlayerArmour(Inventation[playerid], 100);
  5828. GivePlayerMoney(playerid, -DualRoom3price);
  5829. GivePlayerMoney(Inventation[playerid], -DualRoom3price);
  5830. SendClientMessage(playerid, GREEN, "Lass die Schlacht beginnen!");
  5831. SendClientMessage(Inventation[playerid], GREEN, "Lass die Schlacht beginnen!");
  5832. TogglePlayerControllable(playerid, 0);
  5833. TogglePlayerControllable(Inventation[playerid], 0);
  5834. CountDown2(playerid, 3);
  5835. CountDown2(Inventation[playerid], 3);
  5836. return 1;
  5837. }
  5838. if(DualRoom4 == Inventation[playerid])
  5839. {
  5840. SetPlayerTeam(playerid, 1);
  5841. SetPlayerTeam(Inventation[playerid], 2);
  5842. InDual[Inventation[playerid]] = 1;
  5843. InDual[playerid] = 1;
  5844. ResetPlayerWeapons(playerid);
  5845. ResetPlayerWeapons(Inventation[playerid]);
  5846. GivePlayerWeapon(playerid, WeaponDualRoom4, 500);
  5847. GivePlayerWeapon(Inventation[playerid], WeaponDualRoom4, 500);
  5848. SetPlayerPos(playerid, 1716.7450,-2832.7969,6.5554);
  5849. SetPlayerFacingAngle(playerid,229.7091);
  5850. SetPlayerPos(Inventation[playerid], 1722.3630,-2840.2034,6.5554);
  5851. SetPlayerFacingAngle(Inventation[playerid],45.7807);
  5852. SetPlayerHealth(playerid, 100);
  5853. SetPlayerArmour(playerid, 100);
  5854. SetPlayerHealth(Inventation[playerid], 100);
  5855. SetPlayerArmour(Inventation[playerid], 100);
  5856. GivePlayerMoney(playerid, -DualRoom4price);
  5857. GivePlayerMoney(Inventation[playerid], -DualRoom4price);
  5858. SendClientMessage(playerid, GREEN, "Lass die Schlacht beginnen!");
  5859. SendClientMessage(Inventation[playerid], GREEN, "Lass die Schlacht beginnen!");
  5860. TogglePlayerControllable(playerid, 0);
  5861. TogglePlayerControllable(Inventation[playerid], 0);
  5862. CountDown2(playerid, 3);
  5863. CountDown2(Inventation[playerid], 3);
  5864. return 1;
  5865. }
  5866. return 1;
  5867. }
  5868. else return SendClientMessage(playerid, RED, "Du hast nicht genug Geld, bitte benutze /duellablehnen .");
  5869. }
  5870. else return SendClientMessage(playerid, RED, "Du hast keine Duelleinladung bekommen.");
  5871. }
  5872.  
  5873. dcmd_duellablehnen(playerid, params[])
  5874. {
  5875. #pragma unused params
  5876. SendClientMessage(playerid, RED, "Du hast die Duelleinladung abgelehnt.");
  5877. SendClientMessage(Inventation[playerid], RED, "Deine Duelleinladung wurde abgelehnt.");
  5878. Inventation[InventationSent[playerid]] = -1;
  5879. InventationSent[playerid] = -1;
  5880. if(DualRoom1 == playerid)
  5881. {
  5882. DualRoom1 = -1;
  5883. }
  5884. if(DualRoom2 == playerid)
  5885. {
  5886. DualRoom2 = -1;
  5887. }
  5888. if(DualRoom3 == playerid)
  5889. {
  5890. DualRoom3 = -1;
  5891. }
  5892. if(DualRoom3 == playerid)
  5893. {
  5894. DualRoom4 = -1;
  5895. }
  5896. return 1;
  5897. }
  5898.  
  5899. stock sscanf(string[], format[], {Float,_}:...)
  5900. {
  5901. #if defined isnull
  5902. if (isnull(string))
  5903. #else
  5904. if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  5905. #endif
  5906. {
  5907. return format[0];
  5908. }
  5909. #pragma tabsize 4
  5910. new
  5911. formatPos = 0,
  5912. stringPos = 0,
  5913. paramPos = 2,
  5914. paramCount = numargs(),
  5915. delim = ' ';
  5916. while (string[stringPos] && string[stringPos] <= ' ')
  5917. {
  5918. stringPos++;
  5919. }
  5920. while (paramPos < paramCount && string[stringPos])
  5921. {
  5922. switch (format[formatPos++])
  5923. {
  5924. case '\0':
  5925. {
  5926. return 0;
  5927. }
  5928. case 'i', 'd':
  5929. {
  5930. new
  5931. neg = 1,
  5932. num = 0,
  5933. ch = string[stringPos];
  5934. if (ch == '-')
  5935. {
  5936. neg = -1;
  5937. ch = string[++stringPos];
  5938. }
  5939. do
  5940. {
  5941. stringPos++;
  5942. if ('0' <= ch <= '9')
  5943. {
  5944. num = (num * 10) + (ch - '0');
  5945. }
  5946. else
  5947. {
  5948. return -1;
  5949. }
  5950. }
  5951. while ((ch = string[stringPos]) > ' ' && ch != delim);
  5952. setarg(paramPos, 0, num * neg);
  5953. }
  5954. case 'h', 'x':
  5955. {
  5956. new
  5957. num = 0,
  5958. ch = string[stringPos];
  5959. do
  5960. {
  5961. stringPos++;
  5962. switch (ch)
  5963. {
  5964. case 'x', 'X':
  5965. {
  5966. num = 0;
  5967. continue;
  5968. }
  5969. case '0' .. '9':
  5970. {
  5971. num = (num << 4) | (ch - '0');
  5972. }
  5973. case 'a' .. 'f':
  5974. {
  5975. num = (num << 4) | (ch - ('a' - 10));
  5976. }
  5977. case 'A' .. 'F':
  5978. {
  5979. num = (num << 4) | (ch - ('A' - 10));
  5980. }
  5981. default:
  5982. {
  5983. return -1;
  5984. }
  5985. }
  5986. }
  5987. while ((ch = string[stringPos]) > ' ' && ch != delim);
  5988. setarg(paramPos, 0, num);
  5989. }
  5990. case 'c':
  5991. {
  5992. setarg(paramPos, 0, string[stringPos++]);
  5993. }
  5994. case 'f':
  5995. {
  5996. setarg(paramPos, 0, _:floatstr(string[stringPos]));
  5997. }
  5998. case 'p':
  5999. {
  6000. delim = format[formatPos++];
  6001. continue;
  6002. }
  6003. case '\'':
  6004. {
  6005. new
  6006. end = formatPos - 1,
  6007. ch;
  6008. while ((ch = format[++end]) && ch != '\'') {}
  6009. if (!ch)
  6010. {
  6011. return -1;
  6012. }
  6013. format[end] = '\0';
  6014. if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  6015. {
  6016. if (format[end + 1])
  6017. {
  6018. return -1;
  6019. }
  6020. return 0;
  6021. }
  6022. format[end] = '\'';
  6023. stringPos = ch + (end - formatPos);
  6024. formatPos = end + 1;
  6025. }
  6026. case 'u':
  6027. {
  6028. new
  6029. end = stringPos - 1,
  6030. id = 0,
  6031. bool:num = true,
  6032. ch;
  6033. while ((ch = string[++end]) && ch != delim)
  6034. {
  6035. if (num)
  6036. {
  6037. if ('0' <= ch <= '9')
  6038. {
  6039. id = (id * 10) + (ch - '0');
  6040. }
  6041. else
  6042. {
  6043. num = false;
  6044. }
  6045. }
  6046. }
  6047. if (num && IsPlayerConnected(id))
  6048. {
  6049. setarg(paramPos, 0, id);
  6050. }
  6051. else
  6052. {
  6053. #if !defined foreach
  6054. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  6055. #define __SSCANF_FOREACH__
  6056. #endif
  6057. string[end] = '\0';
  6058. num = false;
  6059. new
  6060. name[MAX_PLAYER_NAME];
  6061. id = end - stringPos;
  6062. foreach (Player, playerid)
  6063. {
  6064. GetPlayerName(playerid, name, sizeof (name));
  6065. if (!strcmp(name, string[stringPos], true, id))
  6066. {
  6067. setarg(paramPos, 0, playerid);
  6068. num = true;
  6069. break;
  6070. }
  6071. }
  6072. if (!num)
  6073. {
  6074. setarg(paramPos, 0, INVALID_PLAYER_ID);
  6075. }
  6076. string[end] = ch;
  6077. #if defined __SSCANF_FOREACH__
  6078. #undef foreach
  6079. #undef __SSCANF_FOREACH__
  6080. #endif
  6081. }
  6082. stringPos = end;
  6083. }
  6084. case 's', 'z':
  6085. {
  6086. new
  6087. i = 0,
  6088. ch;
  6089. if (format[formatPos])
  6090. {
  6091. while ((ch = string[stringPos++]) && ch != delim)
  6092. {
  6093. setarg(paramPos, i++, ch);
  6094. }
  6095. if (!i)
  6096. {
  6097. return -1;
  6098. }
  6099. }
  6100. else
  6101. {
  6102. while ((ch = string[stringPos++]))
  6103. {
  6104. setarg(paramPos, i++, ch);
  6105. }
  6106. }
  6107. stringPos--;
  6108. setarg(paramPos, i, '\0');
  6109. }
  6110. default:
  6111. {
  6112. continue;
  6113. }
  6114. }
  6115. while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  6116. {
  6117. stringPos++;
  6118. }
  6119. while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  6120. {
  6121. stringPos++;
  6122. }
  6123. paramPos++;
  6124. }
  6125. do
  6126. {
  6127. if ((delim = format[formatPos++]) > ' ')
  6128. {
  6129. if (delim == '\'')
  6130. {
  6131. while ((delim = format[formatPos++]) && delim != '\'') {}
  6132. }
  6133. else if (delim != 'z')
  6134. {
  6135. return delim;
  6136. }
  6137. }
  6138. }
  6139. while (delim > ' ');
  6140. return 0;
  6141. }
  6142.  
  6143. public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
  6144. {
  6145. new Float:oldposx, Float:oldposy, Float:oldposz;
  6146. new Float:tempposx, Float:tempposy, Float:tempposz;
  6147. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  6148. tempposx = (oldposx -x);
  6149. tempposy = (oldposy -y);
  6150. tempposz = (oldposz -z);
  6151. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  6152. {
  6153. return 1;
  6154. }
  6155. return 0;
  6156. }
  6157.  
  6158.  
  6159.  
  6160. forward BOtimer();
  6161. public BOtimer()
  6162. {
  6163. for(new playerid=0; playerid<MAX_PLAYERS; playerid++)
  6164. {
  6165. if(IsPlayerConnected(playerid) && GetPlayerState(playerid)==PLAYER_STATE_DRIVER)
  6166. {
  6167. new Float:speed[3],vehicleid=GetPlayerVehicleID(playerid);
  6168. GetVehicleVelocity(vehicleid,speed[0],speed[1],speed[2]);
  6169. SetVehicleVelocity(vehicleid,speed[0]*RATIO,speed[1]*RATIO,speed[2]*RATIO);
  6170. }
  6171. }
  6172. }
  6173.  
  6174. forward BOtimer2();
  6175. public BOtimer2()
  6176. {
  6177. for(new playerid=0; playerid<MAX_PLAYERS; playerid++)
  6178. {
  6179. if(IsPlayerConnected(playerid) && GetPlayerState(playerid)==PLAYER_STATE_DRIVER)
  6180. {
  6181. new keys,leftright,updown;
  6182. GetPlayerKeys(playerid,keys,updown,leftright);
  6183. if(keys == 40)
  6184. {
  6185. burnout[playerid]++;
  6186. }else if(burnout[playerid]>10 && keys == 8){
  6187. if(burnout[playerid]>35) burnout[playerid]=35;
  6188. new Float:speed[2],vehicleid=GetPlayerVehicleID(playerid);
  6189. GetXYInFrontOfVehicle(vehicleid,speed[0],speed[1],0.007*burnout[playerid]);
  6190. AccelerateTowardsAPoint(vehicleid,speed[0],speed[1]);
  6191. burnout[playerid]=0;
  6192. }
  6193. }
  6194. }
  6195. }
  6196.  
  6197. stock GetXYInFrontOfVehicle(vehicleid, &Float:x, &Float:y, Float:distance)
  6198. { // Created by Y_Less
  6199.  
  6200. new Float:a;
  6201. GetVehiclePos(vehicleid, x, y, a);
  6202. GetVehicleZAngle(vehicleid, a);
  6203.  
  6204. x += (distance * floatsin(-a, degrees));
  6205. y += (distance * floatcos(-a, degrees));
  6206. }
  6207.  
  6208. stock AccelerateTowardsAPoint(vehicleid,Float:x,Float:y)
  6209. {
  6210. new Float:pos[6];
  6211. GetVehicleVelocity(vehicleid,pos[4],pos[5],pos[2]);
  6212. GetVehiclePos(vehicleid,pos[0],pos[1],pos[3]);
  6213. if(GivesSpeed(pos[4],pos[5],pos[2],x-pos[0],y-pos[1],pos[2]))
  6214. SetVehicleVelocity(vehicleid,x-pos[0],y-pos[1],pos[2]);
  6215. }
  6216.  
  6217. stock GivesSpeed(Float:x,Float:y,Float:z,Float:newx,Float:newy,Float:newz) // Checks if one velocity is bigger than another.
  6218. {
  6219. if(floatsqroot(floatpower(floatabs(x),2)+floatpower(floatabs(y),2)+floatpower(floatabs(z),2))<floatsqroot(floatpower(floatabs(newx),2)+floatpower(floatabs(newy),2)+floatpower(floatabs(newz),2))) return true;
  6220. return false;
  6221. }
  6222.  
  6223.  
  6224. //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  6225. // -> Update Clock Functions <-
  6226. //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  6227. public L_UpdateTime(playerid)
  6228. {
  6229. new string[256];
  6230. new Hour, Minute, Second;
  6231. new Year, Monat, Day;
  6232. gettime(Hour,Minute,Second);
  6233. getdate(Year, Monat, Day);
  6234. format(string, sizeof(string), "%02d:%02d", Hour,Minute);
  6235. TextDrawSetString(LHour, string);
  6236. format(string, sizeof(string), "Tag: %02d (%02d/%d/%d)", Day,Day, Monat, Year);
  6237. TextDrawSetString(LDay, string);
  6238.  
  6239. if(Monat == 1){
  6240. format(string, sizeof(string), "Monat: Januar");
  6241. TextDrawSetString(LMonat, string);
  6242. }
  6243. else if(Monat == 2)
  6244. {
  6245. format(string, sizeof(string), "Monat: Februar");
  6246. TextDrawSetString(LMonat, string);
  6247. }
  6248. else if(Monat == 3){
  6249. format(string, sizeof(string), "Monat: März");
  6250. TextDrawSetString(LMonat, string);
  6251. }
  6252. else if(Monat == 4){
  6253. format(string, sizeof(string), "Monat: April");
  6254. TextDrawSetString(LMonat, string);
  6255. }
  6256. else if(Monat == 5){
  6257. format(string, sizeof(string), "Monat: Mai");
  6258. TextDrawSetString(LMonat, string);
  6259. }
  6260. else if(Monat == 6){
  6261. format(string, sizeof(string), "Monat: Juni");
  6262. TextDrawSetString(LMonat, string);
  6263. }
  6264. else if(Monat == 7){
  6265. format(string, sizeof(string), "Monat: Juli");
  6266. TextDrawSetString(LMonat, string);
  6267. }
  6268. else if(Monat == 8){
  6269. format(string, sizeof(string), "Monat: August");
  6270. TextDrawSetString(LMonat, string);
  6271. }
  6272. else if(Monat == 9){
  6273. format(string, sizeof(string), "Monat: September");
  6274. TextDrawSetString(LMonat, string);
  6275. }
  6276. else if(Monat == 10){
  6277. format(string, sizeof(string), "Monat: Oktober");
  6278. TextDrawSetString(LMonat, string);
  6279. }
  6280. else if(Monat == 11){
  6281. format(string, sizeof(string), "Monat: November");
  6282. TextDrawSetString(LMonat, string);
  6283. }
  6284. else if(Monat == 12){
  6285. format(string, sizeof(string), "Monat: Dezember");
  6286. TextDrawSetString(LMonat, string);
  6287. }
  6288. switch(Hour){
  6289. case 0..5:{
  6290. format(string, sizeof(string), "~y~Guten Morgen!");
  6291. TextDrawSetString(LMsg, string);
  6292. }
  6293. case 6..11:{
  6294. format(string, sizeof(string), "~y~Guten Morgen!");
  6295. TextDrawSetString(LMsg, string);
  6296. }
  6297. case 12..17:{
  6298. format(string, sizeof(string), "~g~Guten Tag!");
  6299. TextDrawSetString(LMsg, string);
  6300. }
  6301. case 18..23:{
  6302. format(string, sizeof(string), "~b~Guten Abend!");
  6303. TextDrawSetString(LMsg, string);
  6304. }
  6305. }
  6306. return 1;
  6307. }
  6308.  
  6309. //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  6310. // -> Update Clock Hours <-
  6311. //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  6312. public L_UpdateClock()
  6313. {
  6314. new Year,Monat;
  6315. new Day,Hour;
  6316. new Min,Second;
  6317. new nstring[5];
  6318. getdate(Year, Monat, Day);
  6319. gettime(Hour, Min, Second);
  6320. TextDrawShowForAll(LHour);
  6321. TextDrawShowForAll(LDay);
  6322. TextDrawShowForAll(LMonat);
  6323. TextDrawShowForAll(LInfo);
  6324. TextDrawShowForAll(LCategory);
  6325. TextDrawShowForAll(LMsg);
  6326. TextDrawShowForAll(LText1);
  6327. TextDrawShowForAll(LText2);
  6328. TextDrawShowForAll(LText3);
  6329. TextDrawShowForAll(LText4);
  6330. TextDrawShowForAll(LText5);
  6331. TextDrawShowForAll(LText6);
  6332. TextDrawShowForAll(LText7);
  6333. TextDrawShowForAll(LuxClock_Center);
  6334.  
  6335. for(new l; l < 12; l++) TextDrawShowForAll(LuxClock[l]);
  6336. if (Hour > 12) Hour -= 12;
  6337. if (Hour == 0) Hour = 12;
  6338. for(new l; l < 12; l++){
  6339. if (Hour-1 == l){
  6340. format(nstring, sizeof nstring, "~w~%s", Tstring[DelTime]);
  6341. TextDrawSetString(LuxClock[DelTime], nstring);
  6342. TextDrawShowForAll(LuxClock[DelTime]);
  6343. //SetWorldTime(Hour);
  6344. format(nstring, sizeof nstring, "~r~%d", l+1);
  6345. TextDrawSetString(LuxClock[l], nstring);
  6346. TextDrawShowForAll(LuxClock[l]); DelTime = l;
  6347. break;
  6348. }
  6349. }
  6350. }
  6351.  
  6352.  
  6353.  
  6354. Float:GetPlayerTheoreticAngle(i)
  6355. {
  6356. new Float:sin;
  6357. new Float:dis;
  6358. new Float:angle2;
  6359. new Float:x,Float:y,Float:z;
  6360. new Float:tmp3;
  6361. new Float:tmp4;
  6362. new Float:MindAngle;
  6363.  
  6364. if(IsPlayerConnected(i)){
  6365.  
  6366. GetPlayerPos(i,x,y,z);
  6367.  
  6368. dis = floatsqroot(floatpower(floatabs(floatsub(x,ppos[i][0])),2)+floatpower(floatabs(floatsub(y,ppos[i][1])),2));
  6369.  
  6370. if(IsPlayerInAnyVehicle(i)){GetVehicleZAngle(GetPlayerVehicleID(i), angle2);}else{GetPlayerFacingAngle(i, angle2);}
  6371.  
  6372. if(x>ppos[i][0]){tmp3=x-ppos[i][0];}else{tmp3=ppos[i][0]-x;}
  6373. if(y>ppos[i][1]){tmp4=y-ppos[i][1];}else{tmp4=ppos[i][1]-y;}
  6374.  
  6375. if(ppos[i][1]>y && ppos[i][0]>x){
  6376. sin = asin(tmp3/dis);
  6377. MindAngle = floatsub(floatsub(floatadd(sin, 90), floatmul(sin, 2)), -90.0);
  6378. }
  6379.  
  6380. if(ppos[i][1]<y && ppos[i][0]>x){
  6381. sin = asin(tmp3/dis);
  6382. MindAngle = floatsub(floatadd(sin, 180), 180.0);
  6383. }
  6384.  
  6385. if(ppos[i][1]<y && ppos[i][0]<x){
  6386. sin = acos(tmp4/dis);
  6387. MindAngle = floatsub(floatadd(sin, 360), floatmul(sin, 2));
  6388. }
  6389.  
  6390. if(ppos[i][1]>y && ppos[i][0]<x){
  6391. sin = asin(tmp3/dis);
  6392. MindAngle = floatadd(sin, 180);
  6393. }
  6394. }
  6395.  
  6396. if(MindAngle == 0.0){return angle2;}else{return MindAngle;}
  6397. }
  6398.  
  6399. public DriftExit(playerid){
  6400. PlayerDriftCancellation[playerid] = 0;
  6401.  
  6402. new Float:h;
  6403. GetVehicleHealth(GetPlayerVehicleID(playerid),h);
  6404. if(DriftPointsNow[playerid]>70 && DriftPointsNow[playerid]<10000 && h==HealthInit[playerid]) GivePlayerMoney(playerid,DriftPointsNow[playerid]*DriftBonus[playerid]);
  6405. TextDrawHideForPlayer(playerid,TDLabels[0]);
  6406. TextDrawHideForPlayer(playerid,TDLabels[1]);
  6407. TextDrawHideForPlayer(playerid,TDLabels[2]);
  6408. TextDrawHideForPlayer(playerid,TDValueDrift[playerid]);
  6409. TextDrawHideForPlayer(playerid,TDValueBonus[playerid]);
  6410. TextDrawHideForPlayer(playerid,TDValueCash2[playerid]);
  6411. DriftBonus[playerid]=1;
  6412. AutoFixBool[playerid]=true;
  6413. SetVehicleHealth(GetPlayerVehicleID(playerid),HealthInit[playerid]);
  6414. DriftPointsNow[playerid] = 0;
  6415. }
  6416.  
  6417. Float:ReturnPlayerAngle(playerid){
  6418. new Float:Ang;
  6419. if(IsPlayerInAnyVehicle(playerid))GetVehicleZAngle(GetPlayerVehicleID(playerid), Ang); else GetPlayerFacingAngle(playerid, Ang);
  6420. return Ang;
  6421. }
  6422.  
  6423. public Drift(){
  6424. new Float:Angle1, Float:Angle2, Float:BySpeed;
  6425. new Float:Z;
  6426. new Float:X;
  6427. new Float:Y;
  6428. new Float:SpeedX;
  6429. for(new g=0;g<200;g++){
  6430. GetPlayerPos(g, X, Y, Z);
  6431. SpeedX = floatsqroot(floatadd(floatadd(floatpower(floatabs(floatsub(X,SavedPos[ g ][ sX ])),2),floatpower(floatabs(floatsub(Y,SavedPos[ g ][ sY ])),2)),floatpower(floatabs(floatsub(Z,SavedPos[ g ][ sZ ])),2)));
  6432. Angle1 = ReturnPlayerAngle(g);
  6433. Angle2 = GetPlayerTheoreticAngle(g);
  6434. BySpeed = floatmul(SpeedX, 12);
  6435. if(IsPlayerInAnyVehicle(g) && GetVType(GetPlayerVehicleID(g)) && floatabs(floatsub(Angle1, Angle2)) > DRIFT_MINKAT && floatabs(floatsub(Angle1, Angle2)) < DRIFT_MAXKAT && BySpeed > DRIFT_SPEED){
  6436. if(PlayerDriftCancellation[g] > 0)KillTimer(PlayerDriftCancellation[g]);
  6437. PlayerDriftCancellation[g] = 0;
  6438. DriftPointsNow[g] += floatval( floatabs(floatsub(Angle1, Angle2)) * 3 * (BySpeed*0.1) )/10;
  6439. PlayerDriftCancellation[g] = SetTimerEx("DriftExit", 3000, 0, "d", g);
  6440. }
  6441.  
  6442. if(DriftPointsNow[g] > 70 && DriftPointsNow[g]<10000){
  6443. if(DriftPointsNow[g]<200){
  6444. DriftBonus[g]=1;
  6445. }
  6446. if(DriftPointsNow[g]>=200 && DriftPointsNow[g]<500){
  6447. DriftBonus[g]=2;
  6448. }
  6449. if(DriftPointsNow[g]>=500 && DriftPointsNow[g]<1000){
  6450. DriftBonus[g]=3;
  6451. }
  6452. if(DriftPointsNow[g]>=1000 && DriftPointsNow[g]<1500){
  6453. DriftBonus[g]=4;
  6454. }
  6455. if(DriftPointsNow[g]>=1500){
  6456. DriftBonus[g]=5;
  6457. }
  6458.  
  6459. TextDrawShowForPlayer(g,TDLabels[0]);
  6460. TextDrawShowForPlayer(g,TDLabels[1]);
  6461. TextDrawShowForPlayer(g,TDLabels[2]);
  6462.  
  6463. TextDrawShowForPlayer(g,TDValueDrift[g]);
  6464. TextDrawShowForPlayer(g,TDValueBonus[g]);
  6465. TextDrawShowForPlayer(g,TDValueCash2[g]);
  6466.  
  6467. new DPs[128],DBn[128],Cash2[128],csh;
  6468.  
  6469. valstr(DPs,DriftPointsNow[g],false);
  6470. format(DBn,sizeof(DBn),"X%i",DriftBonus[g]);
  6471. csh=DriftPointsNow[g]*DriftBonus[g];
  6472. format(Cash2,sizeof(Cash2),"$%i",csh);
  6473.  
  6474. TextDrawSetString(TDValueDrift[g],DPs);
  6475. TextDrawSetString(TDValueBonus[g],DBn);
  6476. TextDrawSetString(TDValueCash2[g],Cash2);
  6477. }
  6478. SavedPos[ g ][ sX ] = X;
  6479. SavedPos[ g ][ sY ] = Y;
  6480. SavedPos[ g ][ sZ ] = Z;
  6481. }
  6482. }
  6483.  
  6484. public AngleUpdate(){
  6485. for(new g=0;g<=MAX_PLAYERS;g++){
  6486. new Float:x, Float:y, Float:z;
  6487. if(IsPlayerInAnyVehicle(g))GetVehiclePos(GetPlayerVehicleID(g), x, y, z); else GetPlayerPos(g, x, y, z);
  6488. ppos[g][0] = x;
  6489. ppos[g][1] = y;
  6490. ppos[g][2] = z;
  6491. }
  6492. }
  6493.  
  6494. floatval(Float:val){
  6495. new str[256];
  6496. format(str, 256, "%.0f", val);
  6497. return todec(str);
  6498. }
  6499.  
  6500. todec(str[]){
  6501. return strval(str);
  6502. }
  6503.  
  6504. LoadTextDraws(){
  6505. TDLabels[0]=TextDrawCreate(Label_X,TD_Y,"Drift Points");
  6506. TextDrawColor(TDLabels[0],COLOR_Label);
  6507. TextDrawSetShadow(TDLabels[0],0);
  6508. TextDrawSetOutline(TDLabels[0],1);
  6509. TextDrawLetterSize(TDLabels[0],0.5,2);
  6510. TextDrawBackgroundColor(TDLabels[0],COLOR_LabelOut);
  6511. TextDrawFont(TDLabels[0],1);
  6512.  
  6513. TDLabels[1]=TextDrawCreate(Label_X,TD_Y+50,"Drift Bonus");
  6514. TextDrawColor(TDLabels[1],COLOR_Label);
  6515. TextDrawSetShadow(TDLabels[1],0);
  6516. TextDrawSetOutline(TDLabels[1],1);
  6517. TextDrawLetterSize(TDLabels[1],0.5,2);
  6518. TextDrawBackgroundColor(TDLabels[1],COLOR_LabelOut);
  6519. TextDrawFont(TDLabels[1],1);
  6520.  
  6521. TDLabels[2]=TextDrawCreate(Label_X,TD_Y+100,"Drift Cash");
  6522. TextDrawColor(TDLabels[2],COLOR_Label);
  6523. TextDrawSetShadow(TDLabels[2],0);
  6524. TextDrawSetOutline(TDLabels[2],1);
  6525. TextDrawLetterSize(TDLabels[2],0.5,2);
  6526. TextDrawBackgroundColor(TDLabels[2],COLOR_LabelOut);
  6527. TextDrawFont(TDLabels[2],1);
  6528.  
  6529. new i;
  6530. for(i=0;i<=MAX_PLAYERS;i++){
  6531. TDValueDrift[i]=TextDrawCreate(Value_X,TD_Y+20,"0");
  6532. TextDrawColor(TDValueDrift[i],COLOR_Value);
  6533. TextDrawSetShadow(TDValueDrift[i],0);
  6534. TextDrawSetOutline(TDValueDrift[i],1);
  6535. TextDrawLetterSize(TDValueDrift[i],0.5,2);
  6536. TextDrawBackgroundColor(TDValueDrift[i],COLOR_ValueOut);
  6537. TextDrawFont(TDValueDrift[i],3);
  6538.  
  6539. TDValueBonus[i]=TextDrawCreate(Value_X,TD_Y+70,"X1");
  6540. TextDrawColor(TDValueBonus[i],COLOR_Value);
  6541. TextDrawSetShadow(TDValueBonus[i],0);
  6542. TextDrawSetOutline(TDValueBonus[i],1);
  6543. TextDrawLetterSize(TDValueBonus[i],0.5,2);
  6544. TextDrawBackgroundColor(TDValueBonus[i],COLOR_ValueOut);
  6545. TextDrawFont(TDValueBonus[i],3);
  6546.  
  6547. TDValueCash2[i]=TextDrawCreate(Value_X,TD_Y+120,"$0");
  6548. TextDrawColor(TDValueCash2[i],COLOR_Value);
  6549. TextDrawSetShadow(TDValueCash2[i],0);
  6550. TextDrawSetOutline(TDValueCash2[i],1);
  6551. TextDrawLetterSize(TDValueCash2[i],0.5,2);
  6552. TextDrawBackgroundColor(TDValueCash2[i],COLOR_ValueOut);
  6553. TextDrawFont(TDValueCash2[i],3);
  6554. }
  6555.  
  6556. return 1;
  6557. }
  6558.  
  6559. public CheckPlayerState(){
  6560. new i,cs;
  6561.  
  6562. for(i=0;i<=MAX_PLAYERS;i++){
  6563. cs=GetPlayerState(i);
  6564. if(DriftMode[i] && cs==PLAYER_STATE_DRIVER && DriftPointsNow[i]>70){
  6565. new Float:h;
  6566. GetVehicleHealth(GetPlayerVehicleID(i),h);
  6567. if(h<HealthInit[i]){
  6568. KillTimer(DriftTimer[i]);
  6569. DriftExit(i);
  6570. GameTextForPlayer(i,"~n~~n~~n~~n~~n~~n~~n~~r~Boom",800,5);
  6571. DriftMode[i]=false;
  6572. }
  6573. }
  6574. if(cs==PLAYER_STATE_DRIVER && DriftMode[i]==false){
  6575. if(GetVType(GetPlayerVehicleID(i))){
  6576. DriftMode[i]=true;
  6577. GetVehicleHealth(GetPlayerVehicleID(i),HealthInit[i]);
  6578. AutoFixBool[i]=false;
  6579. DriftTimer[i]=SetTimerEx("Drift", 200, true, "i", i);
  6580. }
  6581. }
  6582. else if(cs!=PLAYER_STATE_DRIVER && DriftMode[i]==true){
  6583. KillTimer(DriftTimer[i]);
  6584. DriftMode[i]=false;
  6585. AutoFixBool[i]=true;
  6586. }
  6587. else{}
  6588. }
  6589. return 1;
  6590. }
  6591.  
  6592. public AutoFix(){
  6593. new i;
  6594. for(i=0;i<=MAX_PLAYERS;i++){
  6595. if(AutoFixBool[i] && IsPlayerInAnyVehicle(i)){
  6596. SetVehicleHealth(GetPlayerVehicleID(i),HealthInit[i]);
  6597. }
  6598. }
  6599. }
  6600.  
  6601. GetVType(vid){
  6602.  
  6603. new Convertibles[4]={480, 533, 439, 555};
  6604. new Industrial[26]={499, 422, 482, 498, 609, 524, 578, 455, 403, 414, 582, 443, 514, 413, 515, 440, 543, 605, 459, 531, 408, 552, 478, 456, 554};
  6605. new LowRider[8]={536, 575, 534, 567, 535, 566, 576, 412};
  6606. new OffRoad[13]={568, 424, 573, 579, 400, 500, 444, 556, 557, 470, 489, 505, 595};
  6607. new Service[19]={416, 433, 431, 438, 437, 523, 427, 490, 528, 407, 544, 596, 596, 597, 598, 599, 432, 601, 420};
  6608. new Saloon[35]={445, 504, 401, 518, 527, 542, 507, 562, 585, 419, 526, 604, 466, 492, 474, 546, 517, 410, 551, 516, 467, 600, 426, 436, 547, 405, 580, 560, 550, 549, 540, 491, 529, 421};
  6609. new Sports[20]={602, 429, 496, 402, 541, 415, 589, 587, 565, 494, 502, 503, 411, 559, 603, 475, 506, 451, 558, 477};
  6610. new Wagons[5]={418, 404, 479, 458, 561};
  6611.  
  6612. new modelid=GetVehicleModel(vid);
  6613. new i;
  6614. for(i=0;i<3;i++){
  6615. if(Convertibles[i]==modelid) return 1;
  6616. }
  6617. for(i=0;i<25;i++){
  6618. if(Industrial[i]==modelid) return 1;
  6619. }
  6620. for(i=0;i<7;i++){
  6621. if(LowRider[i]==modelid) return 1;
  6622. }
  6623. for(i=0;i<12;i++){
  6624. if(OffRoad[i]==modelid) return 1;
  6625. }
  6626. for(i=0;i<19;i++){
  6627. if(Service[i]==modelid) return 1;
  6628. }
  6629. for(i=0;i<35;i++){
  6630. if(Saloon[i]==modelid) return 1;
  6631. }
  6632. for(i=0;i<20;i++){
  6633. if(Sports[i]==modelid) return 1;
  6634. }
  6635. for(i=0;i<5;i++){
  6636. if(Wagons[i]==modelid) return 1;
  6637. }
  6638. return 0;
  6639. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement