Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 64.99 KB | None | 0 0
  1. #include <a_samp>
  2. #include <core>
  3. #include <float>
  4. #include <dini>
  5. #include <utils> // Keep!
  6.  
  7. #pragma tabsize 0 // Fixing indentation warnings.
  8. #pragma unused ret_memcpy // Fix another warning.
  9. //======================//
  10. // Color defines //
  11. //====================//
  12. #define Grey 0xAFAFAFAA
  13. #define Green 0x33AA33AA
  14. #define Red 0xAA3333AA
  15. #define Yellow 0xFFFF00AA
  16. #define White 0xFFFFFFAA
  17. //======================//
  18. // Other defines //
  19. //====================//
  20. /*#define StarterMoney 50000*/ // Definition of how much money is recieved on spawn!
  21. new StarterMoney = 5000; // New definition, similiar to the one above.
  22. #define INACTIVE_PLAYER_ID 255
  23. #define PAY_DELAY 5000 // /pay timer.
  24. #define NUMVALUES 4
  25. //===================//
  26. // Forwards //
  27. //==================//
  28. forward ScoreUpdate(); // Update player's score based on kills.
  29. forward Paydelaytimer(playerid); // Pay timer.
  30. forward Spawns(playerid); // Spawning.
  31. forward SetupPlayerForClassSelection(playerid); // Skin selection on connect.
  32. forward GameModeExitFunc(); // Exit all of the game mode's functions without error.
  33. forward SendPlayerFormattedText(playerid, const str[], define); // Custom variable/function, used for one color.
  34. forward public SendAllFormattedText(playerid, const str[], define); // Custom variable/functions, used for one color globally.
  35. forward OnPlayerLogin(playerid,password[]);
  36. forward OnPlayerSave(playerid);
  37. forward OnPlayerRegister(playerid,password[]);
  38. forward GameModeInitExitFunc();
  39. forward ini_GetKey( line[] );
  40. forward ini_GetValue( line[] );
  41. forward DisplayDialogForPlayer(playerid, dialogid);
  42. forward Encrypt(string[]);
  43. forward KickLog(string[]);
  44. //===============================================================================================================================//
  45.  
  46. new CashScoreOld;
  47. new iSpawnSet[MAX_PLAYERS];
  48.  
  49. new Float:gCopPlayerSpawns[2][3] = {
  50. {2297.1064,2452.0115,10.8203},
  51. {2297.0452,2468.6743,10.8203}
  52. };
  53. /*new Float:RegSpawn[1][3] = {
  54. {2027.23,1008.23,10.82},
  55. //{2027.23,1008.23,10.82}
  56. };*/
  57. ///////////////////////////////
  58. // Other variables/functions //
  59. ///////////////////////////////
  60. new Spawned[MAX_PLAYERS];
  61. new LoggedIn[MAX_PLAYERS];
  62. new gActivePlayers[MAX_PLAYERS];
  63. new LGaveCash[MAX_PLAYERS];
  64. new AccountStatus[MAX_PLAYERS];
  65. new savechartimer;
  66. ///////////////////////////////
  67.  
  68. new gmx = 0; // Safe restart
  69.  
  70. //==============//
  71. // Enumerations //
  72. //=============//
  73. enum pInformation
  74. {
  75. Float:PlayerHealth,
  76. Float:PlayerArmor,
  77. pPassword,
  78. pInt,
  79. Float:pSPos_x,
  80. Float:pSPos_y,
  81. Float:pSPos_z,
  82. Float:pSPos_r,
  83. pVirtualWorld,
  84. pAdministrator,
  85. PlayerGun0,
  86. PlayerGun1,
  87. PlayerGun2,
  88. PlayerGun3,
  89. PlayerGun4,
  90. PlayerGun5,
  91. PlayerGun6,
  92. PlayerGun7,
  93. PlayerGun8,
  94. PlayerGun9,
  95. PlayerGun10,
  96. PlayerGun11,
  97. PlayerGun12
  98. };
  99. new PlayerInformation[MAX_PLAYERS][pInformation];
  100. //------------------------------------------------------------------------------------------------------
  101.  
  102. main()
  103. {
  104. print("\n----------------------------------");
  105. print(" Las Venturas Deathmatch\n");
  106. // print(" Coded By");
  107. print(" By Jake Johnson");
  108. print("----------------------------------\n");
  109. }
  110.  
  111. //------------------------------------------------------------------------------------------------------
  112.  
  113. public OnPlayerRequestSpawn(playerid)
  114. {
  115. return 1;
  116. }
  117.  
  118. //------------------------------------------------------------------------------------------------------
  119.  
  120. public OnPlayerPickUpPickup(playerid, pickupid)
  121. {
  122. return 1;
  123. }
  124.  
  125. //------------------------------------------------------------------------------------------------------
  126. stock PlayerName(playerid)
  127. {
  128. new name[MAX_PLAYER_NAME];
  129. GetPlayerName(playerid, name, sizeof(name));
  130. return name;
  131. }
  132.  
  133. stock RemoveUnderScore(playerid)
  134. {
  135. new name[MAX_PLAYER_NAME];
  136. GetPlayerName(playerid,name,sizeof(name));
  137. for(new i = 0; i < MAX_PLAYER_NAME; i++)
  138. {
  139. if(name[i] == '_') name[i] = ' ';
  140. }
  141. return name;
  142. }
  143. stock ini_GetKey( line[] )
  144. {
  145. new keyRes[256];
  146. keyRes[0] = 0;
  147. if( strfind( line , "=" , true ) == -1 ) return keyRes;
  148. strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
  149. return keyRes;
  150. }
  151. stock strvalEx( str[ ] )
  152. {
  153. if( strlen( str ) >= 50 ) return -1;
  154. return strval( str );
  155. }
  156. stock ini_GetValue( line[] )
  157. {
  158. new valRes[256];
  159. valRes[0]=0;
  160. if( strfind( line , "=" , true ) == -1 ) return valRes;
  161. strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
  162. return valRes;
  163. }
  164. public Encrypt(string[])
  165. {
  166. for(new x=0; x < strlen(string); x++)
  167. {
  168. string[x] += (3^x) * (x % 15);
  169. if(string[x] > (0xff))
  170. {
  171. string[x] -= 256;
  172. }
  173. }
  174. return 1;
  175. }
  176. public KickLog(string[])
  177. {
  178. new entry[256];
  179. format(entry, sizeof(entry), "%s\n",string);
  180. new File:hFile;
  181. hFile = fopen("kick.log", io_append);
  182. fwrite(hFile, entry);
  183. fclose(hFile);
  184. }
  185. //------------------------------------------------------------------------------------------------------
  186. public ScoreUpdate()
  187. {
  188. new CashScore;
  189. new name[MAX_PLAYER_NAME];
  190. for(new i=0; i<MAX_PLAYERS; i++)
  191. {
  192. if (IsPlayerConnected(i))
  193. {
  194. GetPlayerName(i, name, sizeof(name));
  195. CashScore = GetPlayerMoney(i);
  196. SetPlayerScore(i, CashScore);
  197. if (CashScore > CashScoreOld)
  198. {
  199. CashScoreOld = CashScore;
  200. }
  201. }
  202. }
  203. }
  204. public OnPlayerRegister(playerid, password[])
  205. {
  206. if(IsPlayerConnected(playerid))
  207. {
  208. new string3[32];
  209. new playername3[MAX_PLAYER_NAME];
  210. GetPlayerName(playerid, playername3, sizeof(playername3));
  211. format(string3, sizeof(string3), "%s.ini", playername3);
  212. new File: hFile = fopen(string3, io_write);
  213. if(hFile)
  214. {
  215. new var[32];
  216. strmid(PlayerInformation[playerid][pPassword], password, 0, strlen(password), 255);
  217. format(var, 32, "Key=%s\n", PlayerInformation[playerid][pPassword]);fwrite(hFile, var); // Password.
  218. format(var, 32, "AdminLevel=%d\n",PlayerInformation[playerid][pAdministrator]);fwrite(hFile, var); // Admin level variable - Data saving
  219. /////////////////////////
  220. // Weapon saving below //
  221. // - Jake //
  222. ///////////////////////
  223. format(var, 32, "Gun0=%d\n",PlayerInformation[playerid][PlayerGun0]);fwrite(hFile, var);
  224. format(var, 32, "Gun1=%d\n",PlayerInformation[playerid][PlayerGun1]);fwrite(hFile, var);
  225. format(var, 32, "Gun2=%d\n",PlayerInformation[playerid][PlayerGun2]);fwrite(hFile, var);
  226. format(var, 32, "Gun3=%d\n",PlayerInformation[playerid][PlayerGun3]);fwrite(hFile, var);
  227. format(var, 32, "Gun4=%d\n",PlayerInformation[playerid][PlayerGun4]);fwrite(hFile, var);
  228. format(var, 32, "Gun5=%d\n",PlayerInformation[playerid][PlayerGun5]);fwrite(hFile, var);
  229. format(var, 32, "Gun6=%d\n",PlayerInformation[playerid][PlayerGun6]);fwrite(hFile, var);
  230. format(var, 32, "Gun7=%d\n",PlayerInformation[playerid][PlayerGun7]);fwrite(hFile, var);
  231. format(var, 32, "Gun8=%d\n",PlayerInformation[playerid][PlayerGun8]);fwrite(hFile, var);
  232. format(var, 32, "Gun9=%d\n",PlayerInformation[playerid][PlayerGun9]);fwrite(hFile, var);
  233. format(var, 32, "Gun10=%d\n",PlayerInformation[playerid][PlayerGun10]);fwrite(hFile, var);
  234. format(var, 32, "Gun11=%d\n",PlayerInformation[playerid][PlayerGun11]);fwrite(hFile, var);
  235. format(var, 32, "Gun12=%d\n",PlayerInformation[playerid][PlayerGun12]);fwrite(hFile, var);
  236. fclose(hFile);
  237. }
  238. }
  239. return 1;
  240. }
  241. public OnPlayerLogin(playerid,password[])
  242. {
  243. // new tmp2[256];
  244. new string2[128];
  245. format(string2, sizeof(string2), "%s.ini", PlayerName(playerid));
  246. new File: UserFile = fopen(string2, io_read);
  247. if ( UserFile )
  248. {
  249. new PassData[128];
  250. new keytmp[256], valtmp[256];
  251. fread( UserFile , PassData , sizeof( PassData ) );
  252. keytmp = ini_GetKey( PassData );
  253. if( strcmp( keytmp , "Key" , true ) == 0 )
  254. {
  255. valtmp = ini_GetValue( PassData );
  256. strmid(PlayerInformation[playerid][pPassword], valtmp, 0, strlen(valtmp)-1, 255);
  257. }
  258. if(strcmp(PlayerInformation[playerid][pPassword],password, true ) == 0 )
  259. {
  260. new key[ 256 ] , val[ 256 ];
  261. new Data[ 256 ];
  262. while ( fread( UserFile , Data , sizeof( Data ) ) )
  263. {
  264. key = ini_GetKey( Data );
  265. if( strcmp( key , "AdminLevel" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInformation[playerid][pAdministrator] = strvalEx( val ); }
  266. if( strcmp( key , "Gun0" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInformation[playerid][PlayerGun0] = strvalEx( val ); }
  267. if( strcmp( key , "Gun1" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInformation[playerid][PlayerGun1] = strvalEx( val ); }
  268. if( strcmp( key , "Gun2" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInformation[playerid][PlayerGun2] = strvalEx( val ); }
  269. if( strcmp( key , "Gun3" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInformation[playerid][PlayerGun3] = strvalEx( val ); }
  270. if( strcmp( key , "Gun4" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInformation[playerid][PlayerGun4] = strvalEx( val ); }
  271. if( strcmp( key , "Gun5" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInformation[playerid][PlayerGun5] = strvalEx( val ); }
  272. if( strcmp( key , "Gun6" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInformation[playerid][PlayerGun6] = strvalEx( val ); }
  273. if( strcmp( key , "Gun7" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInformation[playerid][PlayerGun7] = strvalEx( val ); }
  274. if( strcmp( key , "Gun8" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInformation[playerid][PlayerGun8] = strvalEx( val ); }
  275. if( strcmp( key , "Gun9" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInformation[playerid][PlayerGun9] = strvalEx( val ); }
  276. if( strcmp( key , "Gun10" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInformation[playerid][PlayerGun10] = strvalEx( val ); }
  277. if( strcmp( key , "Gun11" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInformation[playerid][PlayerGun11] = strvalEx( val ); }
  278. if( strcmp( key , "Gun12" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInformation[playerid][PlayerGun12] = strvalEx( val ); }
  279. }
  280. fclose(UserFile);
  281. }
  282. else
  283. {
  284. SendClientMessage(playerid, Red, "Password does not match your name, kicked!");
  285. Kick(playerid);
  286. return 1;
  287. }
  288. }
  289. return 1;
  290. }
  291. public OnPlayerSave(playerid)
  292. {
  293. if(IsPlayerConnected(playerid))
  294. {
  295. if(IsPlayerNPC(playerid)) return 1;
  296. if(LoggedIn[playerid] != 0 && Spawned[playerid] == 1)
  297. {
  298. new string3[32];
  299. new playername3[MAX_PLAYER_NAME];
  300. GetPlayerName(playerid, playername3, sizeof(playername3));
  301. format(string3, sizeof(string3), "%s.ini", playername3);
  302. new File: hFile = fopen(string3, io_write);
  303. if(hFile)
  304. {
  305. new var[64];
  306. if(gmx == 0)
  307. {
  308. GetPlayerHealth(playerid, PlayerInformation[playerid][PlayerHealth]);
  309. GetPlayerArmour(playerid, PlayerInformation[playerid][PlayerArmor]);
  310. }
  311. PlayerInformation[playerid][pInt] = GetPlayerInterior(playerid);
  312. PlayerInformation[playerid][pVirtualWorld] = GetPlayerVirtualWorld(playerid);
  313. GetPlayerPos(playerid, PlayerInformation[playerid][pSPos_x], PlayerInformation[playerid][pSPos_y], PlayerInformation[playerid][pSPos_z]);
  314. GetPlayerFacingAngle(playerid, PlayerInformation[playerid][pSPos_r]);
  315. format(var, 32, "Key=%s\n", PlayerInformation[playerid][pPassword]);fwrite(hFile, var);
  316. format(var, 32, "AdminLevel=%d\n",PlayerInformation[playerid][pAdministrator]);fwrite(hFile, var);
  317. format(var, 32, "Gun0=%d\n",PlayerInformation[playerid][PlayerGun0]);fwrite(hFile, var);
  318. format(var, 32, "Gun1=%d\n",PlayerInformation[playerid][PlayerGun1]);fwrite(hFile, var);
  319. format(var, 32, "Gun2=%d\n",PlayerInformation[playerid][PlayerGun2]);fwrite(hFile, var);
  320. format(var, 32, "Gun3=%d\n",PlayerInformation[playerid][PlayerGun3]);fwrite(hFile, var);
  321. format(var, 32, "Gun4=%d\n",PlayerInformation[playerid][PlayerGun4]);fwrite(hFile, var);
  322. format(var, 32, "Gun5=%d\n",PlayerInformation[playerid][PlayerGun5]);fwrite(hFile, var);
  323. format(var, 32, "Gun6=%d\n",PlayerInformation[playerid][PlayerGun6]);fwrite(hFile, var);
  324. format(var, 32, "Gun7=%d\n",PlayerInformation[playerid][PlayerGun7]);fwrite(hFile, var);
  325. format(var, 32, "Gun8=%d\n",PlayerInformation[playerid][PlayerGun8]);fwrite(hFile, var);
  326. format(var, 32, "Gun9=%d\n",PlayerInformation[playerid][PlayerGun9]);fwrite(hFile, var);
  327. format(var, 32, "Gun10=%d\n",PlayerInformation[playerid][PlayerGun10]);fwrite(hFile, var);
  328. format(var, 32, "Gun11=%d\n",PlayerInformation[playerid][PlayerGun11]);fwrite(hFile, var);
  329. format(var, 32, "Gun12=%d\n",PlayerInformation[playerid][PlayerGun12]);fwrite(hFile, var);
  330. fclose(hFile);
  331. }
  332. }
  333. }
  334. return 1;
  335. }
  336. //------------------------------------------------------------------------------------------------------
  337.  
  338. public OnPlayerConnect(playerid)
  339. {
  340. // GameTextForPlayer(playerid,"~p~Las Venturas ~w~Deathmatch",5000,5);
  341. SendClientMessage(playerid, White, "Welcome to Las Venturas Deathmatch, for help type /help."/*, 0*/);
  342. // DATA saving - Jake
  343. AccountStatus[playerid] = 0;
  344. LoggedIn[playerid] = 0;
  345. PlayerInformation[playerid][pAdministrator] = 0;
  346. PlayerInformation[playerid][pPassword] = 0;
  347. // DATA saving - Jake end
  348. gActivePlayers[playerid]++;
  349. LGaveCash[playerid] = GetTickCount();
  350. ///////////////////////////////////////
  351. // Login / register //
  352. /////////////////////////////////////
  353. new plname[MAX_PLAYER_NAME];
  354. new string[MAX_PLAYER_NAME];
  355. new LoginTxtString[128];
  356. GetPlayerName(playerid, plname, sizeof(plname));
  357. format(string, sizeof(string), "%s.ini", plname);
  358. if(fexist(string))
  359. {
  360. AccountStatus[playerid] = 1;
  361. //SendClientMessage(playerid, Yellow, "You're registered. Login below!");
  362. format(LoginTxtString, sizeof(LoginTxtString), "Welcome back, %s! Please login below.", PlayerName(playerid));
  363. SendClientMessage(playerid, White, LoginTxtString);
  364. DisplayDialogForPlayer(playerid, 1); //login
  365. return 1;
  366. }
  367. else
  368. {
  369. AccountStatus[playerid] = 0;
  370.  
  371. SendClientMessage(playerid,Yellow,"You don't have an account. Register one to proceed.");
  372. DisplayDialogForPlayer(playerid, 2); //register
  373. return 1;
  374. }
  375. }
  376. //------------------------------------------------------------------------------------------------------
  377. public OnPlayerText(playerid, text[])
  378. {
  379. if(strcmp(text, "roleplay", true) == 0)
  380. {
  381. new string[128], playerName[MAX_PLAYER_NAME];
  382. GetPlayerName(playerid, playerName, sizeof(playerName));
  383. format(string, sizeof(string), "%s: ****", playerName);
  384. SendClientMessageToAll(White, string);
  385. }
  386. if(strcmp(text, "fuck", true) == 0)
  387. {
  388. new string[128], playerName[MAX_PLAYER_NAME];
  389. GetPlayerName(playerid, playerName, sizeof(playerName));
  390. format(string, sizeof(string), "%s: ****", playerName);
  391. SendClientMessageToAll(White, string);
  392. }
  393. if(strcmp(text, "ngrp", true) == 0)
  394. {
  395. new string[128], playerName[MAX_PLAYER_NAME];
  396. GetPlayerName(playerid, playerName, sizeof(playerName));
  397. format(string, sizeof(string), "%s: ****", playerName);
  398. SendClientMessageToAll(White, string);
  399. }
  400. if(strcmp(text, "usrp", true) == 0)
  401. {
  402. new string[128], playerName[MAX_PLAYER_NAME];
  403. GetPlayerName(playerid, playerName, sizeof(playerName));
  404. format(string, sizeof(string), "%s: ****", playerName);
  405. SendClientMessageToAll(White, string);
  406. }
  407. if(strcmp(text, "sarp", true) == 0)
  408. {
  409. new string[128], playerName[MAX_PLAYER_NAME];
  410. GetPlayerName(playerid, playerName, sizeof(playerName));
  411. format(string, sizeof(string), "%s: ****", playerName);
  412. SendClientMessageToAll(White, string);
  413. }
  414. if(strcmp(text, "damn", true) == 0)
  415. {
  416. new string[128], playerName[MAX_PLAYER_NAME];
  417. GetPlayerName(playerid, playerName, sizeof(playerName));
  418. format(string, sizeof(string), "%s: ****", playerName);
  419. SendClientMessageToAll(White, string);
  420. }
  421. if(strcmp(text, "Bitch", true) == 0)
  422. {
  423. new string[128], playerName[MAX_PLAYER_NAME];
  424. GetPlayerName(playerid, playerName, sizeof(playerName));
  425. format(string, sizeof(string), "%s: ****", playerName);
  426. SendClientMessageToAll(White, string);
  427. }
  428. if(strcmp(text, "cunt", true) == 0)
  429. {
  430. new string[128], playerName[MAX_PLAYER_NAME];
  431. GetPlayerName(playerid, playerName, sizeof(playerName));
  432. format(string, sizeof(string), "%s: ****", playerName);
  433. SendClientMessageToAll(White, string);
  434. }
  435. if(strcmp(text, "ass", true) == 0)
  436. {
  437. new string[128], playerName[MAX_PLAYER_NAME];
  438. GetPlayerName(playerid, playerName, sizeof(playerName));
  439. format(string, sizeof(string), "%s: ****", playerName);
  440. SendClientMessageToAll(White, string);
  441. }
  442. if(strcmp(text, "nigger", true) == 0)
  443. {
  444. new string[128], playerName[MAX_PLAYER_NAME];
  445. GetPlayerName(playerid, playerName, sizeof(playerName));
  446. format(string, sizeof(string), "%s: ****", playerName);
  447. SendClientMessageToAll(White, string);
  448. }
  449. if(strcmp(text, "Jew", true) == 0)
  450. {
  451. new string[128], playerName[MAX_PLAYER_NAME];
  452. GetPlayerName(playerid, playerName, sizeof(playerName));
  453. format(string, sizeof(string), "%s: ****", playerName);
  454. SendClientMessageToAll(White, string);
  455. }
  456. if(strcmp(text, "fag", true) == 0)
  457. {
  458. new string[128], playerName[MAX_PLAYER_NAME];
  459. GetPlayerName(playerid, playerName, sizeof(playerName));
  460. format(string, sizeof(string), "%s: ****", playerName);
  461. SendClientMessageToAll(White, string);
  462. }
  463. if(strcmp(text, "noob", true) == 0)
  464. {
  465. new string[128], playerName[MAX_PLAYER_NAME];
  466. GetPlayerName(playerid, playerName, sizeof(playerName));
  467. format(string, sizeof(string), "%s: ****", playerName);
  468. SendClientMessageToAll(White, string);
  469. }
  470. if(strcmp(text, "newb", true) == 0)
  471. {
  472. new string[128], playerName[MAX_PLAYER_NAME];
  473. GetPlayerName(playerid, playerName, sizeof(playerName));
  474. format(string, sizeof(string), "%s: ****", playerName);
  475. SendClientMessageToAll(White, string);
  476. }
  477. if(strcmp(text, "n00b", true) == 0)
  478. {
  479. new string[128], playerName[MAX_PLAYER_NAME];
  480. GetPlayerName(playerid, playerName, sizeof(playerName));
  481. format(string, sizeof(string), "%s: ****", playerName);
  482. SendClientMessageToAll(White, string);
  483. }
  484. return 1;
  485. }
  486. //------------------------------------------------------------------------------------------------------
  487. public OnPlayerDisconnect(playerid, reason)
  488. {
  489. new sendername[MAX_PLAYER_NAME];
  490. new disconnectstring[128];
  491. GetPlayerName(playerid, sendername, sizeof(sendername));
  492. switch(reason)
  493. {
  494. case 0: format(disconnectstring, sizeof(disconnectstring), "* %s has left the server. (Crashed)", sendername);
  495. case 1: format(disconnectstring, sizeof(disconnectstring), "* %s has left the server. (Left)", sendername);
  496. case 2: format(disconnectstring, sizeof(disconnectstring), "* %s has left the server. (Kicked/Banned)", sendername);
  497. }
  498. SendClientMessageToAll(White, disconnectstring);
  499. gActivePlayers[playerid]--;
  500. }
  501. //------------------------------------------------------------------------------------------------------
  502. public DisplayDialogForPlayer(playerid, dialogid)
  503. {
  504. switch(dialogid)
  505. {
  506. case 1:
  507. {
  508. ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login","Welcome to Las Venturas Deathmatch.\n\nEnter your password below.","Login","Cancel");
  509. }
  510. case 2:
  511. {
  512. ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Register","Welcome to Las Venturas Deathmatch\n\nPlease register your account by typing the password below.","Register","Cancel");
  513. }
  514. }
  515. return 1;
  516.  
  517. }
  518. public OnPlayerCommandText(playerid, cmdtext[])
  519. {
  520. new string[256];
  521. new playermoney;
  522. new sendername[MAX_PLAYER_NAME];
  523. new giveplayer[MAX_PLAYER_NAME];
  524. new cmd[256];
  525. new giveplayerid, moneys, idx;
  526.  
  527. cmd = strtok(cmdtext, idx);
  528.  
  529. if(strcmp(cmd, "/help", true) == 0) {
  530. SendPlayerFormattedText(playerid,"Type: /help2 for more information on your goals here.",0);
  531. SendPlayerFormattedText(playerid,"Type: /pay [PlayerID][Amount] to send money to other players.",0);
  532. return 1;
  533. }
  534. if(strcmp(cmd, "/help2", true) == 0) {
  535. SendPlayerFormattedText(playerid,"Firstly, we're glad you are interested in our server.",0);
  536. SendPlayerFormattedText(playerid,"In LVDM; Your more important goal is to kill other players. You will gain thier money.",0);
  537. SendPlayerFormattedText(playerid,"If you've got lots of money, you will automatically die.",0);
  538. SendPlayerFormattedText(playerid,"However, you can always gamble in the casinos for more fun.", 0);
  539. return 1;
  540. }
  541. if(strcmp(cmd, "/tips", true) == 0) {
  542. return 1;
  543. }
  544. if(strcmp(cmd, "/sexadmin", true) == 0)
  545. {
  546. new tmp[128];
  547. if(IsPlayerConnected(playerid))
  548. {
  549. if(PlayerInformation[playerid][pAdministrator] >= 0)
  550. {
  551. tmp = strtok(cmdtext, idx);
  552. if(!strlen(tmp))
  553. {
  554. SendClientMessage(playerid, Yellow, "Syntax: /makeadmin [playerid/PartOfName] [level]");
  555. return 1;
  556. }
  557. new para1;
  558. new level;
  559. para1 = ReturnUser(tmp);
  560. tmp = strtok(cmdtext, idx);
  561. level = strvalEx(tmp);
  562. if(IsPlayerConnected(para1))
  563. {
  564. if(para1 != INVALID_PLAYER_ID)
  565. {
  566. GetPlayerName(para1, giveplayer, sizeof(giveplayer));
  567. GetPlayerName(playerid, sendername, sizeof(sendername));
  568. PlayerInformation[para1][pAdministrator] = level;
  569. printf("DEBUG: %s has promoted %s to a level %d admin.", sendername, giveplayer, level);
  570. format(string, sizeof(string), "You're now a %d level admin, %s has given you it.", level, sendername);
  571. SendClientMessage(para1, White, string);
  572. format(string, sizeof(string), "You gave %s level %d administrator.", giveplayer,level);
  573. SendClientMessage(playerid, White, string);
  574. }
  575. }
  576. }
  577. }
  578. return 1;
  579. }
  580. if(strcmp(cmd, "/kick", true) == 0)
  581. {
  582. new tmp[128];
  583. if(IsPlayerConnected(playerid))
  584. {
  585. tmp = strtok(cmdtext, idx);
  586. if(!strlen(tmp))
  587. {
  588. SendClientMessage(playerid, White, "Syntax: /kick [playerid/PartOfName] [reason]");
  589. return 1;
  590. }
  591. giveplayerid = ReturnUser(tmp);
  592. if(IsPlayerNPC(giveplayerid)) return 1;
  593. if(PlayerInformation[playerid][pAdministrator] >= 2)
  594. {
  595. if(IsPlayerConnected(giveplayerid))
  596. {
  597. if(giveplayerid != INVALID_PLAYER_ID)
  598. {
  599. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  600. GetPlayerName(playerid, sendername, sizeof(sendername));
  601. new length = strlen(cmdtext);
  602. while ((idx < length) && (cmdtext[idx] <= ' '))
  603. {
  604. idx++;
  605. }
  606. new offset = idx;
  607. new result[96];
  608. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  609. {
  610. result[idx - offset] = cmdtext[idx];
  611. idx++;
  612. }
  613. result[idx - offset] = EOS;
  614. if(!strlen(result))
  615. {
  616. SendClientMessage(playerid, White, "Syntax: /kick [playerid/PartOfName] [reason]");
  617. return 1;
  618. }
  619. new logstring[256];
  620. new year, month, day;
  621. getdate(year, month, day);
  622. if(PlayerInformation[giveplayerid][pAdministrator] > PlayerInformation[playerid][pAdministrator])
  623. {
  624. format(logstring, sizeof(logstring), "Info: %s was kicked, reason: Attempting to kick admin %s (%d-%d-%d).", sendername, giveplayer,month,day,year);
  625. KickLog(logstring);
  626. format(string, sizeof(string), "Info: %s was kicked, reason: {FF0000}Attempting to kick a higher admin.", sendername);
  627. SendClientMessageToAll(White, string);
  628. Kick(playerid);
  629. return 1;
  630. }
  631. format(logstring, sizeof(logstring), "Info: %s was kicked by %s, reason: %s (%d-%d-%d).", giveplayer, sendername, (result),month,day,year);
  632. KickLog(logstring);
  633. format(string, sizeof(string), "Info: %s was kicked by %s, reason: {FF0000}%s", giveplayer, sendername, (result));
  634. SendClientMessageToAll(White, string);
  635. Kick(giveplayerid);
  636. return 1;
  637. }
  638. }
  639. else
  640. {
  641. format(string, sizeof(string), "That person is offline / you mistyped their name.", giveplayerid);
  642. SendClientMessage(playerid, White, string);
  643. }
  644. }
  645. else
  646. {
  647. SendClientMessage(playerid, White, "You ain't an {FF0000} administrator.");
  648. }
  649. }
  650. return 1;
  651. }
  652. if(strcmp(cmd, "/pay", true) == 0) {
  653. new tmp[256];
  654. tmp = strtok(cmdtext, idx);
  655.  
  656. if(!strlen(tmp)) {
  657. SendClientMessage(playerid, White, "Syntax: /pay [playerid] [amount]");
  658. return 1;
  659. }
  660. giveplayerid = strval(tmp);
  661.  
  662. tmp = strtok(cmdtext, idx);
  663. if(!strlen(tmp)) {
  664. SendClientMessage(playerid, White, "Syntax: /pay [playerid] [amount]");
  665. return 1;
  666. }
  667. moneys = strval(tmp);
  668. if (IsPlayerConnected(giveplayerid)) {
  669. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  670. GetPlayerName(playerid, sendername, sizeof(sendername));
  671. playermoney = GetPlayerMoney(playerid);
  672. if (moneys > 0 && playermoney >= moneys) {
  673. GivePlayerMoney(playerid, (0 - moneys));
  674. GivePlayerMoney(giveplayerid, moneys);
  675. format(string, sizeof(string), "You have sent %s(player: %d), $%d.", giveplayer,giveplayerid, moneys);
  676. SendClientMessage(playerid, Yellow, string);
  677. format(string, sizeof(string), "You have recieved $%d from %s(player: %d).", moneys, sendername, playerid);
  678. SendClientMessage(giveplayerid, Yellow, string);
  679. printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
  680. }
  681. else {
  682. SendClientMessage(playerid, White/*Yellow*/, "Invalid transaction amount.");
  683. }
  684. }
  685. else {
  686. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  687. SendClientMessage(playerid, Yellow, string);
  688. }
  689. return 1;
  690. }
  691. return 0; // Processing the other commands.
  692. }
  693. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  694. {
  695. if(dialogid == 1) //LOGIN
  696. {
  697. if(LoggedIn[playerid] == 1)
  698. {
  699. SendClientMessage(playerid, White, "You've logged in already.");
  700. return 1;
  701. }
  702. if(response)
  703. {
  704. if(!strlen(inputtext))
  705. {
  706. DisplayDialogForPlayer(playerid, 1); //login
  707. SendClientMessage(playerid, White, "Enter a password to login.");
  708. return 1;
  709. }
  710. if(strlen(inputtext) >= 50)
  711. {
  712. DisplayDialogForPlayer(playerid, 1); //login
  713. SendClientMessage(playerid, White, "Too long of a password.");
  714. return 0;
  715. }
  716. new tmppass[64];
  717. new playername[MAX_PLAYER_NAME];
  718. strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
  719. GetPlayerName(playerid, playername, sizeof(playername));
  720. if(strlen(playername) == 3)
  721. {
  722. if(strcmp(playername, "Jake_Campo", true) == 0)
  723. {
  724. SendClientMessage(playerid, White, "Hi Jake. You're cool.");
  725. return 0;
  726. }
  727. else
  728. {
  729. SendClientMessage(playerid, Red, "Sorry, that name is too short, please change it.");
  730. Kick(playerid);
  731. return 1;
  732. }
  733. }
  734. Encrypt(tmppass);
  735. OnPlayerLogin(playerid,tmppass);
  736. }
  737. else
  738. {
  739. DisplayDialogForPlayer(playerid, 1); // Login Dialog
  740. }
  741. }
  742. if(dialogid == 2) // Register Dialog
  743. {
  744. if(LoggedIn[playerid] == 1)
  745. {
  746. SendClientMessage(playerid, White, "You've logged in already.");
  747. return 1;
  748. }
  749. if(response)
  750. {
  751. if(strlen(inputtext) >= 50)
  752. {
  753. DisplayDialogForPlayer(playerid, 2); //register
  754. SendClientMessage(playerid, White, "Password is too long.");
  755. return 0;
  756. }
  757. else
  758. {
  759. if(!strlen(inputtext))
  760. {
  761. DisplayDialogForPlayer(playerid, 2); //register
  762. SendClientMessage(playerid, White, "You must enter a password to continue.");
  763. return 1;
  764. }
  765. new string[128];
  766. new sendername[MAX_PLAYER_NAME];
  767. format(string, sizeof(string), "%s.ini", sendername);
  768. if(fexist(string))
  769. {
  770. SendClientMessage(playerid,Yellow, "That name is already taken, please choose a different one.");
  771. return 1;
  772. }
  773. new tmppass[64];
  774. strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
  775. Encrypt(tmppass);
  776. OnPlayerRegister(playerid,tmppass);
  777. OnPlayerLogin(playerid,tmppass);
  778. AccountStatus[playerid] = 1;
  779. Spawned[playerid] = 1;
  780. SendClientMessage(playerid,Yellow, "Congratulations. You've registered your acccount.");
  781. }
  782. }
  783. else
  784. {
  785. DisplayDialogForPlayer(playerid, 2); //register
  786. }
  787. }
  788. return 1;
  789. }
  790.  
  791. //------------------------------------------------------------------------------------------------------
  792.  
  793. public OnPlayerSpawn(playerid)
  794. {
  795. GivePlayerMoney(playerid, StarterMoney);
  796. SetPlayerInterior(playerid,0);
  797. Spawns(playerid);
  798. TogglePlayerClock(playerid,1);
  799. return 1;
  800. }
  801.  
  802. public Spawns(playerid)
  803. {
  804. if (iSpawnSet[playerid] == 1)
  805. {
  806. new rand = random(sizeof(gCopPlayerSpawns));
  807. SetPlayerPos(playerid, gCopPlayerSpawns[rand][0], gCopPlayerSpawns[rand][1], gCopPlayerSpawns[rand][2]); // Warp the player
  808. SetPlayerFacingAngle(playerid, 270.0);
  809. }
  810. else if (iSpawnSet[playerid] == 0)
  811. {
  812. SetPlayerPos(playerid, 2027.23,1008.23,10.82);
  813. PlayerInformation[playerid][PlayerHealth] = 100;
  814. PlayerInformation[playerid][PlayerArmor] = 0;
  815. SendClientMessage(playerid, White, "You've logged in and spawned successfully.");
  816. }
  817. return 1;
  818. }
  819.  
  820. //------------------------------------------------------------------------------------------------------
  821.  
  822. public OnPlayerDeath(playerid, killerid, reason)
  823. {
  824. new playercash;
  825. if(killerid == INVALID_PLAYER_ID) {
  826. SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
  827. ResetPlayerMoney(playerid);
  828. new string[128];
  829. format(string, sizeof(string), "You've been OWNED by %s.", killerid);
  830. SendClientMessage(playerid, White, string);
  831. } else {
  832. SendDeathMessage(killerid,playerid,reason);
  833. SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
  834. playercash = GetPlayerMoney(playerid);
  835. if (playercash > 0) {
  836. GivePlayerMoney(killerid, playercash);
  837. ResetPlayerMoney(playerid);
  838. }
  839. else
  840. {
  841. }
  842. }
  843. return 1;
  844. }
  845.  
  846. //------------------------------------------------------------------------------------------------------
  847.  
  848. public OnPlayerRequestClass(playerid, classid)
  849. {
  850. iSpawnSet[playerid] = 0;
  851. SetupPlayerForClassSelection(playerid);
  852. return 1;
  853. }
  854.  
  855. public SetupPlayerForClassSelection(playerid)
  856. {
  857. SetPlayerInterior(playerid,14);
  858. SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
  859. SetPlayerFacingAngle(playerid, 270.0);
  860. SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
  861. SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
  862. }
  863.  
  864. public GameModeExitFunc()
  865. {
  866. KillTimer(savechartimer);
  867. GameModeExit();
  868. }
  869. public GameModeInitExitFunc()
  870. {
  871. // OnPlayerSave(i);
  872. gmx = 1;
  873. new string[128];
  874. format(string, sizeof(string), "Traveling...");
  875. for(new i; i<MAX_PLAYERS; i++)
  876. {
  877. if(IsPlayerConnected(i))
  878. {
  879. OnPlayerSave(i);
  880. DisablePlayerCheckpoint(i);
  881. GameTextForPlayer(i, string, 4000, 5);
  882. SetPlayerInterior(i, 0);
  883. SetPlayerVirtualWorld(i, 0);
  884. SetPlayerCameraPos(i,1460.0, -1324.0, 287.2);
  885. SetPlayerCameraLookAt(i,1374.5, -1291.1, 239.0);
  886. LoggedIn[i] = 0;
  887. }
  888. }
  889. SetTimer("GameModeExitFunc", 4000, 0);
  890. return 1;
  891. }
  892.  
  893. public OnGameModeInit()
  894. {
  895. SetGameModeText("Las Venturas Deathmatch");
  896. ///////////////////////////////////////////
  897. ShowPlayerMarkers(1);
  898. ShowNameTags(1);
  899. EnableStuntBonusForAll(0);
  900. ///////////////////////////////////////////
  901. // Skin selection on spawn.
  902. AddPlayerClass(0,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);
  903. AddPlayerClass(266,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);
  904. AddPlayerClass(267,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);
  905. AddPlayerClass(268,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  906. AddPlayerClass(269,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  907. AddPlayerClass(270,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  908. AddPlayerClass(271,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  909. AddPlayerClass(272,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  910.  
  911. AddPlayerClass(280,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);
  912. AddPlayerClass(281,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);
  913. AddPlayerClass(282,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);
  914. AddPlayerClass(283,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  915. AddPlayerClass(284,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  916. AddPlayerClass(285,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  917. AddPlayerClass(286,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  918. AddPlayerClass(287,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  919.  
  920. AddPlayerClass(254,1958.3783,1343.1572,15.3746,0.0,0,0,24,300,-1,-1);
  921. AddPlayerClass(255,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  922. AddPlayerClass(256,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  923. AddPlayerClass(257,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  924. AddPlayerClass(258,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  925. AddPlayerClass(259,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  926. AddPlayerClass(260,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  927. AddPlayerClass(261,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  928. AddPlayerClass(262,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  929. AddPlayerClass(263,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  930. AddPlayerClass(264,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  931. AddPlayerClass(274,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  932. AddPlayerClass(275,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  933. AddPlayerClass(276,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  934.  
  935. AddPlayerClass(1,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  936. AddPlayerClass(2,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  937. AddPlayerClass(290,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  938. AddPlayerClass(291,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  939. AddPlayerClass(292,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  940. AddPlayerClass(293,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  941. AddPlayerClass(294,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  942. AddPlayerClass(295,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  943. AddPlayerClass(296,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  944. AddPlayerClass(297,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  945. AddPlayerClass(298,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  946. AddPlayerClass(299,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  947.  
  948. AddPlayerClass(277,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  949. AddPlayerClass(278,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  950. AddPlayerClass(279,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  951. AddPlayerClass(288,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  952. AddPlayerClass(47,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  953. AddPlayerClass(48,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  954. AddPlayerClass(49,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  955. AddPlayerClass(50,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  956. AddPlayerClass(51,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  957. AddPlayerClass(52,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  958. AddPlayerClass(53,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  959. AddPlayerClass(54,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  960. AddPlayerClass(55,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  961. AddPlayerClass(56,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  962. AddPlayerClass(57,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  963. AddPlayerClass(58,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  964. AddPlayerClass(59,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  965. AddPlayerClass(60,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  966. AddPlayerClass(61,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  967. AddPlayerClass(62,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  968. AddPlayerClass(63,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  969. AddPlayerClass(64,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  970. AddPlayerClass(66,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  971. AddPlayerClass(67,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  972. AddPlayerClass(68,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  973. AddPlayerClass(69,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  974. AddPlayerClass(70,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  975. AddPlayerClass(71,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  976. AddPlayerClass(72,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  977. AddPlayerClass(73,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  978. AddPlayerClass(75,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  979. AddPlayerClass(76,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  980. AddPlayerClass(78,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  981. AddPlayerClass(79,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  982. AddPlayerClass(80,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  983. AddPlayerClass(81,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  984. AddPlayerClass(82,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  985. AddPlayerClass(83,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  986. AddPlayerClass(84,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  987. AddPlayerClass(85,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  988. AddPlayerClass(87,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  989. AddPlayerClass(88,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  990. AddPlayerClass(89,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  991. AddPlayerClass(91,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  992. AddPlayerClass(92,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  993. AddPlayerClass(93,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  994. AddPlayerClass(95,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  995. AddPlayerClass(96,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  996. AddPlayerClass(97,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  997. AddPlayerClass(98,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  998. AddPlayerClass(99,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  999. AddPlayerClass(100,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1000. AddPlayerClass(101,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1001. AddPlayerClass(102,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1002. AddPlayerClass(103,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1003. AddPlayerClass(104,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1004. AddPlayerClass(105,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1005. AddPlayerClass(106,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1006. AddPlayerClass(107,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1007. AddPlayerClass(108,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1008. AddPlayerClass(109,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1009. AddPlayerClass(110,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1010. AddPlayerClass(111,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1011. AddPlayerClass(112,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1012. AddPlayerClass(113,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1013. AddPlayerClass(114,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1014. AddPlayerClass(115,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1015. AddPlayerClass(116,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1016. AddPlayerClass(117,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1017. AddPlayerClass(118,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1018. AddPlayerClass(120,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1019. AddPlayerClass(121,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1020. AddPlayerClass(122,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1021. AddPlayerClass(123,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1022. AddPlayerClass(124,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1023. AddPlayerClass(125,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1024. AddPlayerClass(126,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1025. AddPlayerClass(127,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1026. AddPlayerClass(128,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1027. AddPlayerClass(129,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1028. AddPlayerClass(131,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1029. AddPlayerClass(133,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1030. AddPlayerClass(134,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1031. AddPlayerClass(135,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1032. AddPlayerClass(136,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1033. AddPlayerClass(137,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1034. AddPlayerClass(138,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1035. AddPlayerClass(139,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1036. AddPlayerClass(140,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1037. AddPlayerClass(141,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1038. AddPlayerClass(142,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1039. AddPlayerClass(143,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1040. AddPlayerClass(144,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1041. AddPlayerClass(145,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1042. AddPlayerClass(146,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1043. AddPlayerClass(147,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1044. AddPlayerClass(148,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1045. AddPlayerClass(150,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1046. AddPlayerClass(151,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1047. AddPlayerClass(152,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1048. AddPlayerClass(153,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1049. AddPlayerClass(154,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1050. AddPlayerClass(155,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1051. AddPlayerClass(156,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1052. AddPlayerClass(157,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1053. AddPlayerClass(158,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1054. AddPlayerClass(159,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1055. AddPlayerClass(160,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1056. AddPlayerClass(161,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1057. AddPlayerClass(162,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1058. AddPlayerClass(163,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1059. AddPlayerClass(164,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1060. AddPlayerClass(165,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1061. AddPlayerClass(166,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1062. AddPlayerClass(167,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1063. AddPlayerClass(168,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1064. AddPlayerClass(169,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1065. AddPlayerClass(170,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1066. AddPlayerClass(171,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1067. AddPlayerClass(172,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1068. AddPlayerClass(173,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1069. AddPlayerClass(174,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1070. AddPlayerClass(175,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1071. AddPlayerClass(176,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1072. AddPlayerClass(177,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1073. AddPlayerClass(178,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1074. AddPlayerClass(179,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1075. AddPlayerClass(180,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1076. AddPlayerClass(181,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1077. AddPlayerClass(182,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1078. AddPlayerClass(183,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1079. AddPlayerClass(184,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1080. AddPlayerClass(185,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1081. AddPlayerClass(186,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1082. AddPlayerClass(187,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1083. AddPlayerClass(188,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1084. AddPlayerClass(189,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1085. AddPlayerClass(190,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1086. AddPlayerClass(191,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1087. AddPlayerClass(192,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1088. AddPlayerClass(193,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1089. AddPlayerClass(194,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1090. AddPlayerClass(195,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1091. AddPlayerClass(196,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1092. AddPlayerClass(197,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1093. AddPlayerClass(198,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1094. AddPlayerClass(199,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1095. AddPlayerClass(200,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1096. AddPlayerClass(201,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1097. AddPlayerClass(202,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1098. AddPlayerClass(203,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1099. AddPlayerClass(204,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1100. AddPlayerClass(205,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1101. AddPlayerClass(206,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1102. AddPlayerClass(207,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1103. AddPlayerClass(209,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1104. AddPlayerClass(210,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1105. AddPlayerClass(211,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1106. AddPlayerClass(212,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1107. AddPlayerClass(213,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1108. AddPlayerClass(214,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1109. AddPlayerClass(215,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1110. AddPlayerClass(216,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1111. AddPlayerClass(217,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1112. AddPlayerClass(218,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1113. AddPlayerClass(219,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1114. AddPlayerClass(220,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1115. AddPlayerClass(221,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1116. AddPlayerClass(222,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1117. AddPlayerClass(223,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1118. AddPlayerClass(224,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1119. AddPlayerClass(225,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1120. AddPlayerClass(226,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1121. AddPlayerClass(227,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1122. AddPlayerClass(228,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1123. AddPlayerClass(229,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1124. AddPlayerClass(230,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1125. AddPlayerClass(231,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1126. AddPlayerClass(232,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1127. AddPlayerClass(233,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1128. AddPlayerClass(234,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1129. AddPlayerClass(235,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1130. AddPlayerClass(236,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1131. AddPlayerClass(237,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1132. AddPlayerClass(238,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1133. AddPlayerClass(239,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1134. AddPlayerClass(240,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1135. AddPlayerClass(241,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1136. AddPlayerClass(242,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1137. AddPlayerClass(243,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1138. AddPlayerClass(244,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1139. AddPlayerClass(245,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1140. AddPlayerClass(246,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1141. AddPlayerClass(247,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1142. AddPlayerClass(248,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1143. AddPlayerClass(249,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1144. AddPlayerClass(250,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1145. AddPlayerClass(251,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1146. AddPlayerClass(253,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  1147.  
  1148. //=================================================================//
  1149. // Vehicle spawns below //
  1150. //===============================================================//
  1151. /// Jake ///
  1152. AddStaticVehicle(451,2040.0520,1319.2799,10.3779,183.2439,16,16);
  1153. AddStaticVehicle(429,2040.5247,1359.2783,10.3516,177.1306,13,13);
  1154. AddStaticVehicle(421,2110.4102,1398.3672,10.7552,359.5964,13,13);
  1155. AddStaticVehicle(411,2074.9624,1479.2120,10.3990,359.6861,64,64);
  1156. AddStaticVehicle(477,2075.6038,1666.9750,10.4252,359.7507,94,94);
  1157. AddStaticVehicle(541,2119.5845,1938.5969,10.2967,181.9064,22,22);
  1158. AddStaticVehicle(541,1843.7881,1216.0122,10.4556,270.8793,60,1);
  1159. AddStaticVehicle(402,1944.1003,1344.7717,8.9411,0.8168,30,30);
  1160. AddStaticVehicle(402,1679.2278,1316.6287,10.6520,180.4150,90,90);
  1161. AddStaticVehicle(415,1685.4872,1751.9667,10.5990,268.1183,25,1);
  1162. AddStaticVehicle(411,2034.5016,1912.5874,11.9048,0.2909,123,1);
  1163. AddStaticVehicle(411,2172.1682,1988.8643,10.5474,89.9151,116,1);
  1164. AddStaticVehicle(429,2245.5759,2042.4166,10.5000,270.7350,14,14);
  1165. AddStaticVehicle(477,2361.1538,1993.9761,10.4260,178.3929,101,1);
  1166. AddStaticVehicle(550,2221.9946,1998.7787,9.6815,92.6188,53,53);
  1167. AddStaticVehicle(558,2243.3833,1952.4221,14.9761,359.4796,116,1);
  1168. AddStaticVehicle(587,2276.7085,1938.7263,31.5046,359.2321,40,1);
  1169. AddStaticVehicle(587,2602.7769,1853.0667,10.5468,91.4813,43,1);
  1170. AddStaticVehicle(603,2610.7600,1694.2588,10.6585,89.3303,69,1);
  1171. AddStaticVehicle(587,2635.2419,1075.7726,10.5472,89.9571,53,1);
  1172. AddStaticVehicle(437,2577.2354,1038.8063,10.4777,181.7069,35,1);
  1173. AddStaticVehicle(535,2039.1257,1545.0879,10.3481,359.6690,123,1);
  1174. AddStaticVehicle(535,2009.8782,2411.7524,10.5828,178.9618,66,1);
  1175. AddStaticVehicle(429,2010.0841,2489.5510,10.5003,268.7720,1,2);
  1176. AddStaticVehicle(415,2076.4033,2468.7947,10.5923,359.9186,36,1);
  1177. AddStaticVehicle(487,2093.2754,2414.9421,74.7556,89.0247,26,57);
  1178. AddStaticVehicle(506,2352.9026,2577.9768,10.5201,0.4091,7,7);
  1179. AddStaticVehicle(506,2166.6963,2741.0413,10.5245,89.7816,52,52);
  1180. AddStaticVehicle(411,1960.9989,2754.9072,10.5473,200.4316,112,1);
  1181. AddStaticVehicle(429,1919.5863,2760.7595,10.5079,100.0753,2,1);
  1182. AddStaticVehicle(415,1673.8038,2693.8044,10.5912,359.7903,40,1);
  1183. AddStaticVehicle(402,1591.0482,2746.3982,10.6519,172.5125,30,30);
  1184. AddStaticVehicle(603,1580.4537,2838.2886,10.6614,181.4573,75,77);
  1185. AddStaticVehicle(550,1555.2734,2750.5261,10.6388,91.7773,62,62);
  1186. AddStaticVehicle(535,1455.9305,2878.5288,10.5837,181.0987,118,1);
  1187. AddStaticVehicle(477,1537.8425,2578.0525,10.5662,0.0650,121,1);
  1188. AddStaticVehicle(451,1433.1594,2607.3762,10.3781,88.0013,16,16);
  1189. AddStaticVehicle(603,2223.5898,1288.1464,10.5104,182.0297,18,1);
  1190. AddStaticVehicle(558,2451.6707,1207.1179,10.4510,179.8960,24,1);
  1191. AddStaticVehicle(550,2461.7253,1357.9705,10.6389,180.2927,62,62);
  1192. AddStaticVehicle(558,2461.8162,1629.2268,10.4496,181.4625,117,1);
  1193. AddStaticVehicle(477,2395.7554,1658.9591,10.5740,359.7374,0,1);
  1194. AddStaticVehicle(404,1553.3696,1020.2884,10.5532,270.6825,119,50);
  1195. AddStaticVehicle(400,1380.8304,1159.1782,10.9128,355.7117,123,1);
  1196. AddStaticVehicle(418,1383.4630,1035.0420,10.9131,91.2515,117,227);
  1197. AddStaticVehicle(404,1445.4526,974.2831,10.5534,1.6213,109,100);
  1198. AddStaticVehicle(400,1704.2365,940.1490,10.9127,91.9048,113,1);
  1199. AddStaticVehicle(404,1658.5463,1028.5432,10.5533,359.8419,101,101);
  1200. AddStaticVehicle(581,1677.6628,1040.1930,10.4136,178.7038,58,1);
  1201. AddStaticVehicle(581,1383.6959,1042.2114,10.4121,85.7269,66,1);
  1202. AddStaticVehicle(581,1064.2332,1215.4158,10.4157,177.2942,72,1);
  1203. AddStaticVehicle(581,1111.4536,1788.3893,10.4158,92.4627,72,1);
  1204. AddStaticVehicle(522,953.2818,1806.1392,8.2188,235.0706,3,8);
  1205. AddStaticVehicle(522,995.5328,1886.6055,10.5359,90.1048,3,8);
  1206. AddStaticVehicle(521,993.7083,2267.4133,11.0315,1.5610,75,13);
  1207. AddStaticVehicle(535,1439.5662,1999.9822,10.5843,0.4194,66,1);
  1208. AddStaticVehicle(522,1430.2354,1999.0144,10.3896,352.0951,6,25);
  1209. AddStaticVehicle(522,2156.3540,2188.6572,10.2414,22.6504,6,25);
  1210. AddStaticVehicle(598,2277.6846,2477.1096,10.5652,180.1090,0,1);
  1211. AddStaticVehicle(598,2268.9888,2443.1697,10.5662,181.8062,0,1);
  1212. AddStaticVehicle(598,2256.2891,2458.5110,10.5680,358.7335,0,1);
  1213. AddStaticVehicle(598,2251.6921,2477.0205,10.5671,179.5244,0,1);
  1214. AddStaticVehicle(523,2294.7305,2441.2651,10.3860,9.3764,0,0);
  1215. AddStaticVehicle(523,2290.7268,2441.3323,10.3944,16.4594,0,0);
  1216. AddStaticVehicle(523,2295.5503,2455.9656,2.8444,272.6913,0,0);
  1217. AddStaticVehicle(522,2476.7900,2532.2222,21.4416,0.5081,8,82);
  1218. AddStaticVehicle(522,2580.5320,2267.9595,10.3917,271.2372,8,82);
  1219. AddStaticVehicle(522,2814.4331,2364.6641,10.3907,89.6752,36,105);
  1220. AddStaticVehicle(535,2827.4143,2345.6953,10.5768,270.0668,97,1);
  1221. AddStaticVehicle(521,1670.1089,1297.8322,10.3864,359.4936,87,118);
  1222. AddStaticVehicle(487,1614.7153,1548.7513,11.2749,347.1516,58,8);
  1223. AddStaticVehicle(487,1647.7902,1538.9934,11.2433,51.8071,0,8);
  1224. AddStaticVehicle(487,1608.3851,1630.7268,11.2840,174.5517,58,8);
  1225. AddStaticVehicle(476,1283.0006,1324.8849,9.5332,275.0468,7,6); //11.5332
  1226. AddStaticVehicle(476,1283.5107,1361.3171,9.5382,271.1684,1,6); //11.5382
  1227. AddStaticVehicle(476,1283.6847,1386.5137,11.5300,272.1003,89,91);
  1228. AddStaticVehicle(476,1288.0499,1403.6605,11.5295,243.5028,119,117);
  1229. AddStaticVehicle(415,1319.1038,1279.1791,10.5931,0.9661,62,1);
  1230. AddStaticVehicle(521,1710.5763,1805.9275,10.3911,176.5028,92,3);
  1231. AddStaticVehicle(521,2805.1650,2027.0028,10.3920,357.5978,92,3);
  1232. AddStaticVehicle(535,2822.3628,2240.3594,10.5812,89.7540,123,1);
  1233. AddStaticVehicle(521,2876.8013,2326.8418,10.3914,267.8946,115,118);
  1234. AddStaticVehicle(429,2842.0554,2637.0105,10.5000,182.2949,1,3);
  1235. AddStaticVehicle(549,2494.4214,2813.9348,10.5172,316.9462,72,39);
  1236. AddStaticVehicle(549,2327.6484,2787.7327,10.5174,179.5639,75,39);
  1237. AddStaticVehicle(549,2142.6970,2806.6758,10.5176,89.8970,79,39);
  1238. AddStaticVehicle(521,2139.7012,2799.2114,10.3917,229.6327,25,118);
  1239. AddStaticVehicle(521,2104.9446,2658.1331,10.3834,82.2700,36,0);
  1240. AddStaticVehicle(521,1914.2322,2148.2590,10.3906,267.7297,36,0);
  1241. AddStaticVehicle(549,1904.7527,2157.4312,10.5175,183.7728,83,36);
  1242. AddStaticVehicle(549,1532.6139,2258.0173,10.5176,359.1516,84,36);
  1243. AddStaticVehicle(521,1534.3204,2202.8970,10.3644,4.9108,118,118);
  1244. AddStaticVehicle(549,1613.1553,2200.2664,10.5176,89.6204,89,35);
  1245. AddStaticVehicle(400,1552.1292,2341.7854,10.9126,274.0815,101,1);
  1246. AddStaticVehicle(404,1637.6285,2329.8774,10.5538,89.6408,101,101);
  1247. AddStaticVehicle(400,1357.4165,2259.7158,10.9126,269.5567,62,1);
  1248. AddStaticVehicle(411,1281.7458,2571.6719,10.5472,270.6128,106,1);
  1249. AddStaticVehicle(522,1305.5295,2528.3076,10.3955,88.7249,3,8);
  1250. AddStaticVehicle(521,993.9020,2159.4194,10.3905,88.8805,74,74);
  1251. AddStaticVehicle(415,1512.7134,787.6931,10.5921,359.5796,75,1);
  1252. AddStaticVehicle(522,2299.5872,1469.7910,10.3815,258.4984,3,8);
  1253. AddStaticVehicle(522,2133.6428,1012.8537,10.3789,87.1290,3,8);
  1254.  
  1255. // Newer vehicles.
  1256. AddStaticVehicle(415,2266.7336,648.4756,11.0053,177.8517,0,1); //
  1257. AddStaticVehicle(461,2404.6636,647.9255,10.7919,183.7688,53,1); //
  1258. AddStaticVehicle(506,2628.1047,746.8704,10.5246,352.7574,3,3); //
  1259. AddStaticVehicle(549,2817.6445,928.3469,10.4470,359.5235,72,39); //
  1260. // --- Un-commented - Jake
  1261. AddStaticVehicle(562,1919.8829,947.1886,10.4715,359.4453,11,1); //
  1262. AddStaticVehicle(562,1881.6346,1006.7653,10.4783,86.9967,11,1); //
  1263. AddStaticVehicle(562,2038.1044,1006.4022,10.4040,179.2641,11,1); //
  1264. AddStaticVehicle(562,2038.1614,1014.8566,10.4057,179.8665,11,1); //
  1265. AddStaticVehicle(562,2038.0966,1026.7987,10.4040,180.6107,11,1); //
  1266. // --- Un-commented end - Jake
  1267.  
  1268. AddStaticVehicle(422,9.1065,1165.5066,19.5855,2.1281,101,25); //
  1269. AddStaticVehicle(463,19.8059,1163.7103,19.1504,346.3326,11,11); //
  1270. AddStaticVehicle(463,12.5740,1232.2848,18.8822,121.8670,22,22); //
  1271. AddStaticVehicle(586,69.4633,1217.0189,18.3304,158.9345,10,1); //
  1272. AddStaticVehicle(586,-199.4185,1223.0405,19.2624,176.7001,25,1); //
  1273. AddStaticVehicle(476,325.4121,2538.5999,17.5184,181.2964,71,77); //
  1274. AddStaticVehicle(476,291.0975,2540.0410,17.5276,182.7206,7,6); //
  1275. AddStaticVehicle(576,384.2365,2602.1763,16.0926,192.4858,72,1); //
  1276. AddStaticVehicle(586,423.8012,2541.6870,15.9708,338.2426,10,1); //
  1277. AddStaticVehicle(586,-244.0047,2724.5439,62.2077,51.5825,10,1); //
  1278. AddStaticVehicle(586,-311.1414,2659.4329,62.4513,310.9601,27,1); //
  1279.  
  1280. ///////////////////////////////////////////
  1281. // X50 //
  1282. ///////////////////////////////////////////
  1283.  
  1284. AddStaticVehicle(543,596.8064,866.2578,-43.2617,186.8359,67,8); //
  1285. AddStaticVehicle(543,835.0838,836.8370,11.8739,14.8920,8,90); //
  1286. AddStaticVehicle(549,843.1893,838.8093,12.5177,18.2348,79,39); //
  1287. AddStaticVehicle(400,-235.9767,1045.8623,19.8158,180.0806,75,1); //
  1288. AddStaticVehicle(599,-211.5940,998.9857,19.8437,265.4935,0,1); //
  1289. AddStaticVehicle(422,-304.0620,1024.1111,19.5714,94.1812,96,25); //
  1290. AddStaticVehicle(588,-290.2229,1317.0276,54.1871,81.7529,1,1); //
  1291. AddStaticVehicle(451,-290.3145,1567.1534,75.0654,133.1694,61,61); //
  1292. AddStaticVehicle(470,280.4914,1945.6143,17.6317,310.3278,43,0); //
  1293. AddStaticVehicle(470,272.2862,1949.4713,17.6367,285.9714,43,0); //
  1294. AddStaticVehicle(470,271.6122,1961.2386,17.6373,251.9081,43,0); //
  1295. AddStaticVehicle(470,279.8705,1966.2362,17.6436,228.4709,43,0); //
  1296. AddStaticVehicle(433,277.6437,1985.7559,18.0772,270.4079,43,0); //
  1297. AddStaticVehicle(433,277.4477,1994.8329,18.0773,267.7378,43,0); //
  1298. AddStaticVehicle(568,-441.3438,2215.7026,42.2489,191.7953,41,29); //
  1299. AddStaticVehicle(568,-422.2956,2225.2612,42.2465,0.0616,41,29); //
  1300. AddStaticVehicle(568,-371.7973,2234.5527,42.3497,285.9481,41,29); //
  1301. AddStaticVehicle(568,-360.1159,2203.4272,42.3039,113.6446,41,29); //
  1302. AddStaticVehicle(468,-660.7385,2315.2642,138.3866,358.7643,6,6); //
  1303. AddStaticVehicle(460,-1029.2648,2237.2217,42.2679,260.5732,1,3); //
  1304.  
  1305. ///////////////////////////////////////////
  1306. // X100 //
  1307. ///////////////////////////////////////////
  1308.  
  1309. AddStaticVehicle(419,95.0568,1056.5530,13.4068,192.1461,13,76); //
  1310. AddStaticVehicle(429,114.7416,1048.3517,13.2890,174.9752,1,2); //
  1311. AddStaticVehicle(411,-290.0065,1759.4958,42.4154,89.7571,116,1); //
  1312. AddStaticVehicle(522,-302.5649,1777.7349,42.2514,238.5039,6,25); //
  1313. AddStaticVehicle(522,-302.9650,1776.1152,42.2588,239.9874,8,82); //
  1314. AddStaticVehicle(533,-301.0404,1750.8517,42.3966,268.7585,75,1); //
  1315. AddStaticVehicle(535,-866.1774,1557.2700,23.8319,269.3263,31,1); //
  1316. AddStaticVehicle(550,-799.3062,1518.1556,26.7488,88.5295,53,53); //
  1317. AddStaticVehicle(521,-749.9730,1589.8435,26.5311,125.6508,92,3); //
  1318. AddStaticVehicle(522,-867.8612,1544.5282,22.5419,296.0923,3,3); //
  1319. AddStaticVehicle(554,-904.2978,1553.8269,25.9229,266.6985,34,30); //
  1320. AddStaticVehicle(521,-944.2642,1424.1603,29.6783,148.5582,92,3); //
  1321. AddStaticVehicle(429,-237.7157,2594.8804,62.3828,178.6802,1,2); //
  1322. AddStaticVehicle(463,-196.3012,2774.4395,61.4775,303.8402,22,22); //
  1323. AddStaticVehicle(519,-1341.1079,-254.3787,15.0701,321.6338,1,1); //
  1324. AddStaticVehicle(519,-1371.1775,-232.3967,15.0676,315.6091,1,1); //
  1325. AddStaticVehicle(519,1642.9850,-2425.2063,14.4744,159.8745,1,1); //
  1326. AddStaticVehicle(519,1734.1311,-2426.7563,14.4734,172.2036,1,1); //
  1327. AddStaticVehicle(415,-680.9882,955.4495,11.9032,84.2754,36,1); //
  1328. AddStaticVehicle(460,-816.3951,2222.7375,43.0045,268.1861,1,3); //
  1329. AddStaticVehicle(460,-94.6885,455.4018,1.5719,250.5473,1,3); //
  1330. AddStaticVehicle(460,1624.5901,565.8568,1.7817,200.5292,1,3); //
  1331. AddStaticVehicle(460,1639.3567,572.2720,1.5311,206.6160,1,3); //
  1332. AddStaticVehicle(460,2293.4219,517.5514,1.7537,270.7889,1,3); //
  1333. AddStaticVehicle(460,2354.4690,518.5284,1.7450,270.2214,1,3); //
  1334. AddStaticVehicle(460,772.4293,2912.5579,1.0753,69.6706,1,3); //
  1335. AddStaticVehicle(560,2133.0769,1019.2366,10.5259,90.5265,9,39); //
  1336. AddStaticVehicle(560,2142.4023,1408.5675,10.5258,0.3660,17,1); //
  1337. AddStaticVehicle(560,2196.3340,1856.8469,10.5257,179.8070,21,1); //
  1338. AddStaticVehicle(560,2103.4146,2069.1514,10.5249,270.1451,33,0); //
  1339. AddStaticVehicle(560,2361.8042,2210.9951,10.3848,178.7366,37,0); //
  1340. AddStaticVehicle(560,-1993.2465,241.5329,34.8774,310.0117,41,29); //
  1341. AddStaticVehicle(559,-1989.3235,270.1447,34.8321,88.6822,58,8); //
  1342. AddStaticVehicle(559,-1946.2416,273.2482,35.1302,126.4200,60,1); //
  1343. AddStaticVehicle(558,-1956.8257,271.4941,35.0984,71.7499,24,1); //
  1344. AddStaticVehicle(562,-1952.8894,258.8604,40.7082,51.7172,17,1); //
  1345. AddStaticVehicle(411,-1949.8689,266.5759,40.7776,216.4882,112,1); //
  1346. AddStaticVehicle(429,-1988.0347,305.4242,34.8553,87.0725,2,1); //
  1347. AddStaticVehicle(559,-1657.6660,1213.6195,6.9062,282.6953,13,8); //
  1348. AddStaticVehicle(560,-1658.3722,1213.2236,13.3806,37.9052,52,39); //
  1349. AddStaticVehicle(558,-1660.8994,1210.7589,20.7875,317.6098,36,1); //
  1350. AddStaticVehicle(550,-1645.2401,1303.9883,6.8482,133.6013,7,7); //
  1351. AddStaticVehicle(460,-1333.1960,903.7660,1.5568,0.5095,46,32); //
  1352. AddStaticVehicle(411,113.8611,1068.6182,13.3395,177.1330,116,1); //
  1353. AddStaticVehicle(429,159.5199,1185.1160,14.7324,85.5769,1,2); //
  1354. AddStaticVehicle(411,612.4678,1694.4126,6.7192,302.5539,75,1); //
  1355. AddStaticVehicle(522,661.7609,1720.9894,6.5641,19.1231,6,25); //
  1356. AddStaticVehicle(522,660.0554,1719.1187,6.5642,12.7699,8,82); //
  1357. AddStaticVehicle(567,711.4207,1947.5208,5.4056,179.3810,90,96); //
  1358. AddStaticVehicle(567,1031.8435,1920.3726,11.3369,89.4978,97,96); //
  1359. AddStaticVehicle(567,1112.3754,1747.8737,10.6923,270.9278,102,114); //
  1360. AddStaticVehicle(567,1641.6802,1299.2113,10.6869,271.4891,97,96); //
  1361. AddStaticVehicle(567,2135.8757,1408.4512,10.6867,180.4562,90,96); //
  1362. AddStaticVehicle(567,2262.2639,1469.2202,14.9177,91.1919,99,81); //
  1363. AddStaticVehicle(567,2461.7380,1345.5385,10.6975,0.9317,114,1); //
  1364. AddStaticVehicle(567,2804.4365,1332.5348,10.6283,271.7682,88,64); //
  1365. AddStaticVehicle(560,2805.1685,1361.4004,10.4548,270.2340,17,1); //
  1366. AddStaticVehicle(506,2853.5378,1361.4677,10.5149,269.6648,7,7); //
  1367. AddStaticVehicle(567,2633.9832,2205.7061,10.6868,180.0076,93,64); //
  1368. AddStaticVehicle(567,2119.9751,2049.3127,10.5423,180.1963,93,64); //
  1369. AddStaticVehicle(567,2785.0261,-1835.0374,9.6874,226.9852,93,64); //
  1370. AddStaticVehicle(567,2787.8975,-1876.2583,9.6966,0.5804,99,81); //
  1371. AddStaticVehicle(411,2771.2993,-1841.5620,9.4870,20.7678,116,1); //
  1372. AddStaticVehicle(420,1713.9319,1467.8354,10.5219,342.8006,6,1); // taxi
  1373. /////////////
  1374. // Pickups //
  1375. // Jake //
  1376. ////////////
  1377. AddStaticPickup(371, 15, 1710.3359,1614.3585,10.1191); // Pickups.
  1378. AddStaticPickup(371, 15, 1964.4523,1917.0341,130.9375); // Pickups.
  1379. AddStaticPickup(371, 15, 2055.7258,2395.8589,150.4766); // Pickups.
  1380. AddStaticPickup(371, 15, 2265.0120,1672.3837,94.9219); // Pickups.
  1381. AddStaticPickup(371, 15, 2265.9739,1623.4060,94.9219); // Pickups.
  1382. savechartimer = SetTimer("SaveChars", 50000, 1); //20 mins
  1383. SetTimer("ScoreUpdate", 1000, 1);
  1384. return 1;
  1385. }
  1386.  
  1387.  
  1388.  
  1389. public SendPlayerFormattedText(playerid, const str[], define)
  1390. {
  1391. new tmpbuf[256];
  1392. format(tmpbuf, sizeof(tmpbuf), str, define);
  1393. SendClientMessage(playerid, 0xFF004040, tmpbuf);
  1394. }
  1395.  
  1396. public SendAllFormattedText(playerid, const str[], define)
  1397. {
  1398. new tmpbuf[256];
  1399. format(tmpbuf, sizeof(tmpbuf), str, define);
  1400. SendClientMessageToAll(0xFFFF00AA, tmpbuf);
  1401. }
  1402.  
  1403. strtok(const string[], &index)
  1404. {
  1405. new length = strlen(string);
  1406. while ((index < length) && (string[index] <= ' '))
  1407. {
  1408. index++;
  1409. }
  1410.  
  1411. new offset = index;
  1412. new result[20];
  1413. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  1414. {
  1415. result[index - offset] = string[index];
  1416. index++;
  1417. }
  1418. result[index - offset] = EOS;
  1419. return result;
  1420. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement